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

217 lines
3.5 KiB
SCSS

// Modals
.modal {
.btn {
margin-right: .5rem;
}
.btn-primary:not([href]),
.btn-success:not([href]) {
color: $white;
&:hover {
color: $white;
}
}
}
.modal-header {
padding: 0 15px;
}
.modal-title {
font-weight: var(--cassiopeia-font-weight-normal, $font-weight-normal);
line-height: $modal-header-height;
}
.contentpane {
padding: 15px;
.main-card {
margin: -10px;
box-shadow: none;
}
}
// 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;
}
}
}