first commit
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user