@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,190 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment, 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
|
+
import { i as isKeyboardClick } from './p-d8549efe.js';
|
|
8
|
+
import { s as sanitizeString } from './p-5a9d75e1.js';
|
|
9
|
+
import { g as getColorByName } from './p-86faf728.js';
|
|
10
|
+
import { d as defineCustomElement$3 } from './p-4f516732.js';
|
|
11
|
+
import { d as defineCustomElement$2 } from './p-ee9a63c3.js';
|
|
12
|
+
|
|
13
|
+
var actionArrowUp={"title":"action-arrow-up","tags":"action arrow up caret","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M.75 17.939a.752.752 0 0 1-.53-1.281L10.94 5.94c.283-.284.659-.44 1.059-.44.401 0 .777.156 1.06.438l10.721 10.72a.752.752 0 0 1-.53 1.281.743.743 0 0 1-.53-.22L12 7 1.28 17.719a.743.743 0 0 1-.53.22z\"/></svg>"};
|
|
14
|
+
|
|
15
|
+
const duetCardCss = "*,*::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;margin-bottom:20px !important;display:flex;width:100%;vertical-align:top}:host(.duet-card-info){margin-bottom:16px !important}:host(.duet-m-0){margin:0 !important}.duet-card{padding:20px !important;position:relative;display:block;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-style:normal;font-weight:400;line-height:1.5;color:#00294d;text-decoration:none;border-radius:4px;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}.duet-card.duet-p-0{padding:0 !important}.duet-card.duet-m-0{margin:0 !important}.duet-card:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva .duet-card:focus,.duet-card:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 36em){.duet-card{padding:28px !important}}.duet-card.duet-theme-turva{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;box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}@media (min-width: 36em){.duet-card.x-small{padding:20px !important}}@media (min-width: 36em){.duet-card.medium{padding:28px !important}}@media (min-width: 48em){.duet-card.medium{padding:36px !important}}@media (min-width: 36em){.duet-card.large{padding:36px !important}}@media (min-width: 48em){.duet-card.large{padding:48px !important}}@media (min-width: 36em){.duet-card.x-large{padding:48px !important}}@media (min-width: 48em){.duet-card.x-large{padding:72px !important}}.duet-card.duet-card-collapsed{padding-bottom:0 !important}@media (min-width: 36em){.duet-card.duet-card-collapsed{padding-bottom:0 !important}}.duet-card.info{background:rgba(0, 80, 128, 0.04) !important;box-shadow:none}.duet-card.info.duet-theme-turva{background:rgba(23, 28, 58, 0.035) !important}.duet-card.plain{box-shadow:none}.duet-card.plain:not(.duet-card-has-bg){background:transparent !important}.duet-card-heading-grid{display:flex;flex-direction:row}.duet-card-icon{align-self:center}.duet-card-heading-text{flex:1;word-break:break-word}.duet-card-secondary-heading{font-size:1rem;font-weight:600;word-break:break-word}.duet-card-secondary-heading--inline{display:block;flex:1;align-self:flex-start;line-height:1.875;text-align:right}@media (max-width: 22.5em){.duet-card-secondary-heading--inline{display:none}}.duet-card-secondary-heading--new-line{display:none}@media (max-width: 22.5em){.duet-card-secondary-heading--new-line{display:block}}.duet-card-heading{position:relative;display:block;padding:16px 20px;margin:-20px -20px 20px;overflow:hidden;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:1.25rem;font-weight:800;color:#00294d;border-bottom:1px solid #e1e3e6}@media (min-width: 36em){.duet-card-heading{padding:15px 28px 16px !important;margin:-28px -28px 20px}}.duet-card-heading[role=button]{-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:4px;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;appearance:none}.duet-card-heading[role=button]:focus{outline:0}:host(.user-is-tabbing) .duet-card-heading[role=button]:focus{border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}:host(.user-is-tabbing) .duet-theme-turva .duet-card-heading[role=button]:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-card-collapsed .duet-card-heading{margin-bottom:0 !important;border-bottom:0 !important}.duet-theme-turva .duet-card-heading{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;border-color:#e4e4e6}@media (min-width: 36em){.x-small .duet-card-heading{padding:10px 20px 11px !important;margin:-20px -20px 20px}}@media (min-width: 48em){.x-small .duet-card-heading{padding:10px 20px 11px !important;margin:-20px -20px 20px}}.medium .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.medium .duet-card-heading{padding:15px 28px 16px !important;margin:-28px -28px 20px}}@media (min-width: 48em){.medium .duet-card-heading{padding:19px 36px 20px !important;margin:-36px -36px 28px}}.large .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.large .duet-card-heading{padding:19px 36px 20px !important;margin:-36px -36px 28px}}@media (min-width: 48em){.large .duet-card-heading{padding:26px 48px 27px !important;margin:-48px -48px 36px}}.x-large .duet-card-heading{margin:-20px -20px 20px}@media (min-width: 36em){.x-large .duet-card-heading{padding:26px 48px 27px !important;margin:-48px -48px 36px}}@media (min-width: 48em){.x-large .duet-card-heading{padding:39px 72px 40px !important;margin:-72px -72px 48px}}.none .duet-card-heading{padding:0 0 20px !important;margin:0 0 20px}.duet-card-footer{padding:20px;margin:20px -20px -20px;font-size:0.875rem;line-height:1.25;background:#f5f8fa;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.duet-theme-turva .duet-card-footer{background:#f5f5f7}@media (min-width: 36em){.duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){.duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 36em){.x-small .duet-card-footer{padding:15px 28px 16px !important;padding-left:20px !important;margin:20px -20px -20px}}@media (min-width: 36em){.medium .duet-card-footer{padding:15px 28px 16px !important;margin:20px -28px -28px}}@media (min-width: 48em){.medium .duet-card-footer{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 36em){.large .duet-card-footer{padding:19px 36px 20px !important;margin:28px -36px -36px}}@media (min-width: 48em){.large .duet-card-footer{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 36em){.x-large .duet-card-footer{padding:26px 48px 27px !important;margin:36px -48px -48px}}@media (min-width: 48em){.x-large .duet-card-footer{padding:39px 72px 40px !important;margin:48px -72px -72px}}.none .duet-card-footer{padding:12px 0 !important;margin:20px 0 0}.duet-card-content{width:100%}.duet-card-collapsed .duet-card-content{display:none}.duet-card-caret{position:relative;top:6px;align-self:flex-start;transition:300ms ease}[aria-expanded=false] .duet-card-caret{transform:rotate(-180deg)}.duet-card-image-mask{position:relative;width:calc(100% + 40px);margin:-20px 0 20px -20px;overflow:hidden;border-top-left-radius:4px;border-top-right-radius:4px}@media (min-width: 36em){.small .duet-card-image-mask{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 36em){.medium .duet-card-image-mask{width:calc(100% + 56px);margin:-28px 0 28px -28px}}@media (min-width: 48em){.medium .duet-card-image-mask{width:calc(100% + 72px);margin:-36px 0 28px -36px}}@media (min-width: 36em){.large .duet-card-image-mask{width:calc(100% + 72px);margin:-36px 0 36px -36px}}@media (min-width: 48em){.large .duet-card-image-mask{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 36em){.x-large .duet-card-image-mask{width:calc(100% + 96px);margin:-48px 0 36px -48px}}@media (min-width: 48em){.x-large .duet-card-image-mask{width:calc(100% + 144px);margin:-72px 0 36px -72px}}.none .duet-card-image-mask{width:100%;margin:0 0 20px}.duet-card-image{display:block;width:102%;min-width:1px;max-width:102%;height:auto;min-height:1px;margin-left:-1%;transition:transform 300ms ease;transform:scale(1.0001)}a.duet-card{transition:box-shadow 300ms ease, background-position 300ms ease}a.duet-card:hover{box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(0, 41, 77, 0.1)}a.duet-card:hover .duet-card-image{transform:scale(1.024)}.duet-theme-turva a.duet-card:hover{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07), 0 2px 10px 0 rgba(117, 117, 117, 0.15)}a.duet-card:active{transition:none;transform:translateY(1px)}";
|
|
16
|
+
|
|
17
|
+
const DuetCard$1 = /*@__PURE__*/ proxyCustomElement(class extends H {
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
this.__registerHost();
|
|
21
|
+
this.__attachShadow();
|
|
22
|
+
this.duetToggle = createEvent(this, "duetToggle", 7);
|
|
23
|
+
this.cardId = createID("DuetCard");
|
|
24
|
+
/**
|
|
25
|
+
* The content for the card heading. If empty, both heading and collapse
|
|
26
|
+
* functionality will be hidden.
|
|
27
|
+
*/
|
|
28
|
+
this.heading = "";
|
|
29
|
+
/**
|
|
30
|
+
* Additional content for the card heading. If empty, both heading and collapse
|
|
31
|
+
* functionality will be hidden.
|
|
32
|
+
*/
|
|
33
|
+
this.secondaryHeading = "";
|
|
34
|
+
/**
|
|
35
|
+
* Style variation of the card.
|
|
36
|
+
*/
|
|
37
|
+
this.variation = "default";
|
|
38
|
+
/**
|
|
39
|
+
* Makes the card expand and collapse when the collapse/expand arrow in the
|
|
40
|
+
* heading is clicked or tapped. This option only works together with the
|
|
41
|
+
* heading option, meaning that you also need to set the heading for this
|
|
42
|
+
* functionality to show up.
|
|
43
|
+
*/
|
|
44
|
+
this.collapsible = false;
|
|
45
|
+
/**
|
|
46
|
+
* If the card is collapsible, this property controls whether the card is open or closed.
|
|
47
|
+
*/
|
|
48
|
+
this.open = true;
|
|
49
|
+
/**
|
|
50
|
+
* The actual heading level used for the heading in html markup. This setting
|
|
51
|
+
* exists for accessibility reasons. It doesn’t change the style visually.
|
|
52
|
+
*/
|
|
53
|
+
this.headingLevel = "h2";
|
|
54
|
+
/**
|
|
55
|
+
* Custom color to be used for the card background, as a design token entered in
|
|
56
|
+
* camelCase or kebab-case. Example: "primary".
|
|
57
|
+
*/
|
|
58
|
+
this.background = "gray-lightest";
|
|
59
|
+
/**
|
|
60
|
+
* The padding for the card. Please note that the card padding values don’t directly
|
|
61
|
+
* translate to similar space token names, but instead the card uses it’s own
|
|
62
|
+
* derived defaults.
|
|
63
|
+
*/
|
|
64
|
+
this.padding = "small";
|
|
65
|
+
/**
|
|
66
|
+
* Controls the margin of the component.
|
|
67
|
+
*/
|
|
68
|
+
this.margin = "auto";
|
|
69
|
+
/**
|
|
70
|
+
* Theme of the card.
|
|
71
|
+
*/
|
|
72
|
+
this.theme = "";
|
|
73
|
+
/**
|
|
74
|
+
* Local methods.
|
|
75
|
+
*/
|
|
76
|
+
this.togglePanel = (e) => {
|
|
77
|
+
e.preventDefault();
|
|
78
|
+
this.open = !this.open;
|
|
79
|
+
this.duetToggle.emit({
|
|
80
|
+
component: "duet-card",
|
|
81
|
+
originalEvent: e,
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
this.handleKeyDown = (e) => {
|
|
85
|
+
if (isKeyboardClick(e)) {
|
|
86
|
+
this.togglePanel(e);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Component lifecycle events.
|
|
92
|
+
*/
|
|
93
|
+
componentWillLoad() {
|
|
94
|
+
inheritGlobalTheme(this);
|
|
95
|
+
this.hasHeadingSlot = !!this.element.querySelector(":scope > [slot='heading']");
|
|
96
|
+
this.hasFooter = !!this.element.querySelector("[slot='footer']");
|
|
97
|
+
}
|
|
98
|
+
renderHeading() {
|
|
99
|
+
const HeadingTag = sanitizeString(this.headingLevel);
|
|
100
|
+
const headingProps = this.collapsible
|
|
101
|
+
? {
|
|
102
|
+
role: "button",
|
|
103
|
+
tabindex: "0",
|
|
104
|
+
"aria-controls": this.cardId,
|
|
105
|
+
"aria-expanded": this.open ? "true" : "false",
|
|
106
|
+
onClick: this.togglePanel,
|
|
107
|
+
onKeyDown: this.handleKeyDown,
|
|
108
|
+
}
|
|
109
|
+
: {};
|
|
110
|
+
return (h(HeadingTag, Object.assign({ class: "duet-card-heading" }, headingProps), h("div", { class: "duet-card-heading-grid" }, this.icon && (h(Fragment, null, h("duet-icon", { class: "duet-card-icon", name: this.icon, size: "medium", margin: "none", color: "currentColor" }), h("duet-spacer", { direction: "horizontal", size: "small" }))), h("div", { class: "duet-card-heading-text" }, this.heading ? this.heading : h("slot", { name: "heading" })), this.secondaryHeading && (h(Fragment, null, h("duet-spacer", { direction: "horizontal", size: "small" }), h("div", { class: "duet-card-secondary-heading duet-card-secondary-heading--inline" }, this.secondaryHeading))), this.collapsible && (h(Fragment, null, h("duet-spacer", { direction: "horizontal", size: "small" }), h("duet-icon", { class: "duet-card-caret", icon: actionArrowUp.svg, size: "small", margin: "none", color: "currentColor" })))), this.secondaryHeading && (h("div", { class: "duet-card-secondary-heading duet-card-secondary-heading--new-line" }, this.secondaryHeading)), h("slot", { name: "below-heading" })));
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Sets focus on the specified `duet-card`. Use this method instead of the global
|
|
114
|
+
* `card.focus()`.
|
|
115
|
+
*/
|
|
116
|
+
async setFocus(options) {
|
|
117
|
+
if (this.nativeCard) {
|
|
118
|
+
this.nativeCard.focus(options);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* render() function
|
|
123
|
+
* Always the last one in the class.
|
|
124
|
+
*/
|
|
125
|
+
render() {
|
|
126
|
+
const TagName = this.url ? "a" : "div";
|
|
127
|
+
const styles = {
|
|
128
|
+
backgroundColor: getColorByName(this.background),
|
|
129
|
+
};
|
|
130
|
+
return (h(Host, { class: {
|
|
131
|
+
"duet-m-0": this.margin === "none",
|
|
132
|
+
"duet-card-info": this.variation === "info",
|
|
133
|
+
} }, h(TagName, { href: this.url, style: styles, ref: card => (this.nativeCard = card), "aria-label": this.accessibleLabel, class: {
|
|
134
|
+
"duet-card": true,
|
|
135
|
+
[this.padding]: true,
|
|
136
|
+
[this.variation]: true,
|
|
137
|
+
"duet-p-0": this.padding === "none",
|
|
138
|
+
"duet-theme-turva": this.theme === "turva",
|
|
139
|
+
"duet-card-has-bg": this.background !== "gray-lightest",
|
|
140
|
+
"duet-card-has-icon": !!this.icon,
|
|
141
|
+
"duet-card-collapsed": this.collapsible && !this.open,
|
|
142
|
+
} }, this.image && (h("div", { class: "duet-card-image-mask" }, h("img", { src: this.image, class: "duet-card-image", loading: "lazy", alt: "", "aria-hidden": "true" }))), (this.heading || this.hasHeadingSlot) && this.renderHeading(), h("div", { class: "duet-card-content", id: this.cardId }, h("slot", null), this.hasFooter && (h("div", { class: "duet-card-footer" }, h("slot", { name: "footer" })))))));
|
|
143
|
+
}
|
|
144
|
+
get element() { return this; }
|
|
145
|
+
static get style() { return duetCardCss; }
|
|
146
|
+
}, [1, "duet-card", {
|
|
147
|
+
"accessibleLabel": [1, "accessible-label"],
|
|
148
|
+
"heading": [1],
|
|
149
|
+
"secondaryHeading": [1, "secondary-heading"],
|
|
150
|
+
"variation": [1],
|
|
151
|
+
"collapsible": [4],
|
|
152
|
+
"open": [1540],
|
|
153
|
+
"headingLevel": [1, "heading-level"],
|
|
154
|
+
"icon": [1],
|
|
155
|
+
"image": [1],
|
|
156
|
+
"background": [1],
|
|
157
|
+
"padding": [1],
|
|
158
|
+
"margin": [1],
|
|
159
|
+
"theme": [1025],
|
|
160
|
+
"url": [1],
|
|
161
|
+
"setFocus": [64]
|
|
162
|
+
}]);
|
|
163
|
+
function defineCustomElement$1() {
|
|
164
|
+
if (typeof customElements === "undefined") {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
const components = ["duet-card", "duet-icon", "duet-spacer"];
|
|
168
|
+
components.forEach(tagName => { switch (tagName) {
|
|
169
|
+
case "duet-card":
|
|
170
|
+
if (!customElements.get(tagName)) {
|
|
171
|
+
customElements.define(tagName, DuetCard$1);
|
|
172
|
+
}
|
|
173
|
+
break;
|
|
174
|
+
case "duet-icon":
|
|
175
|
+
if (!customElements.get(tagName)) {
|
|
176
|
+
defineCustomElement$3();
|
|
177
|
+
}
|
|
178
|
+
break;
|
|
179
|
+
case "duet-spacer":
|
|
180
|
+
if (!customElements.get(tagName)) {
|
|
181
|
+
defineCustomElement$2();
|
|
182
|
+
}
|
|
183
|
+
break;
|
|
184
|
+
} });
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
const DuetCard = DuetCard$1;
|
|
188
|
+
const defineCustomElement = defineCustomElement$1;
|
|
189
|
+
|
|
190
|
+
export { DuetCard, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface DuetCheckbox extends Components.DuetCheckbox, HTMLElement {}
|
|
4
|
+
export const DuetCheckbox: {
|
|
5
|
+
prototype: DuetCheckbox;
|
|
6
|
+
new (): DuetCheckbox;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,163 @@
|
|
|
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 duetCheckboxCss = "*.sc-duet-checkbox,*.sc-duet-checkbox::after,*.sc-duet-checkbox::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-checkbox-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-right:8px !important;margin-bottom:12px !important;display:inline-flex;width:100%;vertical-align:bottom;-webkit-tap-highlight-color:transparent}.sc-duet-checkbox-h:last-child,.sc-duet-checkbox-h:last-of-type{margin-right:0 !important}.sc-duet-checkbox-h:last-child:not(:only-child){margin-bottom:0 !important}.duet-m-0.sc-duet-checkbox-h{margin:0 !important}.duet-label.sc-duet-checkbox{position:relative;z-index:100;display:inline;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;vertical-align:top;cursor:pointer;background:transparent;transition:300ms ease}.duet-theme-turva.sc-duet-checkbox .duet-label.sc-duet-checkbox{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-checkbox span.sc-duet-checkbox{display:inline-block;width:calc(100% - 32px);font-size:1rem;font-weight:400;vertical-align:top}.duet-checkbox-container.sc-duet-checkbox{position:relative;width:100%;height:100%}.duet-checkbox.sc-duet-checkbox{padding:14px !important;position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;cursor:pointer;opacity:0}.duet-checkbox.sc-duet-checkbox+label.sc-duet-checkbox::before{z-index:100;display:inline-block;width:20px;height:20px;margin:2px 10px 1px 1px;vertical-align:top;content:\"\";background:white;border:1px solid #00294d;border-radius:4px}.duet-theme-turva.sc-duet-checkbox .duet-checkbox.sc-duet-checkbox+label.sc-duet-checkbox::before{border-color:#171c3a}.duet-checkbox.sc-duet-checkbox:checked+label.sc-duet-checkbox::before{background:#00294d;border:1px solid #00294d}.duet-theme-turva.sc-duet-checkbox .duet-checkbox.sc-duet-checkbox:checked+label.sc-duet-checkbox::before{background:#171c3a;border-color:#171c3a}.duet-checkbox.sc-duet-checkbox:focus+label.sc-duet-checkbox::before{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.duet-theme-turva.sc-duet-checkbox .duet-checkbox.sc-duet-checkbox:focus+label.sc-duet-checkbox::before{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-checkbox.sc-duet-checkbox+label.sc-duet-checkbox{position:static}.duet-checkbox.sc-duet-checkbox:checked+label.sc-duet-checkbox::after{position:absolute;top:6px;left:5px;z-index:200;width:12px;height:12px;pointer-events:none;content:\"\";background:transparent url(\"data:image/svg+xml,%3Csvg%20fill%3D%27white%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M23.374.287a1.5%2C1.5%2C0%2C0%2C0-2.093.345L7.246%2C20.2%2C2.561%2C15.511A1.5%2C1.5%2C0%2C1%2C0%2C.439%2C17.632l5.935%2C5.934a1.525%2C1.525%2C0%2C0%2C0%2C2.279-.186l15.066-21A1.5%2C1.5%2C0%2C0%2C0%2C23.374.287Z%27%20%2F%3E%3C%2Fsvg%3E\") no-repeat 0 0;background-size:100% auto}.duet-checkbox[disabled].sc-duet-checkbox{cursor:default}.duet-checkbox[disabled].sc-duet-checkbox+label.sc-duet-checkbox{color:#657787}.duet-theme-turva.sc-duet-checkbox .duet-checkbox[disabled].sc-duet-checkbox+label.sc-duet-checkbox{color:#747475}.duet-checkbox[disabled].sc-duet-checkbox+label.sc-duet-checkbox::before{border-color:#cfd2d4}.duet-theme-turva.sc-duet-checkbox .duet-checkbox[disabled].sc-duet-checkbox+label.sc-duet-checkbox::before{border-color:#cfcfd1}.duet-checkbox[disabled].sc-duet-checkbox:checked+label.sc-duet-checkbox::before{background:#657787;border:1px solid #657787}.duet-theme-turva.sc-duet-checkbox .duet-checkbox[disabled].sc-duet-checkbox:checked+label.sc-duet-checkbox::before{background:#747475;border-color:#747475}.duet-label-hidden.sc-duet-checkbox .duet-label.sc-duet-checkbox span.sc-duet-checkbox{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}";
|
|
9
|
+
|
|
10
|
+
const DuetCheckbox$1 = /*@__PURE__*/ proxyCustomElement(class extends H {
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
|
+
this.__registerHost();
|
|
14
|
+
this.duetChange = createEvent(this, "duetChange", 3);
|
|
15
|
+
this.duetFocus = createEvent(this, "duetFocus", 7);
|
|
16
|
+
this.duetBlur = createEvent(this, "duetBlur", 7);
|
|
17
|
+
/**
|
|
18
|
+
* Own Properties.
|
|
19
|
+
*/
|
|
20
|
+
this.checkboxId = createID("DuetCheckbox");
|
|
21
|
+
/**
|
|
22
|
+
* Controls the margin of the component.
|
|
23
|
+
*/
|
|
24
|
+
this.margin = "auto";
|
|
25
|
+
/**
|
|
26
|
+
* Aria Details of the component
|
|
27
|
+
*/
|
|
28
|
+
this.accessibleDetails = undefined;
|
|
29
|
+
/**
|
|
30
|
+
* String of id's that indicate alternative labels elements
|
|
31
|
+
*/
|
|
32
|
+
this.accessibleLabelledBy = undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Aria description the button
|
|
35
|
+
*/
|
|
36
|
+
this.accessibleDescription = undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Set whether the input is required or not. Please note that this is required for
|
|
39
|
+
* accessible inputs when the user is required to fill them. When using this property
|
|
40
|
+
* you need to also set “novalidate” attribute to your form element to prevent
|
|
41
|
+
* browser from displaying its own validation errors.
|
|
42
|
+
*/
|
|
43
|
+
this.required = false;
|
|
44
|
+
/**
|
|
45
|
+
* Theme of the checkbox.
|
|
46
|
+
*/
|
|
47
|
+
this.theme = "";
|
|
48
|
+
/**
|
|
49
|
+
* Makes the checkbox component disabled. This prevents users from being able to
|
|
50
|
+
* interact with the checkbox, and conveys its inactive state to assistive technologies.
|
|
51
|
+
*/
|
|
52
|
+
this.disabled = false;
|
|
53
|
+
/**
|
|
54
|
+
* Label for the checkbox
|
|
55
|
+
*/
|
|
56
|
+
this.label = "label";
|
|
57
|
+
/**
|
|
58
|
+
* Visually hide the label, but still show it to screen readers.
|
|
59
|
+
*/
|
|
60
|
+
this.labelHidden = false;
|
|
61
|
+
/**
|
|
62
|
+
* Check state of the checkbox.
|
|
63
|
+
*/
|
|
64
|
+
this.checked = false;
|
|
65
|
+
/**
|
|
66
|
+
* Component event handling.
|
|
67
|
+
*/
|
|
68
|
+
this.onChange = (ev) => {
|
|
69
|
+
this.checked = !this.checked;
|
|
70
|
+
this.duetChange.emit({
|
|
71
|
+
originalEvent: ev,
|
|
72
|
+
checked: this.checked,
|
|
73
|
+
value: this.value,
|
|
74
|
+
component: "duet-checkbox",
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
this.onBlur = (ev) => {
|
|
78
|
+
this.duetBlur.emit({
|
|
79
|
+
originalEvent: ev,
|
|
80
|
+
checked: this.checked,
|
|
81
|
+
value: this.value,
|
|
82
|
+
component: "duet-checkbox",
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
this.onFocus = (ev) => {
|
|
86
|
+
this.duetFocus.emit({
|
|
87
|
+
originalEvent: ev,
|
|
88
|
+
checked: this.checked,
|
|
89
|
+
value: this.value,
|
|
90
|
+
component: "duet-checkbox",
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Component lifecycle events.
|
|
96
|
+
*/
|
|
97
|
+
componentWillLoad() {
|
|
98
|
+
inheritGlobalTheme(this);
|
|
99
|
+
if (this.value === undefined) {
|
|
100
|
+
this.value = this.identifier;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Sets focus on the specified `duet-checkbox`. Use this method instead of the global
|
|
105
|
+
* `input.focus()`.
|
|
106
|
+
*/
|
|
107
|
+
async setFocus(options) {
|
|
108
|
+
this.nativeInput.focus(options);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* render() function
|
|
112
|
+
* Always the last one in the class.
|
|
113
|
+
*/
|
|
114
|
+
render() {
|
|
115
|
+
const identifier = this.identifier || this.checkboxId;
|
|
116
|
+
return (h(Host, { class: { "duet-m-0": this.margin === "none" } }, h("div", { class: {
|
|
117
|
+
"duet-checkbox-container": true,
|
|
118
|
+
"duet-label-hidden": this.labelHidden,
|
|
119
|
+
"duet-theme-turva": this.theme === "turva",
|
|
120
|
+
} }, h("input", { ref: input => (this.nativeInput = input), type: "checkbox", onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.onChange, value: this.value, class: { "duet-checkbox": true, disabled: this.disabled }, checked: this.checked, disabled: this.disabled, tabindex: this.accessibleIndex, "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, required: this.required, role: this.role, name: this.name, id: identifier }), h("label", { class: "duet-label", htmlFor: identifier }, h("span", null, this.label)))));
|
|
121
|
+
}
|
|
122
|
+
get element() { return this; }
|
|
123
|
+
static get style() { return duetCheckboxCss; }
|
|
124
|
+
}, [2, "duet-checkbox", {
|
|
125
|
+
"accessibleActiveDescendant": [1, "accessible-active-descendant"],
|
|
126
|
+
"margin": [1],
|
|
127
|
+
"accessibleControls": [1, "accessible-controls"],
|
|
128
|
+
"accessibleIndex": [1, "accessible-index"],
|
|
129
|
+
"accessibleOwns": [1, "accessible-owns"],
|
|
130
|
+
"accessibleDescribedBy": [1, "accessible-described-by"],
|
|
131
|
+
"accessibleDetails": [1, "accessible-details"],
|
|
132
|
+
"accessibleLabelledBy": [1, "accessible-labelled-by"],
|
|
133
|
+
"accessibleDescription": [1, "accessible-description"],
|
|
134
|
+
"required": [4],
|
|
135
|
+
"theme": [1025],
|
|
136
|
+
"disabled": [516],
|
|
137
|
+
"identifier": [1],
|
|
138
|
+
"label": [1],
|
|
139
|
+
"labelHidden": [4, "label-hidden"],
|
|
140
|
+
"name": [1],
|
|
141
|
+
"role": [1],
|
|
142
|
+
"checked": [1540],
|
|
143
|
+
"value": [1537],
|
|
144
|
+
"setFocus": [64]
|
|
145
|
+
}]);
|
|
146
|
+
function defineCustomElement$1() {
|
|
147
|
+
if (typeof customElements === "undefined") {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
const components = ["duet-checkbox"];
|
|
151
|
+
components.forEach(tagName => { switch (tagName) {
|
|
152
|
+
case "duet-checkbox":
|
|
153
|
+
if (!customElements.get(tagName)) {
|
|
154
|
+
customElements.define(tagName, DuetCheckbox$1);
|
|
155
|
+
}
|
|
156
|
+
break;
|
|
157
|
+
} });
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
const DuetCheckbox = DuetCheckbox$1;
|
|
161
|
+
const defineCustomElement = defineCustomElement$1;
|
|
162
|
+
|
|
163
|
+
export { DuetCheckbox, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface DuetChoiceGroup extends Components.DuetChoiceGroup, HTMLElement {}
|
|
4
|
+
export const DuetChoiceGroup: {
|
|
5
|
+
prototype: DuetChoiceGroup;
|
|
6
|
+
new (): DuetChoiceGroup;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built with Duet Design System
|
|
3
|
+
*/
|
|
4
|
+
import { p as proxyCustomElement, H, h, b as Host } from './p-1ad6b04e.js';
|
|
5
|
+
import { i as inheritGlobalTheme } from './p-4ebf1618.js';
|
|
6
|
+
import { f as findCheckedOption, w as watchForOptions } from './p-12721178.js';
|
|
7
|
+
import { d as defineCustomElement$6 } from './p-92012dcc.js';
|
|
8
|
+
import { d as defineCustomElement$5 } from './p-32a67b55.js';
|
|
9
|
+
import { d as defineCustomElement$4 } from './p-4f516732.js';
|
|
10
|
+
import { d as defineCustomElement$3 } from './p-f1d0dca7.js';
|
|
11
|
+
import { d as defineCustomElement$2 } from './p-53a0c93d.js';
|
|
12
|
+
|
|
13
|
+
const duetChoiceGroupCss = "*.sc-duet-choice-group,*.sc-duet-choice-group::after,*.sc-duet-choice-group::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-choice-group-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:block}@media (min-width: 48em){.horizontal.sc-duet-choice-group-h .duet-choice-group.sc-duet-choice-group{display:flex;margin-bottom:0}}.horizontal.sc-duet-choice-group-h .duet-choice-group.duet-no-stacking.sc-duet-choice-group{display:flex}.duet-choice-group.sc-duet-choice-group{position:relative;width:100%;margin-bottom:-12px}";
|
|
14
|
+
|
|
15
|
+
const duetChoiceSelector = ":scope duet-choice:not(:scope duet-choice duet-choice-group duet-choice):not(:scope duet-choice duet-fieldset duet-choice)";
|
|
16
|
+
const DuetChoiceGroup$1 = /*@__PURE__*/ proxyCustomElement(class extends H {
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
this.__registerHost();
|
|
20
|
+
this.choiceGroupName = "duet-choice-group";
|
|
21
|
+
/**
|
|
22
|
+
* Direction of the choice group.
|
|
23
|
+
*/
|
|
24
|
+
this.direction = "vertical";
|
|
25
|
+
/**
|
|
26
|
+
* Controls the margin of the component.
|
|
27
|
+
*/
|
|
28
|
+
this.margin = "auto";
|
|
29
|
+
/**
|
|
30
|
+
* Theme of the choice group.
|
|
31
|
+
*/
|
|
32
|
+
this.theme = "";
|
|
33
|
+
/**
|
|
34
|
+
* Display choice group in error state along with an error message.
|
|
35
|
+
*/
|
|
36
|
+
this.error = "";
|
|
37
|
+
/**
|
|
38
|
+
* Legend displayed for the choice buttons in this group.
|
|
39
|
+
*/
|
|
40
|
+
this.label = "Label";
|
|
41
|
+
/**
|
|
42
|
+
* Visually hide the label, but still show it to screen readers.
|
|
43
|
+
*/
|
|
44
|
+
this.labelHidden = false;
|
|
45
|
+
/**
|
|
46
|
+
* Additional caption to show inside the label of the choice group.
|
|
47
|
+
*/
|
|
48
|
+
this.caption = undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Tooltip to display next to the label of the choice group.
|
|
51
|
+
*/
|
|
52
|
+
this.tooltip = undefined;
|
|
53
|
+
/**
|
|
54
|
+
* With direction setting you can force the tooltip to always open towards left
|
|
55
|
+
* or right instead of automatically determining the direction.
|
|
56
|
+
*/
|
|
57
|
+
this.tooltipDirection = "auto";
|
|
58
|
+
/**
|
|
59
|
+
* Enable or disable the automatic responsive behaviour of the choice group
|
|
60
|
+
* component when horizontal setting is used. Setting this option to "true"
|
|
61
|
+
* makes sure that contents are stacked vertically on mobile.
|
|
62
|
+
*/
|
|
63
|
+
this.responsive = false;
|
|
64
|
+
this.getChoices = () => {
|
|
65
|
+
return Array.from(this.element.querySelectorAll(duetChoiceSelector));
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Component event handling.
|
|
69
|
+
*/
|
|
70
|
+
this.onSelect = (ev) => {
|
|
71
|
+
if (ev.detail.component !== "duet-choice") {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const selectedChoice = ev.target;
|
|
75
|
+
if (selectedChoice && selectedChoice.parentElement.classList.contains(this.choiceGroupName)) {
|
|
76
|
+
this.value = selectedChoice.value;
|
|
77
|
+
}
|
|
78
|
+
// Prevent events from bubbling up the DOM tree in case
|
|
79
|
+
// this group is a sub-group of another choice group.
|
|
80
|
+
ev.cancelBubble = true;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Component lifecycle events.
|
|
85
|
+
*/
|
|
86
|
+
async connectedCallback() {
|
|
87
|
+
const el = this.element;
|
|
88
|
+
if (this.value === undefined) {
|
|
89
|
+
const choice = findCheckedOption(el, duetChoiceSelector);
|
|
90
|
+
if (choice !== undefined) {
|
|
91
|
+
await choice.componentOnReady();
|
|
92
|
+
if (this.value === undefined) {
|
|
93
|
+
this.value = choice.value;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
this.mutationO = watchForOptions(el, duetChoiceSelector, newOption => {
|
|
98
|
+
if (newOption !== undefined) {
|
|
99
|
+
newOption.componentOnReady().then(() => {
|
|
100
|
+
const choices = this.getChoices();
|
|
101
|
+
if (choices.includes(newOption)) {
|
|
102
|
+
this.value = newOption.value;
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
this.updateChoices();
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
this.updateChoices();
|
|
111
|
+
}
|
|
112
|
+
disconnectedCallback() {
|
|
113
|
+
if (this.mutationO) {
|
|
114
|
+
this.mutationO.disconnect();
|
|
115
|
+
this.mutationO = undefined;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
componentWillLoad() {
|
|
119
|
+
inheritGlobalTheme(this);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Local methods
|
|
123
|
+
*/
|
|
124
|
+
async updateChoices() {
|
|
125
|
+
/**
|
|
126
|
+
* Make sure we get all choices first so values are up to date prior
|
|
127
|
+
* to caching the choice group value
|
|
128
|
+
*/
|
|
129
|
+
const choices = this.getChoices();
|
|
130
|
+
const { value } = this;
|
|
131
|
+
let hasChecked = false;
|
|
132
|
+
// Walk the DOM in reverse order, since the last selected one wins
|
|
133
|
+
for (const choice of choices) {
|
|
134
|
+
choice.name = this.name;
|
|
135
|
+
choice.groupDisabled = this.disabled;
|
|
136
|
+
choice.groupDirection = this.direction;
|
|
137
|
+
choice.groupResponsive = this.responsive;
|
|
138
|
+
if (!hasChecked && choice.value === value) {
|
|
139
|
+
// Correct value for this choice, but this choice isn't checked yet
|
|
140
|
+
// and we haven't found a checked yet
|
|
141
|
+
hasChecked = true;
|
|
142
|
+
choice.checked = true;
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
// This choice doesn't have the correct value or the choice group has been already checked
|
|
146
|
+
choice.checked = false;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Reset value if
|
|
150
|
+
if (!hasChecked) {
|
|
151
|
+
this.value = undefined;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* render() function
|
|
156
|
+
* Always the last one in the class.
|
|
157
|
+
*/
|
|
158
|
+
render() {
|
|
159
|
+
return (h(Host, { onDuetChange: this.onSelect, class: { horizontal: this.direction === "horizontal" } }, h("duet-fieldset", { label: this.label, labelHidden: this.labelHidden, caption: this.caption, error: this.error, margin: this.margin, theme: this.theme }, this.tooltip && (h("duet-tooltip", { slot: "tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), h("div", { class: { [this.choiceGroupName]: true, "duet-no-stacking": !this.responsive } }, h("slot", null)))));
|
|
160
|
+
}
|
|
161
|
+
get element() { return this; }
|
|
162
|
+
static get watchers() { return {
|
|
163
|
+
"value": ["updateChoices"],
|
|
164
|
+
"disabled": ["updateChoices"],
|
|
165
|
+
"name": ["updateChoices"],
|
|
166
|
+
"direction": ["updateChoices"],
|
|
167
|
+
"responsive": ["updateChoices"]
|
|
168
|
+
}; }
|
|
169
|
+
static get style() { return duetChoiceGroupCss; }
|
|
170
|
+
}, [6, "duet-choice-group", {
|
|
171
|
+
"direction": [1],
|
|
172
|
+
"margin": [1],
|
|
173
|
+
"theme": [1025],
|
|
174
|
+
"error": [1],
|
|
175
|
+
"name": [1],
|
|
176
|
+
"label": [1],
|
|
177
|
+
"labelHidden": [4, "label-hidden"],
|
|
178
|
+
"caption": [1],
|
|
179
|
+
"tooltip": [1],
|
|
180
|
+
"tooltipDirection": [1, "tooltip-direction"],
|
|
181
|
+
"responsive": [4],
|
|
182
|
+
"value": [1537],
|
|
183
|
+
"disabled": [4]
|
|
184
|
+
}]);
|
|
185
|
+
function defineCustomElement$1() {
|
|
186
|
+
if (typeof customElements === "undefined") {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
const components = ["duet-choice-group", "duet-caption", "duet-fieldset", "duet-icon", "duet-tooltip", "duet-visually-hidden"];
|
|
190
|
+
components.forEach(tagName => { switch (tagName) {
|
|
191
|
+
case "duet-choice-group":
|
|
192
|
+
if (!customElements.get(tagName)) {
|
|
193
|
+
customElements.define(tagName, DuetChoiceGroup$1);
|
|
194
|
+
}
|
|
195
|
+
break;
|
|
196
|
+
case "duet-caption":
|
|
197
|
+
if (!customElements.get(tagName)) {
|
|
198
|
+
defineCustomElement$6();
|
|
199
|
+
}
|
|
200
|
+
break;
|
|
201
|
+
case "duet-fieldset":
|
|
202
|
+
if (!customElements.get(tagName)) {
|
|
203
|
+
defineCustomElement$5();
|
|
204
|
+
}
|
|
205
|
+
break;
|
|
206
|
+
case "duet-icon":
|
|
207
|
+
if (!customElements.get(tagName)) {
|
|
208
|
+
defineCustomElement$4();
|
|
209
|
+
}
|
|
210
|
+
break;
|
|
211
|
+
case "duet-tooltip":
|
|
212
|
+
if (!customElements.get(tagName)) {
|
|
213
|
+
defineCustomElement$3();
|
|
214
|
+
}
|
|
215
|
+
break;
|
|
216
|
+
case "duet-visually-hidden":
|
|
217
|
+
if (!customElements.get(tagName)) {
|
|
218
|
+
defineCustomElement$2();
|
|
219
|
+
}
|
|
220
|
+
break;
|
|
221
|
+
} });
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
const DuetChoiceGroup = DuetChoiceGroup$1;
|
|
225
|
+
const defineCustomElement = defineCustomElement$1;
|
|
226
|
+
|
|
227
|
+
export { DuetChoiceGroup, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface DuetChoice extends Components.DuetChoice, HTMLElement {}
|
|
4
|
+
export const DuetChoice: {
|
|
5
|
+
prototype: DuetChoice;
|
|
6
|
+
new (): DuetChoice;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|