@volverjs/style 0.1.2-beta.6 → 0.1.2-beta.8

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 (59) hide show
  1. package/README.md +2 -2
  2. package/dist/components/vv-accordion.css +1 -1
  3. package/dist/components/vv-badge.css +1 -1
  4. package/dist/components/vv-breadcrumb.css +1 -1
  5. package/dist/components/vv-button-group.css +1 -1
  6. package/dist/components/vv-button.css +1 -1
  7. package/dist/components/vv-card.css +1 -1
  8. package/dist/components/vv-dialog.css +1 -1
  9. package/dist/components/vv-input-checkbox.css +1 -1
  10. package/dist/components/vv-input-radio.css +1 -1
  11. package/dist/components/vv-input-text.css +1 -1
  12. package/dist/components/vv-nav.css +1 -0
  13. package/dist/components/vv-select.css +1 -1
  14. package/dist/components/vv-table.css +1 -1
  15. package/dist/components/vv-text.css +1 -1
  16. package/dist/components/vv-textarea.css +1 -1
  17. package/dist/components.css +1 -1
  18. package/dist/themes/dark/{style.css → volver.css} +0 -0
  19. package/dist/utilities/flexbox.css +1 -1
  20. package/dist/utilities/grid.css +1 -1
  21. package/dist/utilities/layout.css +1 -1
  22. package/dist/utilities.css +1 -1
  23. package/dist/volver.css +1 -0
  24. package/package.json +141 -115
  25. package/src/{preflight.scss → _preflight.scss} +71 -1
  26. package/src/components/vv-button-group.scss +4 -8
  27. package/src/settings/components/_vv-accordion.scss +2 -2
  28. package/src/settings/components/_vv-badge.scss +22 -9
  29. package/src/settings/components/_vv-breadcrumb.scss +2 -0
  30. package/src/settings/components/_vv-button.scss +38 -11
  31. package/src/settings/components/_vv-card.scss +2 -1
  32. package/src/settings/components/_vv-dialog.scss +2 -2
  33. package/src/settings/components/_vv-input-checkbox.scss +3 -2
  34. package/src/settings/components/_vv-input-radio.scss +2 -1
  35. package/src/settings/components/_vv-input-text.scss +3 -3
  36. package/src/settings/components/_vv-nav.scss +57 -1
  37. package/src/settings/components/_vv-select.scss +77 -3
  38. package/src/settings/components/_vv-table.scss +16 -3
  39. package/src/settings/components/_vv-text.scss +0 -1
  40. package/src/settings/components/_vv-textarea.scss +3 -3
  41. package/src/themes/dark/components/_vv-button.scss +1 -1
  42. package/src/themes/dark/components/_vv-input-checkbox.scss +1 -1
  43. package/src/themes/dark/props/_background.scss +1 -1
  44. package/src/themes/dark/props/_colors.scss +1 -1
  45. package/src/themes/dark/settings/_background.scss +4 -4
  46. package/src/themes/dark/settings/_colors.scss +10 -10
  47. package/src/themes/dark/settings/components/_vv-button.scss +1 -1
  48. package/src/themes/dark/settings/components/_vv-input-checkbox.scss +3 -3
  49. package/src/themes/dark/{style.scss → volver.scss} +0 -0
  50. package/src/tools/_mixins.scss +31 -4
  51. package/src/utilities/flexbox.scss +18 -7
  52. package/src/utilities/grid.scss +16 -8
  53. package/src/utilities/layout.scss +2 -1
  54. package/src/{style.scss → volver.scss} +4 -4
  55. package/dist/components/assets/vv-nav.3896d2c7.js +0 -1
  56. package/dist/preflight.css +0 -1
  57. package/dist/style.css +0 -1
  58. package/src/assets/24consulting.svg +0 -63
  59. package/src/assets/volverjs.svg +0 -15
@@ -1,8 +1,9 @@
1
1
  $vv-button: (
2
+ --button-border-width: var(--border-2),
2
3
  position: relative,
3
4
  background: var(--color-brand),
4
5
  border-radius: 0.5ch,
5
- border-width: var(--border-2),
6
+ [border-width]: var(--button-border-width),
6
7
  border-style: solid,
7
8
  border-color: var(--color-brand),
8
9
  color: var(--color-white),
@@ -13,7 +14,7 @@ $vv-button: (
13
14
  padding-block: 0.75ch,
14
15
  padding-inline: 1.75ch,
15
16
  text-shadow: 0 1px 0 var(--color-gray-darken-5),
16
- transition: all 0.2s ease-in-out,
17
+ transition: all 0.3s ease-in-out,
17
18
  will-change: all,
18
19
  min-width: 0,
19
20
  state: (
@@ -29,6 +30,10 @@ $vv-button: (
29
30
  background: var(--color-brand-darken-2),
30
31
  border-color: var(--color-brand-darken-2),
31
32
  ),
33
+ selected: (
34
+ background: var(--color-brand-darken-2),
35
+ border-color: var(--color-brand-darken-2),
36
+ ),
32
37
  disabled: (
33
38
  opacity: 0.5,
34
39
  cursor: not-allowed,
@@ -70,6 +75,10 @@ $vv-button: (
70
75
  background: var(--color-gray-darken-5),
71
76
  border-color: var(--color-gray-darken-5),
72
77
  ),
78
+ selected: (
79
+ background: var(--color-gray-darken-5),
80
+ border-color: var(--color-gray-darken-5),
81
+ ),
73
82
  ),
74
83
  ),
75
84
  secondary: (
@@ -88,6 +97,9 @@ $vv-button: (
88
97
  active: (
89
98
  background: var(--color-gray-lighten-3),
90
99
  ),
100
+ selected: (
101
+ background: var(--color-gray-lighten-3),
102
+ ),
91
103
  ),
92
104
  ),
93
105
  danger: (
@@ -106,6 +118,10 @@ $vv-button: (
106
118
  background: var(--color-danger-darken-2),
107
119
  border-color: var(--color-danger-darken-2),
108
120
  ),
121
+ selected: (
122
+ background: var(--color-danger-darken-2),
123
+ border-color: var(--color-danger-darken-2),
124
+ ),
109
125
  ),
110
126
  ),
111
127
  ghost: (
@@ -124,9 +140,12 @@ $vv-button: (
124
140
  active: (
125
141
  background: var(--color-gray-lighten-4),
126
142
  ),
143
+ selected: (
144
+ background: var(--color-gray-lighten-4),
145
+ ),
127
146
  ),
128
147
  ),
129
- text: (
148
+ link: (
130
149
  background: transparent,
131
150
  border-color: var(--color-word),
132
151
  border-width: var(--border-0),
@@ -162,6 +181,10 @@ $vv-button: (
162
181
  border-color: var(--color-gray-lighten-4),
163
182
  background: var(--color-gray-lighten-4),
164
183
  ),
184
+ selected: (
185
+ border-color: var(--color-gray-lighten-4),
186
+ background: var(--color-gray-lighten-4),
187
+ ),
165
188
  ),
166
189
  ),
167
190
  static-dark: (
@@ -181,18 +204,22 @@ $vv-button: (
181
204
  border-color: var(--color-gray-darken-3),
182
205
  background: var(--color-gray-darken-3),
183
206
  ),
207
+ selected: (
208
+ border-color: var(--color-gray-darken-3),
209
+ background: var(--color-gray-darken-3),
210
+ ),
184
211
  ),
185
212
  ),
186
213
  action: (
214
+ --button-border-width: var(--border),
187
215
  font-size: 0.875em,
188
216
  background: var(--color-surface-1),
189
217
  color: var(--color-word-1),
190
218
  border-color: var(--color-word-5),
191
- border-width: var(--border),
192
219
  font-weight: var(--font-normal),
193
220
  padding-inline: 0.75ch,
194
221
  padding-block: 0.5ch,
195
- line-height: var(--leading-none),
222
+ line-height: var(--leading-snug),
196
223
  text-shadow: none,
197
224
  state: (
198
225
  focus-visible: (
@@ -213,21 +240,21 @@ $vv-button: (
213
240
  element: (
214
241
  icon: (
215
242
  margin-inline: -0.125ch,
216
- block-size: 1.4em,
217
- inline-size: 1.4em,
243
+ block-size: calc(1em * var(--leading-snug)),
244
+ inline-size: calc(1em * var(--leading-snug)),
218
245
  ),
219
246
  ),
220
247
  ),
221
248
  action-quiet: (
249
+ --button-border-width: var(--border),
222
250
  font-size: var(--text-14),
223
251
  background: transparent,
224
252
  color: var(--color-word-1),
225
- border-width: var(--border),
226
253
  border-color: transparent,
227
254
  font-weight: var(--font-normal),
228
255
  padding-inline: 0.75ch,
229
256
  padding-block: 0.5ch,
230
- line-height: var(--leading-none),
257
+ line-height: var(--leading-snug),
231
258
  text-shadow: none,
232
259
  state: (
233
260
  focus-visible: (
@@ -251,8 +278,8 @@ $vv-button: (
251
278
  element: (
252
279
  icon: (
253
280
  margin-inline: -0.125ch,
254
- block-size: 1.4em,
255
- inline-size: 1.4em,
281
+ block-size: calc(1em * var(--leading-snug)),
282
+ inline-size: calc(1em * var(--leading-snug)),
256
283
  ),
257
284
  ),
258
285
  ),
@@ -29,6 +29,8 @@ $vv-card: (
29
29
  display: block,
30
30
  width: 100%,
31
31
  height: auto,
32
+ object-fit: cover,
33
+ object-position: center,
32
34
  ),
33
35
  content: (
34
36
  padding: var(--spacing-md),
@@ -38,7 +40,6 @@ $vv-card: (
38
40
  ),
39
41
  footer: (
40
42
  _alias: '> footer',
41
- background-color: var(--color-surface-1),
42
43
  border-top: var(--border) solid var(--color-surface-4),
43
44
  padding: var(--spacing-md),
44
45
  ),
@@ -26,7 +26,7 @@ $vv-dialog: (
26
26
  flex-direction: column,
27
27
  position: relative,
28
28
  box-shadow: var(--shadow-lg),
29
- max-width: clamp(30vw, 40rem, 90vw),
29
+ max-width: clamp(30vw, 40rem, 50vw),
30
30
  max-height: 90vh,
31
31
  z-index: var(--z-modal),
32
32
  background: var(--color-surface),
@@ -67,7 +67,7 @@ $vv-dialog: (
67
67
  small: (
68
68
  element: (
69
69
  wrapper: (
70
- max-width: clamp(10vw, 25rem, 90vw),
70
+ max-width: clamp(10vw, 25rem, 30vw),
71
71
  ),
72
72
  ),
73
73
  ),
@@ -14,6 +14,7 @@ $vv-input-checkbox: (
14
14
  cursor: not-allowed,
15
15
  ),
16
16
  readonly: (
17
+ opacity: 1,
17
18
  cursor: default,
18
19
  pointer-events: none,
19
20
  ),
@@ -55,7 +56,7 @@ $vv-input-checkbox: (
55
56
  background-color: var(--color-word-5),
56
57
  position: relative,
57
58
  will-change: background-color,
58
- transition: background-color 0.2s ease-in-out,
59
+ transition: background-color 0.3s ease-in-out,
59
60
  pseudo: (
60
61
  after: (
61
62
  width: var(--spacing-20),
@@ -65,7 +66,7 @@ $vv-input-checkbox: (
65
66
  inset: var(--spacing-2) 0 0 var(--spacing-2),
66
67
  background: var(--color-white),
67
68
  will-change: transform,
68
- transition: transform 0.2s ease-in-out,
69
+ transition: transform 0.3s ease-in-out,
69
70
  ),
70
71
  ),
71
72
  state: (
@@ -14,6 +14,7 @@ $vv-input-radio: (
14
14
  cursor: not-allowed,
15
15
  ),
16
16
  readonly: (
17
+ opacity: 1,
17
18
  cursor: default,
18
19
  pointer-events: none,
19
20
  ),
@@ -39,7 +40,7 @@ $vv-input-radio: (
39
40
  border-radius: 50%,
40
41
  transform: translate(-50%, -50%) scale(0),
41
42
  will-change: transform,
42
- transition: transform 0.2s ease-in-out,
43
+ transition: transform 0.3s ease-in-out,
43
44
  ),
44
45
  ),
45
46
  state: (
@@ -25,7 +25,7 @@ $vv-input-text: (
25
25
  overflow: hidden,
26
26
  background-color: var(--input-background-color),
27
27
  will-change: background-color,
28
- transition: background-color 0.2s ease-in-out,
28
+ transition: background-color 0.3s ease-in-out,
29
29
  pseudo: (
30
30
  before: (
31
31
  position: absolute,
@@ -41,7 +41,7 @@ $vv-input-text: (
41
41
  transform: scaleX(0),
42
42
  transform-origin: left,
43
43
  will-change: transform,
44
- transition: transform 0.2s ease-in-out,
44
+ transition: transform 0.3s ease-in-out,
45
45
  ),
46
46
  ),
47
47
  state: (
@@ -248,7 +248,7 @@ $vv-input-text: (
248
248
  margin: 0,
249
249
  will-change: 'transform',
250
250
  transform-origin: left,
251
- transition: all 0.2s ease-in-out,
251
+ transition: all 0.3s ease-in-out,
252
252
  ),
253
253
  input: (
254
254
  pseudo: (
@@ -1 +1,57 @@
1
- $vv-nav: () !default;
1
+ $vv-nav: (
2
+ --nav-item-padding: var(--spacing-xs) var(--spacing-sm),
3
+ element: (
4
+ menu: (
5
+ _alias: 'ul',
6
+ flex: 1,
7
+ display: flex,
8
+ flex-direction: column,
9
+ gap: var(--spacing-2),
10
+ ),
11
+ item: (
12
+ _alias: 'li',
13
+ ),
14
+ heading-label: (
15
+ _alias: '[aria-hidden="true"]',
16
+ display: block,
17
+ font-weight: var(--font-semibold),
18
+ [padding]: var(--nav-item-padding),
19
+ ),
20
+ item-label: (
21
+ _alias: 'li > a',
22
+ display: block,
23
+ will-change: background-color color,
24
+ transition: all 0.3s ease-in-out,
25
+ border-radius: var(--rounded-md),
26
+ color: var(--color-word-3),
27
+ [padding]: var(--nav-item-padding),
28
+ state: (
29
+ hover: (
30
+ background-color: var(--color-surface-2),
31
+ color: var(--color-word-1),
32
+ ),
33
+ active: (
34
+ background-color: var(--color-surface-3),
35
+ ),
36
+ current: (
37
+ background-color: var(--color-surface-2),
38
+ color: var(--color-word-1),
39
+ ),
40
+ ),
41
+ ),
42
+ divider: (
43
+ _alias: 'li[role="separator"]',
44
+ display: block,
45
+ margin-block: var(--spacing-16),
46
+ height: var(--spacing-px),
47
+ background-color: var(--color-surface-3),
48
+ ),
49
+ ),
50
+ modifier: (
51
+ menu: (
52
+ font-size: 0.9em,
53
+ display: flex,
54
+ flex-direction: column,
55
+ ),
56
+ ),
57
+ ) !default;
@@ -25,7 +25,7 @@ $vv-select: (
25
25
  flex: 1,
26
26
  background-color: var(--input-background-color),
27
27
  will-change: background-color,
28
- transition: background-color 0.2s ease-in-out,
28
+ transition: background-color 0.3s ease-in-out,
29
29
  pseudo: (
30
30
  before: (
31
31
  position: absolute,
@@ -41,7 +41,7 @@ $vv-select: (
41
41
  transform: scaleX(0),
42
42
  transform-origin: left,
43
43
  will-change: transform,
44
- transition: transform 0.2s ease-in-out,
44
+ transition: transform 0.3s ease-in-out,
45
45
  ),
46
46
  ),
47
47
  state: (
@@ -170,7 +170,81 @@ $vv-select: (
170
170
  background: var(--color-brand-lighten-5),
171
171
  ),
172
172
  after: (
173
- animation: progress 2.2s infinite,
173
+ animation: var(--animate-indeterminate),
174
+ ),
175
+ ),
176
+ ),
177
+ ),
178
+ ),
179
+ floating: (
180
+ [margin-left]: var(--input-padding-left),
181
+ [margin-right]: var(--input-padding-right),
182
+ element: (
183
+ wrapper: (
184
+ [margin-left]: calc(var(--input-padding-left) * -1),
185
+ [margin-right]: calc(var(--input-padding-right) * -1),
186
+ ),
187
+ hint: (
188
+ [margin-left]: calc(var(--input-padding-left) * -1),
189
+ [margin-right]: calc(var(--input-padding-right) * -1),
190
+ ),
191
+ label: (
192
+ position: absolute,
193
+ z-index: 1,
194
+ pointer-events: none,
195
+ font-size: inherit,
196
+ [padding-top]: var(--input-padding-top),
197
+ [padding-bottom]: var(--input-padding-bottom),
198
+ padding-inline: 0,
199
+ margin: 0,
200
+ will-change: 'transform',
201
+ transform-origin: left,
202
+ transition: all 0.3s ease-in-out,
203
+ ),
204
+ input: (
205
+ pseudo: (
206
+ placeholder: (
207
+ opacity: 0,
208
+ ),
209
+ ),
210
+ ),
211
+ ),
212
+ state: (
213
+ focus-within: (
214
+ element: (
215
+ label: (
216
+ transform: translateY(-1.2ch),
217
+ font-size: var(--text-12),
218
+ ),
219
+ input: (
220
+ [padding-top]:
221
+ calc(var(--input-padding-top) + 0.85ch),
222
+ [padding-bottom]:
223
+ calc(var(--input-padding-bottom) - 0.85ch),
224
+ pseudo: (
225
+ placeholder: (
226
+ opacity: 1,
227
+ ),
228
+ ),
229
+ ),
230
+ ),
231
+ ),
232
+ dirty: (
233
+ element: (
234
+ label: (
235
+ transform: translateY(-1.2ch),
236
+ font-size: var(--text-12),
237
+ ),
238
+ input: (
239
+ [padding-top]:
240
+ calc(var(--input-padding-top) + 0.85ch),
241
+ [padding-bottom]:
242
+ calc(var(--input-padding-bottom) - 0.85ch),
243
+ pseudo: (
244
+ placeholder: (
245
+ opacity: 1,
246
+ ),
247
+ ),
174
248
  ),
175
249
  ),
176
250
  ),
@@ -1,11 +1,18 @@
1
1
  $vv-table: (
2
+ --table-cell-padding: var(--spacing-md) 0,
2
3
  width: 100%,
4
+ border-collapse: collapse,
5
+ border-color: var(--color-surface-5),
3
6
  element: (
4
7
  tr: (
5
8
  _alias: 'tr',
6
9
  border-width: 0 0 1px 0,
7
10
  border-style: solid,
8
- border-color: var(--color-alpha-1),
11
+ border-color: var(--color-surface-5),
12
+ ),
13
+ tbody-tr: (
14
+ _alias: 'tbody > tr',
15
+ border-color: var(--color-surface-3),
9
16
  state: (
10
17
  last-child: (
11
18
  border-width: 0,
@@ -15,15 +22,21 @@ $vv-table: (
15
22
  th: (
16
23
  _alias: 'th',
17
24
  font-weight: semibold,
18
- padding-block: var(--spacing-md),
19
25
  font-size: var(--text-sm),
20
26
  color: var(--color-word-2),
27
+ [padding]: var(--table-cell-padding),
21
28
  ),
22
29
  td: (
23
30
  _alias: 'td',
24
- padding-block: var(--spacing-md),
25
31
  border-style: solid,
26
32
  font-size: var(--text-xs),
33
+ [padding]: var(--table-cell-padding),
34
+ ),
35
+ ),
36
+ modifier: (
37
+ inline-spacing: (
38
+ --table-cell-padding: var(--spacing-md),
39
+ border-width: 0,
27
40
  ),
28
41
  ),
29
42
  ) !default;
@@ -4,7 +4,6 @@ $vv-text: (
4
4
  line-height: var(--leading-normal),
5
5
  modifier: (
6
6
  headline: (
7
- font-family: var(--font-serif),
8
7
  font-weight: var(--font-semibold),
9
8
  line-height: var(--leading-tight),
10
9
  margin-top: var(--spacing-24),
@@ -25,7 +25,7 @@ $vv-textarea: (
25
25
  overflow: hidden,
26
26
  background-color: var(--input-background-color),
27
27
  will-change: background-color,
28
- transition: background-color 0.2s ease-in-out,
28
+ transition: background-color 0.3s ease-in-out,
29
29
  pseudo: (
30
30
  before: (
31
31
  position: absolute,
@@ -41,7 +41,7 @@ $vv-textarea: (
41
41
  transform: scaleX(0),
42
42
  transform-origin: left,
43
43
  will-change: transform,
44
- transition: transform 0.2s ease-in-out,
44
+ transition: transform 0.3s ease-in-out,
45
45
  ),
46
46
  ),
47
47
  state: (
@@ -196,7 +196,7 @@ $vv-textarea: (
196
196
  margin: 0,
197
197
  will-change: 'transform',
198
198
  transform-origin: left,
199
- transition: all 0.2s ease-in-out,
199
+ transition: all 0.3s ease-in-out,
200
200
  ),
201
201
  input: (
202
202
  pseudo: (
@@ -2,7 +2,7 @@
2
2
  @import '../context';
3
3
 
4
4
  $component-name: map.get($components-names, vv-button);
5
- $component-map: $vv-button;
5
+ $component-map: $dark-vv-button;
6
6
  $props: true;
7
7
 
8
8
  @mixin theme-dark-vv-button {
@@ -2,7 +2,7 @@
2
2
  @import '../context';
3
3
 
4
4
  $component-name: map.get($components-names, vv-input-checkbox);
5
- $component-map: $vv-input-checkbox;
5
+ $component-map: $dark-vv-input-checkbox;
6
6
  $props: true;
7
7
 
8
8
  @mixin theme-dark-vv-input-checkbox {
@@ -1,7 +1,7 @@
1
1
  @import '../context';
2
2
 
3
3
  @mixin theme-dark-bg {
4
- @include spread-map-into-props($background-image, 'bg');
4
+ @include spread-map-into-props($dark-background-image, 'bg');
5
5
  }
6
6
 
7
7
  :where(:host, :root, .theme):not(.theme--light) {
@@ -1,7 +1,7 @@
1
1
  @import '../context';
2
2
 
3
3
  @mixin theme-dark-colors {
4
- @include spread-map-into-props($colors, 'color');
4
+ @include spread-map-into-props($dark-colors, 'color');
5
5
  }
6
6
 
7
7
  :where(:host, :root, .theme):not(.theme--light) {
@@ -1,12 +1,12 @@
1
1
  // background-image
2
- $background-image: (
2
+ $dark-background-image: (
3
3
  none: none,
4
4
  chevron:
5
- 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"),
5
+ 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%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"),
6
6
  grid:
7
7
  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"),
8
8
  check:
9
- 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"),
9
+ 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
10
  minus:
11
- 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"),
11
+ 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"),
12
12
  ) !default;
@@ -1,15 +1,15 @@
1
1
  @use 'sass:color';
2
2
 
3
- $color-scheme: dark !default;
4
- $color-brand: #1976d2 !default;
5
- $color-word: hsl(color.hue($color-brand) 15% 85%) !default;
6
- $color-surface: hsl(color.hue($color-brand) 10% 5%) !default;
7
- $color-alpha: hsla(0deg 0% 100% / 0%) !default;
3
+ $dark-color-scheme: dark !default;
4
+ $dark-color-brand: #1976d2 !default;
5
+ $dark-color-word: hsl(color.hue($dark-color-brand) 15% 85%) !default;
6
+ $dark-color-surface: hsl(color.hue($dark-color-brand) 10% 5%) !default;
7
+ $dark-color-alpha: hsla(0deg 0% 100% / 0%) !default;
8
8
 
9
9
  // color map
10
- $colors: (
11
- scheme: $color-scheme,
12
- word: color-darken-map($color-word, 'word', $scale: 15%),
13
- surface: color-lighten-map($color-surface, 'surface', $scale: 5%),
14
- alpha: color-alpha-map($color-alpha, 'alpha', $steps: 5, $scale: 5%),
10
+ $dark-colors: (
11
+ scheme: $dark-color-scheme,
12
+ word: color-darken-map($dark-color-word, 'word', $scale: 15%),
13
+ surface: color-lighten-map($dark-color-surface, 'surface', $scale: 5%),
14
+ alpha: color-alpha-map($dark-color-alpha, 'alpha', $steps: 5, $scale: 5%),
15
15
  ) !default;
@@ -1,4 +1,4 @@
1
- $vv-button: (
1
+ $dark-vv-button: (
2
2
  modifier: (
3
3
  primary: (
4
4
  border-color: var(--color-gray-lighten-3),
@@ -1,10 +1,10 @@
1
- $vv-input-checkbox: (
1
+ $dark-vv-input-checkbox: (
2
2
  element: (
3
3
  input: (
4
4
  state: (
5
5
  checked: (
6
6
  background-image:
7
- 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"),
7
+ 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"),
8
8
  ),
9
9
  ),
10
10
  ),
@@ -16,7 +16,7 @@ $vv-input-checkbox: (
16
16
  state: (
17
17
  checked: (
18
18
  background-image:
19
- 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"),
19
+ 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"),
20
20
  ),
21
21
  ),
22
22
  ),
File without changes
@@ -397,7 +397,8 @@
397
397
  close,
398
398
  determinate,
399
399
  indeterminate,
400
- selected
400
+ selected,
401
+ current
401
402
  ),
402
403
  $state
403
404
  )
@@ -480,16 +481,30 @@
480
481
  '#{$modifier}#{$alias}[#{$state}]'
481
482
  );
482
483
  }
484
+
485
+ @if $state == 'disabled' {
486
+ $selectors: list.join(
487
+ $selectors,
488
+ '#{$modifier}#{$block-item}[aria-disabled="true"]'
489
+ );
490
+
491
+ @if $alias {
492
+ $selectors: list.join(
493
+ $selectors,
494
+ '#{$modifier}#{$alias}[aria-disabled="true"]'
495
+ );
496
+ }
497
+ }
483
498
  } @else if $state == 'focus-visible' {
484
499
  $selectors: list.join(
485
500
  $selectors,
486
- '#{$modifier}#{$block-item}:not(:active):not([disabled]):not([tabindex="-1"]):#{$state}'
501
+ '#{$modifier}#{$block-item}:not(:active):not([disabled]):not([tabindex="-1"]:not([aria-disabled="true"])):#{$state}'
487
502
  );
488
503
 
489
504
  @if $alias {
490
505
  $selectors: list.join(
491
506
  $selectors,
492
- '#{$modifier}#{$alias}:not(:active):not([disabled]):not([tabindex="-1"]):#{$state}'
507
+ '#{$modifier}#{$alias}:not(:active):not([disabled]):not([tabindex="-1"]:not([aria-disabled="true"])):#{$state}'
493
508
  );
494
509
  }
495
510
  } @else if $state == 'checked' {
@@ -504,7 +519,19 @@
504
519
  '#{$modifier}#{$alias}:#{$state}'
505
520
  );
506
521
  }
507
- } @else if $state != 'selected' {
522
+ } @else if $state == 'selected' {
523
+ $selectors: list.join(
524
+ $selectors,
525
+ '#{$modifier}#{$block-item}[aria-selected="true"]'
526
+ );
527
+
528
+ @if $alias {
529
+ $selectors: list.join(
530
+ $selectors,
531
+ '#{$modifier}#{$alias}[aria-selected="true"]'
532
+ );
533
+ }
534
+ } @else if $state != 'current' {
508
535
  $selectors: list.join(
509
536
  $selectors,
510
537
  '#{$modifier}#{$block-item}:not([disabled]):#{$state}'