@redvars/peacock 3.6.2 → 3.6.3

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 (75) hide show
  1. package/dist/assets/components.css.map +1 -1
  2. package/dist/assets/styles.css.map +1 -1
  3. package/dist/{button-colors-AvGh22Zn.js → button-colors-Cg6oxiz-.js} +126 -116
  4. package/dist/{button-colors-AvGh22Zn.js.map → button-colors-Cg6oxiz-.js.map} +1 -1
  5. package/dist/button-group.js +2 -2
  6. package/dist/button.js +17 -14
  7. package/dist/button.js.map +1 -1
  8. package/dist/canvas.js +126 -107
  9. package/dist/canvas.js.map +1 -1
  10. package/dist/custom-elements-jsdocs.json +665 -162
  11. package/dist/custom-elements.json +859 -326
  12. package/dist/{flow-designer-node-BWrPuxAR.js → flow-designer-node-9Bqyn6qx.js} +2 -1
  13. package/dist/flow-designer-node-9Bqyn6qx.js.map +1 -0
  14. package/dist/flow-designer-node.js +1 -1
  15. package/dist/flow-designer.js +3 -3
  16. package/dist/{icon-button-ohxHhy4t.js → icon-button-AdJBEoNy.js} +34 -30
  17. package/dist/icon-button-AdJBEoNy.js.map +1 -0
  18. package/dist/index.js +4 -4
  19. package/dist/{navigation-rail-CD7IrqbN.js → navigation-rail-DAUuJ_Yp.js} +735 -370
  20. package/dist/navigation-rail-DAUuJ_Yp.js.map +1 -0
  21. package/dist/peacock-loader.js +6 -3
  22. package/dist/peacock-loader.js.map +1 -1
  23. package/dist/popover-content.js +1 -1
  24. package/dist/popover-content.js.map +1 -1
  25. package/dist/search.js +11 -14
  26. package/dist/search.js.map +1 -1
  27. package/dist/src/canvas/canvas.d.ts +3 -3
  28. package/dist/src/field/field.d.ts +1 -0
  29. package/dist/src/flow-designer/flow-designer-node.d.ts +1 -0
  30. package/dist/src/image/image.d.ts +2 -2
  31. package/dist/src/index.d.ts +1 -0
  32. package/dist/src/input/input.d.ts +1 -3
  33. package/dist/src/item/index.d.ts +1 -0
  34. package/dist/src/item/item.d.ts +48 -0
  35. package/dist/src/menu/menu-item/menu-item.d.ts +8 -9
  36. package/dist/src/menu/sub-menu/sub-menu.d.ts +1 -0
  37. package/dist/src/navigation-rail/navigation-rail.d.ts +2 -6
  38. package/dist/src/popover/popover-content.d.ts +1 -1
  39. package/dist/src/search/search.d.ts +2 -6
  40. package/dist/test/item.test.d.ts +1 -0
  41. package/dist/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +1 -1
  43. package/scss/mixin.scss +23 -0
  44. package/src/button/button/button-sizes.scss +11 -11
  45. package/src/button/button/button.scss +96 -122
  46. package/src/button/button/button.ts +37 -34
  47. package/src/button/icon-button/icon-button-sizes.scss +8 -8
  48. package/src/button/icon-button/icon-button.ts +23 -20
  49. package/src/canvas/canvas.scss +18 -6
  50. package/src/canvas/canvas.ts +125 -103
  51. package/src/chip/chip/chip.scss +1 -1
  52. package/src/empty-state/empty-state.scss +1 -0
  53. package/src/field/field.ts +6 -0
  54. package/src/flow-designer/flow-designer-node.ts +1 -0
  55. package/src/image/image.scss +21 -16
  56. package/src/image/image.ts +13 -14
  57. package/src/index.ts +1 -0
  58. package/src/input/input.ts +16 -25
  59. package/src/item/index.ts +1 -0
  60. package/src/item/item.scss +184 -0
  61. package/src/item/item.ts +340 -0
  62. package/src/menu/menu/menu.ts +5 -9
  63. package/src/menu/menu-item/menu-item.scss +30 -108
  64. package/src/menu/menu-item/menu-item.ts +89 -129
  65. package/src/menu/sub-menu/sub-menu.ts +6 -2
  66. package/src/navigation-rail/navigation-rail.ts +2 -6
  67. package/src/peacock-loader.ts +4 -0
  68. package/src/popover/popover-content.ts +1 -1
  69. package/src/search/search.ts +11 -16
  70. package/src/select/option.ts +1 -1
  71. package/src/select/select.scss +1 -10
  72. package/src/select/select.ts +2 -0
  73. package/dist/flow-designer-node-BWrPuxAR.js.map +0 -1
  74. package/dist/icon-button-ohxHhy4t.js.map +0 -1
  75. package/dist/navigation-rail-CD7IrqbN.js.map +0 -1
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@redvars/peacock",
3
3
  "description": "The foundation for beautiful user interfaces",
4
4
  "license": "Apache-2.0",
5
- "version": "3.6.2",
5
+ "version": "3.6.3",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.js",
package/scss/mixin.scss CHANGED
@@ -8,6 +8,29 @@
8
8
  }
9
9
  }
10
10
 
11
+ @mixin reset-button-styles {
12
+ background: transparent;
13
+ border: none;
14
+ appearance: none;
15
+ margin: 0;
16
+ outline: none;
17
+ padding: 0;
18
+ }
19
+
20
+ @mixin reset-link-styles {
21
+ text-decoration: none;
22
+ color: inherit;
23
+ cursor: pointer;
24
+
25
+ &:link,
26
+ &:visited,
27
+ &:hover,
28
+ &:active {
29
+ text-decoration: none;
30
+ color: inherit;
31
+ }
32
+ }
33
+
11
34
  @mixin get-typography($name) {
12
35
  font-family: var(--typography-#{$name}-font-family) !important;
13
36
  font-size: var(--typography-#{$name}-font-size) !important;
@@ -8,8 +8,8 @@
8
8
 
9
9
  :host([size='xs']) .button,
10
10
  :host([size='extra-small']) .button {
11
- --_button-icon-size: 1rem;
12
- --_button_container-padding: 0.75rem;
11
+ --private-button-icon-size: 1rem;
12
+ --private-button-container-padding: 0.75rem;
13
13
 
14
14
  font-size: 0.875rem !important;
15
15
  font-weight: var(--font-weight-medium) !important;
@@ -25,9 +25,9 @@
25
25
 
26
26
  :host([size='sm']) .button,
27
27
  :host([size='small']) .button {
28
- --_button-icon-size: 1.25rem;
29
- --_button_container-padding: 1rem;
30
- --_button-icon-label-spacing: 0.5rem;
28
+ --private-button-icon-size: 1.25rem;
29
+ --private-button-container-padding: 1rem;
30
+ --private-button-icon-label-spacing: 0.5rem;
31
31
 
32
32
  font-size: 0.875rem !important;
33
33
  font-weight: var(--font-weight-medium) !important;
@@ -42,8 +42,8 @@
42
42
 
43
43
  :host([size='md']) .button,
44
44
  :host([size='medium']) .button {
45
- --_button-icon-size: 1.5rem;
46
- --_button_container-padding: 1.5rem;
45
+ --private-button-icon-size: 1.5rem;
46
+ --private-button-container-padding: 1.5rem;
47
47
 
48
48
  font-size: 1rem !important;
49
49
  font-weight: var(--font-weight-medium) !important;
@@ -58,8 +58,8 @@
58
58
 
59
59
  :host([size='lg']) .button,
60
60
  :host([size='large']) .button {
61
- --_button-icon-size: 2rem;
62
- --_button_container-padding: 3rem;
61
+ --private-button-icon-size: 2rem;
62
+ --private-button-container-padding: 3rem;
63
63
 
64
64
  font-size: 1.5rem !important;
65
65
  font-weight: var(--font-weight-regular) !important;
@@ -74,8 +74,8 @@
74
74
 
75
75
  :host([size='xl']) .button,
76
76
  :host([size='extra-large']) .button {
77
- --_button-icon-size: 2.5rem;
78
- --_button_container-padding: 4rem;
77
+ --private-button-icon-size: 2.5rem;
78
+ --private-button-container-padding: 4rem;
79
79
 
80
80
  font-size: 2rem !important;
81
81
  font-weight: var(--font-weight-regular) !important;
@@ -23,20 +23,18 @@
23
23
  * These variables are used internally within the button component
24
24
  */
25
25
  slot::slotted(*) {
26
- --icon-size: var(--button-icon-size, var(--_button-icon-size));
27
- --icon-color: var(--_button_label-text-color);
26
+ --icon-size: var(--button-icon-size, var(--private-button-icon-size));
27
+ --icon-color: var(--private-button-label-text-color);
28
28
  }
29
29
 
30
30
  /*
31
31
  * Reset native button/link styles
32
32
  */
33
- .button-element {
34
- background: transparent;
35
- border: none;
36
- appearance: none;
37
- margin: 0;
38
- outline: none;
39
- text-decoration: none;
33
+ .native-button {
34
+ @include mixin.reset-button-styles;
35
+ }
36
+ .native-link {
37
+ @include mixin.reset-link-styles;
40
38
  }
41
39
 
42
40
  .button {
@@ -46,16 +44,16 @@ slot::slotted(*) {
46
44
  align-items: center;
47
45
  justify-content: center;
48
46
  height: var(--button-height);
49
- padding: 0 var(--button-container-padding, var(--_button_container-padding));
47
+ padding: 0 var(--button-container-padding, var(--private-button-container-padding));
50
48
  width: 100%;
51
49
  font-family: var(--font-family-sans) !important;
52
50
  cursor: pointer;
53
51
 
54
- --_button_container-shape-start-start: var(--button-container-shape-start-start, var(--button-container-shape));
55
- --_button_container-shape-start-end: var(--button-container-shape-start-end, var(--button-container-shape));
56
- --_button_container-shape-end-start: var(--button-container-shape-end-start, var(--button-container-shape));
57
- --_button_container-shape-end-end: var(--button-container-shape-end-end, var(--button-container-shape));
58
- --_button_container-corner-shape-variant: var(--button-container-shape-variant);
52
+ --private-button-container-shape-start-start: var(--button-container-shape-start-start, var(--button-container-shape));
53
+ --private-button-container-shape-start-end: var(--button-container-shape-start-end, var(--button-container-shape));
54
+ --private-button-container-shape-end-start: var(--button-container-shape-end-start, var(--button-container-shape));
55
+ --private-button-container-shape-end-end: var(--button-container-shape-end-end, var(--button-container-shape));
56
+ --private-button-container-shape-variant: var(--button-container-shape-variant);
59
57
 
60
58
 
61
59
  .button-content {
@@ -63,15 +61,15 @@ slot::slotted(*) {
63
61
  align-items: center;
64
62
  justify-content: center;
65
63
  pointer-events: none;
66
- gap: var(--_button-icon-label-spacing);
64
+ gap: var(--private-button-icon-label-spacing);
67
65
  width: 100%;
68
66
  height: 100%;
69
67
  z-index: 0;
70
68
 
71
- color: var(--_button_label-text-color);
72
- opacity: var(--_button_label-text-opacity, 1);
73
- --icon-size: var(--button-icon-size, var(--_button-icon-size));
74
- --icon-color: var(--_button_label-text-color);
69
+ color: var(--private-button-label-text-color);
70
+ opacity: var(--private-button-label-text-opacity, 1);
71
+ --icon-size: var(--button-icon-size, var(--private-button-icon-size));
72
+ --icon-color: var(--private-button-label-text-color);
75
73
 
76
74
  .slot-container {
77
75
  display: none;
@@ -88,21 +86,15 @@ slot::slotted(*) {
88
86
  */
89
87
  .focus-ring {
90
88
  z-index: 2;
91
- --focus-ring-container-shape-start-start: var(--_button_container-shape-start-start);
92
- --focus-ring-container-shape-start-end: var(--_button_container-shape-start-end);
93
- --focus-ring-container-shape-end-start: var(--_button_container-shape-end-start);
94
- --focus-ring-container-shape-end-end: var(--_button_container-shape-end-end);
95
- --focus-ring-container-shape-variant: var(--_button_container-corner-shape-variant);
89
+
90
+ @include mixin.copy-container-shape(private-button, focus-ring);
96
91
  }
97
92
 
98
93
  .ripple {
99
- border-start-start-radius: var(--_button_container-shape-start-start);
100
- border-start-end-radius: var(--_button_container-shape-start-end);
101
- border-end-start-radius: var(--_button_container-shape-end-start);
102
- border-end-end-radius: var(--_button_container-shape-end-end);
103
- corner-shape: var(--_button_container-corner-shape-variant);
104
- --ripple-state-opacity: var(--_button_state-opacity, 0);
105
- --ripple-pressed-color: var(--_button_state-color);
94
+ @include mixin.apply-container-shape(private-button);
95
+
96
+ --ripple-state-opacity: var(--private-button-state-opacity, 0);
97
+ --ripple-pressed-color: var(--private-button-state-color);
106
98
  }
107
99
 
108
100
  .background {
@@ -111,14 +103,9 @@ slot::slotted(*) {
111
103
  left: 0;
112
104
  width: 100%;
113
105
  height: 100%;
114
- background-color: var(--_button_container-color);
115
- opacity: var(--_button_container-opacity, 1);
116
-
117
- border-start-start-radius: var(--_button_container-shape-start-start);
118
- border-start-end-radius: var(--_button_container-shape-start-end);
119
- border-end-start-radius: var(--_button_container-shape-end-start);
120
- border-end-end-radius: var(--_button_container-shape-end-end);
121
- corner-shape: var(--_button_container-corner-shape-variant);
106
+ background-color: var(--private-button-container-color);
107
+ opacity: var(--private-button-container-opacity, 1);
108
+ @include mixin.apply-container-shape(private-button);
122
109
  pointer-events: none;
123
110
  }
124
111
 
@@ -130,36 +117,27 @@ slot::slotted(*) {
130
117
  position: absolute;
131
118
  top: 0;
132
119
  left: 0;
133
- --skeleton-container-shape-start-start: var(--_button_container-shape-start-start);
134
- --skeleton-container-shape-start-end: var(--_button_container-shape-start-end);
135
- --skeleton-container-shape-end-start: var(--_button_container-shape-end-start);
136
- --skeleton-container-shape-end-end: var(--_button_container-shape-end-end);
137
- --skeleton-container-shape-variant: var(--_button_container-corner-shape-variant);
120
+
121
+ @include mixin.copy-container-shape(private-button, skeleton);
138
122
  }
139
123
 
140
124
  .elevation {
141
- --elevation-level: var(--_button_container-elevation-level);
142
125
  transition-duration: 280ms;
143
- --elevation-container-shape-start-start: var(--_button_container-shape-start-start);
144
- --elevation-container-shape-start-end: var(--_button_container-shape-start-end);
145
- --elevation-container-shape-end-start: var(--_button_container-shape-end-start);
146
- --elevation-container-shape-end-end: var(--_button_container-shape-end-end);
147
- --elevation-container-shape-variant: var(--_button_container-corner-shape-variant);
126
+ @include mixin.copy-container-shape(private-button, elevation);
127
+
128
+ --elevation-level: var(--private-button-container-elevation-level);
148
129
  }
149
130
 
150
131
  .neo-background {
151
132
  display: none;
152
133
  position: absolute;
153
134
  background: var(--color-inverse-surface);
154
- border-start-start-radius: var(--_button_container-shape-start-start);
155
- border-start-end-radius: var(--_button_container-shape-start-end);
156
- border-end-start-radius: var(--_button_container-shape-end-start);
157
- border-end-end-radius: var(--_button_container-shape-end-end);
158
- corner-shape: var(--_button_container-corner-shape-variant);
159
135
  width: 100%;
160
136
  height: 100%;
161
137
  pointer-events: none;
162
138
  transform: translateX(0.25rem) translateY(0.25rem);
139
+
140
+ @include mixin.apply-container-shape(private-button);
163
141
  }
164
142
 
165
143
  .outline {
@@ -170,13 +148,9 @@ slot::slotted(*) {
170
148
  width: 100%;
171
149
  height: 100%;
172
150
  pointer-events: none;
173
- border: var(--_button_outline-width) solid var(--_button_outline-color);
174
- opacity: var(--_button_outline-opacity, 1);
175
- border-start-start-radius: var(--_button_container-shape-start-start);
176
- border-start-end-radius: var(--_button_container-shape-start-end);
177
- border-end-start-radius: var(--_button_container-shape-end-start);
178
- border-end-end-radius: var(--_button_container-shape-end-end);
179
- corner-shape: var(--_button_container-corner-shape-variant);
151
+ border: var(--private-button-outline-width) solid var(--private-button-outline-color);
152
+ opacity: var(--private-button-outline-opacity, 1);
153
+ @include mixin.apply-container-shape(private-button);
180
154
  }
181
155
 
182
156
 
@@ -222,27 +196,27 @@ slot::slotted(*) {
222
196
  */
223
197
 
224
198
  .button.variant-elevated {
225
- --_button_container-color: var(--elevated-button-container-color);
226
- --_button_label-text-color: var(--elevated-button-label-text-color);
227
- --_button_container-elevation-level: 1;
199
+ --private-button-container-color: var(--elevated-button-container-color);
200
+ --private-button-label-text-color: var(--elevated-button-label-text-color);
201
+ --private-button-container-elevation-level: 1;
228
202
 
229
- --_button_state-color: var(--_button_label-text-color);
203
+ --private-button-state-color: var(--private-button-label-text-color);
230
204
 
231
205
  &:hover:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
232
- --_button_container-elevation-level: 2;
233
- --_button_state-opacity: 0.08;
206
+ --private-button-container-elevation-level: 2;
207
+ --private-button-state-opacity: 0.08;
234
208
  }
235
209
 
236
210
  &.pressed:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
237
- --_button_container-elevation-level: 1;
238
- --_button_state-opacity: 0.12;
211
+ --private-button-container-elevation-level: 1;
212
+ --private-button-state-opacity: 0.12;
239
213
  }
240
214
 
241
215
  &.disabled {
242
- --_button_container-color: var(--color-on-surface);
243
- --_button_container-opacity: 0.1;
244
- --_button_label-text-color: var(--color-on-surface);
245
- --_button_label-text-opacity: 0.38;
216
+ --private-button-container-color: var(--color-on-surface);
217
+ --private-button-container-opacity: 0.1;
218
+ --private-button-label-text-color: var(--color-on-surface);
219
+ --private-button-label-text-opacity: 0.38;
246
220
 
247
221
  .ripple {
248
222
  display: none;
@@ -252,26 +226,26 @@ slot::slotted(*) {
252
226
 
253
227
 
254
228
  .button.variant-filled {
255
- --_button_container-color: var(--filled-button-container-color);
256
- --_button_label-text-color: var(--filled-button-label-text-color);
257
- --_button_state-color: var(--_button_label-text-color);
229
+ --private-button-container-color: var(--filled-button-container-color);
230
+ --private-button-label-text-color: var(--filled-button-label-text-color);
231
+ --private-button-state-color: var(--private-button-label-text-color);
258
232
 
259
233
 
260
234
  &:hover:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
261
- --_button_container-elevation-level: 1;
262
- --_button_state-opacity: 0.08;
235
+ --private-button-container-elevation-level: 1;
236
+ --private-button-state-opacity: 0.08;
263
237
  }
264
238
 
265
239
  &.pressed:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
266
- --_button_container-elevation-level: 0;
267
- --_button_state-opacity: 0.1;
240
+ --private-button-container-elevation-level: 0;
241
+ --private-button-state-opacity: 0.1;
268
242
  }
269
243
 
270
244
  &.disabled {
271
- --_button_container-color: var(--color-on-surface);
272
- --_button_container-opacity: 0.1;
273
- --_button_label-text-color: var(--color-on-surface);
274
- --_button_label-text-opacity: 0.38;
245
+ --private-button-container-color: var(--color-on-surface);
246
+ --private-button-container-opacity: 0.1;
247
+ --private-button-label-text-color: var(--color-on-surface);
248
+ --private-button-label-text-opacity: 0.38;
275
249
 
276
250
  .ripple {
277
251
  display: none;
@@ -281,26 +255,26 @@ slot::slotted(*) {
281
255
 
282
256
 
283
257
  .button.variant-tonal {
284
- --_button_container-color: var(--tonal-button-container-color);
285
- --_button_label-text-color: var(--tonal-button-label-text-color);
258
+ --private-button-container-color: var(--tonal-button-container-color);
259
+ --private-button-label-text-color: var(--tonal-button-label-text-color);
286
260
 
287
- --_button_state-color: var(--_button_label-text-color);
261
+ --private-button-state-color: var(--private-button-label-text-color);
288
262
 
289
263
  &:hover:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
290
- --_button_container-elevation-level: 1;
291
- --_button_state-opacity: 0.08;
264
+ --private-button-container-elevation-level: 1;
265
+ --private-button-state-opacity: 0.08;
292
266
  }
293
267
 
294
268
  &.pressed:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
295
- --_button_container-elevation-level: 0;
296
- --_button_state-opacity: 0.12;
269
+ --private-button-container-elevation-level: 0;
270
+ --private-button-state-opacity: 0.12;
297
271
  }
298
272
 
299
273
  &.disabled {
300
- --_button_container-color: var(--color-on-surface);
301
- --_button_container-opacity: 0.1;
302
- --_button_label-text-color: var(--color-on-surface);
303
- --_button_label-text-opacity: 0.38;
274
+ --private-button-container-color: var(--color-on-surface);
275
+ --private-button-container-opacity: 0.1;
276
+ --private-button-label-text-color: var(--color-on-surface);
277
+ --private-button-label-text-opacity: 0.38;
304
278
 
305
279
  .ripple {
306
280
  display: none;
@@ -310,29 +284,29 @@ slot::slotted(*) {
310
284
 
311
285
 
312
286
  .button.variant-outlined {
313
- --_button_outline-width: var(--outlined-button-outline-width, 0.0675rem);
314
- --_button_outline-color: var(--outlined-button-outline-color);
315
- --_button_label-text-color: var(--outlined-button-label-text-color);
287
+ --private-button-outline-width: var(--outlined-button-outline-width, 0.0675rem);
288
+ --private-button-outline-color: var(--outlined-button-outline-color);
289
+ --private-button-label-text-color: var(--outlined-button-label-text-color);
316
290
 
317
- --_button_state-color: var(--_button_label-text-color);
291
+ --private-button-state-color: var(--private-button-label-text-color);
318
292
 
319
293
  .outline {
320
294
  display: block;
321
295
  }
322
296
 
323
297
  &:hover:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
324
- --_button_state-opacity: 0.08;
298
+ --private-button-state-opacity: 0.08;
325
299
  }
326
300
 
327
301
  &.pressed:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
328
- --_button_state-opacity: 0.12;
302
+ --private-button-state-opacity: 0.12;
329
303
  }
330
304
 
331
305
  &.disabled {
332
- --_button_outline-color: var(--color-on-surface);
333
- --_button_label-text-color: var(--color-on-surface);
334
- --_button_label-text-opacity: 0.38;
335
- --_button_outline-opacity: 0.12;
306
+ --private-button-outline-color: var(--color-on-surface);
307
+ --private-button-label-text-color: var(--color-on-surface);
308
+ --private-button-label-text-opacity: 0.38;
309
+ --private-button-outline-opacity: 0.12;
336
310
 
337
311
  .ripple {
338
312
  display: none;
@@ -343,20 +317,20 @@ slot::slotted(*) {
343
317
 
344
318
  .button.variant-text {
345
319
 
346
- --_button_label-text-color: var(--text-button-label-text-color);
347
- --_button_state-color: var(--_button_label-text-color);
320
+ --private-button-label-text-color: var(--text-button-label-text-color);
321
+ --private-button-state-color: var(--private-button-label-text-color);
348
322
 
349
323
  &:hover:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
350
- --_button_state-opacity: 0.08;
324
+ --private-button-state-opacity: 0.08;
351
325
  }
352
326
 
353
327
  &.pressed:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
354
- --_button_state-opacity: 0.12;
328
+ --private-button-state-opacity: 0.12;
355
329
  }
356
330
 
357
331
  &.disabled {
358
- --_button_label-text-color: var(--color-on-surface);
359
- --_button_label-text-opacity: 0.38;
332
+ --private-button-label-text-color: var(--color-on-surface);
333
+ --private-button-label-text-opacity: 0.38;
360
334
 
361
335
  .ripple {
362
336
  display: none;
@@ -366,11 +340,11 @@ slot::slotted(*) {
366
340
 
367
341
  .button.variant-neo {
368
342
 
369
- --_button_container-color: var(--neo-button-container-color);
370
- --_button_label-text-color: var(--neo-button-label-text-color);
343
+ --private-button-container-color: var(--neo-button-container-color);
344
+ --private-button-label-text-color: var(--neo-button-label-text-color);
371
345
 
372
- --_button_outline-width: var(--outlined-button-outline-width, 0.125rem);
373
- --_button_outline-color: var(--color-inverse-surface);
346
+ --private-button-outline-width: var(--outlined-button-outline-width, 0.125rem);
347
+ --private-button-outline-color: var(--color-inverse-surface);
374
348
 
375
349
  .outline {
376
350
  display: block;
@@ -396,11 +370,11 @@ slot::slotted(*) {
396
370
  }
397
371
 
398
372
  &.disabled {
399
- --_button_container-color: var(--color-on-surface);
400
- --_button_container-opacity: 0.1;
401
- --_button_label-text-color: var(--color-on-surface);
402
- --_button_label-text-opacity: 0.38;
403
- --_button_outline-opacity: 0.12;
373
+ --private-button-container-color: var(--color-on-surface);
374
+ --private-button-container-opacity: 0.1;
375
+ --private-button-label-text-color: var(--color-on-surface);
376
+ --private-button-label-text-opacity: 0.38;
377
+ --private-button-outline-opacity: 0.12;
404
378
 
405
379
 
406
380
  .ripple {
@@ -74,36 +74,36 @@ export class Button extends BaseButton {
74
74
  * Type is preset of color and variant. Type will be only applied.
75
75
  *
76
76
  */
77
- @property({ type: String }) type?: 'primary' | 'secondary' | 'tertiary';
78
-
79
- /**
80
- * The visual style of the button.
81
- *
82
- * Possible variant values:
83
- * `"filled"` is a filled button.
84
- * `"outlined"` is an outlined button.
85
- * `"text"` is a transparent button.
86
- * `"tonal"` is a light color button.
87
- * `"elevated"` is elevated button
88
- */
89
- @property() variant:
90
- | 'elevated'
91
- | 'filled'
92
- | 'tonal'
93
- | 'outlined'
94
- | 'text'
95
- | 'neo' = 'filled';
96
-
97
- /**
98
- * Defines the primary color of the button. This can be set to predefined color names to apply specific color themes.
99
- */
100
- @property({ reflect: true }) color:
101
- | 'primary'
102
- | 'success'
103
- | 'danger'
104
- | 'warning'
105
- | 'surface'
106
- | 'on-surface' = 'primary';
77
+ @property({ type: String }) type?: 'primary' | 'secondary' | 'tertiary';
78
+
79
+ /**
80
+ * The visual style of the button.
81
+ *
82
+ * Possible variant values:
83
+ * `"filled"` is a filled button.
84
+ * `"outlined"` is an outlined button.
85
+ * `"text"` is a transparent button.
86
+ * `"tonal"` is a light color button.
87
+ * `"elevated"` is elevated button
88
+ */
89
+ @property() variant:
90
+ | 'elevated'
91
+ | 'filled'
92
+ | 'tonal'
93
+ | 'outlined'
94
+ | 'text'
95
+ | 'neo' = 'filled';
96
+
97
+ /**
98
+ * Defines the primary color of the button. This can be set to predefined color names to apply specific color themes.
99
+ */
100
+ @property({ reflect: true }) color:
101
+ | 'primary'
102
+ | 'success'
103
+ | 'danger'
104
+ | 'warning'
105
+ | 'surface'
106
+ | 'on-surface' = 'primary';
107
107
 
108
108
  /**
109
109
  * Additional ARIA attributes to pass to the inner button/anchor element.
@@ -156,9 +156,8 @@ export class Button extends BaseButton {
156
156
 
157
157
  override render() {
158
158
 
159
- const cssClasses = {
159
+ const cssClasses: any = {
160
160
  button: true,
161
- 'button-element': true,
162
161
  [`size-${this.size}`]: true,
163
162
  [`variant-${this.variant}`]: true,
164
163
  [`color-${this.color}`]: true,
@@ -170,6 +169,8 @@ export class Button extends BaseButton {
170
169
  };
171
170
 
172
171
  if (!this.__isLink()) {
172
+ cssClasses['native-button'] = true;
173
+
173
174
  return html`<button
174
175
  class=${classMap(cssClasses)}
175
176
  id="button"
@@ -188,8 +189,9 @@ export class Button extends BaseButton {
188
189
  ${this.renderButtonContent()}
189
190
  </button>
190
191
  ${this.__renderTooltip()}`;
191
- }
192
- return html`<a
192
+ } else {
193
+ cssClasses['native-link'] = true;
194
+ return html`<a
193
195
  class=${classMap(cssClasses)}
194
196
  id="button"
195
197
  href=${this.href}
@@ -210,6 +212,7 @@ export class Button extends BaseButton {
210
212
  ${this.renderButtonContent()}
211
213
  </a>
212
214
  ${this.__renderTooltip()}`;
215
+ }
213
216
  }
214
217
 
215
218
  renderButtonContent() {
@@ -1,9 +1,9 @@
1
1
  @use '../../../scss/mixin';
2
2
 
3
3
  .button {
4
- --_container-padding: 0.75rem;
4
+ --private-button-container-padding: 0.75rem;
5
5
  width: var(--button-height);
6
- --_container-padding: 0;
6
+ --private-button-container-padding: 0;
7
7
  }
8
8
 
9
9
  :host([size='xs']),
@@ -13,7 +13,7 @@
13
13
 
14
14
  :host([size='xs']) .button,
15
15
  :host([size='extra-small']) .button {
16
- --_button-icon-size: 1rem;
16
+ --private-button-icon-size: 1rem;
17
17
  }
18
18
 
19
19
 
@@ -24,8 +24,8 @@
24
24
 
25
25
  :host([size='sm']) .button,
26
26
  :host([size='small']) .button {
27
- --_button-icon-size: 1.25rem;
28
- --_button-icon-label-spacing: 0.5rem;
27
+ --private-button-icon-size: 1.25rem;
28
+ --private-button-icon-label-spacing: 0.5rem;
29
29
  }
30
30
 
31
31
  :host([size='md']),
@@ -35,7 +35,7 @@
35
35
 
36
36
  :host([size='md']) .button,
37
37
  :host([size='medium']) .button {
38
- --_button-icon-size: 1.5rem;
38
+ --private-button-icon-size: 1.5rem;
39
39
  }
40
40
 
41
41
  :host([size='lg']),
@@ -45,7 +45,7 @@
45
45
 
46
46
  :host([size='lg']) .button,
47
47
  :host([size='large']) .button {
48
- --_button-icon-size: 2rem;
48
+ --private-button-icon-size: 2rem;
49
49
  }
50
50
 
51
51
  :host([size='xl']) {
@@ -53,5 +53,5 @@
53
53
  }
54
54
 
55
55
  :host([size='xl']) .button {
56
- --_button-icon-size: 2.5rem;
56
+ --private-button-icon-size: 2.5rem;
57
57
  }