@scania/tegel 0.0.9 → 0.0.11
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/README.md +3 -0
- package/dist/cjs/index-ee36ffa1.js +10 -14
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/tds-accordion-item.cjs.entry.js +1 -1
- package/dist/cjs/tds-badge.cjs.entry.js +3 -3
- package/dist/cjs/tds-banner.cjs.entry.js +13 -13
- package/dist/cjs/tds-breadcrumb.cjs.entry.js +2 -4
- package/dist/cjs/tds-breadcrumbs.cjs.entry.js +0 -3
- package/dist/cjs/tds-button.cjs.entry.js +20 -18
- package/dist/cjs/tds-card.cjs.entry.js +19 -23
- package/dist/cjs/tds-checkbox.cjs.entry.js +2 -1
- package/dist/cjs/tds-chip.cjs.entry.js +14 -3
- package/dist/cjs/tds-core-header-item_2.cjs.entry.js +1 -1
- package/dist/cjs/{tds-dropdown-option-v2.cjs.entry.js → tds-dropdown-option.cjs.entry.js} +5 -5
- package/dist/cjs/{tds-dropdown-v2.cjs.entry.js → tds-dropdown.cjs.entry.js} +31 -26
- package/dist/cjs/tds-folder-tab.cjs.entry.js +2 -3
- package/dist/cjs/tds-folder-tabs.cjs.entry.js +5 -5
- package/dist/cjs/tds-footer-group.cjs.entry.js +3 -3
- package/dist/cjs/tds-footer-item.cjs.entry.js +1 -1
- package/dist/cjs/tds-footer.cjs.entry.js +6 -6
- package/dist/cjs/tds-header-cell.cjs.entry.js +1 -1
- package/dist/cjs/tds-header-dropdown-list-item.cjs.entry.js +2 -2
- package/dist/cjs/tds-header-dropdown-list-user.cjs.entry.js +4 -4
- package/dist/cjs/tds-header-dropdown-list.cjs.entry.js +6 -6
- package/dist/cjs/tds-header-dropdown.cjs.entry.js +4 -3
- package/dist/cjs/tds-header-hamburger.cjs.entry.js +1 -1
- package/dist/cjs/tds-header-launcher-button.cjs.entry.js +1 -1
- package/dist/cjs/tds-header-launcher-grid-title.cjs.entry.js +3 -2
- package/dist/cjs/tds-header-launcher-grid.cjs.entry.js +1 -1
- package/dist/cjs/tds-header-launcher-list-item.cjs.entry.js +1 -1
- package/dist/cjs/tds-header-launcher-list-title.cjs.entry.js +3 -2
- package/dist/cjs/tds-header-launcher-list.cjs.entry.js +3 -2
- package/dist/cjs/tds-header-launcher.cjs.entry.js +2 -2
- package/dist/cjs/tds-header.cjs.entry.js +1 -1
- package/dist/cjs/tds-inline-tab.cjs.entry.js +1 -1
- package/dist/cjs/tds-inline-tabs.cjs.entry.js +5 -5
- package/dist/cjs/tds-link.cjs.entry.js +2 -2
- package/dist/cjs/tds-message.cjs.entry.js +6 -6
- package/dist/cjs/tds-modal.cjs.entry.js +13 -5
- package/dist/cjs/tds-navigation-tab.cjs.entry.js +1 -1
- package/dist/cjs/tds-navigation-tabs.cjs.entry.js +5 -5
- package/dist/cjs/tds-popover-canvas.cjs.entry.js +10 -80
- package/dist/{components/popper.js → cjs/tds-popover-core.cjs.entry.js} +166 -13
- package/dist/cjs/tds-popover-menu.cjs.entry.js +12 -62
- package/dist/cjs/tds-radio-button.cjs.entry.js +3 -2
- package/dist/cjs/tds-side-menu-close-button.cjs.entry.js +1 -1
- package/dist/cjs/tds-side-menu-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/tds-side-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/tds-side-menu.cjs.entry.js +2 -2
- package/dist/cjs/tds-slider.cjs.entry.js +16 -15
- package/dist/cjs/tds-stepper.cjs.entry.js +3 -2
- package/dist/cjs/tds-table-body.cjs.entry.js +4 -51
- package/dist/cjs/tds-table-footer.cjs.entry.js +47 -39
- package/dist/cjs/tds-table-toolbar.cjs.entry.js +2 -2
- package/dist/cjs/tds-table.cjs.entry.js +2 -1
- package/dist/cjs/tds-text-field.cjs.entry.js +6 -2
- package/dist/cjs/tds-toast.cjs.entry.js +13 -28
- package/dist/cjs/tds-toggle.cjs.entry.js +2 -1
- package/dist/cjs/tds-tooltip.cjs.entry.js +41 -78
- package/dist/cjs/tegel.cjs.js +1 -1
- package/dist/cjs/{utils-2beb1aa0.js → utils-a908536d.js} +33 -12
- package/dist/collection/collection-manifest.json +1 -3
- package/dist/collection/components/accordion/accordion-item/accordion-item.js +5 -1
- package/dist/collection/components/accordion/accordion.js +3 -0
- package/dist/collection/components/accordion/accordion.stories.js +100 -0
- package/dist/collection/components/badge/badge.js +4 -4
- package/dist/collection/components/badge/badge.stories.js +106 -0
- package/dist/collection/components/banner/banner.css +12 -9
- package/dist/collection/components/banner/banner.js +40 -24
- package/dist/collection/components/banner/banner.stories.js +107 -0
- package/dist/collection/components/block/block.js +3 -0
- package/dist/collection/components/block/block.stories.js +49 -0
- package/dist/collection/components/breadcrumbs/breadcrumb/breadcrumb.css +4 -4
- package/dist/collection/components/breadcrumbs/breadcrumb/breadcrumb.js +4 -21
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +3 -3
- package/dist/collection/components/breadcrumbs/breadcrumbs.stories.js +36 -0
- package/dist/collection/components/button/button.css +20 -14
- package/dist/collection/components/button/button.js +46 -23
- package/dist/collection/components/button/button.stories.js +185 -0
- package/dist/collection/components/card/card.css +18 -14
- package/dist/collection/components/card/card.js +32 -68
- package/dist/collection/components/card/card.stories.js +163 -0
- package/dist/collection/components/checkbox/checkbox.js +6 -2
- package/dist/collection/components/checkbox/checkbox.stories.js +80 -0
- package/dist/collection/components/chip/chip.css +23 -8
- package/dist/collection/components/chip/chip.js +19 -3
- package/dist/collection/components/chip/chip.stories.js +230 -0
- package/dist/collection/components/datetime/datetime.stories.js +195 -0
- package/dist/collection/components/divider/divider.stories.js +62 -0
- package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js +145 -116
- package/dist/collection/components/dropdown/dropdown.css +212 -386
- package/dist/collection/components/dropdown/dropdown.js +480 -329
- package/dist/collection/components/dropdown/dropdown.stories.js +268 -0
- package/dist/collection/components/footer/footer-group/footer-group.css +3 -3
- package/dist/collection/components/footer/footer-group/footer-group.js +5 -2
- package/dist/collection/components/footer/footer-item/footer-item.css +16 -8
- package/dist/collection/components/footer/footer-item/footer-item.js +3 -0
- package/dist/collection/components/footer/footer.css +9 -12
- package/dist/collection/components/footer/footer.js +10 -10
- package/dist/collection/components/footer/footer.stories.js +145 -0
- package/dist/collection/components/header/core-header-item/core-header-item.js +3 -0
- package/dist/collection/components/header/header-brand-symbol/header-brand-symbol.js +3 -0
- package/dist/collection/components/header/header-dropdown/header-dropdown.js +11 -5
- package/dist/collection/components/header/header-dropdown-list/header-dropdown-list.css +2 -2
- package/dist/collection/components/header/header-dropdown-list/header-dropdown-list.js +10 -7
- package/dist/collection/components/header/header-dropdown-list-item/header-dropdown-list-item.css +3 -3
- package/dist/collection/components/header/header-dropdown-list-item/header-dropdown-list-item.js +7 -4
- package/dist/collection/components/header/header-dropdown-list-user/header-dropdown-list-user.css +1 -1
- package/dist/collection/components/header/header-dropdown-list-user/header-dropdown-list-user.js +13 -9
- package/dist/collection/components/header/header-hamburger/header-hamburger.css +0 -1
- package/dist/collection/components/header/header-item/header-item.js +3 -0
- package/dist/collection/components/header/header-launcher/header-launcher.js +5 -2
- package/dist/collection/components/header/header-launcher-grid/header-launcher-grid.js +3 -0
- package/dist/collection/components/header/header-launcher-grid-item/header-launcher-grid-item.js +3 -0
- package/dist/collection/components/header/header-launcher-grid-title/header-launcher-grid-title.js +6 -2
- package/dist/collection/components/header/header-launcher-list/header-launcher-list.js +6 -2
- package/dist/collection/components/header/header-launcher-list-item/header-launcher-list-item.js +4 -1
- package/dist/collection/components/header/header-launcher-list-title/header-launcher-list-title.js +6 -2
- package/dist/collection/components/header/header-title/header-title.js +3 -0
- package/dist/collection/components/header/header.css +1 -1
- package/dist/collection/components/header/header.js +6 -0
- package/dist/collection/components/header/header.stories.js +82 -0
- package/dist/collection/components/icon/icon.stories.js +48 -0
- package/dist/collection/components/link/link.css +16 -13
- package/dist/collection/components/link/link.js +5 -1
- package/dist/collection/components/link/link.stories.js +59 -0
- package/dist/collection/components/message/message.css +16 -16
- package/dist/collection/components/message/message.js +11 -8
- package/dist/collection/components/message/message.stories.js +110 -0
- package/dist/collection/components/modal/modal.css +19 -33
- package/dist/collection/components/modal/modal.js +36 -6
- package/dist/collection/components/modal/modal.stories.js +109 -0
- package/dist/collection/components/popover-canvas/popover-canvas.css +3 -7
- package/dist/collection/components/popover-canvas/popover-canvas.js +15 -104
- package/dist/collection/components/popover-canvas/popover-canvas.stories.js +92 -0
- package/dist/collection/components/popover-core/popover-core.js +390 -0
- package/dist/collection/components/popover-menu/popover-menu.css +2 -8
- package/dist/collection/components/popover-menu/popover-menu.js +18 -81
- package/dist/collection/components/popover-menu/popover-menu.stories.js +140 -0
- package/dist/collection/components/radio-button/radio-button.css +1 -1
- package/dist/collection/components/radio-button/radio-button.js +6 -2
- package/dist/collection/components/radio-button/radio-button.stories.js +91 -0
- package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +3 -0
- package/dist/collection/components/side-menu/side-menu-dropdown/side-menu-dropdown.css +1 -1
- package/dist/collection/components/side-menu/side-menu-dropdown/side-menu-dropdown.js +5 -0
- package/dist/collection/components/side-menu/side-menu-dropdown-list/side-menu-dropdown-list.js +3 -0
- package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.js +3 -0
- package/dist/collection/components/side-menu/side-menu-item/side-menu-item.css +1 -1
- package/dist/collection/components/side-menu/side-menu-item/side-menu-item.js +3 -0
- package/dist/collection/components/side-menu/side-menu-user/side-menu-user.js +3 -0
- package/dist/collection/components/side-menu/side-menu-user-image/side-menu-user-image.js +5 -0
- package/dist/collection/components/side-menu/side-menu.css +6 -5
- package/dist/collection/components/side-menu/side-menu.js +11 -3
- package/dist/collection/components/side-menu/side-menu.stories.js +215 -0
- package/dist/collection/components/slider/slider.js +17 -16
- package/dist/collection/components/slider/slider.stories.js +243 -0
- package/dist/collection/components/spinner/spinner.stories.js +61 -0
- package/dist/collection/components/stepper/step/step.js +3 -0
- package/dist/collection/components/stepper/stepper.css +3 -0
- package/dist/collection/components/stepper/stepper.js +7 -3
- package/dist/collection/components/stepper/stepper.stories.js +95 -0
- package/dist/collection/components/table/table/table.js +7 -3
- package/dist/collection/components/table/table-body/table-body.js +15 -60
- package/dist/collection/components/table/table-body-cell/table-body-cell.js +3 -0
- package/dist/collection/components/table/table-body-row/table-body-row.js +3 -0
- package/dist/collection/components/table/table-body-row-expandable/table-body-row-expandable.js +4 -0
- package/dist/collection/components/table/table-component-basic.stories.js +184 -0
- package/dist/collection/components/table/table-component-batch-actions.stories.js +201 -0
- package/dist/collection/components/table/table-component-bodydata.stories.js +101 -0
- package/dist/collection/components/table/table-component-custom-width.stories.js +174 -0
- package/dist/collection/components/table/table-component-event-listeners.stories.js +193 -0
- package/dist/collection/components/table/table-component-expandable-rows.stories.js +160 -0
- package/dist/collection/components/table/table-component-filtering.stories.js +210 -0
- package/dist/collection/components/table/table-component-multiselect.stories.js +230 -0
- package/dist/collection/components/table/table-component-pagination.stories.js +215 -0
- package/dist/collection/components/table/table-component-sorting.stories.js +238 -0
- package/dist/collection/components/table/table-footer/table-footer.js +65 -54
- package/dist/collection/components/table/table-header/table-header.js +3 -0
- package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -0
- package/dist/collection/components/table/table-toolbar/table-toolbar.css +2 -1
- package/dist/collection/components/table/table-toolbar/table-toolbar.js +4 -1
- package/dist/collection/components/table/table.filtering.spec.js +0 -6
- package/dist/collection/components/table/table.spec.js +0 -6
- package/dist/collection/components/tabs/folder-tabs/folder-tab/folder-tab.css +10 -11
- package/dist/collection/components/tabs/folder-tabs/folder-tab/folder-tab.js +4 -2
- package/dist/collection/components/tabs/folder-tabs/folder-tabs.js +8 -5
- package/dist/collection/components/tabs/folder-tabs/folder-tabs.stories.js +105 -0
- package/dist/collection/components/tabs/inline-tabs/inline-tab/inline-tab.css +13 -2
- package/dist/collection/components/tabs/inline-tabs/inline-tab/inline-tab.js +3 -0
- package/dist/collection/components/tabs/inline-tabs/inline-tabs.js +8 -5
- package/dist/collection/components/tabs/inline-tabs/inline-tabs.stories.js +99 -0
- package/dist/collection/components/tabs/navigation-tabs/navigation-tab/navigation-tab.css +13 -2
- package/dist/collection/components/tabs/navigation-tabs/navigation-tab/navigation-tab.js +3 -0
- package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js +8 -5
- package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.stories.js +101 -0
- package/dist/collection/components/text-field/text-field.js +10 -2
- package/dist/collection/components/text-field/text-field.stories.js +247 -0
- package/dist/collection/components/textarea/textarea.stories.js +188 -0
- package/dist/collection/components/toast/toast.css +32 -25
- package/dist/collection/components/toast/toast.js +21 -37
- package/dist/collection/components/toast/toast.stories.js +79 -0
- package/dist/collection/components/toggle/toggle.js +6 -2
- package/dist/collection/components/toggle/toggle.stories.js +95 -0
- package/dist/collection/components/tooltip/tooltip.js +47 -87
- package/dist/collection/components/tooltip/tooltip.stories.js +136 -0
- package/dist/collection/stories/Installation/installation.stories.js +222 -0
- package/dist/collection/stories/announcements/announce-tegel.stories.js +262 -0
- package/dist/collection/stories/announcements/prefix-change.stories.js +93 -0
- package/dist/collection/stories/foundations/color/color-brand.stories.js +38 -0
- package/dist/collection/stories/foundations/color/color-scales.stories.js +71 -0
- package/dist/collection/stories/foundations/color/color-semantic.stories.js +40 -0
- package/dist/collection/stories/foundations/grid/grid.stories.js +386 -0
- package/dist/collection/stories/foundations/spacing/spacing-element.stories.js +100 -0
- package/dist/collection/stories/foundations/spacing/spacing-layout.stories.js +94 -0
- package/dist/collection/stories/foundations/typography/typography-body.stories.js +16 -0
- package/dist/collection/stories/foundations/typography/typography-detail.stories.js +17 -0
- package/dist/collection/stories/foundations/typography/typography-headline.stories.js +39 -0
- package/dist/collection/stories/foundations/typography/typography-paragraph.stories.js +12 -0
- package/dist/collection/stories/patterns/navigation/navigation-basic.stories.js +85 -0
- package/dist/collection/stories/patterns/navigation/navigation-fewitems.stories.js +259 -0
- package/dist/collection/stories/patterns/navigation/navigation-manyitems.stories.js +246 -0
- package/dist/collection/stories/patterns/navigation/navigation-user-menu.stories.js +140 -0
- package/dist/collection/stories/tegel.stories.js +293 -0
- package/dist/collection/stories/utility/color/background-color.stories.js +96 -0
- package/dist/collection/stories/utility/color/text-color.stories.js +94 -0
- package/dist/collection/utils/utils.js +30 -11
- package/dist/components/checkbox.js +2 -1
- package/dist/components/header-dropdown-list-item.js +3 -3
- package/dist/components/header-dropdown-list.js +7 -7
- package/dist/components/header-item.js +1 -1
- package/dist/components/popover-canvas.js +20 -89
- package/dist/{esm/popper-bfa25c7f.js → components/popover-core.js} +190 -13
- package/dist/components/side-menu-item.js +1 -1
- package/dist/components/tds-accordion-item.js +1 -1
- package/dist/components/tds-badge.js +4 -4
- package/dist/components/tds-banner.js +16 -17
- package/dist/components/tds-breadcrumb.js +3 -6
- package/dist/components/tds-breadcrumbs.js +0 -3
- package/dist/components/tds-button.js +23 -22
- package/dist/components/tds-card.js +21 -29
- package/dist/components/tds-chip.js +14 -3
- package/dist/components/tds-dropdown-option.js +121 -1
- package/dist/components/tds-dropdown.js +323 -1
- package/dist/components/tds-folder-tab.js +2 -3
- package/dist/components/tds-folder-tabs.js +5 -5
- package/dist/components/tds-footer-group.js +3 -3
- package/dist/components/tds-footer-item.js +1 -1
- package/dist/components/tds-footer.js +7 -8
- package/dist/components/tds-header-cell.js +1 -1
- package/dist/components/tds-header-dropdown-list-user.js +6 -6
- package/dist/components/tds-header-dropdown.js +19 -12
- package/dist/components/tds-header-launcher-grid-title.js +3 -2
- package/dist/components/tds-header-launcher-grid.js +1 -1
- package/dist/components/tds-header-launcher-list-item.js +1 -1
- package/dist/components/tds-header-launcher-list-title.js +3 -2
- package/dist/components/tds-header-launcher-list.js +3 -2
- package/dist/components/tds-header-launcher.js +18 -12
- package/dist/components/tds-inline-tab.js +1 -1
- package/dist/components/tds-inline-tabs.js +5 -5
- package/dist/components/tds-link.js +4 -3
- package/dist/components/tds-message.js +7 -7
- package/dist/components/tds-modal.js +14 -5
- package/dist/components/tds-navigation-tab.js +1 -1
- package/dist/components/tds-navigation-tabs.js +5 -5
- package/dist/components/{tds-dropdown-v2.d.ts → tds-popover-core.d.ts} +4 -4
- package/dist/components/tds-popover-core.js +6 -0
- package/dist/components/tds-popover-menu.js +22 -70
- package/dist/components/tds-radio-button.js +3 -2
- package/dist/components/tds-side-menu-dropdown.js +1 -1
- package/dist/components/tds-side-menu.js +2 -2
- package/dist/components/tds-slider.js +16 -15
- package/dist/components/tds-stepper.js +3 -2
- package/dist/components/tds-table-body.js +5 -53
- package/dist/components/tds-table-footer.js +50 -42
- package/dist/components/tds-table-toolbar.js +9 -3
- package/dist/components/tds-table.js +2 -1
- package/dist/components/tds-text-field.js +6 -2
- package/dist/components/tds-toast.js +15 -32
- package/dist/components/tds-toggle.js +2 -1
- package/dist/components/tds-tooltip.js +51 -85
- package/dist/components/utils.js +31 -12
- package/dist/esm/index-23ee700b.js +10 -14
- package/dist/esm/loader.js +1 -1
- package/dist/esm/tds-accordion-item.entry.js +1 -1
- package/dist/esm/tds-badge.entry.js +3 -3
- package/dist/esm/tds-banner.entry.js +13 -13
- package/dist/esm/tds-breadcrumb.entry.js +2 -4
- package/dist/esm/tds-breadcrumbs.entry.js +0 -3
- package/dist/esm/tds-button.entry.js +20 -18
- package/dist/esm/tds-card.entry.js +19 -23
- package/dist/esm/tds-checkbox.entry.js +2 -1
- package/dist/esm/tds-chip.entry.js +15 -4
- package/dist/esm/tds-core-header-item_2.entry.js +1 -1
- package/dist/esm/{tds-dropdown-option-v2.entry.js → tds-dropdown-option.entry.js} +5 -5
- package/dist/esm/{tds-dropdown-v2.entry.js → tds-dropdown.entry.js} +31 -26
- package/dist/esm/tds-folder-tab.entry.js +2 -3
- package/dist/esm/tds-folder-tabs.entry.js +5 -5
- package/dist/esm/tds-footer-group.entry.js +3 -3
- package/dist/esm/tds-footer-item.entry.js +1 -1
- package/dist/esm/tds-footer.entry.js +6 -6
- package/dist/esm/tds-header-cell.entry.js +1 -1
- package/dist/esm/tds-header-dropdown-list-item.entry.js +2 -2
- package/dist/esm/tds-header-dropdown-list-user.entry.js +4 -4
- package/dist/esm/tds-header-dropdown-list.entry.js +6 -6
- package/dist/esm/tds-header-dropdown.entry.js +4 -3
- package/dist/esm/tds-header-hamburger.entry.js +1 -1
- package/dist/esm/tds-header-launcher-button.entry.js +1 -1
- package/dist/esm/tds-header-launcher-grid-title.entry.js +3 -2
- package/dist/esm/tds-header-launcher-grid.entry.js +1 -1
- package/dist/esm/tds-header-launcher-list-item.entry.js +1 -1
- package/dist/esm/tds-header-launcher-list-title.entry.js +3 -2
- package/dist/esm/tds-header-launcher-list.entry.js +3 -2
- package/dist/esm/tds-header-launcher.entry.js +2 -2
- package/dist/esm/tds-header.entry.js +1 -1
- package/dist/esm/tds-inline-tab.entry.js +1 -1
- package/dist/esm/tds-inline-tabs.entry.js +5 -5
- package/dist/esm/tds-link.entry.js +2 -2
- package/dist/esm/tds-message.entry.js +6 -6
- package/dist/esm/tds-modal.entry.js +13 -5
- package/dist/esm/tds-navigation-tab.entry.js +1 -1
- package/dist/esm/tds-navigation-tabs.entry.js +5 -5
- package/dist/esm/tds-popover-canvas.entry.js +10 -80
- package/dist/{cjs/popper-9def2535.js → esm/tds-popover-core.entry.js} +161 -14
- package/dist/esm/tds-popover-menu.entry.js +12 -62
- package/dist/esm/tds-radio-button.entry.js +3 -2
- package/dist/esm/tds-side-menu-close-button.entry.js +1 -1
- package/dist/esm/tds-side-menu-dropdown.entry.js +1 -1
- package/dist/esm/tds-side-menu-item.entry.js +1 -1
- package/dist/esm/tds-side-menu.entry.js +2 -2
- package/dist/esm/tds-slider.entry.js +16 -15
- package/dist/esm/tds-stepper.entry.js +3 -2
- package/dist/esm/tds-table-body.entry.js +4 -51
- package/dist/esm/tds-table-footer.entry.js +47 -39
- package/dist/esm/tds-table-toolbar.entry.js +2 -2
- package/dist/esm/tds-table.entry.js +2 -1
- package/dist/esm/tds-text-field.entry.js +7 -3
- package/dist/esm/tds-toast.entry.js +13 -28
- package/dist/esm/tds-toggle.entry.js +2 -1
- package/dist/esm/tds-tooltip.entry.js +42 -79
- package/dist/esm/tegel.js +1 -1
- package/dist/esm/{utils-9ac24735.js → utils-8544b156.js} +31 -12
- package/dist/tegel/p-000d60e5.entry.js +1 -0
- package/dist/tegel/p-04bff255.entry.js +1 -0
- package/dist/tegel/p-0641ac24.entry.js +1 -0
- package/dist/tegel/p-099025f0.entry.js +1 -0
- package/dist/tegel/p-0ae649c3.entry.js +1 -0
- package/dist/tegel/p-1a907ae9.entry.js +1 -0
- package/dist/tegel/p-1c82ccf0.entry.js +1 -0
- package/dist/tegel/{p-1acb8407.entry.js → p-1f43d4f0.entry.js} +1 -1
- package/dist/tegel/p-2e5f6086.entry.js +1 -0
- package/dist/tegel/{p-89283891.entry.js → p-31848a92.entry.js} +1 -1
- package/dist/tegel/{p-fb3f4a14.entry.js → p-3d28689e.entry.js} +1 -1
- package/dist/tegel/p-400282e5.entry.js +1 -0
- package/dist/tegel/p-4163997b.entry.js +1 -0
- package/dist/tegel/{p-bcb2fad3.entry.js → p-42990ec0.entry.js} +1 -1
- package/dist/tegel/p-43320d81.entry.js +1 -0
- package/dist/tegel/p-49a084db.entry.js +1 -0
- package/dist/tegel/{p-e8fccebc.entry.js → p-56189659.entry.js} +1 -1
- package/dist/tegel/{p-b6a16219.entry.js → p-656add37.entry.js} +1 -1
- package/dist/tegel/p-65ab407b.entry.js +1 -0
- package/dist/tegel/p-6654e59d.entry.js +1 -0
- package/dist/tegel/p-6f0072cc.entry.js +1 -0
- package/dist/tegel/{p-39227588.js → p-72fced16.js} +1 -1
- package/dist/tegel/p-79b1bb29.entry.js +1 -0
- package/dist/tegel/p-7ccff0a5.entry.js +1 -0
- package/dist/tegel/p-81915088.entry.js +1 -0
- package/dist/tegel/{p-232f5889.entry.js → p-823399ef.entry.js} +1 -1
- package/dist/tegel/p-84d231a5.entry.js +1 -0
- package/dist/tegel/{p-7b34156b.entry.js → p-88807dac.entry.js} +1 -1
- package/dist/tegel/p-88d7c4c1.entry.js +1 -0
- package/dist/tegel/p-8bd0a233.entry.js +1 -0
- package/dist/tegel/{p-e0ee20ee.entry.js → p-8c194dd8.entry.js} +1 -1
- package/dist/tegel/p-8e745d73.entry.js +1 -0
- package/dist/tegel/p-9991a816.entry.js +1 -0
- package/dist/tegel/{p-135575ae.entry.js → p-a08be1c3.entry.js} +1 -1
- package/dist/tegel/{p-3aa634ed.entry.js → p-a1ad46d2.entry.js} +1 -1
- package/dist/tegel/p-a8cc3901.entry.js +1 -0
- package/dist/tegel/{p-7d3a66ae.entry.js → p-aa7e2f79.entry.js} +1 -1
- package/dist/tegel/{p-cd2a74d7.entry.js → p-b0d313cd.entry.js} +1 -1
- package/dist/tegel/p-b1067b50.entry.js +1 -0
- package/dist/tegel/p-c411f254.entry.js +1 -0
- package/dist/tegel/p-cacdd03f.entry.js +1 -0
- package/dist/tegel/p-cb5a4d7d.entry.js +1 -0
- package/dist/tegel/p-d0f15f73.entry.js +1 -0
- package/dist/tegel/p-d2ca7f58.entry.js +1 -0
- package/dist/tegel/p-d4c25eb6.entry.js +1 -0
- package/dist/tegel/p-d5bd9b2e.entry.js +1 -0
- package/dist/tegel/{p-de799b9a.entry.js → p-d60cb9e5.entry.js} +1 -1
- package/dist/tegel/p-da6f310c.entry.js +1 -0
- package/dist/tegel/p-df318a85.entry.js +1 -0
- package/dist/tegel/p-df95f0ae.entry.js +1 -0
- package/dist/tegel/p-e36ceefe.entry.js +1 -0
- package/dist/tegel/p-e4d6a4c5.entry.js +1 -0
- package/dist/tegel/p-f36ec03b.entry.js +1 -0
- package/dist/tegel/p-f64ff692.entry.js +1 -0
- package/dist/tegel/p-f682dd0b.entry.js +1 -0
- package/dist/tegel/p-fa30061f.entry.js +1 -0
- package/dist/tegel/tegel.css +2 -2
- package/dist/tegel/tegel.esm.js +1 -1
- package/dist/types/components/accordion/accordion-item/accordion-item.d.ts +4 -0
- package/dist/types/components/accordion/accordion.d.ts +3 -0
- package/dist/types/components/accordion/accordion.stories.d.ts +77 -0
- package/dist/types/components/badge/badge.stories.d.ts +73 -0
- package/dist/types/components/banner/banner.d.ts +10 -5
- package/dist/types/components/banner/banner.stories.d.ts +82 -0
- package/dist/types/components/block/block.d.ts +3 -0
- package/dist/types/components/block/block.stories.d.ts +32 -0
- package/dist/types/components/breadcrumbs/breadcrumb/breadcrumb.d.ts +3 -2
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +3 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.stories.d.ts +16 -0
- package/dist/types/components/button/button.d.ts +9 -3
- package/dist/types/components/button/button.stories.d.ts +147 -0
- package/dist/types/components/card/card.d.ts +11 -9
- package/dist/types/components/card/card.stories.d.ts +128 -0
- package/dist/types/components/checkbox/checkbox.d.ts +3 -0
- package/dist/types/components/checkbox/checkbox.stories.d.ts +52 -0
- package/dist/types/components/chip/chip.d.ts +6 -0
- package/dist/types/components/chip/chip.stories.d.ts +99 -0
- package/dist/types/components/datetime/datetime.stories.d.ts +125 -0
- package/dist/types/components/divider/divider.stories.d.ts +58 -0
- package/dist/types/components/dropdown/dropdown-option/dropdown-option.d.ts +31 -17
- package/dist/types/components/dropdown/dropdown.d.ts +82 -54
- package/dist/types/components/dropdown/dropdown.stories.d.ts +183 -0
- package/dist/types/components/footer/footer-group/footer-group.d.ts +4 -1
- package/dist/types/components/footer/footer-item/footer-item.d.ts +3 -0
- package/dist/types/components/footer/footer.d.ts +5 -3
- package/dist/types/components/footer/footer.stories.d.ts +44 -0
- package/dist/types/components/header/core-header-item/core-header-item.d.ts +3 -0
- package/dist/types/components/header/header-brand-symbol/header-brand-symbol.d.ts +3 -0
- package/dist/types/components/header/header-dropdown/header-dropdown.d.ts +6 -1
- package/dist/types/components/header/header-dropdown-list/header-dropdown-list.d.ts +5 -1
- package/dist/types/components/header/header-dropdown-list-item/header-dropdown-list-item.d.ts +5 -2
- package/dist/types/components/header/header-dropdown-list-user/header-dropdown-list-user.d.ts +8 -4
- package/dist/types/components/header/header-item/header-item.d.ts +3 -0
- package/dist/types/components/header/header-launcher/header-launcher.d.ts +3 -0
- package/dist/types/components/header/header-launcher-grid/header-launcher-grid.d.ts +3 -0
- package/dist/types/components/header/header-launcher-grid-item/header-launcher-grid-item.d.ts +3 -0
- package/dist/types/components/header/header-launcher-grid-title/header-launcher-grid-title.d.ts +3 -0
- package/dist/types/components/header/header-launcher-list/header-launcher-list.d.ts +3 -0
- package/dist/types/components/header/header-launcher-list-item/header-launcher-list-item.d.ts +3 -0
- package/dist/types/components/header/header-launcher-list-title/header-launcher-list-title.d.ts +3 -0
- package/dist/types/components/header/header-title/header-title.d.ts +3 -0
- package/dist/types/components/header/header.d.ts +6 -0
- package/dist/types/components/header/header.stories.d.ts +32 -0
- package/dist/types/components/icon/icon.stories.d.ts +36 -0
- package/dist/types/components/link/link.d.ts +3 -0
- package/dist/types/components/link/link.stories.d.ts +44 -0
- package/dist/types/components/message/message.d.ts +5 -2
- package/dist/types/components/message/message.stories.d.ts +88 -0
- package/dist/types/components/modal/modal.d.ts +9 -3
- package/dist/types/components/modal/modal.stories.d.ts +70 -0
- package/dist/types/components/popover-canvas/popover-canvas.d.ts +8 -14
- package/dist/types/components/popover-canvas/popover-canvas.stories.d.ts +27 -0
- package/dist/types/components/popover-core/popover-core.d.ts +46 -0
- package/dist/types/components/popover-menu/popover-menu.d.ts +9 -10
- package/dist/types/components/popover-menu/popover-menu.stories.d.ts +40 -0
- package/dist/types/components/radio-button/radio-button.d.ts +3 -0
- package/dist/types/components/radio-button/radio-button.stories.d.ts +39 -0
- package/dist/types/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.d.ts +3 -0
- package/dist/types/components/side-menu/side-menu-dropdown/side-menu-dropdown.d.ts +5 -0
- package/dist/types/components/side-menu/side-menu-dropdown-list/side-menu-dropdown-list.d.ts +3 -0
- package/dist/types/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.d.ts +3 -0
- package/dist/types/components/side-menu/side-menu-item/side-menu-item.d.ts +3 -0
- package/dist/types/components/side-menu/side-menu-user/side-menu-user.d.ts +3 -0
- package/dist/types/components/side-menu/side-menu-user-image/side-menu-user-image.d.ts +4 -0
- package/dist/types/components/side-menu/side-menu.d.ts +8 -0
- package/dist/types/components/side-menu/side-menu.stories.d.ts +53 -0
- package/dist/types/components/slider/slider.d.ts +0 -1
- package/dist/types/components/slider/slider.stories.d.ts +235 -0
- package/dist/types/components/spinner/spinner.stories.d.ts +46 -0
- package/dist/types/components/stepper/step/step.d.ts +3 -0
- package/dist/types/components/stepper/stepper.d.ts +3 -0
- package/dist/types/components/stepper/stepper.stories.d.ts +80 -0
- package/dist/types/components/table/table/table.d.ts +3 -0
- package/dist/types/components/table/table-body/table-body.d.ts +6 -3
- package/dist/types/components/table/table-body-cell/table-body-cell.d.ts +3 -0
- package/dist/types/components/table/table-body-row/table-body-row.d.ts +3 -0
- package/dist/types/components/table/table-body-row-expandable/table-body-row-expandable.d.ts +4 -0
- package/dist/types/components/table/table-component-basic.stories.d.ts +144 -0
- package/dist/types/components/table/table-component-batch-actions.stories.d.ts +139 -0
- package/dist/types/components/table/table-component-bodydata.stories.d.ts +35 -0
- package/dist/types/components/table/table-component-custom-width.stories.d.ts +131 -0
- package/dist/types/components/table/table-component-event-listeners.stories.d.ts +131 -0
- package/dist/types/components/table/table-component-expandable-rows.stories.d.ts +131 -0
- package/dist/types/components/table/table-component-filtering.stories.d.ts +139 -0
- package/dist/types/components/table/table-component-multiselect.stories.d.ts +144 -0
- package/dist/types/components/table/table-component-pagination.stories.d.ts +131 -0
- package/dist/types/components/table/table-component-sorting.stories.d.ts +183 -0
- package/dist/types/components/table/table-footer/table-footer.d.ts +7 -7
- package/dist/types/components/table/table-header/table-header.d.ts +3 -0
- package/dist/types/components/table/table-toolbar/table-toolbar.d.ts +3 -0
- package/dist/types/components/tabs/folder-tabs/folder-tab/folder-tab.d.ts +3 -0
- package/dist/types/components/tabs/folder-tabs/folder-tabs.d.ts +3 -0
- package/dist/types/components/tabs/folder-tabs/folder-tabs.stories.d.ts +69 -0
- package/dist/types/components/tabs/inline-tabs/inline-tab/inline-tab.d.ts +3 -0
- package/dist/types/components/tabs/inline-tabs/inline-tabs.d.ts +3 -0
- package/dist/types/components/tabs/inline-tabs/inline-tabs.stories.d.ts +61 -0
- package/dist/types/components/tabs/navigation-tabs/navigation-tab/navigation-tab.d.ts +3 -0
- package/dist/types/components/tabs/navigation-tabs/navigation-tabs.d.ts +3 -0
- package/dist/types/components/tabs/navigation-tabs/navigation-tabs.stories.d.ts +61 -0
- package/dist/types/components/text-field/text-field.d.ts +5 -0
- package/dist/types/components/text-field/text-field.stories.d.ts +201 -0
- package/dist/types/components/textarea/textarea.stories.d.ts +139 -0
- package/dist/types/components/toast/toast.d.ts +6 -5
- package/dist/types/components/toast/toast.stories.d.ts +56 -0
- package/dist/types/components/toggle/toggle.d.ts +3 -0
- package/dist/types/components/toggle/toggle.stories.d.ts +74 -0
- package/dist/types/components/tooltip/tooltip.d.ts +17 -7
- package/dist/types/components/tooltip/tooltip.stories.d.ts +66 -0
- package/dist/types/components.d.ts +232 -415
- package/dist/types/stories/Installation/installation.stories.d.ts +7 -0
- package/dist/types/stories/announcements/announce-tegel.stories.d.ts +6 -0
- package/dist/types/stories/announcements/prefix-change.stories.d.ts +6 -0
- package/dist/types/stories/foundations/color/color-brand.stories.d.ts +13 -0
- package/dist/types/stories/foundations/color/color-scales.stories.d.ts +30 -0
- package/dist/types/stories/foundations/color/color-semantic.stories.d.ts +13 -0
- package/dist/types/stories/foundations/grid/grid.stories.d.ts +35 -0
- package/dist/types/stories/foundations/spacing/spacing-element.stories.d.ts +8 -0
- package/dist/types/stories/foundations/spacing/spacing-layout.stories.d.ts +8 -0
- package/dist/types/stories/foundations/typography/typography-body.stories.d.ts +8 -0
- package/dist/types/stories/foundations/typography/typography-detail.stories.d.ts +8 -0
- package/dist/types/stories/foundations/typography/typography-headline.stories.d.ts +21 -0
- package/dist/types/stories/foundations/typography/typography-paragraph.stories.d.ts +8 -0
- package/dist/types/stories/patterns/navigation/navigation-basic.stories.d.ts +23 -0
- package/dist/types/stories/patterns/navigation/navigation-fewitems.stories.d.ts +23 -0
- package/dist/types/stories/patterns/navigation/navigation-manyitems.stories.d.ts +38 -0
- package/dist/types/stories/patterns/navigation/navigation-user-menu.stories.d.ts +33 -0
- package/dist/types/stories/tegel.stories.d.ts +6 -0
- package/dist/types/stories/utility/color/background-color.stories.d.ts +64 -0
- package/dist/types/stories/utility/color/text-color.stories.d.ts +64 -0
- package/dist/types/utils/utils.d.ts +20 -6
- package/package.json +22 -24
- package/dist/cjs/tds-dropdown-filter.cjs.entry.js +0 -96
- package/dist/cjs/tds-dropdown_2.cjs.entry.js +0 -339
- package/dist/collection/components/dropdown/dropdown-filter/dropdown-filter.js +0 -380
- package/dist/collection/components/dropdown-v2/dropdown-option-v2/dropdown-option-v2.js +0 -216
- package/dist/collection/components/dropdown-v2/dropdown-v2.css +0 -286
- package/dist/collection/components/dropdown-v2/dropdown-v2.js +0 -726
- package/dist/components/dropdown-option.js +0 -104
- package/dist/components/dropdown.js +0 -304
- package/dist/components/tds-dropdown-filter.d.ts +0 -11
- package/dist/components/tds-dropdown-filter.js +0 -150
- package/dist/components/tds-dropdown-option-v2.d.ts +0 -11
- package/dist/components/tds-dropdown-option-v2.js +0 -126
- package/dist/components/tds-dropdown-v2.js +0 -323
- package/dist/esm/tds-dropdown-filter.entry.js +0 -92
- package/dist/esm/tds-dropdown_2.entry.js +0 -334
- package/dist/tegel/p-07e5df94.entry.js +0 -1
- package/dist/tegel/p-0a3e7512.entry.js +0 -1
- package/dist/tegel/p-0e55d72f.entry.js +0 -1
- package/dist/tegel/p-107d3da8.entry.js +0 -1
- package/dist/tegel/p-13b02a4f.entry.js +0 -1
- package/dist/tegel/p-19e9addd.entry.js +0 -1
- package/dist/tegel/p-1fb5c5d4.entry.js +0 -1
- package/dist/tegel/p-2bee16f6.entry.js +0 -1
- package/dist/tegel/p-2e2c91c4.entry.js +0 -1
- package/dist/tegel/p-330ed982.entry.js +0 -1
- package/dist/tegel/p-3604b5d3.entry.js +0 -1
- package/dist/tegel/p-375e361b.entry.js +0 -1
- package/dist/tegel/p-55dc4711.entry.js +0 -1
- package/dist/tegel/p-59f1cb9b.entry.js +0 -1
- package/dist/tegel/p-5a6aba01.entry.js +0 -1
- package/dist/tegel/p-60733f89.entry.js +0 -1
- package/dist/tegel/p-6a530c2f.entry.js +0 -1
- package/dist/tegel/p-732256e0.entry.js +0 -1
- package/dist/tegel/p-7331ec7b.entry.js +0 -1
- package/dist/tegel/p-76f941e8.entry.js +0 -1
- package/dist/tegel/p-7b0853e6.entry.js +0 -1
- package/dist/tegel/p-90686bc7.entry.js +0 -1
- package/dist/tegel/p-95da9b7f.entry.js +0 -1
- package/dist/tegel/p-99f540db.entry.js +0 -1
- package/dist/tegel/p-9bcc42cf.entry.js +0 -1
- package/dist/tegel/p-9d707f6e.js +0 -1
- package/dist/tegel/p-9f57d275.entry.js +0 -1
- package/dist/tegel/p-9fe384ad.entry.js +0 -1
- package/dist/tegel/p-a5604352.entry.js +0 -1
- package/dist/tegel/p-acb62b52.entry.js +0 -1
- package/dist/tegel/p-aeffa257.entry.js +0 -1
- package/dist/tegel/p-b8d88873.entry.js +0 -1
- package/dist/tegel/p-beb8a6bd.entry.js +0 -1
- package/dist/tegel/p-c8d4af09.entry.js +0 -1
- package/dist/tegel/p-c90a247c.entry.js +0 -1
- package/dist/tegel/p-ca4527de.entry.js +0 -1
- package/dist/tegel/p-cf4cfc54.entry.js +0 -1
- package/dist/tegel/p-d3f5cf74.entry.js +0 -1
- package/dist/tegel/p-d67d67be.entry.js +0 -1
- package/dist/tegel/p-da4c92b9.entry.js +0 -1
- package/dist/tegel/p-e95059e9.entry.js +0 -1
- package/dist/tegel/p-f6206d3c.entry.js +0 -1
- package/dist/tegel/p-fc47d911.entry.js +0 -1
- package/dist/types/components/dropdown/dropdown-filter/dropdown-filter.d.ts +0 -47
- package/dist/types/components/dropdown-v2/dropdown-option-v2/dropdown-option-v2.d.ts +0 -35
- package/dist/types/components/dropdown-v2/dropdown-v2.d.ts +0 -86
- /package/dist/collection/components/{dropdown-v2/dropdown-option-v2/dropdown-option-v2.css → dropdown/dropdown-option/dropdown-option.css} +0 -0
|
@@ -1,250 +1,269 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Host, h } from '@stencil/core';
|
|
2
|
+
import { appendChildElement, appendHiddenInput, findNextFocusableItem, findPreviousFocusableItem, } from '../../utils/utils';
|
|
3
|
+
/**
|
|
4
|
+
* @slot <default> - <b>Unnamed slot.</b> For dropdown option elements.
|
|
5
|
+
*/
|
|
2
6
|
export class TdsDropdown {
|
|
3
7
|
constructor() {
|
|
4
|
-
this.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
this.connectedCallback = () => {
|
|
9
|
+
if (!this.options) {
|
|
10
|
+
this.children = Array.from(this.host.children);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
this.setDefaultOption = () => {
|
|
14
|
+
this.children = this.children.map((element) => {
|
|
15
|
+
if (this.multiselect) {
|
|
16
|
+
this.defaultValue.split(',').forEach((defaultValue) => {
|
|
17
|
+
if (defaultValue === element.value) {
|
|
18
|
+
element.setSelected(true);
|
|
19
|
+
this.selection = this.selection
|
|
20
|
+
? [...this.selection, { value: element.value, label: element.textContent }]
|
|
21
|
+
: [{ value: element.value, label: element.textContent }];
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
element.setSelected(false);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
if (this.defaultValue === element.value) {
|
|
30
|
+
element.setSelected(true);
|
|
31
|
+
this.selection = [{ value: element.value, label: element.textContent }];
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
element.setSelected(false);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return element;
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
this.getOpenDirection = () => {
|
|
41
|
+
var _a, _b, _c, _d, _e;
|
|
42
|
+
if (this.openDirection === 'auto' || !this.openDirection) {
|
|
43
|
+
const dropdownMenuHeight = (_b = (_a = this.dropdownList) === null || _a === void 0 ? void 0 : _a.offsetHeight) !== null && _b !== void 0 ? _b : 0;
|
|
44
|
+
const distanceToBottom = (_e = (_d = (_c = this.host).getBoundingClientRect) === null || _d === void 0 ? void 0 : _d.call(_c).top) !== null && _e !== void 0 ? _e : 0;
|
|
45
|
+
const viewportHeight = window.innerHeight;
|
|
46
|
+
if (distanceToBottom + dropdownMenuHeight + 57 > viewportHeight) {
|
|
47
|
+
return 'up';
|
|
48
|
+
}
|
|
49
|
+
return 'down';
|
|
50
|
+
}
|
|
51
|
+
return this.openDirection;
|
|
52
|
+
};
|
|
53
|
+
this.getValue = () => {
|
|
54
|
+
var _a, _b;
|
|
55
|
+
if (this.filter) {
|
|
56
|
+
return (_a = this.selection) === null || _a === void 0 ? void 0 : _a.map((item) => item.label).toString();
|
|
57
|
+
}
|
|
58
|
+
return (_b = this.selection) === null || _b === void 0 ? void 0 : _b.map((item) => item.label).join(', ');
|
|
59
|
+
};
|
|
60
|
+
this.handleFilter = (event) => {
|
|
61
|
+
this.tdsInput.emit(event);
|
|
62
|
+
const query = event.target.value.toLowerCase();
|
|
63
|
+
/* Check if the query is empty, and if so, show all options */
|
|
64
|
+
if (query === '') {
|
|
65
|
+
this.children = this.children.map((element) => {
|
|
66
|
+
element.removeAttribute('hidden');
|
|
67
|
+
return element;
|
|
68
|
+
});
|
|
69
|
+
this.filterResult = null;
|
|
70
|
+
/* Hide the options that do not match the query */
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.filterResult = this.children.filter((element) => {
|
|
74
|
+
if (!element.textContent.toLowerCase().includes(query.toLowerCase())) {
|
|
75
|
+
element.setAttribute('hidden', '');
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
element.removeAttribute('hidden');
|
|
79
|
+
}
|
|
80
|
+
return !element.hasAttribute('hidden');
|
|
81
|
+
}).length;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
this.handleFocus = (event) => {
|
|
85
|
+
this.tdsFocus.emit(event);
|
|
86
|
+
};
|
|
87
|
+
this.handleBlur = (event) => {
|
|
88
|
+
this.tdsBlur.emit(event);
|
|
89
|
+
};
|
|
90
|
+
this.handleChange = () => {
|
|
91
|
+
var _a, _b;
|
|
92
|
+
this.tdsChange.emit({
|
|
93
|
+
name: this.name,
|
|
94
|
+
value: (_b = (_a = this.selection) === null || _a === void 0 ? void 0 : _a.map((item) => item.value).toString()) !== null && _b !== void 0 ? _b : null,
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
this.name = undefined;
|
|
8
98
|
this.disabled = false;
|
|
9
|
-
this.
|
|
10
|
-
this.size = 'lg';
|
|
11
|
-
this.inline = false;
|
|
12
|
-
this.labelPosition = 'no-label';
|
|
99
|
+
this.helper = undefined;
|
|
13
100
|
this.label = undefined;
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
101
|
+
this.labelPosition = undefined;
|
|
102
|
+
this.modeVariant = null;
|
|
16
103
|
this.openDirection = 'auto';
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
104
|
+
this.placeholder = undefined;
|
|
105
|
+
this.size = 'lg';
|
|
106
|
+
this.error = false;
|
|
107
|
+
this.multiselect = false;
|
|
108
|
+
this.filter = false;
|
|
109
|
+
this.noResultText = 'No result';
|
|
110
|
+
this.defaultValue = undefined;
|
|
111
|
+
this.options = undefined;
|
|
19
112
|
this.open = false;
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
23
|
-
this.selectedValuesArray = [];
|
|
24
|
-
this.selectedLabelsArray = [];
|
|
25
|
-
this.dropdownUniqueClass = '';
|
|
26
|
-
this.openUpwards = false;
|
|
27
|
-
this.dropdownMenuHeight = 0;
|
|
28
|
-
this.dropdownMenuSelector = undefined;
|
|
29
|
-
this.listItemIndex = -1;
|
|
30
|
-
this.listItemArray = undefined;
|
|
31
|
-
this.listItemObject = undefined;
|
|
113
|
+
this.selection = undefined;
|
|
114
|
+
this.filterResult = undefined;
|
|
115
|
+
this.filterFocus = undefined;
|
|
32
116
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
this.
|
|
37
|
-
this.
|
|
38
|
-
this.listItemArray.map((listItem) => {
|
|
39
|
-
this.optionValues.push(listItem.value);
|
|
40
|
-
this.optionLabels.push(listItem.innerText.trim());
|
|
41
|
-
});
|
|
42
|
-
this.setOptionFromOutside(this.defaultOption);
|
|
43
|
-
if (this.size === 'small') {
|
|
44
|
-
this.size = 'sm';
|
|
45
|
-
console.warn('size="small" is deprecated, use size="sm" instead');
|
|
46
|
-
}
|
|
47
|
-
if (this.size === 'medium') {
|
|
48
|
-
this.size = 'md';
|
|
49
|
-
console.warn('size="medium" is deprecated, use size="md" instead');
|
|
50
|
-
}
|
|
51
|
-
if (this.size === 'large') {
|
|
52
|
-
this.size = 'lg';
|
|
53
|
-
console.warn('size="large" is deprecated, use size="lg" instead');
|
|
54
|
-
}
|
|
117
|
+
/** Method that resets the Dropdown. */
|
|
118
|
+
async reset() {
|
|
119
|
+
this.children.forEach((element) => element.setSelected(false));
|
|
120
|
+
this.selection = null;
|
|
121
|
+
this.handleChange();
|
|
55
122
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
for (let i = 0; i < this.host.children.length; i++) {
|
|
63
|
-
// Todo - specify type
|
|
64
|
-
const el = this.host.children[i];
|
|
65
|
-
if (optionValue.includes(el.value.trim())) {
|
|
66
|
-
this.selectedLabelsArray = [...this.selectedLabelsArray, el.textContent.trim()];
|
|
67
|
-
this.selectedValuesArray = [...this.selectedValuesArray, el.value];
|
|
68
|
-
this.selectedLabel = el.textContent;
|
|
69
|
-
this.selectedValue = el.value;
|
|
70
|
-
el.setAttribute('selectedLabel', 'true');
|
|
71
|
-
el.setAttribute('selected', 'true');
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
el.setAttribute('selectedLabel', 'false');
|
|
75
|
-
el.setAttribute('selected', 'false');
|
|
76
|
-
}
|
|
77
|
-
}
|
|
123
|
+
/** Method for setting the value of the Dropdown. */
|
|
124
|
+
async setValue(newValue, newValueLabel) {
|
|
125
|
+
if (this.multiselect) {
|
|
126
|
+
this.selection = this.selection
|
|
127
|
+
? [...this.selection, { value: newValue, label: newValueLabel }]
|
|
128
|
+
: [{ value: newValue, label: newValueLabel }];
|
|
78
129
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
130
|
+
else {
|
|
131
|
+
this.selection = [{ value: newValue, label: newValueLabel }];
|
|
132
|
+
this.children = this.children.map((element) => {
|
|
133
|
+
if (element.value !== newValue) {
|
|
134
|
+
element.setSelected(false);
|
|
135
|
+
}
|
|
136
|
+
return element;
|
|
137
|
+
});
|
|
83
138
|
}
|
|
84
|
-
this.
|
|
85
|
-
this.
|
|
139
|
+
this.handleChange();
|
|
140
|
+
return this.selection;
|
|
86
141
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
142
|
+
/** Method for removing a selected value in the Dropdown. */
|
|
143
|
+
async removeValue(oldValue) {
|
|
144
|
+
if (this.multiselect) {
|
|
145
|
+
this.children.forEach((element) => {
|
|
146
|
+
if (element.value === oldValue) {
|
|
147
|
+
this.selection = this.selection.filter((item) => item.value !== element.value);
|
|
148
|
+
element.setSelected(false);
|
|
149
|
+
}
|
|
150
|
+
});
|
|
95
151
|
}
|
|
96
152
|
else {
|
|
97
|
-
this.
|
|
98
|
-
this.open = false;
|
|
153
|
+
this.reset();
|
|
99
154
|
}
|
|
155
|
+
this.handleChange();
|
|
156
|
+
return this.selection;
|
|
100
157
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
this.listItemIndex = 0;
|
|
112
|
-
}
|
|
113
|
-
this.listItemObject[this.listItemIndex].focus();
|
|
114
|
-
}
|
|
115
|
-
break;
|
|
116
|
-
case 'ArrowUp':
|
|
117
|
-
if (this.open) {
|
|
118
|
-
ev.preventDefault();
|
|
119
|
-
if (this.listItemIndex > 0) {
|
|
120
|
-
this.listItemIndex--;
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
this.listItemIndex = this.listItemArray.length - 1;
|
|
124
|
-
}
|
|
125
|
-
this.listItemObject[this.listItemIndex].focus();
|
|
126
|
-
}
|
|
127
|
-
break;
|
|
128
|
-
case 'Tab':
|
|
129
|
-
this.open = false;
|
|
130
|
-
break;
|
|
131
|
-
case 'Escape':
|
|
132
|
-
this.open = false;
|
|
133
|
-
this.node.focus();
|
|
134
|
-
break;
|
|
135
|
-
default:
|
|
136
|
-
break;
|
|
158
|
+
/** Method for closing the Dropdown. */
|
|
159
|
+
async close() {
|
|
160
|
+
this.open = false;
|
|
161
|
+
}
|
|
162
|
+
onAnyClick(event) {
|
|
163
|
+
if (this.open) {
|
|
164
|
+
// Source: https://lamplightdev.com/blog/2021/04/10/how-to-detect-clicks-outside-of-a-web-component/
|
|
165
|
+
const isClickOutside = !event.composedPath().includes(this.host);
|
|
166
|
+
if (isClickOutside) {
|
|
167
|
+
this.open = false;
|
|
137
168
|
}
|
|
138
169
|
}
|
|
139
170
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
const viewportHeight = window.innerHeight;
|
|
146
|
-
this.openUpwards = distanceToBottom + this.dropdownMenuHeight + 57 > viewportHeight;
|
|
147
|
-
// If summary of Dropdown menu height and its distance to the bottom is more than viewport height, open menu upwards
|
|
148
|
-
// Additional 57px is added as compensation for Dropdown element own input/button height
|
|
149
|
-
// It is added on handleClick due to possible dynamic injection of data when component is already rendered
|
|
171
|
+
async onKeyDown(event) {
|
|
172
|
+
// Get the active element
|
|
173
|
+
const { activeElement } = document;
|
|
174
|
+
if (!activeElement) {
|
|
175
|
+
return;
|
|
150
176
|
}
|
|
151
|
-
|
|
152
|
-
|
|
177
|
+
if (event.key === 'ArrowDown') {
|
|
178
|
+
/* Get the index of the current focus index, if there is no
|
|
179
|
+
nextElementSibling return the index for the first child in our Dropdown. */
|
|
180
|
+
const startingIndex = activeElement.nextElementSibling
|
|
181
|
+
? this.children.findIndex((element) => element === activeElement.nextElementSibling)
|
|
182
|
+
: 0;
|
|
183
|
+
const elementIndex = findNextFocusableItem(this.children, startingIndex);
|
|
184
|
+
this.children[elementIndex].focus();
|
|
153
185
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
this.
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
this.textInput.value = this.selectedLabel;
|
|
163
|
-
}
|
|
186
|
+
else if (event.key === 'ArrowUp') {
|
|
187
|
+
/* Get the index of the current focus index, if there is no
|
|
188
|
+
previousElementSibling return the index for the first last in our Dropdown. */
|
|
189
|
+
const startingIndex = activeElement.nextElementSibling
|
|
190
|
+
? this.children.findIndex((element) => element === activeElement.previousElementSibling)
|
|
191
|
+
: 0;
|
|
192
|
+
const elementIndex = findPreviousFocusableItem(this.children, startingIndex);
|
|
193
|
+
this.children[elementIndex].focus();
|
|
164
194
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
this.open = this.type === 'multiselect';
|
|
168
|
-
if (this.type !== 'multiselect') {
|
|
169
|
-
this.selectedLabel = event.detail.label;
|
|
170
|
-
this.selectedValue = event.detail.value;
|
|
171
|
-
this.tabbingLabelReset();
|
|
195
|
+
else if (event.key === 'Escape') {
|
|
196
|
+
this.open = false;
|
|
172
197
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
this.
|
|
181
|
-
this.selectedLabelsArray = [...this.selectedLabelsArray, event.detail.label.trim()];
|
|
198
|
+
}
|
|
199
|
+
// If the Dropdown gets closed,
|
|
200
|
+
// this sets the value of the dropdown to the current selection labels or null if no selection is made.
|
|
201
|
+
handleOpenState() {
|
|
202
|
+
var _a, _b;
|
|
203
|
+
if (this.filter && this.multiselect) {
|
|
204
|
+
if (!this.open) {
|
|
205
|
+
this.inputElement.value = (_b = (_a = this.selection) === null || _a === void 0 ? void 0 : _a.map((item) => item.label).toString()) !== null && _b !== void 0 ? _b : null;
|
|
182
206
|
}
|
|
183
207
|
}
|
|
184
208
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
this.open = true;
|
|
189
|
-
}
|
|
190
|
-
deselectAll() {
|
|
191
|
-
this.selectedLabel = '';
|
|
192
|
-
this.selectedValue = '';
|
|
193
|
-
this.selectedLabelsArray = [];
|
|
194
|
-
this.selectedValuesArray = [];
|
|
195
|
-
this.listItemArray = this.listItemArray.map((optionItem) => (Object.assign(Object.assign({}, optionItem), { selected: false })));
|
|
196
|
-
}
|
|
197
|
-
async resetOption() {
|
|
198
|
-
this.deselectAll();
|
|
199
|
-
this.open = false;
|
|
200
|
-
if (this.defaultOption) {
|
|
201
|
-
this.setOptionFromOutside(this.defaultOption);
|
|
209
|
+
componentDidLoad() {
|
|
210
|
+
if (this.defaultValue) {
|
|
211
|
+
this.setDefaultOption();
|
|
202
212
|
}
|
|
203
213
|
}
|
|
204
214
|
render() {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
${
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
this.
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
215
|
+
var _a, _b, _c, _d;
|
|
216
|
+
if (this.options) {
|
|
217
|
+
let id = 0;
|
|
218
|
+
this.options.forEach((option) => {
|
|
219
|
+
appendChildElement(this.host, 'tds-dropdown-option', [
|
|
220
|
+
{ key: 'value', value: option.value },
|
|
221
|
+
{ key: 'disabled', value: option.disabled.toString() },
|
|
222
|
+
], option.label, `id${id++}`);
|
|
223
|
+
});
|
|
224
|
+
this.children = Array.from(this.host.children).filter((element) => element.tagName === 'TDS-DROPDOWN-OPTION');
|
|
225
|
+
}
|
|
226
|
+
appendHiddenInput(this.host, this.name, (_a = this.selection) === null || _a === void 0 ? void 0 : _a.map((item) => item.value).toString(), this.disabled);
|
|
227
|
+
return (h(Host, { role: "select", class: `${this.modeVariant ? `tds-mode-variant-${this.modeVariant}` : ''}` }, this.label && this.labelPosition === 'outside' && (h("div", { class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { class: `dropdown-select ${this.size} ${this.disabled ? 'disabled' : ''}` }, this.filter ? (h("div", { class: `filter ${this.filterFocus ? 'focus' : ''}
|
|
228
|
+
${this.disabled ? 'disabled' : ''}` }, h("div", { class: "value-wrapper" }, this.label && this.labelPosition === 'inside' && this.placeholder && (h("div", { class: `label-inside ${this.size}` }, this.label)), this.label && this.labelPosition === 'inside' && !this.placeholder && (h("div", { class: `
|
|
229
|
+
label-inside-as-placeholder
|
|
230
|
+
${this.size}
|
|
231
|
+
${((_b = this.selection) === null || _b === void 0 ? void 0 : _b.length) ? 'selected' : ''}
|
|
232
|
+
` }, this.label)), h("input", {
|
|
233
|
+
// eslint-disable-next-line no-return-assign
|
|
234
|
+
ref: (element) => (this.inputElement = element), class: `${this.labelPosition === 'inside' ? 'placeholder' : ''}`, type: "text", placeholder: this.placeholder, value: this.getValue(), disabled: this.disabled, onInput: (event) => this.handleFilter(event), onBlur: (event) => {
|
|
235
|
+
this.filterFocus = false;
|
|
236
|
+
this.handleBlur(event);
|
|
237
|
+
}, onFocus: (event) => {
|
|
238
|
+
this.open = true;
|
|
239
|
+
this.filterFocus = true;
|
|
240
|
+
this.handleFocus(event);
|
|
241
|
+
}, onKeyDown: (event) => {
|
|
242
|
+
if (event.key === 'Escape') {
|
|
243
|
+
this.open = false;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
})), h("tds-icon", { onClick: () => {
|
|
247
|
+
this.open = !this.open;
|
|
248
|
+
}, class: `${this.open ? 'open' : 'closed'}`, name: "chevron_down", size: "16px" }))) : (h("button", { onClick: () => {
|
|
249
|
+
this.open = !this.open;
|
|
250
|
+
}, onKeyDown: (event) => {
|
|
251
|
+
if (event.key === 'Escape') {
|
|
252
|
+
this.open = false;
|
|
253
|
+
}
|
|
254
|
+
}, class: `
|
|
255
|
+
${this.selection ? 'value' : 'placeholder'}
|
|
256
|
+
${this.open ? 'open' : 'closed'}
|
|
257
|
+
${this.error ? 'error' : ''}
|
|
258
|
+
`, disabled: this.disabled }, h("div", { class: `value-wrapper ${this.size}` }, this.label && this.labelPosition === 'inside' && this.placeholder && (h("div", { class: `label-inside ${this.size}` }, this.label)), this.label && this.labelPosition === 'inside' && !this.placeholder && (h("div", { class: `
|
|
259
|
+
label-inside-as-placeholder
|
|
260
|
+
${this.size}
|
|
261
|
+
${((_c = this.selection) === null || _c === void 0 ? void 0 : _c.length) ? 'selected' : ''}
|
|
262
|
+
` }, this.label)), h("div", { class: `placeholder ${this.size}` }, ((_d = this.selection) === null || _d === void 0 ? void 0 : _d.length) ? this.getValue() : this.placeholder), h("tds-icon", { class: `${this.open ? 'open' : 'closed'}`, name: "chevron_down", size: "16px" }))))), h("div", { ref: (element) => (this.dropdownList = element), class: `dropdown-list
|
|
263
|
+
${this.size}
|
|
264
|
+
${this.open ? 'open' : 'closed'}
|
|
265
|
+
${this.getOpenDirection()}
|
|
266
|
+
${this.label && this.labelPosition === 'outside' ? 'label-outside' : ''}` }, h("slot", null), this.filterResult === 0 && (h("div", { class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { class: `helper ${this.error ? 'error' : ''} ${this.disabled ? 'disabled' : ''}` }, this.error && h("tds-icon", { name: "error", size: "16px" }), this.helper))));
|
|
248
267
|
}
|
|
249
268
|
static get is() { return "tds-dropdown"; }
|
|
250
269
|
static get encapsulation() { return "shadow"; }
|
|
@@ -260,25 +279,42 @@ export class TdsDropdown {
|
|
|
260
279
|
}
|
|
261
280
|
static get properties() {
|
|
262
281
|
return {
|
|
263
|
-
"
|
|
282
|
+
"name": {
|
|
264
283
|
"type": "string",
|
|
265
284
|
"mutable": false,
|
|
266
285
|
"complexType": {
|
|
267
|
-
"original": "
|
|
268
|
-
"resolved": "
|
|
286
|
+
"original": "string",
|
|
287
|
+
"resolved": "string",
|
|
269
288
|
"references": {}
|
|
270
289
|
},
|
|
271
290
|
"required": false,
|
|
272
291
|
"optional": false,
|
|
273
292
|
"docs": {
|
|
274
293
|
"tags": [],
|
|
275
|
-
"text": "
|
|
294
|
+
"text": "Name for the Dropdowns input element."
|
|
276
295
|
},
|
|
277
|
-
"attribute": "
|
|
296
|
+
"attribute": "name",
|
|
297
|
+
"reflect": false
|
|
298
|
+
},
|
|
299
|
+
"disabled": {
|
|
300
|
+
"type": "boolean",
|
|
301
|
+
"mutable": false,
|
|
302
|
+
"complexType": {
|
|
303
|
+
"original": "boolean",
|
|
304
|
+
"resolved": "boolean",
|
|
305
|
+
"references": {}
|
|
306
|
+
},
|
|
307
|
+
"required": false,
|
|
308
|
+
"optional": false,
|
|
309
|
+
"docs": {
|
|
310
|
+
"tags": [],
|
|
311
|
+
"text": "Sets the Dropdown in a disabled state"
|
|
312
|
+
},
|
|
313
|
+
"attribute": "disabled",
|
|
278
314
|
"reflect": false,
|
|
279
|
-
"defaultValue": "
|
|
315
|
+
"defaultValue": "false"
|
|
280
316
|
},
|
|
281
|
-
"
|
|
317
|
+
"helper": {
|
|
282
318
|
"type": "string",
|
|
283
319
|
"mutable": false,
|
|
284
320
|
"complexType": {
|
|
@@ -290,12 +326,12 @@ export class TdsDropdown {
|
|
|
290
326
|
"optional": false,
|
|
291
327
|
"docs": {
|
|
292
328
|
"tags": [],
|
|
293
|
-
"text": "
|
|
329
|
+
"text": "Helper text for the Dropdown."
|
|
294
330
|
},
|
|
295
|
-
"attribute": "
|
|
331
|
+
"attribute": "helper",
|
|
296
332
|
"reflect": false
|
|
297
333
|
},
|
|
298
|
-
"
|
|
334
|
+
"label": {
|
|
299
335
|
"type": "string",
|
|
300
336
|
"mutable": false,
|
|
301
337
|
"complexType": {
|
|
@@ -307,136 +343,136 @@ export class TdsDropdown {
|
|
|
307
343
|
"optional": false,
|
|
308
344
|
"docs": {
|
|
309
345
|
"tags": [],
|
|
310
|
-
"text": "
|
|
346
|
+
"text": "Label text for the Dropdown."
|
|
311
347
|
},
|
|
312
|
-
"attribute": "
|
|
348
|
+
"attribute": "label",
|
|
313
349
|
"reflect": false
|
|
314
350
|
},
|
|
315
|
-
"
|
|
351
|
+
"labelPosition": {
|
|
316
352
|
"type": "string",
|
|
317
353
|
"mutable": false,
|
|
318
354
|
"complexType": {
|
|
319
|
-
"original": "
|
|
320
|
-
"resolved": "
|
|
355
|
+
"original": "'inside' | 'outside'",
|
|
356
|
+
"resolved": "\"inside\" | \"outside\"",
|
|
321
357
|
"references": {}
|
|
322
358
|
},
|
|
323
359
|
"required": false,
|
|
324
360
|
"optional": false,
|
|
325
361
|
"docs": {
|
|
326
362
|
"tags": [],
|
|
327
|
-
"text": "
|
|
363
|
+
"text": "Label text position"
|
|
328
364
|
},
|
|
329
|
-
"attribute": "
|
|
365
|
+
"attribute": "label-position",
|
|
330
366
|
"reflect": false
|
|
331
367
|
},
|
|
332
|
-
"
|
|
333
|
-
"type": "
|
|
368
|
+
"modeVariant": {
|
|
369
|
+
"type": "string",
|
|
334
370
|
"mutable": false,
|
|
335
371
|
"complexType": {
|
|
336
|
-
"original": "
|
|
337
|
-
"resolved": "
|
|
372
|
+
"original": "'primary' | 'secondary'",
|
|
373
|
+
"resolved": "\"primary\" | \"secondary\"",
|
|
338
374
|
"references": {}
|
|
339
375
|
},
|
|
340
376
|
"required": false,
|
|
341
377
|
"optional": false,
|
|
342
378
|
"docs": {
|
|
343
379
|
"tags": [],
|
|
344
|
-
"text": "
|
|
380
|
+
"text": "Mode variant of the component, based on current mode."
|
|
345
381
|
},
|
|
346
|
-
"attribute": "
|
|
382
|
+
"attribute": "mode-variant",
|
|
347
383
|
"reflect": false,
|
|
348
|
-
"defaultValue": "
|
|
384
|
+
"defaultValue": "null"
|
|
349
385
|
},
|
|
350
|
-
"
|
|
386
|
+
"openDirection": {
|
|
351
387
|
"type": "string",
|
|
352
388
|
"mutable": false,
|
|
353
389
|
"complexType": {
|
|
354
|
-
"original": "'
|
|
355
|
-
"resolved": "\"
|
|
390
|
+
"original": "'up' | 'down' | 'auto'",
|
|
391
|
+
"resolved": "\"auto\" | \"down\" | \"up\"",
|
|
356
392
|
"references": {}
|
|
357
393
|
},
|
|
358
394
|
"required": false,
|
|
359
395
|
"optional": false,
|
|
360
396
|
"docs": {
|
|
361
397
|
"tags": [],
|
|
362
|
-
"text": "
|
|
398
|
+
"text": "The direction the Dropdown should open, auto if not specified."
|
|
363
399
|
},
|
|
364
|
-
"attribute": "
|
|
400
|
+
"attribute": "open-direction",
|
|
365
401
|
"reflect": false,
|
|
366
|
-
"defaultValue": "'
|
|
402
|
+
"defaultValue": "'auto'"
|
|
367
403
|
},
|
|
368
|
-
"
|
|
404
|
+
"placeholder": {
|
|
369
405
|
"type": "string",
|
|
370
406
|
"mutable": false,
|
|
371
407
|
"complexType": {
|
|
372
|
-
"original": "
|
|
373
|
-
"resolved": "
|
|
408
|
+
"original": "string",
|
|
409
|
+
"resolved": "string",
|
|
374
410
|
"references": {}
|
|
375
411
|
},
|
|
376
412
|
"required": false,
|
|
377
413
|
"optional": false,
|
|
378
414
|
"docs": {
|
|
379
415
|
"tags": [],
|
|
380
|
-
"text": "
|
|
416
|
+
"text": "Placeholder text for the Dropdown."
|
|
381
417
|
},
|
|
382
|
-
"attribute": "
|
|
383
|
-
"reflect": false
|
|
384
|
-
"defaultValue": "'lg'"
|
|
418
|
+
"attribute": "placeholder",
|
|
419
|
+
"reflect": false
|
|
385
420
|
},
|
|
386
|
-
"
|
|
387
|
-
"type": "
|
|
421
|
+
"size": {
|
|
422
|
+
"type": "string",
|
|
388
423
|
"mutable": false,
|
|
389
424
|
"complexType": {
|
|
390
|
-
"original": "
|
|
391
|
-
"resolved": "
|
|
425
|
+
"original": "'sm' | 'md' | 'lg'",
|
|
426
|
+
"resolved": "\"lg\" | \"md\" | \"sm\"",
|
|
392
427
|
"references": {}
|
|
393
428
|
},
|
|
394
429
|
"required": false,
|
|
395
430
|
"optional": false,
|
|
396
431
|
"docs": {
|
|
397
432
|
"tags": [],
|
|
398
|
-
"text": "
|
|
433
|
+
"text": "The size of the Dropdown."
|
|
399
434
|
},
|
|
400
|
-
"attribute": "
|
|
435
|
+
"attribute": "size",
|
|
401
436
|
"reflect": false,
|
|
402
|
-
"defaultValue": "
|
|
437
|
+
"defaultValue": "'lg'"
|
|
403
438
|
},
|
|
404
|
-
"
|
|
405
|
-
"type": "
|
|
439
|
+
"error": {
|
|
440
|
+
"type": "boolean",
|
|
406
441
|
"mutable": false,
|
|
407
442
|
"complexType": {
|
|
408
|
-
"original": "
|
|
409
|
-
"resolved": "
|
|
443
|
+
"original": "boolean",
|
|
444
|
+
"resolved": "boolean",
|
|
410
445
|
"references": {}
|
|
411
446
|
},
|
|
412
447
|
"required": false,
|
|
413
448
|
"optional": false,
|
|
414
449
|
"docs": {
|
|
415
450
|
"tags": [],
|
|
416
|
-
"text": "
|
|
451
|
+
"text": "Sets the Dropdown in an error state"
|
|
417
452
|
},
|
|
418
|
-
"attribute": "
|
|
453
|
+
"attribute": "error",
|
|
419
454
|
"reflect": false,
|
|
420
|
-
"defaultValue": "
|
|
455
|
+
"defaultValue": "false"
|
|
421
456
|
},
|
|
422
|
-
"
|
|
423
|
-
"type": "
|
|
457
|
+
"multiselect": {
|
|
458
|
+
"type": "boolean",
|
|
424
459
|
"mutable": false,
|
|
425
460
|
"complexType": {
|
|
426
|
-
"original": "
|
|
427
|
-
"resolved": "
|
|
461
|
+
"original": "boolean",
|
|
462
|
+
"resolved": "boolean",
|
|
428
463
|
"references": {}
|
|
429
464
|
},
|
|
430
465
|
"required": false,
|
|
431
466
|
"optional": false,
|
|
432
467
|
"docs": {
|
|
433
468
|
"tags": [],
|
|
434
|
-
"text": "
|
|
469
|
+
"text": "Enables multiselect in the Dropdown."
|
|
435
470
|
},
|
|
436
|
-
"attribute": "
|
|
437
|
-
"reflect": false
|
|
471
|
+
"attribute": "multiselect",
|
|
472
|
+
"reflect": false,
|
|
473
|
+
"defaultValue": "false"
|
|
438
474
|
},
|
|
439
|
-
"
|
|
475
|
+
"filter": {
|
|
440
476
|
"type": "boolean",
|
|
441
477
|
"mutable": false,
|
|
442
478
|
"complexType": {
|
|
@@ -448,13 +484,13 @@ export class TdsDropdown {
|
|
|
448
484
|
"optional": false,
|
|
449
485
|
"docs": {
|
|
450
486
|
"tags": [],
|
|
451
|
-
"text": "
|
|
487
|
+
"text": "Enables filtration in the Dropdown."
|
|
452
488
|
},
|
|
453
|
-
"attribute": "
|
|
489
|
+
"attribute": "filter",
|
|
454
490
|
"reflect": false,
|
|
455
491
|
"defaultValue": "false"
|
|
456
492
|
},
|
|
457
|
-
"
|
|
493
|
+
"noResultText": {
|
|
458
494
|
"type": "string",
|
|
459
495
|
"mutable": false,
|
|
460
496
|
"complexType": {
|
|
@@ -466,75 +502,136 @@ export class TdsDropdown {
|
|
|
466
502
|
"optional": false,
|
|
467
503
|
"docs": {
|
|
468
504
|
"tags": [],
|
|
469
|
-
"text": "
|
|
505
|
+
"text": "Text that is displayed if filter is used and there are no options that matches the search."
|
|
470
506
|
},
|
|
471
|
-
"attribute": "
|
|
507
|
+
"attribute": "no-result-text",
|
|
472
508
|
"reflect": false,
|
|
473
|
-
"defaultValue": "''"
|
|
509
|
+
"defaultValue": "'No result'"
|
|
474
510
|
},
|
|
475
|
-
"
|
|
511
|
+
"defaultValue": {
|
|
476
512
|
"type": "string",
|
|
477
513
|
"mutable": false,
|
|
478
514
|
"complexType": {
|
|
479
|
-
"original": "
|
|
480
|
-
"resolved": "
|
|
515
|
+
"original": "string",
|
|
516
|
+
"resolved": "string",
|
|
481
517
|
"references": {}
|
|
482
518
|
},
|
|
483
519
|
"required": false,
|
|
484
520
|
"optional": false,
|
|
485
521
|
"docs": {
|
|
486
522
|
"tags": [],
|
|
487
|
-
"text": "
|
|
523
|
+
"text": "Default value selected in the Dropdown."
|
|
488
524
|
},
|
|
489
|
-
"attribute": "
|
|
490
|
-
"reflect": false
|
|
491
|
-
|
|
525
|
+
"attribute": "default-value",
|
|
526
|
+
"reflect": false
|
|
527
|
+
},
|
|
528
|
+
"options": {
|
|
529
|
+
"type": "unknown",
|
|
530
|
+
"mutable": false,
|
|
531
|
+
"complexType": {
|
|
532
|
+
"original": "Array<{ value: string; label: string; disabled: boolean }>",
|
|
533
|
+
"resolved": "{ value: string; label: string; disabled: boolean; }[]",
|
|
534
|
+
"references": {
|
|
535
|
+
"Array": {
|
|
536
|
+
"location": "global"
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
},
|
|
540
|
+
"required": false,
|
|
541
|
+
"optional": false,
|
|
542
|
+
"docs": {
|
|
543
|
+
"tags": [],
|
|
544
|
+
"text": "Populate the Dropdown via a JSON array"
|
|
545
|
+
}
|
|
492
546
|
}
|
|
493
547
|
};
|
|
494
548
|
}
|
|
495
549
|
static get states() {
|
|
496
550
|
return {
|
|
497
|
-
"optionValues": {},
|
|
498
|
-
"optionLabels": {},
|
|
499
551
|
"open": {},
|
|
500
|
-
"
|
|
501
|
-
"
|
|
502
|
-
"
|
|
503
|
-
"selectedValuesArray": {},
|
|
504
|
-
"selectedLabelsArray": {},
|
|
505
|
-
"dropdownUniqueClass": {},
|
|
506
|
-
"openUpwards": {},
|
|
507
|
-
"dropdownMenuHeight": {},
|
|
508
|
-
"dropdownMenuSelector": {},
|
|
509
|
-
"listItemIndex": {},
|
|
510
|
-
"listItemArray": {},
|
|
511
|
-
"listItemObject": {}
|
|
552
|
+
"selection": {},
|
|
553
|
+
"filterResult": {},
|
|
554
|
+
"filterFocus": {}
|
|
512
555
|
};
|
|
513
556
|
}
|
|
514
557
|
static get events() {
|
|
515
558
|
return [{
|
|
516
|
-
"method": "
|
|
517
|
-
"name": "
|
|
559
|
+
"method": "tdsChange",
|
|
560
|
+
"name": "tdsChange",
|
|
518
561
|
"bubbles": true,
|
|
519
562
|
"cancelable": false,
|
|
520
563
|
"composed": true,
|
|
521
564
|
"docs": {
|
|
522
|
-
"tags": [
|
|
523
|
-
|
|
524
|
-
"text": "Search event that is emitted to the tds-dropdown-filter"
|
|
525
|
-
}],
|
|
526
|
-
"text": ""
|
|
565
|
+
"tags": [],
|
|
566
|
+
"text": "Change event for the Dropdown."
|
|
527
567
|
},
|
|
528
568
|
"complexType": {
|
|
529
|
-
"original": "
|
|
530
|
-
"resolved": "
|
|
569
|
+
"original": "{\n name: string;\n value: string;\n }",
|
|
570
|
+
"resolved": "{ name: string; value: string; }",
|
|
531
571
|
"references": {}
|
|
532
572
|
}
|
|
573
|
+
}, {
|
|
574
|
+
"method": "tdsFocus",
|
|
575
|
+
"name": "tdsFocus",
|
|
576
|
+
"bubbles": true,
|
|
577
|
+
"cancelable": false,
|
|
578
|
+
"composed": true,
|
|
579
|
+
"docs": {
|
|
580
|
+
"tags": [],
|
|
581
|
+
"text": "Focus event for the Dropdown."
|
|
582
|
+
},
|
|
583
|
+
"complexType": {
|
|
584
|
+
"original": "FocusEvent",
|
|
585
|
+
"resolved": "FocusEvent",
|
|
586
|
+
"references": {
|
|
587
|
+
"FocusEvent": {
|
|
588
|
+
"location": "global"
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
}, {
|
|
593
|
+
"method": "tdsBlur",
|
|
594
|
+
"name": "tdsBlur",
|
|
595
|
+
"bubbles": true,
|
|
596
|
+
"cancelable": false,
|
|
597
|
+
"composed": true,
|
|
598
|
+
"docs": {
|
|
599
|
+
"tags": [],
|
|
600
|
+
"text": "Blur event for the Dropdown."
|
|
601
|
+
},
|
|
602
|
+
"complexType": {
|
|
603
|
+
"original": "FocusEvent",
|
|
604
|
+
"resolved": "FocusEvent",
|
|
605
|
+
"references": {
|
|
606
|
+
"FocusEvent": {
|
|
607
|
+
"location": "global"
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
}, {
|
|
612
|
+
"method": "tdsInput",
|
|
613
|
+
"name": "tdsInput",
|
|
614
|
+
"bubbles": true,
|
|
615
|
+
"cancelable": false,
|
|
616
|
+
"composed": true,
|
|
617
|
+
"docs": {
|
|
618
|
+
"tags": [],
|
|
619
|
+
"text": "Input event for the Dropdown."
|
|
620
|
+
},
|
|
621
|
+
"complexType": {
|
|
622
|
+
"original": "InputEvent",
|
|
623
|
+
"resolved": "InputEvent",
|
|
624
|
+
"references": {
|
|
625
|
+
"InputEvent": {
|
|
626
|
+
"location": "global"
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
}
|
|
533
630
|
}];
|
|
534
631
|
}
|
|
535
632
|
static get methods() {
|
|
536
633
|
return {
|
|
537
|
-
"
|
|
634
|
+
"reset": {
|
|
538
635
|
"complexType": {
|
|
539
636
|
"signature": "() => Promise<void>",
|
|
540
637
|
"parameters": [],
|
|
@@ -546,7 +643,67 @@ export class TdsDropdown {
|
|
|
546
643
|
"return": "Promise<void>"
|
|
547
644
|
},
|
|
548
645
|
"docs": {
|
|
549
|
-
"text": "",
|
|
646
|
+
"text": "Method that resets the Dropdown.",
|
|
647
|
+
"tags": []
|
|
648
|
+
}
|
|
649
|
+
},
|
|
650
|
+
"setValue": {
|
|
651
|
+
"complexType": {
|
|
652
|
+
"signature": "(newValue: string, newValueLabel: string) => Promise<{ value: string; label: string; }[]>",
|
|
653
|
+
"parameters": [{
|
|
654
|
+
"tags": [],
|
|
655
|
+
"text": ""
|
|
656
|
+
}, {
|
|
657
|
+
"tags": [],
|
|
658
|
+
"text": ""
|
|
659
|
+
}],
|
|
660
|
+
"references": {
|
|
661
|
+
"Promise": {
|
|
662
|
+
"location": "global"
|
|
663
|
+
},
|
|
664
|
+
"HTMLTdsDropdownOptionElement": {
|
|
665
|
+
"location": "global"
|
|
666
|
+
}
|
|
667
|
+
},
|
|
668
|
+
"return": "Promise<{ value: string; label: string; }[]>"
|
|
669
|
+
},
|
|
670
|
+
"docs": {
|
|
671
|
+
"text": "Method for setting the value of the Dropdown.",
|
|
672
|
+
"tags": []
|
|
673
|
+
}
|
|
674
|
+
},
|
|
675
|
+
"removeValue": {
|
|
676
|
+
"complexType": {
|
|
677
|
+
"signature": "(oldValue: string) => Promise<{ value: string; label: string; }[]>",
|
|
678
|
+
"parameters": [{
|
|
679
|
+
"tags": [],
|
|
680
|
+
"text": ""
|
|
681
|
+
}],
|
|
682
|
+
"references": {
|
|
683
|
+
"Promise": {
|
|
684
|
+
"location": "global"
|
|
685
|
+
}
|
|
686
|
+
},
|
|
687
|
+
"return": "Promise<{ value: string; label: string; }[]>"
|
|
688
|
+
},
|
|
689
|
+
"docs": {
|
|
690
|
+
"text": "Method for removing a selected value in the Dropdown.",
|
|
691
|
+
"tags": []
|
|
692
|
+
}
|
|
693
|
+
},
|
|
694
|
+
"close": {
|
|
695
|
+
"complexType": {
|
|
696
|
+
"signature": "() => Promise<void>",
|
|
697
|
+
"parameters": [],
|
|
698
|
+
"references": {
|
|
699
|
+
"Promise": {
|
|
700
|
+
"location": "global"
|
|
701
|
+
}
|
|
702
|
+
},
|
|
703
|
+
"return": "Promise<void>"
|
|
704
|
+
},
|
|
705
|
+
"docs": {
|
|
706
|
+
"text": "Method for closing the Dropdown.",
|
|
550
707
|
"tags": []
|
|
551
708
|
}
|
|
552
709
|
}
|
|
@@ -555,26 +712,20 @@ export class TdsDropdown {
|
|
|
555
712
|
static get elementRef() { return "host"; }
|
|
556
713
|
static get watchers() {
|
|
557
714
|
return [{
|
|
558
|
-
"propName": "
|
|
559
|
-
"methodName": "
|
|
715
|
+
"propName": "open",
|
|
716
|
+
"methodName": "handleOpenState"
|
|
560
717
|
}];
|
|
561
718
|
}
|
|
562
719
|
static get listeners() {
|
|
563
720
|
return [{
|
|
564
|
-
"name": "
|
|
565
|
-
"method": "
|
|
566
|
-
"target": "
|
|
721
|
+
"name": "mousedown",
|
|
722
|
+
"method": "onAnyClick",
|
|
723
|
+
"target": "window",
|
|
567
724
|
"capture": false,
|
|
568
|
-
"passive":
|
|
725
|
+
"passive": true
|
|
569
726
|
}, {
|
|
570
727
|
"name": "keydown",
|
|
571
|
-
"method": "
|
|
572
|
-
"target": undefined,
|
|
573
|
-
"capture": false,
|
|
574
|
-
"passive": false
|
|
575
|
-
}, {
|
|
576
|
-
"name": "internalTdsSelect",
|
|
577
|
-
"method": "selectOptionHandler",
|
|
728
|
+
"method": "onKeyDown",
|
|
578
729
|
"target": undefined,
|
|
579
730
|
"capture": false,
|
|
580
731
|
"passive": false
|