@volverjs/style 0.1.2-beta.10 → 0.1.2-beta.11

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.10",
3
+ "version": "0.1.2-beta.11",
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",
@@ -25,6 +25,8 @@
25
25
  "./scss/components": "./src/components/index.scss",
26
26
  "./components/vv-accordion": "./dist/components/vv-accordion.css",
27
27
  "./scss/components/vv-accordion": "./src/components/vv-accordion.scss",
28
+ "./components/vv-alert": "./dist/components/vv-alert.css",
29
+ "./scss/components/vv-alert": "./src/components/vv-alert.scss",
28
30
  "./components/vv-badge": "./dist/components/vv-badge.css",
29
31
  "./scss/components/vv-badge": "./src/components/vv-badge.scss",
30
32
  "./components/vv-breadcrumb": "./dist/components/vv-breadcrumb.css",
package/src/_config.scss CHANGED
@@ -12,23 +12,24 @@ $components-prefix: vv !default;
12
12
 
13
13
  // components names
14
14
  $components-names: (
15
+ vv-accordion: $components-prefix + -accordion,
16
+ vv-alert: $components-prefix + -alert,
15
17
  vv-badge: $components-prefix + -badge,
16
18
  vv-breadcrumb: $components-prefix + -breadcrumb,
17
- vv-button: $components-prefix + -button,
18
19
  vv-button-group: $components-prefix + -button-group,
19
- vv-progress: $components-prefix + -progress,
20
- vv-accordion: $components-prefix + -accordion,
20
+ vv-button: $components-prefix + -button,
21
+ vv-card: $components-prefix + -card,
21
22
  vv-dialog: $components-prefix + -dialog,
22
23
  vv-dropdown: $components-prefix + -dropdown,
23
- vv-input-checkbox: $components-prefix + -input-checkbox,
24
24
  vv-input-checkbox-group: $components-prefix + -input-checkbox-group,
25
- vv-input-radio: $components-prefix + -input-radio,
25
+ vv-input-checkbox: $components-prefix + -input-checkbox,
26
26
  vv-input-radio-group: $components-prefix + -input-radio-group,
27
+ vv-input-radio: $components-prefix + -input-radio,
27
28
  vv-input-text: $components-prefix + -input-text,
28
29
  vv-nav: $components-prefix + -nav,
29
- vv-textarea: $components-prefix + -textarea,
30
+ vv-progress: $components-prefix + -progress,
30
31
  vv-select: $components-prefix + -select,
31
32
  vv-table: $components-prefix + -table,
32
- vv-card: $components-prefix + -card,
33
33
  vv-text: $components-prefix + -text,
34
+ vv-textarea: $components-prefix + -textarea,
34
35
  ) !default;
@@ -1,19 +1,20 @@
1
+ @import 'vv-accordion';
2
+ @import 'vv-alert';
1
3
  @import 'vv-badge';
2
4
  @import 'vv-breadcrumb';
3
- @import 'vv-button';
4
5
  @import 'vv-button-group';
5
- @import 'vv-progress';
6
- @import 'vv-accordion';
6
+ @import 'vv-button';
7
+ @import 'vv-card';
7
8
  @import 'vv-dialog';
8
9
  @import 'vv-dropdown';
9
- @import 'vv-input-checkbox';
10
10
  @import 'vv-input-checkbox-group';
11
- @import 'vv-input-radio';
11
+ @import 'vv-input-checkbox';
12
12
  @import 'vv-input-radio-group';
13
+ @import 'vv-input-radio';
13
14
  @import 'vv-input-text';
14
15
  @import 'vv-nav';
15
- @import 'vv-textarea';
16
+ @import 'vv-progress';
16
17
  @import 'vv-select';
17
18
  @import 'vv-table';
18
- @import 'vv-card';
19
19
  @import 'vv-text';
20
+ @import 'vv-textarea';
@@ -0,0 +1,12 @@
1
+ @use 'sass:map';
2
+ @import '../context';
3
+
4
+ $component-name: map.get($components-names, vv-alert);
5
+ $component-map: $vv-alert;
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
+ );
@@ -15,22 +15,23 @@
15
15
  @import 'input';
16
16
 
17
17
  // components
18
+ @import 'components/vv-accordion';
19
+ @import 'components/vv-alert';
18
20
  @import 'components/vv-badge';
19
21
  @import 'components/vv-breadcrumb';
20
- @import 'components/vv-button';
21
22
  @import 'components/vv-button-group';
22
- @import 'components/vv-progress';
23
- @import 'components/vv-accordion';
23
+ @import 'components/vv-button';
24
+ @import 'components/vv-card';
24
25
  @import 'components/vv-dialog';
25
26
  @import 'components/vv-dropdown';
26
- @import 'components/vv-input-checkbox';
27
27
  @import 'components/vv-input-checkbox-group';
28
- @import 'components/vv-input-radio';
28
+ @import 'components/vv-input-checkbox';
29
29
  @import 'components/vv-input-radio-group';
30
+ @import 'components/vv-input-radio';
30
31
  @import 'components/vv-input-text';
31
32
  @import 'components/vv-nav';
32
- @import 'components/vv-textarea';
33
+ @import 'components/vv-progress';
33
34
  @import 'components/vv-select';
34
35
  @import 'components/vv-table';
35
- @import 'components/vv-card';
36
36
  @import 'components/vv-text';
37
+ @import 'components/vv-textarea';
@@ -0,0 +1,148 @@
1
+ $vv-alert: (
2
+ --alert-padding-top: var(--spacing-md),
3
+ --alert-padding-right: var(--spacing-md),
4
+ --alert-padding-bottom: var(--spacing-md),
5
+ --alert-padding-left: var(--spacing-md),
6
+ [padding-top]: var(--alert-padding-top),
7
+ [padding-right]: var(--alert-padding-right),
8
+ [padding-bottom]: var(--alert-padding-bottom),
9
+ [padding-left]: var(--alert-padding-left),
10
+ background-color: var(--color-surface-2),
11
+ border-color: var(--color-surface-4),
12
+ border-width: var(--border),
13
+ border-style: solid,
14
+ border-radius: var(--rounded),
15
+ position: relative,
16
+ modifier: (
17
+ success: (
18
+ border-color: var(--color-success-lighten-5),
19
+ background-color:
20
+ hsl(
21
+ var(--color-success-hue) var(--color-success-saturation) 90%
22
+ ),
23
+ element: (
24
+ icon: (
25
+ color: var(--color-success),
26
+ ),
27
+ title: (
28
+ color: var(--color-success),
29
+ ),
30
+ ),
31
+ ),
32
+ danger: (
33
+ border-color: var(--color-danger-lighten-5),
34
+ background-color:
35
+ hsl(var(--color-danger-hue) var(--color-danger-saturation) 90%),
36
+ element: (
37
+ icon: (
38
+ color: var(--color-danger-darken-1),
39
+ ),
40
+ title: (
41
+ color: var(--color-danger-darken-1),
42
+ ),
43
+ ),
44
+ ),
45
+ warning: (
46
+ border-color: var(--color-warning-lighten-5),
47
+ background-color:
48
+ hsl(
49
+ var(--color-warning-hue) var(--color-warning-saturation) 90%
50
+ ),
51
+ element: (
52
+ icon: (
53
+ color: var(--color-warning-darken-1),
54
+ ),
55
+ title: (
56
+ color: var(--color-warning-darken-1),
57
+ ),
58
+ ),
59
+ ),
60
+ info: (
61
+ border-color: var(--color-info-lighten-5),
62
+ background-color:
63
+ hsl(var(--color-info-hue) var(--color-info-saturation) 90%),
64
+ element: (
65
+ icon: (
66
+ color: var(--color-info-darken-1),
67
+ ),
68
+ title: (
69
+ color: var(--color-info-darken-1),
70
+ ),
71
+ ),
72
+ ),
73
+ accent: (
74
+ border-color: var(--color-accent-lighten-5),
75
+ background-color:
76
+ hsl(var(--color-accent-hue) var(--color-accent-saturation) 90%),
77
+ element: (
78
+ icon: (
79
+ color: var(--color-accent-darken-1),
80
+ ),
81
+ title: (
82
+ color: var(--color-accent-darken-1),
83
+ ),
84
+ ),
85
+ ),
86
+ brand: (
87
+ --alert-color: var(--color-brand-darken-1),
88
+ border-color: var(--color-brand-lighten-5),
89
+ background-color:
90
+ hsl(var(--color-brand-hue) var(--color-brand-saturation) 90%),
91
+ element: (
92
+ icon: (
93
+ color: var(--color-brand-darken-1),
94
+ ),
95
+ title: (
96
+ color: var(--color-brand-darken-1),
97
+ ),
98
+ ),
99
+ ),
100
+ callout: (
101
+ border-radius: var(--rounded-none),
102
+ border-width: 0 0 0 var(--spacing-4),
103
+ ),
104
+ icon: (
105
+ [padding-left]: calc(var(--alert-padding-left) * 2 + 1.2em),
106
+ element: (
107
+ icon: (
108
+ position: absolute,
109
+ [left]: var(--alert-padding-left),
110
+ ),
111
+ ),
112
+ ),
113
+ action: (
114
+ [padding-right]: calc(var(--alert-padding-right) * 2 + 1.2em),
115
+ element: (
116
+ action: (
117
+ position: absolute,
118
+ [right]: var(--alert-padding-right),
119
+ ),
120
+ ),
121
+ ),
122
+ ),
123
+ element: (
124
+ icon: (
125
+ _alias: '> :where(svg, [data-icon])',
126
+ inline-size: 1.2em,
127
+ block-size: 1.2em,
128
+ ),
129
+ action: (
130
+ font-size: 1.2em,
131
+ inline-size: 1em,
132
+ block-size: 1em,
133
+ cursor: pointer,
134
+ ),
135
+ title: (
136
+ display: block,
137
+ margin-bottom: var(--spacing-sm),
138
+ font-weight: var(--font-bold),
139
+ text-transform: uppercase,
140
+ ),
141
+ separator: (
142
+ _alias: '> hr',
143
+ height: var(--border),
144
+ background-color: var(--color-alpha-2),
145
+ margin-block: var(--spacing-sm),
146
+ ),
147
+ ),
148
+ ) !default;
@@ -0,0 +1,22 @@
1
+ @use 'sass:map';
2
+ @import '../context';
3
+
4
+ $component-name: map.get($components-names, vv-alert);
5
+ $component-map: $dark-vv-alert;
6
+
7
+ @mixin theme-dark-vv-alert {
8
+ @include spread-map-into-props(
9
+ $map: $component-map,
10
+ $prefix: $component-name
11
+ );
12
+ }
13
+
14
+ :where(:host, :root, .theme):not(.theme--light) {
15
+ @media (prefers-color-scheme: dark) {
16
+ @include theme-dark-vv-alert;
17
+ }
18
+ }
19
+
20
+ :where(.theme.theme--dark) {
21
+ @include theme-dark-vv-alert;
22
+ }
@@ -3,13 +3,11 @@
3
3
 
4
4
  $component-name: map.get($components-names, vv-button);
5
5
  $component-map: $dark-vv-button;
6
- $props: true;
7
6
 
8
7
  @mixin theme-dark-vv-button {
9
8
  @include spread-map-into-props(
10
9
  $map: $component-map,
11
- $prefix: $component-name,
12
- $deep: $props
10
+ $prefix: $component-name
13
11
  );
14
12
  }
15
13
 
@@ -3,13 +3,11 @@
3
3
 
4
4
  $component-name: map.get($components-names, vv-input-checkbox);
5
5
  $component-map: $dark-vv-input-checkbox;
6
- $props: true;
7
6
 
8
7
  @mixin theme-dark-vv-input-checkbox {
9
8
  @include spread-map-into-props(
10
9
  $map: $component-map,
11
- $prefix: $component-name,
12
- $deep: $props
10
+ $prefix: $component-name
13
11
  );
14
12
  }
15
13
 
@@ -1,2 +1,3 @@
1
+ @import 'vv-alert';
1
2
  @import 'vv-button';
2
3
  @import 'vv-input-checkbox';
@@ -1,5 +1,6 @@
1
1
  @import 'colors';
2
2
  @import 'background';
3
3
 
4
+ @import 'components/vv-alert';
4
5
  @import 'components/vv-button';
5
6
  @import 'components/vv-input-checkbox';
@@ -0,0 +1,80 @@
1
+ $dark-vv-alert: (
2
+ modifier: (
3
+ success: (
4
+ background-color:
5
+ hsl(
6
+ var(--color-success-hue) var(--color-success-saturation) 10%
7
+ ),
8
+ element: (
9
+ icon: (
10
+ color: var(--color-success),
11
+ ),
12
+ title: (
13
+ color: var(--color-success),
14
+ ),
15
+ ),
16
+ ),
17
+ danger: (
18
+ background-color:
19
+ hsl(var(--color-danger-hue) var(--color-danger-saturation) 10%),
20
+ element: (
21
+ icon: (
22
+ color: var(--color-danger),
23
+ ),
24
+ title: (
25
+ color: var(--color-danger),
26
+ ),
27
+ ),
28
+ ),
29
+ warning: (
30
+ background-color:
31
+ hsl(
32
+ var(--color-warning-hue) var(--color-warning-saturation) 10%
33
+ ),
34
+ element: (
35
+ icon: (
36
+ color: var(--color-warning),
37
+ ),
38
+ title: (
39
+ color: var(--color-warning),
40
+ ),
41
+ ),
42
+ ),
43
+ info: (
44
+ background-color:
45
+ hsl(var(--color-info-hue) var(--color-info-saturation) 10%),
46
+ element: (
47
+ icon: (
48
+ color: var(--color-info),
49
+ ),
50
+ title: (
51
+ color: var(--color-info),
52
+ ),
53
+ ),
54
+ ),
55
+ accent: (
56
+ background-color:
57
+ hsl(var(--color-accent-hue) var(--color-accent-saturation) 10%),
58
+ element: (
59
+ icon: (
60
+ color: var(--color-accent),
61
+ ),
62
+ title: (
63
+ color: var(--color-accent),
64
+ ),
65
+ ),
66
+ ),
67
+ brand: (
68
+ background-color:
69
+ hsl(var(--color-brand-hue) var(--color-brand-saturation) 10%),
70
+ element: (
71
+ icon: (
72
+ color: var(--color-brand),
73
+ ),
74
+ title: (
75
+ color: var(--color-brand),
76
+ ),
77
+ ),
78
+ ),
79
+ ),
80
+ ) !default;
@@ -832,6 +832,7 @@
832
832
  $breakpoints-key: 'breakpoint',
833
833
  $props: true,
834
834
  $zero-specificity: true,
835
+ $custom-props: false,
835
836
  $custom-block: false,
836
837
  $custom-elements: false,
837
838
  $custom-modifiers: false,
@@ -842,13 +843,15 @@
842
843
  $selector: '.' + $block;
843
844
 
844
845
  // custom props
845
- @if $props {
846
- :where(:host, :root, .theme) {
847
- @include spread-map-into-props(
848
- $map: $map,
849
- $prefix: $block,
850
- $deep: true
851
- );
846
+ @if not $custom-props {
847
+ @if $props {
848
+ :where(:host, :root, .theme) {
849
+ @include spread-map-into-props(
850
+ $map: $map,
851
+ $prefix: $block,
852
+ $deep: true
853
+ );
854
+ }
852
855
  }
853
856
  }
854
857