@volverjs/style 0.1.6 → 0.1.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 (54) hide show
  1. package/LICENSE +1 -1
  2. package/dist/base.css +1 -0
  3. package/dist/components/vv-avatar-group.css +1 -0
  4. package/dist/components/vv-avatar.css +1 -1
  5. package/dist/components/vv-badge.css +1 -1
  6. package/dist/components/vv-button.css +1 -1
  7. package/dist/components/vv-dropdown-action.css +1 -0
  8. package/dist/components/vv-dropdown-option.css +1 -0
  9. package/dist/components/vv-dropdown.css +1 -1
  10. package/dist/components/vv-input-text.css +1 -1
  11. package/dist/components/vv-select.css +1 -1
  12. package/dist/components/vv-textarea.css +1 -1
  13. package/dist/components.css +1 -1
  14. package/dist/export.css +1 -1
  15. package/dist/props/input.css +1 -1
  16. package/dist/props/spacing.css +1 -1
  17. package/dist/props/transitions.css +1 -1
  18. package/dist/props.css +1 -1
  19. package/dist/utilities/flexbox.css +1 -1
  20. package/dist/utilities/layout.css +1 -1
  21. package/dist/utilities/sizing.css +1 -1
  22. package/dist/utilities/spacing.css +1 -1
  23. package/dist/utilities/transforms.css +1 -1
  24. package/dist/utilities/transitions.css +1 -1
  25. package/dist/utilities.css +1 -1
  26. package/dist/volver.css +1 -1
  27. package/package.json +20 -12
  28. package/src/_config.scss +3 -0
  29. package/src/_preflight.scss +0 -10
  30. package/src/base.scss +15 -0
  31. package/src/components/index.scss +3 -0
  32. package/src/components/vv-avatar-group.scss +13 -0
  33. package/src/components/vv-dropdown-action.scss +13 -0
  34. package/src/components/vv-dropdown-option.scss +13 -0
  35. package/src/props/transitions.scss +11 -5
  36. package/src/settings/_index.scss +3 -0
  37. package/src/settings/_input.scss +2 -4
  38. package/src/settings/_spacing.scss +1 -0
  39. package/src/settings/_transitions.scss +0 -2
  40. package/src/settings/components/_vv-avatar-group.scss +23 -0
  41. package/src/settings/components/_vv-avatar.scss +118 -20
  42. package/src/settings/components/_vv-badge.scss +27 -0
  43. package/src/settings/components/_vv-button.scss +5 -5
  44. package/src/settings/components/_vv-dropdown-action.scss +26 -0
  45. package/src/settings/components/_vv-dropdown-option.scss +63 -0
  46. package/src/settings/components/_vv-dropdown.scss +92 -17
  47. package/src/settings/components/_vv-input-text.scss +28 -17
  48. package/src/settings/components/_vv-select.scss +30 -13
  49. package/src/settings/components/_vv-textarea.scss +26 -11
  50. package/src/tools/_functions.scss +16 -0
  51. package/src/tools/_mixins.scss +15 -0
  52. package/src/utilities/layout.scss +2 -8
  53. package/src/utilities/transforms.scss +2 -2
  54. package/src/volver.scss +2 -5
package/package.json CHANGED
@@ -24,7 +24,7 @@
24
24
  "bugs": {
25
25
  "url": "https://github.com/volverjs/style/issues"
26
26
  },
27
- "version": "0.1.6",
27
+ "version": "0.1.8",
28
28
  "engines": {
29
29
  "node": ">= 12.x"
30
30
  },
@@ -37,11 +37,11 @@
37
37
  "dist/*"
38
38
  ],
39
39
  "devDependencies": {
40
- "@iconify/vue": "^4.0.2",
40
+ "@iconify/vue": "^4.1.0",
41
41
  "@vitejs/plugin-vue": "^4.0.0",
42
- "@vueuse/core": "^9.11.0",
43
- "@vueuse/head": "^1.0.22",
44
- "eslint": "^8.32.0",
42
+ "@vueuse/core": "^9.12.0",
43
+ "@vueuse/head": "^1.0.24",
44
+ "eslint": "^8.33.0",
45
45
  "eslint-config-prettier": "^8.6.0",
46
46
  "eslint-plugin-vue": "^9.9.0",
47
47
  "glob": "^8.1.0",
@@ -50,32 +50,32 @@
50
50
  "markdown-it-prism": "^2.3.0",
51
51
  "postcss": "^8.4.21",
52
52
  "postcss-html": "^1.5.0",
53
- "postcss-preset-env": "^7.8.3",
53
+ "postcss-preset-env": "^8.0.1",
54
54
  "prism-themes": "^1.9.0",
55
55
  "prismjs": "1.29.0",
56
56
  "remark": "^14.0.2",
57
57
  "remark-frontmatter": "^4.0.1",
58
58
  "remark-gfm": "^3.0.1",
59
59
  "remark-lint": "^9.1.1",
60
- "sass": "^1.57.1",
60
+ "sass": "^1.58.0",
61
61
  "stylelint": "^14.16.1",
62
62
  "stylelint-config-prettier": "^9.0.4",
63
63
  "stylelint-config-recommended-scss": "^8.0.0",
64
64
  "stylelint-config-recommended-vue": "^1.4.0",
65
65
  "stylelint-config-standard-scss": "^6.1.0",
66
- "unplugin-auto-import": "^0.12.1",
67
- "unplugin-vue-components": "^0.22.12",
68
- "vite": "^4.0.4",
66
+ "unplugin-auto-import": "^0.13.0",
67
+ "unplugin-vue-components": "^0.23.0",
68
+ "vite": "^4.1.1",
69
69
  "vite-plugin-css-export": "^1.2.1",
70
70
  "vite-plugin-eslint": "^1.8.1",
71
71
  "vite-plugin-handlebars": "^1.6.0",
72
72
  "vite-plugin-markdown": "^2.1.0",
73
73
  "vite-plugin-pages": "^0.28.0",
74
- "vite-plugin-stylelint": "^4.1.6",
74
+ "vite-plugin-stylelint": "^4.1.8",
75
75
  "vite-plugin-vue-layouts": "^0.7.0",
76
76
  "vite-ssg": "^0.22.1",
77
77
  "vite-ssg-sitemap": "^0.4.3",
78
- "vue": "^3.2.45",
78
+ "vue": "^3.2.47",
79
79
  "vue-live": "2.3.2",
80
80
  "vue-router": "^4.1.6"
81
81
  },
@@ -87,6 +87,8 @@
87
87
  "./scss/mixins": "./src/tools/_mixins.scss",
88
88
  "./scss/settings": "./src/settings/_index.scss",
89
89
  "./scss/preflight": "./src/_preflight.scss",
90
+ "./base": "./dist/base.css",
91
+ "./scss/base": "./src/base.scss",
90
92
  "./components": "./dist/components.css",
91
93
  "./scss/components": "./src/components/index.scss",
92
94
  "./components/vv-accordion-group": "./dist/components/vv-accordion-group.css",
@@ -95,6 +97,8 @@
95
97
  "./scss/components/vv-accordion": "./src/components/vv-accordion.scss",
96
98
  "./components/vv-alert": "./dist/components/vv-alert.css",
97
99
  "./scss/components/vv-alert": "./src/components/vv-alert.scss",
100
+ "./components/vv-avatar-group": "./dist/components/vv-avatar-group.css",
101
+ "./scss/components/vv-avatar-group": "./src/components/vv-avatar-group.scss",
98
102
  "./components/vv-avatar": "./dist/components/vv-avatar.css",
99
103
  "./scss/components/vv-avatar": "./src/components/vv-avatar.scss",
100
104
  "./components/vv-badge": "./dist/components/vv-badge.css",
@@ -113,6 +117,10 @@
113
117
  "./scss/components/vv-checkbox": "./src/components/vv-checkbox.scss",
114
118
  "./components/vv-dialog": "./dist/components/vv-dialog.css",
115
119
  "./scss/components/vv-dialog": "./src/components/vv-dialog.scss",
120
+ "./components/vv-dropdown-action": "./dist/components/vv-dropdown-action.css",
121
+ "./scss/components/vv-dropdown-action": "./src/components/vv-dropdown-action.scss",
122
+ "./components/vv-dropdown-option": "./dist/components/vv-dropdown-option.css",
123
+ "./scss/components/vv-dropdown-option": "./src/components/vv-dropdown-option.scss",
116
124
  "./components/vv-dropdown": "./dist/components/vv-dropdown.css",
117
125
  "./scss/components/vv-dropdown": "./src/components/vv-dropdown.scss",
118
126
  "./components/vv-input-text": "./dist/components/vv-input-text.css",
package/src/_config.scss CHANGED
@@ -22,11 +22,14 @@ $components-names: (
22
22
  vv-card: $components-prefix + -card,
23
23
  vv-dialog: $components-prefix + -dialog,
24
24
  vv-dropdown: $components-prefix + -dropdown,
25
+ vv-dropdown-action: $components-prefix + -dropdown-action,
26
+ vv-dropdown-option: $components-prefix + -dropdown-option,
25
27
  vv-checkbox-group: $components-prefix + -checkbox-group,
26
28
  vv-checkbox: $components-prefix + -checkbox,
27
29
  vv-radio-group: $components-prefix + -radio-group,
28
30
  vv-radio: $components-prefix + -radio,
29
31
  vv-avatar: $components-prefix + -avatar,
32
+ vv-avatar-group: $components-prefix + -avatar-group,
30
33
  vv-input-text: $components-prefix + -input-text,
31
34
  vv-nav: $components-prefix + -nav,
32
35
  vv-progress: $components-prefix + -progress,
@@ -1,16 +1,6 @@
1
1
  @use 'sass:map';
2
2
  @use 'context' as *;
3
3
 
4
- :where(:host, :root, .theme) {
5
- accent-color: var(--color-brand);
6
- background: var(--color-surface);
7
- caret-color: var(--color-brand);
8
- color-scheme: var(--color-scheme);
9
- color: var(--color-word);
10
- scrollbar-color: var(--color-brand);
11
- font-family: var(--font-sans);
12
- }
13
-
14
4
  :where(.preflight) {
15
5
  :not(.preflight-revert *) {
16
6
  // typography
package/src/base.scss ADDED
@@ -0,0 +1,15 @@
1
+ // reset
2
+ @use 'reset';
3
+
4
+ // props
5
+ @use 'props';
6
+
7
+ :where(:host, :root, .theme) {
8
+ accent-color: var(--color-brand);
9
+ background: var(--color-surface);
10
+ caret-color: var(--color-brand);
11
+ color-scheme: var(--color-scheme);
12
+ color: var(--color-word);
13
+ scrollbar-color: var(--color-brand);
14
+ font-family: var(--font-sans);
15
+ }
@@ -8,11 +8,14 @@
8
8
  @use 'vv-card';
9
9
  @use 'vv-dialog';
10
10
  @use 'vv-dropdown';
11
+ @use 'vv-dropdown-action';
12
+ @use 'vv-dropdown-option';
11
13
  @use 'vv-checkbox-group';
12
14
  @use 'vv-checkbox';
13
15
  @use 'vv-radio-group';
14
16
  @use 'vv-radio';
15
17
  @use 'vv-avatar';
18
+ @use 'vv-avatar-group';
16
19
  @use 'vv-input-text';
17
20
  @use 'vv-nav';
18
21
  @use 'vv-progress';
@@ -0,0 +1,13 @@
1
+ @use 'sass:map';
2
+ @use '../context' as *;
3
+
4
+ $component-name: map.get($components-names, vv-avatar-group);
5
+ $component-map: $vv-avatar-group;
6
+
7
+ @include spread-map-into-bem(
8
+ $map: $component-map,
9
+ $block: $component-name,
10
+ $props: $use-custom-props-for-components,
11
+ $zero-specificity: $zero-specificity-for-components,
12
+ $bps: $breakpoints
13
+ );
@@ -0,0 +1,13 @@
1
+ @use 'sass:map';
2
+ @use '../context' as *;
3
+
4
+ $component-name: map.get($components-names, vv-dropdown-action);
5
+ $component-map: $vv-dropdown-action;
6
+
7
+ @include spread-map-into-bem(
8
+ $map: $component-map,
9
+ $block: $component-name,
10
+ $props: $use-custom-props-for-components,
11
+ $zero-specificity: $zero-specificity-for-components,
12
+ $bps: $breakpoints
13
+ );
@@ -0,0 +1,13 @@
1
+ @use 'sass:map';
2
+ @use '../context' as *;
3
+
4
+ $component-name: map.get($components-names, vv-dropdown-option);
5
+ $component-map: $vv-dropdown-option;
6
+
7
+ @include spread-map-into-bem(
8
+ $map: $component-map,
9
+ $block: $component-name,
10
+ $props: $use-custom-props-for-components,
11
+ $zero-specificity: $zero-specificity-for-components,
12
+ $bps: $breakpoints
13
+ );
@@ -1,4 +1,5 @@
1
1
  @use '../context' as *;
2
+ @use 'sass:string';
2
3
 
3
4
  :where(:host, :root, .theme) {
4
5
  // animation
@@ -27,11 +28,16 @@
27
28
  // transition
28
29
  @each $property, $value in $transition-property {
29
30
  @if $property != 'none' {
30
- --transition-#{$property}: var(
31
- --transition-property-#{$property}
32
- )
33
- var(--duration-300)
34
- var(--ease-in-out);
31
+ $transition: '';
32
+ @each $prop in str-split($value, ', ') {
33
+ $transition: $transition +
34
+ $prop +
35
+ ' var(--duration-300) var(--ease-in-out), ';
36
+ }
37
+
38
+ $transition: string.slice($transition, 1, -3);
39
+
40
+ --transition-#{$property}: #{$transition};
35
41
  } @else {
36
42
  --transition-#{$property}: none;
37
43
  }
@@ -28,11 +28,14 @@
28
28
  @forward 'components/vv-card';
29
29
  @forward 'components/vv-dialog';
30
30
  @forward 'components/vv-dropdown';
31
+ @forward 'components/vv-dropdown-action';
32
+ @forward 'components/vv-dropdown-option';
31
33
  @forward 'components/vv-checkbox-group';
32
34
  @forward 'components/vv-checkbox';
33
35
  @forward 'components/vv-radio-group';
34
36
  @forward 'components/vv-radio';
35
37
  @forward 'components/vv-avatar';
38
+ @forward 'components/vv-avatar-group';
36
39
  @forward 'components/vv-input-text';
37
40
  @forward 'components/vv-nav';
38
41
  @forward 'components/vv-progress';
@@ -11,7 +11,7 @@ $input: (
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),
14
+ min-height: var(--spacing-52),
15
15
  min-width: 0,
16
16
  label: (
17
17
  color: var(--color-word-2),
@@ -27,10 +27,8 @@ $input: (
27
27
  icon: (
28
28
  position: absolute,
29
29
  width: 1em,
30
- height: calc(var(--input-icon-width) * var(--input-line-height)),
31
- padding: calc((var(--input-icon-height) - var(--input-icon-width)) / 2)
32
- 0,
33
30
  pointer-events: none,
31
+ margin: 0 var(--spacing-sm),
34
32
  ),
35
33
  hint: (
36
34
  display: block,
@@ -29,6 +29,7 @@ $spacing: (
29
29
  44: 2.75rem,
30
30
  48: 3rem,
31
31
  50: 3.125rem,
32
+ 52: 3.25rem,
32
33
  56: 3.5rem,
33
34
  64: 4rem,
34
35
  80: 5rem,
@@ -2,8 +2,6 @@
2
2
  $transition-property: (
3
3
  none: none,
4
4
  all: all,
5
- transition:
6
- 'color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter',
7
5
  colors:
8
6
  'color, background-color, border-color, text-decoration-color, fill, stroke',
9
7
  opacity: opacity,
@@ -0,0 +1,23 @@
1
+ $vv-avatar-group: (
2
+ --avatar-group-spacing: var(--spacing-9),
3
+ display: flex,
4
+ align-items: flex-end,
5
+ element: (
6
+ item: (
7
+ _alias: '> *',
8
+ box-shadow: var(--shadow-md),
9
+ ),
10
+ item-not-first: (
11
+ _alias: '> *:not(:first-child)',
12
+ [margin-left]: calc(-1 * var(--avatar-group-spacing)),
13
+ ),
14
+ ),
15
+ modifier: (
16
+ tight: (
17
+ --avatar-group-spacing: var(--spacing-12),
18
+ ),
19
+ relaxed: (
20
+ --avatar-group-spacing: var(--spacing-6),
21
+ ),
22
+ ),
23
+ ) !default;
@@ -1,4 +1,11 @@
1
1
  $vv-avatar: (
2
+ --avatar-background-color: var(--color-brand),
3
+ --avatar-color: var(--color-white),
4
+ --avatar-border-radius: var(--rounded),
5
+ --avatar-border-color: var(--color-brand-darken-3),
6
+ [background-color]: var(--avatar-background-color),
7
+ [border-radius]: var(--avatar-border-radius),
8
+ [color]: var(--avatar-color),
2
9
  display: inline-flex,
3
10
  position: relative,
4
11
  justify-content: center,
@@ -7,28 +14,10 @@ $vv-avatar: (
7
14
  line-height: var(--leading-none),
8
15
  width: var(--spacing-28),
9
16
  height: var(--spacing-28),
10
- border-radius: var(--rounded),
11
17
  background-position: center,
12
18
  background-size: contain,
13
19
  background-repeat: no-repeat,
14
- color: var(--color-white),
15
20
  object-fit: contain,
16
- modifier: (
17
- rounded: (
18
- border-radius: var(--rounded-full),
19
- overflow: hidden,
20
- ),
21
- md: (
22
- font-size: var(--text-14),
23
- width: var(--spacing-34),
24
- height: var(--spacing-34),
25
- ),
26
- lg: (
27
- font-size: var(--text-16),
28
- width: var(--spacing-40),
29
- height: var(--spacing-40),
30
- ),
31
- ),
32
21
  state: (
33
22
  focus: (
34
23
  outline: var(--spacing-px) solid var(--color-brand),
@@ -41,15 +30,124 @@ $vv-avatar: (
41
30
  position: absolute,
42
31
  top: 0,
43
32
  right: 0,
44
- transform: translate(50%, -50%),
33
+ transform: translate(50%, -33.3%),
34
+ box-shadow: var(--shadow-sm),
35
+ ),
36
+ badge-bottom: (
37
+ _alias: '> sub',
38
+ position: absolute,
39
+ bottom: 0,
40
+ right: 0,
41
+ transform: translate(50%, 33.3%),
45
42
  box-shadow: var(--shadow-sm),
46
43
  ),
47
44
  image: (
48
45
  _alias: '> img',
49
46
  width: 100%,
50
47
  height: 100%,
51
- border-radius: inherit,
52
48
  object-fit: inherit,
49
+ [border-radius]: var(--avatar-border-radius),
50
+ overflow: hidden,
51
+ ),
52
+ ),
53
+ modifier: (
54
+ rounded: (
55
+ --avatar-border-radius: var(--rounded-full),
56
+ ),
57
+ square: (
58
+ --avatar-border-radius: var(--rounded-none),
59
+ ),
60
+ bordered: (
61
+ [border-color]: var(--avatar-border-color),
62
+ border-width: var(--border),
63
+ border-style: solid,
64
+ ),
65
+ md: (
66
+ font-size: var(--text-14),
67
+ width: var(--spacing-34),
68
+ height: var(--spacing-34),
69
+ ),
70
+ lg: (
71
+ font-size: var(--text-16),
72
+ width: var(--spacing-40),
73
+ height: var(--spacing-40),
74
+ ),
75
+ transparent: (
76
+ --avatar-background-color: var(--color-transparent),
77
+ ),
78
+ surface: (
79
+ --avatar-background-color: var(--color-surface-1),
80
+ --avatar-border-color: var(--color-surface-3),
81
+ --avatar-color: var(--color-word-2),
82
+ ),
83
+ danger: (
84
+ --avatar-background-color: var(--color-danger),
85
+ --avatar-border-color: var(--color-danger-darken-3),
86
+ ),
87
+ success: (
88
+ --avatar-background-color: var(--color-success),
89
+ --avatar-border-color: var(--color-success-darken-3),
90
+ ),
91
+ warning: (
92
+ --avatar-background-color: var(--color-warning),
93
+ --avatar-border-color: var(--color-warning-darken-3),
94
+ ),
95
+ info: (
96
+ --avatar-background-color: var(--color-info),
97
+ --avatar-border-color: var(--color-info-darken-3),
98
+ ),
99
+ accent: (
100
+ --avatar-background-color: var(--color-accent),
101
+ --avatar-border-color: var(--color-accent-darken-3),
102
+ ),
103
+ gray: (
104
+ --avatar-background-color: var(--color-gray),
105
+ --avatar-border-color: var(--color-gray-darken-3),
106
+ ),
107
+ ring: (
108
+ --avatar-color: var(--color-brand),
109
+ --avatar-background-color: var(--color-surface-brand),
110
+ --avatar-border-color: var(--color-brand),
111
+ [border-color]: var(--avatar-border-color),
112
+ border-width: var(--border),
113
+ border-style: solid,
114
+ modifier: (
115
+ surface: (
116
+ --avatar-background-color: var(--color-surface),
117
+ --avatar-border-color: var(--color-surface-5),
118
+ --avatar-color: var(--color-word-2),
119
+ ),
120
+ danger: (
121
+ --avatar-background-color: var(--color-surface-danger),
122
+ --avatar-border-color: var(--color-danger),
123
+ --avatar-color: var(--color-danger),
124
+ ),
125
+ success: (
126
+ --avatar-background-color: var(--color-surface-success),
127
+ --avatar-border-color: var(--color-success),
128
+ --avatar-color: var(--color-success),
129
+ ),
130
+ warning: (
131
+ --avatar-background-color: var(--color-surface-warning),
132
+ --avatar-border-color: var(--color-warning),
133
+ --avatar-color: var(--color-warning),
134
+ ),
135
+ info: (
136
+ --avatar-background-color: var(--color-surface-info),
137
+ --avatar-border-color: var(--color-info),
138
+ --avatar-color: var(--color-info),
139
+ ),
140
+ accent: (
141
+ --avatar-background-color: var(--color-surface-accent),
142
+ --avatar-border-color: var(--color-accent),
143
+ --avatar-color: var(--color-accent),
144
+ ),
145
+ gray: (
146
+ --avatar-background-color: var(--color-surface-4),
147
+ --avatar-border-color: var(--color-gray),
148
+ --avatar-color: var(--color-word-2),
149
+ ),
150
+ ),
53
151
  ),
54
152
  ),
55
153
  ) !default;
@@ -22,6 +22,8 @@ $vv-badge: (
22
22
  font-weight: var(--font-normal),
23
23
  text-shadow: none,
24
24
  line-height: var(--leading-none),
25
+ overflow: hidden,
26
+ flex-shrink: 0,
25
27
  state: (
26
28
  empty: (
27
29
  font-size: inherit,
@@ -32,8 +34,33 @@ $vv-badge: (
32
34
  [border-radius]: calc(var(--badge-font-size) * 0.5),
33
35
  padding: 0,
34
36
  ),
37
+ focus-within: (
38
+ outline-offset: var(--spacing-4),
39
+ [outline]: var(--spacing-px) solid var(--badge-background-color),
40
+ ),
41
+ ),
42
+ element: (
43
+ button: (
44
+ _alias: '> button',
45
+ cursor: pointer,
46
+ padding: 0 0.5em,
47
+ margin: 0 -0.5em,
48
+ min-height: 2em,
49
+ transition: var(--transition-colors),
50
+ state: (
51
+ hover: (
52
+ background-color: var(--color-alpha-3),
53
+ ),
54
+ active: (
55
+ background-color: var(--color-alpha-5),
56
+ ),
57
+ ),
58
+ ),
35
59
  ),
36
60
  modifier: (
61
+ action: (
62
+ gap: calc(0.5ch + 0.5em),
63
+ ),
37
64
  sm: (
38
65
  --badge-font-size: 0.6rem,
39
66
  ),
@@ -47,11 +47,7 @@ $vv-button: (
47
47
  block-size: 1.1em,
48
48
  inline-size: 1.1em,
49
49
  margin: 0,
50
- stroke: currentcolor,
51
- fill: none,
52
50
  flex-shrink: 0,
53
- stroke-linecap: round,
54
- stroke-linejoin: round,
55
51
  [min-height]: calc(1em * var(--button-line-height)),
56
52
  ),
57
53
  label: (
@@ -176,6 +172,11 @@ $vv-button: (
176
172
  color: var(--color-brand-darken-3),
177
173
  ),
178
174
  ),
175
+ element: (
176
+ icon: (
177
+ margin: var(--spacing-0),
178
+ ),
179
+ ),
179
180
  ),
180
181
  static-light: (
181
182
  background: var(--color-white),
@@ -300,7 +301,6 @@ $vv-button: (
300
301
  border-radius: var(--rounded-full),
301
302
  ),
302
303
  block: (
303
- display: block,
304
304
  width: 100%,
305
305
  max-width: auto,
306
306
  ),
@@ -0,0 +1,26 @@
1
+ $vv-dropdown-action: (
2
+ display: flex,
3
+ width: 100%,
4
+ overflow: hidden,
5
+ gap: var(--spacing-sm),
6
+ align-items: center,
7
+ padding: var(--spacing-sm),
8
+ color: var(--color-brand),
9
+ cursor: pointer,
10
+ state: (
11
+ disabled: (
12
+ opacity: var(--opacity-50),
13
+ cursor: not-allowed,
14
+ ),
15
+ hover: (
16
+ background-color: var(--color-surface-brand),
17
+ ),
18
+ focus-visible: (
19
+ outline: var(--spacing-px) solid var(--color-brand),
20
+ outline-offset: calc(var(--spacing-px) * -1),
21
+ ),
22
+ pressed: (
23
+ background-color: var(--color-surface-2),
24
+ ),
25
+ ),
26
+ ) !default;
@@ -0,0 +1,63 @@
1
+ $vv-dropdown-option: (
2
+ display: flex,
3
+ min-width: 0,
4
+ overflow: hidden,
5
+ gap: var(--spacing-sm),
6
+ align-items: center,
7
+ padding: var(--spacing-sm),
8
+ state: (
9
+ disabled: (
10
+ opacity: var(--opacity-50),
11
+ cursor: not-allowed,
12
+ pointer-events: none,
13
+ ),
14
+ focus-visible: (
15
+ background-color: var(--color-surface-success),
16
+ color: var(--color-success),
17
+ element: (
18
+ hint: (
19
+ opacity: var(--opacity-100),
20
+ ),
21
+ ),
22
+ ),
23
+ selected: (
24
+ font-weight: var(--font-bold),
25
+ background-color: var(--color-surface-brand),
26
+ color: var(--color-brand),
27
+ ),
28
+ ),
29
+ modifier: (
30
+ unselectable: (
31
+ state: (
32
+ focus-visible: (
33
+ background-color: var(--color-surface-danger),
34
+ color: var(--color-danger),
35
+ ),
36
+ ),
37
+ ),
38
+ inert: (
39
+ cursor: default,
40
+ color: var(--color-word-3),
41
+ font-size: 0.8em,
42
+ state: (
43
+ focus-visible: (
44
+ background-color: transparent,
45
+ color: var(--color-word-3),
46
+ ),
47
+ ),
48
+ ),
49
+ ),
50
+ element: (
51
+ hint: (
52
+ opacity: var(--opacity-0),
53
+ transition: var(--transition-opacity),
54
+ will-change: opacity,
55
+ margin-left: auto,
56
+ font-size: 0.8em,
57
+ font-weight: var(--font-normal),
58
+ text-overflow: ellipsis,
59
+ white-space: nowrap,
60
+ overflow: hidden,
61
+ ),
62
+ ),
63
+ ) !default;