Files
liceo-ariosto/media/templates/administrator/atum/scss/blocks/_modals.scss
2025-06-17 11:53:18 +02:00

350 lines
6.2 KiB
SCSS
Executable File

// Modals
.modal {
.btn {
padding: 0 22px;
margin-inline-end: .5rem;
font-size: 1rem;
line-height: 2.3rem;
color: var(--template-text-dark);
background: var(--white);
border-color: var(--whiteoffset);
box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, .25);
}
.btn-primary:not([href]),
.btn-success:not([href]),
.btn-danger:not([href]),
.btn-secondary:not([href]) {
color: var(--template-text-dark);
background: var(--white);
border: 1px solid var(--template-text-dark);
}
.btn-primary:not([href]) {
&:hover,
&:focus {
color: var(--white);
background: var(--primary);
border-color: var(--primary);
}
}
.btn-secondary:not([href]) {
&:hover,
&:focus {
color: var(--white);
background: var(--secondary);
border-color: var(--secondary);
}
}
.btn-success:not([href]) {
&:hover,
&:focus {
color: var(--white);
background: var(--success);
border-color: var(--success);
}
}
.btn-danger:not([href]) {
&:hover,
&:focus {
color: var(--white);
background: var(--danger);
border-color: var(--danger);
}
}
.btn.btn-danger {
[class^="#{$jicon-css-prefix}-"],
[class*=" #{$jicon-css-prefix}-"],
[class^="#{$fa-css-prefix}-"],
[class*=" #{$fa-css-prefix}-"],
span {
display: inline-block;
width: 2.375rem;
height: 100%;
margin: 0 16px;
margin-inline-start: -22px;
line-height: 2.375rem;
color: hsla(0, 0%, 100%, .9);
background-color: var(--danger);
}
}
.btn.btn-success {
[class^="#{$jicon-css-prefix}-"],
[class*=" #{$jicon-css-prefix}-"],
[class^="#{$fa-css-prefix}-"],
[class*=" #{$fa-css-prefix}-"],
span {
display: inline-block;
width: 2.375rem;
height: 100%;
margin: 0 16px;
margin-inline-start: -22px;
line-height: 2.375rem;
color: hsla(0, 0%, 100%, .9);
background-color: var(--success);
}
}
}
.modal-header {
padding: 0 15px;
}
.modal-body {
overflow-y: initial;
}
.modal-title {
font-weight: $font-weight-normal;
line-height: $modal-header-height;
}
.contentpane {
padding: 20px;
}
// Changelog
.changelog {
text-align: start !important;
&__item {
display: flex;
border-bottom: 1px solid $table-border-color;
@include media-breakpoint-down(md) {
flex-direction: column;
}
}
&__tag {
flex: 1 0 180px;
max-width: 180px;
padding: 10px 15px;
text-align: end;
background: darken($gray-100, 2.5%);
border-right: 1px solid $table-border-color;
.badge {
border-radius: .2rem;
&.badge-jlanguage {
background-color: $white;
}
}
@include media-breakpoint-down(md) {
flex: 1 0 auto;
max-width: 100%;
text-align: left;
border-right: 0;
border-bottom: 1px solid $table-border-color;
}
}
&__list {
padding: 10px 15px;
ul {
padding-inline-start: 15px;
margin-bottom: 0;
}
li {
margin-bottom: .15rem;
&:last-of-type {
margin-bottom: 0;
}
}
}
}
// Styling for joomla-dialog element
joomla-dialog {
dialog {
width: 96vw;
max-width: 1700px;
height: 96vh;
padding: 0;
border: 1px solid var(--border-color-translucent);
border-radius: .3rem;
box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
@include media-breakpoint-up(xxl) {
width: 80vw;
height: 80vh;
}
// Override display to flex, to scale the content to full height
&[open] {
display: flex;
}
}
&[type="image"] {
dialog {
width: fit-content;
height: fit-content;
}
}
&[type="iframe"] {
dialog {
overflow: hidden;
}
}
iframe.iframe-content {
width: 100%;
height: 100%;
}
// Extra loading animation for iframe and ajax types
&[type="iframe"],
&[type="ajax"] {
&.loading {
dialog:after {
position: absolute;
top: 50%;
left: 50%;
display: block;
width: 66px;
height: 66px;
content: "";
background: url("../../../../system/images/ajax-loader.gif") no-repeat center;
transform: translate(-50%, -50%);
}
}
}
}
// Dialog animation
joomla-dialog dialog[open] {
animation: dialog-show .4s ease normal;
@media (prefers-reduced-motion: reduce) {
animation: none;
}
}
@keyframes dialog-show {
0% {
opacity: 0;
transform: translateY(-50px);
}
30% {
opacity: 1;
}
100% {
transform: translateY(0);
}
}
// Dialog elements
.joomla-dialog-container {
position: relative;
box-sizing: border-box;
display: flex;
flex-flow: column;
width: 100%;
.buttons-holder {
display: flex;
align-items: center;
justify-content: flex-end;
margin-inline-start: auto;
button {
margin-inline: .375rem;
}
}
}
.joomla-dialog-header {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem;
border-bottom: 1px solid var(--border-color);
h3 {
margin: 0;
}
.header-icon {
margin-inline-end: .375rem;
font-size: $h3-font-size;
}
&.empty {
display: none;
}
}
.joomla-dialog-body {
position: relative;
box-sizing: border-box;
flex: 1 1 auto;
.buttons-holder {
position: absolute;
top: 1rem;
right: 1rem;
}
// Apply overflow for potentially large content
joomla-dialog[type="inline"],
joomla-dialog[type="ajax"] & {
overflow: auto;
}
// Content basic loading animation
joomla-dialog.loading & {
opacity: 0;
}
joomla-dialog.loaded & {
opacity: 1;
transition: opacity .4s ease;
}
}
.joomla-dialog-footer {
position: relative;
padding: 1rem;
border-top: 1px solid var(--border-color);
.buttons-holder button {
padding-inline: 22px;
}
&.empty {
display: none;
}
}
// Dialog alert and confirm
.joomla-dialog-alert,
.joomla-dialog-confirm {
dialog {
width: 600px;
max-width: 80vw;
height: fit-content;
}
.joomla-dialog-body {
padding: 1rem;
}
}
// Dialog for content select field
.joomla-dialog-content-select-field {
dialog {
@include media-breakpoint-up(xxl) {
width: 90vw;
height: 90vh;
}
}
}