@volverjs/style 0.1.2-beta.9 → 0.1.3

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 (190) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +53 -46
  3. package/dist/components/vv-accordion-group.css +1 -0
  4. package/dist/components/vv-accordion.css +1 -1
  5. package/dist/components/vv-alert.css +1 -0
  6. package/dist/components/vv-avatar.css +1 -0
  7. package/dist/components/vv-badge.css +1 -1
  8. package/dist/components/vv-breadcrumb.css +1 -1
  9. package/dist/components/vv-button-group.css +1 -1
  10. package/dist/components/vv-button.css +1 -1
  11. package/dist/components/vv-card.css +1 -1
  12. package/dist/components/vv-checkbox-group.css +1 -0
  13. package/dist/components/vv-checkbox.css +1 -0
  14. package/dist/components/vv-dialog.css +1 -1
  15. package/dist/components/vv-dropdown.css +1 -1
  16. package/dist/components/vv-input-text.css +1 -1
  17. package/dist/components/vv-nav.css +1 -1
  18. package/dist/components/vv-progress.css +1 -1
  19. package/dist/components/vv-radio-group.css +1 -0
  20. package/dist/components/vv-radio.css +1 -0
  21. package/dist/components/vv-select.css +1 -1
  22. package/dist/components/vv-skeleton.css +1 -0
  23. package/dist/components/vv-tab.css +1 -0
  24. package/dist/components/vv-table.css +1 -1
  25. package/dist/components/vv-text.css +1 -1
  26. package/dist/components/vv-textarea.css +1 -1
  27. package/dist/components/vv-toast.css +1 -0
  28. package/dist/components/vv-tooltip.css +1 -0
  29. package/dist/components.css +1 -1
  30. package/dist/export.css +1 -1
  31. package/dist/props/background.css +1 -1
  32. package/dist/props/breakpoints.css +1 -0
  33. package/dist/props/colors.css +1 -1
  34. package/dist/props/effects.css +1 -1
  35. package/dist/props/filters.css +1 -1
  36. package/dist/props/input.css +1 -1
  37. package/dist/props/layout.css +1 -1
  38. package/dist/props/spacing.css +1 -1
  39. package/dist/props/transitions.css +1 -0
  40. package/dist/props.css +1 -1
  41. package/dist/themes/dark/components.css +1 -1
  42. package/dist/themes/dark/props.css +1 -1
  43. package/dist/themes/dark/volver.css +1 -1
  44. package/dist/utilities/backgrounds.css +1 -1
  45. package/dist/utilities/borders.css +1 -1
  46. package/dist/utilities/colors.css +1 -1
  47. package/dist/utilities/effects.css +1 -1
  48. package/dist/utilities/filters.css +1 -1
  49. package/dist/utilities/flexbox.css +1 -1
  50. package/dist/utilities/interactivity.css +1 -0
  51. package/dist/utilities/layout.css +1 -1
  52. package/dist/utilities/sizing.css +1 -1
  53. package/dist/utilities/spacing.css +1 -1
  54. package/dist/utilities/tables.css +1 -0
  55. package/dist/utilities/transforms.css +1 -0
  56. package/dist/utilities/transitions.css +1 -0
  57. package/dist/utilities/typography.css +1 -1
  58. package/dist/utilities.css +1 -1
  59. package/dist/volver.css +1 -1
  60. package/package.json +62 -36
  61. package/src/_config.scss +18 -11
  62. package/src/_context.scss +3 -3
  63. package/src/_preflight.scss +308 -247
  64. package/src/components/index.scss +26 -19
  65. package/src/components/vv-accordion-group.scss +13 -0
  66. package/src/components/vv-accordion.scss +3 -2
  67. package/src/components/vv-alert.scss +13 -0
  68. package/src/components/vv-avatar.scss +13 -0
  69. package/src/components/vv-badge.scss +3 -2
  70. package/src/components/vv-breadcrumb.scss +3 -2
  71. package/src/components/vv-button-group.scss +11 -10
  72. package/src/components/vv-button.scss +5 -8
  73. package/src/components/vv-card.scss +3 -2
  74. package/src/components/vv-checkbox-group.scss +13 -0
  75. package/src/components/{vv-input-checkbox.scss → vv-checkbox.scss} +7 -6
  76. package/src/components/vv-dialog.scss +3 -2
  77. package/src/components/vv-dropdown.scss +3 -2
  78. package/src/components/vv-input-text.scss +6 -5
  79. package/src/components/vv-nav.scss +3 -2
  80. package/src/components/vv-progress.scss +3 -2
  81. package/src/components/vv-radio-group.scss +13 -0
  82. package/src/components/{vv-input-radio.scss → vv-radio.scss} +6 -5
  83. package/src/components/vv-select.scss +6 -5
  84. package/src/components/vv-skeleton.scss +14 -0
  85. package/src/components/vv-tab.scss +13 -0
  86. package/src/components/vv-table.scss +3 -2
  87. package/src/components/vv-text.scss +3 -2
  88. package/src/components/vv-textarea.scss +6 -5
  89. package/src/components/vv-toast.scss +13 -0
  90. package/src/components/vv-tooltip.scss +33 -0
  91. package/src/export.scss +138 -27
  92. package/src/props/background.scss +1 -1
  93. package/src/props/borders.scss +1 -1
  94. package/src/props/breakpoints.scss +15 -0
  95. package/src/props/colors.scss +1 -1
  96. package/src/props/effects.scss +2 -1
  97. package/src/props/filters.scss +2 -1
  98. package/src/props/index.scss +13 -12
  99. package/src/props/input.scss +1 -1
  100. package/src/props/layout.scss +1 -1
  101. package/src/props/media.scss +1 -1
  102. package/src/props/sizing.scss +1 -1
  103. package/src/props/spacing.scss +2 -2
  104. package/src/props/{animation.scss → transitions.scss} +53 -2
  105. package/src/props/typography.scss +2 -2
  106. package/src/settings/_background.scss +6 -1
  107. package/src/settings/_breakpoints.scss +2 -0
  108. package/src/settings/_colors.scss +23 -4
  109. package/src/settings/_effects.scss +47 -2
  110. package/src/settings/_filters.scss +9 -0
  111. package/src/settings/_index.scss +43 -33
  112. package/src/settings/_input.scss +8 -6
  113. package/src/settings/_interactivity.scss +39 -0
  114. package/src/settings/_layout.scss +30 -10
  115. package/src/settings/_spacing.scss +1 -0
  116. package/src/settings/_tables.scss +11 -0
  117. package/src/settings/_transforms.scss +50 -0
  118. package/src/settings/_transitions.scss +44 -0
  119. package/src/settings/components/_vv-accordion-group.scss +5 -0
  120. package/src/settings/components/_vv-accordion.scss +49 -34
  121. package/src/settings/components/_vv-alert.scss +161 -0
  122. package/src/settings/components/_vv-avatar.scss +55 -0
  123. package/src/settings/components/_vv-badge.scss +43 -11
  124. package/src/settings/components/_vv-breadcrumb.scss +23 -15
  125. package/src/settings/components/_vv-button-group.scss +4 -0
  126. package/src/settings/components/_vv-button.scss +31 -26
  127. package/src/settings/components/_vv-card.scss +2 -2
  128. package/src/settings/components/{_vv-input-checkbox-group.scss → _vv-checkbox-group.scss} +2 -1
  129. package/src/settings/components/{_vv-input-checkbox.scss → _vv-checkbox.scss} +47 -12
  130. package/src/settings/components/_vv-dialog.scss +72 -90
  131. package/src/settings/components/_vv-input-text.scss +89 -43
  132. package/src/settings/components/_vv-nav.scss +98 -13
  133. package/src/settings/components/_vv-progress.scss +1 -1
  134. package/src/settings/components/_vv-radio-group.scss +3 -0
  135. package/src/settings/components/{_vv-input-radio.scss → _vv-radio.scss} +35 -6
  136. package/src/settings/components/_vv-select.scss +39 -48
  137. package/src/settings/components/_vv-skeleton.scss +22 -0
  138. package/src/settings/components/_vv-tab.scss +16 -0
  139. package/src/settings/components/_vv-table.scss +8 -1
  140. package/src/settings/components/_vv-text.scss +20 -0
  141. package/src/settings/components/_vv-textarea.scss +53 -28
  142. package/src/settings/components/_vv-toast.scss +259 -0
  143. package/src/settings/components/_vv-tooltip.scss +74 -0
  144. package/src/themes/dark/_context.scss +7 -4
  145. package/src/themes/dark/components/_vv-button.scss +2 -4
  146. package/src/themes/dark/components/index.scss +1 -2
  147. package/src/themes/dark/props/_background.scss +1 -1
  148. package/src/themes/dark/props/_colors.scss +1 -1
  149. package/src/themes/dark/props/_input.scss +15 -0
  150. package/src/themes/dark/props/index.scss +3 -2
  151. package/src/themes/dark/settings/_background.scss +5 -0
  152. package/src/themes/dark/settings/_colors.scss +22 -2
  153. package/src/themes/dark/settings/_index.scss +4 -4
  154. package/src/themes/dark/settings/_input.scss +8 -0
  155. package/src/themes/dark/settings/components/_vv-button.scss +9 -9
  156. package/src/themes/dark/volver.scss +2 -2
  157. package/src/tools/_breakpoints.scss +7 -7
  158. package/src/tools/_functions.scss +95 -37
  159. package/src/tools/_index.scss +3 -3
  160. package/src/tools/_mixins.scss +166 -35
  161. package/src/utilities/backgrounds.scss +15 -8
  162. package/src/utilities/borders.scss +22 -9
  163. package/src/utilities/colors.scss +9 -5
  164. package/src/utilities/effects.scss +23 -5
  165. package/src/utilities/filters.scss +15 -4
  166. package/src/utilities/flexbox.scss +15 -8
  167. package/src/utilities/grid.scss +17 -9
  168. package/src/utilities/index.scss +15 -12
  169. package/src/utilities/interactivity.scss +10 -0
  170. package/src/utilities/layout.scss +45 -28
  171. package/src/utilities/sizing.scss +23 -26
  172. package/src/utilities/spacing.scss +1 -1
  173. package/src/utilities/tables.scss +15 -0
  174. package/src/utilities/transforms.scss +111 -0
  175. package/src/utilities/transitions.scss +47 -0
  176. package/src/utilities/typography.scss +34 -17
  177. package/src/volver.scss +4 -4
  178. package/dist/components/vv-input-checkbox-group.css +0 -1
  179. package/dist/components/vv-input-checkbox.css +0 -1
  180. package/dist/components/vv-input-radio-group.css +0 -1
  181. package/dist/components/vv-input-radio.css +0 -1
  182. package/dist/props/animation.css +0 -1
  183. package/dist/utilities/animation.css +0 -1
  184. package/src/components/vv-input-checkbox-group.scss +0 -12
  185. package/src/components/vv-input-radio-group.scss +0 -12
  186. package/src/settings/_animation.scss +0 -9
  187. package/src/settings/components/_vv-input-radio-group.scss +0 -1
  188. package/src/themes/dark/components/_vv-input-checkbox.scss +0 -24
  189. package/src/themes/dark/settings/components/_vv-input-checkbox.scss +0 -26
  190. package/src/utilities/animation.scss +0 -8
package/src/export.scss CHANGED
@@ -3,7 +3,7 @@
3
3
  @use 'sass:string';
4
4
 
5
5
  // context
6
- @import 'context';
6
+ @use 'context' as *;
7
7
 
8
8
  :export {
9
9
  // ============================================================== */
@@ -13,21 +13,20 @@
13
13
  @if type-of($value) == 'map' {
14
14
  @each $subKey, $subValue in $value {
15
15
  @if type-of($value) not 'map' {
16
- @if not str-index($subKey, #{$key}) {
17
- #{'colors__' + $key}: $subValue;
18
- }
19
-
20
16
  @if not
21
17
  str-index($subKey, 'hue') and not
22
18
  str-index($subKey, 'saturation') and not
23
- str-index($subKey, 'lightness') and not
24
- str-index($subKey, #{$key})
19
+ str-index($subKey, 'lightness')
25
20
  {
26
- #{'colors__' + $key}-#{$subKey}: $subValue;
21
+ @if '' + $key == $subKey {
22
+ #{'colors__' + $key}: $subValue;
23
+ } @else {
24
+ #{'colors__' + $key + '-' + $subKey}: $subValue;
25
+ }
27
26
  }
28
27
  }
29
28
  }
30
- } @else {
29
+ } @else if $key != 'scheme' {
31
30
  #{'colors__' + $key}: $value;
32
31
  }
33
32
  }
@@ -45,7 +44,7 @@
45
44
  }
46
45
 
47
46
  // breakpoints
48
- @each $key, $value in $breakpoints {
47
+ @each $key, $value in map.remove($breakpoints, 'xxs') {
49
48
  #{'breakpoints__' + $key}: $value;
50
49
  }
51
50
 
@@ -89,11 +88,24 @@
89
88
  #{'object-position__' + $key}: $value;
90
89
  }
91
90
 
91
+ // overflow
92
+ @each $key, $value in $overflow {
93
+ #{'overflow__' + $key}: $value;
94
+ }
95
+
92
96
  // position
93
97
  @each $index in $position {
94
98
  #{'position__' + $index}: $index;
95
99
  }
96
100
 
101
+ // placement
102
+ @each $key, $value in $placement {
103
+ $name: meta.inspect($key);
104
+ $name: str-replace($name, '\\/', '_');
105
+
106
+ #{'placement__' + $name}: $value;
107
+ }
108
+
97
109
  // visibility
98
110
  @each $key, $value in $visibility {
99
111
  #{'visibility__' + $key}: $value;
@@ -191,55 +203,57 @@
191
203
  // ============================================================== */
192
204
  // #region SPACING
193
205
  // spacing & spacing-dynamic
194
- @each $size, $value in map.merge($spacing, $spacing-dynamic) {
206
+ @each $size, $value in $spacing {
207
+ spacing__#{$size}: $value;
208
+ }
209
+ @each $size, $value in $spacing-dynamic {
195
210
  @if type-of($value) == 'map' {
196
211
  @each $subKey, $subValue in $value {
197
212
  @if type-of($value) not 'map' {
198
- #{'spacers__' + $size}-#{$subKey}: $subValue;
213
+ spacing-dynamic__#{$size}__#{$subKey}: $subValue;
199
214
  }
200
215
  }
201
- } @else {
202
- #{'spacers__' + $size}: $value;
203
216
  }
204
217
  }
205
218
 
206
219
  // font-size & font-size-dynamic
207
- @each $size, $value in map.merge($font-size, $font-size-dynamic) {
220
+ @each $size, $value in $font-size {
221
+ font-size__#{$size}: $value;
222
+ }
223
+ @each $size, $value in $font-size-dynamic {
208
224
  @if type-of($value) == 'map' {
209
225
  @each $subKey, $subValue in $value {
210
226
  @if type-of($value) not 'map' {
211
- #{'font-size__' + $size}-#{$subKey}: $subValue;
227
+ font-size-dynamic__#{$size}__#{$subKey}: $subValue;
212
228
  }
213
229
  }
214
- } @else {
215
- #{'font-size__' + $size}: $value;
216
230
  }
217
231
  }
218
232
 
219
233
  // width spacer
220
234
  @each $key, $value in $width {
221
235
  $name: meta.inspect($key);
222
- $name: str-replace($name, '\\/', '/');
236
+ $name: str-replace($name, '\\/', '_');
223
237
 
224
- #{'width-spacer__' + $name}: $value;
238
+ #{'width__' + $name}: $value;
225
239
  }
226
240
 
227
241
  // height spacer
228
242
  @each $key, $value in $height {
229
243
  $name: meta.inspect($key);
230
- $name: str-replace($name, '\\/', '/');
244
+ $name: str-replace($name, '\\/', '_');
231
245
 
232
- #{'height-spacer__' + $name}: $value;
246
+ #{'height__' + $name}: $value;
233
247
  }
234
248
 
235
249
  // border radius
236
250
  @each $key, $value in $border-radius {
237
- #{'border-radius-spacer__' + $key}: $value;
251
+ #{'border-radius__' + $key}: $value;
238
252
  }
239
253
 
240
254
  // border width
241
255
  @each $key, $value in $border-width {
242
- #{'border-width-spacer__' + $key}: $value;
256
+ #{'border-width__' + $key}: $value;
243
257
  }
244
258
 
245
259
  // #endregion
@@ -402,9 +416,106 @@
402
416
 
403
417
  // ============================================================== */
404
418
  // #region EFFECTS
405
- // blend-mode
406
- @each $index in $blend-mode {
407
- #{'blend-mode__' + $index}: $index;
419
+ // box-shadow
420
+ @each $key, $value in $box-shadow {
421
+ #{'box-shadow__' + $key}: $value;
422
+ }
423
+
424
+ // opacity
425
+ @each $key, $value in $opacity {
426
+ #{'opacity__' + $key}: $value;
427
+ }
428
+
429
+ // mix-blend-mode
430
+ @each $index in $mix-blend-mode {
431
+ #{'mix-blend-mode__' + $index}: $index;
432
+ }
433
+
434
+ // background-blend-mode
435
+ @each $index in $background-blend-mode {
436
+ #{'background-blend-mode__' + $index}: $index;
437
+ }
438
+
439
+ // #endregion
440
+
441
+ // ============================================================== */
442
+ // #region FILTERS
443
+ // blur
444
+ @each $key, $value in $blur {
445
+ #{'blur__' + $key}: $value;
446
+ }
447
+
448
+ // brightness
449
+ @each $key, $value in $brightness {
450
+ #{'brightness__' + $key}: $value;
451
+ }
452
+
453
+ // saturation
454
+ @each $key, $value in $saturation {
455
+ #{'saturation__' + $key}: $value;
456
+ }
457
+
458
+ // #endregion
459
+
460
+ // ============================================================== */
461
+ // #region TABLES
462
+ // border-collapse
463
+ @each $key, $value in $border-collapse {
464
+ #{'border-collapse__' + $key}: $value;
465
+ }
466
+
467
+ // table-layout
468
+ @each $key, $value in $table-layout {
469
+ #{'table-layout__' + $key}: $value;
470
+ }
471
+
472
+ // #endregion
473
+
474
+ // ============================================================== */
475
+ // #region TRANSITIONS & ANIMATIONS
476
+ // transition property
477
+ @each $key, $value in $transition-property {
478
+ #{'transition-property__' + $key}: $value;
479
+ }
480
+
481
+ // transition duration
482
+ @each $key, $value in $transition-duration-delay {
483
+ #{'transition-duration-delay__' + $key}: $value;
484
+ }
485
+
486
+ @each $key, $value in $transition-timing-function {
487
+ #{'transition-timing-function__' + $key}: $value;
488
+ }
489
+
490
+ @each $key, $value in $animation {
491
+ #{'animation__' + $key}: $value;
492
+ }
493
+
494
+ // #endregion
495
+
496
+ // ============================================================== */
497
+ // #region TRANSFORMS
498
+ // scale
499
+ @each $key, $value in $scale {
500
+ #{'scale__' + $key}: $value;
501
+ }
502
+
503
+ // rotate
504
+ @each $key, $value in $rotate {
505
+ #{'rotate__' + $key}: $value;
506
+ }
507
+
508
+ // translate
509
+ @each $key, $value in $translate {
510
+ $name: meta.inspect($key);
511
+ $name: str-replace($name, '\\/', '/');
512
+
513
+ #{'translate__' + $name}: $value;
514
+ }
515
+
516
+ // transform-origin
517
+ @each $key, $value in $transform-origin {
518
+ #{'transform-origin__' + $key}: $value;
408
519
  }
409
520
 
410
521
  // #endregion
@@ -1,4 +1,4 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  :where(:host, :root, .theme) {
4
4
  @include spread-map-into-props($background-image, $prefix: bg);
@@ -1,4 +1,4 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  :where(:host, :root, .theme) {
4
4
  @include spread-map-into-props($border-radius, $prefix: rounded);
@@ -0,0 +1,15 @@
1
+ @use 'sass:map';
2
+ @use '../context' as *;
3
+
4
+ :where(:host, :root, .theme) {
5
+ @each $breakpoint, $breakpoint-value in $breakpoints {
6
+ @media screen and (min-width: $breakpoint-value) {
7
+ --breakpoint-key: #{$breakpoint};
8
+ --breakpoint-value: #{$breakpoint-value};
9
+ }
10
+ }
11
+ @include spread-map-into-props(
12
+ $map: map.remove($breakpoints, 'xxs'),
13
+ $prefix: breakpoint
14
+ );
15
+ }
@@ -1,4 +1,4 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  :where(:host, :root, .theme) {
4
4
  @include spread-map-into-props($colors, $prefix: color);
@@ -1,5 +1,6 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  :where(:host, :root, .theme) {
4
4
  @include spread-map-into-props($box-shadow, $prefix: shadow);
5
+ @include spread-map-into-props($opacity, $prefix: opacity);
5
6
  }
@@ -1,6 +1,7 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  :where(:host, :root, .theme) {
4
4
  @include spread-map-into-props($blur, $prefix: blur);
5
5
  @include spread-map-into-props($brightness, $prefix: brightness);
6
+ @include spread-map-into-props($saturation, $prefix: saturate);
6
7
  }
@@ -1,12 +1,13 @@
1
- @import 'animation';
2
- @import 'background';
3
- @import 'borders';
4
- @import 'colors';
5
- @import 'effects';
6
- @import 'filters';
7
- @import 'layout';
8
- @import 'media';
9
- @import 'spacing';
10
- @import 'typography';
11
- @import 'sizing';
12
- @import 'input';
1
+ @use 'background';
2
+ @use 'borders';
3
+ @use 'breakpoints';
4
+ @use 'colors';
5
+ @use 'effects';
6
+ @use 'filters';
7
+ @use 'input';
8
+ @use 'layout';
9
+ @use 'media';
10
+ @use 'sizing';
11
+ @use 'spacing';
12
+ @use 'transitions';
13
+ @use 'typography';
@@ -1,4 +1,4 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  :where(:host, :root, .theme) {
4
4
  @include spread-map-into-props($map: $input, $prefix: input);
@@ -1,4 +1,4 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  :where(:host, :root, .theme) {
4
4
  @include spread-map-into-props($map: $aspect-ratio, $prefix: aspect);
@@ -1,4 +1,4 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  // motion
4
4
  @custom-media --motion-ok (prefers-reduced-motion: no-preference);
@@ -1,4 +1,4 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  :where(:host, :root, .theme) {
4
4
  @include spread-map-into-props($width, $prefix: w);
@@ -1,5 +1,5 @@
1
1
  @use 'sass:map';
2
- @import '../context';
2
+ @use '../context' as *;
3
3
 
4
4
  :where(:host, :root, .theme) {
5
5
  // static
@@ -11,7 +11,7 @@
11
11
  @each $name, $sizes in $spacing-dynamic {
12
12
  @each $breakpoint, $size in $sizes {
13
13
  @if map-has-key($breakpoints, $breakpoint) {
14
- @include media-breakpoint-up($breakpoint) {
14
+ @include media-breakpoint-up($breakpoint, $breakpoints) {
15
15
  $var: $size;
16
16
 
17
17
  // if is a static spacing
@@ -1,11 +1,45 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  :where(:host, :root, .theme) {
4
+ // animation
4
5
  @media (prefers-reduced-motion: no-preference) {
5
- @include spread-map-into-props($animate, $prefix: animate);
6
+ // transition-property
7
+ @include spread-map-into-props(
8
+ $transition-property,
9
+ $prefix: transition-property
10
+ );
11
+
12
+ // duration
13
+ @include spread-map-into-props(
14
+ $transition-duration-delay,
15
+ $prefix: duration
16
+ );
17
+
18
+ // ease
19
+ @include spread-map-into-props(
20
+ $transition-timing-function,
21
+ $prefix: ease
22
+ );
23
+
24
+ // animation
25
+ @include spread-map-into-props($animation, animation);
26
+
27
+ // transition
28
+ @each $property, $value in $transition-property {
29
+ @if $property != 'none' {
30
+ --transition-#{$property}: var(
31
+ --transition-property-#{$property}
32
+ )
33
+ var(--duration-300)
34
+ var(--ease-in-out);
35
+ } @else {
36
+ --transition-#{$property}: none;
37
+ }
38
+ }
6
39
  }
7
40
  }
8
41
 
42
+ // keyframes
9
43
  @keyframes indeterminate {
10
44
  0% {
11
45
  transform: scaleX(0);
@@ -78,3 +112,20 @@
78
112
  background-position: -200% 0;
79
113
  }
80
114
  }
115
+
116
+ @keyframes pie-masks {
117
+ 0% {
118
+ opacity: 1;
119
+ }
120
+
121
+ 50%,
122
+ 100% {
123
+ opacity: 0;
124
+ }
125
+ }
126
+
127
+ @keyframes shine {
128
+ to {
129
+ background-position-x: -200%;
130
+ }
131
+ }
@@ -1,4 +1,4 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  :where(:host, :root, .theme) {
4
4
  // font-family
@@ -22,7 +22,7 @@
22
22
  @each $name, $sizes in $font-size-dynamic {
23
23
  @each $breakpoint, $size in $sizes {
24
24
  @if map-has-key($breakpoints, $breakpoint) {
25
- @include media-breakpoint-up($breakpoint) {
25
+ @include media-breakpoint-up($breakpoint, $breakpoints) {
26
26
  $var: $size;
27
27
 
28
28
  // if is a static font-size
@@ -1,3 +1,6 @@
1
+ @use 'colors' as *;
2
+ @use '../tools/functions' as *;
3
+
1
4
  // background-attachment
2
5
  $background-attachment: (fixed, local, scroll) !default;
3
6
 
@@ -48,9 +51,11 @@ $background-image: (
48
51
  chevron:
49
52
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(#{hex-to-rgb($color-word)})' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"),
50
53
  grid:
51
- url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='32' height='32' fill='none' stroke='rgb(51 65 85 / 0.25)'%3E%3Cpath d='M0 .5H31.5V32'/%3E%3C/svg%3E"),
54
+ url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='rgb(51 65 85 / 0.25)'%3E%3Cpath d='M0 .5H31.5V32'/%3E%3C/svg%3E"),
52
55
  check:
53
56
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(#{hex-to-rgb($color-word)})' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"),
54
57
  minus:
55
58
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(#{hex-to-rgb($color-word)})' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E"),
59
+ close:
60
+ url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(#{hex-to-rgb($color-word)})' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20L4 4m16 0L4 20'/%3E%3C/svg%3E"),
56
61
  ) !default;
@@ -1,3 +1,5 @@
1
+ @use '../tools/mixins' as *;
2
+
1
3
  $breakpoints: (
2
4
  xxs: 0,
3
5
  xs: 360px,
@@ -1,4 +1,6 @@
1
1
  @use 'sass:color';
2
+ @use 'sass:map';
3
+ @use '../tools/functions' as *;
2
4
 
3
5
  // color variables
4
6
  $color-scheme: light !default;
@@ -7,13 +9,21 @@ $color-black: #000 !default;
7
9
  $color-white: #fff !default;
8
10
  $color-brand: #1976d2 !default;
9
11
  $color-accent: #9c27b0 !default;
10
- $color-success: #21ba45 !default;
11
- $color-danger: #c10015 !default;
12
+ $color-success: #178230 !default;
13
+ $color-danger: #af2323 !default;
12
14
  $color-info: #31ccec !default;
13
15
  $color-warning: #f2c037 !default;
14
16
  $color-gray: hsl(color.hue($color-brand) 15% 50%) !default;
15
17
  $color-word: hsl(color.hue($color-brand) 15% 10%) !default;
16
18
  $color-surface: hsl(color.hue($color-brand) 10% 98%) !default;
19
+ $color-surface-palette: (
20
+ brand: hsl(var(--color-brand-hue) var(--color-brand-saturation) 90%),
21
+ accent: hsl(var(--color-accent-hue) var(--color-accent-saturation) 90%),
22
+ success: hsl(var(--color-success-hue) var(--color-success-saturation) 90%),
23
+ danger: hsl(var(--color-danger-hue) var(--color-danger-saturation) 90%),
24
+ info: hsl(var(--color-info-hue) var(--color-info-saturation) 90%),
25
+ warning: hsl(var(--color-warning-hue) var(--color-warning-saturation) 90%),
26
+ ) !default;
17
27
  $color-shadow: hsl(color.hue($color-brand) 50% 20%) !default;
18
28
  $color-backdrop: hsla(color.hue($color-brand) 50% 20% / 20%) !default;
19
29
  $color-alpha: hsla(0deg 0% 0% / 0%) !default;
@@ -31,8 +41,17 @@ $colors: (
31
41
  info: color-shades-map($color-info, 'info'),
32
42
  warning: color-shades-map($color-warning, 'warning'),
33
43
  gray: color-shades-map($color-gray, 'gray', $scale: 15%),
34
- word: color-lighten-map($color-word, 'word', $scale: 15%),
35
- surface: color-darken-map($color-surface, 'surface', $scale: 2%),
44
+ word: color-lighten-map($color-word, 'word', $scale: 12%, $fixed: true),
45
+ surface:
46
+ map.merge(
47
+ color-darken-map(
48
+ $color-surface,
49
+ 'surface',
50
+ $scale: 2%,
51
+ $fixed: true
52
+ ),
53
+ $color-surface-palette
54
+ ),
36
55
  shadow: hsla-map($color-shadow, 'shadow'),
37
56
  backdrop: hsla-map($color-backdrop, 'backdrop'),
38
57
  alpha: color-alpha-map($color-alpha, 'alpha', $steps: 5, $scale: 5%),
@@ -17,8 +17,33 @@ $box-shadow: (
17
17
  none: '0 0 #0000',
18
18
  ) !default;
19
19
 
20
- // blend-mode
21
- $blend-mode: (
20
+ // opacity
21
+ $opacity: (
22
+ 0: 0,
23
+ 5: 0.05,
24
+ 10: 0.1,
25
+ 15: 0.15,
26
+ 20: 0.2,
27
+ 25: 0.25,
28
+ 30: 0.3,
29
+ 35: 0.35,
30
+ 40: 0.4,
31
+ 45: 0.45,
32
+ 50: 0.5,
33
+ 55: 0.55,
34
+ 60: 0.6,
35
+ 65: 0.65,
36
+ 70: 0.7,
37
+ 75: 0.75,
38
+ 80: 0.8,
39
+ 85: 0.85,
40
+ 90: 0.9,
41
+ 95: 0.95,
42
+ 100: 1,
43
+ ) !default;
44
+
45
+ // mix blend-mode
46
+ $mix-blend-mode: (
22
47
  normal,
23
48
  multiply,
24
49
  screen,
@@ -37,3 +62,23 @@ $blend-mode: (
37
62
  luminosity,
38
63
  plus-lighter
39
64
  ) !default;
65
+
66
+ // background blend-mode
67
+ $background-blend-mode: (
68
+ normal,
69
+ multiply,
70
+ screen,
71
+ overlay,
72
+ darken,
73
+ lighten,
74
+ color-dodge,
75
+ color-burn,
76
+ hard-light,
77
+ soft-light,
78
+ difference,
79
+ exclusion,
80
+ hue,
81
+ saturation,
82
+ color,
83
+ luminosity
84
+ ) !default;
@@ -24,3 +24,12 @@ $brightness: (
24
24
  150: brightness(1.5),
25
25
  200: brightness(2),
26
26
  ) !default;
27
+
28
+ // saturation
29
+ $saturation: (
30
+ 0: saturate(0),
31
+ 50: saturate(0.5),
32
+ 100: saturate(1),
33
+ 150: saturate(1.5),
34
+ 200: saturate(2),
35
+ ) !default;