@duetds/components 5.3.5 → 5.4.2
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 +134 -96
- package/lib/cjs/duet-action-button.cjs.entry.js +25 -7
- 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 +2 -2
- package/lib/cjs/duet-caption_4.cjs.entry.js +2 -2
- package/lib/cjs/duet-card.cjs.entry.js +2 -2
- package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
- package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
- package/lib/cjs/duet-combobox.cjs.entry.js +2 -2
- 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 +18 -13
- 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 +1 -1
- package/lib/cjs/duet-header_2.cjs.entry.js +51 -49
- package/lib/cjs/duet-hero.cjs.entry.js +4 -3
- package/lib/cjs/duet-icon.cjs.entry.js +2 -2
- package/lib/cjs/duet-input_2.cjs.entry.js +21 -4
- 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 +2 -2
- 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 +1 -1
- 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 +1 -1
- 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 +2 -2
- package/lib/cjs/{focus-utils-84c29960.js → focus-utils-9226aef7.js} +1 -1
- package/lib/cjs/{index-772cc42f.js → index-60a8ec8a.js} +8 -1
- package/lib/cjs/{js-utils-be1d29ae.js → js-utils-134e0318.js} +11 -0
- package/lib/cjs/loader.cjs.js +2 -2
- package/lib/cjs/{token-utils-50a1f7e2.js → token-utils-fef5b4eb.js} +1 -0
- package/lib/collection/components/duet-action-button/duet-action-button.js +44 -8
- package/lib/collection/components/duet-choice-group/duet-choice-group.js +7 -1
- package/lib/collection/components/duet-collapsible/duet-collapsible.js +1 -1
- package/lib/collection/components/duet-header/duet-header-icon.js +1 -1
- package/lib/collection/components/duet-header/duet-header.css +69 -43
- package/lib/collection/components/duet-header/duet-header.js +117 -114
- package/lib/collection/components/duet-hero/duet-hero.js +13 -5
- package/lib/collection/components/duet-input/duet-input.js +21 -3
- package/lib/collection/components/duet-upload/duet-upload.js +12 -12
- package/lib/collection/components/duet-upload/upload-validators.js +6 -1
- package/lib/collection/utils/js-utils.js +11 -0
- package/lib/collection/utils/token-utils.js +1 -1
- package/lib/custom-elements-bundle/index.js +132 -73
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/p-07a2ad03.entry.js +4 -0
- package/lib/duet/{p-dbb4a588.js → p-0b3f675e.js} +0 -0
- package/lib/duet/{p-0b426a83.system.entry.js → p-0dbd00e1.system.entry.js} +1 -1
- package/lib/duet/p-12606a4b.entry.js +4 -0
- package/lib/duet/p-21321528.system.entry.js +4 -0
- package/lib/duet/{p-8f74030a.entry.js → p-28f87990.entry.js} +1 -1
- package/lib/duet/{p-4e8f57dd.entry.js → p-2ac07ac9.entry.js} +1 -1
- package/lib/duet/{p-05ff2672.entry.js → p-2b155bd9.entry.js} +1 -1
- package/lib/duet/{p-acaedb00.system.js → p-309e3417.system.js} +3 -3
- package/lib/duet/p-30fc343d.system.entry.js +4 -0
- package/lib/duet/{p-12b8cb2f.system.entry.js → p-322676e3.system.entry.js} +1 -1
- package/lib/duet/{p-c0d98307.system.entry.js → p-33a0c070.system.entry.js} +1 -1
- package/lib/duet/{p-92639d0b.system.js → p-34ea0849.system.js} +0 -0
- package/lib/duet/{p-7dfe1c16.entry.js → p-440e2c47.entry.js} +1 -1
- package/lib/duet/{p-e6fdaa31.entry.js → p-451adbf4.entry.js} +1 -1
- package/lib/duet/{p-3f50d9bd.system.entry.js → p-46b83696.system.entry.js} +1 -1
- package/lib/duet/{p-cdba4c82.entry.js → p-46d9a853.entry.js} +1 -1
- package/lib/duet/{p-4260e8b5.system.entry.js → p-48a036c1.system.entry.js} +1 -1
- package/lib/duet/{p-8a472df4.system.entry.js → p-4dd79e38.system.entry.js} +1 -1
- package/lib/duet/{p-9071d4e1.system.entry.js → p-526e6d8e.system.entry.js} +1 -1
- package/lib/duet/{p-e00170a2.system.entry.js → p-56a80c32.system.entry.js} +1 -1
- package/lib/duet/{p-dfa92326.entry.js → p-56f17656.entry.js} +1 -1
- package/lib/duet/{p-b88b18c3.entry.js → p-590e8508.entry.js} +1 -1
- package/lib/duet/{p-43c1dcf5.entry.js → p-5a5117d4.entry.js} +1 -1
- package/lib/duet/{p-64a691e3.entry.js → p-5c1646f2.entry.js} +1 -1
- package/lib/duet/p-5ea398eb.entry.js +4 -0
- package/lib/duet/{p-4903478e.entry.js → p-5f528fa2.entry.js} +1 -1
- package/lib/duet/p-6002f3d2.system.js +4 -0
- package/lib/duet/{p-e908bfdc.system.entry.js → p-62303524.system.entry.js} +1 -1
- package/lib/duet/{p-b972e7b7.system.entry.js → p-6255147e.system.entry.js} +1 -1
- package/lib/duet/{p-3f1e781d.system.entry.js → p-63aea0dc.system.entry.js} +1 -1
- package/lib/duet/{p-ba0a4b7e.system.entry.js → p-64cbe9b7.system.entry.js} +1 -1
- package/lib/duet/p-65821960.entry.js +4 -0
- package/lib/duet/p-675d713b.entry.js +4 -0
- package/lib/duet/{p-c069f560.entry.js → p-67734fad.entry.js} +1 -1
- package/lib/duet/{p-fab89c9d.system.entry.js → p-67ed94fa.system.entry.js} +1 -1
- package/lib/duet/{p-16bc9a7e.system.entry.js → p-6ab6ce4f.system.entry.js} +1 -1
- package/lib/duet/{p-083e39cc.entry.js → p-6c5d3def.entry.js} +1 -1
- package/lib/duet/{p-815f4a10.system.entry.js → p-6e3f764f.system.entry.js} +1 -1
- package/lib/duet/{p-bacb27a1.js → p-6e64cd02.js} +2 -2
- package/lib/duet/{p-e40b610d.entry.js → p-6f1d6649.entry.js} +1 -1
- package/lib/duet/{p-0d188b2d.entry.js → p-70e567e9.entry.js} +1 -1
- package/lib/duet/{p-6dd1cf98.entry.js → p-77e3591e.entry.js} +1 -1
- package/lib/duet/{p-9027d0a4.system.entry.js → p-79948b47.system.entry.js} +1 -1
- package/lib/duet/{p-442f1dd5.entry.js → p-7d0051ea.entry.js} +1 -1
- package/lib/duet/p-7dfc475d.entry.js +4 -0
- package/lib/duet/{p-b787e777.system.entry.js → p-80d16341.system.entry.js} +1 -1
- package/lib/duet/{p-85c68d48.system.entry.js → p-817ef07d.system.entry.js} +1 -1
- package/lib/duet/{p-35d6061d.system.entry.js → p-838ef01e.system.entry.js} +1 -1
- package/lib/duet/{p-8fa7559b.system.entry.js → p-84310e48.system.entry.js} +1 -1
- package/lib/duet/{p-631054f3.system.js → p-89f50fd8.system.js} +1 -1
- package/lib/duet/{p-8b7adbf6.system.entry.js → p-8bf92f1e.system.entry.js} +1 -1
- package/lib/duet/p-8e1cf2fb.system.entry.js +4 -0
- package/lib/duet/{p-20f4d5d2.system.entry.js → p-9205c79a.system.entry.js} +1 -1
- package/lib/duet/{p-100b6a91.entry.js → p-97130a4c.entry.js} +1 -1
- package/lib/duet/{p-c4b6bf46.entry.js → p-97631cdc.entry.js} +1 -1
- package/lib/duet/{p-f9045aab.system.entry.js → p-98ca5a08.system.entry.js} +2 -2
- package/lib/duet/p-99bf8545.js +4 -0
- package/lib/duet/{p-97bb6fdd.system.entry.js → p-9c9fbda5.system.entry.js} +1 -1
- package/lib/duet/{p-8eb6610c.system.entry.js → p-9df52009.system.entry.js} +1 -1
- package/lib/duet/{p-634fda0f.entry.js → p-a03485f8.entry.js} +1 -1
- package/lib/duet/p-a806d616.entry.js +4 -0
- package/lib/duet/{p-56ae348b.entry.js → p-a91bb73d.entry.js} +1 -1
- package/lib/duet/{p-e36b95e0.system.entry.js → p-ac86999f.system.entry.js} +1 -1
- package/lib/duet/{p-b48811b5.entry.js → p-aefb80e3.entry.js} +1 -1
- package/lib/duet/{p-7de54632.entry.js → p-b004cbd3.entry.js} +1 -1
- package/lib/duet/{p-3d27e5ed.system.entry.js → p-b28e6872.system.entry.js} +1 -1
- package/lib/duet/{p-923b03a6.system.entry.js → p-b2ac632f.system.entry.js} +1 -1
- package/lib/duet/{p-1a8dfe6e.system.entry.js → p-b70f2ae2.system.entry.js} +1 -1
- package/lib/duet/{p-f301004d.entry.js → p-bc24eeda.entry.js} +1 -1
- package/lib/duet/{p-5184e972.system.entry.js → p-bec4d094.system.entry.js} +1 -1
- package/lib/duet/{p-c9f704c9.entry.js → p-bf8f3b14.entry.js} +1 -1
- package/lib/duet/{p-01ccafd3.system.entry.js → p-c383ceb4.system.entry.js} +2 -2
- package/lib/duet/{p-411bec39.system.entry.js → p-c694e7fb.system.entry.js} +1 -1
- package/lib/duet/p-c918ce45.system.entry.js +4 -0
- package/lib/duet/{p-fdaaa3ad.entry.js → p-c9f244f6.entry.js} +1 -1
- package/lib/duet/{p-b74364d3.entry.js → p-d3d6e75d.entry.js} +1 -1
- package/lib/duet/p-de3c0f4d.js +4 -0
- package/lib/duet/{p-2553a64a.entry.js → p-dfd9a9ff.entry.js} +1 -1
- package/lib/duet/{p-36924c8f.entry.js → p-e3017ffc.entry.js} +1 -1
- package/lib/duet/{p-4fd4ddda.entry.js → p-e358c599.entry.js} +1 -1
- package/lib/duet/{p-d06f9b6c.entry.js → p-e5b22358.entry.js} +1 -1
- package/lib/duet/{p-f2dab640.system.entry.js → p-ea12c081.system.entry.js} +1 -1
- package/lib/duet/{p-ea806947.entry.js → p-ef2f6881.entry.js} +1 -1
- package/lib/duet/{p-4dcbaccf.system.entry.js → p-f2831cda.system.entry.js} +1 -1
- package/lib/duet/{p-0f144788.entry.js → p-f2dce86d.entry.js} +1 -1
- package/lib/duet/{p-86a47942.entry.js → p-f30eb0fd.entry.js} +1 -1
- package/lib/duet/{p-8708f306.system.entry.js → p-f661ebf9.system.entry.js} +1 -1
- package/lib/duet/{p-e980faf9.system.entry.js → p-f6f30fb7.system.entry.js} +1 -1
- package/lib/duet/{p-ff94713b.entry.js → p-faf6cfe8.entry.js} +1 -1
- package/lib/duet/{p-2d58c660.system.entry.js → p-fdb0277c.system.entry.js} +1 -1
- package/lib/duet/{p-8c282db8.system.js → p-fe03f359.system.js} +1 -1
- package/lib/duet/{p-7382c47e.system.entry.js → p-ffadc9ea.system.entry.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +25 -7
- 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 +2 -2
- package/lib/esm/duet-caption_4.entry.js +2 -2
- package/lib/esm/duet-card.entry.js +2 -2
- package/lib/esm/duet-checkbox.entry.js +1 -1
- package/lib/esm/duet-choice_2.entry.js +2 -2
- package/lib/esm/duet-collapsible.entry.js +2 -2
- package/lib/esm/duet-combobox.entry.js +2 -2
- 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 +18 -13
- 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 +1 -1
- package/lib/esm/duet-header_2.entry.js +51 -49
- package/lib/esm/duet-hero.entry.js +4 -3
- package/lib/esm/duet-icon.entry.js +2 -2
- package/lib/esm/duet-input_2.entry.js +21 -4
- 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 +2 -2
- 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 +1 -1
- 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 +1 -1
- 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 +2 -2
- package/lib/esm/{focus-utils-07c543df.js → focus-utils-8dc04c1c.js} +1 -1
- package/lib/esm/{index-bcca1cb8.js → index-e1964887.js} +8 -2
- package/lib/esm/{js-utils-52e0944c.js → js-utils-fa98b8cd.js} +11 -0
- package/lib/esm/loader.js +2 -2
- package/lib/esm/{token-utils-1f9435bc.js → token-utils-df78f4d8.js} +1 -1
- package/lib/esm-es5/duet-action-button.entry.js +2 -2
- 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 +2 -2
- 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-8dc04c1c.js +4 -0
- package/lib/esm-es5/{index-bcca1cb8.js → index-e1964887.js} +3 -3
- package/lib/esm-es5/{js-utils-52e0944c.js → js-utils-fa98b8cd.js} +0 -0
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/token-utils-df78f4d8.js +4 -0
- package/lib/types/components/duet-action-button/duet-action-button.d.ts +12 -4
- package/lib/types/components/duet-header/duet-header-icon.d.ts +1 -0
- package/lib/types/components/duet-header/duet-header.d.ts +2 -2
- package/lib/types/components/duet-hero/duet-hero.d.ts +4 -0
- package/lib/types/components/duet-input/duet-input.d.ts +2 -1
- package/lib/types/components/duet-upload/duet-upload.d.ts +1 -2
- package/lib/types/components.d.ts +17 -9
- package/lib/types/utils/js-utils.d.ts +11 -0
- package/lib/types/utils/token-utils.d.ts +1 -0
- package/package.json +5 -5
- package/lib/duet/p-1717ed62.entry.js +0 -4
- package/lib/duet/p-32dd246d.entry.js +0 -4
- package/lib/duet/p-35159c88.system.entry.js +0 -4
- package/lib/duet/p-61507bc8.entry.js +0 -4
- package/lib/duet/p-6190e2d6.system.js +0 -4
- package/lib/duet/p-661f842b.entry.js +0 -4
- package/lib/duet/p-89f53f18.system.entry.js +0 -4
- package/lib/duet/p-909aaac4.entry.js +0 -4
- package/lib/duet/p-9cca0bb4.js +0 -4
- package/lib/duet/p-9df4bfa0.system.entry.js +0 -4
- package/lib/duet/p-a818e289.entry.js +0 -4
- package/lib/duet/p-c60f00e7.system.entry.js +0 -4
- package/lib/duet/p-ce276fc8.js +0 -4
- package/lib/duet/p-dbb2579c.entry.js +0 -4
- package/lib/esm-es5/focus-utils-07c543df.js +0 -4
- package/lib/esm-es5/token-utils-1f9435bc.js +0 -4
|
@@ -7,7 +7,7 @@ import { createID } from "../../utils/create-id";
|
|
|
7
7
|
import { debounce } from "../../utils/js-utils";
|
|
8
8
|
import { isKeyboardClick } from "../../utils/keyboard-utils";
|
|
9
9
|
import { getLocaleString } from "../../utils/language-utils";
|
|
10
|
-
import { getColorByName, shadeRGBColor } from "../../utils/token-utils";
|
|
10
|
+
import { capitalizeFirstLetter, getColorByName, shadeRGBColor } from "../../utils/token-utils";
|
|
11
11
|
/**
|
|
12
12
|
* @slot default - slot inside an invisible element, this can be used to enhance accessibility
|
|
13
13
|
* @part button - this part enables style overrides for the button
|
|
@@ -15,6 +15,7 @@ import { getColorByName, shadeRGBColor } from "../../utils/token-utils";
|
|
|
15
15
|
*/
|
|
16
16
|
export class DuetActionButton {
|
|
17
17
|
constructor() {
|
|
18
|
+
this.listId = createID("duet-action-button");
|
|
18
19
|
this.numbersStore = "";
|
|
19
20
|
/**
|
|
20
21
|
* Theme of the pagination.
|
|
@@ -62,6 +63,13 @@ export class DuetActionButton {
|
|
|
62
63
|
* to $size-icon-medium on mobile viewports. Example: "color-primary".
|
|
63
64
|
*/
|
|
64
65
|
this.background = "";
|
|
66
|
+
/**
|
|
67
|
+
* Title of the action button (shows as DOM tooltip when hovering)
|
|
68
|
+
* if set to true, this will try to add a best-guess title based on action-name
|
|
69
|
+
* if set to a string the string is used
|
|
70
|
+
* if set to false nothing is set
|
|
71
|
+
*/
|
|
72
|
+
this.accessibleTitle = true;
|
|
65
73
|
/**
|
|
66
74
|
* Described By id
|
|
67
75
|
*/
|
|
@@ -79,7 +87,7 @@ export class DuetActionButton {
|
|
|
79
87
|
*/
|
|
80
88
|
this.accessibleDescription = undefined;
|
|
81
89
|
/**
|
|
82
|
-
* Default
|
|
90
|
+
* Default accessible labels
|
|
83
91
|
*/
|
|
84
92
|
this.accessibleLabelsDefaults = {
|
|
85
93
|
en: {
|
|
@@ -93,14 +101,13 @@ export class DuetActionButton {
|
|
|
93
101
|
},
|
|
94
102
|
};
|
|
95
103
|
/**
|
|
96
|
-
* Default
|
|
104
|
+
* Default accessible labels
|
|
97
105
|
*/
|
|
98
106
|
this.accessibleLabels = getLocaleString(this.accessibleLabelsDefaults);
|
|
99
107
|
/**
|
|
100
108
|
* Used to indicate which dom element with ID this element controls
|
|
101
109
|
*/
|
|
102
110
|
this.accessibleControls = "";
|
|
103
|
-
this.listId = createID("duet-action-button");
|
|
104
111
|
/**
|
|
105
112
|
* Private methods.
|
|
106
113
|
*/
|
|
@@ -122,6 +129,17 @@ export class DuetActionButton {
|
|
|
122
129
|
this.emitPageEvent(e);
|
|
123
130
|
}
|
|
124
131
|
}
|
|
132
|
+
//return readable title for the action-button
|
|
133
|
+
getTitle() {
|
|
134
|
+
let titleString = "";
|
|
135
|
+
if (typeof this.accessibleTitle === "string") {
|
|
136
|
+
titleString = this.accessibleTitle;
|
|
137
|
+
}
|
|
138
|
+
if (this.accessibleTitle === true) {
|
|
139
|
+
titleString = capitalizeFirstLetter(`${this.actionName}`);
|
|
140
|
+
}
|
|
141
|
+
return titleString;
|
|
142
|
+
}
|
|
125
143
|
//set update current when mouse click on page number
|
|
126
144
|
async onMouseHandler(e) {
|
|
127
145
|
e.preventDefault();
|
|
@@ -169,7 +187,7 @@ export class DuetActionButton {
|
|
|
169
187
|
"duet-action-button": true,
|
|
170
188
|
"duet-action-button--disabled": this.disabled,
|
|
171
189
|
[`duet-action-button--${this.theme}`]: this.theme !== "",
|
|
172
|
-
}, type: "button", onClick: e => this.onMouseHandler(e), "aria-label": this.accessibleLabels.label, "aria-labelledby": this.accessibleLabelledBy, "aria-description": this.accessibleDescription, "aria-describedby": this.accessibleDescribedBy, "aria-details": this.accessibleDetails, "aria-controls": this.accessibleControls },
|
|
190
|
+
}, type: "button", onClick: e => this.onMouseHandler(e), "aria-label": this.accessibleLabels.label, "aria-labelledby": this.accessibleLabelledBy, "aria-description": this.accessibleDescription, "aria-describedby": this.accessibleDescribedBy, "aria-details": this.accessibleDetails, "aria-controls": this.accessibleControls, title: this.getTitle() },
|
|
173
191
|
h("duet-icon", { part: "icon", name: this.iconName, color: this.iconColor, margin: "none", size: this.iconSize }),
|
|
174
192
|
h("duet-visually-hidden", null,
|
|
175
193
|
h("slot", null)))));
|
|
@@ -386,6 +404,24 @@ export class DuetActionButton {
|
|
|
386
404
|
"reflect": false,
|
|
387
405
|
"defaultValue": "\"\""
|
|
388
406
|
},
|
|
407
|
+
"accessibleTitle": {
|
|
408
|
+
"type": "any",
|
|
409
|
+
"mutable": false,
|
|
410
|
+
"complexType": {
|
|
411
|
+
"original": "string | boolean",
|
|
412
|
+
"resolved": "boolean | string",
|
|
413
|
+
"references": {}
|
|
414
|
+
},
|
|
415
|
+
"required": false,
|
|
416
|
+
"optional": false,
|
|
417
|
+
"docs": {
|
|
418
|
+
"tags": [],
|
|
419
|
+
"text": "Title of the action button (shows as DOM tooltip when hovering)\nif set to true, this will try to add a best-guess title based on action-name\nif set to a string the string is used\nif set to false nothing is set"
|
|
420
|
+
},
|
|
421
|
+
"attribute": "title",
|
|
422
|
+
"reflect": false,
|
|
423
|
+
"defaultValue": "true"
|
|
424
|
+
},
|
|
389
425
|
"accessibleDescribedBy": {
|
|
390
426
|
"type": "string",
|
|
391
427
|
"mutable": false,
|
|
@@ -475,7 +511,7 @@ export class DuetActionButton {
|
|
|
475
511
|
"optional": false,
|
|
476
512
|
"docs": {
|
|
477
513
|
"tags": [],
|
|
478
|
-
"text": "Default
|
|
514
|
+
"text": "Default accessible labels"
|
|
479
515
|
},
|
|
480
516
|
"defaultValue": "{\n en: {\n label: \"Click to activate action\",\n },\n fi: {\n label: \"Klikkaa toiminnon aktivointiin\",\n },\n sv: {\n label: \"Klicka f\u00F6r att aktivera \u00E5tg\u00E4rd\",\n },\n }"
|
|
481
517
|
},
|
|
@@ -495,7 +531,7 @@ export class DuetActionButton {
|
|
|
495
531
|
"optional": false,
|
|
496
532
|
"docs": {
|
|
497
533
|
"tags": [],
|
|
498
|
-
"text": "Default
|
|
534
|
+
"text": "Default accessible labels"
|
|
499
535
|
},
|
|
500
536
|
"defaultValue": "getLocaleString(\n this.accessibleLabelsDefaults\n )"
|
|
501
537
|
},
|
|
@@ -529,7 +565,7 @@ export class DuetActionButton {
|
|
|
529
565
|
"composed": true,
|
|
530
566
|
"docs": {
|
|
531
567
|
"tags": [],
|
|
532
|
-
"text": "Emitted
|
|
568
|
+
"text": "Emitted when an action has been invoked"
|
|
533
569
|
},
|
|
534
570
|
"complexType": {
|
|
535
571
|
"original": "DuetActionButtonEvent",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
|
-
import { Component, Element, h, Host, Prop, Watch } from "@stencil/core";
|
|
4
|
+
import { Build, Component, Element, h, Host, Prop, Watch } from "@stencil/core";
|
|
5
5
|
import { inheritGlobalTheme } from "../../common/themeable-component";
|
|
6
6
|
import { findCheckedOption, watchForOptions } from "../../utils/watch-options";
|
|
7
7
|
export class DuetChoiceGroup {
|
|
@@ -69,6 +69,9 @@ export class DuetChoiceGroup {
|
|
|
69
69
|
* Component lifecycle events.
|
|
70
70
|
*/
|
|
71
71
|
async connectedCallback() {
|
|
72
|
+
if (Build.isServer) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
72
75
|
const el = this.element;
|
|
73
76
|
if (this.value === undefined) {
|
|
74
77
|
const choice = findCheckedOption(el, ":scope > duet-choice");
|
|
@@ -92,6 +95,9 @@ export class DuetChoiceGroup {
|
|
|
92
95
|
this.updateChoices();
|
|
93
96
|
}
|
|
94
97
|
disconnectedCallback() {
|
|
98
|
+
if (Build.isServer) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
95
101
|
if (this.mutationO) {
|
|
96
102
|
this.mutationO.disconnect();
|
|
97
103
|
this.mutationO = undefined;
|
|
@@ -137,7 +137,7 @@ export class DuetCollapsible {
|
|
|
137
137
|
h("slot", null))));
|
|
138
138
|
}
|
|
139
139
|
static get is() { return "duet-collapsible"; }
|
|
140
|
-
static get encapsulation() { return "
|
|
140
|
+
static get encapsulation() { return "scoped"; }
|
|
141
141
|
static get originalStyleUrls() { return {
|
|
142
142
|
"$": ["duet-collapsible.scss"]
|
|
143
143
|
}; }
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
import { h } from "@stencil/core";
|
|
5
5
|
export const DuetHeaderIcon = (props, _children) => {
|
|
6
6
|
const iconSize = props.iconSize ? props.iconSize : "x-small";
|
|
7
|
-
return (h("span", { class:
|
|
7
|
+
return (h("span", { class: `duet-header-icon ${props.class ? props.class : ""}` },
|
|
8
8
|
h("duet-icon", { margin: "none", size: iconSize, icon: props.icon, color: "currentColor" })));
|
|
9
9
|
};
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
@supports (position: -webkit-sticky) {
|
|
42
|
-
:host(.duet-header-multi-level-
|
|
42
|
+
:host(.duet-header-multi-level-variation) {
|
|
43
43
|
top: 0;
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
@supports (position: sticky) {
|
|
47
|
-
:host(.duet-header-multi-level-
|
|
47
|
+
:host(.duet-header-multi-level-variation) {
|
|
48
48
|
top: 0;
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -578,6 +578,20 @@ button {
|
|
|
578
578
|
color: #c60c30;
|
|
579
579
|
}
|
|
580
580
|
}
|
|
581
|
+
.duet-header-button.duet-header-logout .duet-header-icon.mobile {
|
|
582
|
+
display: block;
|
|
583
|
+
}
|
|
584
|
+
.duet-header-button.duet-header-logout .duet-header-icon.desktop {
|
|
585
|
+
display: none;
|
|
586
|
+
}
|
|
587
|
+
@media (min-width: 62em) {
|
|
588
|
+
.duet-header-button.duet-header-logout .duet-header-icon.mobile {
|
|
589
|
+
display: none;
|
|
590
|
+
}
|
|
591
|
+
.duet-header-button.duet-header-logout .duet-header-icon.desktop {
|
|
592
|
+
display: block;
|
|
593
|
+
}
|
|
594
|
+
}
|
|
581
595
|
.duet-header-utils .duet-header-button.duet-header-logout {
|
|
582
596
|
align-self: center;
|
|
583
597
|
justify-content: center;
|
|
@@ -1011,61 +1025,73 @@ button {
|
|
|
1011
1025
|
opacity: 1;
|
|
1012
1026
|
}
|
|
1013
1027
|
|
|
1014
|
-
|
|
1028
|
+
@media (min-width: 62em) {
|
|
1029
|
+
.duet-header-items-have-sub-items {
|
|
1030
|
+
display: none;
|
|
1031
|
+
}
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1034
|
+
.duet-header-multi-level {
|
|
1035
|
+
display: none;
|
|
1015
1036
|
height: 6rem;
|
|
1016
1037
|
}
|
|
1017
|
-
|
|
1038
|
+
@media (min-width: 62em) {
|
|
1039
|
+
.duet-header-multi-level {
|
|
1040
|
+
display: block;
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
.duet-header-multi-level .duet-header-top {
|
|
1018
1044
|
justify-content: space-between;
|
|
1019
1045
|
height: 6rem;
|
|
1020
1046
|
}
|
|
1021
|
-
.duet-header-multi-level
|
|
1047
|
+
.duet-header-multi-level .duet-header-button {
|
|
1022
1048
|
height: 6rem;
|
|
1023
1049
|
}
|
|
1024
|
-
.duet-header-multi-level
|
|
1050
|
+
.duet-header-multi-level .logo-and-segment {
|
|
1025
1051
|
display: flex;
|
|
1026
1052
|
flex-basis: 0;
|
|
1027
1053
|
flex-direction: column;
|
|
1028
1054
|
flex-grow: 1;
|
|
1029
1055
|
padding-top: 1rem;
|
|
1030
1056
|
}
|
|
1031
|
-
.duet-header-multi-level
|
|
1057
|
+
.duet-header-multi-level .logo-and-segment .duet-header-dropdown {
|
|
1032
1058
|
z-index: 400;
|
|
1033
1059
|
margin-left: 2rem;
|
|
1034
1060
|
}
|
|
1035
|
-
.duet-header-multi-level
|
|
1061
|
+
.duet-header-multi-level .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content {
|
|
1036
1062
|
background: #f3f9fc;
|
|
1037
1063
|
}
|
|
1038
|
-
.duet-header-multi-level
|
|
1064
|
+
.duet-header-multi-level .logo-and-segment button {
|
|
1039
1065
|
align-items: flex-start;
|
|
1040
1066
|
height: 2rem;
|
|
1041
1067
|
font-weight: 600;
|
|
1042
1068
|
line-height: 1rem;
|
|
1043
1069
|
}
|
|
1044
|
-
.duet-header-multi-level
|
|
1070
|
+
.duet-header-multi-level .logo-and-segment button::before {
|
|
1045
1071
|
display: none;
|
|
1046
1072
|
}
|
|
1047
|
-
.duet-header-multi-level
|
|
1073
|
+
.duet-header-multi-level .logo-and-segment .duet-header-caret {
|
|
1048
1074
|
top: 25%;
|
|
1049
1075
|
}
|
|
1050
|
-
.duet-header-multi-level-
|
|
1076
|
+
.duet-header-multi-level-nav {
|
|
1051
1077
|
display: flex;
|
|
1052
1078
|
}
|
|
1053
|
-
.duet-header-multi-level-
|
|
1079
|
+
.duet-header-multi-level-nav .duet-header-dropdown {
|
|
1054
1080
|
position: static;
|
|
1055
1081
|
}
|
|
1056
|
-
.duet-header-multi-level-
|
|
1082
|
+
.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-toggle {
|
|
1057
1083
|
z-index: 400;
|
|
1058
1084
|
padding-right: 1rem;
|
|
1059
1085
|
font-size: 1rem;
|
|
1060
1086
|
font-weight: 600;
|
|
1061
1087
|
}
|
|
1062
|
-
.duet-header-multi-level-
|
|
1088
|
+
.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-toggle.active {
|
|
1063
1089
|
color: #0077b3;
|
|
1064
1090
|
}
|
|
1065
|
-
.duet-header-multi-level-
|
|
1091
|
+
.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-toggle.active:not(.open) .duet-header-caret {
|
|
1066
1092
|
transform: translateY(-50%) rotate(0deg);
|
|
1067
1093
|
}
|
|
1068
|
-
.duet-header-multi-level-
|
|
1094
|
+
.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content {
|
|
1069
1095
|
z-index: 399;
|
|
1070
1096
|
display: flex;
|
|
1071
1097
|
justify-content: center;
|
|
@@ -1078,7 +1104,7 @@ button {
|
|
|
1078
1104
|
box-shadow: 0 2px 6px 0 rgba(0, 41, 77, 0.07);
|
|
1079
1105
|
transition: none;
|
|
1080
1106
|
}
|
|
1081
|
-
.duet-header-multi-level-
|
|
1107
|
+
.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a {
|
|
1082
1108
|
position: relative;
|
|
1083
1109
|
display: flex;
|
|
1084
1110
|
flex-direction: column;
|
|
@@ -1090,7 +1116,7 @@ button {
|
|
|
1090
1116
|
padding: 0 1rem !important;
|
|
1091
1117
|
font-weight: 600;
|
|
1092
1118
|
}
|
|
1093
|
-
.duet-header-multi-level-
|
|
1119
|
+
.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a::after {
|
|
1094
1120
|
position: absolute;
|
|
1095
1121
|
top: auto;
|
|
1096
1122
|
bottom: 0;
|
|
@@ -1103,82 +1129,82 @@ button {
|
|
|
1103
1129
|
transition: 300ms ease;
|
|
1104
1130
|
transform: translateY(3px);
|
|
1105
1131
|
}
|
|
1106
|
-
.duet-header-multi-level-
|
|
1132
|
+
.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a.active {
|
|
1107
1133
|
font-weight: 600;
|
|
1108
1134
|
color: #0077b3;
|
|
1109
1135
|
background: none;
|
|
1110
1136
|
}
|
|
1111
|
-
.duet-header-multi-level-
|
|
1137
|
+
.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a.active::after {
|
|
1112
1138
|
transform: translateY(0);
|
|
1113
1139
|
}
|
|
1114
|
-
.duet-header-multi-level-
|
|
1140
|
+
.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a .duet-header-icon {
|
|
1115
1141
|
margin: 0;
|
|
1116
1142
|
}
|
|
1117
|
-
.duet-header-multi-level-
|
|
1143
|
+
.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content .duet-header-badge {
|
|
1118
1144
|
position: absolute;
|
|
1119
1145
|
margin-top: -2rem;
|
|
1120
1146
|
margin-right: -2.25rem;
|
|
1121
1147
|
}
|
|
1122
|
-
.duet-header-multi-level-
|
|
1148
|
+
.duet-header-multi-level-nav button::before {
|
|
1123
1149
|
display: none;
|
|
1124
1150
|
}
|
|
1125
|
-
.duet-header-multi-level-
|
|
1151
|
+
.duet-header-multi-level-nav .duet-header-caret {
|
|
1126
1152
|
right: 1%;
|
|
1127
1153
|
}
|
|
1128
|
-
.duet-header-multi-level-
|
|
1154
|
+
.duet-header-multi-level-utils {
|
|
1129
1155
|
display: flex;
|
|
1130
1156
|
flex-basis: 0;
|
|
1131
1157
|
flex-grow: 1;
|
|
1132
1158
|
justify-content: flex-end;
|
|
1133
1159
|
}
|
|
1134
|
-
.duet-header-multi-level-
|
|
1160
|
+
.duet-header-multi-level-utils > :last-child::before {
|
|
1135
1161
|
display: none;
|
|
1136
1162
|
}
|
|
1137
|
-
.duet-header-multi-level-
|
|
1163
|
+
.duet-header-multi-level-utils > :last-child.duet-header-dropdown .duet-header-button::before {
|
|
1138
1164
|
display: none;
|
|
1139
1165
|
}
|
|
1140
|
-
.duet-header-multi-level-
|
|
1166
|
+
.duet-header-multi-level-utils .duet-header-dropdown {
|
|
1141
1167
|
z-index: 400;
|
|
1142
1168
|
}
|
|
1143
|
-
.duet-header-multi-level-
|
|
1169
|
+
.duet-header-multi-level-utils .duet-header-dropdown .duet-header-dropdown-content {
|
|
1144
1170
|
background: #f3f9fc;
|
|
1145
1171
|
}
|
|
1146
|
-
.duet-header-multi-level-
|
|
1147
|
-
.duet-header-multi-level-
|
|
1172
|
+
.duet-header-multi-level-utils .duet-header-button-label,
|
|
1173
|
+
.duet-header-multi-level-utils .duet-header-dropdown-label {
|
|
1148
1174
|
display: none;
|
|
1149
1175
|
}
|
|
1150
1176
|
@media (min-width: 64.0625em) {
|
|
1151
|
-
.duet-header-multi-level-
|
|
1152
|
-
.duet-header-multi-level-
|
|
1177
|
+
.duet-header-multi-level-utils .duet-header-button-label,
|
|
1178
|
+
.duet-header-multi-level-utils .duet-header-dropdown-label {
|
|
1153
1179
|
display: initial;
|
|
1154
1180
|
}
|
|
1155
1181
|
}
|
|
1156
|
-
.duet-header-multi-level
|
|
1182
|
+
.duet-header-multi-level .duet-theme-turva .logo-and-segment .duet-header-dropdown {
|
|
1157
1183
|
margin-left: 0;
|
|
1158
1184
|
}
|
|
1159
|
-
.duet-header-multi-level
|
|
1185
|
+
.duet-header-multi-level .duet-theme-turva .logo-and-segment .duet-header-dropdown-toggle {
|
|
1160
1186
|
padding-left: 0.5rem;
|
|
1161
1187
|
}
|
|
1162
|
-
.duet-header-multi-level
|
|
1188
|
+
.duet-header-multi-level .duet-theme-turva .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content {
|
|
1163
1189
|
background: #f5f5f7;
|
|
1164
1190
|
}
|
|
1165
|
-
.duet-header-multi-level
|
|
1191
|
+
.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-utils > :nth-last-child(2).duet-header-dropdown .duet-header-button::before {
|
|
1166
1192
|
display: none;
|
|
1167
1193
|
}
|
|
1168
|
-
.duet-header-multi-level
|
|
1194
|
+
.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-toggle.active {
|
|
1169
1195
|
color: #c60c30;
|
|
1170
1196
|
}
|
|
1171
|
-
.duet-header-multi-level
|
|
1197
|
+
.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content {
|
|
1172
1198
|
background: #f5f5f7;
|
|
1173
1199
|
border-color: #e4e4e6;
|
|
1174
1200
|
}
|
|
1175
|
-
.duet-header-multi-level
|
|
1201
|
+
.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a::after {
|
|
1176
1202
|
background: #c60c30;
|
|
1177
1203
|
}
|
|
1178
|
-
.duet-header-multi-level
|
|
1204
|
+
.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a.active {
|
|
1179
1205
|
color: #c60c30;
|
|
1180
1206
|
background: none;
|
|
1181
1207
|
}
|
|
1182
|
-
.duet-header-multi-level
|
|
1208
|
+
.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-utils .duet-header-dropdown .duet-header-dropdown-content {
|
|
1183
1209
|
background: #f5f5f7;
|
|
1184
1210
|
}
|