first commit

This commit is contained in:
dev-chiefworks
2022-05-31 16:21:53 -04:00
commit f76abffdcd
5978 changed files with 1078901 additions and 0 deletions
@@ -0,0 +1,132 @@
/* ------------------------------------------------------------------------------
*
* # jGrowl notifications
*
* Styles for jgrowl.min.js - an unobtrusive notification system for web applications
*
* ---------------------------------------------------------------------------- */
// Check if component is enabled
@if $enable-jgrowl {
// Base
.jGrowl {
z-index: $zindex-tooltip;
position: absolute;
// Document popups have fixed position
body > & {
position: fixed;
}
//
// Positions
//
// Top
&.top-left {
left: $notification-gutter-x;
top: $notification-gutter-y;
}
&.top-center {
left: 50%;
top: $notification-gutter-y;
margin-left: -($notification-width / 2);
}
&.top-right {
right: $notification-gutter-x;
top: $notification-gutter-y;
}
// Center
&.center {
top: 40%;
width: $notification-width;
left: 50%;
margin-left: -($notification-width / 2);
margin-top: -($alert-padding-x + ($line-height-computed / 2));
// Center the content
.jGrowl-notification,
.jGrowl-closer {
margin-left: auto;
margin-right: auto;
}
}
// Bottom
&.bottom-left {
left: $notification-gutter-x;
bottom: $notification-gutter-y;
}
&.bottom-center {
left: 50%;
bottom: $notification-gutter-y;
margin-left: -($notification-width / 2);
}
&.bottom-right {
right: $notification-gutter-x;
bottom: $notification-gutter-y;
}
// Hide on print
@media print {
display: none;
}
}
// Notification styles
.jGrowl-notification {
margin-bottom: ($notification-gutter-y / 2);
width: $notification-width;
text-align: left;
display: none;
@include box-shadow($notification-box-shadow);
// Header
.jGrowl-header {
font-size: $h6-font-size;
margin-bottom: map-get($spacers, 1);
// Remove spacing if no header
&:empty {
margin: 0;
}
}
// Close button
.jGrowl-close {
font-weight: $close-font-weight;
background: none;
border: 0;
font-size: $close-font-size;
cursor: pointer;
line-height: 1;
padding: 0;
float: right;
color: inherit;
outline: 0;
margin-left: $element-spacer-x;
opacity: 0.75;
@include transition(opacity ease-in-out $component-transition-timer);
// Hover state
&:hover {
opacity: 1;
}
}
}
// "Close all" closer
.jGrowl-closer {
padding: map-get($spacers, 1) 0;
cursor: pointer;
margin-top: map-get($spacers, 1);
text-align: center;
background-color: $white;
width: $notification-width;
border: $border-width solid $border-color;
@include border-radius($border-radius);
}
}
@@ -0,0 +1,372 @@
/* ------------------------------------------------------------------------------
*
* # Noty notifications
*
* Styles for noty.min.js - A dependency-free notification library
*
* ---------------------------------------------------------------------------- */
// Check if component is enabled
@if $enable-noty {
// Base
.noty_bar {
position: relative;
-webkit-backface-visibility: hidden;
transform: translate(0, 0) scale(1.0, 1.0);
-webkit-font-smoothing: subpixel-antialiased;
@include box-shadow($notification-box-shadow);
}
// Body
.noty_body {
padding: $alert-padding-y $alert-padding-x;
// Increase right padding if alert has close button
.noty_close_with_button & {
padding-right: ($alert-padding-x * 2);
}
}
// Buttons area
.noty_buttons {
padding: $alert-padding-y $alert-padding-x;
padding-top: 0;
text-align: right;
}
// Positioning mixin
.noty_layout_mixin {
position: fixed;
margin: 0;
padding: 0;
z-index: $zindex-modal;
transform: translateZ(0) scale(1.0, 1.0);
filter: blur(0);
backface-visibility: hidden;
-webkit-font-smoothing: subpixel-antialiased;
max-width: 90%;
}
//
// Top position
//
// Full width
#noty_layout__top {
@extend .noty_layout_mixin;
top: 0;
left: 5%;
width: 90%;
// Add more spacing to the first notification
.noty_bar:first-child {
margin-top: $notification-gutter-y;
}
}
// Left
#noty_layout__topLeft {
@extend .noty_layout_mixin;
top: $notification-gutter-y;
left: $notification-gutter-x;
width: $notification-width;
}
// Center
#noty_layout__topCenter {
@extend .noty_layout_mixin;
top: 5%;
left: 50%;
width: $notification-width;
transform: translate(-50%) translateZ(0) scale(1.0, 1.0);
}
// Right
#noty_layout__topRight {
@extend .noty_layout_mixin;
top: $notification-gutter-y;
right: $notification-gutter-x;
width: $notification-width;
}
//
// Middle position
//
// Center
#noty_layout__center {
@extend .noty_layout_mixin;
top: 50%;
left: 50%;
width: $notification-width;
transform: translate(-50%, -50%) translateZ(0) scale(1.0, 1.0);
}
// Left
#noty_layout__centerLeft {
@extend .noty_layout_mixin;
top: 50%;
left: $notification-gutter-x;
width: $notification-width;
transform: translate(0, -50%) translateZ(0) scale(1.0, 1.0);
}
// Right
#noty_layout__centerRight {
@extend .noty_layout_mixin;
top: 50%;
right: $notification-gutter-x;
width: $notification-width;
transform: translate(0, -50%) translateZ(0) scale(1, 1);
}
//
// Bottom position
//
// Full width
#noty_layout__bottom {
@extend .noty_layout_mixin;
bottom: 0;
left: 5%;
width: 90%;
// Add more spacing to the last notification
.noty_bar:last-child {
margin-bottom: $notification-gutter-y;
}
}
// Left
#noty_layout__bottomLeft {
@extend .noty_layout_mixin;
bottom: $notification-gutter-y;
left: $notification-gutter-x;
width: $notification-width;
}
// Center
#noty_layout__bottomCenter {
@extend .noty_layout_mixin;
bottom: 5%;
left: 50%;
width: $notification-width;
transform: translate(calc(-50% - #{$alert-border-width})) translateZ(0) scale(1.0, 1.0);
}
// Right
#noty_layout__bottomRight {
@extend .noty_layout_mixin;
bottom: $notification-gutter-y;
right: $notification-gutter-x;
width: $notification-width;
}
//
// Progress bar
//
.noty_progressbar {
display: none;
// Show only if notification has timeout
.noty_has_timeout.noty_has_progressbar & {
display: block;
position: absolute;
left: 0;
bottom: 0;
height: $noty-progress-height;
width: 100%;
background-color: $noty-progress-bg;
}
}
//
// Animation effects
//
// Open
.noty_effects_open {
opacity: 0;
transform: translate(50%);
animation: noty_anim_in .5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
animation-fill-mode: forwards;
}
// Close
.noty_effects_close {
animation: noty_anim_out .5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
animation-fill-mode: forwards;
}
// Height
.noty_fix_effects_height {
animation: noty_anim_height 75ms ease-out;
}
//
// Close button
//
// On notification click
.noty_close_with_click {
cursor: pointer;
}
// Button
.noty_close_button {
position: absolute;
top: $alert-padding-y;
right: $alert-padding-x;
background-color: transparent;
font-size: $close-font-size;
font-weight: $close-font-weight;
color: inherit;
text-align: center;
line-height: 1;
cursor: pointer;
opacity: 0.75;
@include transition(opacity ease-in-out $component-transition-timer);
// Animate on hover
@include hover {
opacity: 1;
}
}
//
// Modal
//
.noty_modal {
position: fixed;
width: 100%;
height: 100%;
background-color: $modal-backdrop-bg;
z-index: $zindex-modal-backdrop;
opacity: $modal-backdrop-opacity;
left: 0;
top: 0;
// Open
&.noty_modal_open {
opacity: 0;
animation: noty_modal_in .3s ease-out;
}
// Close
&.noty_modal_close {
animation: noty_modal_out .3s ease-out;
animation-fill-mode: forwards;
}
}
//
// Animations
//
@keyframes noty_modal_in {
100% {
opacity: $modal-backdrop-opacity;
}
}
@keyframes noty_modal_out {
100% {
opacity: 0;
}
}
@keyframes noty_anim_in {
100% {
transform: translate(0);
opacity: 1;
}
}
@keyframes noty_anim_out {
100% {
transform: translate(50%);
opacity: 0;
}
}
@keyframes noty_anim_height {
100% {
height: 0;
}
}
//
// Default limitless theme
//
.noty_theme__limitless {
// Base
&.noty_bar {
margin: $noty-spacer-y 0;
position: relative;
border: $alert-border-width solid transparent;
@include border-radius($alert-border-radius);
}
// Alert type
&.noty_type__alert {
background-color: $notification-alert-bg;
color: $notification-alert-color;
border-color: $notification-alert-border-color;
}
// Warning type
&.noty_type__warning {
background-color: $notification-warning-bg;
color: $notification-warning-color;
border-color: $notification-warning-border-color;
}
// Error type
&.noty_type__error {
background-color: $notification-error-bg;
color: $notification-error-color;
border-color: $notification-error-border-color;
}
// Info type
&.noty_type__info {
background-color: $notification-info-bg;
color: $notification-info-color;
border-color: $notification-info-border-color;
}
// Success type
&.noty_type__success {
background-color: $notification-success-bg;
color: $notification-success-color;
border-color: $notification-success-border-color;
}
// Confirmation type
&.noty_type__confirm {
background-color: $modal-content-bg;
border-color: $modal-content-border-color;
@include box-shadow($modal-content-box-shadow-xs);
// Use bigger vertical padding
.noty_body {
padding: $alert-padding-x;
}
// Override top padding for close button to match new vertical padding
.noty_close_button {
top: $alert-padding-x;
}
}
}
}
@@ -0,0 +1,486 @@
/* ------------------------------------------------------------------------------
*
* # PNotify notifications
*
* Styles for pnotify.min.js - a flexible JavaScript notification plugin
*
* ---------------------------------------------------------------------------- */
// Check if component is enabled
@if $enable-pnotify {
// Base
.ui-pnotify {
top: $notification-gutter-y;
right: $notification-gutter-x;
position: absolute;
height: auto;
z-index: 2;
@include border-radius($border-radius);
@include box-shadow($notification-box-shadow);
// Related to window
body > & {
position: fixed;
z-index: $zindex-tooltip;
}
// Rounded alerts
&.alert-rounded > .ui-pnotify-container {
@include border-radius($border-radius-round);
}
// Solid color alerts
&[class*=bg-] > .ui-pnotify-container {
background-color: inherit;
border-color: transparent;
color: $white;
}
// Custom text and light background colors
&[class*=text-] > .ui-pnotify-container,
&[class*=alpha-] > .ui-pnotify-container {
background-color: inherit;
border-color: inherit;
color: inherit;
}
//
// Stack positions
//
// Alternate stack initial positioning
&.stack-top-left,
&.stack-bottom-left {
left: $notification-gutter-x;
right: auto;
}
&.stack-bottom-right,
&.stack-bottom-left {
bottom: $notification-gutter-y;
top: auto;
}
&.stack-modal {
left: 50%;
right: auto;
margin-left: -($notification-width / 2);
}
// Custom stack positions
&.stack-custom-right {
top: auto;
left: auto;
bottom: 15rem;
right: 15rem;
}
&.stack-custom-left {
top: 15rem;
left: 15rem;
right: auto;
bottom: auto;
}
&.stack-custom-top {
right: 0;
left: 0;
top: 0;
}
&.stack-custom-bottom {
right: 0;
left: 0;
bottom: 0;
top: auto;
}
//
// Animations
//
// Display notification
&.ui-pnotify-in {
display: block!important;
}
// Move notification
&.ui-pnotify-move {
transition: left .5s ease, top .5s ease, right .5s ease, bottom .5s ease;
}
// Slow fading
&.ui-pnotify-fade-slow {
opacity: 0;
transition: opacity linear 0.6s;
&.ui-pnotify.ui-pnotify-move {
transition: opacity .6s linear, left .5s ease, top .5s ease, right .5s ease, bottom .5s ease;
}
}
// Normal fading
&.ui-pnotify-fade-normal {
opacity: 0;
transition: opacity linear 0.4s;
&.ui-pnotify.ui-pnotify-move {
transition: opacity .4s linear, left .5s ease, top .5s ease, right .5s ease, bottom .5s ease;
}
}
// Fast fading
&.ui-pnotify-fade-fast {
transition: opacity .2s linear;
opacity: 0;
&.ui-pnotify.ui-pnotify-move {
transition: opacity .2s linear, left .5s ease, top .5s ease, right .5s ease, bottom .5s ease;
}
}
// Fading
&.ui-pnotify-fade-in {
opacity: 1;
}
}
//
// Notification layout
//
// Container
.ui-pnotify-container {
padding: $alert-padding-y $alert-padding-x;
height: 100%;
position: relative;
left: 0;
margin: 0;
@include border-radius($border-radius);
@include clearfix;
// Roundless notifications
&.ui-pnotify-sharp {
@include border-radius(0);
}
}
// Title
.ui-pnotify-title {
display: block;
margin-top: 0;
margin-bottom: map-get($spacers, 1);
font-size: $h6-font-size;
}
// Text
.ui-pnotify-text {
display: block;
}
// Notification icon
.ui-pnotify-icon {
display: block;
float: left;
line-height: 1;
> [class^=icon-] {
margin-top: ($line-height-computed - $icon-font-size);
margin-right: $element-spacer-x;
}
}
// Control buttons
.ui-pnotify-closer,
.ui-pnotify-sticker {
float: right;
margin-left: $element-spacer-x;
margin-top: ($line-height-computed - $icon-font-size);
line-height: 1;
outline: 0;
}
//
// Utility classes
//
// Overlay
.ui-pnotify-modal-overlay {
background-color: rgba($modal-backdrop-bg, $modal-backdrop-opacity);
top: 0;
left: 0;
position: absolute;
z-index: 1;
@include size(100%);
body > & {
position: fixed;
z-index: $zindex-modal-backdrop;
}
}
//
// Notification theme
//
.brighttheme {
border: $alert-border-width solid;
// Custom color
.ui-pnotify[class*=bg-] > & {
background-color: inherit;
border-color: inherit;
color: inherit;
}
}
//
// Contextual alternatives
//
.brighttheme-notice {
background-color: $color-orange-50;
border-color: $color-orange-500;
color: $color-warning-900;
}
.brighttheme-info {
background-color: $color-blue-50;
border-color: $color-blue-500;
color: $color-blue-900;
}
.brighttheme-success {
background-color: $color-success-50;
border-color: $color-success-500;
color: $color-success-900;
}
.brighttheme-error {
background-color: $color-danger-50;
border-color: $color-danger-500;
color: $color-danger-900;
}
//
// Notification controls
//
// Base
.brighttheme-icon-closer,
.brighttheme-icon-sticker {
position: relative;
display: inline-block;
outline: 0;
@include size($font-size-sm);
// Icons
&:after {
content: '';
font-family: $icon-font-family;
font-size: $font-size-sm;
display: block;
@include ll-font-smoothing();
}
}
// Closer icon
.brighttheme-icon-closer:after {
content: $icon-action-cross;
}
// Sticker icon
.brighttheme-icon-sticker:after {
content: $icon-notification-sticker;
}
// Sticked icon
.brighttheme-icon-sticker.brighttheme-icon-stuck:after {
content: $icon-notification-stuck;
}
//
// Custom alert styles
//
// Styled alert
.ui-pnotify[class*=alert-styled-] {
border-width: 0;
padding: 0;
}
// Left position
.ui-pnotify.alert-styled-left {
// Border
.brighttheme {
border-left-width: (($alert-padding-y * 2) + $icon-font-size);
}
// Icon
&:after {
left: 0;
}
}
// Right position
.ui-pnotify.alert-styled-right {
// Border
.brighttheme {
border-right-width: (($alert-padding-y * 2) + $icon-font-size);
}
// Icon
&:after {
right: 0;
}
}
//
// Action bar
//
.brighttheme {
.ui-pnotify-action-bar {
textarea,
input {
display: block;
width: 100%;
border: $input-border-width solid $input-border-color;
background-color: $input-bg;
margin-bottom: $form-group-margin-bottom!important;
color: $input-color;
padding: $input-padding-y $input-padding-x;
outline: 0;
// In colored background
.ui-pnotify[class*=bg-] & {
border-color: transparent;
color: $white;
// Placeholder
&::placeholder {
color: $input-placeholder-light-color;
opacity: 1;
}
}
}
}
}
//
// Notification history
//
// Container
.ui-pnotify-history-container {
position: absolute;
top: 0;
right: $notification-gutter-x;
border-top: none;
padding: 0;
z-index: $zindex-tooltip;
@include border-top-radius(0);
// Fixed container
&.ui-pnotify-history-fixed {
position: fixed;
}
// Header
.ui-pnotify-history-header {
text-align: center;
margin-bottom: map-get($spacers, 1);
}
// Button
button {
cursor: pointer;
display: block;
width: 100%;
}
// Pulldown
.ui-pnotify-history-pulldown {
display: block;
margin: 0 auto;
}
}
//
// Mobile view setup
//
@include media-breakpoint-down(sm) {
// On mobile
.ui-pnotify-mobile-able {
// Notification
&.ui-pnotify {
position: fixed;
top: 0;
right: 0;
left: 0;
width: auto !important;
font-smoothing: antialiased;
// Shadow
.ui-pnotify-shadow {
border-bottom-width: ($alert-border-width * 5);
@include box-shadow(none);
}
//
// Alternate stack initial positioning
//
&.stack-top-left,
&.stack-bottom-left {
left: 0;
right: 0;
}
&.stack-bottom-right,
&.stack-bottom-left {
left: 0;
right: 0;
bottom: 0;
top: auto;
// Shadow
.ui-pnotify-shadow,
.ui-pnotify-shadow {
border-top-width: ($alert-border-width * 5);
border-bottom-width: $alert-border-width;
}
}
//
// Utility classes
//
// Fade out
&.ui-pnotify-nonblock-fade {
opacity: 0.2;
}
// Hide
&.ui-pnotify-nonblock-hide {
display: none !important;
}
}
// Container
.ui-pnotify-container {
@include border-radius(0);
}
}
}
}
@@ -0,0 +1,733 @@
/* ------------------------------------------------------------------------------
*
* # Sweet Alerts component
*
* Styles for sweet_alert.min.js - notification library
*
* ---------------------------------------------------------------------------- */
// Check if component is enabled
@if $enable-sweetalert {
//
// Styles applied to <body>
//
.swal2-shown {
// Disable scrolling when notification is shown
&:not(.swal2-no-backdrop) {
overflow-y: hidden;
}
// Fix fox iOS
&.swal2-iosfix {
position: fixed;
left: 0;
right: 0;
}
// Disabled backdrop
&.swal2-no-backdrop {
.swal2-shown {
background-color: transparent;
box-shadow: $modal-content-box-shadow-xs;
}
}
}
//
// Container
//
.swal2-container {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: transparent;
z-index: $zindex-tooltip;
//
// Positioning
//
// Top
&.swal2-top {
align-items: flex-start;
// Modal spacing
.swal2-modal {
margin-top: $notification-gutter-y;
}
}
&.swal2-top-left {
align-items: flex-start;
justify-content: flex-start;
// Modal spacing
.swal2-modal {
margin-top: $notification-gutter-y;
margin-left: $notification-gutter-x;
}
}
&.swal2-top-right {
align-items: flex-start;
justify-content: flex-end;
// Modal spacing
.swal2-modal {
margin-top: $notification-gutter-y;
margin-right: $notification-gutter-x;
}
}
// Center
&.swal2-center {
align-items: center;
margin: auto;
}
&.swal2-center-left {
align-items: center;
justify-content: flex-start;
// Modal spacing
.swal2-modal {
margin-left: $notification-gutter-x;
}
}
&.swal2-center-right {
align-items: center;
justify-content: flex-end;
// Modal spacing
.swal2-modal {
margin-right: $notification-gutter-x;
}
}
// Bottom
&.swal2-bottom {
align-items: flex-end;
// Modal spacing
.swal2-modal {
margin-bottom: $notification-gutter-y;
}
}
&.swal2-bottom-left {
align-items: flex-end;
justify-content: flex-start;
// Modal spacing
.swal2-modal {
margin-bottom: $notification-gutter-y;
margin-left: $notification-gutter-x;
}
}
&.swal2-bottom-right {
align-items: flex-end;
justify-content: flex-end;
// Modal spacing
.swal2-modal {
margin-bottom: $notification-gutter-y;
margin-right: $notification-gutter-x;
}
}
// IE hacks
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
.swal2-modal {
margin: 0 !important;
}
}
// Dialog animation
&.swal2-fade {
@include transition(background-color .15s);
}
// Overlay
body:not(.swal2-no-backdrop) &.swal2-shown {
background-color: rgba($modal-backdrop-bg, $modal-backdrop-opacity);
}
}
//
// Stretching
//
// Fullscreen
.swal2-grow-fullscreen {
.swal2-modal {
display: flex !important;
flex: 1;
align-self: stretch;
justify-content: center;
margin: $notification-gutter-y $notification-gutter-x;
}
}
// Full width
.swal2-grow-row {
.swal2-modal {
display: flex !important;
flex: 1;
align-content: center;
justify-content: center;
margin-left: $notification-gutter-x;
margin-right: $notification-gutter-x;
}
}
// Full height
.swal2-grow-column {
flex: 1;
flex-direction: column;
align-items: center;
// Left position (use 'center-left')
&.swal2-center-left {
align-items: flex-start;
}
// Right position (use 'center-right')
&.swal2-center-right {
align-items: flex-end;
}
// Nodal
.swal2-modal {
display: flex !important;
flex: 1;
align-content: center;
justify-content: center;
margin-top: $notification-gutter-y;
margin-bottom: $notification-gutter-y;
}
}
//
// Popup
//
// Base
.swal2-popup {
flex-direction: column;
background-color: $modal-content-bg;
text-align: center;
display: none;
position: relative;
max-width: 100%;
padding: $swal-padding;
width: $swal-width;
margin-left: $swal-margin-x;
margin-right: $swal-margin-x;
@include border-radius($border-radius-lg);
@include box-shadow($modal-content-box-shadow-xs);
// Remove outline
&:focus {
outline: none;
}
// Hide overflow when notification is loading
&.swal2-loading {
overflow-y: hidden;
}
// No horizontal spacing on desktop
@include media-breakpoint-up(sm) {
margin-left: 0;
margin-right: 0;
}
}
// Header
.swal2-header {
display: flex;
flex-direction: column;
align-items: center;
}
// Title
.swal2-title {
font-size: $h5-font-size;
font-weight: $font-weight-semibold;
line-height: $headings-line-height;
text-align: center;
position: relative;
word-wrap: break-word;
margin-top: map-get($spacers, 1);
margin-bottom: 0;
}
// Content
.swal2-content {
text-align: center;
position: relative;
word-wrap: break-word;
}
//
// Buttons
//
// Container
.swal2-actions {
align-items: center;
justify-content: center;
margin-top: $spacer;
// Add horizontal spacing to buttons
> button + button {
margin-left: ($spacer / 2);
}
// Disabled state
&:not(.swal2-loading) .swal2-styled[disabled] {
cursor: no-drop;
opacity: 0.4;
}
}
// Loading spinner
.swal2-loading {
.swal2-confirm {
&:before {
content: $icon-loading-spinner;
font-family: $icon-font-family;
display: inline-block;
font-size: $icon-font-size;
align-self: center;
vertical-align: middle;
position: relative;
line-height: 1;
margin-right: $element-spacer-x;
animation: rotation 1s linear infinite;
@include ll-font-smoothing();
}
}
}
// Close button
.swal2-close {
background: transparent;
border: 0;
margin: 0;
padding: 0;
font-size: 1.5rem;
line-height: 1;
position: absolute;
top: 1rem;
right: 1rem;
cursor: pointer;
opacity: .5;
@include size(1.5rem);
@include transition(opacity ease-in-out .15s);
// Hover/focus states
@include hover-focus {
opacity: 1;
outline: 0;
}
}
//
// Forms
//
// Main types
.swal2-input,
.swal2-file,
.swal2-textarea,
.swal2-select,
.swal2-radio,
.swal2-checkbox {
display: none;
margin: $spacer auto 0 auto;
}
// Custom types
.swal2-popup {
.select2-container,
.btn-group,
.uniform-uploader {
margin: $spacer auto 0 auto;
}
}
// Checkbox
.swal2-checkbox {
align-items: center;
justify-content: center;
// Spacing between input and text
> span:not(.switchery) {
margin-left: $element-spacer-x;
}
}
// Radio
.swal2-radio {
justify-content: center;
label {
display: inline-flex;
align-items: center;
// Add spacing to labels
+ label {
margin-left: $spacer;
}
// Add spacing to text
input,
.uniform-choice {
margin-right: $element-spacer-x;
}
}
}
// Range
.swal2-range {
margin-top: $spacer;
justify-content: center;
flex-wrap: wrap;
// Range input
input {
display: block;
width: 100%;
}
// Range output
output {
font-size: $h6-font-size;
font-weight: $font-weight-semibold;
margin-top: ($spacer / 2);
}
}
// Input error
.swal2-inputerror {
@include plain-hover-focus {
border-color: $form-feedback-invalid-color !important;
}
}
// Validation error message
.swal2-validation-message {
overflow: hidden;
display: none;
margin-top: $form-text-margin-top;
margin-bottom: $form-text-margin-top;
margin-left: 0 !important;
margin-right: 0!important;
color: theme-color("danger");
position: relative;
padding-left: ($icon-font-size + $element-spacer-x);
// Add icon
&:before {
content: $icon-validation-error;
font-family: $icon-font-family;
font-size: $icon-font-size;
position: absolute;
top: (($line-height-computed - $icon-font-size) / 2);
left: 0;
display: inline-block;
line-height: 1;
@include ll-font-smoothing();
}
}
//
// Images and icons
//
// Image
.swal2-image {
margin: ($spacer / 2) auto;
@include img-fluid();
}
// Icons
.swal2-icon {
border: $swal2-icon-border-width solid transparent;
margin: ($spacer / 2) auto $spacer auto;
padding: 0;
position: relative;
box-sizing: content-box;
cursor: default;
user-select: none;
@include size($swal2-icon-size);
@include border-radius($border-radius-circle);
// Success
&.swal2-success {
border-color: $swal2-success-border-color;
// Checkmark
[class^='swal2-success-line'][class$='tip'] {
height: ($swal2-icon-size / 2);
width: ($swal2-icon-size / 4);
/*rtl:ignore*/
border-right: $swal2-icon-border-width solid $swal2-success-color;
border-top: $swal2-icon-border-width solid $swal2-success-color;
position: absolute;
/*rtl:ignore*/
left: ($swal2-icon-size / 4);
top: ($swal2-icon-size / 2) + ($swal2-icon-border-width / 2);
opacity: 1;
animation: animate-checkmark ease 0.75s;
/*rtl:begin:ignore*/
transform: scaleX(-1) rotate(135deg);
transform-origin: left top;
/*rtl:end:ignore*/
}
}
// Error
&.swal2-error {
border-color: $swal2-error-border-color;
// Base
.swal2-x-mark {
position: relative;
display: block;
flex: 1;
}
// Lines
[class^='swal2-x-mark-line'] {
position: absolute;
height: $swal2-icon-border-width;
width: ($swal2-icon-size - ($swal2-icon-spacer * 2));
background-color: $swal2-error-color;
display: block;
top: ($swal2-icon-size - $swal2-icon-border-width) / 2;
// Left line
&[class$='left'] {
transform: rotate(45deg);
left: $swal2-icon-spacer;
}
// Right line
&[class$='right'] {
transform: rotate(-45deg);
right: $swal2-icon-spacer;
}
}
}
// Warning
&.swal2-warning {
color: $swal2-warning-color;
border-color: $swal2-warning-border-color;
font-size: ($swal2-icon-size - $swal2-icon-spacer);
line-height: $swal2-icon-size;
justify-content: center;
}
// Info
&.swal2-info {
color: $swal2-info-color;
border-color: $swal2-info-color;
font-size: ($swal2-icon-size - $swal2-icon-spacer);
line-height: $swal2-icon-size;
justify-content: center;
}
// Question
&.swal2-question {
color: $swal2-question-color;
border-color: $swal2-question-border-color;
font-size: ($swal2-icon-size - $swal2-icon-spacer);
line-height: calc(#{$swal2-icon-size} + #{$swal2-icon-border-width});
justify-content: center;
}
}
//
// Progress steps
//
// Base
.swal2-progresssteps {
font-weight: $font-weight-semibold;
margin: 0 0 $spacer;
padding: 0;
// Steps
li {
display: inline-block;
position: relative;
}
}
// Steps
.swal2-progresscircle {
color: $swal2-step-complete-color;
text-align: center;
margin-left: ($spacer / 2);
margin-right: ($spacer / 2);
// Active step
&.swal2-activeprogressstep {
color: $color-primary-500;
// Active step color
~ .swal2-progresscircle {
color: $swal2-step-inactive-color;
}
// Active step line color
~ .swal2-progressline {
background-color: $swal2-step-line-color;
}
}
}
// Line
.swal2-progressline {
background-color: $swal2-step-active-color;
height: rem-calc(1);
vertical-align: middle;
}
//
// Animations
//
// github.com/limonte/sweetalert2/issues/268
[class^='swal2'] {
-webkit-tap-highlight-color: rgba($black, 0);
}
// Show notification
.swal2-show {
animation: show-notification 0.15s;
// Disable animation
&.swal2-noanimation {
animation: none;
}
}
// Hide notification
.swal2-hide {
animation: hide-notification 0.15s forwards;
// Disable animation
&.swal2-noanimation {
animation: none;
}
}
// Circle
.swal2-animate-success-icon,
.swal2-animate-error-icon,
.swal2-warning,
.swal2-info,
.swal2-question {
animation: animate-circle 0.5s;
}
// Error cross
.swal2-animate-x-mark {
animation: animate-x-mark 0.5s;
}
//
// Animation keyframes
//
// Show notification
@keyframes show-notification {
0% {
transform: scale(0.5);
}
100% {
transform: scale(1);
}
}
// Hide notification
@keyframes hide-notification {
0% {
transform: scale(1);
opacity: 1;
}
100% {
transform: scale(0.5);
opacity: 0;
}
}
// Checkmark
@keyframes animate-checkmark {
0% {
height: 0;
width: 0;
opacity: 0;
}
30% {
height: 0;
width: ($swal2-icon-size / 4);
opacity: 0;
}
60% {
height: ($swal2-icon-size / 2);
width: ($swal2-icon-size / 4);
opacity: 1;
}
100% {
height: ($swal2-icon-size / 2);
width: ($swal2-icon-size / 4);
opacity: 1;
}
}
// Circle
@keyframes animate-circle {
0% {
color: transparent;
border-color: transparent;
}
25% {
color: transparent;
}
}
// Error cross
@keyframes animate-x-mark {
0% {
opacity: 0;
}
25% {
opacity: 0;
}
100% {
opacity: 1;
}
}
}