This commit is contained in:
@@ -1 +1,4 @@
|
||||
@import 'splide-4.1.4/themes/default/index';
|
||||
@import 'splide-4.1.4/core/index';
|
||||
|
||||
@import 'toastify-1.12/toastify';
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
@keyframes splide-loading {
|
||||
0% {
|
||||
transform: rotateZ( 0 );
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: rotateZ( 360deg );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
@forward 'foundation/animations';
|
||||
@forward 'object/modifiers';
|
||||
@forward 'object/objects';
|
||||
@@ -0,0 +1,8 @@
|
||||
.splide {
|
||||
$root: &;
|
||||
|
||||
&__track--draggable {
|
||||
-webkit-touch-callout: none;
|
||||
user-select: none;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
.splide {
|
||||
$root: &;
|
||||
|
||||
&__track--fade {
|
||||
> #{ $root }__list {
|
||||
> #{ $root }__slide {
|
||||
margin: 0 !important;
|
||||
opacity: 0;
|
||||
z-index: 0;
|
||||
|
||||
&.is-active {
|
||||
opacity: 1;
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
@forward 'draggable';
|
||||
@forward 'fade';
|
||||
@forward 'rtl';
|
||||
@forward 'ttb';
|
||||
@@ -0,0 +1,5 @@
|
||||
.splide {
|
||||
&--rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
.splide {
|
||||
$root: &;
|
||||
|
||||
&__track--ttb {
|
||||
> #{ $root }__list {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
.splide {
|
||||
&__container {
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
@forward 'container';
|
||||
@forward 'list';
|
||||
@forward 'pagination';
|
||||
@forward 'progress';
|
||||
@forward 'root';
|
||||
@forward 'slide';
|
||||
@forward 'spinner' as spinner-*;
|
||||
@forward 'sr';
|
||||
@forward 'toggle';
|
||||
@forward 'track';
|
||||
@@ -0,0 +1,17 @@
|
||||
.splide {
|
||||
$root: &;
|
||||
|
||||
&__list {
|
||||
backface-visibility: hidden;
|
||||
display: flex;
|
||||
height: 100%;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
&.is-initialized:not( .is-active ) {
|
||||
#{ $root }__list {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
.splide {
|
||||
$root: &;
|
||||
|
||||
&__pagination {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
margin: 0;
|
||||
pointer-events: none;
|
||||
|
||||
li {
|
||||
display: inline-block;
|
||||
line-height: 1;
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
pointer-events: auto;
|
||||
}
|
||||
}
|
||||
|
||||
&:not( .is-overflow ) {
|
||||
#{ $root }__pagination {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
.splide {
|
||||
&__progress {
|
||||
&__bar {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
.splide {
|
||||
position: relative;
|
||||
visibility: hidden;
|
||||
|
||||
&.is-initialized,
|
||||
&.is-rendered {
|
||||
visibility: visible;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
.splide {
|
||||
&__slide {
|
||||
backface-visibility: hidden;
|
||||
box-sizing: border-box;
|
||||
flex-shrink: 0;
|
||||
list-style-type: none !important;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
|
||||
img {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
$size: 20px !default;
|
||||
$border: 2px solid #999 !default;
|
||||
|
||||
.splide {
|
||||
&__spinner {
|
||||
animation: splide-loading 1s infinite linear;
|
||||
border: $border;
|
||||
border-left-color: transparent;
|
||||
border-radius: 50%;
|
||||
bottom: 0;
|
||||
contain: strict;
|
||||
display: inline-block;
|
||||
height: $size;
|
||||
left: 0;
|
||||
margin: auto;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: $size;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
.splide {
|
||||
&__sr {
|
||||
border: 0;
|
||||
clip: rect( 0 0 0 0 );
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
.splide {
|
||||
&__toggle {
|
||||
$parent: &;
|
||||
|
||||
&__play {
|
||||
}
|
||||
|
||||
&__pause {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&.is-active {
|
||||
#{ $parent }__play {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#{ $parent }__pause {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
.splide {
|
||||
&__track {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
z-index: 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
$main: #000 !default;
|
||||
$sub01: #333 !default;
|
||||
$sub02: #999 !default;
|
||||
|
||||
$background: #ccc !default;
|
||||
$background-active: #fff !default;
|
||||
|
||||
$focus: #0bf !default;
|
||||
@@ -0,0 +1,27 @@
|
||||
@use './colors';
|
||||
|
||||
$outline: colors.$focus 3px solid !default;
|
||||
$outline-offset: 3px !default;
|
||||
$outline-offset-inset: -3px !default;
|
||||
|
||||
@mixin ie-only {
|
||||
@media screen and (-ms-high-contrast: none) {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin focus-outline( $offset: $outline-offset ) {
|
||||
outline: $outline;
|
||||
outline-offset: $offset;
|
||||
}
|
||||
|
||||
@mixin focus-outline-inset {
|
||||
@supports ( outline-offset: $outline-offset-inset ) {
|
||||
@include focus-outline( $outline-offset-inset );
|
||||
}
|
||||
|
||||
/* IE does not support outline-offset */
|
||||
@include ie-only {
|
||||
border: $outline;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
@use 'foundation/colors';
|
||||
|
||||
$spinner-size: 20px !default;
|
||||
$spinner-border: 2px solid colors.$sub02 !default;
|
||||
|
||||
@use '../../core/object/objects' with (
|
||||
$spinner-size: $spinner-size,
|
||||
$spinner-border: $spinner-border,
|
||||
);
|
||||
|
||||
@forward '../../core';
|
||||
@forward 'object/objects';
|
||||
@forward 'object/modifiers';
|
||||
@@ -0,0 +1,3 @@
|
||||
@forward 'nav' as nav-*;
|
||||
@forward 'rtl' as rtl-*;
|
||||
@forward 'ttb' as ttb-*;
|
||||
@@ -0,0 +1,37 @@
|
||||
@use '../../foundation/colors';
|
||||
@use '../../foundation/mixins';
|
||||
|
||||
$border: 3px solid transparent !default;
|
||||
$border-active: 3px solid colors.$main !default;
|
||||
$border-radius: false !default;
|
||||
$opacity: false !default;
|
||||
$opacity-active: false !default;
|
||||
|
||||
.splide {
|
||||
$root: &;
|
||||
|
||||
&__track--nav {
|
||||
> #{ $root }__list {
|
||||
> #{ $root }__slide {
|
||||
border: $border;
|
||||
cursor: pointer;
|
||||
|
||||
@if $opacity {
|
||||
opacity: $opacity;
|
||||
}
|
||||
|
||||
@if $border-radius {
|
||||
border-radius: $border-radius;
|
||||
}
|
||||
|
||||
&.is-active {
|
||||
border: $border-active;
|
||||
|
||||
@if $opacity {
|
||||
opacity: $opacity-active;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
$arrow-right: 1em !default;
|
||||
$arrow-left: 1em !default;
|
||||
|
||||
.splide {
|
||||
$root: &;
|
||||
|
||||
&__arrows--rtl {
|
||||
#{ $root }__arrow {
|
||||
&--prev {
|
||||
left: auto;
|
||||
right: $arrow-right;
|
||||
|
||||
svg {
|
||||
transform: scaleX( 1 );
|
||||
}
|
||||
}
|
||||
|
||||
&--next {
|
||||
left: $arrow-left;
|
||||
right: auto;
|
||||
|
||||
svg {
|
||||
transform: scaleX( -1 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
$arrow-top: 1em !default;
|
||||
$arrow-bottom: 1em !default;
|
||||
$pagination-left: auto !default;
|
||||
$pagination-right: .5em !default;
|
||||
$pagination-dot-width: false !default;
|
||||
$pagination-dot-height: false !default;
|
||||
|
||||
.splide {
|
||||
$root: &;
|
||||
|
||||
&__arrows--ttb {
|
||||
#{ $root }__arrow {
|
||||
left: 50%;
|
||||
transform: translate( -50%, 0 );
|
||||
|
||||
&--prev {
|
||||
top: $arrow-top;
|
||||
|
||||
svg {
|
||||
transform: rotateZ( -90deg );
|
||||
}
|
||||
}
|
||||
|
||||
&--next {
|
||||
bottom: $arrow-bottom;
|
||||
top: auto;
|
||||
|
||||
svg {
|
||||
transform: rotateZ( 90deg );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__pagination--ttb {
|
||||
bottom: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
left: $pagination-left;
|
||||
padding: 1em 0;
|
||||
right: $pagination-right;
|
||||
top: 0;
|
||||
|
||||
#{ $root }__pagination__page {
|
||||
@if $pagination-dot-width {
|
||||
width: $pagination-dot-width;
|
||||
}
|
||||
|
||||
@if $pagination-dot-height {
|
||||
height: $pagination-dot-height;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
@use '../../foundation/colors';
|
||||
@use '../../foundation/mixins';
|
||||
|
||||
$size: 1.2em !default;
|
||||
$fill: colors.$main !default;
|
||||
$fill-hover: false !default;
|
||||
$transition: false !default;
|
||||
$button-size: 2em !default;
|
||||
$button-background: colors.$background !default;
|
||||
$button-background-hover: false !default;
|
||||
$button-border: 0 !default;
|
||||
$button-padding: 0 !default;
|
||||
$button-border-radius: 50% !default;
|
||||
$button-transition: false !default;
|
||||
$opacity: .7 !default;
|
||||
$opacity-hover: .9 !default;
|
||||
$opacity-disabled: .3 !default;
|
||||
$left: 1em !default;
|
||||
$right: 1em !default;
|
||||
|
||||
.splide {
|
||||
$root: &;
|
||||
|
||||
&__arrow {
|
||||
background: $button-background;
|
||||
border: $button-border;
|
||||
cursor: pointer;
|
||||
padding: $button-padding;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY( -50% );
|
||||
z-index: 1;
|
||||
|
||||
@if $opacity {
|
||||
opacity: $opacity;
|
||||
}
|
||||
|
||||
@if $button-size {
|
||||
align-items: center;
|
||||
border-radius: $button-border-radius;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
height: $button-size;
|
||||
width: $button-size;
|
||||
}
|
||||
|
||||
@if $button-transition {
|
||||
transition: $button-transition;
|
||||
}
|
||||
|
||||
svg {
|
||||
fill: $fill;
|
||||
height: $size;
|
||||
width: $size;
|
||||
|
||||
@if $transition {
|
||||
transition: $transition;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
@if $opacity-hover {
|
||||
opacity: $opacity-hover;
|
||||
}
|
||||
|
||||
@if $button-background-hover {
|
||||
background: $button-background-hover;
|
||||
}
|
||||
|
||||
@if $fill-hover {
|
||||
svg {
|
||||
fill: $fill-hover;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
@if $opacity-disabled {
|
||||
opacity: $opacity-disabled;
|
||||
}
|
||||
}
|
||||
|
||||
&:focus-visible {
|
||||
@include mixins.focus-outline;
|
||||
}
|
||||
|
||||
&--prev {
|
||||
left: $left;
|
||||
|
||||
svg {
|
||||
transform: scaleX( -1 );
|
||||
}
|
||||
}
|
||||
|
||||
&--next {
|
||||
right: $right;
|
||||
}
|
||||
}
|
||||
|
||||
&.is-focus-in {
|
||||
#{ $root }__arrow:focus {
|
||||
@include mixins.focus-outline;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
@forward 'arrow' as arrow-*;
|
||||
@forward 'pagination' as pagination-*;
|
||||
@forward 'progress' as progress-*;
|
||||
@forward 'slide' as slide-*;
|
||||
@forward 'toggle' as toggle-*;
|
||||
@@ -0,0 +1,80 @@
|
||||
@use '../../foundation/colors';
|
||||
@use '../../foundation/mixins';
|
||||
|
||||
$bottom: .5em !default;
|
||||
$dot-width: 8px !default;
|
||||
$dot-height: 8px !default;
|
||||
$dot-background: colors.$background !default;
|
||||
$dot-background-hover: false !default;
|
||||
$dot-background-active: colors.$background-active !default;
|
||||
$dot-border: 0 !default;
|
||||
$dot-border-radius: 50% !default;
|
||||
$dot-margin: 3px !default;
|
||||
$dot-padding: 0 !default;
|
||||
$dot-opacity: .7 !default;
|
||||
$dot-opacity-hover: .9 !default;
|
||||
$dot-transition: transform .2s linear !default;
|
||||
$dot-transform-active: scale( 1.4 ) !default;
|
||||
|
||||
.splide {
|
||||
$root: &;
|
||||
|
||||
&__pagination {
|
||||
bottom: $bottom;
|
||||
left: 0;
|
||||
padding: 0 1em;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
z-index: 1;
|
||||
|
||||
&__page {
|
||||
background: $dot-background;
|
||||
border: $dot-border;
|
||||
border-radius: $dot-border-radius;
|
||||
display: inline-block;
|
||||
height: $dot-height;
|
||||
margin: $dot-margin;
|
||||
padding: $dot-padding;
|
||||
position: relative;
|
||||
transition: $dot-transition;
|
||||
width: $dot-width;
|
||||
|
||||
@if $dot-opacity {
|
||||
opacity: $dot-opacity;
|
||||
}
|
||||
|
||||
&.is-active {
|
||||
background: $dot-background-active;
|
||||
z-index: 1;
|
||||
|
||||
@if $dot-transform-active {
|
||||
transform: $dot-transform-active;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
|
||||
@if $dot-opacity-hover {
|
||||
opacity: $dot-opacity-hover;
|
||||
}
|
||||
|
||||
@if $dot-background-hover {
|
||||
background: $dot-background-hover;
|
||||
}
|
||||
}
|
||||
|
||||
&:focus-visible {
|
||||
@include mixins.focus-outline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.is-focus-in {
|
||||
#{ $root }__pagination {
|
||||
&__page:focus {
|
||||
@include mixins.focus-outline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
@use '../../foundation/colors';
|
||||
|
||||
$height: 3px !default;
|
||||
$background: colors.$background;
|
||||
|
||||
.splide {
|
||||
&__progress {
|
||||
&__bar {
|
||||
background: $background;
|
||||
height: $height;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
@use '../../foundation/colors';
|
||||
@use '../../foundation/mixins';
|
||||
|
||||
$border-radius: false !default;
|
||||
$outline-offset: -2px !default;
|
||||
|
||||
.splide {
|
||||
$root: &;
|
||||
|
||||
&__slide {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
|
||||
@if $border-radius {
|
||||
border-radius: $border-radius;
|
||||
}
|
||||
|
||||
// Gets rid of a focus ring in IE and Safari
|
||||
&:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
&:focus-visible {
|
||||
@include mixins.focus-outline-inset;
|
||||
}
|
||||
}
|
||||
|
||||
&.is-focus-in {
|
||||
#{ $root }__slide:focus {
|
||||
@include mixins.focus-outline-inset;
|
||||
}
|
||||
|
||||
#{ $root }__track {
|
||||
> #{ $root }__list {
|
||||
> #{ $root }__slide:focus {
|
||||
@include mixins.ie-only {
|
||||
border-color: colors.$focus;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
@use '../../foundation/mixins';
|
||||
|
||||
.splide {
|
||||
$root: &;
|
||||
|
||||
&__toggle {
|
||||
cursor: pointer;
|
||||
|
||||
&:focus-visible {
|
||||
@include mixins.focus-outline;
|
||||
}
|
||||
}
|
||||
|
||||
&.is-focus-in {
|
||||
#{ $root }__toggle:focus {
|
||||
@include mixins.focus-outline;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
@forward '../../template/default';
|
||||
@@ -0,0 +1,52 @@
|
||||
$main: #20b2aa !default;
|
||||
$main-light: lighten( $main, 20% ) !default;
|
||||
|
||||
@use '../../template/default/foundation/colors' with (
|
||||
$main: $main,
|
||||
$sub01: $main,
|
||||
$sub02: $main,
|
||||
$background: #ccc,
|
||||
$background-active: $main,
|
||||
$focus: $main,
|
||||
);
|
||||
|
||||
@use '../../template/default/object/modifiers/nav' with (
|
||||
$border-radius: 4px,
|
||||
$opacity: .7,
|
||||
$opacity-active: 1,
|
||||
);
|
||||
|
||||
@use '../../template/default/object/modifiers/ttb' with (
|
||||
$pagination-dot-width: 5px,
|
||||
$pagination-dot-height: 20px,
|
||||
$pagination-right: 1em,
|
||||
);
|
||||
|
||||
@use '../../template/default/object/objects/arrow' with (
|
||||
$size: 2.5em,
|
||||
$opacity: false,
|
||||
$opacity-hover: false,
|
||||
$fill-hover: $main-light,
|
||||
$transition: fill .2s linear,
|
||||
$button-size: 2.5em,
|
||||
$button-border-radius: 0,
|
||||
$button-background: transparent,
|
||||
);
|
||||
|
||||
@use '../../template/default/object/objects/pagination' with (
|
||||
$bottom: 1em,
|
||||
$dot-width: 20px,
|
||||
$dot-height: 5px,
|
||||
$dot-border-radius: 2.5px,
|
||||
$dot-opacity: false,
|
||||
$dot-transition: background-color .2s linear,
|
||||
$dot-background-hover: $main-light,
|
||||
$dot-transform-active: false,
|
||||
);
|
||||
|
||||
@use '../../template/default/object/objects/slide' with (
|
||||
$border-radius: 4px,
|
||||
);
|
||||
|
||||
@forward '../../template/default';
|
||||
@forward 'object/objects';
|
||||
@@ -0,0 +1,17 @@
|
||||
.splide {
|
||||
$root: &;
|
||||
|
||||
&__slider {
|
||||
> #{ $root }__arrows {
|
||||
#{ $root }__arrow {
|
||||
&--prev {
|
||||
left: -2.5em;
|
||||
}
|
||||
|
||||
&--next {
|
||||
right: -2.5em;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
@forward 'arrow';
|
||||
@forward 'root';
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
.splide {
|
||||
padding: 3em;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
$main: #00bfff !default;
|
||||
$main-light: lighten( $main, 20% ) !default;
|
||||
|
||||
@use '../../template/default/foundation/colors' with (
|
||||
$main: $main,
|
||||
$sub01: $main,
|
||||
$sub02: $main,
|
||||
$background: #ccc,
|
||||
$background-active: $main,
|
||||
$focus: $main,
|
||||
);
|
||||
|
||||
@use '../../template/default/object/modifiers/nav' with (
|
||||
$opacity: .7,
|
||||
$opacity-active: 1,
|
||||
);
|
||||
|
||||
@use '../../template/default/object/objects/arrow' with (
|
||||
$size: 2.5em,
|
||||
$opacity: false,
|
||||
$opacity-hover: false,
|
||||
$fill-hover: $main-light,
|
||||
$transition: fill .2s linear,
|
||||
$button-size: 2.5em,
|
||||
$button-border-radius: 0,
|
||||
$button-background: transparent,
|
||||
);
|
||||
|
||||
@use '../../template/default/object/objects/pagination' with (
|
||||
$dot-width: 10px,
|
||||
$dot-height: 10px,
|
||||
$dot-opacity: false,
|
||||
$dot-transition: ( background-color .2s linear, transform .2s linear ),
|
||||
$dot-background-hover: $main-light,
|
||||
);
|
||||
|
||||
@forward '../../template/default';
|
||||
Reference in New Issue
Block a user