@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
@@ -26,20 +26,30 @@ var css_248z$1 = i`* {
26
26
  * These variables are used internally within the button component
27
27
  */
28
28
  slot::slotted(*) {
29
- --icon-size: var(--button-icon-size, var(--_button-icon-size));
30
- --icon-color: var(--_button_label-text-color);
29
+ --icon-size: var(--button-icon-size, var(--private-button-icon-size));
30
+ --icon-color: var(--private-button-label-text-color);
31
31
  }
32
32
 
33
33
  /*
34
34
  * Reset native button/link styles
35
35
  */
36
- .button-element {
36
+ .native-button {
37
37
  background: transparent;
38
38
  border: none;
39
39
  appearance: none;
40
40
  margin: 0;
41
41
  outline: none;
42
+ padding: 0;
43
+ }
44
+
45
+ .native-link {
46
+ text-decoration: none;
47
+ color: inherit;
48
+ cursor: pointer;
49
+ }
50
+ .native-link:link, .native-link:visited, .native-link:hover, .native-link:active {
42
51
  text-decoration: none;
52
+ color: inherit;
43
53
  }
44
54
 
45
55
  .button {
@@ -49,29 +59,29 @@ slot::slotted(*) {
49
59
  align-items: center;
50
60
  justify-content: center;
51
61
  height: var(--button-height);
52
- padding: 0 var(--button-container-padding, var(--_button_container-padding));
62
+ padding: 0 var(--button-container-padding, var(--private-button-container-padding));
53
63
  width: 100%;
54
64
  font-family: var(--font-family-sans) !important;
55
65
  cursor: pointer;
56
- --_button_container-shape-start-start: var(--button-container-shape-start-start, var(--button-container-shape));
57
- --_button_container-shape-start-end: var(--button-container-shape-start-end, var(--button-container-shape));
58
- --_button_container-shape-end-start: var(--button-container-shape-end-start, var(--button-container-shape));
59
- --_button_container-shape-end-end: var(--button-container-shape-end-end, var(--button-container-shape));
60
- --_button_container-corner-shape-variant: var(--button-container-shape-variant);
66
+ --private-button-container-shape-start-start: var(--button-container-shape-start-start, var(--button-container-shape));
67
+ --private-button-container-shape-start-end: var(--button-container-shape-start-end, var(--button-container-shape));
68
+ --private-button-container-shape-end-start: var(--button-container-shape-end-start, var(--button-container-shape));
69
+ --private-button-container-shape-end-end: var(--button-container-shape-end-end, var(--button-container-shape));
70
+ --private-button-container-shape-variant: var(--button-container-shape-variant);
61
71
  }
62
72
  .button .button-content {
63
73
  display: flex;
64
74
  align-items: center;
65
75
  justify-content: center;
66
76
  pointer-events: none;
67
- gap: var(--_button-icon-label-spacing);
77
+ gap: var(--private-button-icon-label-spacing);
68
78
  width: 100%;
69
79
  height: 100%;
70
80
  z-index: 0;
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);
81
+ color: var(--private-button-label-text-color);
82
+ opacity: var(--private-button-label-text-opacity, 1);
83
+ --icon-size: var(--button-icon-size, var(--private-button-icon-size));
84
+ --icon-color: var(--private-button-label-text-color);
75
85
  }
76
86
  .button .button-content .slot-container {
77
87
  display: none;
@@ -86,20 +96,20 @@ slot::slotted(*) {
86
96
  }
87
97
  .button .focus-ring {
88
98
  z-index: 2;
89
- --focus-ring-container-shape-start-start: var(--_button_container-shape-start-start);
90
- --focus-ring-container-shape-start-end: var(--_button_container-shape-start-end);
91
- --focus-ring-container-shape-end-start: var(--_button_container-shape-end-start);
92
- --focus-ring-container-shape-end-end: var(--_button_container-shape-end-end);
93
- --focus-ring-container-shape-variant: var(--_button_container-corner-shape-variant);
99
+ --focus-ring-container-shape-start-start: var(--private-button-container-shape-start-start, var(--private-button-container-shape));
100
+ --focus-ring-container-shape-start-end: var(--private-button-container-shape-start-end, var(--private-button-container-shape));
101
+ --focus-ring-container-shape-end-start: var(--private-button-container-shape-end-start, var(--private-button-container-shape));
102
+ --focus-ring-container-shape-end-end: var(--private-button-container-shape-end-end, var(--private-button-container-shape));
103
+ --focus-ring-container-shape-variant: var(--private-button-container-shape-variant);
94
104
  }
95
105
  .button .ripple {
96
- border-start-start-radius: var(--_button_container-shape-start-start);
97
- border-start-end-radius: var(--_button_container-shape-start-end);
98
- border-end-start-radius: var(--_button_container-shape-end-start);
99
- border-end-end-radius: var(--_button_container-shape-end-end);
100
- corner-shape: var(--_button_container-corner-shape-variant);
101
- --ripple-state-opacity: var(--_button_state-opacity, 0);
102
- --ripple-pressed-color: var(--_button_state-color);
106
+ border-start-start-radius: var(--private-button-container-shape-start-start, var(--private-button-container-shape));
107
+ border-start-end-radius: var(--private-button-container-shape-start-end, var(--private-button-container-shape));
108
+ border-end-start-radius: var(--private-button-container-shape-end-start, var(--private-button-container-shape));
109
+ border-end-end-radius: var(--private-button-container-shape-end-end, var(--private-button-container-shape));
110
+ corner-shape: var(--private-button-container-shape-variant);
111
+ --ripple-state-opacity: var(--private-button-state-opacity, 0);
112
+ --ripple-pressed-color: var(--private-button-state-color);
103
113
  }
104
114
  .button .background {
105
115
  display: block;
@@ -107,13 +117,13 @@ slot::slotted(*) {
107
117
  left: 0;
108
118
  width: 100%;
109
119
  height: 100%;
110
- background-color: var(--_button_container-color);
111
- opacity: var(--_button_container-opacity, 1);
112
- border-start-start-radius: var(--_button_container-shape-start-start);
113
- border-start-end-radius: var(--_button_container-shape-start-end);
114
- border-end-start-radius: var(--_button_container-shape-end-start);
115
- border-end-end-radius: var(--_button_container-shape-end-end);
116
- corner-shape: var(--_button_container-corner-shape-variant);
120
+ background-color: var(--private-button-container-color);
121
+ opacity: var(--private-button-container-opacity, 1);
122
+ border-start-start-radius: var(--private-button-container-shape-start-start, var(--private-button-container-shape));
123
+ border-start-end-radius: var(--private-button-container-shape-start-end, var(--private-button-container-shape));
124
+ border-end-start-radius: var(--private-button-container-shape-end-start, var(--private-button-container-shape));
125
+ border-end-end-radius: var(--private-button-container-shape-end-end, var(--private-button-container-shape));
126
+ corner-shape: var(--private-button-container-shape-variant);
117
127
  pointer-events: none;
118
128
  }
119
129
  .button .skeleton {
@@ -124,34 +134,34 @@ slot::slotted(*) {
124
134
  position: absolute;
125
135
  top: 0;
126
136
  left: 0;
127
- --skeleton-container-shape-start-start: var(--_button_container-shape-start-start);
128
- --skeleton-container-shape-start-end: var(--_button_container-shape-start-end);
129
- --skeleton-container-shape-end-start: var(--_button_container-shape-end-start);
130
- --skeleton-container-shape-end-end: var(--_button_container-shape-end-end);
131
- --skeleton-container-shape-variant: var(--_button_container-corner-shape-variant);
137
+ --skeleton-container-shape-start-start: var(--private-button-container-shape-start-start, var(--private-button-container-shape));
138
+ --skeleton-container-shape-start-end: var(--private-button-container-shape-start-end, var(--private-button-container-shape));
139
+ --skeleton-container-shape-end-start: var(--private-button-container-shape-end-start, var(--private-button-container-shape));
140
+ --skeleton-container-shape-end-end: var(--private-button-container-shape-end-end, var(--private-button-container-shape));
141
+ --skeleton-container-shape-variant: var(--private-button-container-shape-variant);
132
142
  }
133
143
  .button .elevation {
134
- --elevation-level: var(--_button_container-elevation-level);
135
144
  transition-duration: 280ms;
136
- --elevation-container-shape-start-start: var(--_button_container-shape-start-start);
137
- --elevation-container-shape-start-end: var(--_button_container-shape-start-end);
138
- --elevation-container-shape-end-start: var(--_button_container-shape-end-start);
139
- --elevation-container-shape-end-end: var(--_button_container-shape-end-end);
140
- --elevation-container-shape-variant: var(--_button_container-corner-shape-variant);
145
+ --elevation-container-shape-start-start: var(--private-button-container-shape-start-start, var(--private-button-container-shape));
146
+ --elevation-container-shape-start-end: var(--private-button-container-shape-start-end, var(--private-button-container-shape));
147
+ --elevation-container-shape-end-start: var(--private-button-container-shape-end-start, var(--private-button-container-shape));
148
+ --elevation-container-shape-end-end: var(--private-button-container-shape-end-end, var(--private-button-container-shape));
149
+ --elevation-container-shape-variant: var(--private-button-container-shape-variant);
150
+ --elevation-level: var(--private-button-container-elevation-level);
141
151
  }
142
152
  .button .neo-background {
143
153
  display: none;
144
154
  position: absolute;
145
155
  background: var(--color-inverse-surface);
146
- border-start-start-radius: var(--_button_container-shape-start-start);
147
- border-start-end-radius: var(--_button_container-shape-start-end);
148
- border-end-start-radius: var(--_button_container-shape-end-start);
149
- border-end-end-radius: var(--_button_container-shape-end-end);
150
- corner-shape: var(--_button_container-corner-shape-variant);
151
156
  width: 100%;
152
157
  height: 100%;
153
158
  pointer-events: none;
154
159
  transform: translateX(0.25rem) translateY(0.25rem);
160
+ border-start-start-radius: var(--private-button-container-shape-start-start, var(--private-button-container-shape));
161
+ border-start-end-radius: var(--private-button-container-shape-start-end, var(--private-button-container-shape));
162
+ border-end-start-radius: var(--private-button-container-shape-end-start, var(--private-button-container-shape));
163
+ border-end-end-radius: var(--private-button-container-shape-end-end, var(--private-button-container-shape));
164
+ corner-shape: var(--private-button-container-shape-variant);
155
165
  }
156
166
  .button .outline {
157
167
  z-index: 0;
@@ -161,13 +171,13 @@ slot::slotted(*) {
161
171
  width: 100%;
162
172
  height: 100%;
163
173
  pointer-events: none;
164
- border: var(--_button_outline-width) solid var(--_button_outline-color);
165
- opacity: var(--_button_outline-opacity, 1);
166
- border-start-start-radius: var(--_button_container-shape-start-start);
167
- border-start-end-radius: var(--_button_container-shape-start-end);
168
- border-end-start-radius: var(--_button_container-shape-end-start);
169
- border-end-end-radius: var(--_button_container-shape-end-end);
170
- corner-shape: var(--_button_container-corner-shape-variant);
174
+ border: var(--private-button-outline-width) solid var(--private-button-outline-color);
175
+ opacity: var(--private-button-outline-opacity, 1);
176
+ border-start-start-radius: var(--private-button-container-shape-start-start, var(--private-button-container-shape));
177
+ border-start-end-radius: var(--private-button-container-shape-start-end, var(--private-button-container-shape));
178
+ border-end-start-radius: var(--private-button-container-shape-end-start, var(--private-button-container-shape));
179
+ border-end-end-radius: var(--private-button-container-shape-end-end, var(--private-button-container-shape));
180
+ corner-shape: var(--private-button-container-shape-variant);
171
181
  }
172
182
  .button.has-content .slot-container {
173
183
  display: flex;
@@ -200,123 +210,123 @@ slot::slotted(*) {
200
210
  * Button variant definitions
201
211
  */
202
212
  .button.variant-elevated {
203
- --_button_container-color: var(--elevated-button-container-color);
204
- --_button_label-text-color: var(--elevated-button-label-text-color);
205
- --_button_container-elevation-level: 1;
206
- --_button_state-color: var(--_button_label-text-color);
213
+ --private-button-container-color: var(--elevated-button-container-color);
214
+ --private-button-label-text-color: var(--elevated-button-label-text-color);
215
+ --private-button-container-elevation-level: 1;
216
+ --private-button-state-color: var(--private-button-label-text-color);
207
217
  }
208
218
  .button.variant-elevated:hover:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
209
- --_button_container-elevation-level: 2;
210
- --_button_state-opacity: 0.08;
219
+ --private-button-container-elevation-level: 2;
220
+ --private-button-state-opacity: 0.08;
211
221
  }
212
222
  .button.variant-elevated.pressed:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
213
- --_button_container-elevation-level: 1;
214
- --_button_state-opacity: 0.12;
223
+ --private-button-container-elevation-level: 1;
224
+ --private-button-state-opacity: 0.12;
215
225
  }
216
226
  .button.variant-elevated.disabled {
217
- --_button_container-color: var(--color-on-surface);
218
- --_button_container-opacity: 0.1;
219
- --_button_label-text-color: var(--color-on-surface);
220
- --_button_label-text-opacity: 0.38;
227
+ --private-button-container-color: var(--color-on-surface);
228
+ --private-button-container-opacity: 0.1;
229
+ --private-button-label-text-color: var(--color-on-surface);
230
+ --private-button-label-text-opacity: 0.38;
221
231
  }
222
232
  .button.variant-elevated.disabled .ripple {
223
233
  display: none;
224
234
  }
225
235
 
226
236
  .button.variant-filled {
227
- --_button_container-color: var(--filled-button-container-color);
228
- --_button_label-text-color: var(--filled-button-label-text-color);
229
- --_button_state-color: var(--_button_label-text-color);
237
+ --private-button-container-color: var(--filled-button-container-color);
238
+ --private-button-label-text-color: var(--filled-button-label-text-color);
239
+ --private-button-state-color: var(--private-button-label-text-color);
230
240
  }
231
241
  .button.variant-filled:hover:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
232
- --_button_container-elevation-level: 1;
233
- --_button_state-opacity: 0.08;
242
+ --private-button-container-elevation-level: 1;
243
+ --private-button-state-opacity: 0.08;
234
244
  }
235
245
  .button.variant-filled.pressed:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
236
- --_button_container-elevation-level: 0;
237
- --_button_state-opacity: 0.1;
246
+ --private-button-container-elevation-level: 0;
247
+ --private-button-state-opacity: 0.1;
238
248
  }
239
249
  .button.variant-filled.disabled {
240
- --_button_container-color: var(--color-on-surface);
241
- --_button_container-opacity: 0.1;
242
- --_button_label-text-color: var(--color-on-surface);
243
- --_button_label-text-opacity: 0.38;
250
+ --private-button-container-color: var(--color-on-surface);
251
+ --private-button-container-opacity: 0.1;
252
+ --private-button-label-text-color: var(--color-on-surface);
253
+ --private-button-label-text-opacity: 0.38;
244
254
  }
245
255
  .button.variant-filled.disabled .ripple {
246
256
  display: none;
247
257
  }
248
258
 
249
259
  .button.variant-tonal {
250
- --_button_container-color: var(--tonal-button-container-color);
251
- --_button_label-text-color: var(--tonal-button-label-text-color);
252
- --_button_state-color: var(--_button_label-text-color);
260
+ --private-button-container-color: var(--tonal-button-container-color);
261
+ --private-button-label-text-color: var(--tonal-button-label-text-color);
262
+ --private-button-state-color: var(--private-button-label-text-color);
253
263
  }
254
264
  .button.variant-tonal:hover:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
255
- --_button_container-elevation-level: 1;
256
- --_button_state-opacity: 0.08;
265
+ --private-button-container-elevation-level: 1;
266
+ --private-button-state-opacity: 0.08;
257
267
  }
258
268
  .button.variant-tonal.pressed:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
259
- --_button_container-elevation-level: 0;
260
- --_button_state-opacity: 0.12;
269
+ --private-button-container-elevation-level: 0;
270
+ --private-button-state-opacity: 0.12;
261
271
  }
262
272
  .button.variant-tonal.disabled {
263
- --_button_container-color: var(--color-on-surface);
264
- --_button_container-opacity: 0.1;
265
- --_button_label-text-color: var(--color-on-surface);
266
- --_button_label-text-opacity: 0.38;
273
+ --private-button-container-color: var(--color-on-surface);
274
+ --private-button-container-opacity: 0.1;
275
+ --private-button-label-text-color: var(--color-on-surface);
276
+ --private-button-label-text-opacity: 0.38;
267
277
  }
268
278
  .button.variant-tonal.disabled .ripple {
269
279
  display: none;
270
280
  }
271
281
 
272
282
  .button.variant-outlined {
273
- --_button_outline-width: var(--outlined-button-outline-width, 0.0675rem);
274
- --_button_outline-color: var(--outlined-button-outline-color);
275
- --_button_label-text-color: var(--outlined-button-label-text-color);
276
- --_button_state-color: var(--_button_label-text-color);
283
+ --private-button-outline-width: var(--outlined-button-outline-width, 0.0675rem);
284
+ --private-button-outline-color: var(--outlined-button-outline-color);
285
+ --private-button-label-text-color: var(--outlined-button-label-text-color);
286
+ --private-button-state-color: var(--private-button-label-text-color);
277
287
  }
278
288
  .button.variant-outlined .outline {
279
289
  display: block;
280
290
  }
281
291
  .button.variant-outlined:hover:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
282
- --_button_state-opacity: 0.08;
292
+ --private-button-state-opacity: 0.08;
283
293
  }
284
294
  .button.variant-outlined.pressed:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
285
- --_button_state-opacity: 0.12;
295
+ --private-button-state-opacity: 0.12;
286
296
  }
287
297
  .button.variant-outlined.disabled {
288
- --_button_outline-color: var(--color-on-surface);
289
- --_button_label-text-color: var(--color-on-surface);
290
- --_button_label-text-opacity: 0.38;
291
- --_button_outline-opacity: 0.12;
298
+ --private-button-outline-color: var(--color-on-surface);
299
+ --private-button-label-text-color: var(--color-on-surface);
300
+ --private-button-label-text-opacity: 0.38;
301
+ --private-button-outline-opacity: 0.12;
292
302
  }
293
303
  .button.variant-outlined.disabled .ripple {
294
304
  display: none;
295
305
  }
296
306
 
297
307
  .button.variant-text {
298
- --_button_label-text-color: var(--text-button-label-text-color);
299
- --_button_state-color: var(--_button_label-text-color);
308
+ --private-button-label-text-color: var(--text-button-label-text-color);
309
+ --private-button-state-color: var(--private-button-label-text-color);
300
310
  }
301
311
  .button.variant-text:hover:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
302
- --_button_state-opacity: 0.08;
312
+ --private-button-state-opacity: 0.08;
303
313
  }
304
314
  .button.variant-text.pressed:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
305
- --_button_state-opacity: 0.12;
315
+ --private-button-state-opacity: 0.12;
306
316
  }
307
317
  .button.variant-text.disabled {
308
- --_button_label-text-color: var(--color-on-surface);
309
- --_button_label-text-opacity: 0.38;
318
+ --private-button-label-text-color: var(--color-on-surface);
319
+ --private-button-label-text-opacity: 0.38;
310
320
  }
311
321
  .button.variant-text.disabled .ripple {
312
322
  display: none;
313
323
  }
314
324
 
315
325
  .button.variant-neo {
316
- --_button_container-color: var(--neo-button-container-color);
317
- --_button_label-text-color: var(--neo-button-label-text-color);
318
- --_button_outline-width: var(--outlined-button-outline-width, 0.125rem);
319
- --_button_outline-color: var(--color-inverse-surface);
326
+ --private-button-container-color: var(--neo-button-container-color);
327
+ --private-button-label-text-color: var(--neo-button-label-text-color);
328
+ --private-button-outline-width: var(--outlined-button-outline-width, 0.125rem);
329
+ --private-button-outline-color: var(--color-inverse-surface);
320
330
  }
321
331
  .button.variant-neo .outline {
322
332
  display: block;
@@ -335,11 +345,11 @@ slot::slotted(*) {
335
345
  transform: translateX(0.25rem) translateY(0.25rem);
336
346
  }
337
347
  .button.variant-neo.disabled {
338
- --_button_container-color: var(--color-on-surface);
339
- --_button_container-opacity: 0.1;
340
- --_button_label-text-color: var(--color-on-surface);
341
- --_button_label-text-opacity: 0.38;
342
- --_button_outline-opacity: 0.12;
348
+ --private-button-container-color: var(--color-on-surface);
349
+ --private-button-container-opacity: 0.1;
350
+ --private-button-label-text-color: var(--color-on-surface);
351
+ --private-button-label-text-opacity: 0.38;
352
+ --private-button-outline-opacity: 0.12;
343
353
  }
344
354
  .button.variant-neo.disabled .ripple {
345
355
  display: none;
@@ -558,4 +568,4 @@ var css_248z = i`:host([color=primary]:not([toggle])) {
558
568
  }`;
559
569
 
560
570
  export { css_248z as a, css_248z$1 as c };
561
- //# sourceMappingURL=button-colors-AvGh22Zn.js.map
571
+ //# sourceMappingURL=button-colors-Cg6oxiz-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-colors-AvGh22Zn.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"button-colors-Cg6oxiz-.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,14 +2,14 @@ import { a as i, _ as __decorate, I as IndividualComponent, i as i$1, b } from '
2
2
  import { n } from './property-1psGvXOq.js';
3
3
  import { e } from './class-map-YU7g0o3B.js';
4
4
  import { Button } from './button.js';
5
- import { I as IconButton } from './icon-button-ohxHhy4t.js';
5
+ import { I as IconButton } from './icon-button-AdJBEoNy.js';
6
6
  import './directive-ZPhl09Yt.js';
7
7
  import './state-DwbEjqVk.js';
8
8
  import './BaseButton-BNFAYn-S.js';
9
9
  import './query-QBcUV-L_.js';
10
10
  import './dispatch-event-utils-CuEqjlPT.js';
11
11
  import './BaseHyperlinkMixin-BNuwbiEf.js';
12
- import './button-colors-AvGh22Zn.js';
12
+ import './button-colors-Cg6oxiz-.js';
13
13
  import './observe-slot-change-BGJfgg2E.js';
14
14
 
15
15
  var css_248z = i`* {
package/dist/button.js CHANGED
@@ -3,7 +3,7 @@ import { n } from './property-1psGvXOq.js';
3
3
  import { r } from './state-DwbEjqVk.js';
4
4
  import { e } from './class-map-YU7g0o3B.js';
5
5
  import { B as BaseButton, o, s as spread } from './BaseButton-BNFAYn-S.js';
6
- import { c as css_248z$1, a as css_248z$2 } from './button-colors-AvGh22Zn.js';
6
+ import { c as css_248z$1, a as css_248z$2 } from './button-colors-Cg6oxiz-.js';
7
7
  import { o as observerSlotChangesWithCallback } from './observe-slot-change-BGJfgg2E.js';
8
8
  import { t as throttle } from './BaseHyperlinkMixin-BNuwbiEf.js';
9
9
  import './directive-ZPhl09Yt.js';
@@ -17,8 +17,8 @@ var css_248z = i`:host([size=xs]),
17
17
 
18
18
  :host([size=xs]) .button,
19
19
  :host([size=extra-small]) .button {
20
- --_button-icon-size: 1rem;
21
- --_button_container-padding: 0.75rem;
20
+ --private-button-icon-size: 1rem;
21
+ --private-button-container-padding: 0.75rem;
22
22
  font-size: 0.875rem !important;
23
23
  font-weight: var(--font-weight-medium) !important;
24
24
  line-height: 1.25rem !important;
@@ -32,9 +32,9 @@ var css_248z = i`:host([size=xs]),
32
32
 
33
33
  :host([size=sm]) .button,
34
34
  :host([size=small]) .button {
35
- --_button-icon-size: 1.25rem;
36
- --_button_container-padding: 1rem;
37
- --_button-icon-label-spacing: 0.5rem;
35
+ --private-button-icon-size: 1.25rem;
36
+ --private-button-container-padding: 1rem;
37
+ --private-button-icon-label-spacing: 0.5rem;
38
38
  font-size: 0.875rem !important;
39
39
  font-weight: var(--font-weight-medium) !important;
40
40
  line-height: 1.25rem !important;
@@ -48,8 +48,8 @@ var css_248z = i`:host([size=xs]),
48
48
 
49
49
  :host([size=md]) .button,
50
50
  :host([size=medium]) .button {
51
- --_button-icon-size: 1.5rem;
52
- --_button_container-padding: 1.5rem;
51
+ --private-button-icon-size: 1.5rem;
52
+ --private-button-container-padding: 1.5rem;
53
53
  font-size: 1rem !important;
54
54
  font-weight: var(--font-weight-medium) !important;
55
55
  line-height: 1.5rem !important;
@@ -63,8 +63,8 @@ var css_248z = i`:host([size=xs]),
63
63
 
64
64
  :host([size=lg]) .button,
65
65
  :host([size=large]) .button {
66
- --_button-icon-size: 2rem;
67
- --_button_container-padding: 3rem;
66
+ --private-button-icon-size: 2rem;
67
+ --private-button-container-padding: 3rem;
68
68
  font-size: 1.5rem !important;
69
69
  font-weight: var(--font-weight-regular) !important;
70
70
  line-height: 2rem !important;
@@ -78,8 +78,8 @@ var css_248z = i`:host([size=xs]),
78
78
 
79
79
  :host([size=xl]) .button,
80
80
  :host([size=extra-large]) .button {
81
- --_button-icon-size: 2.5rem;
82
- --_button_container-padding: 4rem;
81
+ --private-button-icon-size: 2.5rem;
82
+ --private-button-container-padding: 4rem;
83
83
  font-size: 2rem !important;
84
84
  font-weight: var(--font-weight-regular) !important;
85
85
  line-height: 2.5rem !important;
@@ -193,7 +193,6 @@ let Button = class Button extends BaseButton {
193
193
  render() {
194
194
  const cssClasses = {
195
195
  button: true,
196
- 'button-element': true,
197
196
  [`size-${this.size}`]: true,
198
197
  [`variant-${this.variant}`]: true,
199
198
  [`color-${this.color}`]: true,
@@ -204,6 +203,7 @@ let Button = class Button extends BaseButton {
204
203
  [`icon-align-${this.iconAlign}`]: true,
205
204
  };
206
205
  if (!this.__isLink()) {
206
+ cssClasses['native-button'] = true;
207
207
  return b `<button
208
208
  class=${e(cssClasses)}
209
209
  id="button"
@@ -223,7 +223,9 @@ let Button = class Button extends BaseButton {
223
223
  </button>
224
224
  ${this.__renderTooltip()}`;
225
225
  }
226
- return b `<a
226
+ else {
227
+ cssClasses['native-link'] = true;
228
+ return b `<a
227
229
  class=${e(cssClasses)}
228
230
  id="button"
229
231
  href=${this.href}
@@ -244,6 +246,7 @@ let Button = class Button extends BaseButton {
244
246
  ${this.renderButtonContent()}
245
247
  </a>
246
248
  ${this.__renderTooltip()}`;
249
+ }
247
250
  }
248
251
  renderButtonContent() {
249
252
  return b `
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sources":["../../src/button/button/button.ts"],"sourcesContent":["import { html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './button.scss';\nimport colorStyles from './button-colors.scss';\nimport sizeStyles from './button-sizes.scss';\nimport { observerSlotChangesWithCallback } from '@/__utils/observe-slot-change.js';\nimport { throttle } from '@/__utils/throttle.js';\nimport { spread } from '@/__directive/spread.js';\nimport { BaseButton } from '../BaseButton.js';\n\n/**\n * @label Button\n * @tag wc-button\n * @rawTag button\n *\n * @summary Buttons help people initiate actions, from sending an email, to sharing a document, to liking a post.\n * @overview\n * <p>Buttons are clickable elements that are used to trigger actions. They communicate calls to action to the user and allow users to interact with pages in a variety of ways. Button labels express what action will occur when the user interacts with it.</p>\n *\n * @cssprop --button-container-shape: Defines the border radius of the button container shape.\n *\n * @cssprop --button-container-shape-start-start: Defines the start position of the button container shape.\n * @cssprop --button-container-shape-start-end: Defines the end position of the button container shape.\n * @cssprop --button-container-shape-end-start: Defines the start position of the button container shape.\n * @cssprop --button-container-shape-end-end: Defines the end position of the button container shape.\n *\n *\n * @cssprop --filled-button-container-color: Color of the filled button container.\n * @cssprop --filled-button-label-text-color: Text color of the filled button label.\n *\n * @cssprop --outlined-button-container-color: Color of the outlined button container.\n * @cssprop --outlined-button-label-text-color: Text color of the outlined button label.\n *\n * @cssprop --text-button-label-text-color: Text color of the text button label.\n *\n * @cssprop --tonal-button-container-color: Color of the tonal button container.\n * @cssprop --tonal-button-label-text-color: Text color of the tonal button label.\n *\n * @cssprop --elevated-button-container-color: Color of the elevated button container.\n * @cssprop --elevated-button-label-text-color: Text color of the elevated button label.\n *\n * @cssprop --neo-button-container-color: Color of the neo button container.\n * @cssprop --neo-button-label-text-color: Text color of the neo button label.\n *\n * @fires {MouseEvent} click - Dispatched when the button is clicked.\n *\n * @example\n * ```html\n * <wc-button>Button</wc-button>\n * ```\n * @tags display\n */\n@IndividualComponent\nexport class Button extends BaseButton {\n static override styles = [styles, colorStyles, sizeStyles];\n\n /**\n * Icon alignment.\n * Possible values are `\"start\"`, `\"end\"`. Defaults to `\"end\"`.\n */\n @property({ attribute: 'icon-align' })\n iconAlign: 'start' | 'end' = 'end';\n\n /**\n * Button size.\n * Possible values are `\"xs\"`, `\"sm\"`, `\"md\"`, `\"lg\"`, `\"xl\"`. Defaults to `\"sm\"`.\n */\n @property({ reflect: true }) size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'sm';\n\n /**\n * Type is preset of color and variant. Type will be only applied.\n *\n */\n @property({ type: String }) type?: 'primary' | 'secondary' | 'tertiary';\n \n /**\n * The visual style of the button.\n *\n * Possible variant values:\n * `\"filled\"` is a filled button.\n * `\"outlined\"` is an outlined button.\n * `\"text\"` is a transparent button.\n * `\"tonal\"` is a light color button.\n * `\"elevated\"` is elevated button\n */\n @property() variant:\n | 'elevated'\n | 'filled'\n | 'tonal'\n | 'outlined'\n | 'text'\n | 'neo' = 'filled';\n \n /**\n * Defines the primary color of the button. This can be set to predefined color names to apply specific color themes.\n */\n @property({ reflect: true }) color:\n | 'primary'\n | 'success'\n | 'danger'\n | 'warning'\n | 'surface'\n | 'on-surface' = 'primary';\n\n /**\n * Additional ARIA attributes to pass to the inner button/anchor element.\n */\n @property({ reflect: true })\n configAria?: { [key: string]: any };\n\n @state()\n private slotHasContent = false;\n\n override focus() {\n this.buttonElement?.focus();\n }\n\n override blur() {\n this.buttonElement?.blur();\n }\n\n override firstUpdated() {\n this.__dispatchClickWithThrottle = throttle(\n this.__dispatchClick,\n this.throttleDelay,\n );\n observerSlotChangesWithCallback(\n this.renderRoot.querySelector('slot'),\n hasContent => {\n this.slotHasContent = hasContent;\n this.requestUpdate();\n },\n );\n\n this.__convertTypeToVariantAndColor();\n }\n\n __convertTypeToVariantAndColor() {\n if (this.type === 'primary') {\n this.color = 'primary';\n this.variant = 'filled';\n } else if (this.type === 'secondary') {\n this.color = 'surface';\n this.variant = 'filled';\n } else if (this.type === 'tertiary') {\n this.color = 'primary';\n this.variant = 'text';\n } else if (this.type === 'danger') {\n this.color = 'danger';\n this.variant = 'filled';\n }\n }\n\n override render() {\n\n const cssClasses = {\n button: true,\n 'button-element': true,\n [`size-${this.size}`]: true,\n [`variant-${this.variant}`]: true,\n [`color-${this.color}`]: true,\n disabled: this.disabled || this.softDisabled,\n pressed: this.isPressed,\n 'has-content': this.slotHasContent,\n 'show-skeleton': this.skeleton,\n [`icon-align-${this.iconAlign}`]: true,\n };\n\n if (!this.__isLink()) {\n return html`<button\n class=${classMap(cssClasses)}\n id=\"button\"\n type=${this.htmlType}\n @click=${this.__dispatchClickWithThrottle}\n @mousedown=${this.__handlePress}\n @keydown=${this.__handlePress}\n @keyup=${this.__handlePress}\n\n aria-describedby=${ifDefined(this.softDisabled ? BaseButton.DISABLED_REASON_ID : undefined)}\n ?aria-disabled=${this.softDisabled}\n\n ?disabled=${this.disabled}\n ${spread(this.configAria)}\n >\n ${this.renderButtonContent()}\n </button>\n ${this.__renderTooltip()}`;\n }\n return html`<a\n class=${classMap(cssClasses)}\n id=\"button\"\n href=${this.href}\n target=${this.target}\n tabindex=${this.disabled ? '-1' : '0'}\n \n @click=${this.__dispatchClick}\n @mousedown=${this.__handlePress}\n @keydown=${this.__handlePress}\n @keyup=${this.__handlePress}\n role=\"button\"\n\n aria-describedby=${ifDefined(this.softDisabled ? BaseButton.DISABLED_REASON_ID : undefined)}\n ?aria-disabled=${this.softDisabled}\n\n ${spread(this.configAria)}\n >\n ${this.renderButtonContent()}\n </a>\n ${this.__renderTooltip()}`;\n }\n\n renderButtonContent() {\n return html`\n <wc-focus-ring class=\"focus-ring\" for='button'></wc-focus-ring>\n <wc-elevation class=\"elevation\"></wc-elevation>\n <div class=\"neo-background\"></div>\n <div class=\"background\"></div>\n <div class=\"outline\"></div>\n <wc-ripple class=\"ripple\"></wc-ripple>\n <wc-skeleton class=\"skeleton\"></wc-skeleton>\n\n <div class=\"button-content\">\n <div class=\"slot-container\">\n <slot></slot>\n </div>\n\n <slot name=\"icon\"></slot>\n </div>\n\n ${this.__renderDisabledReason(this.softDisabled)}\n `;\n }\n}\n"],"names":["html","classMap","ifDefined","styles","colorStyles","sizeStyles","property","state"],"mappings":"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"}
1
+ {"version":3,"file":"button.js","sources":["../../src/button/button/button.ts"],"sourcesContent":["import { html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './button.scss';\nimport colorStyles from './button-colors.scss';\nimport sizeStyles from './button-sizes.scss';\nimport { observerSlotChangesWithCallback } from '@/__utils/observe-slot-change.js';\nimport { throttle } from '@/__utils/throttle.js';\nimport { spread } from '@/__directive/spread.js';\nimport { BaseButton } from '../BaseButton.js';\n\n/**\n * @label Button\n * @tag wc-button\n * @rawTag button\n *\n * @summary Buttons help people initiate actions, from sending an email, to sharing a document, to liking a post.\n * @overview\n * <p>Buttons are clickable elements that are used to trigger actions. They communicate calls to action to the user and allow users to interact with pages in a variety of ways. Button labels express what action will occur when the user interacts with it.</p>\n *\n * @cssprop --button-container-shape: Defines the border radius of the button container shape.\n *\n * @cssprop --button-container-shape-start-start: Defines the start position of the button container shape.\n * @cssprop --button-container-shape-start-end: Defines the end position of the button container shape.\n * @cssprop --button-container-shape-end-start: Defines the start position of the button container shape.\n * @cssprop --button-container-shape-end-end: Defines the end position of the button container shape.\n *\n *\n * @cssprop --filled-button-container-color: Color of the filled button container.\n * @cssprop --filled-button-label-text-color: Text color of the filled button label.\n *\n * @cssprop --outlined-button-container-color: Color of the outlined button container.\n * @cssprop --outlined-button-label-text-color: Text color of the outlined button label.\n *\n * @cssprop --text-button-label-text-color: Text color of the text button label.\n *\n * @cssprop --tonal-button-container-color: Color of the tonal button container.\n * @cssprop --tonal-button-label-text-color: Text color of the tonal button label.\n *\n * @cssprop --elevated-button-container-color: Color of the elevated button container.\n * @cssprop --elevated-button-label-text-color: Text color of the elevated button label.\n *\n * @cssprop --neo-button-container-color: Color of the neo button container.\n * @cssprop --neo-button-label-text-color: Text color of the neo button label.\n *\n * @fires {MouseEvent} click - Dispatched when the button is clicked.\n *\n * @example\n * ```html\n * <wc-button>Button</wc-button>\n * ```\n * @tags display\n */\n@IndividualComponent\nexport class Button extends BaseButton {\n static override styles = [styles, colorStyles, sizeStyles];\n\n /**\n * Icon alignment.\n * Possible values are `\"start\"`, `\"end\"`. Defaults to `\"end\"`.\n */\n @property({ attribute: 'icon-align' })\n iconAlign: 'start' | 'end' = 'end';\n\n /**\n * Button size.\n * Possible values are `\"xs\"`, `\"sm\"`, `\"md\"`, `\"lg\"`, `\"xl\"`. Defaults to `\"sm\"`.\n */\n @property({ reflect: true }) size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'sm';\n\n /**\n * Type is preset of color and variant. Type will be only applied.\n *\n */\n @property({ type: String }) type?: 'primary' | 'secondary' | 'tertiary';\n\n /**\n * The visual style of the button.\n *\n * Possible variant values:\n * `\"filled\"` is a filled button.\n * `\"outlined\"` is an outlined button.\n * `\"text\"` is a transparent button.\n * `\"tonal\"` is a light color button.\n * `\"elevated\"` is elevated button\n */\n @property() variant:\n | 'elevated'\n | 'filled'\n | 'tonal'\n | 'outlined'\n | 'text'\n | 'neo' = 'filled';\n\n /**\n * Defines the primary color of the button. This can be set to predefined color names to apply specific color themes.\n */\n @property({ reflect: true }) color:\n | 'primary'\n | 'success'\n | 'danger'\n | 'warning'\n | 'surface'\n | 'on-surface' = 'primary';\n\n /**\n * Additional ARIA attributes to pass to the inner button/anchor element.\n */\n @property({ reflect: true })\n configAria?: { [key: string]: any };\n\n @state()\n private slotHasContent = false;\n\n override focus() {\n this.buttonElement?.focus();\n }\n\n override blur() {\n this.buttonElement?.blur();\n }\n\n override firstUpdated() {\n this.__dispatchClickWithThrottle = throttle(\n this.__dispatchClick,\n this.throttleDelay,\n );\n observerSlotChangesWithCallback(\n this.renderRoot.querySelector('slot'),\n hasContent => {\n this.slotHasContent = hasContent;\n this.requestUpdate();\n },\n );\n\n this.__convertTypeToVariantAndColor();\n }\n\n __convertTypeToVariantAndColor() {\n if (this.type === 'primary') {\n this.color = 'primary';\n this.variant = 'filled';\n } else if (this.type === 'secondary') {\n this.color = 'surface';\n this.variant = 'filled';\n } else if (this.type === 'tertiary') {\n this.color = 'primary';\n this.variant = 'text';\n } else if (this.type === 'danger') {\n this.color = 'danger';\n this.variant = 'filled';\n }\n }\n\n override render() {\n\n const cssClasses: any = {\n button: true,\n [`size-${this.size}`]: true,\n [`variant-${this.variant}`]: true,\n [`color-${this.color}`]: true,\n disabled: this.disabled || this.softDisabled,\n pressed: this.isPressed,\n 'has-content': this.slotHasContent,\n 'show-skeleton': this.skeleton,\n [`icon-align-${this.iconAlign}`]: true,\n };\n\n if (!this.__isLink()) {\n cssClasses['native-button'] = true;\n\n return html`<button\n class=${classMap(cssClasses)}\n id=\"button\"\n type=${this.htmlType}\n @click=${this.__dispatchClickWithThrottle}\n @mousedown=${this.__handlePress}\n @keydown=${this.__handlePress}\n @keyup=${this.__handlePress}\n\n aria-describedby=${ifDefined(this.softDisabled ? BaseButton.DISABLED_REASON_ID : undefined)}\n ?aria-disabled=${this.softDisabled}\n\n ?disabled=${this.disabled}\n ${spread(this.configAria)}\n >\n ${this.renderButtonContent()}\n </button>\n ${this.__renderTooltip()}`;\n } else {\n cssClasses['native-link'] = true;\n return html`<a\n class=${classMap(cssClasses)}\n id=\"button\"\n href=${this.href}\n target=${this.target}\n tabindex=${this.disabled ? '-1' : '0'}\n \n @click=${this.__dispatchClick}\n @mousedown=${this.__handlePress}\n @keydown=${this.__handlePress}\n @keyup=${this.__handlePress}\n role=\"button\"\n\n aria-describedby=${ifDefined(this.softDisabled ? BaseButton.DISABLED_REASON_ID : undefined)}\n ?aria-disabled=${this.softDisabled}\n\n ${spread(this.configAria)}\n >\n ${this.renderButtonContent()}\n </a>\n ${this.__renderTooltip()}`;\n }\n }\n\n renderButtonContent() {\n return html`\n <wc-focus-ring class=\"focus-ring\" for='button'></wc-focus-ring>\n <wc-elevation class=\"elevation\"></wc-elevation>\n <div class=\"neo-background\"></div>\n <div class=\"background\"></div>\n <div class=\"outline\"></div>\n <wc-ripple class=\"ripple\"></wc-ripple>\n <wc-skeleton class=\"skeleton\"></wc-skeleton>\n\n <div class=\"button-content\">\n <div class=\"slot-container\">\n <slot></slot>\n </div>\n\n <slot name=\"icon\"></slot>\n </div>\n\n ${this.__renderDisabledReason(this.softDisabled)}\n `;\n }\n}\n"],"names":["html","classMap","ifDefined","styles","colorStyles","sizeStyles","property","state"],"mappings":"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"}