@volverjs/style 0.1.2-beta.3 → 0.1.2-beta.30

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 (188) hide show
  1. package/README.md +40 -40
  2. package/dist/components/vv-accordion.css +1 -0
  3. package/dist/components/vv-alert.css +1 -0
  4. package/dist/components/vv-avatar.css +1 -0
  5. package/dist/components/vv-badge.css +1 -1
  6. package/dist/components/vv-breadcrumb.css +1 -0
  7. package/dist/components/vv-button-group.css +1 -1
  8. package/dist/components/vv-button.css +1 -1
  9. package/dist/components/vv-card.css +1 -1
  10. package/dist/components/vv-checkbox-group.css +1 -0
  11. package/dist/components/vv-checkbox.css +1 -0
  12. package/dist/components/vv-dialog.css +1 -1
  13. package/dist/components/vv-dropdown.css +1 -1
  14. package/dist/components/vv-input-text.css +1 -1
  15. package/dist/components/vv-nav.css +1 -0
  16. package/dist/components/vv-progress.css +1 -1
  17. package/dist/components/vv-radio-group.css +1 -0
  18. package/dist/components/vv-radio.css +1 -0
  19. package/dist/components/vv-select.css +1 -1
  20. package/dist/components/vv-skeleton.css +1 -0
  21. package/dist/components/vv-tab.css +1 -0
  22. package/dist/components/vv-table.css +1 -1
  23. package/dist/components/vv-text.css +1 -1
  24. package/dist/components/vv-textarea.css +1 -1
  25. package/dist/components/vv-toast.css +1 -0
  26. package/dist/components/vv-tooltip.css +1 -0
  27. package/dist/components.css +1 -1
  28. package/dist/export.css +1 -1
  29. package/dist/props/background.css +1 -1
  30. package/dist/props/colors.css +1 -1
  31. package/dist/props/filters.css +1 -1
  32. package/dist/props/input.css +1 -1
  33. package/dist/props/spacing.css +1 -1
  34. package/dist/props/transitions.css +1 -0
  35. package/dist/props.css +1 -1
  36. package/dist/reset.css +1 -1
  37. package/dist/themes/dark/components.css +1 -1
  38. package/dist/themes/dark/props.css +1 -1
  39. package/dist/themes/dark/volver.css +1 -0
  40. package/dist/utilities/backgrounds.css +1 -1
  41. package/dist/utilities/borders.css +1 -1
  42. package/dist/utilities/colors.css +1 -1
  43. package/dist/utilities/effects.css +1 -1
  44. package/dist/utilities/filters.css +1 -1
  45. package/dist/utilities/flexbox.css +1 -1
  46. package/dist/utilities/grid.css +1 -1
  47. package/dist/utilities/interactivity.css +1 -0
  48. package/dist/utilities/layout.css +1 -1
  49. package/dist/utilities/sizing.css +1 -1
  50. package/dist/utilities/spacing.css +1 -1
  51. package/dist/utilities/transitions.css +1 -0
  52. package/dist/utilities/typography.css +1 -1
  53. package/dist/utilities.css +1 -1
  54. package/dist/volver.css +1 -0
  55. package/package.json +163 -118
  56. package/src/_config.scss +19 -11
  57. package/src/_context.scss +3 -3
  58. package/src/_preflight.scss +412 -0
  59. package/src/components/index.scss +25 -17
  60. package/src/components/vv-accordion.scss +13 -0
  61. package/src/components/vv-alert.scss +13 -0
  62. package/src/components/vv-avatar.scss +13 -0
  63. package/src/components/vv-badge.scss +3 -2
  64. package/src/components/vv-breadcrumb.scss +13 -0
  65. package/src/components/vv-button-group.scss +15 -18
  66. package/src/components/vv-button.scss +5 -8
  67. package/src/components/vv-card.scss +3 -2
  68. package/src/components/vv-checkbox-group.scss +13 -0
  69. package/src/components/{vv-input-checkbox.scss → vv-checkbox.scss} +7 -6
  70. package/src/components/vv-dialog.scss +3 -2
  71. package/src/components/vv-dropdown.scss +3 -2
  72. package/src/components/vv-input-text.scss +6 -5
  73. package/src/components/vv-nav.scss +13 -0
  74. package/src/components/vv-progress.scss +3 -2
  75. package/src/components/vv-radio-group.scss +13 -0
  76. package/src/components/{vv-input-radio.scss → vv-radio.scss} +6 -5
  77. package/src/components/vv-select.scss +6 -5
  78. package/src/components/vv-skeleton.scss +14 -0
  79. package/src/components/vv-tab.scss +13 -0
  80. package/src/components/vv-table.scss +3 -2
  81. package/src/components/vv-text.scss +3 -2
  82. package/src/components/vv-textarea.scss +6 -5
  83. package/src/components/vv-toast.scss +13 -0
  84. package/src/components/vv-tooltip.scss +33 -0
  85. package/src/export.scss +62 -6
  86. package/src/props/background.scss +1 -1
  87. package/src/props/borders.scss +1 -1
  88. package/src/props/colors.scss +1 -1
  89. package/src/props/effects.scss +1 -1
  90. package/src/props/filters.scss +2 -1
  91. package/src/props/index.scss +12 -12
  92. package/src/props/input.scss +1 -1
  93. package/src/props/layout.scss +1 -1
  94. package/src/props/media.scss +1 -1
  95. package/src/props/sizing.scss +1 -1
  96. package/src/props/spacing.scss +2 -2
  97. package/src/props/{animation.scss → transitions.scss} +53 -2
  98. package/src/props/typography.scss +2 -2
  99. package/src/reset.scss +1 -1
  100. package/src/settings/_background.scss +6 -1
  101. package/src/settings/_breakpoints.scss +2 -0
  102. package/src/settings/_colors.scss +16 -2
  103. package/src/settings/_effects.scss +47 -2
  104. package/src/settings/_filters.scss +9 -0
  105. package/src/settings/_index.scss +40 -31
  106. package/src/settings/_input.scss +8 -6
  107. package/src/settings/_interactivity.scss +39 -0
  108. package/src/settings/_spacing.scss +1 -0
  109. package/src/settings/_transitions.scss +44 -0
  110. package/src/settings/components/_vv-accordion.scss +134 -0
  111. package/src/settings/components/_vv-alert.scss +161 -0
  112. package/src/settings/components/_vv-avatar.scss +55 -0
  113. package/src/settings/components/_vv-badge.scss +58 -18
  114. package/src/settings/components/_vv-breadcrumb.scss +95 -0
  115. package/src/settings/components/_vv-button-group.scss +4 -0
  116. package/src/settings/components/_vv-button.scss +121 -15
  117. package/src/settings/components/_vv-card.scss +4 -3
  118. package/src/settings/components/{_vv-input-checkbox-group.scss → _vv-checkbox-group.scss} +2 -1
  119. package/src/settings/components/{_vv-input-checkbox.scss → _vv-checkbox.scss} +46 -10
  120. package/src/settings/components/_vv-dialog.scss +71 -89
  121. package/src/settings/components/_vv-input-text.scss +83 -37
  122. package/src/settings/components/_vv-nav.scss +142 -0
  123. package/src/settings/components/_vv-progress.scss +1 -1
  124. package/src/settings/components/_vv-radio-group.scss +3 -0
  125. package/src/settings/components/{_vv-input-radio.scss → _vv-radio.scss} +34 -4
  126. package/src/settings/components/_vv-select.scss +77 -12
  127. package/src/settings/components/_vv-skeleton.scss +22 -0
  128. package/src/settings/components/_vv-tab.scss +16 -0
  129. package/src/settings/components/_vv-table.scss +22 -3
  130. package/src/settings/components/_vv-text.scss +20 -1
  131. package/src/settings/components/_vv-textarea.scss +49 -24
  132. package/src/settings/components/_vv-toast.scss +259 -0
  133. package/src/settings/components/_vv-tooltip.scss +74 -0
  134. package/src/themes/dark/_context.scss +7 -4
  135. package/src/themes/dark/components/_vv-button.scss +3 -5
  136. package/src/themes/dark/components/index.scss +1 -2
  137. package/src/themes/dark/props/_background.scss +2 -2
  138. package/src/themes/dark/props/_colors.scss +2 -2
  139. package/src/themes/dark/props/_input.scss +15 -0
  140. package/src/themes/dark/props/index.scss +3 -2
  141. package/src/themes/dark/settings/_background.scss +9 -4
  142. package/src/themes/dark/settings/_colors.scss +25 -10
  143. package/src/themes/dark/settings/_index.scss +4 -4
  144. package/src/themes/dark/settings/_input.scss +8 -0
  145. package/src/themes/dark/settings/components/_vv-button.scss +10 -10
  146. package/src/themes/dark/volver.scss +5 -0
  147. package/src/tools/_breakpoints.scss +7 -7
  148. package/src/tools/_index.scss +3 -3
  149. package/src/tools/_mixins.scss +200 -37
  150. package/src/utilities/backgrounds.scss +15 -8
  151. package/src/utilities/borders.scss +22 -9
  152. package/src/utilities/colors.scss +9 -5
  153. package/src/utilities/effects.scss +23 -5
  154. package/src/utilities/filters.scss +15 -4
  155. package/src/utilities/flexbox.scss +26 -8
  156. package/src/utilities/grid.scss +25 -9
  157. package/src/utilities/index.scss +13 -12
  158. package/src/utilities/interactivity.scss +10 -0
  159. package/src/utilities/layout.scss +27 -14
  160. package/src/utilities/sizing.scss +23 -26
  161. package/src/utilities/spacing.scss +1 -1
  162. package/src/utilities/transitions.scss +47 -0
  163. package/src/utilities/typography.scss +34 -17
  164. package/src/volver.scss +14 -0
  165. package/dist/components/vv-collapse.css +0 -1
  166. package/dist/components/vv-input-checkbox-group.css +0 -1
  167. package/dist/components/vv-input-checkbox.css +0 -1
  168. package/dist/components/vv-input-radio-group.css +0 -1
  169. package/dist/components/vv-input-radio.css +0 -1
  170. package/dist/preflight.css +0 -1
  171. package/dist/props/animation.css +0 -1
  172. package/dist/style.css +0 -1
  173. package/dist/themes/dark/style.css +0 -1
  174. package/dist/utilities/animation.css +0 -1
  175. package/src/assets/24consulting.svg +0 -63
  176. package/src/assets/volverjs.svg +0 -15
  177. package/src/components/vv-collapse.scss +0 -12
  178. package/src/components/vv-input-checkbox-group.scss +0 -12
  179. package/src/components/vv-input-radio-group.scss +0 -12
  180. package/src/preflight.scss +0 -281
  181. package/src/settings/_animation.scss +0 -9
  182. package/src/settings/components/_vv-collapse.scss +0 -111
  183. package/src/settings/components/_vv-input-radio-group.scss +0 -1
  184. package/src/style.scss +0 -14
  185. package/src/themes/dark/components/_vv-input-checkbox.scss +0 -24
  186. package/src/themes/dark/settings/components/_vv-input-checkbox.scss +0 -26
  187. package/src/themes/dark/style.scss +0 -5
  188. package/src/utilities/animation.scss +0 -8
package/src/reset.scss CHANGED
@@ -31,7 +31,7 @@
31
31
 
32
32
  /* removes spacing between cells in tables */
33
33
  :where(table) {
34
- border-collapse: collapse;
34
+ border-accordion: accordion;
35
35
  }
36
36
 
37
37
  /* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
@@ -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;
12
+ $color-success: #178230 !default;
11
13
  $color-danger: #c10015 !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(color.hue($color-brand) color.saturation($color-brand) 90%),
21
+ accent: hsl(color.hue($color-accent) color.saturation($color-accent) 90%),
22
+ success: hsl(color.hue($color-success) color.saturation($color-success) 90%),
23
+ danger: hsl(color.hue($color-danger) color.saturation($color-danger) 90%),
24
+ info: hsl(color.hue($color-info) color.saturation($color-info) 90%),
25
+ warning: hsl(color.hue($color-warning) color.saturation($color-warning) 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;
@@ -32,7 +42,11 @@ $colors: (
32
42
  warning: color-shades-map($color-warning, 'warning'),
33
43
  gray: color-shades-map($color-gray, 'gray', $scale: 15%),
34
44
  word: color-lighten-map($color-word, 'word', $scale: 15%),
35
- surface: color-darken-map($color-surface, 'surface', $scale: 2%),
45
+ surface:
46
+ map.merge(
47
+ color-darken-map($color-surface, 'surface', $scale: 2%),
48
+ $color-surface-palette
49
+ ),
36
50
  shadow: hsla-map($color-shadow, 'shadow'),
37
51
  backdrop: hsla-map($color-backdrop, 'backdrop'),
38
52
  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;
@@ -1,34 +1,43 @@
1
1
  // utilities and custom props
2
- @import 'animation';
3
- @import 'borders';
4
- @import 'breakpoints';
5
- @import 'colors';
6
- @import 'layout';
7
- @import 'filters';
8
- @import 'flexbox';
9
- @import 'grid';
10
- @import 'sizing';
11
- @import 'spacing';
12
- @import 'typography';
13
- @import 'background';
14
- @import 'effects';
15
- @import 'input';
2
+ @forward 'colors';
3
+ @forward 'background';
4
+ @forward 'borders';
5
+ @forward 'breakpoints';
6
+ @forward 'effects';
7
+ @forward 'filters';
8
+ @forward 'flexbox';
9
+ @forward 'grid';
10
+ @forward 'input';
11
+ @forward 'interactivity';
12
+ @forward 'layout';
13
+ @forward 'sizing';
14
+ @forward 'spacing';
15
+ @forward 'transitions';
16
+ @forward 'typography';
16
17
 
17
18
  // components
18
- @import 'components/vv-badge';
19
- @import 'components/vv-button';
20
- @import 'components/vv-button-group';
21
- @import 'components/vv-progress';
22
- @import 'components/vv-collapse';
23
- @import 'components/vv-dialog';
24
- @import 'components/vv-dropdown';
25
- @import 'components/vv-input-checkbox';
26
- @import 'components/vv-input-checkbox-group';
27
- @import 'components/vv-input-radio';
28
- @import 'components/vv-input-radio-group';
29
- @import 'components/vv-input-text';
30
- @import 'components/vv-textarea';
31
- @import 'components/vv-select';
32
- @import 'components/vv-table';
33
- @import 'components/vv-card';
34
- @import 'components/vv-text';
19
+ @forward 'components/vv-accordion';
20
+ @forward 'components/vv-alert';
21
+ @forward 'components/vv-badge';
22
+ @forward 'components/vv-breadcrumb';
23
+ @forward 'components/vv-button';
24
+ @forward 'components/vv-button-group';
25
+ @forward 'components/vv-card';
26
+ @forward 'components/vv-dialog';
27
+ @forward 'components/vv-dropdown';
28
+ @forward 'components/vv-checkbox-group';
29
+ @forward 'components/vv-checkbox';
30
+ @forward 'components/vv-radio-group';
31
+ @forward 'components/vv-radio';
32
+ @forward 'components/vv-avatar';
33
+ @forward 'components/vv-input-text';
34
+ @forward 'components/vv-nav';
35
+ @forward 'components/vv-progress';
36
+ @forward 'components/vv-select';
37
+ @forward 'components/vv-skeleton';
38
+ @forward 'components/vv-tab';
39
+ @forward 'components/vv-table';
40
+ @forward 'components/vv-text';
41
+ @forward 'components/vv-textarea';
42
+ @forward 'components/vv-toast';
43
+ @forward 'components/vv-tooltip';
@@ -2,17 +2,19 @@ $input: (
2
2
  display: flex,
3
3
  flex: 1,
4
4
  flex-direction: column,
5
- padding-top: var(--spacing-sm),
6
- padding-right: var(--spacing-sm),
7
- padding-bottom: var(--spacing-sm),
8
- padding-left: var(--spacing-sm),
5
+ spacing-top: var(--spacing-sm),
6
+ spacing-right: var(--spacing-sm),
7
+ spacing-bottom: var(--spacing-sm),
8
+ spacing-left: var(--spacing-sm),
9
9
  color: var(--color-word),
10
10
  background-color: var(--color-surface-1),
11
11
  gap: var(--spacing-md),
12
12
  line-height: var(--leading-normal),
13
13
  font-size: var(--text-16),
14
+ min-height: var(--spacing-50),
15
+ min-width: 0,
14
16
  label: (
15
- color: var(--color-word-3),
17
+ color: var(--color-word-2),
16
18
  display: block,
17
19
  font-size: var(--text-xs),
18
20
  gap: var(--spacing-xs),
@@ -32,7 +34,7 @@ $input: (
32
34
  hint: (
33
35
  display: block,
34
36
  font-size: var(--text-12),
35
- color: var(--color-word-4),
37
+ color: var(--color-word-2),
36
38
  gap: var(--spacing-8),
37
39
  white-space: nowrap,
38
40
  text-overflow: ellipsis,
@@ -0,0 +1,39 @@
1
+ // cursor
2
+ $cursor: (
3
+ auto: auto,
4
+ default: default,
5
+ pointer: pointer,
6
+ wait: wait,
7
+ text: text,
8
+ move: move,
9
+ help: help,
10
+ not-allowed: not-allowed,
11
+ none: none,
12
+ context-menu: context-menu,
13
+ progress: progress,
14
+ cell: cell,
15
+ crosshair: crosshair,
16
+ vertical-text: vertical-text,
17
+ alias: alias,
18
+ copy: copy,
19
+ no-drop: no-drop,
20
+ grab: grab,
21
+ grabbing: grabbing,
22
+ all-scroll: all-scroll,
23
+ col-resize: col-resize,
24
+ row-resize: row-resize,
25
+ n-resize: n-resize,
26
+ e-resize: e-resize,
27
+ s-resize: s-resize,
28
+ w-resize: w-resize,
29
+ ne-resize: ne-resize,
30
+ nw-resize: nw-resize,
31
+ se-resize: se-resize,
32
+ sw-resize: sw-resize,
33
+ ew-resize: ew-resize,
34
+ ns-resize: ns-resize,
35
+ nesw-resize: nesw-resize,
36
+ nwse-resize: nwse-resize,
37
+ zoom-in: zoom-in,
38
+ zoom-out: zoom-out,
39
+ ) !default;
@@ -11,6 +11,7 @@ $spacing: (
11
11
  12: 0.75rem,
12
12
  14: 0.875rem,
13
13
  16: 1rem,
14
+ 18: 1.125rem,
14
15
  20: 1.25rem,
15
16
  22: 1.375rem,
16
17
  24: 1.5rem,
@@ -0,0 +1,44 @@
1
+ // transition property
2
+ $transition-property: (
3
+ none: none,
4
+ all: all,
5
+ transition:
6
+ 'color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter',
7
+ colors:
8
+ 'color, background-color, border-color, text-decoration-color, fill, stroke',
9
+ opacity: opacity,
10
+ shadow: box-shadow,
11
+ transform: transform,
12
+ ) !default;
13
+
14
+ // transition duration and transition delay
15
+ $transition-duration-delay: (
16
+ 75: 75ms,
17
+ 100: 100ms,
18
+ 150: 150ms,
19
+ 200: 200ms,
20
+ 300: 300ms,
21
+ 500: 500ms,
22
+ 700: 700ms,
23
+ 1000: 1000ms,
24
+ ) !default;
25
+
26
+ // transition timing function
27
+ $transition-timing-function: (
28
+ linear: linear,
29
+ in: cubic-bezier(0.4, 0, 1, 1),
30
+ out: cubic-bezier(0, 0, 0.2, 1),
31
+ in-out: cubic-bezier(0.4, 0, 0.2, 1),
32
+ ) !default;
33
+
34
+ // animation
35
+ $animation: (
36
+ none: none,
37
+ indeterminate: indeterminate 2s infinite,
38
+ progress-indeterminate: progress-indeterminate 1.5s linear infinite,
39
+ spin: spin 1s infinite,
40
+ ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite,
41
+ pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite,
42
+ bounce: bounce 1s infinite,
43
+ shine: shine 1.5s infinite,
44
+ ) !default;
@@ -0,0 +1,134 @@
1
+ $vv-accordion: (
2
+ --accordion-marker-size:
3
+ calc(var(--spacing-sm) + var(--leading-normal) * 1em),
4
+ --accordion-padding-top: var(--spacing-xs),
5
+ --accordion-padding-right: var(--spacing-xs),
6
+ --accordion-padding-bottom: var(--spacing-xs),
7
+ --accordion-padding-left: var(--spacing-xs),
8
+ overflow: hidden,
9
+ state: (
10
+ open: (
11
+ element: (
12
+ summary: (
13
+ background-color: var(--color-surface-2),
14
+ pseudo: (
15
+ before: (
16
+ transform: rotate(0),
17
+ ),
18
+ ),
19
+ ),
20
+ ),
21
+ ),
22
+ ),
23
+ element: (
24
+ summary: (
25
+ _alias: '> summary',
26
+ position: relative,
27
+ cursor: pointer,
28
+ [padding-top]: var(--accordion-padding-top),
29
+ [padding-right]: var(--accordion-padding-right),
30
+ [padding-bottom]: var(--accordion-padding-bottom),
31
+ [padding-left]:
32
+ calc(
33
+ var(--accordion-padding-left) + var(--accordion-marker-size)
34
+ ),
35
+ line-height: var(--leading-normal),
36
+ color: var(--color-word-2),
37
+ will-change: background-color,
38
+ transition: var(--transition-colors),
39
+ font-size: var(--text-sm),
40
+ border-radius: var(--rounded-lg),
41
+ -webkit-tap-highlight-color: transparent,
42
+ outline: none,
43
+ pseudo: (
44
+ before: (
45
+ display: block,
46
+ position: absolute,
47
+ [top]: var(--accordion-padding-top),
48
+ [left]: var(--accordion-padding-left),
49
+ width: calc(var(--leading-normal) * 1em),
50
+ height: calc(var(--leading-normal) * 1em),
51
+ background-image: var(--bg-chevron),
52
+ background-position: center,
53
+ background-size: 1em,
54
+ background-repeat: no-repeat,
55
+ will-change: transform,
56
+ transition: var(--transition-transform),
57
+ transform: rotate(-90deg),
58
+ ),
59
+ marker: (
60
+ display: none,
61
+ ),
62
+ -webkit-details-marker: (
63
+ display: none,
64
+ ),
65
+ ),
66
+ state: (
67
+ hover: (
68
+ background-color: var(--color-surface-1),
69
+ ),
70
+ focus-visible: (
71
+ background-color: var(--color-surface-1),
72
+ ),
73
+ ),
74
+ ),
75
+ content: (
76
+ _alias: '> summary + *',
77
+ padding-block: var(--spacing-sm),
78
+ [padding-inline]: var(--accordion-padding-left)
79
+ var(--accordion-padding-right),
80
+ ),
81
+ ),
82
+ modifier: (
83
+ marker-right: (
84
+ element: (
85
+ summary: (
86
+ [padding-right]:
87
+ calc(
88
+ var(--accordion-padding-right) +
89
+ var(--accordion-marker-size)
90
+ ),
91
+ [padding-left]: var(--accordion-padding-left),
92
+ pseudo: (
93
+ before: (
94
+ left: auto,
95
+ [right]: var(--accordion-padding-right),
96
+ transform: rotate(0def),
97
+ ),
98
+ ),
99
+ ),
100
+ ),
101
+ state: (
102
+ open: (
103
+ element: (
104
+ summary: (
105
+ pseudo: (
106
+ before: (
107
+ transform: rotate(-180deg),
108
+ ),
109
+ ),
110
+ ),
111
+ ),
112
+ ),
113
+ ),
114
+ ),
115
+ bordered: (
116
+ --accordion-padding-top: var(--spacing-xs),
117
+ --accordion-padding-right: var(--spacing-xs),
118
+ --accordion-padding-bottom: var(--spacing-xs),
119
+ --accordion-padding-left: var(--spacing-xs),
120
+ border: var(--border) solid var(--color-surface-4),
121
+ border-radius: var(--rounded-lg),
122
+ state: (
123
+ open: (
124
+ element: (
125
+ summary: (
126
+ border-bottom-right-radius: 0,
127
+ border-bottom-left-radius: 0,
128
+ ),
129
+ ),
130
+ ),
131
+ ),
132
+ ),
133
+ ),
134
+ ) !default;
@@ -0,0 +1,161 @@
1
+ $vv-alert: (
2
+ display: flex,
3
+ min-width: 0,
4
+ overflow: hidden,
5
+ align-items: center,
6
+ padding: var(--spacing-sm) var(--spacing-md),
7
+ background-color: var(--color-surface-2),
8
+ border-color: var(--color-gray-lighten-4),
9
+ border-width: var(--border),
10
+ border-style: solid,
11
+ border-radius: var(--rounded),
12
+ position: relative,
13
+ element: (
14
+ icon: (
15
+ _alias: '> :where(svg, [data-icon])',
16
+ position: absolute,
17
+ left: var(--spacing-md),
18
+ inline-size: 1.2em,
19
+ block-size: 1.2em,
20
+ ),
21
+ close: (
22
+ position: absolute,
23
+ right: var(--spacing-md),
24
+ inline-size: 1em,
25
+ block-size: 1em,
26
+ cursor: pointer,
27
+ background-image: var(--bg-close),
28
+ background-position: center,
29
+ background-size: 100% auto,
30
+ background-repeat: no-repeat,
31
+ ),
32
+ title: (
33
+ display: flex,
34
+ margin-right: 1ch,
35
+ line-height: var(--leading-normal),
36
+ font-weight: var(--font-bold),
37
+ color: var(--color-word),
38
+ ),
39
+ content: (
40
+ line-height: var(--leading-normal),
41
+ color: var(--color-word-1),
42
+ text-overflow: ellipsis,
43
+ white-space: nowrap,
44
+ overflow: hidden,
45
+ ),
46
+ separator: (
47
+ _alias: '> hr',
48
+ height: var(--border),
49
+ background-color: var(--color-alpha-2),
50
+ margin-block: var(--spacing-sm),
51
+ ),
52
+ ),
53
+ modifier: (
54
+ fixed: (
55
+ position: fixed,
56
+ z-index: var(--z-notification-alert),
57
+ ),
58
+ top: (
59
+ inset-inline: var(--spacing-lg),
60
+ inset-block: var(--spacing-lg) auto,
61
+ ),
62
+ bottom: (
63
+ inset-inline: var(--spacing-lg),
64
+ inset-block: auto var(--spacing-lg),
65
+ ),
66
+ success: (
67
+ border-color: var(--color-success-lighten-5),
68
+ background-color: var(--color-surface-success),
69
+ element: (
70
+ icon: (
71
+ color: var(--color-success),
72
+ ),
73
+ title: (
74
+ color: var(--color-success),
75
+ ),
76
+ ),
77
+ ),
78
+ danger: (
79
+ border-color: var(--color-danger-lighten-5),
80
+ background-color: var(--color-surface-danger),
81
+ element: (
82
+ icon: (
83
+ color: var(--color-danger),
84
+ ),
85
+ title: (
86
+ color: var(--color-danger),
87
+ ),
88
+ ),
89
+ ),
90
+ warning: (
91
+ border-color: var(--color-warning-lighten-5),
92
+ background-color: var(--color-surface-warning),
93
+ element: (
94
+ icon: (
95
+ color: var(--color-warning-darken-2),
96
+ ),
97
+ title: (
98
+ color: var(--color-warning-darken-2),
99
+ ),
100
+ ),
101
+ ),
102
+ info: (
103
+ border-color: var(--color-info-lighten-5),
104
+ background-color: var(--color-surface-info),
105
+ element: (
106
+ icon: (
107
+ color: var(--color-info-darken-2),
108
+ ),
109
+ title: (
110
+ color: var(--color-info-darken-2),
111
+ ),
112
+ ),
113
+ ),
114
+ accent: (
115
+ border-color: var(--color-accent-lighten-5),
116
+ background-color: var(--color-surface-accent),
117
+ element: (
118
+ icon: (
119
+ color: var(--color-accent),
120
+ ),
121
+ title: (
122
+ color: var(--color-accent),
123
+ ),
124
+ ),
125
+ ),
126
+ brand: (
127
+ border-color: var(--color-brand-lighten-5),
128
+ background-color: var(--color-surface-brand),
129
+ element: (
130
+ icon: (
131
+ color: var(--color-brand),
132
+ ),
133
+ title: (
134
+ color: var(--color-brand),
135
+ ),
136
+ ),
137
+ ),
138
+ callout: (
139
+ display: block,
140
+ border-radius: var(--rounded-none),
141
+ border-width: 0 0 0 var(--spacing-4),
142
+ element: (
143
+ title: (
144
+ margin-bottom: var(--spacing-sm),
145
+ margin-right: 0,
146
+ text-transform: uppercase,
147
+ ),
148
+ content: (
149
+ line-height: var(--leading-normal),
150
+ white-space: wrap,
151
+ ),
152
+ ),
153
+ ),
154
+ icon: (
155
+ padding-left: calc(var(--spacing-md) * 2 + 1em),
156
+ ),
157
+ close: (
158
+ padding-right: calc(var(--spacing-md) * 2 + 1em),
159
+ ),
160
+ ),
161
+ ) !default;