@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; } }