@volverjs/style 0.1.12-beta.5 → 0.1.12-beta.7
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/README.md +2 -2
- package/dist/base.css +1 -1
- package/dist/components/vv-accordion-group.css +1 -1
- package/dist/components/vv-accordion.css +1 -1
- package/dist/components/vv-alert-group.css +1 -1
- package/dist/components/vv-alert.css +1 -1
- package/dist/components/vv-avatar-group.css +1 -1
- package/dist/components/vv-avatar.css +1 -1
- package/dist/components/vv-badge.css +1 -1
- package/dist/components/vv-breadcrumb.css +1 -1
- package/dist/components/vv-button.css +1 -1
- package/dist/components/vv-card.css +1 -1
- package/dist/components/vv-checkbox-group.css +1 -1
- package/dist/components/vv-checkbox.css +1 -1
- package/dist/components/vv-dialog.css +1 -1
- package/dist/components/vv-dropdown.css +1 -1
- package/dist/components/vv-input-file.css +1 -0
- package/dist/components/vv-input-text.css +1 -1
- package/dist/components/vv-nav.css +1 -1
- package/dist/components/vv-progress.css +1 -1
- package/dist/components/vv-radio-group.css +1 -1
- package/dist/components/vv-radio.css +1 -1
- package/dist/components/vv-select.css +1 -1
- package/dist/components/vv-table.css +1 -1
- package/dist/components/vv-text.css +1 -1
- package/dist/components/vv-textarea.css +1 -1
- package/dist/components/vv-tooltip.css +1 -1
- package/dist/components.css +1 -1
- package/dist/export.css +1 -1
- package/dist/props/background.css +1 -1
- package/dist/props/colors.css +1 -1
- package/dist/props/input.css +1 -1
- package/dist/props/transitions.css +1 -1
- package/dist/props.css +1 -1
- package/dist/reset.css +1 -1
- package/dist/themes/dark/props.css +1 -1
- package/dist/themes/dark/volver.css +1 -1
- package/dist/utilities/backgrounds.css +1 -1
- package/dist/utilities/colors.css +1 -1
- package/dist/utilities/layout.css +1 -1
- package/dist/utilities/typography.css +1 -1
- package/dist/utilities.css +1 -1
- package/dist/volver.css +1 -1
- package/package.json +23 -21
- package/src/_config.scss +10 -9
- package/src/components/index.scss +1 -0
- package/src/components/vv-button.scss +1 -12
- package/src/components/vv-input-file.scss +93 -0
- package/src/components/vv-input-text.scss +54 -11
- package/src/components/vv-select.scss +53 -10
- package/src/components/vv-textarea.scss +53 -10
- package/src/props/transitions.scss +19 -0
- package/src/settings/_background.scss +2 -0
- package/src/settings/_colors.scss +1 -1
- package/src/settings/_index.scss +1 -0
- package/src/settings/_input.scss +1 -0
- package/src/settings/_transitions.scss +1 -0
- package/src/settings/components/_vv-alert-group.scss +9 -7
- package/src/settings/components/_vv-alert.scss +1 -0
- package/src/settings/components/_vv-button.scss +1 -1
- package/src/settings/components/_vv-checkbox-group.scss +1 -0
- package/src/settings/components/_vv-dialog.scss +3 -0
- package/src/settings/components/_vv-dropdown.scss +6 -5
- package/src/settings/components/_vv-input-file.scss +474 -0
- package/src/settings/components/_vv-input-text.scss +1 -0
- package/src/settings/components/_vv-nav.scss +3 -2
- package/src/settings/components/_vv-progress.scss +2 -0
- package/src/settings/components/_vv-select.scss +2 -0
- package/src/settings/components/_vv-text.scss +1 -0
- package/src/settings/components/_vv-textarea.scss +1 -0
- package/src/themes/dark/settings/_background.scss +2 -0
- package/src/tools/_mixins.scss +12 -2
- package/src/utilities/backgrounds.scss +1 -0
- package/src/utilities/typography.scss +10 -0
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.12-beta.
|
|
27
|
+
"version": "0.1.12-beta.7",
|
|
28
28
|
"engines": {
|
|
29
29
|
"node": ">= 12.x"
|
|
30
30
|
},
|
|
@@ -38,19 +38,19 @@
|
|
|
38
38
|
],
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@iconify/vue": "^4.1.1",
|
|
41
|
-
"@vitejs/plugin-vue": "^4.
|
|
42
|
-
"@vueuse/core": "^10.1
|
|
43
|
-
"@vueuse/head": "^
|
|
44
|
-
"eslint": "^8.
|
|
45
|
-
"eslint-config-prettier": "^
|
|
46
|
-
"eslint-plugin-vue": "^9.
|
|
47
|
-
"glob": "^10.
|
|
41
|
+
"@vitejs/plugin-vue": "^4.3.4",
|
|
42
|
+
"@vueuse/core": "^10.4.1",
|
|
43
|
+
"@vueuse/head": "^2.0.0",
|
|
44
|
+
"eslint": "^8.49.0",
|
|
45
|
+
"eslint-config-prettier": "^9.0.0",
|
|
46
|
+
"eslint-plugin-vue": "^9.17.0",
|
|
47
|
+
"glob": "^10.3.4",
|
|
48
48
|
"icss-utils": "^5.1.0",
|
|
49
49
|
"markdown-it-anchor": "^8.6.7",
|
|
50
50
|
"markdown-it-prism": "^2.3.0",
|
|
51
|
-
"postcss": "^8.4.
|
|
51
|
+
"postcss": "^8.4.29",
|
|
52
52
|
"postcss-html": "^1.5.0",
|
|
53
|
-
"postcss-preset-env": "^
|
|
53
|
+
"postcss-preset-env": "^9.1.3",
|
|
54
54
|
"prism-themes": "^1.9.0",
|
|
55
55
|
"prismjs": "^1.29.0",
|
|
56
56
|
"reduce-css-calc": "^2.1.8",
|
|
@@ -58,27 +58,27 @@
|
|
|
58
58
|
"remark-frontmatter": "^4.0.1",
|
|
59
59
|
"remark-gfm": "^3.0.1",
|
|
60
60
|
"remark-lint": "^9.1.2",
|
|
61
|
-
"sass": "^1.
|
|
62
|
-
"stylelint": "^15.
|
|
61
|
+
"sass": "^1.66.1",
|
|
62
|
+
"stylelint": "^15.10.3",
|
|
63
63
|
"stylelint-config-prettier": "^9.0.5",
|
|
64
|
-
"stylelint-config-recommended-scss": "^
|
|
65
|
-
"stylelint-config-recommended-vue": "^1.
|
|
66
|
-
"stylelint-config-standard-scss": "^
|
|
67
|
-
"unplugin-auto-import": "^0.16.
|
|
68
|
-
"unplugin-vue-components": "^0.25.
|
|
69
|
-
"vite": "^4.
|
|
64
|
+
"stylelint-config-recommended-scss": "^13.0.0",
|
|
65
|
+
"stylelint-config-recommended-vue": "^1.5.0",
|
|
66
|
+
"stylelint-config-standard-scss": "^11.0.0",
|
|
67
|
+
"unplugin-auto-import": "^0.16.6",
|
|
68
|
+
"unplugin-vue-components": "^0.25.2",
|
|
69
|
+
"vite": "^4.4.9",
|
|
70
70
|
"vite-plugin-css-export": "^2.0.0",
|
|
71
71
|
"vite-plugin-eslint": "^1.8.1",
|
|
72
72
|
"vite-plugin-handlebars": "^1.6.0",
|
|
73
73
|
"vite-plugin-markdown": "^2.1.0",
|
|
74
74
|
"vite-plugin-pages": "^0.31.0",
|
|
75
|
-
"vite-plugin-stylelint": "^
|
|
75
|
+
"vite-plugin-stylelint": "^5.1.1",
|
|
76
76
|
"vite-plugin-vue-layouts": "^0.8.0",
|
|
77
|
-
"vite-ssg": "^0.
|
|
77
|
+
"vite-ssg": "^0.23.1",
|
|
78
78
|
"vite-ssg-sitemap": "^0.5.1",
|
|
79
79
|
"vue": "^3.3.4",
|
|
80
80
|
"vue-live": "^2.5.4",
|
|
81
|
-
"vue-router": "^4.2.
|
|
81
|
+
"vue-router": "^4.2.4"
|
|
82
82
|
},
|
|
83
83
|
"exports": {
|
|
84
84
|
".": "./dist/volver.css",
|
|
@@ -179,6 +179,8 @@
|
|
|
179
179
|
"./scss/components/vv-nav": "./src/components/vv-nav.scss",
|
|
180
180
|
"./components/vv-input-text": "./dist/components/vv-input-text.css",
|
|
181
181
|
"./scss/components/vv-input-text": "./src/components/vv-input-text.scss",
|
|
182
|
+
"./components/vv-input-file": "./dist/components/vv-input-file.css",
|
|
183
|
+
"./scss/components/vv-input-file": "./src/components/vv-input-file.scss",
|
|
182
184
|
"./components/vv-dropdown": "./dist/components/vv-dropdown.css",
|
|
183
185
|
"./scss/components/vv-dropdown": "./src/components/vv-dropdown.scss",
|
|
184
186
|
"./components/vv-dropdown-option": "./dist/components/vv-dropdown-option.css",
|
package/src/_config.scss
CHANGED
|
@@ -14,27 +14,28 @@ $components-prefix: vv !default;
|
|
|
14
14
|
$components-names: (
|
|
15
15
|
vv-accordion-group: $components-prefix + -accordion-group,
|
|
16
16
|
vv-accordion: $components-prefix + -accordion,
|
|
17
|
-
vv-alert: $components-prefix + -alert,
|
|
18
17
|
vv-alert-group: $components-prefix + -alert-group,
|
|
18
|
+
vv-alert: $components-prefix + -alert,
|
|
19
|
+
vv-avatar-group: $components-prefix + -avatar-group,
|
|
20
|
+
vv-avatar: $components-prefix + -avatar,
|
|
19
21
|
vv-badge: $components-prefix + -badge,
|
|
20
22
|
vv-breadcrumb: $components-prefix + -breadcrumb,
|
|
21
23
|
vv-button-group: $components-prefix + -button-group,
|
|
22
24
|
vv-button: $components-prefix + -button,
|
|
23
25
|
vv-card: $components-prefix + -card,
|
|
26
|
+
vv-checkbox-group: $components-prefix + -checkbox-group,
|
|
27
|
+
vv-checkbox: $components-prefix + -checkbox,
|
|
24
28
|
vv-dialog: $components-prefix + -dialog,
|
|
25
|
-
vv-dropdown: $components-prefix + -dropdown,
|
|
26
29
|
vv-dropdown-action: $components-prefix + -dropdown-action,
|
|
27
|
-
vv-dropdown-option: $components-prefix + -dropdown-option,
|
|
28
30
|
vv-dropdown-optgroup: $components-prefix + -dropdown-optgroup,
|
|
29
|
-
vv-
|
|
30
|
-
vv-
|
|
31
|
-
vv-
|
|
32
|
-
vv-radio: $components-prefix + -radio,
|
|
33
|
-
vv-avatar: $components-prefix + -avatar,
|
|
34
|
-
vv-avatar-group: $components-prefix + -avatar-group,
|
|
31
|
+
vv-dropdown-option: $components-prefix + -dropdown-option,
|
|
32
|
+
vv-dropdown: $components-prefix + -dropdown,
|
|
33
|
+
vv-input-file: $components-prefix + -input-file,
|
|
35
34
|
vv-input-text: $components-prefix + -input-text,
|
|
36
35
|
vv-nav: $components-prefix + -nav,
|
|
37
36
|
vv-progress: $components-prefix + -progress,
|
|
37
|
+
vv-radio-group: $components-prefix + -radio-group,
|
|
38
|
+
vv-radio: $components-prefix + -radio,
|
|
38
39
|
vv-select: $components-prefix + -select,
|
|
39
40
|
vv-skeleton: $components-prefix + -skeleton,
|
|
40
41
|
vv-tab: $components-prefix + -tab,
|
|
@@ -42,19 +42,8 @@ $component-selector: '.#{ $component-name}';
|
|
|
42
42
|
input[type='button'],
|
|
43
43
|
input[type='submit'],
|
|
44
44
|
input[type='reset']
|
|
45
|
-
)
|
|
46
|
-
&::file-selector-button {
|
|
45
|
+
) {
|
|
47
46
|
@extend %#{$component-name};
|
|
48
47
|
}
|
|
49
|
-
|
|
50
|
-
// input file
|
|
51
|
-
@if map.get($component-map, 'gap') {
|
|
52
|
-
&::file-selector-button {
|
|
53
|
-
margin-inline-end: var(
|
|
54
|
-
--vv-button-gap,
|
|
55
|
-
map.get($component-map, 'gap')
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
48
|
}
|
|
60
49
|
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
@use 'sass:list';
|
|
3
|
+
@use '../context' as *;
|
|
4
|
+
|
|
5
|
+
$component-name: map.get($components-names, vv-input-file);
|
|
6
|
+
$component-map: $vv-input-file;
|
|
7
|
+
$component-selector: '.#{$component-name}';
|
|
8
|
+
|
|
9
|
+
@include spread-map-into-bem(
|
|
10
|
+
$map: $component-map,
|
|
11
|
+
$block: $component-name,
|
|
12
|
+
$props: $use-custom-props-for-components,
|
|
13
|
+
$zero-specificity: $zero-specificity-for-components,
|
|
14
|
+
$bps: $breakpoints
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
// disabled and readonly
|
|
18
|
+
@each $state in ('disabled', 'readonly') {
|
|
19
|
+
$selector: '#{$component-selector}:has(input[#{$state}])';
|
|
20
|
+
@include wrap-with-where(
|
|
21
|
+
$selector: $selector,
|
|
22
|
+
$enabled: $zero-specificity-for-components
|
|
23
|
+
) {
|
|
24
|
+
@extend %#{$component-name}--#{$state} !optional;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// element
|
|
28
|
+
@if map.get($component-map, 'state', $state, 'element') {
|
|
29
|
+
@each $element,
|
|
30
|
+
$map in map.get($component-map, 'state', $state, 'element')
|
|
31
|
+
{
|
|
32
|
+
$element-selector: (
|
|
33
|
+
'#{$selector} #{$component-selector}__#{$element}'
|
|
34
|
+
);
|
|
35
|
+
$alias: map.get($component-map, 'element', $element, '_alias');
|
|
36
|
+
@if $alias {
|
|
37
|
+
$element-selector: list.append(
|
|
38
|
+
$element-selector,
|
|
39
|
+
('#{$selector} #{$alias}')
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@include wrap-with-where(
|
|
44
|
+
$selector: $element-selector,
|
|
45
|
+
$enabled: $zero-specificity-for-components
|
|
46
|
+
) {
|
|
47
|
+
@extend %#{$component-name}-state-#{$state}__#{$element}
|
|
48
|
+
!optional;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// element state
|
|
52
|
+
@each $elementState, $elementMap in map.get($map, 'state') {
|
|
53
|
+
@if $elementState {
|
|
54
|
+
$element-selector-state: ();
|
|
55
|
+
@each $item in $element-selector {
|
|
56
|
+
$element-selector-state: list.append(
|
|
57
|
+
$element-selector-state,
|
|
58
|
+
('#{$item}:#{$elementState}')
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@include wrap-with-where(
|
|
63
|
+
$selector: $element-selector-state,
|
|
64
|
+
$enabled: $zero-specificity-for-components
|
|
65
|
+
) {
|
|
66
|
+
@extend %#{$component-name}-state-#{$state}-element-#{$element}--#{$elementState}
|
|
67
|
+
!optional;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// element pseudo
|
|
73
|
+
@each $pseudo, $pseudoMap in map.get($map, 'pseudo') {
|
|
74
|
+
@if $pseudo {
|
|
75
|
+
$element-selector-pseudo: ();
|
|
76
|
+
@each $item in $element-selector {
|
|
77
|
+
$element-selector-pseudo: list.append(
|
|
78
|
+
$element-selector-pseudo,
|
|
79
|
+
('#{$item}::#{$pseudo}')
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
@include wrap-with-where(
|
|
83
|
+
$selector: $element-selector-pseudo,
|
|
84
|
+
$enabled: $zero-specificity-for-components
|
|
85
|
+
) {
|
|
86
|
+
@extend %#{$component-name}-state-#{$state}-element-#{$element}--#{$pseudo}
|
|
87
|
+
!optional;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
|
+
@use 'sass:list';
|
|
2
3
|
@use '../context' as *;
|
|
3
4
|
|
|
4
5
|
$component-name: map.get($components-names, vv-input-text);
|
|
5
6
|
$component-map: $vv-input-text;
|
|
6
|
-
$component-selector: '.#{
|
|
7
|
+
$component-selector: '.#{$component-name}';
|
|
7
8
|
|
|
8
9
|
@include spread-map-into-bem(
|
|
9
10
|
$map: $component-map,
|
|
@@ -15,34 +16,76 @@ $component-selector: '.#{ $component-name}';
|
|
|
15
16
|
|
|
16
17
|
// disabled and readonly
|
|
17
18
|
@each $state in ('disabled', 'readonly') {
|
|
19
|
+
$selector: '#{$component-selector}:has(input[#{$state}])';
|
|
18
20
|
@include wrap-with-where(
|
|
19
|
-
$selector:
|
|
21
|
+
$selector: $selector,
|
|
20
22
|
$enabled: $zero-specificity-for-components
|
|
21
23
|
) {
|
|
22
24
|
@extend %#{$component-name}--#{$state} !optional;
|
|
23
25
|
}
|
|
24
26
|
|
|
27
|
+
// element
|
|
25
28
|
@if map.get($component-map, 'state', $state, 'element') {
|
|
26
29
|
@each $element,
|
|
27
30
|
$map in map.get($component-map, 'state', $state, 'element')
|
|
28
31
|
{
|
|
32
|
+
$element-selector: (
|
|
33
|
+
'#{$selector} #{$component-selector}__#{$element}'
|
|
34
|
+
);
|
|
35
|
+
$alias: map.get($component-map, 'element', $element, '_alias');
|
|
36
|
+
@if $alias {
|
|
37
|
+
$element-selector: list.append(
|
|
38
|
+
$element-selector,
|
|
39
|
+
('#{$selector} #{$alias}')
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
29
43
|
@include wrap-with-where(
|
|
30
|
-
$selector:
|
|
31
|
-
'#{$component-selector}:has(input:#{$state}) #{$component-selector}__#{$element}',
|
|
44
|
+
$selector: $element-selector,
|
|
32
45
|
$enabled: $zero-specificity-for-components
|
|
33
46
|
) {
|
|
34
47
|
@extend %#{$component-name}-state-#{$state}__#{$element}
|
|
35
48
|
!optional;
|
|
36
49
|
}
|
|
37
50
|
|
|
51
|
+
// element state
|
|
38
52
|
@each $elementState, $elementMap in map.get($map, 'state') {
|
|
39
|
-
@
|
|
40
|
-
$selector:
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
53
|
+
@if $elementState {
|
|
54
|
+
$element-selector-state: ();
|
|
55
|
+
@each $item in $element-selector {
|
|
56
|
+
$element-selector-state: list.append(
|
|
57
|
+
$element-selector-state,
|
|
58
|
+
('#{$item}:#{$elementState}')
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@include wrap-with-where(
|
|
63
|
+
$selector: $element-selector-state,
|
|
64
|
+
$enabled: $zero-specificity-for-components
|
|
65
|
+
) {
|
|
66
|
+
@extend %#{$component-name}-state-#{$state}-element-#{$element}--#{$elementState}
|
|
67
|
+
!optional;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// element pseudo
|
|
73
|
+
@each $pseudo, $pseudoMap in map.get($map, 'pseudo') {
|
|
74
|
+
@if $pseudo {
|
|
75
|
+
$element-selector-pseudo: ();
|
|
76
|
+
@each $item in $element-selector {
|
|
77
|
+
$element-selector-pseudo: list.append(
|
|
78
|
+
$element-selector-pseudo,
|
|
79
|
+
('#{$item}::#{$pseudo}')
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
@include wrap-with-where(
|
|
83
|
+
$selector: $element-selector-pseudo,
|
|
84
|
+
$enabled: $zero-specificity-for-components
|
|
85
|
+
) {
|
|
86
|
+
@extend %#{$component-name}-state-#{$state}-element-#{$element}--#{$pseudo}
|
|
87
|
+
!optional;
|
|
88
|
+
}
|
|
46
89
|
}
|
|
47
90
|
}
|
|
48
91
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
|
+
@use 'sass:list';
|
|
2
3
|
@use '../context' as *;
|
|
3
4
|
|
|
4
5
|
$component-name: map.get($components-names, vv-select);
|
|
@@ -15,34 +16,76 @@ $component-selector: '.#{ $component-name}';
|
|
|
15
16
|
|
|
16
17
|
// disabled
|
|
17
18
|
@each $state in ('disabled') {
|
|
19
|
+
$selector: '#{$component-selector}:has(select[#{$state}])';
|
|
18
20
|
@include wrap-with-where(
|
|
19
|
-
$selector:
|
|
21
|
+
$selector: $selector,
|
|
20
22
|
$enabled: $zero-specificity-for-components
|
|
21
23
|
) {
|
|
22
24
|
@extend %#{$component-name}--#{$state} !optional;
|
|
23
25
|
}
|
|
24
26
|
|
|
27
|
+
// element
|
|
25
28
|
@if map.get($component-map, 'state', $state, 'element') {
|
|
26
29
|
@each $element,
|
|
27
30
|
$map in map.get($component-map, 'state', $state, 'element')
|
|
28
31
|
{
|
|
32
|
+
$element-selector: (
|
|
33
|
+
'#{$selector} #{$component-selector}__#{$element}'
|
|
34
|
+
);
|
|
35
|
+
$alias: map.get($component-map, 'element', $element, '_alias');
|
|
36
|
+
@if $alias {
|
|
37
|
+
$element-selector: list.append(
|
|
38
|
+
$element-selector,
|
|
39
|
+
('#{$selector} #{$alias}')
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
29
43
|
@include wrap-with-where(
|
|
30
|
-
$selector:
|
|
31
|
-
'#{$component-selector}:has(select:#{$state}) #{$component-selector}__#{$element}',
|
|
44
|
+
$selector: $element-selector,
|
|
32
45
|
$enabled: $zero-specificity-for-components
|
|
33
46
|
) {
|
|
34
47
|
@extend %#{$component-name}-state-#{$state}__#{$element}
|
|
35
48
|
!optional;
|
|
36
49
|
}
|
|
37
50
|
|
|
51
|
+
// element state
|
|
38
52
|
@each $elementState, $elementMap in map.get($map, 'state') {
|
|
39
|
-
@
|
|
40
|
-
$selector:
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
53
|
+
@if $elementState {
|
|
54
|
+
$element-selector-state: ();
|
|
55
|
+
@each $item in $element-selector {
|
|
56
|
+
$element-selector-state: list.append(
|
|
57
|
+
$element-selector-state,
|
|
58
|
+
('#{$item}:#{$elementState}')
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@include wrap-with-where(
|
|
63
|
+
$selector: $element-selector-state,
|
|
64
|
+
$enabled: $zero-specificity-for-components
|
|
65
|
+
) {
|
|
66
|
+
@extend %#{$component-name}-state-#{$state}-element-#{$element}--#{$elementState}
|
|
67
|
+
!optional;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// element pseudo
|
|
73
|
+
@each $pseudo, $pseudoMap in map.get($map, 'pseudo') {
|
|
74
|
+
@if $pseudo {
|
|
75
|
+
$element-selector-pseudo: ();
|
|
76
|
+
@each $item in $element-selector {
|
|
77
|
+
$element-selector-pseudo: list.append(
|
|
78
|
+
$element-selector-pseudo,
|
|
79
|
+
('#{$item}::#{$pseudo}')
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
@include wrap-with-where(
|
|
83
|
+
$selector: $element-selector-pseudo,
|
|
84
|
+
$enabled: $zero-specificity-for-components
|
|
85
|
+
) {
|
|
86
|
+
@extend %#{$component-name}-state-#{$state}-element-#{$element}--#{$pseudo}
|
|
87
|
+
!optional;
|
|
88
|
+
}
|
|
46
89
|
}
|
|
47
90
|
}
|
|
48
91
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
|
+
@use 'sass:list';
|
|
2
3
|
@use '../context' as *;
|
|
3
4
|
|
|
4
5
|
$component-name: map.get($components-names, vv-textarea);
|
|
@@ -15,34 +16,76 @@ $component-selector: '.#{ $component-name}';
|
|
|
15
16
|
|
|
16
17
|
// disabled and readonly
|
|
17
18
|
@each $state in ('disabled', 'readonly') {
|
|
19
|
+
$selector: '#{$component-selector}:has(textarea[#{$state}])';
|
|
18
20
|
@include wrap-with-where(
|
|
19
|
-
$selector:
|
|
21
|
+
$selector: $selector,
|
|
20
22
|
$enabled: $zero-specificity-for-components
|
|
21
23
|
) {
|
|
22
24
|
@extend %#{$component-name}--#{$state} !optional;
|
|
23
25
|
}
|
|
24
26
|
|
|
27
|
+
// element
|
|
25
28
|
@if map.get($component-map, 'state', $state, 'element') {
|
|
26
29
|
@each $element,
|
|
27
30
|
$map in map.get($component-map, 'state', $state, 'element')
|
|
28
31
|
{
|
|
32
|
+
$element-selector: (
|
|
33
|
+
'#{$selector} #{$component-selector}__#{$element}'
|
|
34
|
+
);
|
|
35
|
+
$alias: map.get($component-map, 'element', $element, '_alias');
|
|
36
|
+
@if $alias {
|
|
37
|
+
$element-selector: list.append(
|
|
38
|
+
$element-selector,
|
|
39
|
+
('#{$selector} #{$alias}')
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
29
43
|
@include wrap-with-where(
|
|
30
|
-
$selector:
|
|
31
|
-
'#{$component-selector}:has(textarea:#{$state}) #{$component-selector}__#{$element}',
|
|
44
|
+
$selector: $element-selector,
|
|
32
45
|
$enabled: $zero-specificity-for-components
|
|
33
46
|
) {
|
|
34
47
|
@extend %#{$component-name}-state-#{$state}__#{$element}
|
|
35
48
|
!optional;
|
|
36
49
|
}
|
|
37
50
|
|
|
51
|
+
// element state
|
|
38
52
|
@each $elementState, $elementMap in map.get($map, 'state') {
|
|
39
|
-
@
|
|
40
|
-
$selector:
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
53
|
+
@if $elementState {
|
|
54
|
+
$element-selector-state: ();
|
|
55
|
+
@each $item in $element-selector {
|
|
56
|
+
$element-selector-state: list.append(
|
|
57
|
+
$element-selector-state,
|
|
58
|
+
('#{$item}:#{$elementState}')
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@include wrap-with-where(
|
|
63
|
+
$selector: $element-selector-state,
|
|
64
|
+
$enabled: $zero-specificity-for-components
|
|
65
|
+
) {
|
|
66
|
+
@extend %#{$component-name}-state-#{$state}-element-#{$element}--#{$elementState}
|
|
67
|
+
!optional;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// element pseudo
|
|
73
|
+
@each $pseudo, $pseudoMap in map.get($map, 'pseudo') {
|
|
74
|
+
@if $pseudo {
|
|
75
|
+
$element-selector-pseudo: ();
|
|
76
|
+
@each $item in $element-selector {
|
|
77
|
+
$element-selector-pseudo: list.append(
|
|
78
|
+
$element-selector-pseudo,
|
|
79
|
+
('#{$item}::#{$pseudo}')
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
@include wrap-with-where(
|
|
83
|
+
$selector: $element-selector-pseudo,
|
|
84
|
+
$enabled: $zero-specificity-for-components
|
|
85
|
+
) {
|
|
86
|
+
@extend %#{$component-name}-state-#{$state}-element-#{$element}--#{$pseudo}
|
|
87
|
+
!optional;
|
|
88
|
+
}
|
|
46
89
|
}
|
|
47
90
|
}
|
|
48
91
|
}
|
|
@@ -145,3 +145,22 @@
|
|
|
145
145
|
background-position-x: -200%;
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
|
+
|
|
149
|
+
@keyframes clippath {
|
|
150
|
+
0%,
|
|
151
|
+
100% {
|
|
152
|
+
clip-path: inset(0 0 95% 0);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
25% {
|
|
156
|
+
clip-path: inset(0 95% 0 0);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
50% {
|
|
160
|
+
clip-path: inset(95% 0 0 0);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
75% {
|
|
164
|
+
clip-path: inset(0 0 0 95%);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
@@ -50,6 +50,8 @@ $background-image: (
|
|
|
50
50
|
none: none,
|
|
51
51
|
chevron:
|
|
52
52
|
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(#{hex-to-rgb($color-word)})' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"),
|
|
53
|
+
chessboard:
|
|
54
|
+
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' width='200' height='400'%3E%3Cdefs%3E%3Cpattern id='grid' width='20' height='20' patternUnits='userSpaceOnUse'%3E%3Crect fill='black' x='0' y='0' width='10' height='10' opacity='0.1'/%3E%3Crect fill='white' x='10' y='0' width='10' height='10'/%3E%3Crect fill='black' x='10' y='10' width='10' height='10' opacity='0.1'/%3E%3Crect fill='white' x='0' y='10' width='10' height='10'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23grid)' x='0' y='0' width='100%25' height='100%25'/%3E%3C/svg%3E"),
|
|
53
55
|
grid:
|
|
54
56
|
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='rgb(51 65 85 / 0.25)'%3E%3Cpath d='M0 .5H31.5V32'/%3E%3C/svg%3E"),
|
|
55
57
|
check:
|
|
@@ -15,7 +15,7 @@ $color-info: #31ccec !default;
|
|
|
15
15
|
$color-warning: #e7b735 !default;
|
|
16
16
|
$color-gray: hsl(color.hue($color-brand) 15% 50%) !default;
|
|
17
17
|
$color-word: hsl(color.hue($color-brand) 15% 10%) !default;
|
|
18
|
-
$color-surface: hsl(color.hue($color-brand) 10%
|
|
18
|
+
$color-surface: hsl(color.hue($color-brand) 10% 100%) !default;
|
|
19
19
|
$color-surface-palette: (
|
|
20
20
|
brand: hsl(var(--color-brand-hue) var(--color-brand-saturation) 90%),
|
|
21
21
|
accent: hsl(var(--color-accent-hue) var(--color-accent-saturation) 90%),
|
package/src/settings/_index.scss
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
@forward 'components/vv-radio-group';
|
|
39
39
|
@forward 'components/vv-avatar';
|
|
40
40
|
@forward 'components/vv-avatar-group';
|
|
41
|
+
@forward 'components/vv-input-file';
|
|
41
42
|
@forward 'components/vv-input-text';
|
|
42
43
|
@forward 'components/vv-nav';
|
|
43
44
|
@forward 'components/vv-progress';
|
package/src/settings/_input.scss
CHANGED
|
@@ -5,22 +5,24 @@ $vv-alert-group: (
|
|
|
5
5
|
flex-direction: column,
|
|
6
6
|
gap: var(--spacing-sm),
|
|
7
7
|
overflow: hidden,
|
|
8
|
-
|
|
9
|
-
empty: (
|
|
10
|
-
display: none,
|
|
11
|
-
),
|
|
12
|
-
),
|
|
8
|
+
pointer-events: none,
|
|
13
9
|
element: (
|
|
14
10
|
list: (
|
|
15
11
|
_alias: '> [role="group"]',
|
|
16
12
|
display: flex,
|
|
17
13
|
flex-direction: column,
|
|
18
14
|
gap: var(--spacing-xs),
|
|
15
|
+
state: (
|
|
16
|
+
empty: (
|
|
17
|
+
display: none,
|
|
18
|
+
),
|
|
19
|
+
),
|
|
19
20
|
),
|
|
20
21
|
item: (
|
|
21
22
|
_alias: '> [role="group"] > *',
|
|
22
23
|
transition: var(--transition-all),
|
|
23
24
|
flex-shrink: 0,
|
|
25
|
+
pointer-events: auto,
|
|
24
26
|
),
|
|
25
27
|
not-first: (
|
|
26
28
|
_alias: '> [role="group"] > *:not(:first-child)',
|
|
@@ -63,10 +65,10 @@ $vv-alert-group: (
|
|
|
63
65
|
max-height: var(--h-full),
|
|
64
66
|
),
|
|
65
67
|
reverse: (
|
|
66
|
-
flex-
|
|
68
|
+
flex-direction: column-reverse,
|
|
67
69
|
element: (
|
|
68
70
|
list: (
|
|
69
|
-
flex-
|
|
71
|
+
flex-direction: column-reverse,
|
|
70
72
|
),
|
|
71
73
|
),
|
|
72
74
|
),
|
|
@@ -8,6 +8,7 @@ $vv-checkbox-group: (
|
|
|
8
8
|
_alias: '> legend',
|
|
9
9
|
display: var(--input-label-display),
|
|
10
10
|
font-size: var(--input-label-font-size),
|
|
11
|
+
font-weight: var(--input-label-font-weight),
|
|
11
12
|
color: var(--input-label-color),
|
|
12
13
|
margin: 0 0 var(--input-label-gap) 0,
|
|
13
14
|
white-space: var(--input-label-white-space),
|