@duetds/components 6.9.0 → 6.9.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 +332 -111
- package/lib/cjs/duet-action-button.cjs.entry.js +17 -2
- 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 +1 -1
- package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
- package/lib/cjs/duet-card.cjs.entry.js +9 -13
- package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
- package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
- package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
- package/lib/cjs/duet-combobox.cjs.entry.js +12 -2
- package/lib/cjs/duet-contact-card.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 +27 -12
- package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
- package/lib/cjs/duet-fieldset.cjs.entry.js +6 -2
- package/lib/cjs/duet-footer.cjs.entry.js +1 -1
- package/lib/cjs/duet-grid_2.cjs.entry.js +4 -2
- package/lib/cjs/duet-header_2.cjs.entry.js +15 -1
- package/lib/cjs/duet-hero.cjs.entry.js +15 -3
- package/lib/cjs/duet-icon.cjs.entry.js +1 -1
- package/lib/cjs/duet-input_2.cjs.entry.js +9 -14
- 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-menu-bar-button.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +3 -2
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +3 -2
- package/lib/cjs/duet-menu-bar.cjs.entry.js +1 -1
- package/lib/cjs/duet-modal.cjs.entry.js +2 -2
- package/lib/cjs/duet-multiselect.cjs.entry.js +23 -3
- package/lib/cjs/duet-nav.cjs.entry.js +1 -1
- package/lib/cjs/duet-notification_2.cjs.entry.js +15 -1
- package/lib/cjs/duet-number-input.cjs.entry.js +47 -27
- package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
- package/lib/cjs/duet-pagination_2.cjs.entry.js +16 -3
- 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 +19 -3
- package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-select.cjs.entry.js +17 -4
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +2 -2
- package/lib/cjs/duet-slideout.cjs.entry.js +3 -3
- package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +22 -7
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +2 -2
- package/lib/cjs/duet-textarea.cjs.entry.js +15 -4
- package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +3 -2
- package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
- package/lib/cjs/duet-tooltip.cjs.entry.js +22 -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-5c2e36e8.js → focus-utils-76896ff7.js} +1 -1
- package/lib/cjs/{index-92f0a873.js → index-0000eab8.js} +1 -1
- package/lib/cjs/loader.cjs.js +2 -2
- package/lib/collection/components/duet-action-button/duet-action-button.js +25 -6
- package/lib/collection/components/duet-card/duet-card.css +13 -10
- package/lib/collection/components/duet-card/duet-card.js +7 -11
- package/lib/collection/components/duet-combobox/duet-combobox.js +16 -3
- package/lib/collection/components/duet-editable-table/duet-editable-table.js +15 -3
- package/lib/collection/components/duet-fieldset/duet-fieldset.js +5 -1
- package/lib/collection/components/duet-grid/duet-grid.css +18 -0
- package/lib/collection/components/duet-grid/duet-grid.js +20 -0
- package/lib/collection/components/duet-header/duet-header.js +20 -4
- package/lib/collection/components/duet-heading/duet-heading.js +4 -1
- package/lib/collection/components/duet-hero/duet-hero.css +23 -3
- package/lib/collection/components/duet-hero/duet-hero.js +17 -3
- package/lib/collection/components/duet-input/duet-input.js +8 -13
- package/lib/collection/components/duet-link/duet-link.css +3 -0
- package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +19 -1
- package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +19 -1
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +42 -4
- package/lib/collection/components/duet-notification/duet-notification.js +22 -5
- package/lib/collection/components/duet-number-input/duet-number-input.js +46 -26
- package/lib/collection/components/duet-pagination/duet-pagination.js +21 -5
- package/lib/collection/components/duet-select/duet-select.css +0 -4
- package/lib/collection/components/duet-select/duet-select.js +15 -2
- package/lib/collection/components/duet-slideout/duet-slideout.css +2 -0
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +5 -21
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.css +1 -0
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +21 -5
- package/lib/collection/components/duet-tab-group/duet-tab-group.js +55 -2
- package/lib/collection/components/duet-table/duet-table.js +17 -1
- package/lib/collection/components/duet-textarea/duet-textarea.js +14 -3
- package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +19 -1
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +33 -4
- package/lib/collection/components/duet-upload/duet-upload.css +23 -10
- package/lib/collection/components/duet-upload/duet-upload.js +1 -1
- package/lib/collection/components/duet-upload/upload-item-header.js +1 -1
- package/lib/collection/components/duet-upload/upload-item.js +3 -3
- package/lib/dist-custom-elements/duet-action-button.js +1 -1
- package/lib/dist-custom-elements/duet-alert.js +1 -1
- package/lib/dist-custom-elements/duet-badge.js +1 -1
- package/lib/dist-custom-elements/duet-breadcrumb.js +2 -2
- package/lib/dist-custom-elements/duet-breadcrumbs.js +3 -3
- package/lib/dist-custom-elements/duet-button.js +1 -1
- package/lib/dist-custom-elements/duet-caption.js +1 -1
- package/lib/dist-custom-elements/duet-card.js +11 -15
- package/lib/dist-custom-elements/duet-checkbox.js +1 -1
- package/lib/dist-custom-elements/duet-checkmark.js +1 -1
- package/lib/dist-custom-elements/duet-choice-group.js +6 -6
- package/lib/dist-custom-elements/duet-choice.js +6 -6
- package/lib/dist-custom-elements/duet-collapsible.js +2 -2
- package/lib/dist-custom-elements/duet-combobox.js +16 -5
- package/lib/dist-custom-elements/duet-contact-card.js +9 -9
- package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
- package/lib/dist-custom-elements/duet-date-picker.js +11 -11
- package/lib/dist-custom-elements/duet-divider.js +1 -1
- package/lib/dist-custom-elements/duet-editable-table.js +19 -11
- package/lib/dist-custom-elements/duet-empty-state.js +1 -1
- package/lib/dist-custom-elements/duet-fieldset.js +1 -1
- package/lib/dist-custom-elements/duet-footer.js +5 -5
- package/lib/dist-custom-elements/duet-grid-item.js +1 -1
- package/lib/dist-custom-elements/duet-grid.js +1 -1
- package/lib/dist-custom-elements/duet-header.js +26 -12
- package/lib/dist-custom-elements/duet-heading.js +1 -1
- package/lib/dist-custom-elements/duet-hero.js +25 -13
- package/lib/dist-custom-elements/duet-icon.js +1 -1
- package/lib/dist-custom-elements/duet-input.js +1 -1
- package/lib/dist-custom-elements/duet-label.js +1 -1
- package/lib/dist-custom-elements/duet-layout.js +1 -1
- package/lib/dist-custom-elements/duet-link.js +1 -1
- package/lib/dist-custom-elements/duet-list-item.js +1 -1
- package/lib/dist-custom-elements/duet-list.js +1 -1
- package/lib/dist-custom-elements/duet-logo.js +1 -1
- package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +6 -4
- package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar-link.js +5 -3
- package/lib/dist-custom-elements/duet-menu-bar.js +2 -2
- package/lib/dist-custom-elements/duet-modal.js +8 -8
- package/lib/dist-custom-elements/duet-multiselect.js +33 -11
- package/lib/dist-custom-elements/duet-nav.js +1 -1
- package/lib/dist-custom-elements/duet-notification-drawer.js +5 -5
- package/lib/dist-custom-elements/duet-notification.js +19 -5
- package/lib/dist-custom-elements/duet-number-input.js +56 -36
- package/lib/dist-custom-elements/duet-page-heading.js +2 -2
- package/lib/dist-custom-elements/duet-pagination.js +26 -12
- package/lib/dist-custom-elements/duet-paragraph.js +1 -1
- package/lib/dist-custom-elements/duet-progress.js +1 -1
- package/lib/dist-custom-elements/duet-radio-group.js +6 -6
- package/lib/dist-custom-elements/duet-radio.js +1 -1
- package/lib/dist-custom-elements/duet-range-slider.js +2 -2
- package/lib/dist-custom-elements/duet-range-stepper.js +5 -5
- package/lib/dist-custom-elements/duet-scrollable.js +1 -1
- package/lib/dist-custom-elements/duet-section-layout.js +1 -1
- package/lib/dist-custom-elements/duet-select.js +1 -1
- package/lib/dist-custom-elements/duet-slideout-lang.js +3 -3
- package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
- package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-slideout-panel.js +3 -3
- package/lib/dist-custom-elements/duet-slideout.js +4 -4
- package/lib/dist-custom-elements/duet-spacer.js +1 -1
- package/lib/dist-custom-elements/duet-spinner.js +1 -1
- package/lib/dist-custom-elements/duet-step.js +4 -4
- package/lib/dist-custom-elements/duet-stepper.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +24 -8
- package/lib/dist-custom-elements/duet-submenu-bar-link.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar.js +3 -3
- package/lib/dist-custom-elements/duet-tab-group.js +29 -12
- package/lib/dist-custom-elements/duet-tab.js +2 -2
- package/lib/dist-custom-elements/duet-table.js +1 -1
- package/lib/dist-custom-elements/duet-textarea.js +22 -11
- package/lib/dist-custom-elements/duet-toggle.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar-link.js +6 -4
- package/lib/dist-custom-elements/duet-toolbar.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip.js +1 -1
- package/lib/dist-custom-elements/duet-tray.js +4 -4
- package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
- package/lib/dist-custom-elements/duet-upload.js +24 -27
- package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
- package/lib/dist-custom-elements/index.js +1 -1
- package/lib/dist-custom-elements/{p-6c05e879.js → p-076452be.js} +1 -1
- package/lib/dist-custom-elements/{p-26d32594.js → p-0dee6e51.js} +28 -7
- package/lib/dist-custom-elements/{p-17d43428.js → p-148a04af.js} +5 -5
- package/lib/dist-custom-elements/{p-7a4bdb83.js → p-14d7b7b1.js} +1 -1
- package/lib/dist-custom-elements/{p-c820f65e.js → p-16da1a85.js} +2 -2
- package/lib/dist-custom-elements/{p-e1de0408.js → p-1b34ed71.js} +1 -1
- package/lib/dist-custom-elements/{p-41ef88f4.js → p-29b0c53d.js} +22 -6
- package/lib/dist-custom-elements/{p-9eba8647.js → p-2a7fe62b.js} +7 -3
- package/lib/dist-custom-elements/{p-d6bcc527.js → p-3ee0a1f0.js} +1 -1
- package/lib/dist-custom-elements/{p-a1ee31fb.js → p-427c3c85.js} +1 -1
- package/lib/dist-custom-elements/{p-353d6d0c.js → p-4672c5f9.js} +1 -1
- package/lib/dist-custom-elements/{p-c01c91d6.js → p-61d6063e.js} +2 -2
- package/lib/dist-custom-elements/p-685671d3.js +248 -0
- package/lib/dist-custom-elements/{p-49848110.js → p-6b75d471.js} +1 -1
- package/lib/dist-custom-elements/{p-4b4a086d.js → p-74eab201.js} +17 -22
- package/lib/dist-custom-elements/{p-29b2c3bb.js → p-773afd9d.js} +1 -1
- package/lib/dist-custom-elements/{p-d0dea200.js → p-80c873a7.js} +1 -1
- package/lib/dist-custom-elements/p-81ad703b.js +183 -0
- package/lib/dist-custom-elements/{p-dde8e436.js → p-8810d94c.js} +5 -5
- package/lib/dist-custom-elements/{p-47ba781e.js → p-a2640cf0.js} +15 -2
- package/lib/dist-custom-elements/{p-9d23386f.js → p-a98f3c53.js} +1 -1
- package/lib/dist-custom-elements/{p-85fd8f09.js → p-aa856cf3.js} +1 -1
- package/lib/dist-custom-elements/{p-c4a3d30d.js → p-b1c2d128.js} +1 -1
- package/lib/dist-custom-elements/{p-890a9b12.js → p-b8590b9e.js} +2 -2
- package/lib/dist-custom-elements/{p-1bf112be.js → p-b8bdb756.js} +1 -1
- package/lib/dist-custom-elements/{p-7199196e.js → p-b9713025.js} +3 -3
- package/lib/dist-custom-elements/{p-a56cc313.js → p-c06566bd.js} +2 -2
- package/lib/dist-custom-elements/{p-276e05ab.js → p-cf8e064c.js} +6 -6
- package/lib/dist-custom-elements/{p-0d1b84db.js → p-d0a476fa.js} +1 -1
- package/lib/dist-custom-elements/{p-945a2c0c.js → p-d6ebe136.js} +2 -2
- package/lib/dist-custom-elements/{p-19ad4945.js → p-d9374d44.js} +1 -1
- package/lib/dist-custom-elements/{p-d6a4de03.js → p-fb9ea1e2.js} +1 -1
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/p-00492553.entry.js +4 -0
- package/lib/duet/p-00a6021a.entry.js +4 -0
- package/lib/duet/{p-c832c83e.system.entry.js → p-04b466d9.system.entry.js} +1 -1
- package/lib/duet/{p-4ab70001.system.entry.js → p-0956191f.system.entry.js} +1 -1
- package/lib/duet/{p-a5b5f3e2.system.entry.js → p-0b99b63a.system.entry.js} +1 -1
- package/lib/duet/p-0c7ba24e.entry.js +4 -0
- package/lib/duet/p-0fd03676.entry.js +4 -0
- package/lib/duet/{p-d7c0027e.entry.js → p-0febc106.entry.js} +1 -1
- package/lib/duet/{p-7d4e2e96.system.entry.js → p-10c8dcce.system.entry.js} +1 -1
- package/lib/duet/p-18417d31.system.entry.js +4 -0
- package/lib/duet/{p-26ebc753.system.entry.js → p-1a494e83.system.entry.js} +1 -1
- package/lib/duet/{p-93f3e158.system.entry.js → p-1af260c2.system.entry.js} +1 -1
- package/lib/duet/{p-4136d211.entry.js → p-1b53a027.entry.js} +1 -1
- package/lib/duet/p-1d4d1191.entry.js +4 -0
- package/lib/duet/p-1d6d12db.entry.js +4 -0
- package/lib/duet/{p-8f0579d1.entry.js → p-1f782abb.entry.js} +1 -1
- package/lib/duet/{p-29193196.entry.js → p-255e7c67.entry.js} +1 -1
- package/lib/duet/p-25608db1.entry.js +4 -0
- package/lib/duet/{p-190507d4.system.entry.js → p-2578566b.system.entry.js} +1 -1
- package/lib/duet/{p-5743852f.system.js → p-2852d734.system.js} +1 -1
- package/lib/duet/{p-ce108a20.entry.js → p-2ee96e3b.entry.js} +1 -1
- package/lib/duet/{p-84eb3d96.system.entry.js → p-30574b01.system.entry.js} +1 -1
- package/lib/duet/{p-d8de0d06.entry.js → p-3337b7b5.entry.js} +1 -1
- package/lib/duet/{p-48bab8b6.entry.js → p-335ce078.entry.js} +1 -1
- package/lib/duet/p-39311463.system.entry.js +4 -0
- package/lib/duet/{p-c7507f6b.system.entry.js → p-3eb4385b.system.entry.js} +2 -2
- package/lib/duet/{p-f7ff8b67.entry.js → p-3f823f65.entry.js} +1 -1
- package/lib/duet/p-40c8612e.entry.js +4 -0
- package/lib/duet/{p-7dc36831.system.js → p-473e553e.system.js} +1 -1
- package/lib/duet/{p-2b4f4c85.system.entry.js → p-4cf4097a.system.entry.js} +1 -1
- package/lib/duet/{p-7a53ff56.entry.js → p-4f054589.entry.js} +1 -1
- package/lib/duet/{p-7c32523b.system.entry.js → p-51b95a0b.system.entry.js} +1 -1
- package/lib/duet/{p-ef31120e.system.entry.js → p-5368ccf3.system.entry.js} +1 -1
- package/lib/duet/{p-d503fd3d.entry.js → p-57a480c6.entry.js} +1 -1
- package/lib/duet/{p-17d1d5ee.entry.js → p-5925af50.entry.js} +1 -1
- package/lib/duet/p-59dbe033.system.entry.js +4 -0
- package/lib/duet/{p-65b119a7.system.entry.js → p-5a0a47c5.system.entry.js} +1 -1
- package/lib/duet/{p-5047ae3d.entry.js → p-5dc301ad.entry.js} +1 -1
- package/lib/duet/{p-4b02643a.system.entry.js → p-612c5794.system.entry.js} +1 -1
- package/lib/duet/{p-ad82c633.system.entry.js → p-619129a1.system.entry.js} +1 -1
- package/lib/duet/{p-d563682c.entry.js → p-6288a8f7.entry.js} +1 -1
- package/lib/duet/{p-8b123c27.system.entry.js → p-62e5eda4.system.entry.js} +1 -1
- package/lib/duet/p-62ee8769.system.entry.js +4 -0
- package/lib/duet/{p-1bfff197.system.entry.js → p-64a97121.system.entry.js} +1 -1
- package/lib/duet/{p-cc7f7692.entry.js → p-65c666a0.entry.js} +1 -1
- package/lib/duet/p-66d17a50.entry.js +4 -0
- package/lib/duet/{p-049f7427.entry.js → p-68436d9b.entry.js} +1 -1
- package/lib/duet/{p-fc8b03f3.system.entry.js → p-6a23db40.system.entry.js} +1 -1
- package/lib/duet/{p-f173da98.entry.js → p-6b3d47fc.entry.js} +1 -1
- package/lib/duet/{p-568c7b6d.entry.js → p-6bec8453.entry.js} +1 -1
- package/lib/duet/{p-e9cea31c.entry.js → p-6cccad3a.entry.js} +1 -1
- package/lib/duet/{p-643dd974.entry.js → p-6dd7d693.entry.js} +1 -1
- package/lib/duet/{p-07e54b8a.entry.js → p-71012a41.entry.js} +1 -1
- package/lib/duet/{p-bc89db28.entry.js → p-711128a1.entry.js} +1 -1
- package/lib/duet/{p-c3495075.system.entry.js → p-71da4ed1.system.entry.js} +1 -1
- package/lib/duet/{p-1de4b105.system.entry.js → p-74d84deb.system.entry.js} +1 -1
- package/lib/duet/{p-80bc3db3.entry.js → p-754a1a94.entry.js} +1 -1
- package/lib/duet/{p-702a9390.entry.js → p-779234b0.entry.js} +1 -1
- package/lib/duet/p-78ce7a07.entry.js +4 -0
- package/lib/duet/{p-2b94fb6c.entry.js → p-79f6c24a.entry.js} +1 -1
- package/lib/duet/p-7e739548.system.entry.js +4 -0
- package/lib/duet/{p-7fd9b8b6.system.entry.js → p-7e96a306.system.entry.js} +1 -1
- package/lib/duet/{p-de06c5ff.entry.js → p-7f9cc019.entry.js} +1 -1
- package/lib/duet/{p-c91aaa04.system.entry.js → p-81236c93.system.entry.js} +1 -1
- package/lib/duet/{p-38680e94.system.entry.js → p-815cbab7.system.entry.js} +1 -1
- package/lib/duet/p-82398d82.entry.js +4 -0
- package/lib/duet/{p-5576e447.system.entry.js → p-840cdccb.system.entry.js} +1 -1
- package/lib/duet/{p-aac361b8.entry.js → p-86fede3f.entry.js} +1 -1
- package/lib/duet/{p-c073eb55.system.entry.js → p-8d1ccbc2.system.entry.js} +1 -1
- package/lib/duet/{p-addd277e.system.entry.js → p-8d482808.system.entry.js} +1 -1
- package/lib/duet/p-8ef91f59.entry.js +4 -0
- package/lib/duet/{p-b1b1160e.system.entry.js → p-8efc476e.system.entry.js} +1 -1
- package/lib/duet/{p-be3c04fb.entry.js → p-8f2834ae.entry.js} +1 -1
- package/lib/duet/p-8f3d5e14.system.entry.js +4 -0
- package/lib/duet/{p-2faa3962.entry.js → p-905d2cc8.entry.js} +1 -1
- package/lib/duet/{p-628c4fc7.system.entry.js → p-911c761b.system.entry.js} +1 -1
- package/lib/duet/{p-b16b89c3.system.entry.js → p-93562bf8.system.entry.js} +1 -1
- package/lib/duet/{p-7f2a16b3.entry.js → p-93da242f.entry.js} +1 -1
- package/lib/duet/{p-2184a285.system.entry.js → p-9446df5b.system.entry.js} +1 -1
- package/lib/duet/p-94760aea.entry.js +4 -0
- package/lib/duet/{p-9f5446d7.system.entry.js → p-97d314bb.system.entry.js} +1 -1
- package/lib/duet/{p-95f020cc.system.entry.js → p-9885878c.system.entry.js} +1 -1
- package/lib/duet/{p-e71cb6f4.entry.js → p-98d99400.entry.js} +1 -1
- package/lib/duet/p-9b75cec2.system.entry.js +4 -0
- package/lib/duet/{p-72585f83.entry.js → p-9e1585bd.entry.js} +1 -1
- package/lib/duet/{p-fad8bcee.system.entry.js → p-9e3c843a.system.entry.js} +1 -1
- package/lib/duet/p-9fb2e28a.js +4 -0
- package/lib/duet/p-a2728f08.system.entry.js +4 -0
- package/lib/duet/{p-7a5077a2.system.entry.js → p-a8c9268c.system.entry.js} +1 -1
- package/lib/duet/{p-e8a6eda7.system.entry.js → p-ac25aad5.system.entry.js} +1 -1
- package/lib/duet/{p-44bbf984.entry.js → p-b12261bb.entry.js} +1 -1
- package/lib/duet/p-b31e663e.system.entry.js +4 -0
- package/lib/duet/{p-fa7a4245.entry.js → p-b44b12af.entry.js} +1 -1
- package/lib/duet/{p-faaa6249.entry.js → p-b78eeeff.entry.js} +1 -1
- package/lib/duet/{p-c518f7da.system.entry.js → p-b8c2b5f2.system.entry.js} +1 -1
- package/lib/duet/p-b92f06ff.system.entry.js +4 -0
- package/lib/duet/p-bc169783.entry.js +4 -0
- package/lib/duet/{p-2e822cf0.entry.js → p-bed02d40.entry.js} +1 -1
- package/lib/duet/p-bf097e1b.entry.js +4 -0
- package/lib/duet/{p-58b9c7b4.system.entry.js → p-c19e2d81.system.entry.js} +1 -1
- package/lib/duet/{p-2a80caf9.entry.js → p-c2d2a2d2.entry.js} +1 -1
- package/lib/duet/{p-2e69c81b.entry.js → p-c3164a3c.entry.js} +1 -1
- package/lib/duet/p-c4266675.entry.js +4 -0
- package/lib/duet/{p-78f49cbf.system.entry.js → p-c919efff.system.entry.js} +1 -1
- package/lib/duet/{p-12ee9a23.system.entry.js → p-c9dcf840.system.entry.js} +1 -1
- package/lib/duet/p-cf3c27e4.system.entry.js +4 -0
- package/lib/duet/p-cf5f89af.entry.js +4 -0
- package/lib/duet/{p-d3da2989.system.entry.js → p-cf8b0da5.system.entry.js} +1 -1
- package/lib/duet/{p-6fe5922d.system.entry.js → p-cfcfd3fd.system.entry.js} +1 -1
- package/lib/duet/p-d225444d.entry.js +4 -0
- package/lib/duet/{p-02e23372.entry.js → p-d2abe34b.entry.js} +1 -1
- package/lib/duet/p-d5ac7213.entry.js +4 -0
- package/lib/duet/p-d658b29d.entry.js +4 -0
- package/lib/duet/{p-c4738155.system.entry.js → p-da2b07eb.system.entry.js} +1 -1
- package/lib/duet/p-db8ef99d.entry.js +4 -0
- package/lib/duet/{p-8760c0ee.system.entry.js → p-dbd0293b.system.entry.js} +1 -1
- package/lib/duet/{p-6326cade.system.entry.js → p-dbff88b5.system.entry.js} +1 -1
- package/lib/duet/{p-2ff8c614.entry.js → p-dcc18bd4.entry.js} +1 -1
- package/lib/duet/{p-835ea0dc.system.entry.js → p-e0ea4e90.system.entry.js} +1 -1
- package/lib/duet/p-e27bd167.entry.js +4 -0
- package/lib/duet/{p-2b0d6d66.system.entry.js → p-e6c16681.system.entry.js} +1 -1
- package/lib/duet/{p-723308e1.entry.js → p-e741b72a.entry.js} +1 -1
- package/lib/duet/{p-b3584ef1.system.entry.js → p-e7ba7e64.system.entry.js} +1 -1
- package/lib/duet/{p-c22a97ea.system.entry.js → p-e94fb66d.system.entry.js} +1 -1
- package/lib/duet/p-ea68c9e4.system.entry.js +4 -0
- package/lib/duet/{p-39c34fde.system.entry.js → p-eb6ec3b0.system.entry.js} +1 -1
- package/lib/duet/p-ebf82712.system.entry.js +4 -0
- package/lib/duet/{p-2c0d4d3c.entry.js → p-eefb5300.entry.js} +1 -1
- package/lib/duet/{p-1ef436d2.js → p-f235b6ff.js} +1 -1
- package/lib/duet/{p-c3e4e6a2.system.entry.js → p-f61cf0d1.system.entry.js} +1 -1
- package/lib/duet/{p-9aae9d2a.system.entry.js → p-f7393070.system.entry.js} +1 -1
- package/lib/duet/p-f96bb9f9.system.js +4 -0
- package/lib/duet/p-fb021333.entry.js +4 -0
- package/lib/duet/{p-47fb8005.system.entry.js → p-fb8a741c.system.entry.js} +1 -1
- package/lib/duet/{p-893d0a53.entry.js → p-fd377d28.entry.js} +1 -1
- package/lib/duet/{p-e57b04f0.entry.js → p-feac6e72.entry.js} +1 -1
- package/lib/duet/{p-a79f86b5.system.entry.js → p-ffdc54ad.system.entry.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +18 -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 +1 -1
- package/lib/esm/duet-caption_4.entry.js +3 -3
- package/lib/esm/duet-card.entry.js +9 -13
- package/lib/esm/duet-checkbox.entry.js +1 -1
- package/lib/esm/duet-checkmark.entry.js +1 -1
- package/lib/esm/duet-choice_2.entry.js +2 -2
- package/lib/esm/duet-collapsible.entry.js +1 -1
- package/lib/esm/duet-combobox.entry.js +13 -3
- package/lib/esm/duet-contact-card.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 +28 -13
- package/lib/esm/duet-empty-state.entry.js +1 -1
- package/lib/esm/duet-fieldset.entry.js +6 -2
- package/lib/esm/duet-footer.entry.js +1 -1
- package/lib/esm/duet-grid_2.entry.js +4 -2
- package/lib/esm/duet-header_2.entry.js +15 -1
- package/lib/esm/duet-hero.entry.js +16 -4
- package/lib/esm/duet-icon.entry.js +1 -1
- package/lib/esm/duet-input_2.entry.js +9 -14
- package/lib/esm/duet-layout.entry.js +1 -1
- package/lib/esm/duet-list_2.entry.js +1 -1
- package/lib/esm/duet-menu-bar-button.entry.js +1 -1
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +3 -2
- package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
- package/lib/esm/duet-menu-bar-link.entry.js +3 -2
- package/lib/esm/duet-menu-bar.entry.js +1 -1
- package/lib/esm/duet-modal.entry.js +2 -2
- package/lib/esm/duet-multiselect.entry.js +24 -4
- package/lib/esm/duet-nav.entry.js +1 -1
- package/lib/esm/duet-notification_2.entry.js +16 -2
- package/lib/esm/duet-number-input.entry.js +47 -27
- package/lib/esm/duet-page-heading.entry.js +1 -1
- package/lib/esm/duet-pagination_2.entry.js +17 -4
- 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 +19 -3
- package/lib/esm/duet-section-layout.entry.js +1 -1
- package/lib/esm/duet-select.entry.js +17 -4
- package/lib/esm/duet-slideout-lang.entry.js +1 -1
- package/lib/esm/duet-slideout-link.entry.js +1 -1
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
- package/lib/esm/duet-slideout-panel.entry.js +2 -2
- package/lib/esm/duet-slideout.entry.js +3 -3
- package/lib/esm/duet-step_2.entry.js +1 -1
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +22 -7
- package/lib/esm/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm/duet-submenu-bar.entry.js +2 -2
- package/lib/esm/duet-textarea.entry.js +15 -4
- package/lib/esm/duet-toggle.entry.js +1 -1
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
- package/lib/esm/duet-toolbar-link.entry.js +3 -2
- package/lib/esm/duet-toolbar.entry.js +1 -1
- package/lib/esm/duet-tooltip.entry.js +23 -2
- 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 +3 -3
- package/lib/esm/{focus-utils-123e9cba.js → focus-utils-6a919f2a.js} +1 -1
- package/lib/esm/{index-9d169c3d.js → index-13f57135.js} +1 -1
- package/lib/esm/loader.js +3 -3
- 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-checkmark.entry.js +1 -1
- package/lib/esm-es5/duet-choice_2.entry.js +1 -1
- package/lib/esm-es5/duet-collapsible.entry.js +1 -1
- package/lib/esm-es5/duet-combobox.entry.js +2 -2
- package/lib/esm-es5/duet-contact-card.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 +2 -2
- 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-menu-bar-button.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
- package/lib/esm-es5/duet-modal.entry.js +1 -1
- package/lib/esm-es5/duet-multiselect.entry.js +2 -2
- package/lib/esm-es5/duet-nav.entry.js +1 -1
- package/lib/esm-es5/duet-notification_2.entry.js +2 -2
- package/lib/esm-es5/duet-number-input.entry.js +1 -1
- package/lib/esm-es5/duet-page-heading.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 +2 -2
- package/lib/esm-es5/duet-section-layout.entry.js +1 -1
- package/lib/esm-es5/duet-select.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
- package/lib/esm-es5/duet-slideout.entry.js +1 -1
- package/lib/esm-es5/duet-step_2.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
- package/lib/esm-es5/duet-textarea.entry.js +1 -1
- package/lib/esm-es5/duet-toggle.entry.js +2 -2
- package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar.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-123e9cba.js → focus-utils-6a919f2a.js} +1 -1
- package/lib/esm-es5/{index-9d169c3d.js → index-13f57135.js} +1 -1
- package/lib/esm-es5/loader.js +1 -1
- package/lib/types/components/duet-action-button/duet-action-button.d.ts +8 -1
- package/lib/types/components/duet-combobox/duet-combobox.d.ts +3 -1
- package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +4 -1
- package/lib/types/components/duet-grid/duet-grid.d.ts +5 -0
- package/lib/types/components/duet-header/duet-header.d.ts +1 -0
- package/lib/types/components/duet-heading/duet-heading.d.ts +3 -0
- package/lib/types/components/duet-hero/duet-hero.d.ts +3 -0
- package/lib/types/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.d.ts +6 -0
- package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +6 -0
- package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +9 -1
- package/lib/types/components/duet-notification/duet-notification.d.ts +3 -0
- package/lib/types/components/duet-number-input/duet-number-input.d.ts +1 -0
- package/lib/types/components/duet-pagination/duet-pagination.d.ts +5 -1
- package/lib/types/components/duet-select/duet-select.d.ts +1 -0
- package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +2 -1
- package/lib/types/components/duet-tab-group/duet-tab-group.d.ts +10 -0
- package/lib/types/components/duet-table/duet-table.d.ts +6 -1
- package/lib/types/components/duet-textarea/duet-textarea.d.ts +1 -0
- package/lib/types/components/duet-toolbar-link/duet-toolbar-link.d.ts +6 -0
- package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +5 -0
- package/lib/types/components.d.ts +52 -0
- package/package.json +5 -5
- package/lib/dist-custom-elements/p-132f2514.js +0 -235
- package/lib/dist-custom-elements/p-e48e8201.js +0 -180
- package/lib/duet/p-00e57f9b.system.entry.js +0 -4
- package/lib/duet/p-1710310b.entry.js +0 -4
- package/lib/duet/p-18843061.entry.js +0 -4
- package/lib/duet/p-197dba64.system.entry.js +0 -4
- package/lib/duet/p-1d283741.system.entry.js +0 -4
- package/lib/duet/p-21d08944.entry.js +0 -4
- package/lib/duet/p-21d4df80.entry.js +0 -4
- package/lib/duet/p-2a89686a.entry.js +0 -4
- package/lib/duet/p-459b8e74.system.entry.js +0 -4
- package/lib/duet/p-45a64d20.entry.js +0 -4
- package/lib/duet/p-5127e9fb.entry.js +0 -4
- package/lib/duet/p-52766fb1.entry.js +0 -4
- package/lib/duet/p-58d08fb8.entry.js +0 -4
- package/lib/duet/p-5c083efb.system.entry.js +0 -4
- package/lib/duet/p-5f872140.entry.js +0 -4
- package/lib/duet/p-6023d419.system.entry.js +0 -4
- package/lib/duet/p-6fe463e6.entry.js +0 -4
- package/lib/duet/p-72264693.entry.js +0 -4
- package/lib/duet/p-850b95d7.entry.js +0 -4
- package/lib/duet/p-8a963cd7.system.entry.js +0 -4
- package/lib/duet/p-8f60b4a4.entry.js +0 -4
- package/lib/duet/p-98c7286c.entry.js +0 -4
- package/lib/duet/p-9f9a14d7.entry.js +0 -4
- package/lib/duet/p-a3782a14.entry.js +0 -4
- package/lib/duet/p-a6a5458a.entry.js +0 -4
- package/lib/duet/p-acb0fbdc.system.entry.js +0 -4
- package/lib/duet/p-afb58e46.js +0 -4
- package/lib/duet/p-b421ea8a.system.entry.js +0 -4
- package/lib/duet/p-c0ac70a9.entry.js +0 -4
- package/lib/duet/p-c360334a.system.js +0 -4
- package/lib/duet/p-cb2bd40e.entry.js +0 -4
- package/lib/duet/p-d5474f30.system.entry.js +0 -4
- package/lib/duet/p-d8d3f485.system.entry.js +0 -4
- package/lib/duet/p-daa0dccd.entry.js +0 -4
- package/lib/duet/p-dc71bc89.entry.js +0 -4
- package/lib/duet/p-dcce6bad.entry.js +0 -4
- package/lib/duet/p-e73937e1.system.entry.js +0 -4
- package/lib/duet/p-f9c26b20.system.entry.js +0 -4
|
@@ -248,23 +248,26 @@
|
|
|
248
248
|
.duet-card-image-mask + .duet-card-heading {
|
|
249
249
|
border-radius: 0;
|
|
250
250
|
}
|
|
251
|
-
.duet-card-heading
|
|
252
|
-
|
|
253
|
-
|
|
251
|
+
.duet-card-heading.duet-card-heading--collapsible {
|
|
252
|
+
cursor: pointer;
|
|
253
|
+
}
|
|
254
|
+
.duet-card-heading.duet-card-heading--collapsible button {
|
|
255
|
+
width: 100%;
|
|
256
|
+
font-family: inherit;
|
|
257
|
+
font-size: inherit;
|
|
258
|
+
font-weight: inherit;
|
|
259
|
+
color: inherit;
|
|
260
|
+
text-align: left;
|
|
254
261
|
cursor: pointer;
|
|
255
|
-
border-radius: 4px;
|
|
256
|
-
-webkit-appearance: none;
|
|
257
|
-
-webkit-tap-highlight-color: transparent;
|
|
258
|
-
appearance: none;
|
|
259
262
|
}
|
|
260
|
-
.duet-card-heading
|
|
263
|
+
.duet-card-heading.duet-card-heading--collapsible button:focus {
|
|
261
264
|
outline: 0;
|
|
262
265
|
}
|
|
263
|
-
:host(.user-is-tabbing) .duet-card-heading
|
|
266
|
+
:host(.user-is-tabbing) .duet-card-heading.duet-card-heading--collapsible button:focus {
|
|
264
267
|
border-radius: 4px;
|
|
265
268
|
box-shadow: 0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179);
|
|
266
269
|
}
|
|
267
|
-
:host(.user-is-tabbing) .duet-theme-turva .duet-card-heading
|
|
270
|
+
:host(.user-is-tabbing) .duet-theme-turva .duet-card-heading.duet-card-heading--collapsible button:focus {
|
|
268
271
|
box-shadow: 0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58);
|
|
269
272
|
}
|
|
270
273
|
.duet-card-collapsed .duet-card-heading {
|
|
@@ -63,20 +63,16 @@ export class DuetCard {
|
|
|
63
63
|
renderHeading() {
|
|
64
64
|
const safeHeadingLevel = sanitizeString(this.headingLevel);
|
|
65
65
|
const HeadingTag = [...duetHeadingLevels, duetBlock].some(tag => tag === safeHeadingLevel) ? safeHeadingLevel : "h2";
|
|
66
|
-
const headingProps = this.collapsible
|
|
67
|
-
? {
|
|
68
|
-
role: "button",
|
|
69
|
-
tabindex: "0",
|
|
70
|
-
"aria-controls": this.cardId,
|
|
71
|
-
"aria-expanded": this.open ? "true" : "false",
|
|
72
|
-
onClick: this.togglePanel,
|
|
73
|
-
onKeyDown: this.handleKeyDown,
|
|
74
|
-
}
|
|
75
|
-
: {};
|
|
76
66
|
const headingStyles = {
|
|
77
67
|
backgroundColor: getColorByName(this.headingBackground),
|
|
78
68
|
};
|
|
79
|
-
|
|
69
|
+
const headingContent = (h(Fragment, null, 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: arrowUpIcon.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" })));
|
|
70
|
+
if (this.collapsible) {
|
|
71
|
+
return (h(HeadingTag, { style: headingStyles, class: "duet-card-heading duet-card-heading--collapsible", onClick: this.togglePanel, onKeyDown: this.handleKeyDown }, h("button", { "aria-controls": this.cardId, "aria-expanded": this.open ? "true" : "false" }, headingContent)));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return (h(HeadingTag, { style: headingStyles, class: "duet-card-heading" }, headingContent));
|
|
75
|
+
}
|
|
80
76
|
}
|
|
81
77
|
/**
|
|
82
78
|
* Sets focus on the specified `duet-card`. Use this method instead of the global
|
|
@@ -5,7 +5,7 @@ import { Build, h, Host, } from "@stencil/core";
|
|
|
5
5
|
import { inheritGlobalTheme } from "../../common";
|
|
6
6
|
import { debounce } from "../../utils/js-utils";
|
|
7
7
|
import { isArrowDownKey, isArrowUpKey, isEnterKey, isEscapeKey, isTabKey } from "../../utils/keyboard-utils";
|
|
8
|
-
import { getLanguage, getLocaleString } from "../../utils/language-utils";
|
|
8
|
+
import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
|
|
9
9
|
import { parsePossibleJSON } from "../../utils/string-utils";
|
|
10
10
|
import { DuetComboBoxSelect } from "./duet-combobox-select";
|
|
11
11
|
export class DuetCombobox {
|
|
@@ -26,6 +26,7 @@ export class DuetCombobox {
|
|
|
26
26
|
this.listOpen = false;
|
|
27
27
|
this.selectedItems = new Set();
|
|
28
28
|
this.activeItem = undefined;
|
|
29
|
+
this.language = getLanguage();
|
|
29
30
|
this.accessibleLabelDefaults = {
|
|
30
31
|
en: {
|
|
31
32
|
heading: "Select:",
|
|
@@ -56,6 +57,12 @@ export class DuetCombobox {
|
|
|
56
57
|
activeItemHandler(state) {
|
|
57
58
|
this.input.accessibleActiveDescendant = this.listOpen && (state || state === 0) ? `active_item` : "";
|
|
58
59
|
}
|
|
60
|
+
watchLanguageStateHandler(newValue, oldValue) {
|
|
61
|
+
if (newValue !== oldValue &&
|
|
62
|
+
this.accessibleLabels === getLocaleString(parsePossibleJSON(this.accessibleLabelDefaults), oldValue)) {
|
|
63
|
+
this.accessibleLabels = getLocaleString(parsePossibleJSON(this.accessibleLabelDefaults), newValue);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
59
66
|
handleDocumentClick(e) {
|
|
60
67
|
//we want to remove all user text if they have NOT selected from the dropdown
|
|
61
68
|
const path = e.composedPath();
|
|
@@ -94,6 +101,7 @@ export class DuetCombobox {
|
|
|
94
101
|
}
|
|
95
102
|
});
|
|
96
103
|
this.element.addEventListener("keydown", this.handleInputKeyDownEvent.bind(this));
|
|
104
|
+
connectLanguageChangeObserver(this);
|
|
97
105
|
//add correct aria attributes to the input element
|
|
98
106
|
this.input.accessibleAutocomplete = "list";
|
|
99
107
|
this.input.accessibleControls = "duet-combobox-list-element";
|
|
@@ -109,6 +117,7 @@ export class DuetCombobox {
|
|
|
109
117
|
e.stopPropagation();
|
|
110
118
|
});
|
|
111
119
|
this.resizeObserver.disconnect();
|
|
120
|
+
disconnectLanguageChangeObserver(this);
|
|
112
121
|
}
|
|
113
122
|
componentDidLoad() {
|
|
114
123
|
// observe resize events to dynamically adjust size of dropdown area
|
|
@@ -380,7 +389,7 @@ export class DuetCombobox {
|
|
|
380
389
|
},
|
|
381
390
|
"accessibleLabels": {
|
|
382
391
|
"type": "unknown",
|
|
383
|
-
"mutable":
|
|
392
|
+
"mutable": true,
|
|
384
393
|
"complexType": {
|
|
385
394
|
"original": "Record<string, string>",
|
|
386
395
|
"resolved": "{ [x: string]: string; }",
|
|
@@ -567,7 +576,8 @@ export class DuetCombobox {
|
|
|
567
576
|
"selectionMsg": {},
|
|
568
577
|
"listOpen": {},
|
|
569
578
|
"selectedItems": {},
|
|
570
|
-
"activeItem": {}
|
|
579
|
+
"activeItem": {},
|
|
580
|
+
"language": {}
|
|
571
581
|
};
|
|
572
582
|
}
|
|
573
583
|
static get events() {
|
|
@@ -631,6 +641,9 @@ export class DuetCombobox {
|
|
|
631
641
|
return [{
|
|
632
642
|
"propName": "activeItem",
|
|
633
643
|
"methodName": "activeItemHandler"
|
|
644
|
+
}, {
|
|
645
|
+
"propName": "language",
|
|
646
|
+
"methodName": "watchLanguageStateHandler"
|
|
634
647
|
}];
|
|
635
648
|
}
|
|
636
649
|
static get listeners() {
|
|
@@ -5,7 +5,7 @@ import { h, Host } from "@stencil/core";
|
|
|
5
5
|
import { inheritGlobalTheme } from "../../common/themeable-component";
|
|
6
6
|
import { fieldSorter } from "../../utils/js-utils";
|
|
7
7
|
import { isKeyboardClick } from "../../utils/keyboard-utils";
|
|
8
|
-
import { getLocaleString } from "../../utils/language-utils";
|
|
8
|
+
import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
|
|
9
9
|
import { TableData } from "./duet-editable-table-tabledata";
|
|
10
10
|
export class DuetEditableTable {
|
|
11
11
|
constructor() {
|
|
@@ -41,6 +41,7 @@ export class DuetEditableTable {
|
|
|
41
41
|
this.toggleColumn(column, e);
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
|
+
this.language = getLanguage();
|
|
44
45
|
this.margin = "auto";
|
|
45
46
|
this.variation = "striped";
|
|
46
47
|
this.sticky = false;
|
|
@@ -63,6 +64,12 @@ export class DuetEditableTable {
|
|
|
63
64
|
this.hasHeadSlotFirst = !!this.element.querySelector("[slot='thead-first']");
|
|
64
65
|
this.hasHeadSlotLast = !!this.element.querySelector("[slot='thead-last']");
|
|
65
66
|
}
|
|
67
|
+
connectedCallback() {
|
|
68
|
+
connectLanguageChangeObserver(this);
|
|
69
|
+
}
|
|
70
|
+
disconnectedCallback() {
|
|
71
|
+
disconnectLanguageChangeObserver(this);
|
|
72
|
+
}
|
|
66
73
|
createLabel(column) {
|
|
67
74
|
const { sort_order, direction, index, label } = column;
|
|
68
75
|
const i18nLabel = getLocaleString(label);
|
|
@@ -81,7 +88,7 @@ export class DuetEditableTable {
|
|
|
81
88
|
}
|
|
82
89
|
return "action-subtract-small";
|
|
83
90
|
};
|
|
84
|
-
return (h("span", { class: "duet-table-label", "data-index": index }, h("duet-button", { size: "small", icon: getButtonIcon(), "icon-size": "medium-small", "accessible-label":
|
|
91
|
+
return (h("span", { class: "duet-table-label", "data-index": index }, h("duet-button", { size: "small", icon: getButtonIcon(), "icon-size": "medium-small", "accessible-label": this.sortableDefaultLabel[this.language], variation: "plain", margin: "none", "icon-right": true, onClick: event => this.toggleColumn(column, event), onKeyDown: event => this.handleKeyDown(column, event) }, i18nLabel)));
|
|
85
92
|
}
|
|
86
93
|
getSortedColumns() {
|
|
87
94
|
//create a new array from sort instead of mutating original
|
|
@@ -110,7 +117,7 @@ export class DuetEditableTable {
|
|
|
110
117
|
const label = this.createLabel(column);
|
|
111
118
|
return label !== "" ? h("th", { scope: "col" }, label) : h("td", null);
|
|
112
119
|
}
|
|
113
|
-
}), this.actions && (h("th", { scope: "col", class: "duet-table-action-header-heading" }, this.actions && h("duet-visually-hidden", null,
|
|
120
|
+
}), this.actions && (h("th", { scope: "col", class: "duet-table-action-header-heading" }, this.actions && h("duet-visually-hidden", null, this.actionColumnLabel[this.language])))));
|
|
114
121
|
}
|
|
115
122
|
renderActions(rowItem, index) {
|
|
116
123
|
// escape early
|
|
@@ -448,6 +455,11 @@ export class DuetEditableTable {
|
|
|
448
455
|
}
|
|
449
456
|
};
|
|
450
457
|
}
|
|
458
|
+
static get states() {
|
|
459
|
+
return {
|
|
460
|
+
"language": {}
|
|
461
|
+
};
|
|
462
|
+
}
|
|
451
463
|
static get events() {
|
|
452
464
|
return [{
|
|
453
465
|
"method": "duetTableToggle",
|
|
@@ -35,7 +35,11 @@ export class DuetFieldset {
|
|
|
35
35
|
* Always the last one in the class.
|
|
36
36
|
*/
|
|
37
37
|
render() {
|
|
38
|
-
return (h(Host, { class: { "duet-m-0": this.margin === "none" } }, h("fieldset", { "aria-labelledby":
|
|
38
|
+
return (h(Host, { class: { "duet-m-0": this.margin === "none" } }, h("fieldset", { "aria-labelledby": this.labelId, "aria-describedby": this.error ? this.errorId : null,
|
|
39
|
+
// NVDA and VoiceOver do not yet support aria-errormessage
|
|
40
|
+
// once they do, we can remove errors from the aria-describedby
|
|
41
|
+
// aria-errormessage={this.error ? this.errorId : null}
|
|
42
|
+
class: {
|
|
39
43
|
"duet-fieldset": true,
|
|
40
44
|
"duet-theme-turva": this.theme === "turva",
|
|
41
45
|
} }, h("legend", { id: this.labelId }, h("span", null, this.label), this.caption && h("span", null, this.caption)), h("div", { class: {
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
:host(.duet-grid-breakpoint-x-small) {
|
|
20
20
|
flex-direction: row !important;
|
|
21
21
|
}
|
|
22
|
+
:host(.duet-grid-breakpoint-x-small).duet-grid-row-reverse {
|
|
23
|
+
flex-direction: row-reverse !important;
|
|
24
|
+
}
|
|
22
25
|
@media (max-width: 22.5em) {
|
|
23
26
|
:host(.duet-grid-breakpoint-x-small) {
|
|
24
27
|
flex-direction: column !important;
|
|
@@ -29,24 +32,36 @@
|
|
|
29
32
|
:host(.duet-grid-breakpoint-small) {
|
|
30
33
|
flex-direction: row !important;
|
|
31
34
|
}
|
|
35
|
+
:host(.duet-grid-breakpoint-small).duet-grid-row-reverse {
|
|
36
|
+
flex-direction: row-reverse !important;
|
|
37
|
+
}
|
|
32
38
|
}
|
|
33
39
|
|
|
34
40
|
@media (min-width: 48em) {
|
|
35
41
|
:host(.duet-grid-breakpoint-medium) {
|
|
36
42
|
flex-direction: row !important;
|
|
37
43
|
}
|
|
44
|
+
:host(.duet-grid-breakpoint-medium).duet-grid-row-reverse {
|
|
45
|
+
flex-direction: row-reverse !important;
|
|
46
|
+
}
|
|
38
47
|
}
|
|
39
48
|
|
|
40
49
|
@media (min-width: 62em) {
|
|
41
50
|
:host(.duet-grid-breakpoint-large) {
|
|
42
51
|
flex-direction: row !important;
|
|
43
52
|
}
|
|
53
|
+
:host(.duet-grid-breakpoint-large).duet-grid-row-reverse {
|
|
54
|
+
flex-direction: row-reverse !important;
|
|
55
|
+
}
|
|
44
56
|
}
|
|
45
57
|
|
|
46
58
|
@media (min-width: 64.0625em) {
|
|
47
59
|
:host(.duet-grid-breakpoint-x-large) {
|
|
48
60
|
flex-direction: row !important;
|
|
49
61
|
}
|
|
62
|
+
:host(.duet-grid-breakpoint-x-large).duet-grid-row-reverse {
|
|
63
|
+
flex-direction: row-reverse !important;
|
|
64
|
+
}
|
|
50
65
|
}
|
|
51
66
|
|
|
52
67
|
:host(.duet-grid-wrap) {
|
|
@@ -56,6 +71,9 @@
|
|
|
56
71
|
:host(.duet-no-stacking) {
|
|
57
72
|
flex-direction: row !important;
|
|
58
73
|
}
|
|
74
|
+
:host(.duet-no-stacking).duet-grid-row-reverse {
|
|
75
|
+
flex-direction: row-reverse !important;
|
|
76
|
+
}
|
|
59
77
|
|
|
60
78
|
:host(.duet-grid-direction-vertical.duet-grid-breakpoint-x-small) {
|
|
61
79
|
flex-direction: column !important;
|
|
@@ -18,6 +18,7 @@ export class DuetGrid {
|
|
|
18
18
|
this.responsive = false;
|
|
19
19
|
this.breakpoint = "small";
|
|
20
20
|
this.direction = "horizontal";
|
|
21
|
+
this.rowReverse = false;
|
|
21
22
|
this.alignment = "top";
|
|
22
23
|
this.distribution = "default";
|
|
23
24
|
this.mobile = "";
|
|
@@ -140,6 +141,7 @@ export class DuetGrid {
|
|
|
140
141
|
"duet-grid-breakpoint-medium": this.breakpoint === "medium",
|
|
141
142
|
"duet-grid-breakpoint-large": this.breakpoint === "large",
|
|
142
143
|
"duet-grid-breakpoint-x-large": this.breakpoint === "x-large",
|
|
144
|
+
"duet-grid-row-reverse": this.rowReverse,
|
|
143
145
|
} }));
|
|
144
146
|
}
|
|
145
147
|
static get is() { return "duet-grid"; }
|
|
@@ -220,6 +222,24 @@ export class DuetGrid {
|
|
|
220
222
|
"reflect": false,
|
|
221
223
|
"defaultValue": "\"horizontal\""
|
|
222
224
|
},
|
|
225
|
+
"rowReverse": {
|
|
226
|
+
"type": "boolean",
|
|
227
|
+
"mutable": false,
|
|
228
|
+
"complexType": {
|
|
229
|
+
"original": "boolean",
|
|
230
|
+
"resolved": "boolean",
|
|
231
|
+
"references": {}
|
|
232
|
+
},
|
|
233
|
+
"required": false,
|
|
234
|
+
"optional": false,
|
|
235
|
+
"docs": {
|
|
236
|
+
"tags": [],
|
|
237
|
+
"text": "Reverse the order of the grid items when horizontal. Usefull when we want the primary item\nto be on bottom right on desktop, but on top on mobile and the first for screen readers."
|
|
238
|
+
},
|
|
239
|
+
"attribute": "row-reverse",
|
|
240
|
+
"reflect": false,
|
|
241
|
+
"defaultValue": "false"
|
|
242
|
+
},
|
|
223
243
|
"alignment": {
|
|
224
244
|
"type": "string",
|
|
225
245
|
"mutable": false,
|
|
@@ -13,7 +13,7 @@ import { disableBodyScroll, enableBodyScroll } from "body-scroll-lock/lib/bodySc
|
|
|
13
13
|
import { DuetStringsExternalDefaults } from "../../common-strings";
|
|
14
14
|
import { inheritGlobalTheme } from "../../common/themeable-component";
|
|
15
15
|
import { isArrowDownKey, isArrowLeftKey, isArrowRightKey, isArrowUpKey, isEscapeKey, isSpaceKey, } from "../../utils/keyboard-utils";
|
|
16
|
-
import { getLanguage, getLocaleString } from "../../utils/language-utils";
|
|
16
|
+
import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
|
|
17
17
|
import { parsePossibleJSON } from "../../utils/string-utils";
|
|
18
18
|
import { DuetHeaderDropdown } from "./duet-header-dropdown";
|
|
19
19
|
import { DuetHeaderHamburger } from "./duet-header-hamburger";
|
|
@@ -251,6 +251,17 @@ export class DuetHeader {
|
|
|
251
251
|
this.contactItems = undefined;
|
|
252
252
|
this.languageItems = undefined;
|
|
253
253
|
}
|
|
254
|
+
watchLanguageStateHandler(newValue, oldValue) {
|
|
255
|
+
if (newValue !== oldValue && this.accessibleLabel === this.accessibleLabelDefaults[oldValue]) {
|
|
256
|
+
this.accessibleLabel = getLocaleString(this.accessibleLabelDefaults, newValue);
|
|
257
|
+
}
|
|
258
|
+
if (newValue !== oldValue && this.accessibleI18nLabels === this.accessibleI18nLabelsDefaults[oldValue]) {
|
|
259
|
+
this.accessibleI18nLabels = getLocaleString(this.accessibleI18nLabelsDefaults, newValue);
|
|
260
|
+
}
|
|
261
|
+
if (newValue !== oldValue && this.accessibleLabelExternal === this.accessibleLabelExternalDefaults[oldValue]) {
|
|
262
|
+
this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults, newValue);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
254
265
|
/**
|
|
255
266
|
* Component lifecycle events.
|
|
256
267
|
*/
|
|
@@ -267,6 +278,7 @@ export class DuetHeader {
|
|
|
267
278
|
this.boundMqlFunctions[i] = bound;
|
|
268
279
|
}
|
|
269
280
|
}
|
|
281
|
+
connectLanguageChangeObserver(this);
|
|
270
282
|
}
|
|
271
283
|
disconnectedCallback() {
|
|
272
284
|
if (this.navigationEl) {
|
|
@@ -279,6 +291,7 @@ export class DuetHeader {
|
|
|
279
291
|
}
|
|
280
292
|
}
|
|
281
293
|
this.boundMqlFunctions = [];
|
|
294
|
+
disconnectLanguageChangeObserver(this);
|
|
282
295
|
}
|
|
283
296
|
/**
|
|
284
297
|
* Component event handling.
|
|
@@ -614,7 +627,7 @@ export class DuetHeader {
|
|
|
614
627
|
},
|
|
615
628
|
"accessibleI18nLabels": {
|
|
616
629
|
"type": "unknown",
|
|
617
|
-
"mutable":
|
|
630
|
+
"mutable": true,
|
|
618
631
|
"complexType": {
|
|
619
632
|
"original": "I18nText",
|
|
620
633
|
"resolved": "I18nText",
|
|
@@ -664,7 +677,7 @@ export class DuetHeader {
|
|
|
664
677
|
},
|
|
665
678
|
"accessibleLabelExternal": {
|
|
666
679
|
"type": "string",
|
|
667
|
-
"mutable":
|
|
680
|
+
"mutable": true,
|
|
668
681
|
"complexType": {
|
|
669
682
|
"original": "string",
|
|
670
683
|
"resolved": "string",
|
|
@@ -708,7 +721,7 @@ export class DuetHeader {
|
|
|
708
721
|
},
|
|
709
722
|
"accessibleLabel": {
|
|
710
723
|
"type": "string",
|
|
711
|
-
"mutable":
|
|
724
|
+
"mutable": true,
|
|
712
725
|
"complexType": {
|
|
713
726
|
"original": "string",
|
|
714
727
|
"resolved": "string",
|
|
@@ -1271,6 +1284,9 @@ export class DuetHeader {
|
|
|
1271
1284
|
static get elementRef() { return "element"; }
|
|
1272
1285
|
static get watchers() {
|
|
1273
1286
|
return [{
|
|
1287
|
+
"propName": "language",
|
|
1288
|
+
"methodName": "watchLanguageStateHandler"
|
|
1289
|
+
}, {
|
|
1274
1290
|
"propName": "user",
|
|
1275
1291
|
"methodName": "refresh"
|
|
1276
1292
|
}, {
|
|
@@ -5,6 +5,9 @@ import { h } from "@stencil/core";
|
|
|
5
5
|
import { inheritGlobalTheme } from "../../common/themeable-component";
|
|
6
6
|
import { sanitizeString } from "../../utils/string-utils";
|
|
7
7
|
import { getColorByName } from "../../utils/token-utils";
|
|
8
|
+
/**
|
|
9
|
+
* @part duet-heading - piercing selector for styling the heading element that should be used only in special circumstances
|
|
10
|
+
*/
|
|
8
11
|
export class DuetHeading {
|
|
9
12
|
constructor() {
|
|
10
13
|
this.level = "h2";
|
|
@@ -39,7 +42,7 @@ export class DuetHeading {
|
|
|
39
42
|
"duet-m-0": this.margin === "none",
|
|
40
43
|
[this.visualLevel ? this.visualLevel : this.level]: true,
|
|
41
44
|
"duet-theme-turva": this.theme === "turva",
|
|
42
|
-
}, style: { color } }, h("slot", null)));
|
|
45
|
+
}, style: { color }, part: "duet-heading" }, h("slot", null)));
|
|
43
46
|
}
|
|
44
47
|
static get is() { return "duet-heading"; }
|
|
45
48
|
static get encapsulation() { return "shadow"; }
|
|
@@ -227,7 +227,7 @@
|
|
|
227
227
|
}
|
|
228
228
|
@media (min-width: 22.5em) {
|
|
229
229
|
.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape {
|
|
230
|
-
top:
|
|
230
|
+
top: 160px;
|
|
231
231
|
width: 450px;
|
|
232
232
|
height: 450px;
|
|
233
233
|
}
|
|
@@ -266,6 +266,19 @@
|
|
|
266
266
|
.duet-hero.duet-hero-campaign .duet-hero-text, .duet-hero.duet-hero-section .duet-hero-text {
|
|
267
267
|
width: 100%;
|
|
268
268
|
}
|
|
269
|
+
.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading) {
|
|
270
|
+
font-size: 36px;
|
|
271
|
+
}
|
|
272
|
+
@media (min-width: 36em) {
|
|
273
|
+
.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading) {
|
|
274
|
+
font-size: 48px;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
@media (min-width: 62em) {
|
|
278
|
+
.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading) {
|
|
279
|
+
font-size: 64px;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
269
282
|
.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,
|
|
270
283
|
.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,
|
|
271
284
|
.duet-hero.duet-hero-section .duet-hero-text duet-paragraph {
|
|
@@ -351,7 +364,7 @@
|
|
|
351
364
|
background: none;
|
|
352
365
|
}
|
|
353
366
|
.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape {
|
|
354
|
-
top:
|
|
367
|
+
top: 125px;
|
|
355
368
|
left: -10px;
|
|
356
369
|
width: 350px;
|
|
357
370
|
height: 350px;
|
|
@@ -364,7 +377,7 @@
|
|
|
364
377
|
}
|
|
365
378
|
@media (min-width: 22.5em) {
|
|
366
379
|
.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape {
|
|
367
|
-
top:
|
|
380
|
+
top: 143px;
|
|
368
381
|
left: -30px;
|
|
369
382
|
width: 450px;
|
|
370
383
|
height: 450px;
|
|
@@ -468,6 +481,7 @@
|
|
|
468
481
|
}
|
|
469
482
|
@media (min-width: 62em) {
|
|
470
483
|
.duet-hero.duet-hero-product {
|
|
484
|
+
min-height: 375px;
|
|
471
485
|
padding-top: 0;
|
|
472
486
|
}
|
|
473
487
|
.duet-hero.duet-hero-product.duet-hero-narrow {
|
|
@@ -485,6 +499,9 @@
|
|
|
485
499
|
.duet-hero.duet-hero-product .background-area {
|
|
486
500
|
top: -112px;
|
|
487
501
|
}
|
|
502
|
+
.duet-hero.duet-hero-product .background-area.narrow {
|
|
503
|
+
top: 0;
|
|
504
|
+
}
|
|
488
505
|
}
|
|
489
506
|
.duet-hero.duet-hero-product .background-container {
|
|
490
507
|
position: absolute;
|
|
@@ -497,6 +514,9 @@
|
|
|
497
514
|
.duet-hero.duet-hero-product .background-container {
|
|
498
515
|
top: -48px;
|
|
499
516
|
}
|
|
517
|
+
.duet-hero.duet-hero-product .background-container.narrow {
|
|
518
|
+
top: -160px;
|
|
519
|
+
}
|
|
500
520
|
}
|
|
501
521
|
.duet-hero.duet-hero-product .background {
|
|
502
522
|
position: absolute;
|
|
@@ -5,7 +5,7 @@ import newWindowIcon from "@duetds/icons/lib/assets/action-new-window-small";
|
|
|
5
5
|
import { h } from "@stencil/core";
|
|
6
6
|
import { DuetStringsExternalDefaults } from "../../common-strings";
|
|
7
7
|
import { inheritGlobalTheme } from "../../common/themeable-component";
|
|
8
|
-
import { getLanguage, getLocaleString } from "../../utils/language-utils";
|
|
8
|
+
import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
|
|
9
9
|
import { parsePossibleJSON } from "../../utils/string-utils";
|
|
10
10
|
/**
|
|
11
11
|
* @part duet-hero - piercing selector for styling the hero container
|
|
@@ -60,6 +60,11 @@ export class DuetHero {
|
|
|
60
60
|
this.actions = undefined;
|
|
61
61
|
this.layout = "narrow";
|
|
62
62
|
}
|
|
63
|
+
watchLanguageStateHandler(newValue, oldValue) {
|
|
64
|
+
if (newValue !== oldValue && this.accessibleLabelExternal === this.accessibleLabelExternalDefaults[oldValue]) {
|
|
65
|
+
this.accessibleLabelExternal = getLocaleString(this.accessibleLabelExternalDefaults, newValue);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
63
68
|
/**
|
|
64
69
|
* Component lifecycle events.
|
|
65
70
|
*/
|
|
@@ -69,6 +74,12 @@ export class DuetHero {
|
|
|
69
74
|
this.hasSubHeadingSlot = !!this.element.querySelector('[slot="subheading"]');
|
|
70
75
|
this.refresh();
|
|
71
76
|
}
|
|
77
|
+
connectedCallback() {
|
|
78
|
+
connectLanguageChangeObserver(this);
|
|
79
|
+
}
|
|
80
|
+
disconnectedCallback() {
|
|
81
|
+
disconnectLanguageChangeObserver(this);
|
|
82
|
+
}
|
|
72
83
|
/**
|
|
73
84
|
* Local methods.
|
|
74
85
|
*/
|
|
@@ -155,7 +166,7 @@ export class DuetHero {
|
|
|
155
166
|
"duet-hero-text-center": (this.textCenter && !this.leftAlign) || campaignOrSection,
|
|
156
167
|
"duet-hero-left-align": this.leftAlign && !campaignOrSection,
|
|
157
168
|
"duet-hero-narrow": this.layout === "narrow",
|
|
158
|
-
}, part: "duet-hero" }, campaignOrSection && this.image && (h("div", { class: "background-area" }, h("div", { class: "background-container" }, h("div", { class: "background" }, h("img", { src: this.image, alt: "", role: "presentation" })), h("div", { class: "brand-shape" })))), this.variation === "product" && this.image && (h("div", { class: "background-area" }, h("div", { class: "background-container" }, h("div", { class: { background: true, [this.layout]: true } }, h("div", { class: { "background-mask": true, [this.layout]: true } }), this.theme !== "turva" && h("div", { class: { "brand-shape": true, [this.layout]: true } }), h("div", { class: { "brand-shaped-image": true, [this.layout]: true } }, h("div", { class: { "brand-shaped-image-wrapper": true, [this.layout]: true } }, h("div", { class: { "brand-shaped-image-bg": true, [this.layout]: true }, style: styles }))), this.categoryIcon && (h("div", { class: { "brand-shaped-icon": true, [this.layout]: true } }, h("duet-icon", { class: { [this.layout]: true }, background: "none", name: this.categoryIcon, margin: "none", size: "auto", responsive: false }))))))), this.variation === "content" && this.image && (h("div", { class: "background-area" }, h("div", { class: "background" }, h("div", { class: "background-mask" }), this.theme !== "turva" && h("div", { class: "brand-shape" }), h("div", { class: "brand-shaped-image" }, h("div", { class: "brand-shaped-image-wrapper" }, h("div", { class: "brand-shaped-image-bg", style: styles })))))), h("div", { class: { "duet-hero-wrapper": true, [this.layout]: true } }, this.image && this.variation === "image" && (h("div", { class: "duet-hero-image-mask" }, h("div", { class: "duet-hero-image-wrapper" }, h("div", { class: "duet-hero-image", style: styles })))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
|
|
169
|
+
}, part: "duet-hero" }, campaignOrSection && this.image && (h("div", { class: "background-area" }, h("div", { class: "background-container" }, h("div", { class: "background" }, h("img", { src: this.image, alt: "", role: "presentation" })), h("div", { class: "brand-shape" })))), this.variation === "product" && this.image && (h("div", { class: { "background-area": true, [this.layout]: true } }, h("div", { class: { "background-container": true, [this.layout]: true } }, h("div", { class: { background: true, [this.layout]: true } }, h("div", { class: { "background-mask": true, [this.layout]: true } }), this.theme !== "turva" && h("div", { class: { "brand-shape": true, [this.layout]: true } }), h("div", { class: { "brand-shaped-image": true, [this.layout]: true } }, h("div", { class: { "brand-shaped-image-wrapper": true, [this.layout]: true } }, h("div", { class: { "brand-shaped-image-bg": true, [this.layout]: true }, style: styles }))), this.categoryIcon && (h("div", { class: { "brand-shaped-icon": true, [this.layout]: true } }, h("duet-icon", { class: { [this.layout]: true }, background: "none", name: this.categoryIcon, margin: "none", size: "auto", responsive: false }))))))), this.variation === "content" && this.image && (h("div", { class: "background-area" }, h("div", { class: "background" }, h("div", { class: "background-mask" }), this.theme !== "turva" && h("div", { class: "brand-shape" }), h("div", { class: "brand-shaped-image" }, h("div", { class: "brand-shaped-image-wrapper" }, h("div", { class: "brand-shaped-image-bg", style: styles })))))), h("div", { class: { "duet-hero-wrapper": true, [this.layout]: true } }, this.image && this.variation === "image" && (h("div", { class: "duet-hero-image-mask" }, h("div", { class: "duet-hero-image-wrapper" }, h("div", { class: "duet-hero-image", style: styles })))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
|
|
159
170
|
this.processedBack && (h("div", { class: "duet-hero-back" }, h("duet-button", { style: buttonStyles, variation: "plain", icon: "action-arrow-left-small", theme: this.theme, iconSize: "small", color: buttonColor, padding: "none", margin: "none", fixed: true, url: this.processedBack.href, identifier: this.processedBack.id, onClick: event => this.handleClick(event, {
|
|
160
171
|
label: this.processedBack.label,
|
|
161
172
|
href: this.processedBack.href,
|
|
@@ -492,7 +503,7 @@ export class DuetHero {
|
|
|
492
503
|
},
|
|
493
504
|
"accessibleLabelExternal": {
|
|
494
505
|
"type": "string",
|
|
495
|
-
"mutable":
|
|
506
|
+
"mutable": true,
|
|
496
507
|
"complexType": {
|
|
497
508
|
"original": "string",
|
|
498
509
|
"resolved": "string",
|
|
@@ -768,6 +779,9 @@ export class DuetHero {
|
|
|
768
779
|
static get elementRef() { return "element"; }
|
|
769
780
|
static get watchers() {
|
|
770
781
|
return [{
|
|
782
|
+
"propName": "language",
|
|
783
|
+
"methodName": "watchLanguageStateHandler"
|
|
784
|
+
}, {
|
|
771
785
|
"propName": "back",
|
|
772
786
|
"methodName": "refresh"
|
|
773
787
|
}, {
|
|
@@ -103,20 +103,17 @@ export class DuetInput {
|
|
|
103
103
|
* Private functions
|
|
104
104
|
*/
|
|
105
105
|
this.getDescribedBy = () => {
|
|
106
|
-
|
|
106
|
+
const describedBy = [];
|
|
107
107
|
if (this.isCaptionVisible && this.topCaptionId) {
|
|
108
|
-
describedBy
|
|
109
|
-
if (this.accessibleDescribedBy) {
|
|
110
|
-
describedBy += " " + this.accessibleDescribedBy;
|
|
111
|
-
}
|
|
108
|
+
describedBy.push(this.topCaptionId);
|
|
112
109
|
}
|
|
113
|
-
|
|
114
|
-
describedBy
|
|
110
|
+
if (this.accessibleDescribedBy) {
|
|
111
|
+
describedBy.push(this.accessibleDescribedBy);
|
|
115
112
|
}
|
|
116
|
-
|
|
117
|
-
describedBy
|
|
113
|
+
if (this.error) {
|
|
114
|
+
describedBy.push(this.errorId);
|
|
118
115
|
}
|
|
119
|
-
return describedBy;
|
|
116
|
+
return describedBy.length > 0 ? describedBy.join(" ") : null;
|
|
120
117
|
};
|
|
121
118
|
this.handleClearClick = event => {
|
|
122
119
|
const clearing = this.clearInput();
|
|
@@ -317,9 +314,7 @@ export class DuetInput {
|
|
|
317
314
|
disabled: this.disabled,
|
|
318
315
|
"is-number": this.component === "number",
|
|
319
316
|
"is-date": this.component === "date",
|
|
320
|
-
}, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": this.accessibleLabelledBy
|
|
321
|
-
? `${this.errorId} ${this.labelId} ${this.accessibleLabelledBy}`
|
|
322
|
-
: `${this.errorId} ${this.labelId}`, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-details": this.accessibleDetails, "aria-errormessage": this.error ? this.errorId : null, "aria-description": this.accessibleDescription, "aria-expanded": this.accessibleExpanded, "aria-haspopup": this.accessibleHasPopup, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.type === "password" ? "off" : this.autoComplete, required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), !this.value && hasInputIcon && (h("div", { class: "duet-input-icon" }, h("duet-icon", { margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.clear && this.value && (h("div", { class: {
|
|
317
|
+
}, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": this.accessibleLabelledBy ? `${this.labelId} ${this.accessibleLabelledBy}` : this.labelId, "aria-controls": this.accessibleControls, "aria-autocomplete": this.accessibleAutocomplete, "aria-activedescendant": this.accessibleActiveDescendant, "aria-details": this.accessibleDetails, "aria-description": this.accessibleDescription, "aria-expanded": this.accessibleExpanded, "aria-haspopup": this.accessibleHasPopup, "aria-owns": this.accessibleOwns, "aria-describedby": this.getDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.type === "password" ? "off" : this.autoComplete, required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), !this.value && hasInputIcon && (h("div", { class: "duet-input-icon" }, h("duet-icon", { margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.clear && this.value && (h("div", { class: {
|
|
323
318
|
"duet-input-clear-icon": true,
|
|
324
319
|
"duet-input-clear-icon-single": !hasInputIcon,
|
|
325
320
|
"duet-input-clear-icon-double": !!this.icon,
|
package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js
CHANGED
|
@@ -20,6 +20,7 @@ export class DuetMenuBarDropdownLink {
|
|
|
20
20
|
this.theme = "";
|
|
21
21
|
this.href = "#";
|
|
22
22
|
this.icon = undefined;
|
|
23
|
+
this.accessibleLabel = undefined;
|
|
23
24
|
}
|
|
24
25
|
/**
|
|
25
26
|
* Component lifecycle events.
|
|
@@ -43,7 +44,7 @@ export class DuetMenuBarDropdownLink {
|
|
|
43
44
|
"duet-menu-bar-dropdown-link": true,
|
|
44
45
|
[`duet-menu-bar-dropdown-link--slot-${this.getVariant()}`]: true,
|
|
45
46
|
"duet-theme-turva": this.theme === "turva",
|
|
46
|
-
}, href: this.href, role: "menuitem", onKeyUp: e => this.handleEscape(e) }, this.icon && (h("duet-icon", { theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), h("slot", null))));
|
|
47
|
+
}, href: this.href, role: "menuitem", onKeyUp: e => this.handleEscape(e), "aria-label": this.accessibleLabel }, this.icon && (h("duet-icon", { theme: this.theme, name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), h("slot", null))));
|
|
47
48
|
}
|
|
48
49
|
static get is() { return "duet-menu-bar-dropdown-link"; }
|
|
49
50
|
static get encapsulation() { return "shadow"; }
|
|
@@ -117,6 +118,23 @@ export class DuetMenuBarDropdownLink {
|
|
|
117
118
|
"attribute": "icon",
|
|
118
119
|
"reflect": true,
|
|
119
120
|
"defaultValue": "undefined"
|
|
121
|
+
},
|
|
122
|
+
"accessibleLabel": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"mutable": false,
|
|
125
|
+
"complexType": {
|
|
126
|
+
"original": "string",
|
|
127
|
+
"resolved": "string",
|
|
128
|
+
"references": {}
|
|
129
|
+
},
|
|
130
|
+
"required": false,
|
|
131
|
+
"optional": false,
|
|
132
|
+
"docs": {
|
|
133
|
+
"tags": [],
|
|
134
|
+
"text": "Adds accessible label for the link that is only shown for screen readers.\nTypically, this label text replaces the visible text on the link for users\nwho use assistive technology."
|
|
135
|
+
},
|
|
136
|
+
"attribute": "accessible-label",
|
|
137
|
+
"reflect": false
|
|
120
138
|
}
|
|
121
139
|
};
|
|
122
140
|
}
|