@finqu/cool 1.3.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +23 -9
  2. package/dist/css/cool.css +13391 -7742
  3. package/dist/css/cool.css.map +1 -1
  4. package/dist/css/cool.min.css +2 -93
  5. package/dist/css/cool.min.css.map +1 -1
  6. package/dist/js/cool.bundle.js +16051 -17050
  7. package/dist/js/cool.bundle.js.map +1 -1
  8. package/dist/js/cool.bundle.min.js +11 -18
  9. package/dist/js/cool.bundle.min.js.map +1 -1
  10. package/dist/js/cool.esm.js +3469 -4468
  11. package/dist/js/cool.esm.js.map +1 -1
  12. package/dist/js/cool.esm.min.js +2 -8
  13. package/dist/js/cool.esm.min.js.map +1 -1
  14. package/dist/js/cool.js +5083 -6089
  15. package/dist/js/cool.js.map +1 -1
  16. package/dist/js/cool.min.js +2 -8
  17. package/dist/js/cool.min.js.map +1 -1
  18. package/package.json +48 -16
  19. package/scss/LISENCE +15 -0
  20. package/scss/_badge.scss +134 -0
  21. package/scss/_button-group.scss +80 -0
  22. package/scss/_buttons.scss +304 -0
  23. package/scss/_dark.scss +637 -0
  24. package/scss/_dialog.scss +351 -0
  25. package/scss/_dropdown.scss +165 -0
  26. package/scss/_forms.scss +613 -0
  27. package/scss/_frame.scss +948 -0
  28. package/scss/_grid.scss +215 -0
  29. package/scss/_input-group.scss +326 -0
  30. package/scss/_list-group.scss +127 -0
  31. package/scss/_media.scss +439 -0
  32. package/scss/_navbar.scss +122 -0
  33. package/scss/_notification.scss +115 -0
  34. package/scss/_pagination.scss +82 -0
  35. package/scss/_popover.scss +61 -0
  36. package/scss/_reboot.scss +306 -0
  37. package/scss/_root.scss +848 -0
  38. package/scss/_section.scss +735 -0
  39. package/scss/_select.scss +559 -0
  40. package/scss/_tables.scss +611 -0
  41. package/scss/_tabs.scss +50 -0
  42. package/scss/_toast.scss +277 -0
  43. package/scss/_tooltip.scss +130 -0
  44. package/scss/_typography.scss +166 -0
  45. package/scss/_variables.scss +1229 -0
  46. package/scss/cool.scss +69 -0
  47. package/scss/utilities/_align.scss +51 -0
  48. package/scss/utilities/_animation.scss +165 -0
  49. package/scss/utilities/_background.scss +72 -0
  50. package/scss/utilities/_borders.scss +205 -0
  51. package/scss/utilities/_collapse.scss +28 -0
  52. package/scss/utilities/_cursor.scss +160 -0
  53. package/scss/utilities/_display.scss +116 -0
  54. package/scss/utilities/_embed.scss +89 -0
  55. package/scss/utilities/_fill.scss +79 -0
  56. package/scss/utilities/_filters.scss +233 -0
  57. package/scss/utilities/_flex.scss +216 -0
  58. package/scss/utilities/_grid.scss +136 -0
  59. package/scss/utilities/_opacity.scss +131 -0
  60. package/scss/utilities/_overflow.scss +242 -0
  61. package/scss/utilities/_perfect-scrollbar.scss +147 -0
  62. package/scss/utilities/_pointer-events.scss +125 -0
  63. package/scss/utilities/_position.scss +130 -0
  64. package/scss/utilities/_screen-readers.scss +95 -0
  65. package/scss/utilities/_shadows.scss +195 -0
  66. package/scss/utilities/_sizing.scss +288 -0
  67. package/scss/utilities/_spacing.scss +168 -0
  68. package/scss/utilities/_stroke.scss +124 -0
  69. package/scss/utilities/_text.scss +420 -0
  70. package/scss/utilities/_transform.scss +232 -0
  71. package/scss/utilities/_transitions.scss +147 -0
  72. package/scss/utilities/_user-select.scss +93 -0
  73. package/scss/utilities/_visibility.scss +66 -0
  74. package/scss/utilities/_z-index.scss +169 -0
@@ -0,0 +1,147 @@
1
+ @use "../variables" as *;
2
+ /* Perfect Scrollbar ========================================================================== */
3
+
4
+ @mixin cool-perfect-scrollbar {
5
+ .ps {
6
+ overflow: hidden;
7
+ overflow-anchor: none;
8
+ touch-action: auto;
9
+
10
+ &.ps-dark {
11
+ .ps__thumb-x,
12
+ .ps__thumb-y {
13
+ background-color: rgba(0, 0, 0, 0.5);
14
+ }
15
+
16
+ .ps__rail-x:hover > .ps__thumb-x,
17
+ .ps__rail-x:focus > .ps__thumb-x {
18
+ background-color: rgba(0, 0, 0, 0.65);
19
+ height: 12px;
20
+ }
21
+
22
+ .ps__rail-y:hover > .ps__thumb-y,
23
+ .ps__rail-y:focus > .ps__thumb-y {
24
+ background-color: rgba(0, 0, 0, 0.65);
25
+ width: 12px;
26
+ }
27
+
28
+ &.ps-mousedown-scroll {
29
+ > .ps__rail-x > .ps__thumb-x {
30
+ background-color: rgba(0, 0, 0, 0.65);
31
+ height: 12px;
32
+ }
33
+ > .ps__rail-y > .ps__thumb-y {
34
+ background-color: rgba(0, 0, 0, 0.65);
35
+ width: 12px;
36
+ }
37
+ }
38
+ }
39
+
40
+ &.ps-mousedown-scroll {
41
+ > .ps__rail-x .ps__thumb-x {
42
+ background-color: rgba(255, 255, 255, 0.8);
43
+ height: 12px;
44
+ }
45
+ > .ps__rail-y > .ps__thumb-y {
46
+ background-color: rgba(255, 255, 255, 0.8);
47
+ width: 12px;
48
+ }
49
+ }
50
+
51
+ &.ps-show-rail-y > .ps__rail-y {
52
+ opacity: 1;
53
+ }
54
+
55
+ &.ps-show-rail-x > .ps__rail-x {
56
+ opacity: 1;
57
+ }
58
+ }
59
+
60
+ .ps__rail-x {
61
+ display: none;
62
+ opacity: 0;
63
+ transition:
64
+ background-color 0.2s linear,
65
+ opacity 0.2s linear;
66
+ height: 15px;
67
+ bottom: 0px;
68
+ position: absolute;
69
+ z-index: 10;
70
+ }
71
+
72
+ .ps__rail-y {
73
+ display: none;
74
+ opacity: 0;
75
+ transition:
76
+ background-color 0.2s linear,
77
+ opacity 0.2s linear;
78
+ width: 22px;
79
+ right: 0;
80
+ position: absolute;
81
+ z-index: 10;
82
+ }
83
+
84
+ .ps--active-x > .ps__rail-x,
85
+ .ps--active-y > .ps__rail-y {
86
+ display: block;
87
+ background-color: transparent;
88
+ }
89
+
90
+ .ps:hover > .ps__rail-x,
91
+ .ps:hover > .ps__rail-y,
92
+ .ps--focus > .ps__rail-x,
93
+ .ps--focus > .ps__rail-y,
94
+ .ps--scrolling-x > .ps__rail-x,
95
+ .ps--scrolling-y > .ps__rail-y {
96
+ opacity: 1;
97
+ }
98
+
99
+ .ps__rail-x:hover,
100
+ .ps__rail-y:hover,
101
+ .ps__rail-x:focus,
102
+ .ps__rail-y:focus {
103
+ opacity: 1;
104
+ }
105
+
106
+ .ps__thumb-x {
107
+ background-color: rgba(255, 255, 255, 0.5);
108
+ border-radius: 6px;
109
+ transition:
110
+ background-color 0.2s linear,
111
+ height 0.2s ease-in-out;
112
+ height: 6px;
113
+ bottom: 2px;
114
+ position: absolute;
115
+ }
116
+
117
+ .ps__thumb-y {
118
+ background-color: rgba(255, 255, 255, 0.5);
119
+ border-radius: 6px;
120
+ transition:
121
+ background-color 0.2s linear,
122
+ width 0.2s ease-in-out;
123
+ width: 6px;
124
+ right: 2px;
125
+ position: absolute;
126
+ }
127
+
128
+ .ps__rail-x:hover > .ps__thumb-x,
129
+ .ps__rail-x:focus > .ps__thumb-x {
130
+ background-color: rgba(255, 255, 255, 0.8);
131
+ height: 12px;
132
+ }
133
+
134
+ .ps__rail-y:hover > .ps__thumb-y,
135
+ .ps__rail-y:focus > .ps__thumb-y {
136
+ background-color: rgba(255, 255, 255, 0.8);
137
+ width: 12px;
138
+ }
139
+ }
140
+
141
+ @if $cool-use-utilities-layer {
142
+ @layer utilities {
143
+ @include cool-perfect-scrollbar;
144
+ }
145
+ } @else {
146
+ @include cool-perfect-scrollbar;
147
+ }
@@ -0,0 +1,125 @@
1
+ @use "../variables" as *;
2
+ @use "sass:map";
3
+ /* Pointer Events ========================================================================== */
4
+
5
+ @mixin cool-pointer-events {
6
+ .pointer-events-none {
7
+ pointer-events: none;
8
+ }
9
+ .pointer-events-auto {
10
+ pointer-events: auto;
11
+ }
12
+ .pointer-events-all {
13
+ pointer-events: all;
14
+ }
15
+ .pointer-events-visible {
16
+ pointer-events: visible;
17
+ }
18
+ .pointer-events-painted {
19
+ pointer-events: painted;
20
+ }
21
+ .pointer-events-fill {
22
+ pointer-events: fill;
23
+ }
24
+ .pointer-events-stroke {
25
+ pointer-events: stroke;
26
+ }
27
+
28
+ .touch-none {
29
+ touch-action: none;
30
+ }
31
+ .touch-auto {
32
+ touch-action: auto;
33
+ }
34
+ .touch-pan-x {
35
+ touch-action: pan-x;
36
+ }
37
+ .touch-pan-y {
38
+ touch-action: pan-y;
39
+ }
40
+ .touch-pan-left {
41
+ touch-action: pan-left;
42
+ }
43
+ .touch-pan-right {
44
+ touch-action: pan-right;
45
+ }
46
+ .touch-pan-up {
47
+ touch-action: pan-up;
48
+ }
49
+ .touch-pan-down {
50
+ touch-action: pan-down;
51
+ }
52
+ .touch-pinch-zoom {
53
+ touch-action: pinch-zoom;
54
+ }
55
+ .touch-manipulation {
56
+ touch-action: manipulation;
57
+ }
58
+
59
+ @each $breakpoint in map.keys($grid-breakpoints) {
60
+ @include media-breakpoint-up($breakpoint) {
61
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
62
+
63
+ .pointer-events#{$infix}-none {
64
+ pointer-events: none;
65
+ }
66
+ .pointer-events#{$infix}-auto {
67
+ pointer-events: auto;
68
+ }
69
+ .pointer-events#{$infix}-all {
70
+ pointer-events: all;
71
+ }
72
+ .pointer-events#{$infix}-visible {
73
+ pointer-events: visible;
74
+ }
75
+ .pointer-events#{$infix}-painted {
76
+ pointer-events: painted;
77
+ }
78
+ .pointer-events#{$infix}-fill {
79
+ pointer-events: fill;
80
+ }
81
+ .pointer-events#{$infix}-stroke {
82
+ pointer-events: stroke;
83
+ }
84
+
85
+ .touch#{$infix}-none {
86
+ touch-action: none;
87
+ }
88
+ .touch#{$infix}-auto {
89
+ touch-action: auto;
90
+ }
91
+ .touch#{$infix}-pan-x {
92
+ touch-action: pan-x;
93
+ }
94
+ .touch#{$infix}-pan-y {
95
+ touch-action: pan-y;
96
+ }
97
+ .touch#{$infix}-pan-left {
98
+ touch-action: pan-left;
99
+ }
100
+ .touch#{$infix}-pan-right {
101
+ touch-action: pan-right;
102
+ }
103
+ .touch#{$infix}-pan-up {
104
+ touch-action: pan-up;
105
+ }
106
+ .touch#{$infix}-pan-down {
107
+ touch-action: pan-down;
108
+ }
109
+ .touch#{$infix}-pinch-zoom {
110
+ touch-action: pinch-zoom;
111
+ }
112
+ .touch#{$infix}-manipulation {
113
+ touch-action: manipulation;
114
+ }
115
+ }
116
+ }
117
+ }
118
+
119
+ @if $cool-use-utilities-layer {
120
+ @layer utilities {
121
+ @include cool-pointer-events;
122
+ }
123
+ } @else {
124
+ @include cool-pointer-events;
125
+ }
@@ -0,0 +1,130 @@
1
+ @use "../variables" as *;
2
+ @use "sass:map";
3
+ /* Position ========================================================================== */
4
+
5
+ @mixin cool-position {
6
+ .static {
7
+ position: static;
8
+ }
9
+ .relative {
10
+ position: relative;
11
+ }
12
+ .absolute {
13
+ position: absolute;
14
+ }
15
+ .fixed {
16
+ position: fixed;
17
+ }
18
+ .sticky {
19
+ position: sticky;
20
+ }
21
+
22
+ @each $breakpoint in map.keys($grid-breakpoints) {
23
+ @include media-breakpoint-up($breakpoint) {
24
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
25
+
26
+ .top#{$infix}-0 {
27
+ top: 0;
28
+ }
29
+ .top#{$infix}-50 {
30
+ top: 50%;
31
+ }
32
+ .top#{$infix}-100 {
33
+ top: 100%;
34
+ }
35
+ .bottom#{$infix}-0 {
36
+ bottom: 0;
37
+ }
38
+ .bottom#{$infix}-50 {
39
+ bottom: 50%;
40
+ }
41
+ .bottom#{$infix}-100 {
42
+ bottom: 100%;
43
+ }
44
+ .left#{$infix}-0 {
45
+ left: 0;
46
+ }
47
+ .left#{$infix}-50 {
48
+ left: 50%;
49
+ }
50
+ .left#{$infix}-100 {
51
+ left: 100%;
52
+ }
53
+ .right#{$infix}-0 {
54
+ right: 0;
55
+ }
56
+ .right#{$infix}-50 {
57
+ right: 50%;
58
+ }
59
+ .right#{$infix}-100 {
60
+ right: 100%;
61
+ }
62
+
63
+ .inset#{$infix}-0 {
64
+ inset: 0;
65
+ }
66
+ .inset#{$infix}-auto {
67
+ inset: auto;
68
+ }
69
+ .inset-x#{$infix}-0 {
70
+ left: 0;
71
+ right: 0;
72
+ }
73
+ .inset-y#{$infix}-0 {
74
+ top: 0;
75
+ bottom: 0;
76
+ }
77
+
78
+ .start#{$infix}-0 {
79
+ inset-inline-start: 0;
80
+ }
81
+ .start#{$infix}-50 {
82
+ inset-inline-start: 50%;
83
+ }
84
+ .start#{$infix}-100 {
85
+ inset-inline-start: 100%;
86
+ }
87
+ .end#{$infix}-0 {
88
+ inset-inline-end: 0;
89
+ }
90
+ .end#{$infix}-50 {
91
+ inset-inline-end: 50%;
92
+ }
93
+ .end#{$infix}-100 {
94
+ inset-inline-end: 100%;
95
+ }
96
+
97
+ .translate-middle {
98
+ transform: translate(-50%, -50%);
99
+ }
100
+ .translate-middle-x {
101
+ transform: translateX(-50%);
102
+ }
103
+ .translate-middle-y {
104
+ transform: translateY(-50%);
105
+ }
106
+ }
107
+ }
108
+
109
+ .center-absolute {
110
+ position: absolute;
111
+ top: 50%;
112
+ left: 50%;
113
+ transform: translate(-50%, -50%);
114
+ }
115
+
116
+ .center-fixed {
117
+ position: fixed;
118
+ top: 50%;
119
+ left: 50%;
120
+ transform: translate(-50%, -50%);
121
+ }
122
+ }
123
+
124
+ @if $cool-use-utilities-layer {
125
+ @layer utilities {
126
+ @include cool-position;
127
+ }
128
+ } @else {
129
+ @include cool-position;
130
+ }
@@ -0,0 +1,95 @@
1
+ @use "../variables" as *;
2
+ /* Screen Readers ========================================================================== */
3
+
4
+ @mixin cool-screen-readers {
5
+ .sr-only,
6
+ .visually-hidden {
7
+ position: absolute;
8
+ width: 1px;
9
+ height: 1px;
10
+ padding: 0;
11
+ margin: -1px;
12
+ overflow: hidden;
13
+ clip: rect(0, 0, 0, 0);
14
+ white-space: nowrap;
15
+ border: 0;
16
+ clip-path: inset(50%);
17
+
18
+ &:not(:focus):not(:active) {
19
+ clip: rect(0, 0, 0, 0);
20
+ clip-path: inset(50%);
21
+ }
22
+ }
23
+
24
+ .sr-only-focusable,
25
+ .visually-hidden-focusable {
26
+ &:not(:focus):not(:focus-within) {
27
+ position: absolute;
28
+ width: 1px;
29
+ height: 1px;
30
+ padding: 0;
31
+ margin: -1px;
32
+ overflow: hidden;
33
+ clip: rect(0, 0, 0, 0);
34
+ white-space: nowrap;
35
+ border: 0;
36
+ clip-path: inset(50%);
37
+ }
38
+
39
+ &:focus,
40
+ &:focus-within {
41
+ position: static;
42
+ width: auto;
43
+ height: auto;
44
+ padding: inherit;
45
+ margin: inherit;
46
+ overflow: visible;
47
+ clip: auto;
48
+ white-space: normal;
49
+ clip-path: none;
50
+ }
51
+ }
52
+
53
+ .skip-link {
54
+ position: absolute;
55
+ top: -40px;
56
+ left: 0;
57
+ background: var(--cool-body-bg);
58
+ color: var(--cool-link-color);
59
+ padding: 8px;
60
+ text-decoration: none;
61
+ z-index: 100;
62
+
63
+ &:focus {
64
+ top: 0;
65
+ }
66
+ }
67
+
68
+ .aria-label {
69
+ &[aria-label]:not([aria-label=""]) {
70
+ &::before {
71
+ content: attr(aria-label);
72
+ @extend .sr-only;
73
+ }
74
+ }
75
+ }
76
+
77
+ .aria-live-polite {
78
+ &:not([aria-live]) {
79
+ position: relative;
80
+
81
+ &::after {
82
+ @extend .sr-only;
83
+ content: attr(data-announce);
84
+ }
85
+ }
86
+ }
87
+ }
88
+
89
+ @if $cool-use-utilities-layer {
90
+ @layer utilities {
91
+ @include cool-screen-readers;
92
+ }
93
+ } @else {
94
+ @include cool-screen-readers;
95
+ }
@@ -0,0 +1,195 @@
1
+ @use "../variables" as *;
2
+ @use "sass:map";
3
+ /* Shadows ========================================================================== */
4
+
5
+ @mixin cool-shadows {
6
+ .shadow-none {
7
+ box-shadow: none;
8
+ }
9
+ .shadow-sm {
10
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
11
+ }
12
+ .shadow {
13
+ box-shadow:
14
+ 0 1px 3px 0 rgba(0, 0, 0, 0.1),
15
+ 0 1px 2px 0 rgba(0, 0, 0, 0.06);
16
+ }
17
+ .shadow-md {
18
+ box-shadow:
19
+ 0 4px 6px -1px rgba(0, 0, 0, 0.1),
20
+ 0 2px 4px -1px rgba(0, 0, 0, 0.06);
21
+ }
22
+ .shadow-lg {
23
+ box-shadow:
24
+ 0 10px 15px -3px rgba(0, 0, 0, 0.1),
25
+ 0 4px 6px -2px rgba(0, 0, 0, 0.05);
26
+ }
27
+ .shadow-xl {
28
+ box-shadow:
29
+ 0 20px 25px -5px rgba(0, 0, 0, 0.1),
30
+ 0 10px 10px -5px rgba(0, 0, 0, 0.04);
31
+ }
32
+ .shadow-2xl {
33
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
34
+ }
35
+ .shadow-inner {
36
+ box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
37
+ }
38
+
39
+ @each $color, $value in $theme-colors {
40
+ .shadow-#{$color} {
41
+ box-shadow: 0 4px 14px 0 rgba($value, 0.25);
42
+ }
43
+
44
+ .shadow-#{$color}-lg {
45
+ box-shadow: 0 10px 30px -5px rgba($value, 0.35);
46
+ }
47
+ }
48
+
49
+ .elevation-0 {
50
+ box-shadow: none;
51
+ }
52
+ .elevation-1 {
53
+ box-shadow:
54
+ 0 2px 1px -1px rgba(0, 0, 0, 0.2),
55
+ 0 1px 1px 0 rgba(0, 0, 0, 0.14),
56
+ 0 1px 3px 0 rgba(0, 0, 0, 0.12);
57
+ }
58
+ .elevation-2 {
59
+ box-shadow:
60
+ 0 3px 1px -2px rgba(0, 0, 0, 0.2),
61
+ 0 2px 2px 0 rgba(0, 0, 0, 0.14),
62
+ 0 1px 5px 0 rgba(0, 0, 0, 0.12);
63
+ }
64
+ .elevation-3 {
65
+ box-shadow:
66
+ 0 3px 3px -2px rgba(0, 0, 0, 0.2),
67
+ 0 3px 4px 0 rgba(0, 0, 0, 0.14),
68
+ 0 1px 8px 0 rgba(0, 0, 0, 0.12);
69
+ }
70
+ .elevation-4 {
71
+ box-shadow:
72
+ 0 2px 4px -1px rgba(0, 0, 0, 0.2),
73
+ 0 4px 5px 0 rgba(0, 0, 0, 0.14),
74
+ 0 1px 10px 0 rgba(0, 0, 0, 0.12);
75
+ }
76
+ .elevation-6 {
77
+ box-shadow:
78
+ 0 3px 5px -1px rgba(0, 0, 0, 0.2),
79
+ 0 6px 10px 0 rgba(0, 0, 0, 0.14),
80
+ 0 1px 18px 0 rgba(0, 0, 0, 0.12);
81
+ }
82
+ .elevation-8 {
83
+ box-shadow:
84
+ 0 5px 5px -3px rgba(0, 0, 0, 0.2),
85
+ 0 8px 10px 1px rgba(0, 0, 0, 0.14),
86
+ 0 3px 14px 2px rgba(0, 0, 0, 0.12);
87
+ }
88
+ .elevation-12 {
89
+ box-shadow:
90
+ 0 7px 8px -4px rgba(0, 0, 0, 0.2),
91
+ 0 12px 17px 2px rgba(0, 0, 0, 0.14),
92
+ 0 5px 22px 4px rgba(0, 0, 0, 0.12);
93
+ }
94
+ .elevation-16 {
95
+ box-shadow:
96
+ 0 8px 10px -5px rgba(0, 0, 0, 0.2),
97
+ 0 16px 24px 2px rgba(0, 0, 0, 0.14),
98
+ 0 6px 30px 5px rgba(0, 0, 0, 0.12);
99
+ }
100
+ .elevation-24 {
101
+ box-shadow:
102
+ 0 11px 15px -7px rgba(0, 0, 0, 0.2),
103
+ 0 24px 38px 3px rgba(0, 0, 0, 0.14),
104
+ 0 9px 46px 8px rgba(0, 0, 0, 0.12);
105
+ }
106
+
107
+ .text-shadow-sm {
108
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
109
+ }
110
+ .text-shadow {
111
+ text-shadow:
112
+ 0 1px 3px rgba(0, 0, 0, 0.1),
113
+ 0 1px 2px rgba(0, 0, 0, 0.06);
114
+ }
115
+ .text-shadow-md {
116
+ text-shadow:
117
+ 0 4px 6px rgba(0, 0, 0, 0.1),
118
+ 0 2px 4px rgba(0, 0, 0, 0.06);
119
+ }
120
+ .text-shadow-lg {
121
+ text-shadow:
122
+ 0 10px 15px rgba(0, 0, 0, 0.1),
123
+ 0 4px 6px rgba(0, 0, 0, 0.05);
124
+ }
125
+ .text-shadow-none {
126
+ text-shadow: none;
127
+ }
128
+
129
+ @each $breakpoint in map.keys($grid-breakpoints) {
130
+ @include media-breakpoint-up($breakpoint) {
131
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
132
+
133
+ .shadow#{$infix}-none {
134
+ box-shadow: none;
135
+ }
136
+ .shadow#{$infix}-sm {
137
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
138
+ }
139
+ .shadow#{$infix} {
140
+ box-shadow:
141
+ 0 1px 3px 0 rgba(0, 0, 0, 0.1),
142
+ 0 1px 2px 0 rgba(0, 0, 0, 0.06);
143
+ }
144
+ .shadow#{$infix}-md {
145
+ box-shadow:
146
+ 0 4px 6px -1px rgba(0, 0, 0, 0.1),
147
+ 0 2px 4px -1px rgba(0, 0, 0, 0.06);
148
+ }
149
+ .shadow#{$infix}-lg {
150
+ box-shadow:
151
+ 0 10px 15px -3px rgba(0, 0, 0, 0.1),
152
+ 0 4px 6px -2px rgba(0, 0, 0, 0.05);
153
+ }
154
+ .shadow#{$infix}-xl {
155
+ box-shadow:
156
+ 0 20px 25px -5px rgba(0, 0, 0, 0.1),
157
+ 0 10px 10px -5px rgba(0, 0, 0, 0.04);
158
+ }
159
+ }
160
+ }
161
+
162
+ @media (prefers-color-scheme: dark) {
163
+ .shadow-dark-sm {
164
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);
165
+ }
166
+ .shadow-dark {
167
+ box-shadow:
168
+ 0 1px 3px 0 rgba(0, 0, 0, 0.3),
169
+ 0 1px 2px 0 rgba(0, 0, 0, 0.26);
170
+ }
171
+ .shadow-dark-md {
172
+ box-shadow:
173
+ 0 4px 6px -1px rgba(0, 0, 0, 0.3),
174
+ 0 2px 4px -1px rgba(0, 0, 0, 0.26);
175
+ }
176
+ .shadow-dark-lg {
177
+ box-shadow:
178
+ 0 10px 15px -3px rgba(0, 0, 0, 0.3),
179
+ 0 4px 6px -2px rgba(0, 0, 0, 0.25);
180
+ }
181
+ .shadow-dark-xl {
182
+ box-shadow:
183
+ 0 20px 25px -5px rgba(0, 0, 0, 0.3),
184
+ 0 10px 10px -5px rgba(0, 0, 0, 0.24);
185
+ }
186
+ }
187
+ }
188
+
189
+ @if $cool-use-utilities-layer {
190
+ @layer utilities {
191
+ @include cool-shadows;
192
+ }
193
+ } @else {
194
+ @include cool-shadows;
195
+ }