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

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volverjs/style",
3
- "version": "0.1.2-beta.3",
3
+ "version": "0.1.2-beta.6",
4
4
  "description": "@volverjs/style is a lightweight responsive CSS utility library to accompany @volverjs/ui and static webpages as well.",
5
5
  "main": "dist/style.css",
6
6
  "style": "dist/style.css",
@@ -9,10 +9,6 @@
9
9
  "node": ">= 12.x"
10
10
  },
11
11
  "packageManager": "pnpm@7.8.0",
12
- "scripts": {
13
- "dev": "vite --port 3000 --open",
14
- "build": "vite build --base=./ && node ./scripts/build.js"
15
- },
16
12
  "files": [
17
13
  "src/*",
18
14
  "dist/*"
@@ -21,16 +17,18 @@
21
17
  ".": "./dist/style",
22
18
  "./components": "./dist/components",
23
19
  "./scss/components": "./src/components/index",
20
+ "./components/vv-accordion": "./dist/components/vv-accordion",
21
+ "./scss/components/vv-accordion": "./src/components/vv-accordion",
24
22
  "./components/vv-badge": "./dist/components/vv-badge",
25
23
  "./scss/components/vv-badge": "./src/components/vv-badge",
24
+ "./components/vv-breadcrumb": "./dist/components/vv-breadcrumb",
25
+ "./scss/components/vv-breadcrumb": "./src/components/vv-breadcrumb",
26
26
  "./components/vv-button-group": "./dist/components/vv-button-group",
27
27
  "./scss/components/vv-button-group": "./src/components/vv-button-group",
28
28
  "./components/vv-button": "./dist/components/vv-button",
29
29
  "./scss/components/vv-button": "./src/components/vv-button",
30
30
  "./components/vv-card": "./dist/components/vv-card",
31
31
  "./scss/components/vv-card": "./src/components/vv-card",
32
- "./components/vv-collapse": "./dist/components/vv-collapse",
33
- "./scss/components/vv-collapse": "./src/components/vv-collapse",
34
32
  "./components/vv-dialog": "./dist/components/vv-dialog",
35
33
  "./scss/components/vv-dialog": "./src/components/vv-dialog",
36
34
  "./components/vv-dropdown": "./dist/components/vv-dropdown",
@@ -45,6 +43,8 @@
45
43
  "./scss/components/vv-input-radio": "./src/components/vv-input-radio",
46
44
  "./components/vv-input-text": "./dist/components/vv-input-text",
47
45
  "./scss/components/vv-input-text": "./src/components/vv-input-text",
46
+ "./components/vv-nav": "./dist/components/vv-nav",
47
+ "./scss/components/vv-nav": "./src/components/vv-nav",
48
48
  "./components/vv-progress": "./dist/components/vv-progress",
49
49
  "./scss/components/vv-progress": "./src/components/vv-progress",
50
50
  "./components/vv-select": "./dist/components/vv-select",
@@ -147,10 +147,15 @@
147
147
  "sass": "^1.55.0",
148
148
  "stylelint-config-prettier": "^9.0.3",
149
149
  "stylelint-config-standard-scss": "^5.0.0",
150
- "stylelint": "^14.13.0",
150
+ "stylelint": "^14.14.0",
151
151
  "vite-plugin-eslint": "^1.8.1",
152
152
  "vite-plugin-handlebars": "^1.6.0",
153
- "vite-plugin-stylelint": "^3.0.7",
153
+ "vite-plugin-stylelint": "^3.0.8",
154
154
  "vite": "^3.1.8"
155
+ },
156
+ "scripts": {
157
+ "dev": "vite --port 3000 --open",
158
+ "build": "node ./scripts/build.js",
159
+ "styleguide": "vite build --base=./"
155
160
  }
156
- }
161
+ }
package/src/_config.scss CHANGED
@@ -13,10 +13,11 @@ $components-prefix: vv !default;
13
13
  // components names
14
14
  $components-names: (
15
15
  vv-badge: $components-prefix + -badge,
16
+ vv-breadcrumb: $components-prefix + -breadcrumb,
16
17
  vv-button: $components-prefix + -button,
17
18
  vv-button-group: $components-prefix + -button-group,
18
19
  vv-progress: $components-prefix + -progress,
19
- vv-collapse: $components-prefix + -collapse,
20
+ vv-accordion: $components-prefix + -accordion,
20
21
  vv-dialog: $components-prefix + -dialog,
21
22
  vv-dropdown: $components-prefix + -dropdown,
22
23
  vv-input-checkbox: $components-prefix + -input-checkbox,
@@ -24,6 +25,7 @@ $components-names: (
24
25
  vv-input-radio: $components-prefix + -input-radio,
25
26
  vv-input-radio-group: $components-prefix + -input-radio-group,
26
27
  vv-input-text: $components-prefix + -input-text,
28
+ vv-nav: $components-prefix + -nav,
27
29
  vv-textarea: $components-prefix + -textarea,
28
30
  vv-select: $components-prefix + -select,
29
31
  vv-table: $components-prefix + -table,
@@ -1,8 +1,9 @@
1
1
  @import 'vv-badge';
2
+ @import 'vv-breadcrumb';
2
3
  @import 'vv-button';
3
4
  @import 'vv-button-group';
4
5
  @import 'vv-progress';
5
- @import 'vv-collapse';
6
+ @import 'vv-accordion';
6
7
  @import 'vv-dialog';
7
8
  @import 'vv-dropdown';
8
9
  @import 'vv-input-checkbox';
@@ -10,6 +11,7 @@
10
11
  @import 'vv-input-radio';
11
12
  @import 'vv-input-radio-group';
12
13
  @import 'vv-input-text';
14
+ @import 'vv-nav';
13
15
  @import 'vv-textarea';
14
16
  @import 'vv-select';
15
17
  @import 'vv-table';
@@ -0,0 +1,12 @@
1
+ @use 'sass:map';
2
+ @import '../context';
3
+
4
+ $component-name: map.get($components-names, vv-accordion);
5
+ $component-map: $vv-accordion;
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-compoenents
12
+ );
@@ -0,0 +1,12 @@
1
+ @use 'sass:map';
2
+ @import '../context';
3
+
4
+ $component-name: map.get($components-names, vv-breadcrumb);
5
+ $component-map: $vv-breadcrumb;
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-compoenents
12
+ );
@@ -1,8 +1,8 @@
1
1
  @use 'sass:map';
2
2
  @import '../context';
3
3
 
4
- $component-name: map.get($components-names, vv-collapse);
5
- $component-map: $vv-collapse;
4
+ $component-name: map.get($components-names, vv-nav);
5
+ $component-map: $vv-nav;
6
6
 
7
7
  @include spread-map-into-bem(
8
8
  $map: $component-map,
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 */
@@ -16,10 +16,11 @@
16
16
 
17
17
  // components
18
18
  @import 'components/vv-badge';
19
+ @import 'components/vv-breadcrumb';
19
20
  @import 'components/vv-button';
20
21
  @import 'components/vv-button-group';
21
22
  @import 'components/vv-progress';
22
- @import 'components/vv-collapse';
23
+ @import 'components/vv-accordion';
23
24
  @import 'components/vv-dialog';
24
25
  @import 'components/vv-dropdown';
25
26
  @import 'components/vv-input-checkbox';
@@ -27,6 +28,7 @@
27
28
  @import 'components/vv-input-radio';
28
29
  @import 'components/vv-input-radio-group';
29
30
  @import 'components/vv-input-text';
31
+ @import 'components/vv-nav';
30
32
  @import 'components/vv-textarea';
31
33
  @import 'components/vv-select';
32
34
  @import 'components/vv-table';
@@ -0,0 +1,128 @@
1
+ $vv-accordion: (
2
+ --accordion-marker-size:
3
+ calc(var(--spacing-sm) + var(--leading-normal) * 1em),
4
+ --accordion-padding-top: 0px,
5
+ --accordion-padding-right: 0px,
6
+ --accordion-padding-bottom: 0px,
7
+ --accordion-padding-left: 0px,
8
+ element: (
9
+ summary: (
10
+ _alias: '> summary',
11
+ position: relative,
12
+ cursor: pointer,
13
+ [padding-top]: var(--accordion-padding-top),
14
+ [padding-right]: var(--accordion-padding-right),
15
+ [padding-bottom]: var(--accordion-padding-bottom),
16
+ [padding-left]:
17
+ calc(
18
+ var(--accordion-padding-left) + var(--accordion-marker-size)
19
+ ),
20
+ line-height: var(--leading-normal),
21
+ color: var(--color-word-2),
22
+ will-change: background-color,
23
+ transition: background-color 0.2s ease-in-out,
24
+ font-size: var(--text-sm),
25
+ pseudo: (
26
+ before: (
27
+ display: block,
28
+ position: absolute,
29
+ [top]: var(--accordion-padding-top),
30
+ [left]: var(--accordion-padding-left),
31
+ width: calc(var(--leading-normal) * 1em),
32
+ height: calc(var(--leading-normal) * 1em),
33
+ background-image: var(--bg-chevron),
34
+ background-position: center,
35
+ background-size: 1em,
36
+ background-repeat: no-repeat,
37
+ will-change: transform,
38
+ transition: transform 0.2s ease-in-out,
39
+ transform: rotate(-90deg),
40
+ ),
41
+ marker: (
42
+ display: none,
43
+ ),
44
+ -webkit-details-marker: (
45
+ display: none,
46
+ ),
47
+ ),
48
+ ),
49
+ content: (
50
+ _alias: '> summary + *',
51
+ padding-block: var(--spacing-sm),
52
+ [padding-inline]: var(--accordion-padding-left)
53
+ var(--accordion-padding-right),
54
+ ),
55
+ ),
56
+ state: (
57
+ open: (
58
+ element: (
59
+ summary: (
60
+ pseudo: (
61
+ before: (
62
+ transform: rotate(0),
63
+ ),
64
+ ),
65
+ ),
66
+ ),
67
+ ),
68
+ ),
69
+ modifier: (
70
+ marker-right: (
71
+ element: (
72
+ summary: (
73
+ [padding-right]:
74
+ calc(
75
+ var(--accordion-padding-right) +
76
+ var(--accordion-marker-size)
77
+ ),
78
+ [padding-left]: var(--accordion-padding-left),
79
+ pseudo: (
80
+ before: (
81
+ left: auto,
82
+ [right]: var(--accordion-padding-right),
83
+ transform: rotate(0def),
84
+ ),
85
+ ),
86
+ ),
87
+ ),
88
+ state: (
89
+ open: (
90
+ element: (
91
+ summary: (
92
+ pseudo: (
93
+ before: (
94
+ transform: rotate(-180deg),
95
+ ),
96
+ ),
97
+ ),
98
+ ),
99
+ ),
100
+ ),
101
+ ),
102
+ bordered: (
103
+ --accordion-padding-top: var(--spacing-sm),
104
+ --accordion-padding-right: var(--spacing-sm),
105
+ --accordion-padding-bottom: var(--spacing-sm),
106
+ --accordion-padding-left: var(--spacing-sm),
107
+ border-bottom: var(--border) solid var(--color-surface-2),
108
+ element: (
109
+ summary: (
110
+ state: (
111
+ hover: (
112
+ background-color: var(--color-surface-1),
113
+ ),
114
+ ),
115
+ ),
116
+ ),
117
+ state: (
118
+ open: (
119
+ element: (
120
+ summary: (
121
+ background-color: var(--color-surface-2),
122
+ ),
123
+ ),
124
+ ),
125
+ ),
126
+ ),
127
+ ),
128
+ ) !default;
@@ -8,9 +8,8 @@ $vv-badge: (
8
8
  padding: 0.37em 0.475em,
9
9
  display: inline-flex,
10
10
  justify-content: center,
11
- font-weight: normal,
12
11
  font-family: var(--font-sans),
13
- text-shadow: none,
12
+ line-height: var(--leading-normal),
14
13
  state: (
15
14
  empty: (
16
15
  font-size: inherit,
@@ -0,0 +1,85 @@
1
+ $vv-breadcrumb: (
2
+ element: (
3
+ list: (
4
+ _alias: '> ol',
5
+ position: relative,
6
+ display: flex,
7
+ flex-wrap: no-wrap,
8
+ list-style: none,
9
+ overflow: auto,
10
+ padding: 0,
11
+ background: var(--color-surface),
12
+ pseudo: (
13
+ after: (
14
+ position: absolute,
15
+ top: 0,
16
+ bottom: 0,
17
+ right: 0,
18
+ display: block,
19
+ width: var(--spacing-sm),
20
+ background:
21
+ linear-gradient(
22
+ 45deg,
23
+ transparent,
24
+ var(--color-surface)
25
+ ),
26
+ ),
27
+ ),
28
+ ),
29
+ item: (
30
+ _alias: '> ol > li:has(a)',
31
+ display: inline-flex,
32
+ color: var(--color-word-2),
33
+ pseudo: (
34
+ after: (
35
+ display: block,
36
+ margin-inline: 1ch,
37
+ width: calc(var(--leading-normal) * 1em),
38
+ height: calc(var(--leading-normal) * 1em),
39
+ background-image: var(--bg-chevron),
40
+ background-position: center,
41
+ background-size: 1em,
42
+ background-repeat: no-repeat,
43
+ transform: rotate(-90deg),
44
+ ),
45
+ ),
46
+ ),
47
+ item-active: (
48
+ _alias: '> ol > li:not(:has(a))',
49
+ display: inline-flex,
50
+ font-weight: var(--font-bold),
51
+ padding-right: var(--spacing-16),
52
+ ),
53
+ link: (
54
+ _alias: '> ol > li > a',
55
+ state: (
56
+ hover: (
57
+ text-decoration: underline,
58
+ ),
59
+ focus-within: (
60
+ text-decoration: underline,
61
+ ),
62
+ active: (
63
+ color: var(--color-brand-darken-2),
64
+ ),
65
+ ),
66
+ ),
67
+ ),
68
+ modifier: (
69
+ multiline: (
70
+ element: (
71
+ list: (
72
+ flex-wrap: wrap,
73
+ ),
74
+ item: (
75
+ font-size: var(--text-12),
76
+ ),
77
+ item-active: (
78
+ width: 100%,
79
+ font-size: var(--text-18),
80
+ line-height: var(--leading-relaxed),
81
+ ),
82
+ ),
83
+ ),
84
+ ),
85
+ ) !default;
@@ -2,7 +2,7 @@ $vv-button: (
2
2
  position: relative,
3
3
  background: var(--color-brand),
4
4
  border-radius: 0.5ch,
5
- border-width: var(--spacing-2),
5
+ border-width: var(--border-2),
6
6
  border-style: solid,
7
7
  border-color: var(--color-brand),
8
8
  color: var(--color-white),
@@ -74,7 +74,6 @@ $vv-button: (
74
74
  ),
75
75
  secondary: (
76
76
  background: var(--color-white),
77
- border-width: var(--spacing-2),
78
77
  border-style: solid,
79
78
  border-color: var(--color-gray-lighten-4),
80
79
  color: var(--color-word),
@@ -130,7 +129,7 @@ $vv-button: (
130
129
  text: (
131
130
  background: transparent,
132
131
  border-color: var(--color-word),
133
- border-width: 0,
132
+ border-width: var(--border-0),
134
133
  border-radius: 0,
135
134
  padding: 0,
136
135
  color: var(--color-word),
@@ -141,7 +140,8 @@ $vv-button: (
141
140
  outline: none,
142
141
  ),
143
142
  hover: (
144
- border-width: 0 0 1px 0,
143
+ text-decoration: underline,
144
+ text-underline-offset: var(--spacing-4),
145
145
  ),
146
146
  ),
147
147
  ),
@@ -183,6 +183,79 @@ $vv-button: (
183
183
  ),
184
184
  ),
185
185
  ),
186
+ action: (
187
+ font-size: 0.875em,
188
+ background: var(--color-surface-1),
189
+ color: var(--color-word-1),
190
+ border-color: var(--color-word-5),
191
+ border-width: var(--border),
192
+ font-weight: var(--font-normal),
193
+ padding-inline: 0.75ch,
194
+ padding-block: 0.5ch,
195
+ line-height: var(--leading-none),
196
+ text-shadow: none,
197
+ state: (
198
+ focus-visible: (
199
+ outline: var(--spacing-px) solid var(--color-gray-lighten-4),
200
+ ),
201
+ hover: (
202
+ background: var(--color-surface-2),
203
+ ),
204
+ active: (
205
+ background: var(--color-surface-5),
206
+ ),
207
+ selected: (
208
+ color: var(--color-white),
209
+ background: var(--color-gray),
210
+ border-color: var(--color-gray),
211
+ ),
212
+ ),
213
+ element: (
214
+ icon: (
215
+ margin-inline: -0.125ch,
216
+ block-size: 1.4em,
217
+ inline-size: 1.4em,
218
+ ),
219
+ ),
220
+ ),
221
+ action-quiet: (
222
+ font-size: var(--text-14),
223
+ background: transparent,
224
+ color: var(--color-word-1),
225
+ border-width: var(--border),
226
+ border-color: transparent,
227
+ font-weight: var(--font-normal),
228
+ padding-inline: 0.75ch,
229
+ padding-block: 0.5ch,
230
+ line-height: var(--leading-none),
231
+ text-shadow: none,
232
+ state: (
233
+ focus-visible: (
234
+ outline: var(--spacing-px) solid var(--color-gray-lighten-4),
235
+ outline-offset: 0,
236
+ ),
237
+ hover: (
238
+ background: var(--color-surface-2),
239
+ border-color: var(--color-surface-2),
240
+ ),
241
+ active: (
242
+ background: var(--color-surface-5),
243
+ border-color: var(--color-surface-5),
244
+ ),
245
+ selected: (
246
+ color: var(--color-white),
247
+ background: var(--color-gray),
248
+ border-color: var(--color-gray),
249
+ ),
250
+ ),
251
+ element: (
252
+ icon: (
253
+ margin-inline: -0.125ch,
254
+ block-size: 1.4em,
255
+ inline-size: 1.4em,
256
+ ),
257
+ ),
258
+ ),
186
259
  rounded: (
187
260
  border-radius: var(--rounded-full),
188
261
  element: (
@@ -0,0 +1 @@
1
+ $vv-nav: () !default;
@@ -396,7 +396,8 @@
396
396
  open,
397
397
  close,
398
398
  determinate,
399
- indeterminate
399
+ indeterminate,
400
+ selected
400
401
  ),
401
402
  $state
402
403
  )
@@ -503,7 +504,7 @@
503
504
  '#{$modifier}#{$alias}:#{$state}'
504
505
  );
505
506
  }
506
- } @else {
507
+ } @else if $state != 'selected' {
507
508
  $selectors: list.join(
508
509
  $selectors,
509
510
  '#{$modifier}#{$block-item}:not([disabled]):#{$state}'
@@ -664,12 +665,14 @@
664
665
  progress-bar,
665
666
  progress-value,
666
667
  inner-element,
668
+ marker,
667
669
  -webkit-progress-bar,
668
670
  -webkit-progress-value,
669
671
  -webkit-inner-element,
670
672
  -moz-progress-bar,
671
673
  -moz-progress-value,
672
- -moz-inner-element
674
+ -moz-inner-element,
675
+ -webkit-details-marker
673
676
  ),
674
677
  $pseudo-element
675
678
  )
@@ -684,11 +687,12 @@
684
687
  $pseudo-element
685
688
  ) {
686
689
  @if not $original {
687
- @if not
690
+ @if not(
688
691
  map.has-key(
689
692
  $pseudo-map,
690
693
  'content'
691
694
  )
695
+ )
692
696
  {
693
697
  content: '';
694
698
  }
@@ -763,7 +767,7 @@
763
767
  );
764
768
  }
765
769
 
766
- #{$key}: #{$value};
770
+ #{$key}: $value;
767
771
  }
768
772
  }
769
773
  }
@@ -785,6 +789,7 @@
785
789
  } @else if $enabled {
786
790
  $selector: ':where(#{$selector})';
787
791
  }
792
+
788
793
  #{$selector} {
789
794
  @content;
790
795
  }
@@ -1 +0,0 @@
1
- :where(:host,:root,.theme){--vv-collapse-display: block;--vv-collapse-min-width: 2.093em;--vv-collapse-padding: 0;--vv-collapse-border-radius: 0;--vv-collapse-border-bottom: var(--border) solid var(--color-surface-2);--vv-collapse-margin: 0;--vv-collapse-background: none;--vv-collapse-font-family: var(--font-sans);--vv-collapse-font-size: .6em;--vv-collapse-font-weight: normal;--vv-collapse-state-open-display: contents;--vv-collapse-state-open-padding: 0;--vv-collapse-state-open-margin: 0;--vv-collapse-state-open-element-header-list-style-type: none;--vv-collapse-state-open-element-header-color: var(--color-brand);--vv-collapse-state-open-element-header-pseudo-after-transform: rotate(0deg);--vv-collapse-state-open-element-header-pseudo-after-will-change: transform;--vv-collapse-state-open-element-header-pseudo-after-transition: transform .2s ease-in-out;--vv-collapse-state-open-element-content-height: auto;--vv-collapse-state-open-element-content-opacity: 1;--vv-collapse-state-blocked-cursor: not-allowed;--vv-collapse-state-blocked-opacity: .5;--vv-collapse-state-blocked-pointer-events: none;--vv-collapse-state-blocked-user-select: none;--vv-collapse-element-header-cursor: pointer;--vv-collapse-element-header-list-style-type: none;--vv-collapse-element-header-padding: 1em;--vv-collapse-element-header-margin: var(--spacing-0);--vv-collapse-element-header-background: none;--vv-collapse-element-header-color: var(--color-word-3);--vv-collapse-element-header-font-size: var(--text-sm);--vv-collapse-element-header-line-height: 1em;--vv-collapse-element-header-box-shadow: none;--vv-collapse-element-header-pseudo-after-display: block;--vv-collapse-element-header-pseudo-after-float: right;--vv-collapse-element-header-pseudo-after-width: 1em;--vv-collapse-element-header-pseudo-after-height: 1em;--vv-collapse-element-header-pseudo-after-background-image: var(--bg-chevron);--vv-collapse-element-header-pseudo-after-background-position: right center;--vv-collapse-element-header-pseudo-after-background-size: 1em auto;--vv-collapse-element-header-pseudo-after-background-repeat: no-repeat;--vv-collapse-element-header-pseudo-after-transform: rotate(-90deg);--vv-collapse-element-header-pseudo-after-will-change: transform;--vv-collapse-element-header-pseudo-after-transition: transform .2s ease-in-out;--vv-collapse-element-content-display: block;--vv-collapse-element-content-height: 0;--vv-collapse-element-content-padding: var(--spacing-0) 1em 1em 1em;--vv-collapse-element-content-margin: var(--spacing-0);--vv-collapse-element-content-background: none;--vv-collapse-element-content-color: var(--color-word-4);--vv-collapse-element-content-font-size: var(--text-xs);--vv-collapse-element-content-box-shadow: none;--vv-collapse-element-content-opacity: 0;--vv-collapse-element-content-transition: all .7s ease-in-out;--vv-collapse-modifier-minimal-display: contents;--vv-collapse-modifier-minimal-padding: 0;--vv-collapse-modifier-minimal-margin: 0;--vv-collapse-modifier-minimal-state-open-element-header-list-style-type: disclosure-open;--vv-collapse-modifier-minimal-state-open-element-header-color: var(--color-brand);--vv-collapse-modifier-minimal-element-header-display: list-item;--vv-collapse-modifier-minimal-element-header-counter-increment: list-item 0;--vv-collapse-modifier-minimal-element-header-list-style-type: disclosure-closed;--vv-collapse-modifier-minimal-element-header-pseudo-after-display: none}:where(.vv-collapse){display:var(--vv-collapse-display);min-width:var(--vv-collapse-min-width);padding:var(--vv-collapse-padding);border-radius:var(--vv-collapse-border-radius);border-bottom:var(--vv-collapse-border-bottom);margin:var(--vv-collapse-margin);background:var(--vv-collapse-background);font-family:var(--vv-collapse-font-family);font-size:var(--vv-collapse-font-size);font-weight:var(--vv-collapse-font-weight)}:where(.vv-collapse__header){cursor:var(--vv-collapse-element-header-cursor);list-style-type:var(--vv-collapse-element-header-list-style-type);padding:var(--vv-collapse-element-header-padding);margin:var(--vv-collapse-element-header-margin);background:var(--vv-collapse-element-header-background);color:var(--vv-collapse-element-header-color);font-size:var(--vv-collapse-element-header-font-size);line-height:var(--vv-collapse-element-header-line-height);box-shadow:var(--vv-collapse-element-header-box-shadow)}:where(.vv-collapse__header):after{content:"";display:var(--vv-collapse-element-header-pseudo-after-display);float:var(--vv-collapse-element-header-pseudo-after-float);width:var(--vv-collapse-element-header-pseudo-after-width);height:var(--vv-collapse-element-header-pseudo-after-height);background-image:var(--vv-collapse-element-header-pseudo-after-background-image);background-position:var(--vv-collapse-element-header-pseudo-after-background-position);background-size:var(--vv-collapse-element-header-pseudo-after-background-size);background-repeat:var(--vv-collapse-element-header-pseudo-after-background-repeat);transform:var(--vv-collapse-element-header-pseudo-after-transform);will-change:var(--vv-collapse-element-header-pseudo-after-will-change);transition:var(--vv-collapse-element-header-pseudo-after-transition)}:where(.vv-collapse__content){display:var(--vv-collapse-element-content-display);height:var(--vv-collapse-element-content-height);padding:var(--vv-collapse-element-content-padding);margin:var(--vv-collapse-element-content-margin);background:var(--vv-collapse-element-content-background);color:var(--vv-collapse-element-content-color);font-size:var(--vv-collapse-element-content-font-size);box-shadow:var(--vv-collapse-element-content-box-shadow);opacity:var(--vv-collapse-element-content-opacity);transition:var(--vv-collapse-element-content-transition)}:where(.vv-collapse--open,.vv-collapse.open,.vv-collapse[open]){--vv-collapse-display: var(--vv-collapse-state-open-display);--vv-collapse-padding: var(--vv-collapse-state-open-padding);--vv-collapse-margin: var(--vv-collapse-state-open-margin)}:where(.vv-collapse--open .vv-collapse__header,.vv-collapse.open .vv-collapse__header,.vv-collapse[open] .vv-collapse__header){list-style-type:var(--vv-collapse-state-open-element-header-list-style-type);color:var(--vv-collapse-state-open-element-header-color)}:where(.vv-collapse--open .vv-collapse__header,.vv-collapse.open .vv-collapse__header,.vv-collapse[open] .vv-collapse__header):after{content:"";transform:var(--vv-collapse-state-open-element-header-pseudo-after-transform);will-change:var(--vv-collapse-state-open-element-header-pseudo-after-will-change);transition:var(--vv-collapse-state-open-element-header-pseudo-after-transition)}:where(.vv-collapse--open .vv-collapse__content,.vv-collapse.open .vv-collapse__content,.vv-collapse[open] .vv-collapse__content){height:var(--vv-collapse-state-open-element-content-height);opacity:var(--vv-collapse-state-open-element-content-opacity)}:where(.vv-collapse--minimal.vv-collapse){--vv-collapse-display: var(--vv-collapse-modifier-minimal-display);--vv-collapse-padding: var(--vv-collapse-modifier-minimal-padding);--vv-collapse-margin: var(--vv-collapse-modifier-minimal-margin)}:where(.vv-collapse--minimal .vv-collapse__header){display:var(--vv-collapse-modifier-minimal-element-header-display);counter-increment:var(--vv-collapse-modifier-minimal-element-header-counter-increment);list-style-type:var(--vv-collapse-modifier-minimal-element-header-list-style-type)}:where(.vv-collapse--minimal .vv-collapse__header):after{content:"";display:var(--vv-collapse-modifier-minimal-element-header-pseudo-after-display)}:where(.vv-collapse--minimal.vv-collapse--open .vv-collapse__header,.vv-collapse--minimal.vv-collapse.open .vv-collapse__header,.vv-collapse--minimal.vv-collapse[open] .vv-collapse__header){list-style-type:var(--vv-collapse-modifier-minimal-state-open-element-header-list-style-type);color:var(--vv-collapse-modifier-minimal-state-open-element-header-color)}