@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.
- package/dist/assets/components.css.map +1 -1
- package/dist/assets/styles.css.map +1 -1
- package/dist/{button-colors-AvGh22Zn.js → button-colors-Cg6oxiz-.js} +126 -116
- package/dist/{button-colors-AvGh22Zn.js.map → button-colors-Cg6oxiz-.js.map} +1 -1
- package/dist/button-group.js +2 -2
- package/dist/button.js +17 -14
- package/dist/button.js.map +1 -1
- package/dist/canvas.js +126 -107
- package/dist/canvas.js.map +1 -1
- package/dist/custom-elements-jsdocs.json +665 -162
- package/dist/custom-elements.json +859 -326
- package/dist/{flow-designer-node-BWrPuxAR.js → flow-designer-node-9Bqyn6qx.js} +2 -1
- package/dist/flow-designer-node-9Bqyn6qx.js.map +1 -0
- package/dist/flow-designer-node.js +1 -1
- package/dist/flow-designer.js +3 -3
- package/dist/{icon-button-ohxHhy4t.js → icon-button-AdJBEoNy.js} +34 -30
- package/dist/icon-button-AdJBEoNy.js.map +1 -0
- package/dist/index.js +4 -4
- package/dist/{navigation-rail-CD7IrqbN.js → navigation-rail-DAUuJ_Yp.js} +735 -370
- package/dist/navigation-rail-DAUuJ_Yp.js.map +1 -0
- package/dist/peacock-loader.js +6 -3
- package/dist/peacock-loader.js.map +1 -1
- package/dist/popover-content.js +1 -1
- package/dist/popover-content.js.map +1 -1
- package/dist/search.js +11 -14
- package/dist/search.js.map +1 -1
- package/dist/src/canvas/canvas.d.ts +3 -3
- package/dist/src/field/field.d.ts +1 -0
- package/dist/src/flow-designer/flow-designer-node.d.ts +1 -0
- package/dist/src/image/image.d.ts +2 -2
- package/dist/src/index.d.ts +1 -0
- package/dist/src/input/input.d.ts +1 -3
- package/dist/src/item/index.d.ts +1 -0
- package/dist/src/item/item.d.ts +48 -0
- package/dist/src/menu/menu-item/menu-item.d.ts +8 -9
- package/dist/src/menu/sub-menu/sub-menu.d.ts +1 -0
- package/dist/src/navigation-rail/navigation-rail.d.ts +2 -6
- package/dist/src/popover/popover-content.d.ts +1 -1
- package/dist/src/search/search.d.ts +2 -6
- package/dist/test/item.test.d.ts +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/scss/mixin.scss +23 -0
- package/src/button/button/button-sizes.scss +11 -11
- package/src/button/button/button.scss +96 -122
- package/src/button/button/button.ts +37 -34
- package/src/button/icon-button/icon-button-sizes.scss +8 -8
- package/src/button/icon-button/icon-button.ts +23 -20
- package/src/canvas/canvas.scss +18 -6
- package/src/canvas/canvas.ts +125 -103
- package/src/chip/chip/chip.scss +1 -1
- package/src/empty-state/empty-state.scss +1 -0
- package/src/field/field.ts +6 -0
- package/src/flow-designer/flow-designer-node.ts +1 -0
- package/src/image/image.scss +21 -16
- package/src/image/image.ts +13 -14
- package/src/index.ts +1 -0
- package/src/input/input.ts +16 -25
- package/src/item/index.ts +1 -0
- package/src/item/item.scss +184 -0
- package/src/item/item.ts +340 -0
- package/src/menu/menu/menu.ts +5 -9
- package/src/menu/menu-item/menu-item.scss +30 -108
- package/src/menu/menu-item/menu-item.ts +89 -129
- package/src/menu/sub-menu/sub-menu.ts +6 -2
- package/src/navigation-rail/navigation-rail.ts +2 -6
- package/src/peacock-loader.ts +4 -0
- package/src/popover/popover-content.ts +1 -1
- package/src/search/search.ts +11 -16
- package/src/select/option.ts +1 -1
- package/src/select/select.scss +1 -10
- package/src/select/select.ts +2 -0
- package/dist/flow-designer-node-BWrPuxAR.js.map +0 -1
- package/dist/icon-button-ohxHhy4t.js.map +0 -1
- 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(--
|
|
30
|
-
--icon-color: var(--
|
|
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
|
|
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(--
|
|
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
|
-
--
|
|
57
|
-
--
|
|
58
|
-
--
|
|
59
|
-
--
|
|
60
|
-
--
|
|
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(--
|
|
77
|
+
gap: var(--private-button-icon-label-spacing);
|
|
68
78
|
width: 100%;
|
|
69
79
|
height: 100%;
|
|
70
80
|
z-index: 0;
|
|
71
|
-
color: var(--
|
|
72
|
-
opacity: var(--
|
|
73
|
-
--icon-size: var(--button-icon-size, var(--
|
|
74
|
-
--icon-color: var(--
|
|
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(--
|
|
90
|
-
--focus-ring-container-shape-start-end: var(--
|
|
91
|
-
--focus-ring-container-shape-end-start: var(--
|
|
92
|
-
--focus-ring-container-shape-end-end: var(--
|
|
93
|
-
--focus-ring-container-shape-variant: var(--
|
|
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(--
|
|
97
|
-
border-start-end-radius: var(--
|
|
98
|
-
border-end-start-radius: var(--
|
|
99
|
-
border-end-end-radius: var(--
|
|
100
|
-
corner-shape: var(--
|
|
101
|
-
--ripple-state-opacity: var(--
|
|
102
|
-
--ripple-pressed-color: var(--
|
|
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(--
|
|
111
|
-
opacity: var(--
|
|
112
|
-
border-start-start-radius: var(--
|
|
113
|
-
border-start-end-radius: var(--
|
|
114
|
-
border-end-start-radius: var(--
|
|
115
|
-
border-end-end-radius: var(--
|
|
116
|
-
corner-shape: var(--
|
|
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(--
|
|
128
|
-
--skeleton-container-shape-start-end: var(--
|
|
129
|
-
--skeleton-container-shape-end-start: var(--
|
|
130
|
-
--skeleton-container-shape-end-end: var(--
|
|
131
|
-
--skeleton-container-shape-variant: var(--
|
|
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(--
|
|
137
|
-
--elevation-container-shape-start-end: var(--
|
|
138
|
-
--elevation-container-shape-end-start: var(--
|
|
139
|
-
--elevation-container-shape-end-end: var(--
|
|
140
|
-
--elevation-container-shape-variant: var(--
|
|
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(--
|
|
165
|
-
opacity: var(--
|
|
166
|
-
border-start-start-radius: var(--
|
|
167
|
-
border-start-end-radius: var(--
|
|
168
|
-
border-end-start-radius: var(--
|
|
169
|
-
border-end-end-radius: var(--
|
|
170
|
-
corner-shape: var(--
|
|
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
|
-
--
|
|
204
|
-
--
|
|
205
|
-
--
|
|
206
|
-
--
|
|
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
|
-
--
|
|
210
|
-
--
|
|
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
|
-
--
|
|
214
|
-
--
|
|
223
|
+
--private-button-container-elevation-level: 1;
|
|
224
|
+
--private-button-state-opacity: 0.12;
|
|
215
225
|
}
|
|
216
226
|
.button.variant-elevated.disabled {
|
|
217
|
-
--
|
|
218
|
-
--
|
|
219
|
-
--
|
|
220
|
-
--
|
|
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
|
-
--
|
|
228
|
-
--
|
|
229
|
-
--
|
|
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
|
-
--
|
|
233
|
-
--
|
|
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
|
-
--
|
|
237
|
-
--
|
|
246
|
+
--private-button-container-elevation-level: 0;
|
|
247
|
+
--private-button-state-opacity: 0.1;
|
|
238
248
|
}
|
|
239
249
|
.button.variant-filled.disabled {
|
|
240
|
-
--
|
|
241
|
-
--
|
|
242
|
-
--
|
|
243
|
-
--
|
|
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
|
-
--
|
|
251
|
-
--
|
|
252
|
-
--
|
|
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
|
-
--
|
|
256
|
-
--
|
|
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
|
-
--
|
|
260
|
-
--
|
|
269
|
+
--private-button-container-elevation-level: 0;
|
|
270
|
+
--private-button-state-opacity: 0.12;
|
|
261
271
|
}
|
|
262
272
|
.button.variant-tonal.disabled {
|
|
263
|
-
--
|
|
264
|
-
--
|
|
265
|
-
--
|
|
266
|
-
--
|
|
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
|
-
--
|
|
274
|
-
--
|
|
275
|
-
--
|
|
276
|
-
--
|
|
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
|
-
--
|
|
292
|
+
--private-button-state-opacity: 0.08;
|
|
283
293
|
}
|
|
284
294
|
.button.variant-outlined.pressed:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
|
|
285
|
-
--
|
|
295
|
+
--private-button-state-opacity: 0.12;
|
|
286
296
|
}
|
|
287
297
|
.button.variant-outlined.disabled {
|
|
288
|
-
--
|
|
289
|
-
--
|
|
290
|
-
--
|
|
291
|
-
--
|
|
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
|
-
--
|
|
299
|
-
--
|
|
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
|
-
--
|
|
312
|
+
--private-button-state-opacity: 0.08;
|
|
303
313
|
}
|
|
304
314
|
.button.variant-text.pressed:not(:where(.disabled, .soft-disabled, .show-skeleton)) {
|
|
305
|
-
--
|
|
315
|
+
--private-button-state-opacity: 0.12;
|
|
306
316
|
}
|
|
307
317
|
.button.variant-text.disabled {
|
|
308
|
-
--
|
|
309
|
-
--
|
|
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
|
-
--
|
|
317
|
-
--
|
|
318
|
-
--
|
|
319
|
-
--
|
|
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
|
-
--
|
|
339
|
-
--
|
|
340
|
-
--
|
|
341
|
-
--
|
|
342
|
-
--
|
|
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-
|
|
571
|
+
//# sourceMappingURL=button-colors-Cg6oxiz-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-colors-
|
|
1
|
+
{"version":3,"file":"button-colors-Cg6oxiz-.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/button-group.js
CHANGED
|
@@ -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-
|
|
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-
|
|
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-
|
|
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
|
-
--
|
|
21
|
-
--
|
|
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
|
-
--
|
|
36
|
-
--
|
|
37
|
-
--
|
|
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
|
-
--
|
|
52
|
-
--
|
|
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
|
-
--
|
|
67
|
-
--
|
|
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
|
-
--
|
|
82
|
-
--
|
|
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
|
-
|
|
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 `
|
package/dist/button.js.map
CHANGED
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCG;AAEI,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,UAAU,CAAA;AAA/B,IAAA,WAAA,GAAA;;AAGL;;;AAGG;QAEH,IAAA,CAAA,SAAS,GAAoB,KAAK;AAElC;;;AAGG;QAC0B,IAAA,CAAA,IAAI,GAAqC,IAAI;AAQxE;;;;;;;;;AASG;QACS,IAAA,CAAA,OAAO,GAMP,QAAQ;AAEpB;;AAEG;QAC0B,IAAA,CAAA,KAAK,GAMf,SAAS;QAStB,IAAA,CAAA,cAAc,GAAG,KAAK;IAyHhC;IAvHW,KAAK,GAAA;AACZ,QAAA,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE;IAC7B;IAES,IAAI,GAAA;AACX,QAAA,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE;IAC5B;IAES,YAAY,GAAA;AACnB,QAAA,IAAI,CAAC,2BAA2B,GAAG,QAAQ,CACzC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,aAAa,CACnB;AACD,QAAA,+BAA+B,CAC7B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,EACrC,UAAU,IAAG;AACX,YAAA,IAAI,CAAC,cAAc,GAAG,UAAU;YAChC,IAAI,CAAC,aAAa,EAAE;AACtB,QAAA,CAAC,CACF;QAED,IAAI,CAAC,8BAA8B,EAAE;IACvC;IAEA,8BAA8B,GAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;AAC3B,YAAA,IAAI,CAAC,KAAK,GAAG,SAAS;AACtB,YAAA,IAAI,CAAC,OAAO,GAAG,QAAQ;QACzB;AAAO,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AACpC,YAAA,IAAI,CAAC,KAAK,GAAG,SAAS;AACtB,YAAA,IAAI,CAAC,OAAO,GAAG,QAAQ;QACzB;AAAO,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;AACnC,YAAA,IAAI,CAAC,KAAK,GAAG,SAAS;AACtB,YAAA,IAAI,CAAC,OAAO,GAAG,MAAM;QACvB;AAAO,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AACjC,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;AACrB,YAAA,IAAI,CAAC,OAAO,GAAG,QAAQ;QACzB;IACF;IAES,MAAM,GAAA;AAEb,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAA,CAAE,GAAG,IAAI;AAC3B,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,IAAI;AACjC,YAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAA,CAAE,GAAG,IAAI;AAC7B,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY;YAC5C,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,eAAe,EAAE,IAAI,CAAC,QAAQ;AAC9B,YAAA,CAAC,cAAc,IAAI,CAAC,SAAS,CAAA,CAAE,GAAG,IAAI;SACvC;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,OAAOA,CAAI,CAAA,CAAA;kBACCC,CAAQ,CAAC,UAAU,CAAC;;AAErB,eAAA,EAAA,IAAI,CAAC,QAAQ;AACX,iBAAA,EAAA,IAAI,CAAC,2BAA2B;AAC5B,qBAAA,EAAA,IAAI,CAAC,aAAa;AACpB,mBAAA,EAAA,IAAI,CAAC,aAAa;AACpB,iBAAA,EAAA,IAAI,CAAC,aAAa;;AAER,2BAAA,EAAAC,CAAS,CAAC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,kBAAkB,GAAG,SAAS,CAAC;AAC1E,yBAAA,EAAA,IAAI,CAAC,YAAY;;AAEtB,oBAAA,EAAA,IAAI,CAAC,QAAQ;AACvB,UAAA,EAAA,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;;YAEvB,IAAI,CAAC,mBAAmB,EAAE;;AAE5B,QAAA,EAAA,IAAI,CAAC,eAAe,EAAE,CAAA,CAAE;QAC9B;AACA,QAAA,OAAOF,CAAI,CAAA,CAAA;gBACCC,CAAQ,CAAC,UAAU,CAAC;;AAErB,aAAA,EAAA,IAAI,CAAC,IAAI;AACP,eAAA,EAAA,IAAI,CAAC,MAAM;mBACT,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG;;AAE5B,eAAA,EAAA,IAAI,CAAC,eAAe;AAChB,mBAAA,EAAA,IAAI,CAAC,aAAa;AACpB,iBAAA,EAAA,IAAI,CAAC,aAAa;AACpB,eAAA,EAAA,IAAI,CAAC,aAAa;;;AAGR,yBAAA,EAAAC,CAAS,CAAC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,kBAAkB,GAAG,SAAS,CAAC;AAC1E,uBAAA,EAAA,IAAI,CAAC,YAAY;;AAEhC,QAAA,EAAA,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;;UAEvB,IAAI,CAAC,mBAAmB,EAAE;;AAE5B,MAAA,EAAA,IAAI,CAAC,eAAe,EAAE,CAAA,CAAE;IAC9B;IAEA,mBAAmB,GAAA;AACjB,QAAA,OAAOF,CAAI,CAAA;;;;;;;;;;;;;;;;;AAiBP,MAAA,EAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC;KACjD;IACH;;AAjLgB,MAAA,CAAA,MAAM,GAAG,CAACG,UAAM,EAAEC,UAAW,EAAEC,QAAU,CAAnC;AAOtB,UAAA,CAAA;AADC,IAAAC,CAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE;AACF,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAMN,UAAA,CAAA;AAA5B,IAAAA,CAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AAAgD,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAM7C,UAAA,CAAA;AAA3B,IAAAA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAA8C,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAY5D,UAAA,CAAA;AAAX,IAAAA,CAAQ;AAMY,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAKQ,UAAA,CAAA;AAA5B,IAAAA,CAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AAME,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAM/B,UAAA,CAAA;AADC,IAAAA,CAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AACS,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,YAAA,EAAA,MAAA,CAAA;AAG5B,UAAA,CAAA;AADP,IAAAC,CAAK;AACyB,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,MAAA,CAAA;AA1DpB,MAAM,GAAA,UAAA,CAAA;IADlB;AACY,CAAA,EAAA,MAAM,CAmLlB;;;;"}
|
|
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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"}
|