material 3.3.2 → 3.3.4
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/README.md +2 -2
- package/dist/components/menu/features/controller.js +23 -75
- package/dist/components/menu/features/opener.js +3 -15
- package/dist/components/menu/types.d.ts +1 -0
- package/dist/components/slider/config.js +0 -46
- package/dist/components/slider/features/controller.js +805 -171
- package/dist/components/slider/features/dom.js +29 -62
- package/dist/components/slider/features/index.js +1 -3
- package/dist/components/slider/features/states.js +2 -30
- package/dist/components/slider/slider.js +3 -6
- package/dist/components/slider/types.d.ts +0 -26
- package/dist/components/split-button/features/menu-on-demand.js +141 -0
- package/dist/components/split-button/features/menu.js +3 -4
- package/dist/core/canvas/resize.d.ts +1 -1
- package/dist/core/canvas/resize.js +24 -11
- package/dist/core/dom/classes.js +17 -118
- package/dist/core/dom/create.d.ts +0 -2
- package/dist/core/dom/create.js +0 -72
- package/dist/core/utils/mobile.js +9 -29
- package/dist/elements/preupgrade/badge.css +1 -1
- package/dist/elements/preupgrade/bottom-app-bar.css +1 -1
- package/dist/elements/preupgrade/bottom-sheet.css +1 -1
- package/dist/elements/preupgrade/button-group.css +1 -1
- package/dist/elements/preupgrade/button.css +1 -1
- package/dist/elements/preupgrade/card.css +1 -1
- package/dist/elements/preupgrade/carousel.css +1 -1
- package/dist/elements/preupgrade/checkbox.css +1 -1
- package/dist/elements/preupgrade/chips.css +1 -1
- package/dist/elements/preupgrade/datepicker.css +1 -1
- package/dist/elements/preupgrade/dialog.css +1 -1
- package/dist/elements/preupgrade/divider.css +1 -1
- package/dist/elements/preupgrade/drawer.css +1 -1
- package/dist/elements/preupgrade/extended-fab.css +1 -1
- package/dist/elements/preupgrade/fab-menu.css +1 -1
- package/dist/elements/preupgrade/fab.css +1 -1
- package/dist/elements/preupgrade/icon-button.css +1 -1
- package/dist/elements/preupgrade/list.css +1 -1
- package/dist/elements/preupgrade/loading-indicator.css +1 -1
- package/dist/elements/preupgrade/menu.css +1 -1
- package/dist/elements/preupgrade/navigation-bar.css +1 -1
- package/dist/elements/preupgrade/navigation-rail.css +1 -1
- package/dist/elements/preupgrade/progress.css +1 -1
- package/dist/elements/preupgrade/radios.css +1 -1
- package/dist/elements/preupgrade/search.css +1 -1
- package/dist/elements/preupgrade/select.css +1 -1
- package/dist/elements/preupgrade/side-sheet.css +1 -1
- package/dist/elements/preupgrade/slider.css +1 -1
- package/dist/elements/preupgrade/snackbar.css +1 -1
- package/dist/elements/preupgrade/split-button.css +1 -1
- package/dist/elements/preupgrade/switch.css +1 -1
- package/dist/elements/preupgrade/tabs.css +1 -1
- package/dist/elements/preupgrade/text-field.css +1 -1
- package/dist/elements/preupgrade/timepicker.css +1 -1
- package/dist/elements/preupgrade/toolbar.css +1 -1
- package/dist/elements/preupgrade/tooltip.css +1 -1
- package/dist/elements/preupgrade/top-app-bar.css +1 -1
- package/dist/elements/preupgrade.css +1 -1
- package/dist/package.json +1 -1
- package/dist/styles/badge.css +1 -1
- package/dist/styles/base.css +1 -1
- package/dist/styles/bottom-app-bar.css +1 -1
- package/dist/styles/bottom-sheet.css +1 -1
- package/dist/styles/button-group.css +1 -1
- package/dist/styles/button.css +1 -1
- package/dist/styles/card.css +1 -1
- package/dist/styles/carousel.css +1 -1
- package/dist/styles/checkbox.css +1 -1
- package/dist/styles/chips.css +1 -1
- package/dist/styles/contrast.css +1 -1
- package/dist/styles/datepicker.css +1 -1
- package/dist/styles/dialog.css +1 -1
- package/dist/styles/divider.css +1 -1
- package/dist/styles/drawer.css +1 -1
- package/dist/styles/extended-fab.css +1 -1
- package/dist/styles/fab-menu.css +1 -1
- package/dist/styles/fab.css +1 -1
- package/dist/styles/icon-button.css +1 -1
- package/dist/styles/list.css +1 -1
- package/dist/styles/loading-indicator.css +1 -1
- package/dist/styles/menu.css +1 -1
- package/dist/styles/navigation-bar.css +1 -1
- package/dist/styles/navigation-rail.css +1 -1
- package/dist/styles/progress.css +1 -1
- package/dist/styles/radios.css +1 -1
- package/dist/styles/search.css +1 -1
- package/dist/styles/select.css +1 -1
- package/dist/styles/side-sheet.css +1 -1
- package/dist/styles/slider.css +1 -1
- package/dist/styles/snackbar.css +1 -1
- package/dist/styles/split-button.css +1 -1
- package/dist/styles/switch.css +1 -1
- package/dist/styles/tabs.css +1 -1
- package/dist/styles/text-field.css +1 -1
- package/dist/styles/timepicker.css +1 -1
- package/dist/styles/toolbar.css +1 -1
- package/dist/styles/tooltip.css +1 -1
- package/dist/styles/top-app-bar.css +1 -1
- package/dist/styles/typography.css +1 -1
- package/dist/styles/utilities.css +1 -1
- package/dist/styles.css +1 -1
- package/dist/themes/autumn-contrast.css +1 -1
- package/dist/themes/autumn.css +1 -1
- package/dist/themes/baseline-contrast.css +1 -1
- package/dist/themes/baseline.css +1 -1
- package/dist/themes/brownbeige-contrast.css +1 -1
- package/dist/themes/brownbeige.css +1 -1
- package/dist/themes/content-contrast.css +1 -1
- package/dist/themes/content.css +1 -1
- package/dist/themes/desert-contrast.css +1 -1
- package/dist/themes/desert.css +1 -1
- package/dist/themes/expressive-contrast.css +1 -1
- package/dist/themes/expressive.css +1 -1
- package/dist/themes/fidelity-contrast.css +1 -1
- package/dist/themes/fidelity.css +1 -1
- package/dist/themes/forest-contrast.css +1 -1
- package/dist/themes/forest.css +1 -1
- package/dist/themes/fruit-salad-contrast.css +1 -1
- package/dist/themes/fruit-salad.css +1 -1
- package/dist/themes/highcontrast-contrast.css +1 -1
- package/dist/themes/highcontrast.css +1 -1
- package/dist/themes/monochrome-contrast.css +1 -1
- package/dist/themes/monochrome.css +1 -1
- package/dist/themes/neutral-contrast.css +1 -1
- package/dist/themes/neutral.css +1 -1
- package/dist/themes/ocean-contrast.css +1 -1
- package/dist/themes/ocean.css +1 -1
- package/dist/themes/rainbow-contrast.css +1 -1
- package/dist/themes/rainbow.css +1 -1
- package/dist/themes/sageivory-contrast.css +1 -1
- package/dist/themes/sageivory.css +1 -1
- package/dist/themes/spring-contrast.css +1 -1
- package/dist/themes/spring.css +1 -1
- package/dist/themes/summer-contrast.css +1 -1
- package/dist/themes/summer.css +1 -1
- package/dist/themes/sunset-contrast.css +1 -1
- package/dist/themes/sunset.css +1 -1
- package/dist/themes/tealcaramel-contrast.css +1 -1
- package/dist/themes/tealcaramel.css +1 -1
- package/dist/themes/vibrant-contrast.css +1 -1
- package/dist/themes/vibrant.css +1 -1
- package/package.json +1 -1
- package/dist/components/badge/types.js +0 -1
- package/dist/components/bottom-app-bar/types.js +0 -1
- package/dist/components/bottom-sheet/types.js +0 -1
- package/dist/components/button/types.js +0 -1
- package/dist/components/button-group/types.js +0 -1
- package/dist/components/card/features.js +0 -217
- package/dist/components/card/types.js +0 -1
- package/dist/components/carousel/types.js +0 -1
- package/dist/components/checkbox/types.js +0 -1
- package/dist/components/chips/chip/constants.js +0 -18
- package/dist/components/chips/chip/index.js +0 -1
- package/dist/components/chips/schema.js +0 -46
- package/dist/components/chips/types.js +0 -1
- package/dist/components/dialog/types.js +0 -1
- package/dist/components/divider/types.js +0 -1
- package/dist/components/drawer/types.js +0 -1
- package/dist/components/extended-fab/types.js +0 -1
- package/dist/components/fab/types.js +0 -1
- package/dist/components/fab-menu/types.js +0 -1
- package/dist/components/icon-button/types.js +0 -1
- package/dist/components/list/types.js +0 -1
- package/dist/components/loading-indicator/types.js +0 -1
- package/dist/components/menu/types.js +0 -14
- package/dist/components/navigation-bar/types.js +0 -1
- package/dist/components/navigation-rail/types.js +0 -1
- package/dist/components/progress/features/index.js +0 -4
- package/dist/components/progress/features/resize-observer.js +0 -40
- package/dist/components/progress/types.js +0 -1
- package/dist/components/radios/types.js +0 -1
- package/dist/components/search/types.js +0 -1
- package/dist/components/select/types.js +0 -4
- package/dist/components/side-sheet/types.js +0 -1
- package/dist/components/slider/api.js +0 -108
- package/dist/components/slider/features/handlers.js +0 -379
- package/dist/components/slider/features/range.js +0 -70
- package/dist/components/slider/features/tracks.js +0 -287
- package/dist/components/snackbar/types.js +0 -1
- package/dist/components/split-button/types.js +0 -1
- package/dist/components/switch/types.js +0 -1
- package/dist/components/tabs/scroll-indicators.js +0 -78
- package/dist/components/tabs/state.js +0 -44
- package/dist/components/tabs/types.js +0 -1
- package/dist/components/text-field/types.js +0 -18
- package/dist/components/toolbar/types.js +0 -1
- package/dist/components/top-app-bar/types.js +0 -1
- package/dist/core/utils/validate.js +0 -114
- package/dist/react/jsx.js +0 -2
- package/dist/solid/jsx.js +0 -1
package/README.md
CHANGED
|
@@ -91,10 +91,10 @@ What a bundler keeps, minified and gzipped (kB is 1,000 bytes), measured from th
|
|
|
91
91
|
<!-- sizes -->
|
|
92
92
|
| Import | gzip |
|
|
93
93
|
|--------|-----:|
|
|
94
|
-
| `createButton` from `material`, with code splitting: the initial chunks (the progress indicator loads on demand) | 7.
|
|
94
|
+
| `createButton` from `material`, with code splitting: the initial chunks (the progress indicator loads on demand) | 7.6 kB |
|
|
95
95
|
| `createButton`, without code splitting (the progress indicator included) | 13.9 kB |
|
|
96
96
|
| `createButton`, `createTextField` and `createCheckbox`, without code splitting | 20.2 kB |
|
|
97
|
-
| Everything the root exports (`export * from 'material'`), without code splitting | 127.
|
|
97
|
+
| Everything the root exports (`export * from 'material'`), without code splitting | 127.1 kB |
|
|
98
98
|
| `material/styles/base` | 2.9 kB |
|
|
99
99
|
| `material/styles/base` and `material/styles/button` | 5.2 kB |
|
|
100
100
|
| `material/styles`, the full stylesheet | 63.7 kB |
|
|
@@ -45,23 +45,11 @@ const withController = (config, getComponent) => (component) => {
|
|
|
45
45
|
return eventData;
|
|
46
46
|
},
|
|
47
47
|
};
|
|
48
|
-
const getOpenerElement = () =>
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (typeof opener === "string") {
|
|
54
|
-
const element = document.querySelector(opener);
|
|
55
|
-
if (!element) {
|
|
56
|
-
console.warn(`Menu opener not found: ${opener}`);
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
return element;
|
|
60
|
-
}
|
|
61
|
-
if (typeof opener === "object" && opener !== null && "element" in opener) {
|
|
62
|
-
return opener.element;
|
|
63
|
-
}
|
|
64
|
-
return opener;
|
|
48
|
+
const getOpenerElement = () => getComponent().getOpener() ?? null;
|
|
49
|
+
const reposition = () => {
|
|
50
|
+
const opener = getOpenerElement();
|
|
51
|
+
if (opener)
|
|
52
|
+
component.position?.positionMenu(opener);
|
|
65
53
|
};
|
|
66
54
|
const createMenuItem = (item, index) => {
|
|
67
55
|
const itemElement = document.createElement("li");
|
|
@@ -287,10 +275,7 @@ const withController = (config, getComponent) => (component) => {
|
|
|
287
275
|
if (topLayer)
|
|
288
276
|
showInTopLayer(component.element, { kind: "popover-manual" });
|
|
289
277
|
showTimer = tasks.setTimeout(() => {
|
|
290
|
-
|
|
291
|
-
if (openerElement && component.position) {
|
|
292
|
-
component.position.positionMenu(openerElement);
|
|
293
|
-
}
|
|
278
|
+
reposition();
|
|
294
279
|
component.element.setAttribute("aria-hidden", "false");
|
|
295
280
|
component.element.style.transform = "";
|
|
296
281
|
component.element.style.opacity = "";
|
|
@@ -298,24 +283,7 @@ const withController = (config, getComponent) => (component) => {
|
|
|
298
283
|
component.element.classList.add(`${component.getClass("menu--visible")}`);
|
|
299
284
|
if (!listbox)
|
|
300
285
|
focusTimer = tasks.setTimeout(() => {
|
|
301
|
-
|
|
302
|
-
component.keyboard.handleInitialFocus(component.element, interactionType);
|
|
303
|
-
}
|
|
304
|
-
else {
|
|
305
|
-
const items = Array.from(component.element.querySelectorAll(`.${component.getClass("menu__item")}`));
|
|
306
|
-
items.forEach((item) => {
|
|
307
|
-
item.tabIndex = -1;
|
|
308
|
-
});
|
|
309
|
-
if (items.length > 0)
|
|
310
|
-
items[0].tabIndex = 0;
|
|
311
|
-
if (interactionType === "keyboard" && items.length > 0) {
|
|
312
|
-
items[0].focus();
|
|
313
|
-
}
|
|
314
|
-
else {
|
|
315
|
-
component.element.tabIndex = -1;
|
|
316
|
-
component.element.focus();
|
|
317
|
-
}
|
|
318
|
-
}
|
|
286
|
+
component.keyboard?.handleInitialFocus(component.element, interactionType);
|
|
319
287
|
}, 100);
|
|
320
288
|
window.addEventListener("resize", handleWindowResize, {
|
|
321
289
|
passive: true,
|
|
@@ -406,26 +374,18 @@ const withController = (config, getComponent) => (component) => {
|
|
|
406
374
|
}
|
|
407
375
|
}
|
|
408
376
|
else if (isTargetInsideSubmenu) {
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
});
|
|
415
|
-
}
|
|
416
|
-
else if (e.key === "Escape") {
|
|
417
|
-
e.preventDefault();
|
|
418
|
-
closeMenu(e, true);
|
|
419
|
-
}
|
|
377
|
+
component.keyboard?.handleMenuKeydown(e, state, {
|
|
378
|
+
closeMenu,
|
|
379
|
+
findItemById,
|
|
380
|
+
...submenuActions,
|
|
381
|
+
});
|
|
420
382
|
}
|
|
421
383
|
else {
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
});
|
|
428
|
-
}
|
|
384
|
+
component.keyboard?.handleMenuKeydown(e, state, {
|
|
385
|
+
closeMenu,
|
|
386
|
+
findItemById,
|
|
387
|
+
...submenuActions,
|
|
388
|
+
});
|
|
429
389
|
}
|
|
430
390
|
}
|
|
431
391
|
};
|
|
@@ -435,10 +395,7 @@ const withController = (config, getComponent) => (component) => {
|
|
|
435
395
|
closeMenu(undefined, true);
|
|
436
396
|
}
|
|
437
397
|
else {
|
|
438
|
-
|
|
439
|
-
if (openerElement && component.position) {
|
|
440
|
-
component.position.positionMenu(openerElement);
|
|
441
|
-
}
|
|
398
|
+
reposition();
|
|
442
399
|
}
|
|
443
400
|
}
|
|
444
401
|
};
|
|
@@ -447,19 +404,13 @@ const withController = (config, getComponent) => (component) => {
|
|
|
447
404
|
return;
|
|
448
405
|
if (state.visible) {
|
|
449
406
|
tasks.requestAnimationFrame(() => {
|
|
450
|
-
|
|
451
|
-
if (openerElement && component.position) {
|
|
452
|
-
component.position.positionMenu(openerElement);
|
|
453
|
-
}
|
|
407
|
+
reposition();
|
|
454
408
|
});
|
|
455
409
|
}
|
|
456
410
|
};
|
|
457
411
|
const initMenu = () => {
|
|
458
412
|
if (state.visible) {
|
|
459
|
-
|
|
460
|
-
if (openerElement && component.position) {
|
|
461
|
-
component.position.positionMenu(openerElement);
|
|
462
|
-
}
|
|
413
|
+
reposition();
|
|
463
414
|
component.element.classList.add(`${component.getClass("menu--visible")}`);
|
|
464
415
|
if (config.closeOnClickOutside) {
|
|
465
416
|
document.addEventListener("click", handleDocumentClick);
|
|
@@ -493,8 +444,8 @@ const withController = (config, getComponent) => (component) => {
|
|
|
493
444
|
});
|
|
494
445
|
});
|
|
495
446
|
renderMenuItems();
|
|
496
|
-
if (!listbox
|
|
497
|
-
component.keyboard
|
|
447
|
+
if (!listbox) {
|
|
448
|
+
component.keyboard?.setupKeyboardHandlers(component.element, state, {
|
|
498
449
|
closeMenu,
|
|
499
450
|
findItemById,
|
|
500
451
|
...submenuActions,
|
|
@@ -550,10 +501,7 @@ const withController = (config, getComponent) => (component) => {
|
|
|
550
501
|
setPosition: (position) => {
|
|
551
502
|
state.position = position;
|
|
552
503
|
if (state.visible) {
|
|
553
|
-
|
|
554
|
-
if (openerElement && component.position) {
|
|
555
|
-
component.position.positionMenu(openerElement);
|
|
556
|
-
}
|
|
504
|
+
reposition();
|
|
557
505
|
}
|
|
558
506
|
return component;
|
|
559
507
|
},
|
|
@@ -2,16 +2,7 @@ import { createMenuTasks } from "./tasks.js";
|
|
|
2
2
|
import { focusWithin } from "./layer.js";
|
|
3
3
|
const withOpener = (config) => (component) => {
|
|
4
4
|
const tasks = createMenuTasks();
|
|
5
|
-
|
|
6
|
-
let tabTimeout = null;
|
|
7
|
-
const handleTabKey = (e) => {
|
|
8
|
-
isTabNavigation = e.key === "Tab";
|
|
9
|
-
tasks.clearTimeout(tabTimeout);
|
|
10
|
-
tabTimeout = tasks.setTimeout(() => {
|
|
11
|
-
isTabNavigation = false;
|
|
12
|
-
}, 100);
|
|
13
|
-
};
|
|
14
|
-
document.addEventListener("keydown", handleTabKey);
|
|
5
|
+
const isTabNavigationActive = () => component.keyboard?.isTabNavigationActive?.() ?? false;
|
|
15
6
|
const state = {
|
|
16
7
|
openerElement: null,
|
|
17
8
|
openerComponent: null,
|
|
@@ -203,7 +194,7 @@ const withOpener = (config) => (component) => {
|
|
|
203
194
|
if (!component.menu || !component.menu.isOpen())
|
|
204
195
|
return;
|
|
205
196
|
const relatedTarget = e.relatedTarget;
|
|
206
|
-
if (
|
|
197
|
+
if (isTabNavigationActive()) {
|
|
207
198
|
tasks.setTimeout(() => {
|
|
208
199
|
if (component.menu && component.menu.isOpen()) {
|
|
209
200
|
component.menu.close(e, false);
|
|
@@ -228,8 +219,6 @@ const withOpener = (config) => (component) => {
|
|
|
228
219
|
};
|
|
229
220
|
const cleanup = () => {
|
|
230
221
|
tasks.cancelAll();
|
|
231
|
-
tabTimeout = null;
|
|
232
|
-
isTabNavigation = false;
|
|
233
222
|
if (state.openerElement) {
|
|
234
223
|
if (!config.manualOpen) {
|
|
235
224
|
state.openerElement.removeEventListener("click", handleOpenerClick);
|
|
@@ -254,7 +243,6 @@ const withOpener = (config) => (component) => {
|
|
|
254
243
|
if (tasks.destroyed)
|
|
255
244
|
return;
|
|
256
245
|
tasks.destroy();
|
|
257
|
-
document.removeEventListener("keydown", handleTabKey);
|
|
258
246
|
cleanup();
|
|
259
247
|
originalDestroy.call(component.lifecycle);
|
|
260
248
|
};
|
|
@@ -269,7 +257,7 @@ const withOpener = (config) => (component) => {
|
|
|
269
257
|
if (state.openerElement && !config.listbox) {
|
|
270
258
|
state.openerElement.setAttribute("aria-expanded", "false");
|
|
271
259
|
setOpenerActive(false);
|
|
272
|
-
if (event.restoreFocus && !
|
|
260
|
+
if (event.restoreFocus && !isTabNavigationActive()) {
|
|
273
261
|
restoreFocusToOpener();
|
|
274
262
|
}
|
|
275
263
|
}
|
|
@@ -165,6 +165,7 @@ export interface MenuFeatureHost {
|
|
|
165
165
|
removeKeyboardHandlers: (element: HTMLElement) => void;
|
|
166
166
|
handleMenuKeydown: (e: KeyboardEvent, state: KeyboardMenuState, actions: KeyboardActions) => void;
|
|
167
167
|
handleInitialFocus: (menuElement: HTMLElement, interactionType: "keyboard" | "mouse") => void;
|
|
168
|
+
isTabNavigationActive: () => boolean;
|
|
168
169
|
};
|
|
169
170
|
submenu?: {
|
|
170
171
|
handleSubmenuClick: (item: MenuItem, index: number, itemElement: HTMLElement) => void;
|
|
@@ -62,49 +62,3 @@ export const getElementConfig = (config) => {
|
|
|
62
62
|
interactive: true,
|
|
63
63
|
});
|
|
64
64
|
};
|
|
65
|
-
export const getApiConfig = (comp) => ({
|
|
66
|
-
slider: {
|
|
67
|
-
setValue: (v, t) => comp.slider?.setValue(v, t),
|
|
68
|
-
getValue: () => comp.slider?.getValue() ?? 0,
|
|
69
|
-
setSecondValue: (v, t) => comp.slider?.setSecondValue(v, t),
|
|
70
|
-
getSecondValue: () => comp.slider?.getSecondValue() ?? null,
|
|
71
|
-
setMin: (m) => comp.slider?.setMin(m),
|
|
72
|
-
getMin: () => comp.slider?.getMin() ?? 0,
|
|
73
|
-
setMax: (m) => comp.slider?.setMax(m),
|
|
74
|
-
getMax: () => comp.slider?.getMax() ?? 100,
|
|
75
|
-
setStep: (s) => comp.slider?.setStep(s),
|
|
76
|
-
getStep: () => comp.slider?.getStep() ?? 1,
|
|
77
|
-
regenerateTicks: () => comp.slider?.regenerateTicks?.(),
|
|
78
|
-
},
|
|
79
|
-
disabled: {
|
|
80
|
-
enable: () => comp.disabled?.enable?.(),
|
|
81
|
-
disable: () => comp.disabled?.disable?.(),
|
|
82
|
-
isDisabled: () => comp.disabled?.isDisabled?.() ?? false,
|
|
83
|
-
},
|
|
84
|
-
appearance: {
|
|
85
|
-
setColor: (c) => comp.appearance?.setColor?.(c),
|
|
86
|
-
getColor: () => comp.appearance?.getColor?.() ?? "primary",
|
|
87
|
-
setSize: (s) => comp.setSize?.(s),
|
|
88
|
-
getSize: () => comp.getSize?.() ?? "XS",
|
|
89
|
-
showTicks: (s) => comp.appearance?.showTicks?.(s),
|
|
90
|
-
showCurrentValue: (s) => comp.appearance?.showCurrentValue?.(s),
|
|
91
|
-
},
|
|
92
|
-
text: {
|
|
93
|
-
setText: (t) => comp.label?.setText?.(t),
|
|
94
|
-
getText: () => comp.label?.getText?.() ?? "",
|
|
95
|
-
},
|
|
96
|
-
icon: {
|
|
97
|
-
setIcon: (h) => comp.icon?.setIcon?.(h),
|
|
98
|
-
getIcon: () => comp.icon?.getIcon?.() ?? "",
|
|
99
|
-
},
|
|
100
|
-
insetIcon: {
|
|
101
|
-
setInsetIcon: (icon, atMin) => comp.setInsetIcon?.(icon, atMin),
|
|
102
|
-
},
|
|
103
|
-
events: {
|
|
104
|
-
on: (e, h) => comp.on?.(e, h),
|
|
105
|
-
off: (e, h) => comp.off?.(e, h),
|
|
106
|
-
},
|
|
107
|
-
lifecycle: {
|
|
108
|
-
destroy: () => comp.lifecycle?.destroy?.(),
|
|
109
|
-
},
|
|
110
|
-
});
|