@volverjs/style 0.1.2-beta.9 → 0.1.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 (180) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +53 -46
  3. package/dist/components/vv-accordion.css +1 -1
  4. package/dist/components/vv-alert.css +1 -0
  5. package/dist/components/vv-avatar.css +1 -0
  6. package/dist/components/vv-badge.css +1 -1
  7. package/dist/components/vv-breadcrumb.css +1 -1
  8. package/dist/components/vv-button-group.css +1 -1
  9. package/dist/components/vv-button.css +1 -1
  10. package/dist/components/vv-card.css +1 -1
  11. package/dist/components/vv-checkbox-group.css +1 -0
  12. package/dist/components/vv-checkbox.css +1 -0
  13. package/dist/components/vv-dialog.css +1 -1
  14. package/dist/components/vv-dropdown.css +1 -1
  15. package/dist/components/vv-input-text.css +1 -1
  16. package/dist/components/vv-nav.css +1 -1
  17. package/dist/components/vv-progress.css +1 -1
  18. package/dist/components/vv-radio-group.css +1 -0
  19. package/dist/components/vv-radio.css +1 -0
  20. package/dist/components/vv-select.css +1 -1
  21. package/dist/components/vv-skeleton.css +1 -0
  22. package/dist/components/vv-tab.css +1 -0
  23. package/dist/components/vv-table.css +1 -1
  24. package/dist/components/vv-text.css +1 -1
  25. package/dist/components/vv-textarea.css +1 -1
  26. package/dist/components/vv-toast.css +1 -0
  27. package/dist/components/vv-tooltip.css +1 -0
  28. package/dist/components.css +1 -1
  29. package/dist/export.css +1 -1
  30. package/dist/props/background.css +1 -1
  31. package/dist/props/breakpoints.css +1 -0
  32. package/dist/props/colors.css +1 -1
  33. package/dist/props/filters.css +1 -1
  34. package/dist/props/input.css +1 -1
  35. package/dist/props/layout.css +1 -1
  36. package/dist/props/spacing.css +1 -1
  37. package/dist/props/transitions.css +1 -0
  38. package/dist/props.css +1 -1
  39. package/dist/themes/dark/components.css +1 -1
  40. package/dist/themes/dark/props.css +1 -1
  41. package/dist/themes/dark/volver.css +1 -1
  42. package/dist/utilities/backgrounds.css +1 -1
  43. package/dist/utilities/borders.css +1 -1
  44. package/dist/utilities/colors.css +1 -1
  45. package/dist/utilities/effects.css +1 -1
  46. package/dist/utilities/filters.css +1 -1
  47. package/dist/utilities/flexbox.css +1 -1
  48. package/dist/utilities/interactivity.css +1 -0
  49. package/dist/utilities/layout.css +1 -1
  50. package/dist/utilities/sizing.css +1 -1
  51. package/dist/utilities/spacing.css +1 -1
  52. package/dist/utilities/transitions.css +1 -0
  53. package/dist/utilities/typography.css +1 -1
  54. package/dist/utilities.css +1 -1
  55. package/dist/volver.css +1 -1
  56. package/package.json +56 -36
  57. package/src/_config.scss +17 -11
  58. package/src/_context.scss +3 -3
  59. package/src/_preflight.scss +308 -247
  60. package/src/components/index.scss +25 -19
  61. package/src/components/vv-accordion.scss +3 -2
  62. package/src/components/vv-alert.scss +13 -0
  63. package/src/components/vv-avatar.scss +13 -0
  64. package/src/components/vv-badge.scss +3 -2
  65. package/src/components/vv-breadcrumb.scss +3 -2
  66. package/src/components/vv-button-group.scss +11 -10
  67. package/src/components/vv-button.scss +5 -8
  68. package/src/components/vv-card.scss +3 -2
  69. package/src/components/vv-checkbox-group.scss +13 -0
  70. package/src/components/{vv-input-checkbox.scss → vv-checkbox.scss} +7 -6
  71. package/src/components/vv-dialog.scss +3 -2
  72. package/src/components/vv-dropdown.scss +3 -2
  73. package/src/components/vv-input-text.scss +6 -5
  74. package/src/components/vv-nav.scss +3 -2
  75. package/src/components/vv-progress.scss +3 -2
  76. package/src/components/vv-radio-group.scss +13 -0
  77. package/src/components/{vv-input-radio.scss → vv-radio.scss} +6 -5
  78. package/src/components/vv-select.scss +6 -5
  79. package/src/components/vv-skeleton.scss +14 -0
  80. package/src/components/vv-tab.scss +13 -0
  81. package/src/components/vv-table.scss +3 -2
  82. package/src/components/vv-text.scss +3 -2
  83. package/src/components/vv-textarea.scss +6 -5
  84. package/src/components/vv-toast.scss +13 -0
  85. package/src/components/vv-tooltip.scss +33 -0
  86. package/src/export.scss +89 -27
  87. package/src/props/background.scss +1 -1
  88. package/src/props/borders.scss +1 -1
  89. package/src/props/breakpoints.scss +15 -0
  90. package/src/props/colors.scss +1 -1
  91. package/src/props/effects.scss +1 -1
  92. package/src/props/filters.scss +2 -1
  93. package/src/props/index.scss +13 -12
  94. package/src/props/input.scss +1 -1
  95. package/src/props/layout.scss +1 -1
  96. package/src/props/media.scss +1 -1
  97. package/src/props/sizing.scss +1 -1
  98. package/src/props/spacing.scss +2 -2
  99. package/src/props/{animation.scss → transitions.scss} +53 -2
  100. package/src/props/typography.scss +2 -2
  101. package/src/settings/_background.scss +6 -1
  102. package/src/settings/_breakpoints.scss +2 -0
  103. package/src/settings/_colors.scss +23 -4
  104. package/src/settings/_effects.scss +47 -2
  105. package/src/settings/_filters.scss +9 -0
  106. package/src/settings/_index.scss +40 -33
  107. package/src/settings/_input.scss +8 -6
  108. package/src/settings/_interactivity.scss +39 -0
  109. package/src/settings/_layout.scss +18 -10
  110. package/src/settings/_spacing.scss +1 -0
  111. package/src/settings/_transitions.scss +44 -0
  112. package/src/settings/components/_vv-accordion.scss +40 -34
  113. package/src/settings/components/_vv-alert.scss +161 -0
  114. package/src/settings/components/_vv-avatar.scss +55 -0
  115. package/src/settings/components/_vv-badge.scss +43 -11
  116. package/src/settings/components/_vv-breadcrumb.scss +23 -15
  117. package/src/settings/components/_vv-button-group.scss +4 -0
  118. package/src/settings/components/_vv-button.scss +30 -25
  119. package/src/settings/components/_vv-card.scss +2 -2
  120. package/src/settings/components/{_vv-input-checkbox-group.scss → _vv-checkbox-group.scss} +2 -1
  121. package/src/settings/components/{_vv-input-checkbox.scss → _vv-checkbox.scss} +46 -11
  122. package/src/settings/components/_vv-dialog.scss +71 -89
  123. package/src/settings/components/_vv-input-text.scss +83 -37
  124. package/src/settings/components/_vv-nav.scss +98 -13
  125. package/src/settings/components/_vv-progress.scss +1 -1
  126. package/src/settings/components/_vv-radio-group.scss +3 -0
  127. package/src/settings/components/{_vv-input-radio.scss → _vv-radio.scss} +33 -4
  128. package/src/settings/components/_vv-select.scss +34 -43
  129. package/src/settings/components/_vv-skeleton.scss +22 -0
  130. package/src/settings/components/_vv-tab.scss +16 -0
  131. package/src/settings/components/_vv-table.scss +8 -1
  132. package/src/settings/components/_vv-text.scss +20 -0
  133. package/src/settings/components/_vv-textarea.scss +49 -24
  134. package/src/settings/components/_vv-toast.scss +259 -0
  135. package/src/settings/components/_vv-tooltip.scss +74 -0
  136. package/src/themes/dark/_context.scss +7 -4
  137. package/src/themes/dark/components/_vv-button.scss +2 -4
  138. package/src/themes/dark/components/index.scss +1 -2
  139. package/src/themes/dark/props/_background.scss +1 -1
  140. package/src/themes/dark/props/_colors.scss +1 -1
  141. package/src/themes/dark/props/_input.scss +15 -0
  142. package/src/themes/dark/props/index.scss +3 -2
  143. package/src/themes/dark/settings/_background.scss +5 -0
  144. package/src/themes/dark/settings/_colors.scss +22 -2
  145. package/src/themes/dark/settings/_index.scss +4 -4
  146. package/src/themes/dark/settings/_input.scss +8 -0
  147. package/src/themes/dark/settings/components/_vv-button.scss +9 -9
  148. package/src/themes/dark/volver.scss +2 -2
  149. package/src/tools/_breakpoints.scss +7 -7
  150. package/src/tools/_functions.scss +95 -37
  151. package/src/tools/_index.scss +3 -3
  152. package/src/tools/_mixins.scss +166 -35
  153. package/src/utilities/backgrounds.scss +15 -8
  154. package/src/utilities/borders.scss +22 -9
  155. package/src/utilities/colors.scss +9 -5
  156. package/src/utilities/effects.scss +23 -5
  157. package/src/utilities/filters.scss +15 -4
  158. package/src/utilities/flexbox.scss +15 -8
  159. package/src/utilities/grid.scss +17 -9
  160. package/src/utilities/index.scss +13 -12
  161. package/src/utilities/interactivity.scss +10 -0
  162. package/src/utilities/layout.scss +35 -23
  163. package/src/utilities/sizing.scss +23 -26
  164. package/src/utilities/spacing.scss +1 -1
  165. package/src/utilities/transitions.scss +47 -0
  166. package/src/utilities/typography.scss +34 -17
  167. package/src/volver.scss +4 -4
  168. package/dist/components/vv-input-checkbox-group.css +0 -1
  169. package/dist/components/vv-input-checkbox.css +0 -1
  170. package/dist/components/vv-input-radio-group.css +0 -1
  171. package/dist/components/vv-input-radio.css +0 -1
  172. package/dist/props/animation.css +0 -1
  173. package/dist/utilities/animation.css +0 -1
  174. package/src/components/vv-input-checkbox-group.scss +0 -12
  175. package/src/components/vv-input-radio-group.scss +0 -12
  176. package/src/settings/_animation.scss +0 -9
  177. package/src/settings/components/_vv-input-radio-group.scss +0 -1
  178. package/src/themes/dark/components/_vv-input-checkbox.scss +0 -24
  179. package/src/themes/dark/settings/components/_vv-input-checkbox.scss +0 -26
  180. package/src/utilities/animation.scss +0 -8
@@ -0,0 +1,16 @@
1
+ $vv-tab: (
2
+ display: flex,
3
+ flex-direction: column,
4
+ element: (
5
+ panel: (
6
+ display: none,
7
+ padding: var(--spacing-lg),
8
+ line-height: var(--leading-normal),
9
+ state: (
10
+ target: (
11
+ display: block,
12
+ ),
13
+ ),
14
+ ),
15
+ ),
16
+ ) !default;
@@ -4,6 +4,11 @@ $vv-table: (
4
4
  border-collapse: collapse,
5
5
  border-color: var(--color-surface-5),
6
6
  element: (
7
+ caption: (
8
+ _alias: 'caption',
9
+ caption-side: bottom,
10
+ [padding]: var(--table-cell-padding),
11
+ ),
7
12
  tr: (
8
13
  _alias: 'tr',
9
14
  border-width: 0 0 1px 0,
@@ -21,15 +26,17 @@ $vv-table: (
21
26
  ),
22
27
  th: (
23
28
  _alias: 'th',
24
- font-weight: semibold,
29
+ font-weight: var(--font-semibold),
25
30
  font-size: var(--text-sm),
26
31
  color: var(--color-word-2),
32
+ vertical-align: middle,
27
33
  [padding]: var(--table-cell-padding),
28
34
  ),
29
35
  td: (
30
36
  _alias: 'td',
31
37
  border-style: solid,
32
38
  font-size: var(--text-xs),
39
+ vertical-align: middle,
33
40
  [padding]: var(--table-cell-padding),
34
41
  ),
35
42
  ),
@@ -12,6 +12,26 @@ $vv-text: (
12
12
  copy: (
13
13
  margin-block: var(--spacing-16),
14
14
  ),
15
+ link: (
16
+ color: var(--color-brand),
17
+ state: (
18
+ focus-visible: (
19
+ outline: var(--spacing-px) solid var(--color-brand),
20
+ outline-offset: var(--spacing-4),
21
+ ),
22
+ hover: (
23
+ text-decoration: underline,
24
+ text-underline-offset: var(--spacing-4),
25
+ ),
26
+ active: (
27
+ color: var(--color-brand-darken-3),
28
+ ),
29
+ disabled: (
30
+ opacity: 0.5,
31
+ cursor: not-allowed,
32
+ ),
33
+ ),
34
+ ),
15
35
  quote: (
16
36
  font-family: var(--font-serif),
17
37
  border-left: var(--spacing-4) solid var(--color-surface-3),
@@ -5,6 +5,7 @@ $vv-textarea: (
5
5
  margin-bottom: var(--input-gap),
6
6
  font-size: var(--input-font-size),
7
7
  line-height: var(--input-line-height),
8
+ min-width: var(--input-min-width),
8
9
  element: (
9
10
  label: (
10
11
  _alias: '> label',
@@ -17,6 +18,13 @@ $vv-textarea: (
17
18
  overflow: var(--input-label-overflow),
18
19
  max-width: var(--input-label-max-width),
19
20
  ),
21
+ limit: (
22
+ position: absolute,
23
+ right: var(--input-gap),
24
+ bottom: var(--input-gap),
25
+ font-size: var(--input-hint-font-size),
26
+ color: var(--input-hint-color),
27
+ ),
20
28
  wrapper: (
21
29
  position: relative,
22
30
  display: flex,
@@ -25,7 +33,8 @@ $vv-textarea: (
25
33
  overflow: hidden,
26
34
  background-color: var(--input-background-color),
27
35
  will-change: background-color,
28
- transition: background-color 0.3s ease-in-out,
36
+ transition: var(--transition-colors),
37
+ min-height: var(--spacing-50),
29
38
  pseudo: (
30
39
  before: (
31
40
  position: absolute,
@@ -41,7 +50,7 @@ $vv-textarea: (
41
50
  transform: scaleX(0),
42
51
  transform-origin: left,
43
52
  will-change: transform,
44
- transition: transform 0.3s ease-in-out,
53
+ transition: var(--transition-transform),
45
54
  ),
46
55
  ),
47
56
  state: (
@@ -63,9 +72,9 @@ $vv-textarea: (
63
72
  display: block,
64
73
  flex: 1,
65
74
  color: var(--input-color),
66
- [padding]: var(--input-padding-top) var(--input-padding-right)
67
- var(--input-padding-bottom) var(--input-padding-left),
68
- min-height: var(--spacing-50),
75
+ [padding]: var(--input-spacing-top) var(--input-spacing-right)
76
+ var(--input-spacing-bottom) var(--input-spacing-left),
77
+ overflow: auto,
69
78
  pseudo: (
70
79
  placeholder: (
71
80
  color: var(--input-placeholder-color),
@@ -82,8 +91,8 @@ $vv-textarea: (
82
91
  ),
83
92
  icon: (
84
93
  _alias: ':where(svg, [data-icon])',
85
- margin: var(--input-padding-top) var(--input-padding-right)
86
- var(--input-padding-bottom) var(--input-padding-left),
94
+ margin: var(--input-spacing-top) var(--input-spacing-right)
95
+ var(--input-spacing-bottom) var(--input-spacing-left),
87
96
  position: var(--input-icon-position),
88
97
  width: var(--input-icon-width),
89
98
  height: var(--input-icon-height),
@@ -117,10 +126,17 @@ $vv-textarea: (
117
126
  ),
118
127
  modifier: (
119
128
  icon-left: (
120
- --input-padding-left: calc(var(--spacing-sm) * 2 + 1em),
129
+ --input-spacing-left: calc(var(--spacing-sm) * 2 + 1em),
121
130
  ),
122
131
  icon-right: (
123
- --input-padding-right: calc(var(--spacing-sm) * 2 + 1em),
132
+ --input-spacing-right: calc(var(--spacing-sm) * 2 + 1em),
133
+ ),
134
+ resizable: (
135
+ element: (
136
+ input: (
137
+ resize: vertical,
138
+ ),
139
+ ),
124
140
  ),
125
141
  valid: (
126
142
  element: (
@@ -135,6 +151,9 @@ $vv-textarea: (
135
151
  hint: (
136
152
  color: var(--input-valid-color),
137
153
  ),
154
+ limit: (
155
+ color: var(--input-valid-color),
156
+ ),
138
157
  icon-right: (
139
158
  color: var(--input-valid-color),
140
159
  ),
@@ -153,6 +172,9 @@ $vv-textarea: (
153
172
  hint: (
154
173
  color: var(--input-invalid-color),
155
174
  ),
175
+ limit: (
176
+ color: var(--input-invalid-color),
177
+ ),
156
178
  icon-right: (
157
179
  color: var(--input-invalid-color),
158
180
  ),
@@ -167,40 +189,43 @@ $vv-textarea: (
167
189
  background: var(--color-brand-lighten-5),
168
190
  ),
169
191
  after: (
170
- animation: var(--animate-indeterminate),
192
+ animation: var(--animation-indeterminate),
171
193
  ),
172
194
  ),
173
195
  ),
174
196
  ),
175
197
  ),
176
198
  floating: (
177
- [margin-left]: var(--input-padding-left),
178
- [margin-right]: var(--input-padding-right),
199
+ [margin-left]: var(--input-spacing-left),
200
+ [margin-right]: var(--input-spacing-right),
179
201
  element: (
180
202
  wrapper: (
181
- [margin-left]: calc(var(--input-padding-left) * -1),
182
- [margin-right]: calc(var(--input-padding-right) * -1),
203
+ [margin-left]: calc(var(--input-spacing-left) * -1),
204
+ [margin-right]: calc(var(--input-spacing-right) * -1),
183
205
  ),
184
206
  hint: (
185
- [margin-left]: calc(var(--input-padding-left) * -1),
186
- [margin-right]: calc(var(--input-padding-right) * -1),
207
+ [margin-left]: calc(var(--input-spacing-left) * -1),
208
+ [margin-right]: calc(var(--input-spacing-right) * -1),
187
209
  ),
188
210
  label: (
189
211
  position: absolute,
190
212
  z-index: 1,
191
213
  pointer-events: none,
192
214
  font-size: inherit,
193
- [padding-top]: var(--input-padding-top),
194
- [padding-bottom]: var(--input-padding-bottom),
215
+ [padding-top]: var(--input-spacing-top),
216
+ [padding-bottom]: var(--input-spacing-bottom),
195
217
  padding-inline: 0,
196
218
  margin: 0,
197
219
  will-change: 'transform',
198
- transform-origin: left,
199
- transition: all 0.3s ease-in-out,
220
+ transition: var(--transition-all),
200
221
  ),
201
222
  input: (
223
+ will-change: 'transform',
224
+ transition: var(--transition-all),
202
225
  pseudo: (
203
226
  placeholder: (
227
+ will-change: 'opacity',
228
+ transition: var(--transition-opacity),
204
229
  opacity: 0,
205
230
  ),
206
231
  ),
@@ -210,11 +235,11 @@ $vv-textarea: (
210
235
  focus-within: (
211
236
  element: (
212
237
  label: (
213
- transform: translateY(-1.2ch),
238
+ transform: translateY(-0.8em),
214
239
  font-size: var(--text-12),
215
240
  ),
216
241
  input: (
217
- transform: translateY(0.85ch),
242
+ transform: translateY(0.55em),
218
243
  pseudo: (
219
244
  placeholder: (
220
245
  opacity: 1,
@@ -226,11 +251,11 @@ $vv-textarea: (
226
251
  dirty: (
227
252
  element: (
228
253
  label: (
229
- transform: translateY(-1.2ch),
254
+ transform: translateY(-0.8em),
230
255
  font-size: var(--text-12),
231
256
  ),
232
257
  input: (
233
- transform: translateY(0.85ch),
258
+ transform: translateY(0.55em),
234
259
  pseudo: (
235
260
  placeholder: (
236
261
  opacity: 1,
@@ -0,0 +1,259 @@
1
+ $vv-toast: (
2
+ --toast-pie-animation-duration: 3s,
3
+ position: relative,
4
+ display: flex,
5
+ flex-direction: column,
6
+ overflow: hidden,
7
+ border-radius: var(--rounded),
8
+ background-color: var(--color-surface),
9
+ box-shadow: var(--shadow-lg),
10
+ color: var(--color-word-2),
11
+ backdrop-filter: none,
12
+ border-width: var(--border),
13
+ border-style: solid,
14
+ border-color: var(--color-gray),
15
+ width: clamp(15vw, 20rem, 80vw),
16
+ element: (
17
+ header: (
18
+ display: flex,
19
+ overflow: hidden,
20
+ align-items: center,
21
+ padding: var(--spacing-10),
22
+ color: var(--color-white),
23
+ background-color: var(--color-gray),
24
+ font-size: var(--text-16),
25
+ ),
26
+ content: (
27
+ padding: var(--spacing-10),
28
+ background-color: var(--color-surface-2),
29
+ flex-grow: 1,
30
+ min-height: 0,
31
+ overflow: auto,
32
+ font-size: var(--text-14),
33
+ ),
34
+ close: (
35
+ position: absolute,
36
+ right: var(--spacing-10),
37
+ inline-size: 1.1em,
38
+ block-size: 1.1em,
39
+ cursor: pointer,
40
+ border-radius: var(--rounded),
41
+ background-image: var(--bg-close),
42
+ background-color: var(--color-surface-2),
43
+ background-position: center,
44
+ background-size: 70% auto,
45
+ background-repeat: no-repeat,
46
+ ),
47
+ pie: (
48
+ position: absolute,
49
+ display: block,
50
+ right: var(--spacing-10),
51
+ width: 1.1em,
52
+ height: 1.1em,
53
+ background-color: var(--color-white),
54
+ border: 1px solid var(--color-white),
55
+ border-radius: 50%,
56
+ overflow: hidden,
57
+ opacity: 0.8,
58
+ cursor: pointer,
59
+ pseudo: (
60
+ before: (
61
+ position: absolute,
62
+ top: 0,
63
+ width: 50%,
64
+ height: 100%,
65
+ transform-origin: 100% 50%,
66
+ background-color: var(--color-gray),
67
+ border-radius: 100% 0 0 100% / 50% 0 0 50%,
68
+ will-change: transform,
69
+ [animation]: spin var(--toast-pie-animation-duration) linear,
70
+ ),
71
+ after: (
72
+ position: absolute,
73
+ top: 0,
74
+ width: 50%,
75
+ height: 100%,
76
+ background-color: var(--color-white),
77
+ will-change: opacity,
78
+ border-radius: 100% 0 0 100% / 50% 0 0 50%,
79
+ [animation]: pie-masks var(--toast-pie-animation-duration)
80
+ steps(1, end),
81
+ opacity: 0,
82
+ ),
83
+ ),
84
+ ),
85
+ pie-mask: (
86
+ position: absolute,
87
+ top: 0,
88
+ width: 50%,
89
+ height: 100%,
90
+ left: 50%,
91
+ background-color: var(--color-gray),
92
+ will-change: opacity,
93
+ [animation]: pie-masks var(--toast-pie-animation-duration)
94
+ steps(1, end) reverse,
95
+ z-index: 1,
96
+ ),
97
+ ),
98
+ modifier: (
99
+ fixed: (
100
+ position: fixed,
101
+ z-index: var(--z-toast),
102
+ ),
103
+ top: (
104
+ inset-block: var(--spacing-lg) auto,
105
+ ),
106
+ right: (
107
+ inset-inline: auto var(--spacing-lg),
108
+ ),
109
+ bottom: (
110
+ inset-block: auto var(--spacing-lg),
111
+ ),
112
+ left: (
113
+ inset-inline: var(--spacing-lg) auto,
114
+ ),
115
+ center: (
116
+ inset-inline: 50% auto,
117
+ transform: translateX(-50%),
118
+ ),
119
+ dismissable: (
120
+ element: (
121
+ header: (
122
+ padding-right: calc(var(--spacing-10) * 2 + 1.1em),
123
+ ),
124
+ ),
125
+ ),
126
+ success: (
127
+ border-color: var(--color-success),
128
+ element: (
129
+ header: (
130
+ background-color: var(--color-success),
131
+ ),
132
+ content: (
133
+ border-color: var(--color-success),
134
+ background-color: var(--color-surface-success),
135
+ ),
136
+ pie: (
137
+ pseudo: (
138
+ before: (
139
+ background-color: var(--color-success),
140
+ ),
141
+ ),
142
+ ),
143
+ pie-mask: (
144
+ background-color: var(--color-success),
145
+ ),
146
+ ),
147
+ ),
148
+ danger: (
149
+ border-color: var(--color-danger),
150
+ element: (
151
+ header: (
152
+ background-color: var(--color-danger),
153
+ ),
154
+ content: (
155
+ border-color: var(--color-danger),
156
+ background-color: var(--color-surface-danger),
157
+ ),
158
+ pie: (
159
+ pseudo: (
160
+ before: (
161
+ background-color: var(--color-danger),
162
+ ),
163
+ ),
164
+ ),
165
+ pie-mask: (
166
+ background-color: var(--color-danger),
167
+ ),
168
+ ),
169
+ ),
170
+ warning: (
171
+ border-color: var(--color-warning-darken-1),
172
+ element: (
173
+ header: (
174
+ background-color: var(--color-warning-darken-1),
175
+ ),
176
+ content: (
177
+ border-color: var(--color-warning),
178
+ background-color: var(--color-surface-warning),
179
+ ),
180
+ pie: (
181
+ pseudo: (
182
+ before: (
183
+ background-color: var(--color-warning),
184
+ ),
185
+ ),
186
+ ),
187
+ pie-mask: (
188
+ background-color: var(--color-warning),
189
+ ),
190
+ ),
191
+ ),
192
+ info: (
193
+ border-color: var(--color-info-darken-1),
194
+ element: (
195
+ header: (
196
+ background-color: var(--color-info-darken-1),
197
+ ),
198
+ content: (
199
+ border-color: var(--color-info),
200
+ background-color: var(--color-surface-info),
201
+ ),
202
+ pie: (
203
+ pseudo: (
204
+ before: (
205
+ background-color: var(--color-info-darken-1),
206
+ ),
207
+ ),
208
+ ),
209
+ pie-mask: (
210
+ background-color: var(--color-info-darken-1),
211
+ ),
212
+ ),
213
+ ),
214
+ accent: (
215
+ border-color: var(--color-accent),
216
+ element: (
217
+ header: (
218
+ background-color: var(--color-accent),
219
+ ),
220
+ content: (
221
+ border-color: var(--color-accent),
222
+ background-color: var(--color-surface-accent),
223
+ ),
224
+ pie: (
225
+ pseudo: (
226
+ before: (
227
+ background-color: var(--color-accent),
228
+ ),
229
+ ),
230
+ ),
231
+ pie-mask: (
232
+ background-color: var(--color-accent),
233
+ ),
234
+ ),
235
+ ),
236
+ brand: (
237
+ border-color: var(--color-brand),
238
+ element: (
239
+ header: (
240
+ background-color: var(--color-brand),
241
+ ),
242
+ content: (
243
+ border-color: var(--color-brand),
244
+ background-color: var(--color-surface-brand),
245
+ ),
246
+ pie: (
247
+ pseudo: (
248
+ before: (
249
+ background-color: var(--color-brand),
250
+ ),
251
+ ),
252
+ ),
253
+ pie-mask: (
254
+ background-color: var(--color-brand),
255
+ ),
256
+ ),
257
+ ),
258
+ ),
259
+ ) !default;
@@ -0,0 +1,74 @@
1
+ $vv-tooltip: (
2
+ opacity: 0,
3
+ display: block,
4
+ position: absolute,
5
+ inset-inline: 100% auto,
6
+ top: 50%,
7
+ transform: translate(var(--spacing-10), -50%),
8
+ z-index: var(--z-tooltip),
9
+ inline-size: max-content,
10
+ max-inline-size: 25ch,
11
+ border-radius: var(--rounded-md),
12
+ padding: var(--spacing-4) var(--spacing-sm),
13
+ background: var(--color-gray-darken-4),
14
+ font-size: var(--text-12),
15
+ font-weight: var(--font-normal),
16
+ color: var(--color-gray-lighten-5),
17
+ text-align: center,
18
+ box-shadow: var(--shadow-md),
19
+ will-change: opacity,
20
+ transition: var(--transition-opacity),
21
+ pseudo: (
22
+ after: (
23
+ position: absolute,
24
+ z-index: -1,
25
+ inset-inline: 0 auto,
26
+ inset-block: 50% auto,
27
+ transform: translate(-100%, -50%),
28
+ border-width: var(--spacing-8),
29
+ border-style: solid,
30
+ border-color: transparent var(--color-gray-darken-4) transparent
31
+ transparent,
32
+ ),
33
+ ),
34
+ modifier: (
35
+ visible: (
36
+ opacity: 1,
37
+ ),
38
+ top: (
39
+ inset-inline: 50% 0,
40
+ inset-block: auto 100%,
41
+ transform: translate(-50%, calc(var(--spacing-10) * -1)),
42
+ pseudo: (
43
+ after: (
44
+ inset-inline: 50% auto,
45
+ inset-block: 100% auto,
46
+ transform: translate(-50%, 0) rotate(-90deg),
47
+ ),
48
+ ),
49
+ ),
50
+ bottom: (
51
+ inset-inline: 50% 0,
52
+ inset-block: 100% auto,
53
+ transform: translate(-50%, var(--spacing-10)),
54
+ pseudo: (
55
+ after: (
56
+ inset-inline: 50% auto,
57
+ inset-block: 0 auto,
58
+ transform: translate(-50%, -100%) rotate(90deg),
59
+ ),
60
+ ),
61
+ ),
62
+ left: (
63
+ inset-inline: auto 100%,
64
+ transform: translate(calc(var(--spacing-10) * -1), -50%),
65
+ pseudo: (
66
+ after: (
67
+ position: absolute,
68
+ inset-inline: auto 0,
69
+ transform: translate(100%, -50%) rotate(180deg),
70
+ ),
71
+ ),
72
+ ),
73
+ ),
74
+ ) !default;
@@ -1,8 +1,11 @@
1
1
  // configuration
2
- @import '../../config';
2
+ @forward '../../config';
3
3
 
4
4
  // tools (mixins, functions, recipes)
5
- @import '../../tools';
5
+ @forward '../../tools';
6
6
 
7
- // settings
8
- @import 'settings';
7
+ // main settings
8
+ @forward '../../settings';
9
+
10
+ // theme settings
11
+ @forward 'settings';
@@ -1,15 +1,13 @@
1
1
  @use 'sass:map';
2
- @import '../context';
2
+ @use '../context' as *;
3
3
 
4
4
  $component-name: map.get($components-names, vv-button);
5
5
  $component-map: $dark-vv-button;
6
- $props: true;
7
6
 
8
7
  @mixin theme-dark-vv-button {
9
8
  @include spread-map-into-props(
10
9
  $map: $component-map,
11
- $prefix: $component-name,
12
- $deep: $props
10
+ $prefix: $component-name
13
11
  );
14
12
  }
15
13
 
@@ -1,2 +1 @@
1
- @import 'vv-button';
2
- @import 'vv-input-checkbox';
1
+ @use 'vv-button';
@@ -1,4 +1,4 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  @mixin theme-dark-bg {
4
4
  @include spread-map-into-props($dark-background-image, 'bg');
@@ -1,4 +1,4 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  @mixin theme-dark-colors {
4
4
  @include spread-map-into-props($dark-colors, 'color');
@@ -0,0 +1,15 @@
1
+ @use '../context' as *;
2
+
3
+ @mixin theme-dark-input {
4
+ @include spread-map-into-props($dark-input, 'input');
5
+ }
6
+
7
+ :where(:host, :root, .theme):not(.theme--light) {
8
+ @media (prefers-color-scheme: dark) {
9
+ @include theme-dark-input;
10
+ }
11
+ }
12
+
13
+ :where(.theme.theme--dark) {
14
+ @include theme-dark-input;
15
+ }
@@ -1,2 +1,3 @@
1
- @import 'background';
2
- @import 'colors';
1
+ @use 'background';
2
+ @use 'colors';
3
+ @use 'input';
@@ -1,3 +1,6 @@
1
+ @use 'colors' as *;
2
+ @use '../../../tools/functions' as *;
3
+
1
4
  // background-image
2
5
  $dark-background-image: (
3
6
  none: none,
@@ -9,4 +12,6 @@ $dark-background-image: (
9
12
  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($dark-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"),
10
13
  minus:
11
14
  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($dark-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"),
15
+ close:
16
+ 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($dark-color-word)})' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20L4 4m16 0L4 20'/%3E%3C/svg%3E"),
12
17
  ) !default;