@duetds/components 10.4.0 → 10.6.0
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 +686 -318
- package/hydrate/index.mjs +686 -318
- package/lib/cjs/{a11y-utils-BXDHn_nL.js → a11y-utils-CgWjS7yq.js} +1 -1
- package/lib/cjs/{app-globals-Bs3-XKhd.js → app-globals-D68ciWsb.js} +1 -1
- package/lib/cjs/duet-action-button.cjs.entry.js +6 -6
- package/lib/cjs/duet-alert.cjs.entry.js +4 -4
- package/lib/cjs/duet-badge.cjs.entry.js +29 -6
- package/lib/cjs/duet-banner.cjs.entry.js +15 -16
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +7 -7
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +7 -7
- package/lib/cjs/duet-button_2.cjs.entry.js +9 -9
- package/lib/cjs/duet-callout.cjs.entry.js +5 -5
- package/lib/cjs/duet-caption_4.cjs.entry.js +13 -13
- package/lib/cjs/duet-card.cjs.entry.js +21 -10
- package/lib/cjs/duet-checkbox.cjs.entry.js +3 -3
- package/lib/cjs/duet-checkmark.cjs.entry.js +4 -4
- package/lib/cjs/duet-chip.cjs.entry.js +29 -16
- package/lib/cjs/duet-choice_2.cjs.entry.js +20 -22
- package/lib/cjs/duet-collapsible.cjs.entry.js +4 -4
- package/lib/cjs/duet-combobox.cjs.entry.js +6 -7
- package/lib/cjs/duet-contact-card.cjs.entry.js +17 -7
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +3 -3
- package/lib/cjs/duet-date-picker.cjs.entry.js +128 -14
- package/lib/cjs/duet-divider_2.cjs.entry.js +6 -6
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +17 -17
- package/lib/cjs/duet-empty-state.cjs.entry.js +4 -4
- package/lib/cjs/duet-fieldset.cjs.entry.js +6 -6
- package/lib/cjs/duet-file-chooser.cjs.entry.js +3 -3
- package/lib/cjs/duet-footer.cjs.entry.js +9 -9
- package/lib/cjs/duet-grid_2.cjs.entry.js +7 -7
- package/lib/cjs/duet-header_2.cjs.entry.js +7 -7
- package/lib/cjs/duet-hero.cjs.entry.js +22 -21
- package/lib/cjs/duet-icon.cjs.entry.js +7 -7
- package/lib/cjs/duet-indicator.cjs.entry.js +5 -5
- package/lib/cjs/duet-input_2.cjs.entry.js +132 -23
- package/lib/cjs/duet-layout.cjs.entry.js +7 -7
- package/lib/cjs/duet-list_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-menu-bar-button.cjs.entry.js +4 -4
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +5 -5
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +7 -7
- package/lib/cjs/duet-menu-bar-item.cjs.entry.js +7 -7
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-menu-bar.cjs.entry.js +6 -6
- package/lib/cjs/duet-modal.cjs.entry.js +15 -15
- package/lib/cjs/duet-multiselect.cjs.entry.js +11 -11
- package/lib/cjs/duet-nav.cjs.entry.js +3 -3
- package/lib/cjs/duet-notification_2.cjs.entry.js +10 -10
- package/lib/cjs/duet-number-input.cjs.entry.js +14 -12
- package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
- package/lib/cjs/duet-page-heading.cjs.entry.js +20 -5
- package/lib/cjs/duet-pagination_2.cjs.entry.js +20 -21
- package/lib/cjs/duet-panel.cjs.entry.js +4 -4
- package/lib/cjs/duet-phone-input.cjs.entry.js +23 -6
- package/lib/cjs/duet-popup-menu_2.cjs.entry.js +10 -10
- package/lib/cjs/duet-progress.cjs.entry.js +3 -3
- package/lib/cjs/duet-promo-card.cjs.entry.js +20 -8
- package/lib/cjs/duet-radio_2.cjs.entry.js +7 -10
- package/lib/cjs/duet-range-slider.cjs.entry.js +8 -8
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +18 -18
- package/lib/cjs/duet-section-layout.cjs.entry.js +4 -4
- package/lib/cjs/duet-select.cjs.entry.js +9 -9
- package/lib/cjs/duet-shaped-image.cjs.entry.js +4 -4
- package/lib/cjs/duet-share-chart-item.cjs.entry.js +2 -2
- package/lib/cjs/duet-share-chart.cjs.entry.js +8 -8
- package/lib/cjs/duet-show-more.cjs.entry.js +6 -6
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
- package/lib/cjs/duet-slideout-link.cjs.entry.js +7 -7
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -6
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +13 -13
- package/lib/cjs/duet-slideout.cjs.entry.js +20 -14
- package/lib/cjs/duet-status-icon.cjs.entry.js +3 -3
- package/lib/cjs/duet-step_2.cjs.entry.js +7 -7
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +5 -5
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +7 -7
- package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +7 -7
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -7
- package/lib/cjs/duet-textarea.cjs.entry.js +8 -8
- package/lib/cjs/duet-toggle.cjs.entry.js +9 -9
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +5 -5
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +7 -7
- package/lib/cjs/duet-toolbar-item.cjs.entry.js +8 -8
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-toolbar.cjs.entry.js +4 -4
- package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +14 -12
- package/lib/cjs/duet-tooltip.cjs.entry.js +25 -8
- package/lib/cjs/duet-tray.cjs.entry.js +7 -7
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
- package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
- package/lib/cjs/duet.cjs.js +3 -3
- package/lib/cjs/{errorcodes.utils-W6UQ3hgy.js → errorcodes.utils-C0tQ3k6Z.js} +1 -1
- package/lib/cjs/{focus-utils-KTKpjKRi.js → focus-utils-tCoGOO7d.js} +1 -1
- package/lib/cjs/{index-C7Yvi8y8.js → index-BeiMjjVl.js} +9 -9
- package/lib/cjs/{keyboard-utils-D9UlHbik.js → keyboard-utils-DibQafwg.js} +2 -0
- package/lib/cjs/{label-DZ63Z3SI.js → label-Cu4DNShe.js} +1 -1
- package/lib/cjs/{language-utils-BsevPDrN.js → language-utils-B3NubUDr.js} +1 -1
- package/lib/cjs/loader.cjs.js +3 -3
- package/lib/cjs/picture-utils-D_HVgfq5.js +15 -0
- package/lib/cjs/{slot-utils-DIDW777s.js → slot-utils-Dny6EJ_G.js} +1 -1
- package/lib/cjs/{themeable-component-hQ83w5_A.js → themeable-component-Csdvrnsd.js} +1 -1
- package/lib/cjs/{token-utils-DY3-olMV.js → token-utils-ZISdNshf.js} +1 -1
- package/lib/cjs/{tokens.module-CTbvyezn.js → tokens.module-CGRpZaa1.js} +2 -1
- package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
- package/lib/collection/components/duet-alert/duet-alert.js +1 -1
- package/lib/collection/components/duet-badge/duet-badge.css +66 -5
- package/lib/collection/components/duet-badge/duet-badge.js +49 -2
- package/lib/collection/components/duet-banner/duet-banner.css +12 -0
- package/lib/collection/components/duet-banner/duet-banner.js +30 -5
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -4
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -2
- package/lib/collection/components/duet-button/duet-button.css +5 -0
- package/lib/collection/components/duet-button/duet-button.js +8 -8
- package/lib/collection/components/duet-callout/duet-callout.js +2 -2
- package/lib/collection/components/duet-caption/duet-caption.js +1 -1
- package/lib/collection/components/duet-card/duet-card.css +3 -0
- package/lib/collection/components/duet-card/duet-card.js +43 -7
- package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
- package/lib/collection/components/duet-chip/duet-chip.js +54 -21
- package/lib/collection/components/duet-choice/duet-checkmark.js +2 -2
- package/lib/collection/components/duet-choice/duet-choice.js +12 -12
- package/lib/collection/components/duet-choice-group/duet-choice-group.js +6 -8
- package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
- package/lib/collection/components/duet-combobox/duet-combobox.js +3 -4
- package/lib/collection/components/duet-contact-card/duet-contact-card.css +3 -0
- package/lib/collection/components/duet-contact-card/duet-contact-card.js +38 -2
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
- package/lib/collection/components/duet-date-picker/date-picker-month.js +4 -2
- package/lib/collection/components/duet-date-picker/date-utils.js +7 -0
- package/lib/collection/components/duet-date-picker/disallowed-days.js +23 -0
- package/lib/collection/components/duet-date-picker/duet-date-picker.js +103 -10
- package/lib/collection/components/duet-date-picker/finnish-bank-holidays.js +66 -0
- package/lib/collection/components/duet-divider/duet-divider.js +2 -2
- package/lib/collection/components/duet-editable-table/duet-editable-table.js +7 -7
- package/lib/collection/components/duet-empty-state/duet-empty-state.js +5 -5
- package/lib/collection/components/duet-fieldset/duet-fieldset.js +3 -3
- package/lib/collection/components/duet-file-chooser/duet-file-chooser.js +2 -2
- package/lib/collection/components/duet-footer/duet-footer.js +11 -11
- package/lib/collection/components/duet-grid/duet-grid.js +5 -5
- package/lib/collection/components/duet-grid-item/duet-grid-item.css +5 -0
- package/lib/collection/components/duet-grid-item/duet-grid-item.js +2 -2
- package/lib/collection/components/duet-header/duet-header.js +15 -15
- package/lib/collection/components/duet-heading/duet-heading.js +3 -3
- package/lib/collection/components/duet-hero/duet-hero.css +92 -14
- package/lib/collection/components/duet-hero/duet-hero.js +47 -21
- package/lib/collection/components/duet-icon/duet-icon.js +3 -3
- package/lib/collection/components/duet-indicator/duet-indicator.js +3 -3
- package/lib/collection/components/duet-input/duet-input.css +38 -3
- package/lib/collection/components/duet-input/duet-input.js +213 -27
- package/lib/collection/components/duet-label/duet-label.js +2 -2
- package/lib/collection/components/duet-layout/duet-layout.js +6 -6
- package/lib/collection/components/duet-link/duet-link.js +2 -2
- package/lib/collection/components/duet-list/duet-list.js +4 -4
- package/lib/collection/components/duet-list-item/duet-list-item.js +2 -2
- package/lib/collection/components/duet-logo/duet-logo.js +2 -2
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +4 -4
- package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +2 -2
- package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -4
- package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -2
- package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.js +2 -2
- package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -2
- package/lib/collection/components/duet-modal/duet-modal.js +11 -11
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +11 -11
- package/lib/collection/components/duet-nav/duet-nav.js +1 -1
- package/lib/collection/components/duet-notification/duet-notification.js +2 -2
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +4 -4
- package/lib/collection/components/duet-number-input/duet-number-input.js +14 -13
- package/lib/collection/components/duet-overlay/duet-overlay.js +2 -2
- package/lib/collection/components/duet-page-heading/duet-page-heading.css +20 -1
- package/lib/collection/components/duet-page-heading/duet-page-heading.js +58 -2
- package/lib/collection/components/duet-pagination/duet-pagination.js +14 -15
- package/lib/collection/components/duet-panel/duet-panel.js +3 -3
- package/lib/collection/components/duet-paragraph/duet-paragraph.js +5 -5
- package/lib/collection/components/duet-phone-input/duet-phone-input.js +42 -5
- package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +1 -1
- package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +4 -4
- package/lib/collection/components/duet-promo-card/duet-promo-card.css +4 -0
- package/lib/collection/components/duet-promo-card/duet-promo-card.js +39 -2
- package/lib/collection/components/duet-radio/duet-radio.js +6 -9
- package/lib/collection/components/duet-radio-group/duet-radio-group.js +1 -1
- package/lib/collection/components/duet-range-slider/duet-range-slider.js +4 -4
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +3 -3
- package/lib/collection/components/duet-scrollable/duet-scrollable.js +5 -5
- package/lib/collection/components/duet-section-layout/duet-section-layout.js +3 -3
- package/lib/collection/components/duet-select/duet-select.js +10 -10
- package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +2 -2
- package/lib/collection/components/duet-share-chart/duet-share-chart.js +2 -2
- package/lib/collection/components/duet-share-chart-item/duet-share-chart-item.js +1 -1
- package/lib/collection/components/duet-show-more/duet-show-more.js +3 -3
- package/lib/collection/components/duet-slideout/duet-slideout.js +12 -6
- package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +1 -1
- package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -2
- package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +6 -6
- package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -4
- package/lib/collection/components/duet-spacer/duet-spacer.js +3 -3
- package/lib/collection/components/duet-spinner/duet-spinner.js +2 -2
- package/lib/collection/components/duet-status-icon/duet-status-icon.js +2 -2
- package/lib/collection/components/duet-step/duet-step.js +4 -4
- package/lib/collection/components/duet-stepper/duet-stepper.js +2 -2
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +5 -5
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -4
- package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -2
- package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.js +1 -1
- package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +1 -1
- package/lib/collection/components/duet-tab/duet-tab.js +2 -2
- package/lib/collection/components/duet-tab-group/duet-tab-group.js +9 -9
- package/lib/collection/components/duet-table/duet-table-styles.js +5 -5
- package/lib/collection/components/duet-table/duet-table.js +2 -2
- package/lib/collection/components/duet-textarea/duet-textarea.js +7 -7
- package/lib/collection/components/duet-toggle/duet-toggle.js +4 -4
- package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -2
- package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -4
- package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -2
- package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.js +3 -3
- package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -2
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +18 -4
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +25 -3
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +1 -1
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +3 -3
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +48 -5
- package/lib/collection/components/duet-tray/duet-tray.js +2 -2
- package/lib/collection/components/duet-upload/duet-upload.js +16 -16
- package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +1 -1
- package/lib/collection/components/duet-upload-item/duet-upload-item.js +4 -4
- package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +1 -1
- package/lib/collection/utils/keyboard-utils.js +1 -0
- package/lib/collection/utils/math.utils.js +1 -0
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/p-054c334d.entry.js +4 -0
- package/lib/duet/{p-81332db1.entry.js → p-0e10e36b.entry.js} +1 -1
- package/lib/duet/{p-428db44b.entry.js → p-12d7fdf6.entry.js} +1 -1
- package/lib/duet/{p-494755d0.entry.js → p-1579bdf5.entry.js} +1 -1
- package/lib/duet/{p-e8bd6dab.entry.js → p-174935bc.entry.js} +1 -1
- package/lib/duet/p-1d7a9425.entry.js +4 -0
- package/lib/duet/{p-2e413951.entry.js → p-20066df8.entry.js} +1 -1
- package/lib/duet/{p-6988c81c.entry.js → p-20c8226c.entry.js} +1 -1
- package/lib/duet/{p-1ee400e7.entry.js → p-210bc161.entry.js} +1 -1
- package/lib/duet/{p-fea479fd.entry.js → p-244bfbf9.entry.js} +1 -1
- package/lib/duet/{p-adecab91.entry.js → p-264688ae.entry.js} +1 -1
- package/lib/duet/{p-1dcbbd67.entry.js → p-2bf78fe4.entry.js} +1 -1
- package/lib/duet/{p-1bdef0e0.entry.js → p-2e44c6b8.entry.js} +1 -1
- package/lib/duet/{p-3c26d300.entry.js → p-304a9a55.entry.js} +1 -1
- package/lib/duet/{p-a63327c3.entry.js → p-30d8a1e4.entry.js} +1 -1
- package/lib/duet/p-3445529c.entry.js +4 -0
- package/lib/duet/{p-1666aeaf.entry.js → p-3533d6ee.entry.js} +1 -1
- package/lib/duet/{p-87bb797c.entry.js → p-374b48f6.entry.js} +1 -1
- package/lib/duet/{p-bcced6eb.entry.js → p-3b9d7f6a.entry.js} +1 -1
- package/lib/duet/{p-dc87f3f4.entry.js → p-3def9480.entry.js} +1 -1
- package/lib/duet/p-3fbe466a.entry.js +4 -0
- package/lib/duet/{p-12e4e9b6.entry.js → p-407d4e5a.entry.js} +1 -1
- package/lib/duet/p-41230630.entry.js +4 -0
- package/lib/duet/p-44e53564.entry.js +4 -0
- package/lib/duet/p-46287d85.entry.js +4 -0
- package/lib/duet/p-48e77341.entry.js +4 -0
- package/lib/duet/{p-fbce84d5.entry.js → p-4a041c60.entry.js} +1 -1
- package/lib/duet/p-4a251661.entry.js +4 -0
- package/lib/duet/p-4a4e5bb5.entry.js +4 -0
- package/lib/duet/{p-184d53a7.entry.js → p-4acdc586.entry.js} +1 -1
- package/lib/duet/{p-afd7d87a.entry.js → p-4b07ce36.entry.js} +1 -1
- package/lib/duet/{p-c71f6942.entry.js → p-4cee693b.entry.js} +1 -1
- package/lib/duet/{p-01f3e30c.entry.js → p-4e1c2676.entry.js} +1 -1
- package/lib/duet/{p-d181c624.entry.js → p-4e5532c8.entry.js} +1 -1
- package/lib/duet/{p-3bd45b5b.entry.js → p-512d18c8.entry.js} +1 -1
- package/lib/duet/p-555e0c78.entry.js +4 -0
- package/lib/duet/{p-13b7f4e0.entry.js → p-5b322a86.entry.js} +1 -1
- package/lib/duet/p-5f72134e.entry.js +4 -0
- package/lib/duet/{p-f210e405.entry.js → p-61abccd4.entry.js} +1 -1
- package/lib/duet/p-6a11ba26.entry.js +4 -0
- package/lib/duet/p-6bd78205.entry.js +4 -0
- package/lib/duet/p-6c239923.entry.js +4 -0
- package/lib/duet/{p-7a5066b8.entry.js → p-6ce82324.entry.js} +1 -1
- package/lib/duet/{p-526fa31c.entry.js → p-6d1d1199.entry.js} +1 -1
- package/lib/duet/p-81c5d3e3.entry.js +4 -0
- package/lib/duet/{p-f652a9c7.entry.js → p-829bccb7.entry.js} +1 -1
- package/lib/duet/p-83dcbb64.entry.js +4 -0
- package/lib/duet/{p-a4a1b8e3.entry.js → p-84f8bee8.entry.js} +1 -1
- package/lib/duet/{p-07c4b435.entry.js → p-8927ccc1.entry.js} +1 -1
- package/lib/duet/{p-2d43de54.entry.js → p-8bdcfd1f.entry.js} +1 -1
- package/lib/duet/{p-b64b3e2f.entry.js → p-8fbcea55.entry.js} +1 -1
- package/lib/duet/{p-84420fbf.entry.js → p-914ee7ac.entry.js} +1 -1
- package/lib/duet/{p-7a668cee.entry.js → p-95bb2a8d.entry.js} +1 -1
- package/lib/duet/{p-4c5a8ed3.entry.js → p-985213bb.entry.js} +1 -1
- package/lib/duet/{p-d2c91ed0.entry.js → p-9889218e.entry.js} +1 -1
- package/lib/duet/{p-c1d4542d.entry.js → p-9b2731b9.entry.js} +1 -1
- package/lib/duet/{p-46300680.entry.js → p-9b448008.entry.js} +1 -1
- package/lib/duet/p-9c41f1d5.entry.js +4 -0
- package/lib/duet/p-BDgGHTHh.js +4 -0
- package/lib/duet/p-BZev46O8.js +4 -0
- package/lib/duet/p-BaefVzkx.js +4 -0
- package/lib/duet/p-CcoGR9T9.js +4 -0
- package/lib/duet/{p-BW3SZS4F.js → p-CyfEm8iD.js} +1 -1
- package/lib/duet/p-D3450NfA.js +5 -0
- package/lib/duet/{p-DWIjWGAD.js → p-D9N9LBeD.js} +1 -1
- package/lib/duet/{p-2HU78SJ-.js → p-DI7IXBXp.js} +1 -1
- package/lib/duet/{p-D2ly4TZR.js → p-DYmL1tSl.js} +1 -1
- package/lib/duet/p-Dk60lC7n.js +4 -0
- package/lib/duet/p-JFwTD5kM.js +4 -0
- package/lib/duet/{p-D2EBd3cT.js → p-KbNgo0QF.js} +1 -1
- package/lib/duet/p-a01f3141.entry.js +4 -0
- package/lib/duet/p-a49b5d93.entry.js +4 -0
- package/lib/duet/p-a6dbe893.entry.js +4 -0
- package/lib/duet/{p-a690a165.entry.js → p-aa1256f9.entry.js} +1 -1
- package/lib/duet/{p-9d8027aa.entry.js → p-aa7e4c81.entry.js} +1 -1
- package/lib/duet/{p-d2c04a7e.entry.js → p-ac4fc44c.entry.js} +1 -1
- package/lib/duet/{p-376f9d06.entry.js → p-ae382e2e.entry.js} +1 -1
- package/lib/duet/p-bc41d13d.entry.js +4 -0
- package/lib/duet/{p-5dde8fbb.entry.js → p-c54ecb23.entry.js} +1 -1
- package/lib/duet/{p-5ffc4081.entry.js → p-d72dee5d.entry.js} +1 -1
- package/lib/duet/{p-2168e431.entry.js → p-d7abb7fa.entry.js} +1 -1
- package/lib/duet/{p-3648404d.entry.js → p-dbb9e1d4.entry.js} +1 -1
- package/lib/duet/{p-b3ec9b98.entry.js → p-e40d9c21.entry.js} +1 -1
- package/lib/duet/p-e43df9c2.entry.js +4 -0
- package/lib/duet/{p-14d4a45a.entry.js → p-e442943d.entry.js} +1 -1
- package/lib/duet/p-eb7bc989.entry.js +4 -0
- package/lib/duet/{p-3361387d.entry.js → p-ec1d2e0a.entry.js} +1 -1
- package/lib/duet/p-edcdf0b7.entry.js +4 -0
- package/lib/duet/{p-d0a54e6d.entry.js → p-ee369233.entry.js} +1 -1
- package/lib/duet/{p-816caa58.entry.js → p-f297f8f2.entry.js} +1 -1
- package/lib/duet/{p-0453edd0.entry.js → p-f30c3cfe.entry.js} +1 -1
- package/lib/duet/{p-0395eb34.entry.js → p-f4538e9d.entry.js} +1 -1
- package/lib/duet/{p-1ed82a27.entry.js → p-f4de7ac0.entry.js} +1 -1
- package/lib/duet/{p-4d39941c.entry.js → p-f8d640ba.entry.js} +1 -1
- package/lib/duet/{p-61b6962a.entry.js → p-f9db8670.entry.js} +1 -1
- package/lib/duet/p-fc1a18f8.entry.js +4 -0
- package/lib/duet/{p-dfd55180.entry.js → p-fc2be136.entry.js} +1 -1
- package/lib/duet/p-fdc4a97c.entry.js +4 -0
- package/lib/duet/p-kkZE1C6Z.js +4 -0
- package/lib/esm/{a11y-utils-sgAajRY0.js → a11y-utils--wwGTL0T.js} +1 -1
- package/lib/esm/{app-globals-NNQmI_gc.js → app-globals-Diuuep9d.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +6 -6
- package/lib/esm/duet-alert.entry.js +4 -4
- package/lib/esm/duet-badge.entry.js +29 -6
- package/lib/esm/duet-banner.entry.js +15 -16
- package/lib/esm/duet-breadcrumb.entry.js +7 -7
- package/lib/esm/duet-breadcrumbs.entry.js +7 -7
- package/lib/esm/duet-button_2.entry.js +9 -9
- package/lib/esm/duet-callout.entry.js +5 -5
- package/lib/esm/duet-caption_4.entry.js +13 -13
- package/lib/esm/duet-card.entry.js +22 -11
- package/lib/esm/duet-checkbox.entry.js +3 -3
- package/lib/esm/duet-checkmark.entry.js +4 -4
- package/lib/esm/duet-chip.entry.js +29 -16
- package/lib/esm/duet-choice_2.entry.js +20 -22
- package/lib/esm/duet-collapsible.entry.js +4 -4
- package/lib/esm/duet-combobox.entry.js +6 -7
- package/lib/esm/duet-contact-card.entry.js +17 -7
- package/lib/esm/duet-cookie-consent.entry.js +3 -3
- package/lib/esm/duet-date-picker.entry.js +128 -14
- package/lib/esm/duet-divider_2.entry.js +6 -6
- package/lib/esm/duet-editable-table_3.entry.js +17 -17
- package/lib/esm/duet-empty-state.entry.js +4 -4
- package/lib/esm/duet-fieldset.entry.js +6 -6
- package/lib/esm/duet-file-chooser.entry.js +3 -3
- package/lib/esm/duet-footer.entry.js +9 -9
- package/lib/esm/duet-grid_2.entry.js +7 -7
- package/lib/esm/duet-header_2.entry.js +7 -7
- package/lib/esm/duet-hero.entry.js +22 -21
- package/lib/esm/duet-icon.entry.js +7 -7
- package/lib/esm/duet-indicator.entry.js +5 -5
- package/lib/esm/duet-input_2.entry.js +132 -23
- package/lib/esm/duet-layout.entry.js +7 -7
- package/lib/esm/duet-list_2.entry.js +5 -5
- package/lib/esm/duet-menu-bar-button.entry.js +4 -4
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +5 -5
- package/lib/esm/duet-menu-bar-dropdown.entry.js +7 -7
- package/lib/esm/duet-menu-bar-item.entry.js +7 -7
- package/lib/esm/duet-menu-bar-link.entry.js +4 -4
- package/lib/esm/duet-menu-bar.entry.js +6 -6
- package/lib/esm/duet-modal.entry.js +15 -15
- package/lib/esm/duet-multiselect.entry.js +11 -11
- package/lib/esm/duet-nav.entry.js +3 -3
- package/lib/esm/duet-notification_2.entry.js +10 -10
- package/lib/esm/duet-number-input.entry.js +14 -12
- package/lib/esm/duet-overlay.entry.js +3 -3
- package/lib/esm/duet-page-heading.entry.js +20 -5
- package/lib/esm/duet-pagination_2.entry.js +20 -21
- package/lib/esm/duet-panel.entry.js +4 -4
- package/lib/esm/duet-phone-input.entry.js +23 -6
- package/lib/esm/duet-popup-menu_2.entry.js +10 -10
- package/lib/esm/duet-progress.entry.js +3 -3
- package/lib/esm/duet-promo-card.entry.js +20 -8
- package/lib/esm/duet-radio_2.entry.js +7 -10
- package/lib/esm/duet-range-slider.entry.js +8 -8
- package/lib/esm/duet-scrollable_3.entry.js +18 -18
- package/lib/esm/duet-section-layout.entry.js +4 -4
- package/lib/esm/duet-select.entry.js +9 -9
- package/lib/esm/duet-shaped-image.entry.js +4 -4
- package/lib/esm/duet-share-chart-item.entry.js +2 -2
- package/lib/esm/duet-share-chart.entry.js +8 -8
- package/lib/esm/duet-show-more.entry.js +6 -6
- package/lib/esm/duet-slideout-lang.entry.js +4 -4
- package/lib/esm/duet-slideout-link.entry.js +7 -7
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -6
- package/lib/esm/duet-slideout-panel.entry.js +13 -13
- package/lib/esm/duet-slideout.entry.js +20 -14
- package/lib/esm/duet-status-icon.entry.js +3 -3
- package/lib/esm/duet-step_2.entry.js +7 -7
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +5 -5
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +7 -7
- package/lib/esm/duet-submenu-bar-item.entry.js +7 -7
- package/lib/esm/duet-submenu-bar-link.entry.js +4 -4
- package/lib/esm/duet-submenu-bar.entry.js +7 -7
- package/lib/esm/duet-textarea.entry.js +8 -8
- package/lib/esm/duet-toggle.entry.js +9 -9
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +5 -5
- package/lib/esm/duet-toolbar-dropdown.entry.js +7 -7
- package/lib/esm/duet-toolbar-item.entry.js +8 -8
- package/lib/esm/duet-toolbar-link.entry.js +4 -4
- package/lib/esm/duet-toolbar.entry.js +4 -4
- package/lib/esm/duet-tooltip-button_2.entry.js +14 -12
- package/lib/esm/duet-tooltip.entry.js +26 -9
- package/lib/esm/duet-tray.entry.js +7 -7
- package/lib/esm/duet-upload-aria-status.entry.js +2 -2
- package/lib/esm/duet-upload-item.entry.js +6 -6
- package/lib/esm/duet-visually-hidden.entry.js +2 -2
- package/lib/esm/duet.js +4 -4
- package/lib/esm/{errorcodes.utils-CqW0-HM8.js → errorcodes.utils-S_WrUPeV.js} +1 -1
- package/lib/esm/{focus-utils-Dokkd7xz.js → focus-utils-C4oaajGr.js} +1 -1
- package/lib/esm/{index-Cwhi6_oZ.js → index-D3450NfA.js} +9 -9
- package/lib/esm/{keyboard-utils-Db8rvjPI.js → keyboard-utils-BaefVzkx.js} +2 -1
- package/lib/esm/{label-CyQlly6Z.js → label-C1HF2o4Y.js} +1 -1
- package/lib/esm/{language-utils-LZh-sc2s.js → language-utils-D4WVl8Ph.js} +1 -1
- package/lib/esm/loader.js +4 -4
- package/lib/esm/picture-utils-MSeJTkDk.js +13 -0
- package/lib/esm/{slot-utils-CEZnAp61.js → slot-utils-Dxcjtmp3.js} +1 -1
- package/lib/esm/{themeable-component-D_FVcjsD.js → themeable-component-QHdUfcat.js} +1 -1
- package/lib/esm/{token-utils-B0KAgyj_.js → token-utils-BILzD7LX.js} +1 -1
- package/lib/esm/{tokens.module-DEzE2U5T.js → tokens.module-kkZE1C6Z.js} +1 -1
- package/lib/types/components/duet-badge/duet-badge.d.ts +14 -0
- package/lib/types/components/duet-banner/duet-banner.d.ts +5 -1
- package/lib/types/components/duet-button/duet-button.d.ts +1 -1
- package/lib/types/components/duet-card/duet-card.d.ts +5 -0
- package/lib/types/components/duet-chip/duet-chip.d.ts +16 -9
- package/lib/types/components/duet-contact-card/duet-contact-card.d.ts +5 -0
- package/lib/types/components/duet-date-picker/date-picker-month.d.ts +3 -0
- package/lib/types/components/duet-date-picker/date-utils.d.ts +4 -0
- package/lib/types/components/duet-date-picker/disallowed-days.d.ts +9 -0
- package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +14 -0
- package/lib/types/components/duet-date-picker/finnish-bank-holidays.d.ts +11 -0
- package/lib/types/components/duet-hero/duet-hero.d.ts +5 -0
- package/lib/types/components/duet-input/duet-input.d.ts +42 -3
- package/lib/types/components/duet-number-input/duet-number-input.d.ts +2 -1
- package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +10 -0
- package/lib/types/components/duet-phone-input/duet-phone-input.d.ts +7 -0
- package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +6 -0
- package/lib/types/components/duet-radio/duet-radio.d.ts +0 -1
- package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +1 -0
- package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +6 -0
- package/lib/types/components.d.ts +183 -20
- package/lib/types/utils/keyboard-utils.d.ts +1 -0
- package/lib/types/utils/math.utils.d.ts +1 -0
- package/package.json +5 -5
- package/lib/duet/p--fmK3qPb.js +0 -4
- package/lib/duet/p-07aa40df.entry.js +0 -4
- package/lib/duet/p-0eb0e582.entry.js +0 -4
- package/lib/duet/p-104ddbf2.entry.js +0 -4
- package/lib/duet/p-1705b6cf.entry.js +0 -4
- package/lib/duet/p-4420973e.entry.js +0 -4
- package/lib/duet/p-455e8ebe.entry.js +0 -4
- package/lib/duet/p-4f7b0699.entry.js +0 -4
- package/lib/duet/p-58496fb1.entry.js +0 -4
- package/lib/duet/p-58a70b3d.entry.js +0 -4
- package/lib/duet/p-592a6542.entry.js +0 -4
- package/lib/duet/p-5c8c691b.entry.js +0 -4
- package/lib/duet/p-73ed0008.entry.js +0 -4
- package/lib/duet/p-7a2ca711.entry.js +0 -4
- package/lib/duet/p-7e640c8e.entry.js +0 -4
- package/lib/duet/p-7eaa1fb5.entry.js +0 -4
- package/lib/duet/p-870dc953.entry.js +0 -4
- package/lib/duet/p-Chf7ZRmW.js +0 -4
- package/lib/duet/p-CtBx3Trd.js +0 -4
- package/lib/duet/p-Cwhi6_oZ.js +0 -5
- package/lib/duet/p-DCDM41Ef.js +0 -4
- package/lib/duet/p-DEzE2U5T.js +0 -4
- package/lib/duet/p-Db8rvjPI.js +0 -4
- package/lib/duet/p-a4db8c29.entry.js +0 -4
- package/lib/duet/p-a7bb038a.entry.js +0 -4
- package/lib/duet/p-af9c8169.entry.js +0 -4
- package/lib/duet/p-c7851c15.entry.js +0 -4
- package/lib/duet/p-cbd1069e.entry.js +0 -4
- package/lib/duet/p-cd4f52a9.entry.js +0 -4
- package/lib/duet/p-d3dac8af.entry.js +0 -4
- package/lib/duet/p-e9ed96cf.entry.js +0 -4
- package/lib/duet/p-eab349f2.entry.js +0 -4
- package/lib/duet/p-eebf150c.entry.js +0 -4
- package/lib/duet/p-f600e215.entry.js +0 -4
|
@@ -8,7 +8,7 @@ import { inheritGlobalTheme } from "../../common";
|
|
|
8
8
|
import { DuetInternalLabel } from "../../common/label";
|
|
9
9
|
import { createID } from "../../utils/create-id";
|
|
10
10
|
import { cleanValue, resetCursor } from "../../utils/input-utils";
|
|
11
|
-
import { isArrowLeftKey, isArrowRightKey, isBackspaceKey, isEnterKey, isEscapeKey } from "../../utils/keyboard-utils";
|
|
11
|
+
import { isArrowLeftKey, isArrowRightKey, isBackspaceKey, isCharacterInsertKey, isEnterKey, isEscapeKey, } from "../../utils/keyboard-utils";
|
|
12
12
|
import { connectLanguageChangeObserver, disconnectLanguageChangeObserver, getLanguage, getLocaleString, } from "../../utils/language-utils";
|
|
13
13
|
import { checkNamedSlotElement, proxyInputToSlot } from "../../utils/slot-utils";
|
|
14
14
|
const icons = {
|
|
@@ -27,10 +27,13 @@ export class DuetInput {
|
|
|
27
27
|
this.proxyId = createID("DuetInput");
|
|
28
28
|
this.clearId = createID("DuetInputClear");
|
|
29
29
|
this.labelId = createID("DuetLabel");
|
|
30
|
+
this.prefixId = createID("DuetInputPrefix");
|
|
31
|
+
this.suffixId = createID("DuetInputSuffix");
|
|
30
32
|
this.topCaptionId = createID("DuetCaptionTop");
|
|
31
33
|
this.topCaptionPlaceholderId = createID("DuetCaptionPlaceholderTop");
|
|
32
34
|
this.chipCountId = createID("DuetInputChipCount");
|
|
33
35
|
this.errorId = createID("DuetError");
|
|
36
|
+
this.maxlengthAnnouncementKey = 0;
|
|
34
37
|
this.disallowPatternRegex = null;
|
|
35
38
|
this.clearLabel = {
|
|
36
39
|
en: "Clear",
|
|
@@ -67,6 +70,11 @@ export class DuetInput {
|
|
|
67
70
|
fi: "valittu",
|
|
68
71
|
sv: "valt",
|
|
69
72
|
};
|
|
73
|
+
this.maxlengthReachedLabel = {
|
|
74
|
+
en: "This field has a maximum length of {max} characters. Limit reached.",
|
|
75
|
+
fi: "Tämän kentän enimmäispituus on {max} merkkiä. Raja on saavutettu.",
|
|
76
|
+
sv: "Det här fältet har en maximal längd på {max} tecken. Gränsen är nådd.",
|
|
77
|
+
};
|
|
70
78
|
/**
|
|
71
79
|
* State() variables
|
|
72
80
|
*/
|
|
@@ -76,6 +84,10 @@ export class DuetInput {
|
|
|
76
84
|
*/
|
|
77
85
|
this.isFocused = false;
|
|
78
86
|
this._accessiblePopup = undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Text announced to screen readers when the maxlength limit is reached.
|
|
89
|
+
*/
|
|
90
|
+
this.maxlengthAnnouncement = "";
|
|
79
91
|
/**
|
|
80
92
|
* Indicates the id or a string of space seperated ids of a component(s) that describes the input.
|
|
81
93
|
*/
|
|
@@ -173,7 +185,7 @@ export class DuetInput {
|
|
|
173
185
|
*/
|
|
174
186
|
this.labelHidden = false;
|
|
175
187
|
/**
|
|
176
|
-
* Enable numeric keyboard for the input.
|
|
188
|
+
* Enable numeric keyboard for the input. Note that on iOS the numeric keyboard does not contain minus.
|
|
177
189
|
*/
|
|
178
190
|
this.numericKeyboard = false;
|
|
179
191
|
/**
|
|
@@ -182,7 +194,9 @@ export class DuetInput {
|
|
|
182
194
|
*/
|
|
183
195
|
this.component = "input";
|
|
184
196
|
/**
|
|
185
|
-
*
|
|
197
|
+
* Set the type of automatic completion by the browser. If possible use the standard tokens like "name", "given-name",
|
|
198
|
+
* "family-name", "postal-code", "street-address" etc. The component adds automatically "tel" and "email". If you must
|
|
199
|
+
* disable autocomplete use "off" (but avoid disabling unless absolutely necessary).
|
|
186
200
|
*/
|
|
187
201
|
this.autoComplete = "on";
|
|
188
202
|
/**
|
|
@@ -204,9 +218,22 @@ export class DuetInput {
|
|
|
204
218
|
* Component event handling.
|
|
205
219
|
*/
|
|
206
220
|
this.onInput = (ev) => {
|
|
207
|
-
|
|
221
|
+
var _a;
|
|
222
|
+
// In addition to input event, maxlength handling uses also keyDown and paste events as input event may not be
|
|
223
|
+
// triggered when entry is truncated by the browser.
|
|
224
|
+
if (this.maxlength) {
|
|
225
|
+
const wasAtMaxlength = (((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) || 0) >= this.maxlength;
|
|
226
|
+
const nativeLength = this.nativeInput.value.length;
|
|
208
227
|
// Android doesn't honor maxlength
|
|
209
|
-
|
|
228
|
+
const inputOverflow = nativeLength > this.maxlength;
|
|
229
|
+
if (inputOverflow) {
|
|
230
|
+
this.nativeInput.value = this.nativeInput.value.slice(0, this.maxlength);
|
|
231
|
+
}
|
|
232
|
+
const limitJustReached = !wasAtMaxlength && nativeLength === this.maxlength;
|
|
233
|
+
const limitExceededWhileFull = wasAtMaxlength && inputOverflow;
|
|
234
|
+
if (limitJustReached || limitExceededWhileFull) {
|
|
235
|
+
this.handleMaxlengthLimitReached();
|
|
236
|
+
}
|
|
210
237
|
}
|
|
211
238
|
if (this.disallowPatternRegex) {
|
|
212
239
|
cleanValue(this.nativeInput, this.disallowPatternRegex);
|
|
@@ -252,9 +279,35 @@ export class DuetInput {
|
|
|
252
279
|
component: "duet-input",
|
|
253
280
|
});
|
|
254
281
|
};
|
|
282
|
+
this.onInputKeyDown = (ev) => {
|
|
283
|
+
if (this.maxlength && isCharacterInsertKey(ev) && this.isAtMaxlengthWithoutSelection()) {
|
|
284
|
+
this.handleMaxlengthLimitReached();
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
this.onInputPaste = () => {
|
|
288
|
+
if (this.maxlength && this.isAtMaxlengthWithoutSelection()) {
|
|
289
|
+
this.handleMaxlengthLimitReached();
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
this.isAtMaxlengthWithoutSelection = () => {
|
|
293
|
+
const input = this.nativeInput;
|
|
294
|
+
const inputIsWithoutSelection = input.selectionStart === input.selectionEnd;
|
|
295
|
+
const inputIsAtMaxlength = input.value.length >= this.maxlength;
|
|
296
|
+
return inputIsWithoutSelection && inputIsAtMaxlength;
|
|
297
|
+
};
|
|
298
|
+
this.handleMaxlengthLimitReached = () => {
|
|
299
|
+
clearTimeout(this.maxlengthAnnouncementTimeoutId);
|
|
300
|
+
this.maxlengthAnnouncement = "";
|
|
301
|
+
this.maxlengthAnnouncementTimeoutId = setTimeout(() => {
|
|
302
|
+
this.maxlengthAnnouncementKey++;
|
|
303
|
+
this.maxlengthAnnouncement = this.maxlengthReachedLabel[this.language].replace("{max}", String(this.maxlength));
|
|
304
|
+
}, 300);
|
|
305
|
+
};
|
|
255
306
|
/**
|
|
256
307
|
* Private functions
|
|
257
308
|
*/
|
|
309
|
+
// As comma may be used as decimal separator normalize value to have dot before parsing as number
|
|
310
|
+
this.valueAsNormalizedFloat = () => { var _a; return Number.parseFloat((_a = this.value) === null || _a === void 0 ? void 0 : _a.replace(/,/g, ".")); };
|
|
258
311
|
this.getAriaDescribedBy = () => {
|
|
259
312
|
const describedBy = [];
|
|
260
313
|
if (this.isCaptionVisible && this.topCaptionId) {
|
|
@@ -275,6 +328,19 @@ export class DuetInput {
|
|
|
275
328
|
}
|
|
276
329
|
return describedBy.length > 0 ? describedBy.join(" ") : null;
|
|
277
330
|
};
|
|
331
|
+
this.getAriaLabelledBy = () => {
|
|
332
|
+
const labelledBy = [this.labelId];
|
|
333
|
+
if (!!this.fieldPrefix) {
|
|
334
|
+
labelledBy.push(this.prefixId);
|
|
335
|
+
}
|
|
336
|
+
if (!!this.fieldSuffix) {
|
|
337
|
+
labelledBy.push(this.suffixId);
|
|
338
|
+
}
|
|
339
|
+
if (!!this.accessibleLabelledBy) {
|
|
340
|
+
labelledBy.push(this.accessibleLabelledBy);
|
|
341
|
+
}
|
|
342
|
+
return labelledBy.join(" ");
|
|
343
|
+
};
|
|
278
344
|
this.handleClearClick = (event) => {
|
|
279
345
|
const clearing = this.clearInput();
|
|
280
346
|
this.onClear(event);
|
|
@@ -365,7 +431,31 @@ export class DuetInput {
|
|
|
365
431
|
* This is a proxy for the enclosed native inputs validity
|
|
366
432
|
*/
|
|
367
433
|
get validity() {
|
|
368
|
-
|
|
434
|
+
var _a, _b;
|
|
435
|
+
// Copy the value of the native validity state to a proxy object, as native validity is readonly.
|
|
436
|
+
const validity = {
|
|
437
|
+
badInput: false,
|
|
438
|
+
customError: false,
|
|
439
|
+
patternMismatch: false,
|
|
440
|
+
rangeOverflow: false,
|
|
441
|
+
rangeUnderflow: false,
|
|
442
|
+
stepMismatch: false,
|
|
443
|
+
tooLong: false,
|
|
444
|
+
tooShort: false,
|
|
445
|
+
typeMismatch: false,
|
|
446
|
+
valid: true,
|
|
447
|
+
valueMissing: false,
|
|
448
|
+
};
|
|
449
|
+
Object.keys(validity).forEach(key => (validity[key] = this.nativeInput.validity[key]));
|
|
450
|
+
if (typeof this.max !== "undefined" && ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) && this.max < this.valueAsNormalizedFloat()) {
|
|
451
|
+
validity.rangeOverflow = true;
|
|
452
|
+
validity.valid = false;
|
|
453
|
+
}
|
|
454
|
+
if (typeof this.min !== "undefined" && ((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) && this.min > this.valueAsNormalizedFloat()) {
|
|
455
|
+
validity.rangeUnderflow = true;
|
|
456
|
+
validity.valid = false;
|
|
457
|
+
}
|
|
458
|
+
return validity;
|
|
369
459
|
}
|
|
370
460
|
/**
|
|
371
461
|
* @internal
|
|
@@ -380,7 +470,8 @@ export class DuetInput {
|
|
|
380
470
|
inheritGlobalTheme(this);
|
|
381
471
|
this.disallowedPatternChange();
|
|
382
472
|
this.isCaptionVisible = !!this.caption;
|
|
383
|
-
|
|
473
|
+
// Accept also slot element so that other components using duet-input can pass their tooltip slots here.
|
|
474
|
+
checkNamedSlotElement(this.element, "tooltip", "duet-tooltip, slot", 1, true);
|
|
384
475
|
}
|
|
385
476
|
componentDidLoad() {
|
|
386
477
|
if (this.variation === "revealable" && this.nativeInput.form) {
|
|
@@ -488,6 +579,21 @@ export class DuetInput {
|
|
|
488
579
|
}
|
|
489
580
|
}
|
|
490
581
|
}
|
|
582
|
+
getAutocomplete() {
|
|
583
|
+
if (this.type === "password") {
|
|
584
|
+
return "off";
|
|
585
|
+
}
|
|
586
|
+
const tokens = this.autoComplete.split(/\s+/);
|
|
587
|
+
// If attribute includes "email", e.g. "work email", don't overwrite it
|
|
588
|
+
if (this.type === "email" && this.autoComplete !== "off" && !tokens.includes("email")) {
|
|
589
|
+
return "email";
|
|
590
|
+
}
|
|
591
|
+
// If attribute includes "tel", e.g. "mobile tel", don't overwrite it
|
|
592
|
+
if (this.type === "tel" && this.autoComplete !== "off" && !tokens.includes("tel")) {
|
|
593
|
+
return "tel";
|
|
594
|
+
}
|
|
595
|
+
return this.autoComplete;
|
|
596
|
+
}
|
|
491
597
|
/**
|
|
492
598
|
* Add a chip to the input. Property "chips" must be true.
|
|
493
599
|
*/
|
|
@@ -527,7 +633,7 @@ export class DuetInput {
|
|
|
527
633
|
const identifier = this.identifier || this.inputId;
|
|
528
634
|
const inputProps = {};
|
|
529
635
|
if (this.numericKeyboard) {
|
|
530
|
-
inputProps.inputmode = "
|
|
636
|
+
inputProps.inputmode = "decimal";
|
|
531
637
|
}
|
|
532
638
|
// Set validation regexes
|
|
533
639
|
if (this.pattern && this.type !== "tel") {
|
|
@@ -552,7 +658,7 @@ export class DuetInput {
|
|
|
552
658
|
this.type !== "password" &&
|
|
553
659
|
this.type !== "time" &&
|
|
554
660
|
this.variation !== "button";
|
|
555
|
-
return (h(Host, { key: '
|
|
661
|
+
return (h(Host, { key: '1119e8e51f3a490e34665e77ce32ec21f7bc70c7', class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" }, onKeyUp: e => this.keyHandler(e) }, this.type === "time" && (h("duet-visually-hidden", { key: '31afa65dcb1b161f8c5a87c65953a26a552066b8', "aria-live": "polite", "aria-atomic": "true" }, selectedTime ? `${this.timeAnnouncement[this.language]} ${selectedTime.toLocaleTimeString()}` : "")), h("div", { key: '5574afef8c592593193cbf0c99eaf8eaa84dbf11', class: {
|
|
556
662
|
"duet-input-container": true,
|
|
557
663
|
"duet-theme-turva": this.theme === "turva",
|
|
558
664
|
[`duet-input-variation-${this.variation}`]: true,
|
|
@@ -565,12 +671,15 @@ export class DuetInput {
|
|
|
565
671
|
"has-chips": this.chips,
|
|
566
672
|
"has-clear": this.clear,
|
|
567
673
|
"has-focus": this.isFocused,
|
|
674
|
+
"has-adornment": !!this.fieldPrefix || !!this.fieldSuffix,
|
|
675
|
+
"has-prefix": !!this.fieldPrefix,
|
|
676
|
+
"has-suffix": !!this.fieldSuffix,
|
|
568
677
|
disabled: this.disabled,
|
|
569
|
-
} }, h("div", { key: '
|
|
678
|
+
} }, h("div", { key: 'cd0dfb4e8ef821c84d342fff017da9b3e6938134', class: "duet-input-label-container" }, h(DuetInternalLabel, { key: '7ef9a4e3ccbc5b7ac030ca66912eb0471103ed10', theme: this.theme === "turva" ? "turva" : "default", margin: this.isCaptionVisible ? "small" : "auto", color: this.labelColor, weight: this.labelWeight, id: this.labelId, for: identifier }, this.label), this.tooltip && (h("duet-tooltip", { key: 'f263424aa51a59f4252cad4b4a1347b5986869ae', class: "duet-input-tooltip", direction: this.tooltipDirection, accessibleInputLabel: this.label, theme: this.theme === "turva" ? "turva" : "default" }, this.tooltip)), h("slot", { key: 'b4afd5ae65bbc03083b81996965cb354d6fd2a35', name: "tooltip" })), this.caption && (h("duet-caption", { key: '1d126824ee2ef4b7a4dae8650363e9da0b58c288', id: this.topCaptionId, size: "medium" }, this.caption)), h("div", { key: 'adb5b8fa3b3de37c96d74fd1b888de75689a3ce0', class: {
|
|
570
679
|
"duet-input-relative": true,
|
|
571
680
|
"duet-theme-turva": this.theme === "turva",
|
|
572
681
|
"has-error": !!this.error,
|
|
573
|
-
} }, this.placeholder && this.echoPlaceholder && (this.value || this.type === "time") && (h("duet-caption", { key: '
|
|
682
|
+
} }, this.placeholder && this.echoPlaceholder && (this.value || this.type === "time") && (h("duet-caption", { key: 'fcadd06bf9e0dc4115c0bd004de23fa5692b03fc', id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)), this.chips && (h("duet-visually-hidden", { key: '84a8a1feed5a0895936f5e1d5ee310c6282f1678', id: this.chipCountId }, ", ", `${this.getAllChips().length} ${getLocaleString(this.chipsSelectedDesriptionLabel)}`, ",")), this.variation === "button-left" && h("slot", { key: '90533c1b234e2644eb97317f903abbf04fee8138', name: "button-left" }), this.fieldPrefix && (h("span", { key: '151fd6757766b8c7e86ded73639d87bb32814089', class: "input-adornment prefix", id: this.prefixId }, this.fieldPrefix)), h("input", Object.assign({ key: '06811722717032661d4ba5e3bfa9c2b6196cf082', ref: input => (this.nativeInput = input), onInput: this.onInput, onKeyDown: this.onInputKeyDown, onPaste: this.onInputPaste, onBlur: this.onBlur, onFocus: this.onFocus, type: this.getInputType(), class: {
|
|
574
683
|
"duet-input": true,
|
|
575
684
|
disabled: this.disabled,
|
|
576
685
|
"is-number": this.component === "number",
|
|
@@ -578,17 +687,17 @@ export class DuetInput {
|
|
|
578
687
|
"after-chip": this.getAllChips().length > 0,
|
|
579
688
|
"align-right": this.inputAlign === "right",
|
|
580
689
|
[`input-padding-${this.inputPadding}`]: true,
|
|
581
|
-
}, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": this.
|
|
690
|
+
}, value: this.value, disabled: this.disabled, "aria-invalid": this.error ? "true" : "false", "aria-labelledby": this.getAriaLabelledBy(), "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.getAriaDescribedBy(), placeholder: this.placeholder, spellcheck: "false", minlength: this.minlength, maxlength: this.maxlength, autocomplete: this.getAutocomplete(), required: this.required, role: this.role, name: this.name, id: identifier }, inputProps)), this.maxlength && (h("duet-visually-hidden", { key: `maxlength-announcement-${this.maxlengthAnnouncementKey}`, "aria-live": "polite", "aria-atomic": "true" }, this.maxlengthAnnouncement)), this.fieldSuffix && (h("span", { key: 'b2d284fc05798f7dab08555f524cabf4f94f0e19', class: "input-adornment suffix", id: this.suffixId }, this.fieldSuffix)), !this.value && hasInputIcon && (h("div", { key: '8364a8a7687b6e37279585edf55da9005673f4df', class: "duet-input-icon" }, h("duet-icon", { key: '1b420da3e76241f1e105ce5ef8b9f40e6490424d', margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.clear && this.value && (h("div", { key: 'c67978258fbf64a22563a8e139b7a7de012bb4ca', class: {
|
|
582
691
|
"duet-input-clear-icon": true,
|
|
583
692
|
"duet-input-clear-icon-single": !hasInputIcon,
|
|
584
693
|
"duet-input-clear-icon-double": !!this.icon,
|
|
585
694
|
"duet-input-clear-icon-button": this.variation === "button",
|
|
586
695
|
[`input-padding-${this.inputPadding}`]: true,
|
|
587
|
-
} }, h("button", { key: '
|
|
696
|
+
} }, h("button", { key: 'b243244d6d5184c42a9afb93483479a0b07bad7d', onClick: this.handleClearClick, id: this.clearId, "aria-label": this.clearLabel[this.language], "aria-keyshortcuts": "Escape" }, h("duet-icon", { key: '2ff21863005e55dc7a4dc1a16e2e2e40ad7f85cf', margin: "none", size: "medium", name: "action-clear-input", color: "currentColor" })))), this.icon && this.variation !== "button" && (h("div", { key: '7732892f159a6c7c9ad7c89b0031052b1ed45502', class: "duet-input-icon" }, h("duet-icon", { key: '97de6dc8ff0c506db494dc36edc6d0107792c2b9', margin: "none", size: "small", name: this.icon, color: "currentColor" }))), this.variation === "button" && h("slot", { key: '5c940caf605e2eaff4db2a36c63548db78f36f41', name: "button" }), this.variation === "revealable" && (h("duet-button", { key: 'caf0a7c8bec4a620e2ca5f897eaabc1814f32c5d', ref: button => (this.togglePasswordRevealedButton = button), onBlur: this.onBlur, onFocus: this.onFocus, onClick: this.togglePasswordRevealed, icon: this.isPasswordRevealed ? "action-hide" : "action-show", accessibleLabel: this.isPasswordRevealed
|
|
588
697
|
? this.hidePasswordLabel[this.language]
|
|
589
|
-
: this.showPasswordLabel[this.language], margin: "none", variation: "input-button-embedded", fixed: true, iconOnly: true })), this.variation === "revealable" && this.isPasswordRevealed !== undefined && (h("duet-visually-hidden", { key: '
|
|
698
|
+
: this.showPasswordLabel[this.language], margin: "none", variation: "input-button-embedded", fixed: true, iconOnly: true })), this.variation === "revealable" && this.isPasswordRevealed !== undefined && (h("duet-visually-hidden", { key: 'cc394dbd7d28fc9e1cf0a864c67e7e7a6a835d1a' }, h("span", { key: '20033ed28c86634d6faf03180e53cff84def1329', "aria-live": "polite" }, this.isPasswordRevealed
|
|
590
699
|
? this.passwordShownAriaAnnouncement[this.language]
|
|
591
|
-
: this.passwordHiddenAriaAnnouncement[this.language]))), h("slot", { key: '
|
|
700
|
+
: this.passwordHiddenAriaAnnouncement[this.language]))), h("slot", { key: 'b72c50503fa80fd1ba6764b7b3348bc5d7b2813c' })), h("span", { key: '25790e8c5147bb271fefa6cbce2343287b57c816', class: "duet-input-help", id: this.errorId, "aria-atomic": "true", "aria-live": this.accessibleLiveError, "aria-relevant": "additions removals" }, this.error && h("span", { key: 'c62d261a03ebec492aed9c65a836525e47660cfc', class: "duet-input-error" }, this.error)))));
|
|
592
701
|
}
|
|
593
702
|
static get is() { return "duet-input"; }
|
|
594
703
|
static get encapsulation() { return "shadow"; }
|
|
@@ -636,7 +745,7 @@ export class DuetInput {
|
|
|
636
745
|
"optional": false,
|
|
637
746
|
"docs": {
|
|
638
747
|
"tags": [],
|
|
639
|
-
"text": "Indicates what
|
|
748
|
+
"text": "Indicates in what mode user input completion suggestions are provided. Valid values are: \"none\", \"inline\",\n\"list\", \"both\""
|
|
640
749
|
},
|
|
641
750
|
"getter": false,
|
|
642
751
|
"setter": false,
|
|
@@ -1108,7 +1217,7 @@ export class DuetInput {
|
|
|
1108
1217
|
"references": {
|
|
1109
1218
|
"DuetInputType": {
|
|
1110
1219
|
"location": "local",
|
|
1111
|
-
"path": "/Users/
|
|
1220
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-input/duet-input.tsx",
|
|
1112
1221
|
"id": "src/components/duet-input/duet-input.tsx::DuetInputType"
|
|
1113
1222
|
}
|
|
1114
1223
|
}
|
|
@@ -1134,7 +1243,7 @@ export class DuetInput {
|
|
|
1134
1243
|
"references": {
|
|
1135
1244
|
"DuetVariationType": {
|
|
1136
1245
|
"location": "local",
|
|
1137
|
-
"path": "/Users/
|
|
1246
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-input/duet-input.tsx",
|
|
1138
1247
|
"id": "src/components/duet-input/duet-input.tsx::DuetVariationType"
|
|
1139
1248
|
}
|
|
1140
1249
|
}
|
|
@@ -1274,6 +1383,44 @@ export class DuetInput {
|
|
|
1274
1383
|
"reflect": false,
|
|
1275
1384
|
"defaultValue": "false"
|
|
1276
1385
|
},
|
|
1386
|
+
"fieldPrefix": {
|
|
1387
|
+
"type": "string",
|
|
1388
|
+
"attribute": "field-prefix",
|
|
1389
|
+
"mutable": false,
|
|
1390
|
+
"complexType": {
|
|
1391
|
+
"original": "string",
|
|
1392
|
+
"resolved": "string",
|
|
1393
|
+
"references": {}
|
|
1394
|
+
},
|
|
1395
|
+
"required": false,
|
|
1396
|
+
"optional": false,
|
|
1397
|
+
"docs": {
|
|
1398
|
+
"tags": [],
|
|
1399
|
+
"text": "Text to show before the start (left) of the input's editable area. Also used in accessible labelling."
|
|
1400
|
+
},
|
|
1401
|
+
"getter": false,
|
|
1402
|
+
"setter": false,
|
|
1403
|
+
"reflect": false
|
|
1404
|
+
},
|
|
1405
|
+
"fieldSuffix": {
|
|
1406
|
+
"type": "string",
|
|
1407
|
+
"attribute": "field-suffix",
|
|
1408
|
+
"mutable": false,
|
|
1409
|
+
"complexType": {
|
|
1410
|
+
"original": "string",
|
|
1411
|
+
"resolved": "string",
|
|
1412
|
+
"references": {}
|
|
1413
|
+
},
|
|
1414
|
+
"required": false,
|
|
1415
|
+
"optional": false,
|
|
1416
|
+
"docs": {
|
|
1417
|
+
"tags": [],
|
|
1418
|
+
"text": "Text to show after the end (right) of the input's editable area. Also used in accessible labelling."
|
|
1419
|
+
},
|
|
1420
|
+
"getter": false,
|
|
1421
|
+
"setter": false,
|
|
1422
|
+
"reflect": false
|
|
1423
|
+
},
|
|
1277
1424
|
"numericKeyboard": {
|
|
1278
1425
|
"type": "boolean",
|
|
1279
1426
|
"attribute": "numeric-keyboard",
|
|
@@ -1287,7 +1434,7 @@ export class DuetInput {
|
|
|
1287
1434
|
"optional": false,
|
|
1288
1435
|
"docs": {
|
|
1289
1436
|
"tags": [],
|
|
1290
|
-
"text": "Enable numeric keyboard for the input."
|
|
1437
|
+
"text": "Enable numeric keyboard for the input. Note that on iOS the numeric keyboard does not contain minus."
|
|
1291
1438
|
},
|
|
1292
1439
|
"getter": false,
|
|
1293
1440
|
"setter": false,
|
|
@@ -1370,6 +1517,44 @@ export class DuetInput {
|
|
|
1370
1517
|
"setter": false,
|
|
1371
1518
|
"reflect": false
|
|
1372
1519
|
},
|
|
1520
|
+
"max": {
|
|
1521
|
+
"type": "number",
|
|
1522
|
+
"attribute": "max",
|
|
1523
|
+
"mutable": false,
|
|
1524
|
+
"complexType": {
|
|
1525
|
+
"original": "number",
|
|
1526
|
+
"resolved": "number",
|
|
1527
|
+
"references": {}
|
|
1528
|
+
},
|
|
1529
|
+
"required": false,
|
|
1530
|
+
"optional": false,
|
|
1531
|
+
"docs": {
|
|
1532
|
+
"tags": [],
|
|
1533
|
+
"text": "When max is set and getting validity, the value of the input is interpreted as a number - possible comma as\ndecimal seprator changed to dot and the value then parsed as float - and compared to max and validity set\naccordingly. This simulates the behavior of max attribute of input[type=number]."
|
|
1534
|
+
},
|
|
1535
|
+
"getter": false,
|
|
1536
|
+
"setter": false,
|
|
1537
|
+
"reflect": false
|
|
1538
|
+
},
|
|
1539
|
+
"min": {
|
|
1540
|
+
"type": "number",
|
|
1541
|
+
"attribute": "min",
|
|
1542
|
+
"mutable": false,
|
|
1543
|
+
"complexType": {
|
|
1544
|
+
"original": "number",
|
|
1545
|
+
"resolved": "number",
|
|
1546
|
+
"references": {}
|
|
1547
|
+
},
|
|
1548
|
+
"required": false,
|
|
1549
|
+
"optional": false,
|
|
1550
|
+
"docs": {
|
|
1551
|
+
"tags": [],
|
|
1552
|
+
"text": "When min is set and getting validity, the value of the input is interpreted as a number - possible comma as\ndecimal seprator changed to dot and the value then parsed as float - and compared to min and validity set\naccordingly. This simulates the behavior of min attribute of input[type=number]."
|
|
1553
|
+
},
|
|
1554
|
+
"getter": false,
|
|
1555
|
+
"setter": false,
|
|
1556
|
+
"reflect": false
|
|
1557
|
+
},
|
|
1373
1558
|
"placeholder": {
|
|
1374
1559
|
"type": "string",
|
|
1375
1560
|
"attribute": "placeholder",
|
|
@@ -1399,7 +1584,7 @@ export class DuetInput {
|
|
|
1399
1584
|
"references": {
|
|
1400
1585
|
"DuetInputComponentType": {
|
|
1401
1586
|
"location": "local",
|
|
1402
|
-
"path": "/Users/
|
|
1587
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-input/duet-input.tsx",
|
|
1403
1588
|
"id": "src/components/duet-input/duet-input.tsx::DuetInputComponentType"
|
|
1404
1589
|
}
|
|
1405
1590
|
}
|
|
@@ -1475,7 +1660,7 @@ export class DuetInput {
|
|
|
1475
1660
|
"optional": false,
|
|
1476
1661
|
"docs": {
|
|
1477
1662
|
"tags": [],
|
|
1478
|
-
"text": "
|
|
1663
|
+
"text": "Set the type of automatic completion by the browser. If possible use the standard tokens like \"name\", \"given-name\",\n\"family-name\", \"postal-code\", \"street-address\" etc. The component adds automatically \"tel\" and \"email\". If you must\ndisable autocomplete use \"off\" (but avoid disabling unless absolutely necessary)."
|
|
1479
1664
|
},
|
|
1480
1665
|
"getter": false,
|
|
1481
1666
|
"setter": false,
|
|
@@ -1623,7 +1808,8 @@ export class DuetInput {
|
|
|
1623
1808
|
"language": {},
|
|
1624
1809
|
"isPasswordRevealed": {},
|
|
1625
1810
|
"isFocused": {},
|
|
1626
|
-
"_accessiblePopup": {}
|
|
1811
|
+
"_accessiblePopup": {},
|
|
1812
|
+
"maxlengthAnnouncement": {}
|
|
1627
1813
|
};
|
|
1628
1814
|
}
|
|
1629
1815
|
static get events() {
|
|
@@ -1643,7 +1829,7 @@ export class DuetInput {
|
|
|
1643
1829
|
"references": {
|
|
1644
1830
|
"DuetInputEvent": {
|
|
1645
1831
|
"location": "local",
|
|
1646
|
-
"path": "/Users/
|
|
1832
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-input/duet-input.tsx",
|
|
1647
1833
|
"id": "src/components/duet-input/duet-input.tsx::DuetInputEvent"
|
|
1648
1834
|
}
|
|
1649
1835
|
}
|
|
@@ -1664,7 +1850,7 @@ export class DuetInput {
|
|
|
1664
1850
|
"references": {
|
|
1665
1851
|
"DuetInputEvent": {
|
|
1666
1852
|
"location": "local",
|
|
1667
|
-
"path": "/Users/
|
|
1853
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-input/duet-input.tsx",
|
|
1668
1854
|
"id": "src/components/duet-input/duet-input.tsx::DuetInputEvent"
|
|
1669
1855
|
}
|
|
1670
1856
|
}
|
|
@@ -1685,7 +1871,7 @@ export class DuetInput {
|
|
|
1685
1871
|
"references": {
|
|
1686
1872
|
"DuetInputEvent": {
|
|
1687
1873
|
"location": "local",
|
|
1688
|
-
"path": "/Users/
|
|
1874
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-input/duet-input.tsx",
|
|
1689
1875
|
"id": "src/components/duet-input/duet-input.tsx::DuetInputEvent"
|
|
1690
1876
|
}
|
|
1691
1877
|
}
|
|
@@ -1706,7 +1892,7 @@ export class DuetInput {
|
|
|
1706
1892
|
"references": {
|
|
1707
1893
|
"DuetInputEvent": {
|
|
1708
1894
|
"location": "local",
|
|
1709
|
-
"path": "/Users/
|
|
1895
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-input/duet-input.tsx",
|
|
1710
1896
|
"id": "src/components/duet-input/duet-input.tsx::DuetInputEvent"
|
|
1711
1897
|
}
|
|
1712
1898
|
}
|
|
@@ -1727,7 +1913,7 @@ export class DuetInput {
|
|
|
1727
1913
|
"references": {
|
|
1728
1914
|
"DuetInputEvent": {
|
|
1729
1915
|
"location": "local",
|
|
1730
|
-
"path": "/Users/
|
|
1916
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-input/duet-input.tsx",
|
|
1731
1917
|
"id": "src/components/duet-input/duet-input.tsx::DuetInputEvent"
|
|
1732
1918
|
}
|
|
1733
1919
|
}
|
|
@@ -121,7 +121,7 @@ export class DuetLabel {
|
|
|
121
121
|
"references": {
|
|
122
122
|
"DuetLabelMargin": {
|
|
123
123
|
"location": "local",
|
|
124
|
-
"path": "/Users/
|
|
124
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-label/duet-label.tsx",
|
|
125
125
|
"id": "src/components/duet-label/duet-label.tsx::DuetLabelMargin"
|
|
126
126
|
}
|
|
127
127
|
}
|
|
@@ -147,7 +147,7 @@ export class DuetLabel {
|
|
|
147
147
|
"references": {
|
|
148
148
|
"DuetLabelSize": {
|
|
149
149
|
"location": "local",
|
|
150
|
-
"path": "/Users/
|
|
150
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-label/duet-label.tsx",
|
|
151
151
|
"id": "src/components/duet-label/duet-label.tsx::DuetLabelSize"
|
|
152
152
|
}
|
|
153
153
|
}
|
|
@@ -66,24 +66,24 @@ export class DuetLayout {
|
|
|
66
66
|
* Always the last one in the class.
|
|
67
67
|
*/
|
|
68
68
|
render() {
|
|
69
|
-
return (h(Host, { key: '
|
|
69
|
+
return (h(Host, { key: 'c3ba619c0c3088257b425ba8f5022ebef33c1100', class: {
|
|
70
70
|
center: this.center,
|
|
71
71
|
"duet-middle": this.middle,
|
|
72
72
|
"duet-ie": isInternetExplorer(),
|
|
73
|
-
} }, h("div", { key: '
|
|
73
|
+
} }, h("div", { key: 'd627f63579dfb957bf3abe17191e8a8e943f0aae', class: { "duet-layout-wrapper": true, "duet-m-0": this.margin === "none" } }, this.hasTop && (h("div", { key: '4586ff77f2ef4209020a2401eef63273527a2e27', class: {
|
|
74
74
|
"duet-layout-top": true,
|
|
75
75
|
"duet-center": this.center,
|
|
76
|
-
} }, h("div", { key: '
|
|
76
|
+
} }, h("div", { key: 'daebb47e73054b59bb0459dc3327e0e60b17ebbe', class: "duet-layout-top-wrapper" }, h("slot", { key: '339fac00b53c0b4f532cfc77d5743217b5f72057', name: "top" })))), h("div", { key: 'bbf287d1f0aa701c40553a426b7a77b0a1c24c17', class: {
|
|
77
77
|
"duet-layout": true,
|
|
78
78
|
"has-sidebar": this.hasSidebar,
|
|
79
79
|
"duet-center": this.center,
|
|
80
80
|
[`padding-${this.paddingBreakpoint}`]: !!this.paddingBreakpoint,
|
|
81
|
-
} }, h("main", { key: '
|
|
81
|
+
} }, h("main", { key: '0d75aa9aeb65fa61f8e0ff114cee467abe49f1cd', class: "duet-main" }, this.hasPageHeading && h("slot", { key: 'fd0ed7464c54122f1cfbbfbfc40f78d8c9ab41c7', name: "page-heading" }), h("slot", { key: '1004e4007a1d82e22147ddf3a883e8ddc9c7b0dc', name: "main" })), this.hasSidebar && (h("aside", { key: '167c6d2495c8bbc7cd0275f723e0810b9fc311b6', class: "duet-sidebar" }, h("div", { key: 'f0bbcbeb756bf18ba1b678c405c3890fb00ad857', class: {
|
|
82
82
|
"duet-sidebar-container": true,
|
|
83
83
|
"has-tabs": this.tabs,
|
|
84
84
|
sticky: this.sticky,
|
|
85
85
|
[this.stickyDistance]: this.sticky,
|
|
86
|
-
} }, h("slot", { key: '
|
|
86
|
+
} }, h("slot", { key: 'b8b30e8b29bb87ea6a0c0891ca5f841d0921f72b', name: "sidebar" }))))))));
|
|
87
87
|
}
|
|
88
88
|
static get is() { return "duet-layout"; }
|
|
89
89
|
static get encapsulation() { return "shadow"; }
|
|
@@ -155,7 +155,7 @@ export class DuetLayout {
|
|
|
155
155
|
"references": {
|
|
156
156
|
"DuetLayoutStickyDistance": {
|
|
157
157
|
"location": "local",
|
|
158
|
-
"path": "/Users/
|
|
158
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-layout/duet-layout.tsx",
|
|
159
159
|
"id": "src/components/duet-layout/duet-layout.tsx::DuetLayoutStickyDistance"
|
|
160
160
|
}
|
|
161
161
|
}
|
|
@@ -187,10 +187,10 @@ export class DuetLink {
|
|
|
187
187
|
const Tag = !this.url && this.variation !== "default" ? "button" : "a";
|
|
188
188
|
const role = !this.url && this.variation === "default" ? "button" : null;
|
|
189
189
|
const isButton = Tag === "button";
|
|
190
|
-
return (h(Host, { key: '
|
|
190
|
+
return (h(Host, { key: '07cf184d2f321700e665e358f8a0cb988e798da8', class: {
|
|
191
191
|
[`duet-link-${this.variation}`]: true,
|
|
192
192
|
"duet-m-0": this.margin === "none",
|
|
193
|
-
} }, h(Tag, { key: '
|
|
193
|
+
} }, h(Tag, { key: 'bb416240f5adc73c8eeacbd4ca0524619326a954', href: this.url, class: {
|
|
194
194
|
"duet-link": true,
|
|
195
195
|
"duet-link-is-external": this.external,
|
|
196
196
|
"duet-link-is-download": !!this.download,
|
|
@@ -101,7 +101,7 @@ export class DuetList {
|
|
|
101
101
|
* Always the last one in the class.
|
|
102
102
|
*/
|
|
103
103
|
render() {
|
|
104
|
-
return (h("dl", { key: '
|
|
104
|
+
return (h("dl", { key: 'c83e43f3d82e32198e0a5d45a0812b8358f6be07', class: { "duet-list-component": true, "duet-m-0": this.margin === "none" } }, h("slot", { key: '7a65328f555edf10f4da02166eebcfcf8b8f68f7' })));
|
|
105
105
|
}
|
|
106
106
|
static get is() { return "duet-list"; }
|
|
107
107
|
static get encapsulation() { return "shadow"; }
|
|
@@ -205,7 +205,7 @@ export class DuetList {
|
|
|
205
205
|
"references": {
|
|
206
206
|
"DuetListMobileAlignment": {
|
|
207
207
|
"location": "local",
|
|
208
|
-
"path": "/Users/
|
|
208
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-list/duet-list.tsx",
|
|
209
209
|
"id": "src/components/duet-list/duet-list.tsx::DuetListMobileAlignment"
|
|
210
210
|
}
|
|
211
211
|
}
|
|
@@ -257,7 +257,7 @@ export class DuetList {
|
|
|
257
257
|
"references": {
|
|
258
258
|
"DuetListVariation": {
|
|
259
259
|
"location": "local",
|
|
260
|
-
"path": "/Users/
|
|
260
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-list/duet-list.tsx",
|
|
261
261
|
"id": "src/components/duet-list/duet-list.tsx::DuetListVariation"
|
|
262
262
|
}
|
|
263
263
|
}
|
|
@@ -283,7 +283,7 @@ export class DuetList {
|
|
|
283
283
|
"references": {
|
|
284
284
|
"DuetListLabelWidth": {
|
|
285
285
|
"location": "local",
|
|
286
|
-
"path": "/Users/
|
|
286
|
+
"path": "/Users/kasimir/projects/lahitapiola/duet-design-system/packages/components/src/components/duet-list/duet-list.tsx",
|
|
287
287
|
"id": "src/components/duet-list/duet-list.tsx::DuetListLabelWidth"
|
|
288
288
|
}
|
|
289
289
|
}
|
|
@@ -34,7 +34,7 @@ export class DuetListItem {
|
|
|
34
34
|
* Always the last one in the class.
|
|
35
35
|
*/
|
|
36
36
|
render() {
|
|
37
|
-
return (h(Host, { key: '
|
|
37
|
+
return (h(Host, { key: '83029afa5ebc666926eb1572b8ad9a311bdbfcf1', class: {
|
|
38
38
|
"duet-theme-turva": this.theme === "turva",
|
|
39
39
|
"duet-no-stacking": !this.responsive,
|
|
40
40
|
"duet-list-item-breakpoint-x-small": this.breakpoint === "x-small",
|
|
@@ -42,7 +42,7 @@ export class DuetListItem {
|
|
|
42
42
|
"duet-list-item-breakpoint-medium": this.breakpoint === "medium",
|
|
43
43
|
"duet-list-item-breakpoint-large": this.breakpoint === "large",
|
|
44
44
|
"duet-list-item-breakpoint-x-large": this.breakpoint === "x-large",
|
|
45
|
-
} }, h("dt", { key: '
|
|
45
|
+
} }, h("dt", { key: '884936458d12b95cd553cd4dc4d8a237cd8e5830' }, h("slot", { key: 'b17473caf7b410acf49f8c68f9ae53b3071397d7', name: "label" })), h("dd", { key: 'e5c6aa8b8d8998d500d27493896a288f71861df6' }, h("slot", { key: '7a6a3b223c394bb3376d7734791cfd439076d5f7', name: "value" }))));
|
|
46
46
|
}
|
|
47
47
|
static get is() { return "duet-list-item"; }
|
|
48
48
|
static get encapsulation() { return "shadow"; }
|