@vollowx/seele 0.13.5 → 0.13.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +1256 -115
- package/package.json +22 -14
- package/src/all.d.ts +34 -0
- package/src/base/autocomplete.d.ts +57 -0
- package/src/base/autocomplete.js +80 -98
- package/src/base/button.d.ts +13 -0
- package/src/base/button.js +21 -19
- package/src/base/checkbox.d.ts +18 -0
- package/src/base/checkbox.js +39 -34
- package/src/base/controllers/list-controller.d.ts +37 -0
- package/src/base/controllers/list-controller.js +23 -15
- package/src/base/controllers/popover-controller.d.ts +35 -0
- package/src/base/controllers/popover-controller.js +37 -29
- package/src/base/dialog.d.ts +20 -0
- package/src/base/dialog.js +11 -9
- package/src/base/field.d.ts +3 -0
- package/src/base/input.d.ts +44 -0
- package/src/base/input.js +57 -65
- package/src/base/item.d.ts +7 -0
- package/src/base/item.js +2 -1
- package/src/base/list-item.d.ts +15 -0
- package/src/base/list-item.js +22 -22
- package/src/base/list.d.ts +54 -0
- package/src/base/list.js +69 -55
- package/src/base/menu-item.d.ts +6 -0
- package/src/base/menu-item.js +4 -3
- package/src/base/menu.d.ts +78 -0
- package/src/base/menu.js +137 -143
- package/src/base/mixins/attachable.d.ts +9 -0
- package/src/base/mixins/attachable.js +22 -18
- package/src/base/mixins/focus-delegated.d.ts +5 -0
- package/src/base/mixins/focus-delegated.js +6 -8
- package/src/base/mixins/form-associated.d.ts +15 -0
- package/src/base/mixins/form-associated.js +11 -18
- package/src/base/mixins/internals-attached.d.ts +6 -0
- package/src/base/mixins/internals-attached.js +1 -1
- package/src/base/option.d.ts +9 -0
- package/src/base/option.js +7 -8
- package/src/base/radio.d.ts +13 -0
- package/src/base/radio.js +49 -42
- package/src/base/select.d.ts +116 -0
- package/src/base/select.js +130 -128
- package/src/base/slider.d.ts +75 -0
- package/src/base/slider.js +115 -118
- package/src/base/tab-panel.d.ts +9 -0
- package/src/base/tab-panel.js +11 -11
- package/src/base/tab.d.ts +18 -0
- package/src/base/tab.js +25 -24
- package/src/base/tabs.d.ts +19 -0
- package/src/base/tabs.js +84 -81
- package/src/base/toggle-button.d.ts +47 -0
- package/src/base/toggle-button.js +56 -52
- package/src/base/tooltip.d.ts +37 -0
- package/src/base/tooltip.js +70 -65
- package/src/core/decorators.d.ts +2 -0
- package/src/core/decorators.js +4 -3
- package/src/core/ensure-ready.d.ts +1 -0
- package/src/core/ensure-ready.js +15 -0
- package/src/core/focus-visible.d.ts +2 -0
- package/src/core/focus-visible.js +4 -4
- package/src/core/shared.d.ts +1 -0
- package/src/core/unique-id.d.ts +4 -0
- package/src/core/unique-id.js +2 -1
- package/src/m3/autocomplete/autocomplete.d.ts +9 -0
- package/src/m3/autocomplete/autocomplete.js +11 -10
- package/src/m3/badge/badge.d.ts +13 -0
- package/src/m3/badge/badge.js +28 -37
- package/src/m3/button/common-button-toggle.d.ts +31 -0
- package/src/m3/button/common-button-toggle.js +44 -41
- package/src/m3/button/common-button.d.ts +29 -0
- package/src/m3/button/common-button.js +40 -40
- package/src/m3/button/icon-button-toggle.d.ts +24 -0
- package/src/m3/button/icon-button-toggle.js +35 -32
- package/src/m3/button/icon-button.d.ts +23 -0
- package/src/m3/button/icon-button.js +33 -31
- package/src/m3/button-group/connected-button-group.d.ts +19 -0
- package/src/m3/button-group/connected-button-group.js +26 -24
- package/src/m3/button-group/standard-button-group.d.ts +24 -0
- package/src/m3/button-group/standard-button-group.js +71 -65
- package/src/m3/checkbox/checkbox.d.ts +25 -0
- package/src/m3/checkbox/checkbox.js +23 -22
- package/src/m3/dialog/dialog.d.ts +46 -0
- package/src/m3/dialog/dialog.js +90 -117
- package/src/m3/divider/divider.d.ts +13 -0
- package/src/m3/divider/divider.js +20 -33
- package/src/m3/fab/fab.d.ts +23 -0
- package/src/m3/fab/fab.js +24 -23
- package/src/m3/field/field.d.ts +28 -0
- package/src/m3/field/field.js +40 -55
- package/src/m3/field/filled-field.d.ts +11 -0
- package/src/m3/field/filled-field.js +7 -11
- package/src/m3/field/outlined-field.d.ts +11 -0
- package/src/m3/field/outlined-field.js +8 -12
- package/src/m3/focus-ring/focus-ring.d.ts +32 -0
- package/src/m3/focus-ring/focus-ring.js +38 -23
- package/src/m3/item/item.d.ts +31 -0
- package/src/m3/item/item.js +32 -17
- package/src/m3/list/list-item.d.ts +24 -0
- package/src/m3/list/list-item.js +20 -16
- package/src/m3/list/list.d.ts +15 -0
- package/src/m3/list/list.js +16 -15
- package/src/m3/loading-indicator/loading-indicator.d.ts +26 -0
- package/src/m3/loading-indicator/loading-indicator.js +113 -161
- package/src/m3/menu/menu-item.d.ts +15 -0
- package/src/m3/menu/menu-item.js +10 -4
- package/src/m3/menu/menu.d.ts +22 -0
- package/src/m3/menu/menu.js +20 -18
- package/src/m3/radio/radio-styles.css.js +1 -1
- package/src/m3/radio/radio.d.ts +17 -0
- package/src/m3/radio/radio.js +22 -11
- package/src/m3/ripple/ripple.d.ts +43 -0
- package/src/m3/ripple/ripple.js +82 -89
- package/src/m3/select/filled-select.d.ts +16 -0
- package/src/m3/select/filled-select.js +12 -10
- package/src/m3/select/option.d.ts +15 -0
- package/src/m3/select/option.js +10 -4
- package/src/m3/select/outlined-select.d.ts +16 -0
- package/src/m3/select/outlined-select.js +12 -10
- package/src/m3/select/select.d.ts +14 -0
- package/src/m3/select/select.js +17 -16
- package/src/m3/slider/slider.d.ts +20 -0
- package/src/m3/slider/slider.js +32 -26
- package/src/m3/switch/switch.d.ts +27 -0
- package/src/m3/switch/switch.js +62 -53
- package/src/m3/system/motion.d.ts +12 -0
- package/src/m3/system/motion.js +16 -9
- package/src/m3/tab/tab-panel.d.ts +9 -0
- package/src/m3/tab/tab-panel.js +6 -9
- package/src/m3/tab/tab.d.ts +19 -0
- package/src/m3/tab/tab.js +14 -12
- package/src/m3/tab/tabs.d.ts +25 -0
- package/src/m3/tab/tabs.js +34 -30
- package/src/m3/text-field/filled-text-field.d.ts +13 -0
- package/src/m3/text-field/filled-text-field.js +15 -20
- package/src/m3/text-field/outlined-text-field.d.ts +13 -0
- package/src/m3/text-field/outlined-text-field.js +15 -20
- package/src/m3/toolbar/toolbar.d.ts +26 -0
- package/src/m3/toolbar/toolbar.js +28 -25
- package/src/m3/tooltip/tooltip.d.ts +19 -0
- package/src/m3/tooltip/tooltip.js +15 -14
- package/src/win98/button/button.d.ts +13 -0
- package/src/win98/button/button.js +13 -11
- package/src/m3/dialog/dialog-spring.js +0 -179
- package/src/win98/button/radio.js +0 -8
- package/src/win98/radio/radio.js +0 -8
package/src/base/select.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
var _a;
|
|
2
|
+
import { __decorate } from "tslib";
|
|
2
3
|
import { LitElement, isServer, html } from 'lit';
|
|
3
4
|
import { property, query } from 'lit/decorators.js';
|
|
4
5
|
import { InternalsAttached } from './mixins/internals-attached.js';
|
|
@@ -16,12 +17,15 @@ const Base = FormAssociated(FocusDelegated(InternalsAttached(LitElement)));
|
|
|
16
17
|
*
|
|
17
18
|
* TODO: Render multiple values
|
|
18
19
|
* FIXME: `aria-expanded` set twice by both Lit and Menu
|
|
19
|
-
*/
|
|
20
|
+
*/
|
|
21
|
+
export class Select extends Base {
|
|
22
|
+
static { _a = VALUE; }
|
|
20
23
|
get value() {
|
|
21
24
|
return this[VALUE];
|
|
22
25
|
}
|
|
23
26
|
set value(value) {
|
|
24
|
-
if (isServer)
|
|
27
|
+
if (isServer)
|
|
28
|
+
return;
|
|
25
29
|
this.lastUserSetValue = value;
|
|
26
30
|
this.select(value);
|
|
27
31
|
}
|
|
@@ -40,76 +44,88 @@ const Base = FormAssociated(FocusDelegated(InternalsAttached(LitElement)));
|
|
|
40
44
|
this.selectIndex(index);
|
|
41
45
|
}
|
|
42
46
|
get selectedOptions() {
|
|
43
|
-
return (this.getSelectedOptions() ?? []).map(([option])=>option);
|
|
47
|
+
return (this.getSelectedOptions() ?? []).map(([option]) => option);
|
|
44
48
|
}
|
|
45
49
|
render() {
|
|
46
|
-
return html`${this.renderField()}${this.renderMenu()}`;
|
|
50
|
+
return html `${this.renderField()}${this.renderMenu()}`;
|
|
47
51
|
}
|
|
48
52
|
/**
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
53
|
+
* Example content:
|
|
54
|
+
*
|
|
55
|
+
* ```html
|
|
56
|
+
* <your-field
|
|
57
|
+
* id="field"
|
|
58
|
+
* part="field"
|
|
59
|
+
* @click=${this.toggle}
|
|
60
|
+
* @keydown=${this.handleFieldKeydown}
|
|
61
|
+
* tabindex=${this.disabled ? '-1' : '0'}
|
|
62
|
+
* role="combobox"
|
|
63
|
+
* aria-haspopup="listbox"
|
|
64
|
+
* aria-expanded=${this.open}
|
|
65
|
+
* aria-controls="menu"
|
|
66
|
+
* aria-disabled=${this.disabled}
|
|
67
|
+
* aria-required=${this.required}
|
|
68
|
+
* >
|
|
69
|
+
* ${this.renderFieldContent()}
|
|
70
|
+
* </your-field>
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
renderField() {
|
|
74
|
+
return html ``;
|
|
70
75
|
}
|
|
71
76
|
/**
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
77
|
+
* Example content:
|
|
78
|
+
*
|
|
79
|
+
* ```html
|
|
80
|
+
* <your-menu
|
|
81
|
+
* id="menu"
|
|
82
|
+
* for="field"
|
|
83
|
+
* type="listbox"
|
|
84
|
+
* data-tabindex="-1"
|
|
85
|
+
* ?quick="${this.quick}"
|
|
86
|
+
* offset="${this.offset}"
|
|
87
|
+
* align="${this.align}"
|
|
88
|
+
* align-strategy="${this.alignStrategy}"
|
|
89
|
+
* keep-open-blur
|
|
90
|
+
* no-focus-control
|
|
91
|
+
* ?open="${this.open}"
|
|
92
|
+
* @item-focus="${this.handleMenuItemFocus}"
|
|
93
|
+
* @select="${this.handleMenuSelect}"
|
|
94
|
+
* >
|
|
95
|
+
* <slot part="items" @slotchange=${this.handleSlotChange}></slot>
|
|
96
|
+
* </your-menu>
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
renderMenu() {
|
|
100
|
+
return html ``;
|
|
95
101
|
}
|
|
96
102
|
renderFieldContent() {
|
|
97
|
-
return html`<span part="value">${this.displayText || html` `}</span>`;
|
|
103
|
+
return html `<span part="value">${this.displayText || html ` `}</span>`;
|
|
98
104
|
}
|
|
99
|
-
constructor(){
|
|
100
|
-
super()
|
|
101
|
-
|
|
102
|
-
this.
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
105
|
+
constructor() {
|
|
106
|
+
super();
|
|
107
|
+
// Form-related
|
|
108
|
+
this.required = false;
|
|
109
|
+
// Passed to field
|
|
110
|
+
this.error = false;
|
|
111
|
+
// Passed to menu
|
|
112
|
+
this.quick = false;
|
|
113
|
+
this.offset = 0;
|
|
114
|
+
this.align = 'bottom-start';
|
|
115
|
+
this.alignStrategy = 'absolute';
|
|
116
|
+
this.open = false;
|
|
117
|
+
/**
|
|
118
|
+
* Text to display in the field. Only set for SSR.
|
|
119
|
+
*/
|
|
120
|
+
this.displayText = '';
|
|
121
|
+
this[_a] = '';
|
|
122
|
+
this.lastUserSetValue = null;
|
|
123
|
+
this.lastUserSetSelectedIndex = null;
|
|
124
|
+
this.lastSelectedOption = null;
|
|
125
|
+
this.lastSelectedOptionRecords = [];
|
|
126
|
+
this.#dispatchChangeEvent = () => {
|
|
127
|
+
this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));
|
|
128
|
+
this.dispatchEvent(new Event('change', { bubbles: true }));
|
|
113
129
|
};
|
|
114
130
|
if (!isServer) {
|
|
115
131
|
this.addEventListener('focusout', this._handleFocusOut);
|
|
@@ -122,8 +138,10 @@ const Base = FormAssociated(FocusDelegated(InternalsAttached(LitElement)));
|
|
|
122
138
|
}
|
|
123
139
|
// Case for when the DOM is streaming, there are no children, and a child
|
|
124
140
|
// has [selected] set on it, we need to wait for DOM to render something.
|
|
125
|
-
if (!this.lastSelectedOptionRecords.length &&
|
|
126
|
-
|
|
141
|
+
if (!this.lastSelectedOptionRecords.length &&
|
|
142
|
+
!isServer &&
|
|
143
|
+
!this.$options.length) {
|
|
144
|
+
setTimeout(() => {
|
|
127
145
|
this.updateValueAndDisplayText();
|
|
128
146
|
}, 0);
|
|
129
147
|
}
|
|
@@ -140,18 +158,21 @@ const Base = FormAssociated(FocusDelegated(InternalsAttached(LitElement)));
|
|
|
140
158
|
if (changed.has('open')) {
|
|
141
159
|
if (this.open) {
|
|
142
160
|
this.#focusSelectedItemOrFirst();
|
|
143
|
-
}
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
144
163
|
this.$field.setAttribute('aria-activedescendant', '');
|
|
145
164
|
}
|
|
146
165
|
}
|
|
147
166
|
}
|
|
148
167
|
/**
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
168
|
+
* TODO: Handle clear action
|
|
169
|
+
*/
|
|
170
|
+
_handleFieldKeydown(event) {
|
|
171
|
+
if (this.disabled)
|
|
172
|
+
return;
|
|
152
173
|
const eventClone = new KeyboardEvent(event.type, event);
|
|
153
|
-
eventClone.preventDefault = ()=>event.preventDefault();
|
|
154
|
-
eventClone.stopPropagation = ()=>event.stopPropagation();
|
|
174
|
+
eventClone.preventDefault = () => event.preventDefault();
|
|
175
|
+
eventClone.stopPropagation = () => event.stopPropagation();
|
|
155
176
|
this.$menu.$menu.dispatchEvent(eventClone);
|
|
156
177
|
}
|
|
157
178
|
_handleMenuSelect(event) {
|
|
@@ -177,7 +198,7 @@ const Base = FormAssociated(FocusDelegated(InternalsAttached(LitElement)));
|
|
|
177
198
|
}
|
|
178
199
|
selectItem(item) {
|
|
179
200
|
const selectedOptions = this.getSelectedOptions() ?? [];
|
|
180
|
-
selectedOptions.forEach(([option])=>{
|
|
201
|
+
selectedOptions.forEach(([option]) => {
|
|
181
202
|
if (item !== option) {
|
|
182
203
|
option.selected = false;
|
|
183
204
|
}
|
|
@@ -188,9 +209,12 @@ const Base = FormAssociated(FocusDelegated(InternalsAttached(LitElement)));
|
|
|
188
209
|
initUserSelection() {
|
|
189
210
|
if (this.lastUserSetValue && !this.lastSelectedOptionRecords.length) {
|
|
190
211
|
this.select(this.lastUserSetValue);
|
|
191
|
-
}
|
|
212
|
+
}
|
|
213
|
+
else if (this.lastUserSetSelectedIndex !== null &&
|
|
214
|
+
!this.lastSelectedOptionRecords.length) {
|
|
192
215
|
this.selectIndex(this.lastUserSetSelectedIndex);
|
|
193
|
-
}
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
194
218
|
this.updateValueAndDisplayText();
|
|
195
219
|
}
|
|
196
220
|
}
|
|
@@ -203,7 +227,8 @@ const Base = FormAssociated(FocusDelegated(InternalsAttached(LitElement)));
|
|
|
203
227
|
this.lastSelectedOption = firstSelectedOption;
|
|
204
228
|
this[VALUE] = firstSelectedOption.value;
|
|
205
229
|
this.displayText = firstSelectedOption.displayText;
|
|
206
|
-
}
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
207
232
|
changed = this.lastSelectedOption !== null;
|
|
208
233
|
this.lastSelectedOption = null;
|
|
209
234
|
this[VALUE] = '';
|
|
@@ -218,12 +243,9 @@ const Base = FormAssociated(FocusDelegated(InternalsAttached(LitElement)));
|
|
|
218
243
|
getSelectedOptions() {
|
|
219
244
|
const items = this.$options;
|
|
220
245
|
const records = [];
|
|
221
|
-
items.forEach((item, index)=>{
|
|
246
|
+
items.forEach((item, index) => {
|
|
222
247
|
if (item.selected) {
|
|
223
|
-
records.push([
|
|
224
|
-
item,
|
|
225
|
-
index
|
|
226
|
-
]);
|
|
248
|
+
records.push([item, index]);
|
|
227
249
|
}
|
|
228
250
|
});
|
|
229
251
|
this.lastSelectedOptionRecords = records;
|
|
@@ -235,7 +257,8 @@ const Base = FormAssociated(FocusDelegated(InternalsAttached(LitElement)));
|
|
|
235
257
|
if (selectedOptions && selectedOptions.length > 0) {
|
|
236
258
|
const [item] = selectedOptions[0];
|
|
237
259
|
this.$menu.focusItem(item);
|
|
238
|
-
}
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
239
262
|
this.$menu.focusFirstItem();
|
|
240
263
|
}
|
|
241
264
|
}
|
|
@@ -246,7 +269,7 @@ const Base = FormAssociated(FocusDelegated(InternalsAttached(LitElement)));
|
|
|
246
269
|
this.value = state;
|
|
247
270
|
}
|
|
248
271
|
select(value) {
|
|
249
|
-
const item = this.$options.find((option)=>option.value === value);
|
|
272
|
+
const item = this.$options.find((option) => option.value === value);
|
|
250
273
|
if (item) {
|
|
251
274
|
this.selectItem(item);
|
|
252
275
|
}
|
|
@@ -258,71 +281,50 @@ const Base = FormAssociated(FocusDelegated(InternalsAttached(LitElement)));
|
|
|
258
281
|
}
|
|
259
282
|
}
|
|
260
283
|
reset() {
|
|
261
|
-
for (const option of this.$options){
|
|
284
|
+
for (const option of this.$options) {
|
|
262
285
|
option.selected = option.hasAttribute('selected');
|
|
263
286
|
}
|
|
264
287
|
this.updateValueAndDisplayText();
|
|
265
288
|
}
|
|
266
289
|
toggle() {
|
|
267
|
-
if (this.disabled)
|
|
290
|
+
if (this.disabled)
|
|
291
|
+
return;
|
|
268
292
|
this.open = !this.open;
|
|
269
293
|
}
|
|
270
294
|
}
|
|
271
|
-
|
|
272
|
-
property({
|
|
273
|
-
type: Boolean,
|
|
274
|
-
reflect: true
|
|
275
|
-
})
|
|
295
|
+
__decorate([
|
|
296
|
+
property({ type: Boolean, reflect: true })
|
|
276
297
|
], Select.prototype, "required", void 0);
|
|
277
|
-
|
|
278
|
-
property({
|
|
279
|
-
type: Boolean
|
|
280
|
-
})
|
|
298
|
+
__decorate([
|
|
299
|
+
property({ type: Boolean })
|
|
281
300
|
], Select.prototype, "error", void 0);
|
|
282
|
-
|
|
283
|
-
property({
|
|
284
|
-
type: Boolean
|
|
285
|
-
})
|
|
301
|
+
__decorate([
|
|
302
|
+
property({ type: Boolean })
|
|
286
303
|
], Select.prototype, "quick", void 0);
|
|
287
|
-
|
|
288
|
-
property({
|
|
289
|
-
type: Number
|
|
290
|
-
})
|
|
304
|
+
__decorate([
|
|
305
|
+
property({ type: Number })
|
|
291
306
|
], Select.prototype, "offset", void 0);
|
|
292
|
-
|
|
293
|
-
property({
|
|
294
|
-
reflect: true
|
|
295
|
-
})
|
|
307
|
+
__decorate([
|
|
308
|
+
property({ reflect: true })
|
|
296
309
|
], Select.prototype, "align", void 0);
|
|
297
|
-
|
|
298
|
-
property({
|
|
299
|
-
type: String,
|
|
300
|
-
reflect: true,
|
|
301
|
-
attribute: 'align-strategy'
|
|
302
|
-
})
|
|
310
|
+
__decorate([
|
|
311
|
+
property({ type: String, reflect: true, attribute: 'align-strategy' })
|
|
303
312
|
], Select.prototype, "alignStrategy", void 0);
|
|
304
|
-
|
|
305
|
-
property({
|
|
306
|
-
type: Boolean
|
|
307
|
-
})
|
|
313
|
+
__decorate([
|
|
314
|
+
property({ type: Boolean })
|
|
308
315
|
], Select.prototype, "open", void 0);
|
|
309
|
-
|
|
310
|
-
property({
|
|
311
|
-
attribute: 'display-text'
|
|
312
|
-
})
|
|
316
|
+
__decorate([
|
|
317
|
+
property({ attribute: 'display-text' })
|
|
313
318
|
], Select.prototype, "displayText", void 0);
|
|
314
|
-
|
|
319
|
+
__decorate([
|
|
315
320
|
property()
|
|
316
321
|
], Select.prototype, "value", null);
|
|
317
|
-
|
|
318
|
-
property({
|
|
319
|
-
type: Number,
|
|
320
|
-
attribute: 'selected-index'
|
|
321
|
-
})
|
|
322
|
+
__decorate([
|
|
323
|
+
property({ type: Number, attribute: 'selected-index' })
|
|
322
324
|
], Select.prototype, "selectedIndex", null);
|
|
323
|
-
|
|
325
|
+
__decorate([
|
|
324
326
|
query('[part="field"]')
|
|
325
327
|
], Select.prototype, "$field", void 0);
|
|
326
|
-
|
|
328
|
+
__decorate([
|
|
327
329
|
query('[part="menu"]')
|
|
328
330
|
], Select.prototype, "$menu", void 0);
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018-2023 Google, Inc.
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { LitElement, PropertyValues } from 'lit';
|
|
7
|
+
declare const Base: Constructor<import("./mixins/form-associated.js").FormAssociatedInterface> & Constructor<import("./mixins/focus-delegated.js").FocusDelegatedInterface> & Constructor<import("./mixins/internals-attached.js").InternalsAttachedInterface> & typeof LitElement;
|
|
8
|
+
export declare class Slider extends Base {
|
|
9
|
+
min: number;
|
|
10
|
+
max: number;
|
|
11
|
+
value?: number;
|
|
12
|
+
valueStart?: number;
|
|
13
|
+
valueEnd?: number;
|
|
14
|
+
valueLabel: string;
|
|
15
|
+
valueLabelStart: string;
|
|
16
|
+
valueLabelEnd: string;
|
|
17
|
+
ariaLabelStart: string;
|
|
18
|
+
ariaValueTextStart: string;
|
|
19
|
+
ariaLabelEnd: string;
|
|
20
|
+
ariaValueTextEnd: string;
|
|
21
|
+
step: number;
|
|
22
|
+
ticks: boolean;
|
|
23
|
+
labeled: boolean;
|
|
24
|
+
range: boolean;
|
|
25
|
+
get nameStart(): string;
|
|
26
|
+
set nameStart(name: string);
|
|
27
|
+
get nameEnd(): string;
|
|
28
|
+
set nameEnd(name: string);
|
|
29
|
+
protected readonly inputStart: HTMLInputElement | null;
|
|
30
|
+
protected readonly inputEnd: HTMLInputElement | null;
|
|
31
|
+
protected readonly handleStart: HTMLDivElement | null;
|
|
32
|
+
protected readonly handleEnd: HTMLDivElement | null;
|
|
33
|
+
protected startOnTop: boolean;
|
|
34
|
+
protected handlesOverlapping: boolean;
|
|
35
|
+
protected renderValueStart?: number;
|
|
36
|
+
protected renderValueEnd?: number;
|
|
37
|
+
protected get renderAriaLabelStart(): string;
|
|
38
|
+
protected get renderAriaValueTextStart(): string;
|
|
39
|
+
protected get renderAriaLabelEnd(): string;
|
|
40
|
+
protected get renderAriaValueTextEnd(): string;
|
|
41
|
+
protected renderInput({ start, value, ariaLabel, ariaValueText, ariaMin, ariaMax, }: {
|
|
42
|
+
start: boolean;
|
|
43
|
+
value?: number;
|
|
44
|
+
ariaLabel: string;
|
|
45
|
+
ariaValueText: string;
|
|
46
|
+
ariaMin: number;
|
|
47
|
+
ariaMax: number;
|
|
48
|
+
}): import("lit-html").TemplateResult<1>;
|
|
49
|
+
private isRedispatchingEvent;
|
|
50
|
+
private action?;
|
|
51
|
+
ariaLabel: string | null;
|
|
52
|
+
ariaValueText: string | null;
|
|
53
|
+
constructor();
|
|
54
|
+
focus(): void;
|
|
55
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
56
|
+
protected updated(changed: PropertyValues): void;
|
|
57
|
+
protected handleFocus(event: Event): void;
|
|
58
|
+
protected handleKeydown(event: KeyboardEvent): void;
|
|
59
|
+
protected handleKeyup(event: KeyboardEvent): void;
|
|
60
|
+
protected handleDown(event: PointerEvent): void;
|
|
61
|
+
protected handleUp(event: PointerEvent): Promise<void>;
|
|
62
|
+
protected handleInput(event: InputEvent): void;
|
|
63
|
+
protected handleChange(event: Event): void;
|
|
64
|
+
private startAction;
|
|
65
|
+
private finishAction;
|
|
66
|
+
private updateOnTop;
|
|
67
|
+
private needsClamping;
|
|
68
|
+
private isActionFlipped;
|
|
69
|
+
private flipAction;
|
|
70
|
+
private clampAction;
|
|
71
|
+
formResetCallback(): void;
|
|
72
|
+
formStateRestoreCallback(state: string | Array<[string, string]> | null): void;
|
|
73
|
+
protected updateFormValue(): void;
|
|
74
|
+
}
|
|
75
|
+
export {};
|