You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
176 lines
5.2 KiB
176 lines
5.2 KiB
@import "@coreui/coreui/scss/variables";
|
|
@import "@coreui/coreui/scss/mixins";
|
|
@import "sweetalert2/src/sweetalert2.scss";
|
|
|
|
// ==========================================================================
|
|
// 1. Core SweetAlert2 Base Variables (Safe Fallbacks)
|
|
// ==========================================================================
|
|
$swal2-confirm-button-background-color: $primary;
|
|
$swal2-deny-button-background-color: $danger;
|
|
$swal2-cancel-button-background-color: $secondary;
|
|
|
|
$swal2-success: $success;
|
|
$swal2-error: $danger;
|
|
$swal2-warning: $warning;
|
|
$swal2-info: $info;
|
|
$swal2-question: $secondary;
|
|
|
|
$swal2-font: $font-family-base;
|
|
$swal2-color: $gray-800;
|
|
|
|
$swal2-button-padding: $input-btn-padding-y ($input-btn-padding-x * 1.5);
|
|
|
|
$swal2-confirm-button-border-radius: 0.5rem;
|
|
$swal2-deny-button-border-radius: 0.5rem;
|
|
$swal2-cancel-button-border-radius: 0.5rem;
|
|
$swal2-border-radius: 0.75rem;
|
|
|
|
// ==========================================================================
|
|
// 2. Custom Layout & Core Dark Mode Compatibility
|
|
// ==========================================================================
|
|
.swal2-popup {
|
|
padding: 1.5rem;
|
|
// CoreUI native background tracking (automatically dark/light compliant)
|
|
background: var(--cui-body-bg);
|
|
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
|
|
border: 1px solid var(--cui-border-color-translucent);
|
|
|
|
// Global adjustments inside popup tracking CoreUI mode text
|
|
color: var(--cui-body-color);
|
|
|
|
.swal2-title {
|
|
font-weight: 600;
|
|
font-size: 1.25rem;
|
|
color: var(--cui-emphasis-color);
|
|
margin-bottom: 0.75rem;
|
|
padding-top: 0.5rem;
|
|
}
|
|
|
|
.swal2-html-container {
|
|
font-size: 0.95rem;
|
|
color: var(--cui-secondary-color);
|
|
line-height: 1.6;
|
|
margin: 0.5rem 1rem 0;
|
|
}
|
|
|
|
.swal2-actions {
|
|
gap: 0.75rem;
|
|
margin-top: 1.75rem;
|
|
|
|
.swal2-styled {
|
|
font-weight: 500;
|
|
box-shadow: none !important;
|
|
transition: all 0.2s ease;
|
|
margin: 0 !important;
|
|
|
|
&:hover {
|
|
transform: translateY(-1px);
|
|
// Pure CSS adjustment safely altering colors inside runtime vars
|
|
filter: brightness(1.1);
|
|
}
|
|
|
|
&:active {
|
|
transform: translateY(0);
|
|
}
|
|
|
|
&.swal2-confirm {
|
|
background-color: var(--cui-primary) !important;
|
|
color: var(--cui-white) !important;
|
|
}
|
|
|
|
&.swal2-cancel {
|
|
background-color: var(--cui-secondary-bg) !important;
|
|
color: var(--cui-secondary-color) !important;
|
|
border: 1px solid var(--cui-border-color) !important;
|
|
}
|
|
|
|
&.swal2-deny {
|
|
background-color: var(--cui-danger) !important;
|
|
color: var(--cui-white) !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Modal Status Indicators
|
|
.swal2-icon {
|
|
margin-top: 0.5rem;
|
|
margin-bottom: 0.5rem;
|
|
border-width: 2px;
|
|
|
|
&.swal2-success {
|
|
border-color: var(--cui-success);
|
|
|
|
[class^='swal2-success-line'] {
|
|
background-color: var(--cui-success);
|
|
}
|
|
|
|
.swal2-success-ring {
|
|
// native CSS color-mix handles alpha modifications without triggering compilation crash
|
|
border-color: color-mix(in srgb, var(--cui-success) 30%, transparent);
|
|
}
|
|
}
|
|
|
|
&.swal2-error {
|
|
border-color: var(--cui-danger);
|
|
|
|
.swal2-x-mark-line-left,
|
|
.swal2-x-mark-line-right {
|
|
background-color: var(--cui-danger);
|
|
}
|
|
}
|
|
|
|
&.swal2-warning {
|
|
border-color: var(--cui-warning);
|
|
color: var(--cui-warning);
|
|
}
|
|
|
|
&.swal2-info {
|
|
border-color: var(--cui-info);
|
|
color: var(--cui-info);
|
|
}
|
|
}
|
|
}
|
|
|
|
// ==========================================================================
|
|
// 3. Toast Customization
|
|
// ==========================================================================
|
|
@keyframes swal2-toast-show {
|
|
0% {
|
|
transform: scale(0.9) translateY(-10px);
|
|
opacity: 0;
|
|
}
|
|
100% {
|
|
transform: scale(1) translateY(0);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
.swal2-toast {
|
|
padding: 0.75rem 1rem !important;
|
|
background: var(--cui-body-bg) !important;
|
|
color: var(--cui-body-color) !important;
|
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08) !important;
|
|
border: 1px solid var(--cui-border-color-translucent) !important;
|
|
border-radius: 0.5rem !important;
|
|
|
|
&.swal2-show {
|
|
animation: swal2-toast-show 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) forwards !important;
|
|
}
|
|
|
|
.swal2-title {
|
|
color: var(--cui-emphasis-color) !important;
|
|
font-size: 0.875rem !important;
|
|
margin: 0 0.5rem !important;
|
|
padding-top: 0 !important;
|
|
}
|
|
}
|
|
|
|
// ==========================================================================
|
|
// 4. Scoped CoreUI Dark Mode Hooks
|
|
// ==========================================================================
|
|
[data-coreui-theme="dark"] {
|
|
.swal2-popup, .swal2-toast {
|
|
// High Contrast Shadow adjustments for Dark Backgrounds
|
|
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45) !important;
|
|
}
|
|
}
|
|
|