@duetds/components 6.0.3 → 6.0.5
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/hydrate/index.js +77 -70
- package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
- package/lib/cjs/duet-alert.cjs.entry.js +1 -1
- package/lib/cjs/duet-badge.cjs.entry.js +1 -1
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
- package/lib/cjs/duet-button_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
- package/lib/cjs/duet-card.cjs.entry.js +3 -3
- package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
- package/lib/cjs/duet-choice_2.cjs.entry.js +10 -9
- package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
- package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
- package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
- package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +17 -14
- package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
- package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
- package/lib/cjs/duet-footer.cjs.entry.js +1 -1
- package/lib/cjs/duet-grid_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-header_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-hero.cjs.entry.js +1 -1
- package/lib/cjs/duet-icon.cjs.entry.js +3 -3
- package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-modal.cjs.entry.js +2 -2
- package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
- package/lib/cjs/duet-pagination_2.cjs.entry.js +25 -27
- package/lib/cjs/duet-progress.cjs.entry.js +1 -1
- package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
- package/lib/cjs/duet-select.cjs.entry.js +1 -1
- package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
- package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
- package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
- package/lib/cjs/duet-tray.cjs.entry.js +2 -2
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
- package/lib/cjs/duet.cjs.js +1 -1
- package/lib/cjs/{focus-utils-15207057.js → focus-utils-bbba1f98.js} +1 -1
- package/lib/cjs/{index-28a9133b.js → index-af927d29.js} +1 -1
- package/lib/cjs/loader.cjs.js +1 -1
- package/lib/cjs/{token-utils-fef5b4eb.js → token-utils-f6e2f4ef.js} +1 -1
- package/lib/cjs/{tokens-29450bcb.js → tokens-4c69b122.js} +18 -15
- package/lib/cjs/{tokens.module-ef598645.js → tokens.module-1bb2d45e.js} +12 -10
- package/lib/collection/components/duet-choice/duet-choice.js +4 -4
- package/lib/collection/components/duet-choice-group/duet-choice-group.js +4 -3
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +25 -27
- package/lib/collection/components/duet-upload/duet-upload.js +18 -15
- package/lib/dist-custom-elements/duet-action-button.d.ts +11 -0
- package/lib/dist-custom-elements/duet-action-button.js +9 -0
- package/lib/dist-custom-elements/duet-alert.d.ts +11 -0
- package/lib/dist-custom-elements/duet-alert.js +9 -0
- package/lib/dist-custom-elements/duet-badge.d.ts +11 -0
- package/lib/dist-custom-elements/duet-badge.js +9 -0
- package/lib/dist-custom-elements/duet-breadcrumb.d.ts +11 -0
- package/lib/dist-custom-elements/duet-breadcrumb.js +73 -0
- package/lib/dist-custom-elements/duet-breadcrumbs.d.ts +11 -0
- package/lib/dist-custom-elements/duet-breadcrumbs.js +90 -0
- package/lib/dist-custom-elements/duet-button.d.ts +11 -0
- package/lib/dist-custom-elements/duet-button.js +9 -0
- package/lib/dist-custom-elements/duet-caption.d.ts +11 -0
- package/lib/dist-custom-elements/duet-caption.js +9 -0
- package/lib/dist-custom-elements/duet-card.d.ts +11 -0
- package/lib/dist-custom-elements/duet-card.js +190 -0
- package/lib/dist-custom-elements/duet-checkbox.d.ts +11 -0
- package/lib/dist-custom-elements/duet-checkbox.js +163 -0
- package/lib/dist-custom-elements/duet-choice-group.d.ts +11 -0
- package/lib/dist-custom-elements/duet-choice-group.js +227 -0
- package/lib/dist-custom-elements/duet-choice.d.ts +11 -0
- package/lib/dist-custom-elements/duet-choice.js +390 -0
- package/lib/dist-custom-elements/duet-collapsible.d.ts +11 -0
- package/lib/dist-custom-elements/duet-collapsible.js +170 -0
- package/lib/dist-custom-elements/duet-combobox.d.ts +11 -0
- package/lib/dist-custom-elements/duet-combobox.js +432 -0
- package/lib/dist-custom-elements/duet-cookie-consent.d.ts +11 -0
- package/lib/dist-custom-elements/duet-cookie-consent.js +94 -0
- package/lib/dist-custom-elements/duet-date-picker.d.ts +11 -0
- package/lib/dist-custom-elements/duet-date-picker.js +906 -0
- package/lib/dist-custom-elements/duet-divider.d.ts +11 -0
- package/lib/dist-custom-elements/duet-divider.js +9 -0
- package/lib/dist-custom-elements/duet-editable-table.d.ts +11 -0
- package/lib/dist-custom-elements/duet-editable-table.js +9 -0
- package/lib/dist-custom-elements/duet-empty-state.d.ts +11 -0
- package/lib/dist-custom-elements/duet-empty-state.js +9 -0
- package/lib/dist-custom-elements/duet-fieldset.d.ts +11 -0
- package/lib/dist-custom-elements/duet-fieldset.js +9 -0
- package/lib/dist-custom-elements/duet-footer.d.ts +11 -0
- package/lib/dist-custom-elements/duet-footer.js +199 -0
- package/lib/dist-custom-elements/duet-grid-item.d.ts +11 -0
- package/lib/dist-custom-elements/duet-grid-item.js +9 -0
- package/lib/dist-custom-elements/duet-grid.d.ts +11 -0
- package/lib/dist-custom-elements/duet-grid.js +9 -0
- package/lib/dist-custom-elements/duet-header.d.ts +11 -0
- package/lib/dist-custom-elements/duet-header.js +764 -0
- package/lib/dist-custom-elements/duet-heading.d.ts +11 -0
- package/lib/dist-custom-elements/duet-heading.js +9 -0
- package/lib/dist-custom-elements/duet-hero.d.ts +11 -0
- package/lib/dist-custom-elements/duet-hero.js +314 -0
- package/lib/dist-custom-elements/duet-icon.d.ts +11 -0
- package/lib/dist-custom-elements/duet-icon.js +9 -0
- package/lib/dist-custom-elements/duet-input.d.ts +11 -0
- package/lib/dist-custom-elements/duet-input.js +9 -0
- package/lib/dist-custom-elements/duet-label.d.ts +11 -0
- package/lib/dist-custom-elements/duet-label.js +9 -0
- package/lib/dist-custom-elements/duet-layout.d.ts +11 -0
- package/lib/dist-custom-elements/duet-layout.js +107 -0
- package/lib/dist-custom-elements/duet-link.d.ts +11 -0
- package/lib/dist-custom-elements/duet-link.js +9 -0
- package/lib/dist-custom-elements/duet-list-item.d.ts +11 -0
- package/lib/dist-custom-elements/duet-list-item.js +9 -0
- package/lib/dist-custom-elements/duet-list.d.ts +11 -0
- package/lib/dist-custom-elements/duet-list.js +9 -0
- package/lib/dist-custom-elements/duet-logo.d.ts +11 -0
- package/lib/dist-custom-elements/duet-logo.js +9 -0
- package/lib/dist-custom-elements/duet-modal.d.ts +11 -0
- package/lib/dist-custom-elements/duet-modal.js +331 -0
- package/lib/dist-custom-elements/duet-notification-drawer.d.ts +11 -0
- package/lib/dist-custom-elements/duet-notification-drawer.js +194 -0
- package/lib/dist-custom-elements/duet-notification.d.ts +11 -0
- package/lib/dist-custom-elements/duet-notification.js +114 -0
- package/lib/dist-custom-elements/duet-number-input.d.ts +11 -0
- package/lib/dist-custom-elements/duet-number-input.js +516 -0
- package/lib/dist-custom-elements/duet-pagination.d.ts +11 -0
- package/lib/dist-custom-elements/duet-pagination.js +396 -0
- package/lib/dist-custom-elements/duet-paragraph.d.ts +11 -0
- package/lib/dist-custom-elements/duet-paragraph.js +9 -0
- package/lib/dist-custom-elements/duet-progress.d.ts +11 -0
- package/lib/dist-custom-elements/duet-progress.js +9 -0
- package/lib/dist-custom-elements/duet-radio-group.d.ts +11 -0
- package/lib/dist-custom-elements/duet-radio-group.js +216 -0
- package/lib/dist-custom-elements/duet-radio.d.ts +11 -0
- package/lib/dist-custom-elements/duet-radio.js +167 -0
- package/lib/dist-custom-elements/duet-range-slider.d.ts +11 -0
- package/lib/dist-custom-elements/duet-range-slider.js +209 -0
- package/lib/dist-custom-elements/duet-range-stepper.d.ts +11 -0
- package/lib/dist-custom-elements/duet-range-stepper.js +223 -0
- package/lib/dist-custom-elements/duet-scrollable.d.ts +11 -0
- package/lib/dist-custom-elements/duet-scrollable.js +9 -0
- package/lib/dist-custom-elements/duet-select.d.ts +11 -0
- package/lib/dist-custom-elements/duet-select.js +9 -0
- package/lib/dist-custom-elements/duet-spacer.d.ts +11 -0
- package/lib/dist-custom-elements/duet-spacer.js +9 -0
- package/lib/dist-custom-elements/duet-spinner.d.ts +11 -0
- package/lib/dist-custom-elements/duet-spinner.js +9 -0
- package/lib/dist-custom-elements/duet-step.d.ts +11 -0
- package/lib/dist-custom-elements/duet-step.js +150 -0
- package/lib/dist-custom-elements/duet-stepper.d.ts +11 -0
- package/lib/dist-custom-elements/duet-stepper.js +164 -0
- package/lib/dist-custom-elements/duet-tab-group.d.ts +11 -0
- package/lib/dist-custom-elements/duet-tab-group.js +301 -0
- package/lib/dist-custom-elements/duet-tab.d.ts +11 -0
- package/lib/dist-custom-elements/duet-tab.js +59 -0
- package/lib/dist-custom-elements/duet-table.d.ts +11 -0
- package/lib/dist-custom-elements/duet-table.js +9 -0
- package/lib/dist-custom-elements/duet-textarea.d.ts +11 -0
- package/lib/dist-custom-elements/duet-textarea.js +297 -0
- package/lib/dist-custom-elements/duet-toggle.d.ts +11 -0
- package/lib/dist-custom-elements/duet-toggle.js +150 -0
- package/lib/dist-custom-elements/duet-tooltip.d.ts +11 -0
- package/lib/dist-custom-elements/duet-tooltip.js +9 -0
- package/lib/dist-custom-elements/duet-tray.d.ts +11 -0
- package/lib/dist-custom-elements/duet-tray.js +175 -0
- package/lib/dist-custom-elements/duet-upload-aria-status.d.ts +11 -0
- package/lib/dist-custom-elements/duet-upload-aria-status.js +9 -0
- package/lib/dist-custom-elements/duet-upload.d.ts +11 -0
- package/lib/dist-custom-elements/duet-upload.js +1514 -0
- package/lib/dist-custom-elements/duet-visually-hidden.d.ts +11 -0
- package/lib/dist-custom-elements/duet-visually-hidden.js +9 -0
- package/lib/dist-custom-elements/index.d.ts +26 -0
- package/lib/dist-custom-elements/index.js +37 -0
- package/lib/{esm/tokens-8ff8c570.js → dist-custom-elements/p-02305a1e.js} +18 -15
- package/lib/dist-custom-elements/p-0b3f675e.js +47 -0
- package/lib/{esm/focus-utils-559691b3.js → dist-custom-elements/p-0b8f16f1.js} +1 -1
- package/lib/dist-custom-elements/p-0ce83b83.js +154 -0
- package/lib/dist-custom-elements/p-0f5b2dfe.js +287 -0
- package/lib/dist-custom-elements/p-115c79b6.js +6 -0
- package/lib/dist-custom-elements/p-12721178.js +57 -0
- package/lib/dist-custom-elements/p-166d7b9c.js +199 -0
- package/lib/dist-custom-elements/p-1ad6b04e.js +1666 -0
- package/lib/dist-custom-elements/p-21887c28.js +275 -0
- package/lib/dist-custom-elements/p-24c2ac51.js +114 -0
- package/lib/dist-custom-elements/p-266411cf.js +307 -0
- package/lib/dist-custom-elements/p-2bb345c0.js +193 -0
- package/lib/dist-custom-elements/p-32a67b55.js +87 -0
- package/lib/dist-custom-elements/p-4c52333e.js +341 -0
- package/lib/dist-custom-elements/p-4ebf1618.js +13 -0
- package/lib/dist-custom-elements/p-4f516732.js +214 -0
- package/lib/dist-custom-elements/p-53a0c93d.js +37 -0
- package/lib/dist-custom-elements/p-544d933d.js +61 -0
- package/lib/dist-custom-elements/p-56118313.js +53 -0
- package/lib/dist-custom-elements/p-56b5945f.js +160 -0
- package/lib/dist-custom-elements/p-5a9d75e1.js +55 -0
- package/lib/dist-custom-elements/p-692cc270.js +125 -0
- package/lib/dist-custom-elements/p-6cae0682.js +75 -0
- package/lib/dist-custom-elements/p-704245ef.js +9 -0
- package/lib/dist-custom-elements/p-76f00bd5.js +10 -0
- package/lib/dist-custom-elements/p-7a003d73.js +37 -0
- package/lib/dist-custom-elements/p-7f5ad01d.js +64 -0
- package/lib/{esm/token-utils-df78f4d8.js → dist-custom-elements/p-86faf728.js} +1 -1
- package/lib/dist-custom-elements/p-8f69f7ca.js +428 -0
- package/lib/dist-custom-elements/p-92012dcc.js +71 -0
- package/lib/dist-custom-elements/p-9af8e9da.js +70 -0
- package/lib/dist-custom-elements/p-a087e30a.js +86 -0
- package/lib/dist-custom-elements/p-b9058029.js +138 -0
- package/lib/dist-custom-elements/p-bd779757.js +184 -0
- package/lib/dist-custom-elements/p-c0469b33.js +133 -0
- package/lib/dist-custom-elements/p-c1325e35.js +11 -0
- package/lib/dist-custom-elements/p-c8d44e6d.js +87 -0
- package/lib/dist-custom-elements/p-cfab50b5.js +110 -0
- package/lib/dist-custom-elements/p-d004da5f.js +6 -0
- package/lib/dist-custom-elements/p-d11287e1.js +129 -0
- package/lib/dist-custom-elements/p-d4c234ed.js +390 -0
- package/lib/dist-custom-elements/p-d8549efe.js +20 -0
- package/lib/dist-custom-elements/p-db91a981.js +98 -0
- package/lib/dist-custom-elements/p-e121eb6d.js +241 -0
- package/lib/dist-custom-elements/p-ede854e1.js +92 -0
- package/lib/dist-custom-elements/p-ee9a63c3.js +65 -0
- package/lib/dist-custom-elements/p-f11208c3.js +6 -0
- package/lib/dist-custom-elements/p-f1d0dca7.js +275 -0
- package/lib/dist-custom-elements/p-fb6be4e4.js +66 -0
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/{p-4c93a18e.system.entry.js → p-01ec746a.system.entry.js} +1 -1
- package/lib/duet/p-02305a1e.js +4 -0
- package/lib/duet/{p-674e546f.system.entry.js → p-02a0c4f6.system.entry.js} +1 -1
- package/lib/duet/{p-b01e2523.entry.js → p-02fec3bd.entry.js} +1 -1
- package/lib/duet/{p-300147ad.entry.js → p-032a5071.entry.js} +1 -1
- package/lib/duet/{p-0626271f.entry.js → p-08fe21b1.entry.js} +1 -1
- package/lib/duet/{p-d0cee171.entry.js → p-0b0c7f09.entry.js} +1 -1
- package/lib/duet/{p-1931d33f.system.js → p-100c6ed7.system.js} +1 -1
- package/lib/duet/{p-dab594cf.system.entry.js → p-168a22df.system.entry.js} +1 -1
- package/lib/duet/p-1fc60a60.system.js +4 -0
- package/lib/duet/{p-bb9624c3.entry.js → p-24dafa59.entry.js} +1 -1
- package/lib/duet/{p-d444107c.system.entry.js → p-28fcab59.system.entry.js} +1 -1
- package/lib/duet/{p-db15d420.system.entry.js → p-292ab686.system.entry.js} +1 -1
- package/lib/duet/{p-de986d77.system.entry.js → p-293b8c58.system.entry.js} +1 -1
- package/lib/duet/{p-9308c1e6.entry.js → p-2c698aec.entry.js} +1 -1
- package/lib/duet/p-32f7178a.system.js +4 -0
- package/lib/duet/{p-92d95bde.system.entry.js → p-3967595b.system.entry.js} +1 -1
- package/lib/duet/{p-72443e94.system.entry.js → p-414b1ba7.system.entry.js} +1 -1
- package/lib/duet/{p-ae515c54.entry.js → p-422d7157.entry.js} +1 -1
- package/lib/duet/{p-9fcac068.system.entry.js → p-4df190b5.system.entry.js} +1 -1
- package/lib/duet/{p-c41b07d7.entry.js → p-50eb1959.entry.js} +1 -1
- package/lib/duet/{p-de3c0f4d.js → p-532e9db7.js} +1 -1
- package/lib/duet/{p-16521f2d.entry.js → p-552ce747.entry.js} +1 -1
- package/lib/duet/{p-398a79a0.js → p-588be556.js} +1 -1
- package/lib/duet/{p-b008fe25.entry.js → p-58c58219.entry.js} +1 -1
- package/lib/duet/{p-2bd79d6b.entry.js → p-5b7db3d5.entry.js} +1 -1
- package/lib/duet/{p-5d967d15.entry.js → p-5bb6f856.entry.js} +1 -1
- package/lib/duet/{p-20271117.entry.js → p-62ff683a.entry.js} +1 -1
- package/lib/duet/{p-e1654a8b.system.entry.js → p-65206bf2.system.entry.js} +1 -1
- package/lib/duet/{p-2bba6489.entry.js → p-66bb00c2.entry.js} +1 -1
- package/lib/duet/{p-49db53a1.system.entry.js → p-6cc35a71.system.entry.js} +1 -1
- package/lib/duet/{p-63dbd5af.system.entry.js → p-7431ad27.system.entry.js} +1 -1
- package/lib/duet/{p-df11c241.system.entry.js → p-74bcd39f.system.entry.js} +1 -1
- package/lib/duet/{p-e2ac0727.system.entry.js → p-76fd11ff.system.entry.js} +1 -1
- package/lib/duet/{p-339e5901.system.js → p-7871ef0a.system.js} +1 -1
- package/lib/duet/{p-1aca544d.entry.js → p-79160b90.entry.js} +1 -1
- package/lib/duet/{p-23ad5f8a.entry.js → p-7d71fd3b.entry.js} +1 -1
- package/lib/duet/{p-946aa901.system.entry.js → p-7d866e2a.system.entry.js} +1 -1
- package/lib/duet/{p-9e54127f.system.entry.js → p-83120829.system.entry.js} +1 -1
- package/lib/duet/{p-d0f72f22.js → p-85c3f82e.js} +1 -1
- package/lib/duet/{p-06ab2787.system.entry.js → p-85df6ff1.system.entry.js} +1 -1
- package/lib/duet/{p-68c3b19f.entry.js → p-86567f28.entry.js} +1 -1
- package/lib/duet/{p-104bf1b5.entry.js → p-8669b09e.entry.js} +1 -1
- package/lib/duet/{p-9f18afd6.entry.js → p-88819152.entry.js} +1 -1
- package/lib/duet/{p-5d1787cb.entry.js → p-89dc739e.entry.js} +1 -1
- package/lib/duet/{p-6c875cfa.system.entry.js → p-8a4d7ae9.system.entry.js} +1 -1
- package/lib/duet/{p-571440c7.system.entry.js → p-8edd208a.system.entry.js} +1 -1
- package/lib/duet/{p-691f609b.entry.js → p-8efd9495.entry.js} +1 -1
- package/lib/duet/{p-c5499bc3.entry.js → p-8f222a1b.entry.js} +1 -1
- package/lib/duet/{p-6b0a4b3b.entry.js → p-98ba3424.entry.js} +1 -1
- package/lib/duet/{p-31004a7b.system.entry.js → p-996ba330.system.entry.js} +1 -1
- package/lib/duet/{p-de815460.system.entry.js → p-9999e5fa.system.entry.js} +1 -1
- package/lib/duet/{p-de146ffa.system.entry.js → p-9bae46c2.system.entry.js} +1 -1
- package/lib/duet/{p-ab2f08b3.system.entry.js → p-9cb366b1.system.entry.js} +1 -1
- package/lib/duet/{p-8c409ffe.system.entry.js → p-a3de163c.system.entry.js} +1 -1
- package/lib/duet/{p-064dd5fd.entry.js → p-a40a7074.entry.js} +1 -1
- package/lib/duet/{p-1010fb94.entry.js → p-a463d7ba.entry.js} +1 -1
- package/lib/duet/{p-087d72dd.system.entry.js → p-a755f378.system.entry.js} +1 -1
- package/lib/duet/{p-b066a6b7.entry.js → p-a78c751d.entry.js} +1 -1
- package/lib/duet/{p-c8d9da51.entry.js → p-aae486b1.entry.js} +1 -1
- package/lib/duet/{p-0f7f7e7d.system.entry.js → p-ade95c1a.system.entry.js} +1 -1
- package/lib/duet/{p-9f8a51b4.system.entry.js → p-ae270d5c.system.entry.js} +1 -1
- package/lib/duet/{p-94c07a46.system.entry.js → p-afd48ab5.system.entry.js} +1 -1
- package/lib/duet/{p-f2eaad1e.js → p-b1931fae.js} +1 -1
- package/lib/duet/{p-e3983bfe.entry.js → p-b1b6bfaf.entry.js} +1 -1
- package/lib/duet/{p-6eecfced.system.entry.js → p-bcaa46bc.system.entry.js} +1 -1
- package/lib/duet/{p-eb54474f.system.entry.js → p-bd95bbac.system.entry.js} +1 -1
- package/lib/duet/{p-09364233.entry.js → p-c14e364f.entry.js} +1 -1
- package/lib/duet/{p-074bfd45.entry.js → p-cd24ed34.entry.js} +1 -1
- package/lib/duet/{p-8157e5bb.system.entry.js → p-ceaefc71.system.entry.js} +1 -1
- package/lib/duet/{p-18cc5627.system.js → p-d209191d.system.js} +1 -1
- package/lib/duet/{p-5658ac20.system.entry.js → p-d33ad700.system.entry.js} +1 -1
- package/lib/duet/{p-41cb95cb.entry.js → p-d5700477.entry.js} +1 -1
- package/lib/duet/{p-b3dc55a6.system.entry.js → p-d8c1e717.system.entry.js} +1 -1
- package/lib/duet/{p-cca9c605.system.entry.js → p-d8e4683f.system.entry.js} +1 -1
- package/lib/duet/{p-0ae59d7c.entry.js → p-db5582e2.entry.js} +1 -1
- package/lib/duet/{p-f7ac05dd.system.entry.js → p-dc3379cf.system.entry.js} +1 -1
- package/lib/duet/{p-cfa50753.system.js → p-ddc42b65.system.js} +1 -1
- package/lib/duet/{p-3cc55c8a.system.entry.js → p-e1c35023.system.entry.js} +1 -1
- package/lib/duet/p-e6d75fab.entry.js +4 -0
- package/lib/duet/{p-89048c6f.entry.js → p-e99cfa9a.entry.js} +1 -1
- package/lib/duet/{p-4034b322.system.entry.js → p-ec08089e.system.entry.js} +1 -1
- package/lib/duet/{p-bec24271.system.entry.js → p-ec45b5c6.system.entry.js} +1 -1
- package/lib/duet/{p-5beb69ac.entry.js → p-ed41265b.entry.js} +1 -1
- package/lib/duet/{p-744ce6ce.entry.js → p-ed985877.entry.js} +1 -1
- package/lib/duet/p-f5cac1af.entry.js +4 -0
- package/lib/duet/{p-e0f6ebf4.system.entry.js → p-f6725c7b.system.entry.js} +1 -1
- package/lib/duet/{p-c2e37fb4.entry.js → p-f7012b1f.entry.js} +1 -1
- package/lib/duet/{p-23ba48a5.system.entry.js → p-f7856429.system.entry.js} +1 -1
- package/lib/duet/{p-97a369d6.entry.js → p-f9d05a5c.entry.js} +1 -1
- package/lib/duet/{p-ef4b4f35.entry.js → p-fb798cb8.entry.js} +1 -1
- package/lib/duet/{p-47ed8218.entry.js → p-fcbf70a6.entry.js} +1 -1
- package/lib/duet/{p-3d029dce.system.entry.js → p-fcc58f66.system.entry.js} +1 -1
- package/lib/duet/{p-db115036.entry.js → p-fdd0a7df.entry.js} +1 -1
- package/lib/duet/{p-6841adb8.system.entry.js → p-feae179e.system.entry.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +3 -3
- package/lib/esm/duet-alert.entry.js +1 -1
- package/lib/esm/duet-badge.entry.js +1 -1
- package/lib/esm/duet-breadcrumb.entry.js +1 -1
- package/lib/esm/duet-breadcrumbs.entry.js +1 -1
- package/lib/esm/duet-button_2.entry.js +3 -3
- package/lib/esm/duet-caption_4.entry.js +3 -3
- package/lib/esm/duet-card.entry.js +3 -3
- package/lib/esm/duet-checkbox.entry.js +1 -1
- package/lib/esm/duet-choice_2.entry.js +10 -9
- package/lib/esm/duet-collapsible.entry.js +2 -2
- package/lib/esm/duet-combobox.entry.js +1 -1
- package/lib/esm/duet-cookie-consent.entry.js +1 -1
- package/lib/esm/duet-date-picker.entry.js +2 -2
- package/lib/esm/duet-divider_2.entry.js +1 -1
- package/lib/esm/duet-editable-table_3.entry.js +17 -14
- package/lib/esm/duet-empty-state.entry.js +1 -1
- package/lib/esm/duet-fieldset.entry.js +1 -1
- package/lib/esm/duet-footer.entry.js +1 -1
- package/lib/esm/duet-grid_2.entry.js +2 -2
- package/lib/esm/duet-header_2.entry.js +3 -3
- package/lib/esm/duet-hero.entry.js +1 -1
- package/lib/esm/duet-icon.entry.js +3 -3
- package/lib/esm/duet-input_2.entry.js +1 -1
- package/lib/esm/duet-layout.entry.js +1 -1
- package/lib/esm/duet-list_2.entry.js +1 -1
- package/lib/esm/duet-modal.entry.js +2 -2
- package/lib/esm/duet-notification_2.entry.js +1 -1
- package/lib/esm/duet-number-input.entry.js +1 -1
- package/lib/esm/duet-pagination_2.entry.js +25 -27
- package/lib/esm/duet-progress.entry.js +1 -1
- package/lib/esm/duet-radio_2.entry.js +1 -1
- package/lib/esm/duet-range-slider.entry.js +2 -2
- package/lib/esm/duet-scrollable_3.entry.js +1 -1
- package/lib/esm/duet-select.entry.js +1 -1
- package/lib/esm/duet-step_2.entry.js +1 -1
- package/lib/esm/duet-textarea.entry.js +1 -1
- package/lib/esm/duet-toggle.entry.js +1 -1
- package/lib/esm/duet-tooltip.entry.js +1 -1
- package/lib/esm/duet-tray.entry.js +2 -2
- package/lib/esm/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm/duet-visually-hidden.entry.js +1 -1
- package/lib/esm/duet.js +1 -1
- package/lib/esm/focus-utils-b515b88b.js +18 -0
- package/lib/esm/{index-f600b8dc.js → index-d8c3ba71.js} +1 -1
- package/lib/esm/loader.js +1 -1
- package/lib/esm/token-utils-ebf797ab.js +92 -0
- package/lib/esm/tokens-b9d87fda.js +459 -0
- package/lib/esm/{tokens.module-f4572ed7.js → tokens.module-385c4cf8.js} +12 -10
- package/lib/esm-es5/duet-action-button.entry.js +1 -1
- package/lib/esm-es5/duet-alert.entry.js +1 -1
- package/lib/esm-es5/duet-badge.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
- package/lib/esm-es5/duet-button_2.entry.js +1 -1
- package/lib/esm-es5/duet-caption_4.entry.js +1 -1
- package/lib/esm-es5/duet-card.entry.js +1 -1
- package/lib/esm-es5/duet-checkbox.entry.js +1 -1
- package/lib/esm-es5/duet-choice_2.entry.js +1 -1
- package/lib/esm-es5/duet-collapsible.entry.js +2 -2
- package/lib/esm-es5/duet-combobox.entry.js +1 -1
- package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
- package/lib/esm-es5/duet-date-picker.entry.js +1 -1
- package/lib/esm-es5/duet-divider_2.entry.js +1 -1
- package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
- package/lib/esm-es5/duet-empty-state.entry.js +1 -1
- package/lib/esm-es5/duet-fieldset.entry.js +1 -1
- package/lib/esm-es5/duet-footer.entry.js +1 -1
- package/lib/esm-es5/duet-grid_2.entry.js +1 -1
- package/lib/esm-es5/duet-header_2.entry.js +1 -1
- package/lib/esm-es5/duet-hero.entry.js +1 -1
- package/lib/esm-es5/duet-icon.entry.js +1 -1
- package/lib/esm-es5/duet-input_2.entry.js +1 -1
- package/lib/esm-es5/duet-layout.entry.js +1 -1
- package/lib/esm-es5/duet-list_2.entry.js +1 -1
- package/lib/esm-es5/duet-modal.entry.js +1 -1
- package/lib/esm-es5/duet-notification_2.entry.js +1 -1
- package/lib/esm-es5/duet-number-input.entry.js +1 -1
- package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
- package/lib/esm-es5/duet-progress.entry.js +1 -1
- package/lib/esm-es5/duet-radio_2.entry.js +1 -1
- package/lib/esm-es5/duet-range-slider.entry.js +1 -1
- package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
- package/lib/esm-es5/duet-select.entry.js +1 -1
- package/lib/esm-es5/duet-step_2.entry.js +1 -1
- package/lib/esm-es5/duet-textarea.entry.js +1 -1
- package/lib/esm-es5/duet-toggle.entry.js +1 -1
- package/lib/esm-es5/duet-tooltip.entry.js +1 -1
- package/lib/esm-es5/duet-tray.entry.js +1 -1
- package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
- package/lib/esm-es5/duet.js +1 -1
- package/lib/esm-es5/{focus-utils-559691b3.js → focus-utils-b515b88b.js} +1 -1
- package/lib/esm-es5/{index-f600b8dc.js → index-d8c3ba71.js} +1 -1
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/{token-utils-df78f4d8.js → token-utils-ebf797ab.js} +1 -1
- package/lib/esm-es5/tokens-b9d87fda.js +4 -0
- package/lib/esm-es5/{tokens.module-f4572ed7.js → tokens.module-385c4cf8.js} +1 -1
- package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +1 -0
- package/lib/types/components/duet-range-stepper/duet-range-stepper.d.ts +2 -2
- package/lib/types/components/duet-upload/duet-upload.d.ts +8 -8
- package/lib/types/components.d.ts +6 -6
- package/package.json +5 -5
- package/lib/custom-elements-bundle/index.d.ts +0 -399
- package/lib/custom-elements-bundle/index.js +0 -14110
- package/lib/duet/p-6002f3d2.system.js +0 -4
- package/lib/duet/p-7c198c75.entry.js +0 -4
- package/lib/duet/p-a93a04b9.system.js +0 -4
- package/lib/duet/p-d1746325.js +0 -4
- package/lib/duet/p-f2ab3e5c.entry.js +0 -4
- package/lib/esm-es5/tokens-8ff8c570.js +0 -4
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
import { p as proxyCustomElement, H, c as createEvent, h, b as Host } from './p-1ad6b04e.js';
|
|
5
|
+
import { i as inheritGlobalTheme } from './p-4ebf1618.js';
|
|
6
|
+
import { c as createID } from './p-c1325e35.js';
|
|
7
|
+
|
|
8
|
+
const duetRadioCss = "*.sc-duet-radio,*.sc-duet-radio::after,*.sc-duet-radio::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-radio-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:28px !important;margin-bottom:12px !important;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-radio-h:last-child,.sc-duet-radio-h:last-of-type{margin-right:0 !important}.vertical.sc-duet-radio-h{margin-right:0 !important}.horizontal.sc-duet-radio-h{margin-bottom:0 !important;width:auto}.horizontal.sc-duet-radio-h .duet-label.sc-duet-radio span.sc-duet-radio{max-width:100%}@media (min-width: 48em){.horizontal-responsive.sc-duet-radio-h{margin-right:28px !important;margin-bottom:0 !important;width:auto}.horizontal-responsive.sc-duet-radio-h:last-child,.horizontal-responsive.sc-duet-radio-h:last-of-type{margin-right:0 !important}.horizontal-responsive.sc-duet-radio-h .duet-label.sc-duet-radio span.sc-duet-radio{max-width:100%}}.duet-m-0.sc-duet-radio-h{margin:0 !important}.sc-duet-radio-h:last-child:not(:only-child){margin-right:0 !important;margin-bottom:0 !important}.duet-label.sc-duet-radio{position:relative;z-index:100;display:flex;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;line-height:1.5;color:#00294d;cursor:pointer;background:transparent}.duet-theme-turva.sc-duet-radio .duet-label.sc-duet-radio{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-label.sc-duet-radio span.sc-duet-radio{flex-grow:1;font-size:1rem}.duet-label-hidden.sc-duet-radio .duet-label.sc-duet-radio{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.duet-radio-container.sc-duet-radio{position:relative;width:100%;height:100%}.duet-radio.sc-duet-radio{padding:14px !important;position:absolute;top:0;left:0;z-index:200;width:100%;height:100%;cursor:pointer;opacity:0}.duet-radio.sc-duet-radio+label.sc-duet-radio::before{z-index:100;flex-shrink:0;width:20px;height:20px;margin:2px 10px 1px 1px;content:\"\";background:white;border:1px solid #00294d;border-radius:50%}.duet-theme-turva.sc-duet-radio .duet-radio.sc-duet-radio+label.sc-duet-radio::before{border-color:#171c3a}.duet-radio.sc-duet-radio:focus+label.sc-duet-radio::before{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva.sc-duet-radio .duet-radio.sc-duet-radio:focus+label.sc-duet-radio::before{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-radio.sc-duet-radio:checked+label.sc-duet-radio::after{position:absolute;top:6px;left:5px;z-index:200;flex-shrink:0;width:12px;height:12px;content:\"\";background:#00294d;border-radius:50%}.duet-theme-turva.sc-duet-radio .duet-radio.sc-duet-radio:checked+label.sc-duet-radio::after{background:#171c3a}.duet-radio[disabled].sc-duet-radio{cursor:default}.duet-radio[disabled].sc-duet-radio+label.sc-duet-radio{color:#657787}.duet-theme-turva.sc-duet-radio .duet-radio[disabled].sc-duet-radio+label.sc-duet-radio{color:#747475}.duet-radio[disabled].sc-duet-radio+label.sc-duet-radio::before{border-color:#cfd2d4}.duet-theme-turva.sc-duet-radio .duet-radio[disabled].sc-duet-radio+label.sc-duet-radio::before{border-color:#cfcfd1}.duet-radio[disabled].sc-duet-radio:checked+label.sc-duet-radio::before{border:1px solid #657787}.duet-radio[disabled].sc-duet-radio:checked+label.sc-duet-radio::after{background:#657787}.duet-theme-turva.sc-duet-radio .duet-radio[disabled].sc-duet-radio:checked+label.sc-duet-radio::after{background:#747475;border-color:#747475}";
|
|
9
|
+
|
|
10
|
+
const DuetRadio$1 = /*@__PURE__*/ proxyCustomElement(class extends H {
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
|
+
this.__registerHost();
|
|
14
|
+
this.duetChange = createEvent(this, "duetChange", 7);
|
|
15
|
+
this.duetFocus = createEvent(this, "duetFocus", 7);
|
|
16
|
+
this.duetBlur = createEvent(this, "duetBlur", 7);
|
|
17
|
+
/**
|
|
18
|
+
* Own Properties.
|
|
19
|
+
*/
|
|
20
|
+
this.radioId = createID("DuetRadio");
|
|
21
|
+
/**
|
|
22
|
+
* Aria Details of the component
|
|
23
|
+
*/
|
|
24
|
+
this.accessibleDetails = undefined;
|
|
25
|
+
/**
|
|
26
|
+
* String of id's that indicate alternative labels elements
|
|
27
|
+
*/
|
|
28
|
+
this.accessibleLabelledBy = undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Aria description the button
|
|
31
|
+
*/
|
|
32
|
+
this.accessibleDescription = undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Controls the margin of the component.
|
|
35
|
+
*/
|
|
36
|
+
this.margin = "auto";
|
|
37
|
+
/**
|
|
38
|
+
* Theme of the radio.
|
|
39
|
+
*/
|
|
40
|
+
this.theme = "";
|
|
41
|
+
/**
|
|
42
|
+
* Makes the radio component disabled. This prevents users from being able to
|
|
43
|
+
* interact with the radio, and conveys its inactive state to assistive technologies.
|
|
44
|
+
*/
|
|
45
|
+
this.disabled = false;
|
|
46
|
+
/**
|
|
47
|
+
* Set whether the input is required or not. Please note that this is required for
|
|
48
|
+
* accessible inputs when the user is required to fill them. When using this property
|
|
49
|
+
* you need to also set “novalidate” attribute to your form element to prevent
|
|
50
|
+
* browser from displaying its own validation errors.
|
|
51
|
+
*/
|
|
52
|
+
this.required = false;
|
|
53
|
+
/**
|
|
54
|
+
* Stops the components from emitting events
|
|
55
|
+
*/
|
|
56
|
+
this.blockEvents = false;
|
|
57
|
+
/**
|
|
58
|
+
* Label for the radio.
|
|
59
|
+
*/
|
|
60
|
+
this.label = "label";
|
|
61
|
+
/**
|
|
62
|
+
* Component event handling.
|
|
63
|
+
*/
|
|
64
|
+
this.onClick = (ev) => {
|
|
65
|
+
ev.stopPropagation();
|
|
66
|
+
};
|
|
67
|
+
this.onChange = (ev) => {
|
|
68
|
+
this.checked = ev.target.value;
|
|
69
|
+
if (this.checked && !this.blockEvents) {
|
|
70
|
+
this.duetChange.emit({
|
|
71
|
+
originalEvent: ev,
|
|
72
|
+
checked: this.checked,
|
|
73
|
+
value: this.value,
|
|
74
|
+
component: "duet-radio",
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
this.onBlur = (ev) => {
|
|
79
|
+
this.duetBlur.emit({
|
|
80
|
+
originalEvent: ev,
|
|
81
|
+
checked: this.checked,
|
|
82
|
+
value: this.value,
|
|
83
|
+
component: "duet-radio",
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
this.onFocus = (ev) => {
|
|
87
|
+
this.duetFocus.emit({
|
|
88
|
+
originalEvent: ev,
|
|
89
|
+
checked: this.checked,
|
|
90
|
+
value: this.value,
|
|
91
|
+
component: "duet-radio",
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Component lifecycle events.
|
|
97
|
+
*/
|
|
98
|
+
componentWillLoad() {
|
|
99
|
+
inheritGlobalTheme(this);
|
|
100
|
+
if (this.value === undefined) {
|
|
101
|
+
this.value = this.identifier;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Sets focus on the specified `duet-radio`. Use this method instead of the global
|
|
106
|
+
* `input.focus()`.
|
|
107
|
+
*/
|
|
108
|
+
async setFocus(options) {
|
|
109
|
+
this.nativeInput.focus(options);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* render() function
|
|
113
|
+
* Always the last one in the class.
|
|
114
|
+
*/
|
|
115
|
+
render() {
|
|
116
|
+
const identifier = this.identifier || this.radioId;
|
|
117
|
+
return (h(Host, { onClick: this.onClick, class: {
|
|
118
|
+
horizontal: this.groupDirection === "horizontal" && !this.groupResponsive,
|
|
119
|
+
"horizontal-responsive": this.groupDirection === "horizontal" && this.groupResponsive,
|
|
120
|
+
"duet-m-0": this.margin === "none",
|
|
121
|
+
} }, h("div", { class: { "duet-radio-container": true, "duet-theme-turva": this.theme === "turva" } }, h("input", { type: "radio", onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, value: this.value, tabindex: this.accessibleIndex, class: { "duet-radio": true, disabled: this.disabled || this.groupDisabled }, checked: this.checked, disabled: this.disabled || this.groupDisabled, required: this.required, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, "aria-labelledby": this.accessibleLabelledBy, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, role: this.role, name: this.name, id: identifier, ref: input => (this.nativeInput = input) }), h("label", { class: "duet-label", htmlFor: identifier }, h("span", null, this.label)))));
|
|
122
|
+
}
|
|
123
|
+
get element() { return this; }
|
|
124
|
+
static get style() { return duetRadioCss; }
|
|
125
|
+
}, [2, "duet-radio", {
|
|
126
|
+
"accessibleActiveDescendant": [1, "accessible-active-descendant"],
|
|
127
|
+
"accessibleDetails": [1, "accessible-details"],
|
|
128
|
+
"accessibleLabelledBy": [1, "accessible-labelled-by"],
|
|
129
|
+
"accessibleDescription": [1, "accessible-description"],
|
|
130
|
+
"accessibleIndex": [1, "accessible-index"],
|
|
131
|
+
"margin": [1],
|
|
132
|
+
"accessibleControls": [1, "accessible-controls"],
|
|
133
|
+
"accessibleOwns": [1, "accessible-owns"],
|
|
134
|
+
"accessibleDescribedBy": [1, "accessible-described-by"],
|
|
135
|
+
"theme": [1025],
|
|
136
|
+
"disabled": [516],
|
|
137
|
+
"required": [4],
|
|
138
|
+
"blockEvents": [4, "block-events"],
|
|
139
|
+
"identifier": [1],
|
|
140
|
+
"label": [1],
|
|
141
|
+
"name": [1],
|
|
142
|
+
"role": [1],
|
|
143
|
+
"groupDisabled": [4, "group-disabled"],
|
|
144
|
+
"groupDirection": [1, "group-direction"],
|
|
145
|
+
"groupResponsive": [4, "group-responsive"],
|
|
146
|
+
"checked": [1540],
|
|
147
|
+
"value": [1537],
|
|
148
|
+
"setFocus": [64]
|
|
149
|
+
}]);
|
|
150
|
+
function defineCustomElement$1() {
|
|
151
|
+
if (typeof customElements === "undefined") {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const components = ["duet-radio"];
|
|
155
|
+
components.forEach(tagName => { switch (tagName) {
|
|
156
|
+
case "duet-radio":
|
|
157
|
+
if (!customElements.get(tagName)) {
|
|
158
|
+
customElements.define(tagName, DuetRadio$1);
|
|
159
|
+
}
|
|
160
|
+
break;
|
|
161
|
+
} });
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
const DuetRadio = DuetRadio$1;
|
|
165
|
+
const defineCustomElement = defineCustomElement$1;
|
|
166
|
+
|
|
167
|
+
export { DuetRadio, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface DuetRangeSlider extends Components.DuetRangeSlider, HTMLElement {}
|
|
4
|
+
export const DuetRangeSlider: {
|
|
5
|
+
prototype: DuetRangeSlider;
|
|
6
|
+
new (): DuetRangeSlider;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
import { p as proxyCustomElement, H, c as createEvent, h, b as Host } from './p-1ad6b04e.js';
|
|
5
|
+
import { i as colorPrimaryTurva, k as colorGrayTurva, l as colorPrimary, n as colorGray } from './p-266411cf.js';
|
|
6
|
+
import { i as inheritGlobalTheme } from './p-4ebf1618.js';
|
|
7
|
+
import { c as createID } from './p-c1325e35.js';
|
|
8
|
+
import { i as isInternetExplorer } from './p-704245ef.js';
|
|
9
|
+
import { d as defineCustomElement$2 } from './p-fb6be4e4.js';
|
|
10
|
+
|
|
11
|
+
const duetRangeSliderCss = "*.sc-duet-range-slider,*.sc-duet-range-slider::after,*.sc-duet-range-slider::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-range-slider-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:16px !important;margin-bottom:12px !important;display:inline-flex;width:100%;max-width:100%;text-align:left;vertical-align:bottom}.sc-duet-range-slider-h:last-child,.sc-duet-range-slider-h:last-of-type{margin-right:0 !important}@media (min-width: 36em){.sc-duet-range-slider-h{width:calc(50% - 16px - 3px)}.duet-expand.sc-duet-range-slider-h{width:100% !important}}.duet-m-0.sc-duet-range-slider-h{margin:0 !important}.duet-range-container.sc-duet-range-slider{position:relative;width:100%}.duet-output.sc-duet-range-slider{position:absolute;top:12px;right:0;z-index:200;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.25;color:#00294d;background:white}.duet-theme-turva.sc-duet-range-slider .duet-output.sc-duet-range-slider{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-range-disabled.sc-duet-range-slider .duet-output.sc-duet-range-slider{color:#909599}.duet-range-disabled.duet-theme-turva.sc-duet-range-slider .duet-output.sc-duet-range-slider{color:#747475}.duet-range.sc-duet-range-slider{position:relative;z-index:100;width:100%;height:4px;background:#cfd2d4;border-radius:4px}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider{background:#cfcfd1}.duet-ie.sc-duet-range-slider .duet-range.sc-duet-range-slider{display:block;width:auto;height:26px;background:transparent !important}.duet-range.sc-duet-range-slider::-moz-range-track{height:1px;background:transparent !important;border:0;-moz-appearance:none}.duet-range.sc-duet-range-slider::-ms-track{color:transparent;background:transparent;border:0}.duet-range.sc-duet-range-slider:focus,.duet-range.sc-duet-range-slider:active{outline:0}.user-is-tabbing.sc-duet-range-slider-h .duet-range.sc-duet-range-slider:focus{box-shadow:0 0 0 1px white, 0 0 0 3px rgba(0, 119, 179, 0.75)}.user-is-tabbing.sc-duet-range-slider-h .duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider:focus{box-shadow:0 0 0 1px white, 0 0 0 3px #171c3a}.duet-range.sc-duet-range-slider::-webkit-slider-runnable-track{background:transparent}.duet-range.sc-duet-range-slider::-webkit-slider-thumb{position:relative;width:24px;height:24px;cursor:-webkit-grab;background:white;border:1px solid #909599;border-radius:50%;transition:box-shadow 300ms ease;-webkit-appearance:none}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider::-webkit-slider-thumb{border-color:#747475}.duet-range.sc-duet-range-slider:active::-webkit-slider-thumb{cursor:-webkit-grabbing}.duet-range.sc-duet-range-slider::-moz-range-thumb{position:relative;width:24px;height:24px;cursor:-moz-grab;background:white;border:1px solid #909599;border-radius:50%;appearance:none}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider::-moz-range-thumb{border-color:#747475}.duet-range.sc-duet-range-slider:active::-moz-range-thumb{cursor:-moz-grabbing}.duet-range.sc-duet-range-slider::-ms-thumb{position:relative;width:24px;height:24px;overflow:visible;background:white;border:1px solid #909599;border-radius:50%}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider::-ms-thumb{border-color:#747475}.duet-range.sc-duet-range-slider:disabled{background:#cfd2d4 !important}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider:disabled{background:#cfcfd1 !important}.duet-range.sc-duet-range-slider:disabled::-webkit-slider-thumb{cursor:default;background:#cfd2d4;border-color:transparent}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider:disabled::-webkit-slider-thumb{background:#cfcfd1;border-color:transparent}.duet-range.sc-duet-range-slider:disabled::-moz-range-thumb{cursor:default;background:#cfd2d4;border-color:transparent}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider:disabled::-moz-range-thumb{background:#cfcfd1;border-color:transparent}.duet-range.sc-duet-range-slider:disabled::-ms-thumb{cursor:default;background:#cfd2d4;border-color:transparent}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider:disabled::-ms-thumb{background:#cfcfd1;border-color:transparent}.duet-range.sc-duet-range-slider::-ms-fill-lower{height:4px;background:#0077b3}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider::-ms-fill-lower{background:#c60c30}.duet-range.sc-duet-range-slider::-ms-fill-upper{height:4px;background:#cfd2d4}.duet-theme-turva.sc-duet-range-slider .duet-range.sc-duet-range-slider::-ms-fill-upper{background:#cfcfd1}.duet-label-hidden.sc-duet-range-slider duet-label.sc-duet-range-slider,.duet-label-hidden.sc-duet-range-slider output.sc-duet-range-slider{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
|
|
12
|
+
|
|
13
|
+
const colors = {
|
|
14
|
+
turva: {
|
|
15
|
+
active: colorPrimaryTurva,
|
|
16
|
+
inactive: colorGrayTurva,
|
|
17
|
+
},
|
|
18
|
+
default: {
|
|
19
|
+
active: colorPrimary,
|
|
20
|
+
inactive: colorGray,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
const DuetRangeSlider$1 = /*@__PURE__*/ proxyCustomElement(class extends H {
|
|
24
|
+
constructor() {
|
|
25
|
+
super();
|
|
26
|
+
this.__registerHost();
|
|
27
|
+
this.duetChange = createEvent(this, "duetChange", 3);
|
|
28
|
+
this.duetInput = createEvent(this, "duetInput", 7);
|
|
29
|
+
/**
|
|
30
|
+
* Own Properties
|
|
31
|
+
*/
|
|
32
|
+
this.rangeId = createID("DuetRange");
|
|
33
|
+
/**
|
|
34
|
+
* Theme of the input.
|
|
35
|
+
*/
|
|
36
|
+
this.theme = "";
|
|
37
|
+
/**
|
|
38
|
+
* Controls the margin of the component.
|
|
39
|
+
*/
|
|
40
|
+
this.margin = "auto";
|
|
41
|
+
/**
|
|
42
|
+
* Expands the input to fill 100% of the container width.
|
|
43
|
+
*/
|
|
44
|
+
this.expand = false;
|
|
45
|
+
/**
|
|
46
|
+
* Set whether the input is required or not. Please note that this is necessary for
|
|
47
|
+
* accessible inputs when the user is required to fill them. When using this property
|
|
48
|
+
* you need to also set “novalidate” attribute to your form element to prevent
|
|
49
|
+
* browser from displaying its own validation errors.
|
|
50
|
+
*/
|
|
51
|
+
this.required = false;
|
|
52
|
+
/**
|
|
53
|
+
* Makes the input component disabled. This prevents users from being able to
|
|
54
|
+
* interact with the input, and conveys its inactive state to assistive technologies.
|
|
55
|
+
*/
|
|
56
|
+
this.disabled = false;
|
|
57
|
+
/**
|
|
58
|
+
* Minimum value.
|
|
59
|
+
*/
|
|
60
|
+
this.min = 0;
|
|
61
|
+
/**
|
|
62
|
+
* Label for the range slider.
|
|
63
|
+
*/
|
|
64
|
+
this.label = "label";
|
|
65
|
+
/**
|
|
66
|
+
* Visually hide the label, but still show it to screen readers.
|
|
67
|
+
*/
|
|
68
|
+
this.labelHidden = false;
|
|
69
|
+
/**
|
|
70
|
+
* Unit for the range slider.
|
|
71
|
+
*/
|
|
72
|
+
this.unit = "";
|
|
73
|
+
/**
|
|
74
|
+
* Maximum value.
|
|
75
|
+
*/
|
|
76
|
+
this.max = 100;
|
|
77
|
+
/**
|
|
78
|
+
* Step amount.
|
|
79
|
+
*/
|
|
80
|
+
this.step = 1;
|
|
81
|
+
/**
|
|
82
|
+
* Locale used to format the entered value.
|
|
83
|
+
*/
|
|
84
|
+
this.locale = "fi-FI";
|
|
85
|
+
/**
|
|
86
|
+
* Value of the input.
|
|
87
|
+
*/
|
|
88
|
+
this.value = 0;
|
|
89
|
+
/**
|
|
90
|
+
* Set the amount of time, in milliseconds, to wait to trigger the duetChange
|
|
91
|
+
* event after each keystroke.
|
|
92
|
+
*/
|
|
93
|
+
this.debounce = 0;
|
|
94
|
+
/**
|
|
95
|
+
* Component event handling.
|
|
96
|
+
*/
|
|
97
|
+
this.onInput = (ev) => {
|
|
98
|
+
const input = ev.target;
|
|
99
|
+
if (input) {
|
|
100
|
+
this.value = parseFloat(input.value) || 0;
|
|
101
|
+
}
|
|
102
|
+
this.duetInput.emit({
|
|
103
|
+
originalEvent: ev,
|
|
104
|
+
value: this.value,
|
|
105
|
+
component: "duet-range-slider",
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
this.onChange = (ev) => {
|
|
109
|
+
const input = ev.target;
|
|
110
|
+
if (input) {
|
|
111
|
+
this.value = parseFloat(input.value) || 0;
|
|
112
|
+
}
|
|
113
|
+
clearTimeout(this.timeoutId);
|
|
114
|
+
this.timeoutId = setTimeout(() => {
|
|
115
|
+
this.duetChange.emit({
|
|
116
|
+
originalEvent: ev,
|
|
117
|
+
value: this.value,
|
|
118
|
+
component: "duet-range-slider",
|
|
119
|
+
});
|
|
120
|
+
}, this.debounce);
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Component lifecycle events.
|
|
125
|
+
*/
|
|
126
|
+
componentWillLoad() {
|
|
127
|
+
inheritGlobalTheme(this);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Sets focus on the specified `duet-range-slider`. Use this method instead of the global
|
|
131
|
+
* `input.focus()`.
|
|
132
|
+
*/
|
|
133
|
+
async setFocus(options) {
|
|
134
|
+
this.nativeInput.focus(options);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Local methods.
|
|
138
|
+
*/
|
|
139
|
+
calculatePercentage() {
|
|
140
|
+
return ((this.value - this.min) / (this.max - this.min)) * 100;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* render() function
|
|
144
|
+
* Always the last one in the class.
|
|
145
|
+
*/
|
|
146
|
+
render() {
|
|
147
|
+
const identifier = this.identifier || this.rangeId;
|
|
148
|
+
const theme = this.theme === "turva" ? "turva" : "default";
|
|
149
|
+
const { inactive, active } = colors[theme];
|
|
150
|
+
const percentage = this.calculatePercentage();
|
|
151
|
+
const rangeStyles = {
|
|
152
|
+
background: `-webkit-linear-gradient(left,${active} 0%,${active} ${percentage}%,${inactive} ${percentage}%)`,
|
|
153
|
+
};
|
|
154
|
+
return (h(Host, { class: { "duet-m-0": this.margin === "none", "duet-expand": this.expand } }, h("div", { class: {
|
|
155
|
+
"duet-range-container": true,
|
|
156
|
+
"duet-label-hidden": this.labelHidden,
|
|
157
|
+
"duet-theme-turva": this.theme === "turva",
|
|
158
|
+
"duet-ie": isInternetExplorer(),
|
|
159
|
+
"duet-range-disabled": this.disabled,
|
|
160
|
+
} }, h("duet-label", { theme: theme, margin: "small", for: identifier }, this.label), h("output", { "aria-hidden": "true", htmlFor: identifier, class: "duet-output" }, this.value.toLocaleString(this.locale), this.unit), h("input", { onInput: this.onInput, onChange: this.onChange, ref: input => (this.nativeInput = input), type: "range", min: this.min, max: this.max, step: this.step, value: this.value, style: rangeStyles, "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.value, "aria-valuetext": `${this.value} ${this.unit}`, "aria-controls": this.accessibleControls, "aria-activedescendant": this.accessibleActiveDescendant, "aria-owns": this.accessibleOwns, "aria-describedby": this.accessibleDescribedBy, id: identifier, name: this.name, disabled: this.disabled, required: this.required, class: "duet-range" }))));
|
|
161
|
+
}
|
|
162
|
+
get element() { return this; }
|
|
163
|
+
static get style() { return duetRangeSliderCss; }
|
|
164
|
+
}, [2, "duet-range-slider", {
|
|
165
|
+
"theme": [1025],
|
|
166
|
+
"margin": [1],
|
|
167
|
+
"expand": [4],
|
|
168
|
+
"identifier": [1],
|
|
169
|
+
"name": [1],
|
|
170
|
+
"required": [4],
|
|
171
|
+
"disabled": [516],
|
|
172
|
+
"accessibleActiveDescendant": [1, "accessible-active-descendant"],
|
|
173
|
+
"accessibleControls": [1, "accessible-controls"],
|
|
174
|
+
"accessibleOwns": [1, "accessible-owns"],
|
|
175
|
+
"accessibleDescribedBy": [1, "accessible-described-by"],
|
|
176
|
+
"min": [2],
|
|
177
|
+
"label": [1],
|
|
178
|
+
"labelHidden": [4, "label-hidden"],
|
|
179
|
+
"unit": [1],
|
|
180
|
+
"max": [2],
|
|
181
|
+
"step": [2],
|
|
182
|
+
"locale": [1],
|
|
183
|
+
"value": [1026],
|
|
184
|
+
"debounce": [2],
|
|
185
|
+
"setFocus": [64]
|
|
186
|
+
}]);
|
|
187
|
+
function defineCustomElement$1() {
|
|
188
|
+
if (typeof customElements === "undefined") {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
const components = ["duet-range-slider", "duet-label"];
|
|
192
|
+
components.forEach(tagName => { switch (tagName) {
|
|
193
|
+
case "duet-range-slider":
|
|
194
|
+
if (!customElements.get(tagName)) {
|
|
195
|
+
customElements.define(tagName, DuetRangeSlider$1);
|
|
196
|
+
}
|
|
197
|
+
break;
|
|
198
|
+
case "duet-label":
|
|
199
|
+
if (!customElements.get(tagName)) {
|
|
200
|
+
defineCustomElement$2();
|
|
201
|
+
}
|
|
202
|
+
break;
|
|
203
|
+
} });
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
const DuetRangeSlider = DuetRangeSlider$1;
|
|
207
|
+
const defineCustomElement = defineCustomElement$1;
|
|
208
|
+
|
|
209
|
+
export { DuetRangeSlider, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface DuetRangeStepper extends Components.DuetRangeStepper, HTMLElement {}
|
|
4
|
+
export const DuetRangeStepper: {
|
|
5
|
+
prototype: DuetRangeStepper;
|
|
6
|
+
new (): DuetRangeStepper;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
import { p as proxyCustomElement, H, c as createEvent, h } from './p-1ad6b04e.js';
|
|
5
|
+
import { i as inheritGlobalTheme } from './p-4ebf1618.js';
|
|
6
|
+
import { c as createID } from './p-c1325e35.js';
|
|
7
|
+
import { h as isArrowLeftKey, e as isArrowUpKey, n as isMinusKey, l as isArrowKey, j as isArrowRightKey, f as isArrowDownKey, o as isPlusKey } from './p-d8549efe.js';
|
|
8
|
+
import { g as getLocaleString } from './p-ede854e1.js';
|
|
9
|
+
import { d as defineCustomElement$4 } from './p-e121eb6d.js';
|
|
10
|
+
import { d as defineCustomElement$3 } from './p-4f516732.js';
|
|
11
|
+
import { d as defineCustomElement$2 } from './p-53a0c93d.js';
|
|
12
|
+
|
|
13
|
+
const duetRangeStepperCss = "*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}:host{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline-block;margin:0 auto}.duet-range-stepper{display:flex;flex-wrap:wrap;gap:0;align-items:baseline;justify-content:center;min-width:30px;min-height:30px;font-weight:600;text-decoration:none;border-left-width:0}.duet-range-stepper{white-space:nowrap}.duet-range-stepper .duet-range-step-counter{font-weight:600;color:#00294d}.duet-range-stepper ::part(button){border:0}";
|
|
14
|
+
|
|
15
|
+
const DuetRangeStepper$1 = /*@__PURE__*/ proxyCustomElement(class extends H {
|
|
16
|
+
constructor() {
|
|
17
|
+
super();
|
|
18
|
+
this.__registerHost();
|
|
19
|
+
this.__attachShadow();
|
|
20
|
+
this.duetRangeStepUpdate = createEvent(this, "duetRangeStepUpdate", 7);
|
|
21
|
+
this.leftBn = createID("duetRangeStepper-left");
|
|
22
|
+
this.rightBn = createID("duetRangeStepper-right");
|
|
23
|
+
/**
|
|
24
|
+
* Theme of the component.
|
|
25
|
+
*/
|
|
26
|
+
this.theme = "";
|
|
27
|
+
/**
|
|
28
|
+
* Start value
|
|
29
|
+
* @default 1
|
|
30
|
+
*/
|
|
31
|
+
this.stepIndex = 1;
|
|
32
|
+
/**
|
|
33
|
+
* How big is the step
|
|
34
|
+
* @default 50
|
|
35
|
+
*/
|
|
36
|
+
this.stepSize = 50;
|
|
37
|
+
/**
|
|
38
|
+
* Total of
|
|
39
|
+
* @default undefined
|
|
40
|
+
*/
|
|
41
|
+
this.total = 1000;
|
|
42
|
+
/**
|
|
43
|
+
* Default range stepper labels
|
|
44
|
+
*/
|
|
45
|
+
this.ariaLabelsDefaults = {
|
|
46
|
+
en: {
|
|
47
|
+
next_increment: "Next range increment",
|
|
48
|
+
previous_increment: "Previous range increment",
|
|
49
|
+
x_of_y: "{0}–{1} of {2}",
|
|
50
|
+
},
|
|
51
|
+
fi: {
|
|
52
|
+
next_increment: "Seuraava välillä",
|
|
53
|
+
previous_increment: "Edellinen välillä",
|
|
54
|
+
x_of_y: "{0}–{1} / {2}",
|
|
55
|
+
},
|
|
56
|
+
sv: {
|
|
57
|
+
next_increment: "Nästa intervall",
|
|
58
|
+
previous_increment: "Föregående intervall",
|
|
59
|
+
x_of_y: "{0}–{1} av {2}",
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Default pagination labels
|
|
64
|
+
*/
|
|
65
|
+
this.ariaLabels = getLocaleString(this.ariaLabelsDefaults);
|
|
66
|
+
/**
|
|
67
|
+
* Used to indicate which dom element with ID this element controls
|
|
68
|
+
*/
|
|
69
|
+
this.ariaControls = "";
|
|
70
|
+
this.handleClick = (e, direction) => {
|
|
71
|
+
e.preventDefault();
|
|
72
|
+
this.stepIndex += direction;
|
|
73
|
+
this.clampStepIndex();
|
|
74
|
+
this.handleStepClick(e);
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
watchStepIndexStateHandler(newValue) {
|
|
78
|
+
if (this.element.shadowRoot.childElementCount > 0) {
|
|
79
|
+
if (newValue <= 1) {
|
|
80
|
+
this.leftBnRef.setAttribute("disabled", "");
|
|
81
|
+
this.rightBnRef.focus();
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
this.leftBnRef.removeAttribute("disabled");
|
|
85
|
+
}
|
|
86
|
+
if (newValue >= this.total / this.stepSize) {
|
|
87
|
+
this.rightBnRef.setAttribute("disabled", "");
|
|
88
|
+
this.leftBnRef.focus();
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
this.rightBnRef.removeAttribute("disabled");
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
watchStepSizeStateHandler(newValue, oldValue) {
|
|
96
|
+
if (newValue !== oldValue) {
|
|
97
|
+
if (this.stepIndex * newValue > this.total) {
|
|
98
|
+
this.stepIndex = Math.ceil(this.total / newValue);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
handleStepClick(e) {
|
|
103
|
+
const from = this.stepIndex * this.stepSize - this.stepSize;
|
|
104
|
+
this.duetRangeStepUpdate.emit({
|
|
105
|
+
originalEvent: e,
|
|
106
|
+
component: "duet-range-stepper",
|
|
107
|
+
from: from,
|
|
108
|
+
to: this.getTo(),
|
|
109
|
+
index: this.stepIndex,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
componentWillLoad() {
|
|
113
|
+
inheritGlobalTheme(this);
|
|
114
|
+
this.clampStepIndex();
|
|
115
|
+
}
|
|
116
|
+
componentDidLoad() {
|
|
117
|
+
this.watchStepIndexStateHandler(this.stepIndex);
|
|
118
|
+
}
|
|
119
|
+
clampStepIndex() {
|
|
120
|
+
if (this.stepIndex < 1) {
|
|
121
|
+
this.stepIndex = 1;
|
|
122
|
+
}
|
|
123
|
+
else if (this.stepIndex * this.stepSize > this.total) {
|
|
124
|
+
this.stepIndex = Math.ceil(this.total / this.stepSize);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
getTo() {
|
|
128
|
+
const to = this.stepIndex * this.stepSize;
|
|
129
|
+
const result = to > this.total ? this.total : to;
|
|
130
|
+
return result;
|
|
131
|
+
}
|
|
132
|
+
generateStepSize() {
|
|
133
|
+
// this function uses this.stepIndex and this.range to generate a range of number like 1-100
|
|
134
|
+
// this is used to generate the step size
|
|
135
|
+
let start = Math.floor((this.stepIndex - 1) * this.stepSize);
|
|
136
|
+
//easy fix for starting position
|
|
137
|
+
if (start === 0) {
|
|
138
|
+
start = 1;
|
|
139
|
+
}
|
|
140
|
+
const end = Math.floor(this.stepIndex * this.stepSize);
|
|
141
|
+
return this.ariaLabels.x_of_y
|
|
142
|
+
.replace("{0}", String(start))
|
|
143
|
+
.replace("{1}", String(end))
|
|
144
|
+
.replace("{2}", String(this.total));
|
|
145
|
+
}
|
|
146
|
+
//handle a11y keyboard navigation events
|
|
147
|
+
async onKeyboardDown(e) {
|
|
148
|
+
// handle a11y based keyboard navigation for left/right/up/down
|
|
149
|
+
let next = this.stepIndex;
|
|
150
|
+
let dir = 1;
|
|
151
|
+
if (isArrowLeftKey(e) || isArrowUpKey(e) || isMinusKey(e)) {
|
|
152
|
+
next--;
|
|
153
|
+
dir = -1;
|
|
154
|
+
this.leftBnRef.focus();
|
|
155
|
+
}
|
|
156
|
+
if (isArrowRightKey(e) || isArrowDownKey(e) || isPlusKey(e)) {
|
|
157
|
+
next++;
|
|
158
|
+
dir = 1;
|
|
159
|
+
}
|
|
160
|
+
if (isArrowKey(e)) {
|
|
161
|
+
if (next > 0 && next * this.stepSize <= this.total) {
|
|
162
|
+
this.handleClick(e, dir);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* render() function
|
|
168
|
+
* Always the last one in the class.
|
|
169
|
+
*/
|
|
170
|
+
render() {
|
|
171
|
+
return (h("div", { class: {
|
|
172
|
+
"duet-range-stepper": true,
|
|
173
|
+
"duet-theme-turva": this.theme === "turva",
|
|
174
|
+
}, onKeyDown: e => this.onKeyboardDown(e), "aria-controls": this.ariaControls }, h("span", { class: "duet-range-step-counter", part: "range-numbers" }, this.generateStepSize()), h("duet-action-button", { class: "duet-range-step-button duet-range-step-minus", onClick: e => this.handleClick(e, -1), id: this.leftBn, "aria-label": this.ariaLabels.previous_increment, ref: el => (this.leftBnRef = el), part: "navigation-arrow", iconName: "action-arrow-left-small" }), h("duet-action-button", { class: "duet-range-step-button duet-range-step-plus", onClick: e => this.handleClick(e, 1), "aria-label": this.ariaLabels.next_increment, id: this.rightBn, ref: el => (this.rightBnRef = el), part: "navigation-arrow", iconName: "action-arrow-right-small" })));
|
|
175
|
+
}
|
|
176
|
+
get element() { return this; }
|
|
177
|
+
static get watchers() { return {
|
|
178
|
+
"stepIndex": ["watchStepIndexStateHandler"],
|
|
179
|
+
"stepSize": ["watchStepSizeStateHandler"]
|
|
180
|
+
}; }
|
|
181
|
+
static get style() { return duetRangeStepperCss; }
|
|
182
|
+
}, [1, "duet-range-stepper", {
|
|
183
|
+
"theme": [1025],
|
|
184
|
+
"stepIndex": [1026, "step-index"],
|
|
185
|
+
"stepSize": [2, "step-size"],
|
|
186
|
+
"total": [2],
|
|
187
|
+
"ariaLabelsDefaults": [16],
|
|
188
|
+
"ariaLabels": [16],
|
|
189
|
+
"ariaControls": [1, "accessible-controls"]
|
|
190
|
+
}]);
|
|
191
|
+
function defineCustomElement$1() {
|
|
192
|
+
if (typeof customElements === "undefined") {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const components = ["duet-range-stepper", "duet-action-button", "duet-icon", "duet-visually-hidden"];
|
|
196
|
+
components.forEach(tagName => { switch (tagName) {
|
|
197
|
+
case "duet-range-stepper":
|
|
198
|
+
if (!customElements.get(tagName)) {
|
|
199
|
+
customElements.define(tagName, DuetRangeStepper$1);
|
|
200
|
+
}
|
|
201
|
+
break;
|
|
202
|
+
case "duet-action-button":
|
|
203
|
+
if (!customElements.get(tagName)) {
|
|
204
|
+
defineCustomElement$4();
|
|
205
|
+
}
|
|
206
|
+
break;
|
|
207
|
+
case "duet-icon":
|
|
208
|
+
if (!customElements.get(tagName)) {
|
|
209
|
+
defineCustomElement$3();
|
|
210
|
+
}
|
|
211
|
+
break;
|
|
212
|
+
case "duet-visually-hidden":
|
|
213
|
+
if (!customElements.get(tagName)) {
|
|
214
|
+
defineCustomElement$2();
|
|
215
|
+
}
|
|
216
|
+
break;
|
|
217
|
+
} });
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
const DuetRangeStepper = DuetRangeStepper$1;
|
|
221
|
+
const defineCustomElement = defineCustomElement$1;
|
|
222
|
+
|
|
223
|
+
export { DuetRangeStepper, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface DuetScrollable extends Components.DuetScrollable, HTMLElement {}
|
|
4
|
+
export const DuetScrollable: {
|
|
5
|
+
prototype: DuetScrollable;
|
|
6
|
+
new (): DuetScrollable;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
import { D as DuetScrollable$1, d as defineCustomElement$1 } from './p-2bb345c0.js';
|
|
5
|
+
|
|
6
|
+
const DuetScrollable = DuetScrollable$1;
|
|
7
|
+
const defineCustomElement = defineCustomElement$1;
|
|
8
|
+
|
|
9
|
+
export { DuetScrollable, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface DuetSelect extends Components.DuetSelect, HTMLElement {}
|
|
4
|
+
export const DuetSelect: {
|
|
5
|
+
prototype: DuetSelect;
|
|
6
|
+
new (): DuetSelect;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|