@scania/tegel 1.47.2 → 1.48.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/README.md +4 -0
- package/dist/cjs/index-DGsdvbvx.js +2521 -0
- package/dist/cjs/{inheritAriaAttributes-dedbbc57.js → inheritAriaAttributes-D_xFGssc.js} +1 -1
- package/dist/cjs/{isHeadingElement-4f06b688.js → isHeadingElement-DihKNeqS.js} +1 -1
- package/dist/cjs/loader.cjs.js +3 -6
- package/dist/cjs/tds-accordion-item.cjs.entry.js +10 -7
- package/dist/cjs/tds-accordion.cjs.entry.js +5 -6
- package/dist/cjs/tds-badge.cjs.entry.js +13 -8
- package/dist/cjs/tds-banner.cjs.entry.js +19 -15
- package/dist/cjs/tds-block.cjs.entry.js +5 -6
- package/dist/cjs/tds-body-cell.cjs.entry.js +4 -9
- package/dist/cjs/tds-breadcrumb.cjs.entry.js +4 -6
- package/dist/cjs/tds-breadcrumbs.cjs.entry.js +3 -7
- package/dist/cjs/tds-button_2.cjs.entry.js +15 -14
- package/dist/cjs/tds-card.cjs.entry.js +29 -20
- package/dist/cjs/tds-checkbox.cjs.entry.js +17 -17
- package/dist/cjs/tds-chip.cjs.entry.js +19 -16
- package/dist/cjs/tds-core-header-item_2.cjs.entry.js +9 -10
- package/dist/cjs/tds-datetime.cjs.entry.js +30 -24
- package/dist/cjs/tds-dropdown_2.cjs.entry.js +67 -62
- package/dist/cjs/tds-folder-tab.cjs.entry.js +4 -7
- package/dist/cjs/tds-folder-tabs.cjs.entry.js +40 -38
- package/dist/cjs/tds-footer-group.cjs.entry.js +8 -11
- package/dist/cjs/tds-footer-item.cjs.entry.js +3 -6
- package/dist/cjs/tds-footer.cjs.entry.js +6 -8
- package/dist/cjs/tds-header-brand-symbol.cjs.entry.js +3 -6
- package/dist/cjs/tds-header-cell.cjs.entry.js +20 -23
- package/dist/cjs/tds-header-dropdown-list-item.cjs.entry.js +5 -6
- package/dist/cjs/tds-header-dropdown-list-user.cjs.entry.js +3 -10
- package/dist/cjs/tds-header-dropdown-list.cjs.entry.js +6 -9
- package/dist/cjs/tds-header-dropdown.cjs.entry.js +9 -13
- package/dist/cjs/tds-header-hamburger.cjs.entry.js +5 -9
- package/dist/cjs/tds-header-launcher-button.cjs.entry.js +7 -9
- package/dist/cjs/tds-header-launcher-grid-item.cjs.entry.js +3 -6
- package/dist/cjs/tds-header-launcher-grid-title.cjs.entry.js +4 -7
- package/dist/cjs/tds-header-launcher-grid.cjs.entry.js +5 -9
- package/dist/cjs/tds-header-launcher-list-item.cjs.entry.js +3 -6
- package/dist/cjs/tds-header-launcher-list-title.cjs.entry.js +4 -7
- package/dist/cjs/tds-header-launcher-list.cjs.entry.js +2 -4
- package/dist/cjs/tds-header-launcher.cjs.entry.js +7 -12
- package/dist/cjs/tds-header-title.cjs.entry.js +3 -6
- package/dist/cjs/tds-header.cjs.entry.js +5 -8
- package/dist/cjs/tds-icon.cjs.entry.js +14 -17
- package/dist/cjs/tds-inline-tab.cjs.entry.js +4 -6
- package/dist/cjs/tds-inline-tabs.cjs.entry.js +42 -39
- package/dist/cjs/tds-link.cjs.entry.js +6 -6
- package/dist/cjs/tds-message.cjs.entry.js +14 -14
- package/dist/cjs/tds-modal.cjs.entry.js +93 -47
- package/dist/cjs/tds-navigation-tab.cjs.entry.js +4 -6
- package/dist/cjs/tds-navigation-tabs.cjs.entry.js +43 -40
- package/dist/cjs/tds-popover-canvas.cjs.entry.js +17 -11
- package/dist/cjs/tds-popover-core.cjs.entry.js +53 -40
- package/dist/cjs/tds-popover-menu-item.cjs.entry.js +4 -6
- package/dist/cjs/tds-popover-menu.cjs.entry.js +16 -11
- package/dist/cjs/tds-radio-button.cjs.entry.js +12 -15
- package/dist/cjs/tds-side-menu-close-button.cjs.entry.js +5 -8
- package/dist/cjs/tds-side-menu-collapse-button.cjs.entry.js +4 -7
- package/dist/cjs/tds-side-menu-dropdown-list-item.cjs.entry.js +4 -6
- package/dist/cjs/tds-side-menu-dropdown-list.cjs.entry.js +3 -6
- package/dist/cjs/tds-side-menu-dropdown.cjs.entry.js +6 -7
- package/dist/cjs/tds-side-menu-item.cjs.entry.js +7 -7
- package/dist/cjs/tds-side-menu-overlay.cjs.entry.js +3 -6
- package/dist/cjs/tds-side-menu-user-image_2.cjs.entry.js +5 -13
- package/dist/cjs/tds-side-menu-user.cjs.entry.js +3 -10
- package/dist/cjs/tds-side-menu.cjs.entry.js +22 -15
- package/dist/cjs/tds-slider.cjs.entry.js +43 -26
- package/dist/cjs/tds-spinner.cjs.entry.js +5 -6
- package/dist/cjs/tds-step.cjs.entry.js +4 -12
- package/dist/cjs/tds-stepper.cjs.entry.js +26 -11
- package/dist/cjs/tds-table-body-input-wrapper.cjs.entry.js +4 -6
- package/dist/cjs/tds-table-body-row-expandable.cjs.entry.js +15 -9
- package/dist/cjs/tds-table-body-row.cjs.entry.js +6 -6
- package/dist/cjs/tds-table-body.cjs.entry.js +8 -11
- package/dist/cjs/tds-table-footer.cjs.entry.js +23 -18
- package/dist/cjs/tds-table-header-input-wrapper.cjs.entry.js +4 -6
- package/dist/cjs/tds-table-header.cjs.entry.js +6 -7
- package/dist/cjs/tds-table-toolbar.cjs.entry.js +6 -6
- package/dist/cjs/tds-table.cjs.entry.js +46 -16
- package/dist/cjs/tds-tag.cjs.entry.js +6 -8
- package/dist/cjs/tds-text-field.cjs.entry.js +24 -15
- package/dist/cjs/tds-textarea.cjs.entry.js +18 -13
- package/dist/cjs/tds-toast.cjs.entry.js +17 -17
- package/dist/cjs/tds-toggle.cjs.entry.js +14 -15
- package/dist/cjs/tds-tooltip.cjs.entry.js +20 -18
- package/dist/cjs/tegel.cjs.js +7 -8
- package/dist/collection/assets/icons/scania/microphone.svg +4 -0
- package/dist/collection/assets/icons/scania/microphone_inactive.svg +7 -0
- package/dist/collection/assets/icons/scania/notification_snooze.svg +6 -0
- package/dist/collection/assets/icons/scania/paperclip.svg +3 -0
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/accordion/accordion-item/accordion-item.js +24 -6
- package/dist/collection/components/accordion/accordion.js +8 -2
- package/dist/collection/components/badge/badge.js +16 -4
- package/dist/collection/components/banner/banner.js +41 -19
- package/dist/collection/components/block/block.js +8 -2
- package/dist/collection/components/breadcrumbs/breadcrumb/breadcrumb.js +4 -1
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +4 -5
- package/dist/collection/components/button/button.js +44 -19
- package/dist/collection/components/card/card.js +64 -28
- package/dist/collection/components/checkbox/checkbox.js +41 -22
- package/dist/collection/components/chip/chip.css +4 -0
- package/dist/collection/components/chip/chip.js +41 -19
- package/dist/collection/components/datetime/datetime.js +78 -37
- package/dist/collection/components/divider/divider.js +8 -2
- package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js +31 -25
- package/dist/collection/components/dropdown/dropdown.js +90 -50
- package/dist/collection/components/footer/footer-group/footer-group.js +12 -8
- package/dist/collection/components/footer/footer.js +5 -2
- package/dist/collection/components/header/header-dropdown/header-dropdown.js +19 -12
- package/dist/collection/components/header/header-dropdown-list/header-dropdown-list.js +4 -2
- package/dist/collection/components/header/header-dropdown-list-item/header-dropdown-list-item.js +8 -2
- package/dist/collection/components/header/header-dropdown-list-user/header-dropdown-list-user.js +16 -14
- package/dist/collection/components/header/header-hamburger/header-hamburger.js +4 -5
- package/dist/collection/components/header/header-item/header-item.js +9 -2
- package/dist/collection/components/header/header-launcher/header-launcher.js +5 -5
- package/dist/collection/components/header/header-launcher-button/header-launcher-button.js +9 -4
- package/dist/collection/components/header/header-launcher-grid/header-launcher-grid.js +0 -3
- package/dist/collection/components/icon/icon.js +29 -16
- package/dist/collection/components/icon/scaniaIconsArray.js +2 -252
- package/dist/collection/components/icon/tratonIconsArray.js +2 -32
- package/dist/collection/components/link/link.js +12 -3
- package/dist/collection/components/message/message.css +6 -6
- package/dist/collection/components/message/message.js +33 -16
- package/dist/collection/components/modal/modal.js +119 -51
- package/dist/collection/components/popover-canvas/popover-canvas.js +48 -16
- package/dist/collection/components/popover-core/popover-core.js +63 -30
- package/dist/collection/components/popover-menu/popover-menu-item/popover-menu-item.js +4 -1
- package/dist/collection/components/popover-menu/popover-menu.js +45 -16
- package/dist/collection/components/radio-button/radio-button.css +14 -14
- package/dist/collection/components/radio-button/radio-button.js +36 -20
- package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +5 -3
- package/dist/collection/components/side-menu/side-menu-dropdown/side-menu-dropdown.js +16 -6
- package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.js +4 -1
- package/dist/collection/components/side-menu/side-menu-item/side-menu-item.js +9 -2
- package/dist/collection/components/side-menu/side-menu-user/side-menu-user.js +16 -14
- package/dist/collection/components/side-menu/side-menu-user-image/side-menu-user-image.js +8 -8
- package/dist/collection/components/side-menu/side-menu-user-label/side-menu-user-label.js +8 -8
- package/dist/collection/components/side-menu/side-menu.js +22 -10
- package/dist/collection/components/slider/slider.js +90 -36
- package/dist/collection/components/spinner/spinner.js +8 -2
- package/dist/collection/components/stepper/step/step.css +65 -16
- package/dist/collection/components/stepper/step/step.js +12 -11
- package/dist/collection/components/stepper/stepper.js +28 -6
- package/dist/collection/components/table/table/table.js +49 -12
- package/dist/collection/components/table/table-body/table-body.js +5 -5
- package/dist/collection/components/table/table-body-cell/table-body-cell.js +18 -11
- package/dist/collection/components/table/table-body-input-wrapper/table-body-input-wrapper.js +4 -1
- package/dist/collection/components/table/table-body-row/table-body-row.js +12 -3
- package/dist/collection/components/table/table-body-row-expandable/table-body-row-expandable.js +27 -8
- package/dist/collection/components/table/table-footer/table-footer.js +37 -17
- package/dist/collection/components/table/table-header/table-header.js +16 -6
- package/dist/collection/components/table/table-header-cell/table-header-cell.js +43 -28
- package/dist/collection/components/table/table-header-input-wrapper/table-header-input-wrapper.js +7 -2
- package/dist/collection/components/table/table-toolbar/table-toolbar.js +12 -3
- package/dist/collection/components/tabs/folder-tabs/folder-tab/folder-tab.js +4 -2
- package/dist/collection/components/tabs/folder-tabs/folder-tabs.js +50 -37
- package/dist/collection/components/tabs/inline-tabs/inline-tab/inline-tab.js +4 -1
- package/dist/collection/components/tabs/inline-tabs/inline-tabs.js +55 -39
- package/dist/collection/components/tabs/navigation-tabs/navigation-tab/navigation-tab.js +4 -1
- package/dist/collection/components/tabs/navigation-tabs/navigation-tabs.js +56 -40
- package/dist/collection/components/tag/tag.js +12 -5
- package/dist/collection/components/text-field/text-field.js +94 -36
- package/dist/collection/components/textarea/textarea.js +69 -27
- package/dist/collection/components/toast/toast.js +42 -21
- package/dist/collection/components/toggle/toggle.js +37 -19
- package/dist/collection/components/tooltip/tooltip.js +53 -25
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -1
- package/dist/components/p-9AbeYlK8.js +1 -0
- package/dist/components/p-BFcLEwMn.js +1 -0
- package/dist/components/p-BWqvStj8.js +1 -0
- package/dist/components/p-BfVaBQQ6.js +1 -0
- package/dist/components/p-BrDlXJ4P.js +1 -0
- package/dist/components/p-BuqEW3pN.js +1 -0
- package/dist/components/p-C0fx1H4h.js +1 -0
- package/dist/components/p-CBZ6wC3m.js +1 -0
- package/dist/components/p-CLzENrFV.js +1 -0
- package/dist/components/p-CWEJdWOg.js +1 -0
- package/dist/components/p-Civ53ZSy.js +1 -0
- package/dist/components/p-CuIyaNyT.js +1 -0
- package/dist/components/p-D0Aaqu_c.js +1 -0
- package/dist/components/p-DC6RGvDS.js +1 -0
- package/dist/components/p-Dgt5K9eM.js +1 -0
- package/dist/components/p-Dh34QRlJ.js +1 -0
- package/dist/components/p-MrnWQiwK.js +1 -0
- package/dist/components/p-OdH1OynJ.js +1 -0
- package/dist/{tegel/p-0bd4c19c.js → components/p-Q3W78DlP.js} +1 -1
- package/dist/components/p-Zx1hN-_O.js +1 -0
- package/dist/components/p-dspMBqQE.js +1 -0
- package/dist/components/tds-accordion-item.js +1 -98
- package/dist/components/tds-accordion.js +1 -44
- package/dist/components/tds-badge.js +1 -76
- package/dist/components/tds-banner.js +1 -93
- package/dist/components/tds-block.js +1 -63
- package/dist/components/tds-body-cell.js +1 -131
- package/dist/components/tds-breadcrumb.js +1 -38
- package/dist/components/tds-breadcrumbs.js +1 -41
- package/dist/components/tds-button.js +1 -6
- package/dist/components/tds-card.js +1 -112
- package/dist/components/tds-checkbox.js +1 -6
- package/dist/components/tds-chip.js +1 -120
- package/dist/components/tds-core-header-item.js +1 -6
- package/dist/components/tds-datetime.js +1 -198
- package/dist/components/tds-divider.js +1 -6
- package/dist/components/tds-dropdown-option.js +1 -6
- package/dist/components/tds-dropdown.js +1 -6
- package/dist/components/tds-folder-tab.js +1 -74
- package/dist/components/tds-folder-tabs.js +1 -228
- package/dist/components/tds-footer-group.js +1 -87
- package/dist/components/tds-footer-item.js +1 -44
- package/dist/components/tds-footer.js +1 -47
- package/dist/components/tds-header-brand-symbol.js +1 -52
- package/dist/components/tds-header-cell.js +1 -187
- package/dist/components/tds-header-dropdown-list-item.js +1 -6
- package/dist/components/tds-header-dropdown-list-user.js +1 -45
- package/dist/components/tds-header-dropdown-list.js +1 -6
- package/dist/components/tds-header-dropdown.js +1 -127
- package/dist/components/tds-header-hamburger.js +1 -59
- package/dist/components/tds-header-item.js +1 -6
- package/dist/components/tds-header-launcher-button.js +1 -6
- package/dist/components/tds-header-launcher-grid-item.js +1 -35
- package/dist/components/tds-header-launcher-grid-title.js +1 -36
- package/dist/components/tds-header-launcher-grid.js +1 -58
- package/dist/components/tds-header-launcher-list-item.js +1 -41
- package/dist/components/tds-header-launcher-list-title.js +1 -37
- package/dist/components/tds-header-launcher-list.js +1 -38
- package/dist/components/tds-header-launcher.js +1 -134
- package/dist/components/tds-header-title.js +1 -35
- package/dist/components/tds-header.js +1 -74
- package/dist/components/tds-icon.js +1 -6
- package/dist/components/tds-inline-tab.js +1 -68
- package/dist/components/tds-inline-tabs.js +1 -234
- package/dist/components/tds-link.js +1 -64
- package/dist/components/tds-message.js +1 -84
- package/dist/components/tds-modal.js +1 -262
- package/dist/components/tds-navigation-tab.js +1 -65
- package/dist/components/tds-navigation-tabs.js +1 -240
- package/dist/components/tds-popover-canvas.js +1 -6
- package/dist/components/tds-popover-core.js +1 -6
- package/dist/components/tds-popover-menu-item.js +1 -41
- package/dist/components/tds-popover-menu.js +1 -84
- package/dist/components/tds-radio-button.js +1 -70
- package/dist/components/tds-side-menu-close-button.js +1 -53
- package/dist/components/tds-side-menu-collapse-button.js +1 -74
- package/dist/components/tds-side-menu-dropdown-list-item.js +1 -78
- package/dist/components/tds-side-menu-dropdown-list.js +1 -49
- package/dist/components/tds-side-menu-dropdown.js +1 -113
- package/dist/components/tds-side-menu-item.js +1 -6
- package/dist/components/tds-side-menu-overlay.js +1 -35
- package/dist/components/tds-side-menu-user-image.js +1 -6
- package/dist/components/tds-side-menu-user-label.js +1 -6
- package/dist/components/tds-side-menu-user.js +1 -56
- package/dist/components/tds-side-menu.js +1 -193
- package/dist/components/tds-slider.js +1 -545
- package/dist/components/tds-spinner.js +1 -39
- package/dist/components/tds-step.js +1 -86
- package/dist/components/tds-stepper.js +1 -95
- package/dist/components/tds-table-body-input-wrapper.js +1 -130
- package/dist/components/tds-table-body-row-expandable.js +1 -175
- package/dist/components/tds-table-body-row.js +1 -125
- package/dist/components/tds-table-body.js +1 -108
- package/dist/components/tds-table-footer.js +1 -210
- package/dist/components/tds-table-header-input-wrapper.js +1 -112
- package/dist/components/tds-table-header.js +1 -144
- package/dist/components/tds-table-toolbar.js +1 -119
- package/dist/components/tds-table.js +1 -168
- package/dist/components/tds-tag.js +1 -48
- package/dist/components/tds-text-field.js +1 -6
- package/dist/components/tds-textarea.js +1 -156
- package/dist/components/tds-toast.js +1 -117
- package/dist/components/tds-toggle.js +1 -86
- package/dist/components/tds-tooltip.js +1 -6
- package/dist/esm/index-9xxNGlso.js +2492 -0
- package/dist/{components/p-0bd4c19c.js → esm/inheritAriaAttributes-DyLhgCIg.js} +1 -1
- package/dist/esm/{isHeadingElement-8efea284.js → isHeadingElement-BQco7VNg.js} +1 -1
- package/dist/esm/loader.js +3 -4
- package/dist/esm/tds-accordion-item.entry.js +10 -5
- package/dist/esm/tds-accordion.entry.js +5 -4
- package/dist/esm/tds-badge.entry.js +13 -6
- package/dist/esm/tds-banner.entry.js +19 -13
- package/dist/esm/tds-block.entry.js +5 -4
- package/dist/esm/tds-body-cell.entry.js +4 -7
- package/dist/esm/tds-breadcrumb.entry.js +4 -4
- package/dist/esm/tds-breadcrumbs.entry.js +3 -5
- package/dist/esm/tds-button_2.entry.js +15 -12
- package/dist/esm/tds-card.entry.js +29 -18
- package/dist/esm/tds-checkbox.entry.js +17 -15
- package/dist/esm/tds-chip.entry.js +19 -14
- package/dist/esm/tds-core-header-item_2.entry.js +9 -8
- package/dist/esm/tds-datetime.entry.js +30 -22
- package/dist/esm/tds-dropdown_2.entry.js +67 -60
- package/dist/esm/tds-folder-tab.entry.js +4 -5
- package/dist/esm/tds-folder-tabs.entry.js +40 -36
- package/dist/esm/tds-footer-group.entry.js +8 -9
- package/dist/esm/tds-footer-item.entry.js +3 -4
- package/dist/esm/tds-footer.entry.js +6 -6
- package/dist/esm/tds-header-brand-symbol.entry.js +3 -4
- package/dist/esm/tds-header-cell.entry.js +20 -21
- package/dist/esm/tds-header-dropdown-list-item.entry.js +5 -4
- package/dist/esm/tds-header-dropdown-list-user.entry.js +3 -8
- package/dist/esm/tds-header-dropdown-list.entry.js +6 -7
- package/dist/esm/tds-header-dropdown.entry.js +9 -11
- package/dist/esm/tds-header-hamburger.entry.js +5 -7
- package/dist/esm/tds-header-launcher-button.entry.js +7 -7
- package/dist/esm/tds-header-launcher-grid-item.entry.js +3 -4
- package/dist/esm/tds-header-launcher-grid-title.entry.js +4 -5
- package/dist/esm/tds-header-launcher-grid.entry.js +5 -7
- package/dist/esm/tds-header-launcher-list-item.entry.js +3 -4
- package/dist/esm/tds-header-launcher-list-title.entry.js +4 -5
- package/dist/esm/tds-header-launcher-list.entry.js +2 -2
- package/dist/esm/tds-header-launcher.entry.js +7 -10
- package/dist/esm/tds-header-title.entry.js +3 -4
- package/dist/esm/tds-header.entry.js +5 -6
- package/dist/esm/tds-icon.entry.js +14 -15
- package/dist/esm/tds-inline-tab.entry.js +4 -4
- package/dist/esm/tds-inline-tabs.entry.js +42 -37
- package/dist/esm/tds-link.entry.js +6 -4
- package/dist/esm/tds-message.entry.js +14 -12
- package/dist/esm/tds-modal.entry.js +93 -45
- package/dist/esm/tds-navigation-tab.entry.js +4 -4
- package/dist/esm/tds-navigation-tabs.entry.js +43 -38
- package/dist/esm/tds-popover-canvas.entry.js +17 -9
- package/dist/esm/tds-popover-core.entry.js +53 -38
- package/dist/esm/tds-popover-menu-item.entry.js +4 -4
- package/dist/esm/tds-popover-menu.entry.js +16 -9
- package/dist/esm/tds-radio-button.entry.js +12 -13
- package/dist/esm/tds-side-menu-close-button.entry.js +5 -6
- package/dist/esm/tds-side-menu-collapse-button.entry.js +4 -5
- package/dist/esm/tds-side-menu-dropdown-list-item.entry.js +4 -4
- package/dist/esm/tds-side-menu-dropdown-list.entry.js +3 -4
- package/dist/esm/tds-side-menu-dropdown.entry.js +6 -5
- package/dist/esm/tds-side-menu-item.entry.js +7 -5
- package/dist/esm/tds-side-menu-overlay.entry.js +3 -4
- package/dist/esm/tds-side-menu-user-image_2.entry.js +5 -11
- package/dist/esm/tds-side-menu-user.entry.js +3 -8
- package/dist/esm/tds-side-menu.entry.js +22 -13
- package/dist/esm/tds-slider.entry.js +43 -24
- package/dist/esm/tds-spinner.entry.js +5 -4
- package/dist/esm/tds-step.entry.js +4 -10
- package/dist/esm/tds-stepper.entry.js +26 -9
- package/dist/esm/tds-table-body-input-wrapper.entry.js +4 -4
- package/dist/esm/tds-table-body-row-expandable.entry.js +15 -7
- package/dist/esm/tds-table-body-row.entry.js +6 -4
- package/dist/esm/tds-table-body.entry.js +8 -9
- package/dist/esm/tds-table-footer.entry.js +23 -16
- package/dist/esm/tds-table-header-input-wrapper.entry.js +4 -4
- package/dist/esm/tds-table-header.entry.js +6 -5
- package/dist/esm/tds-table-toolbar.entry.js +6 -4
- package/dist/esm/tds-table.entry.js +46 -14
- package/dist/esm/tds-tag.entry.js +6 -6
- package/dist/esm/tds-text-field.entry.js +24 -13
- package/dist/esm/tds-textarea.entry.js +18 -11
- package/dist/esm/tds-toast.entry.js +17 -15
- package/dist/esm/tds-toggle.entry.js +14 -13
- package/dist/esm/tds-tooltip.entry.js +20 -16
- package/dist/esm/tegel.js +5 -5
- package/dist/tegel/assets/icons/scania/microphone.svg +4 -0
- package/dist/tegel/assets/icons/scania/microphone_inactive.svg +7 -0
- package/dist/tegel/assets/icons/scania/notification_snooze.svg +6 -0
- package/dist/tegel/assets/icons/scania/paperclip.svg +3 -0
- package/dist/tegel/{p-304f5a5c.entry.js → p-103beac4.entry.js} +1 -1
- package/dist/tegel/{p-c66b99a8.entry.js → p-1171b918.entry.js} +1 -1
- package/dist/tegel/p-121afb33.entry.js +1 -0
- package/dist/tegel/{p-fc26fb72.entry.js → p-17500423.entry.js} +1 -1
- package/dist/tegel/{p-8e930da5.entry.js → p-182d7066.entry.js} +1 -1
- package/dist/tegel/p-19103b43.entry.js +1 -0
- package/dist/tegel/p-19e70185.entry.js +1 -0
- package/dist/tegel/p-1b235896.entry.js +1 -0
- package/dist/tegel/p-1d160cef.entry.js +1 -0
- package/dist/tegel/p-1d403667.entry.js +1 -0
- package/dist/tegel/p-1f343c1c.entry.js +1 -0
- package/dist/tegel/p-21da22c7.entry.js +1 -0
- package/dist/tegel/p-21ee8076.entry.js +1 -0
- package/dist/tegel/{p-8a4837ae.entry.js → p-22d1d304.entry.js} +1 -1
- package/dist/tegel/{p-2faeb483.entry.js → p-26d6f766.entry.js} +1 -1
- package/dist/tegel/{p-4a7c213f.entry.js → p-2ab5a886.entry.js} +1 -1
- package/dist/tegel/{p-066e9613.entry.js → p-2e70052a.entry.js} +1 -1
- package/dist/tegel/{p-4a10393b.entry.js → p-37d10816.entry.js} +1 -1
- package/dist/tegel/p-38e72fb9.entry.js +1 -0
- package/dist/tegel/p-3a4c94fa.entry.js +1 -0
- package/dist/tegel/{p-15ae9443.entry.js → p-3a9793ef.entry.js} +1 -1
- package/dist/tegel/p-3c706eea.entry.js +1 -0
- package/dist/tegel/p-3d11fc11.entry.js +1 -0
- package/dist/tegel/{p-26408506.entry.js → p-408ccb20.entry.js} +1 -1
- package/dist/tegel/p-41ce0d20.entry.js +1 -0
- package/dist/tegel/{p-17893043.entry.js → p-4748cad9.entry.js} +1 -1
- package/dist/tegel/{p-25c4e6f6.entry.js → p-52e8c108.entry.js} +1 -1
- package/dist/tegel/{p-79fb0088.entry.js → p-567cbbe3.entry.js} +1 -1
- package/dist/tegel/{p-caadaf33.entry.js → p-5fc5e8b2.entry.js} +1 -1
- package/dist/tegel/{p-d031a7ca.entry.js → p-652d5980.entry.js} +1 -1
- package/dist/tegel/{p-08c993f3.entry.js → p-66404c24.entry.js} +1 -1
- package/dist/tegel/p-6952323d.entry.js +1 -0
- package/dist/tegel/p-722edda3.entry.js +1 -0
- package/dist/tegel/p-7aedca1d.entry.js +1 -0
- package/dist/tegel/p-7d54c68f.entry.js +1 -0
- package/dist/tegel/{p-ce6faf0e.entry.js → p-7f41c308.entry.js} +1 -1
- package/dist/tegel/{p-3ba2e575.entry.js → p-826bfbff.entry.js} +1 -1
- package/dist/tegel/{p-133351b5.entry.js → p-82743378.entry.js} +1 -1
- package/dist/tegel/p-85b3d6a6.entry.js +1 -0
- package/dist/tegel/{p-f1d58cbf.entry.js → p-85e2b8b8.entry.js} +1 -1
- package/dist/tegel/p-873dd581.entry.js +1 -0
- package/dist/tegel/p-88deac25.entry.js +1 -0
- package/dist/tegel/p-892bdb23.entry.js +1 -0
- package/dist/tegel/p-8eaea9b6.entry.js +1 -0
- package/dist/tegel/p-8f271e98.entry.js +1 -0
- package/dist/tegel/{p-508a55c0.entry.js → p-8fdf0d7e.entry.js} +1 -1
- package/dist/tegel/p-92ee76ea.entry.js +1 -0
- package/dist/tegel/p-936a7ca6.entry.js +1 -0
- package/dist/tegel/p-97c3349e.entry.js +1 -0
- package/dist/tegel/p-9a6a1e5a.entry.js +1 -0
- package/dist/tegel/p-9b2663c2.entry.js +1 -0
- package/dist/tegel/p-9xxNGlso.js +2 -0
- package/dist/tegel/{p-9332c225.js → p-Bx66i7RU.js} +1 -1
- package/dist/tegel/p-CF8bH08v.js +1 -0
- package/dist/tegel/p-CLF3diNe.js +1 -0
- package/dist/tegel/p-Cn4f8w1e.js +1 -0
- package/dist/tegel/p-DDX6uFcm.js +1 -0
- package/dist/tegel/p-Q3W78DlP.js +1 -0
- package/dist/tegel/p-a4fc2b2c.entry.js +1 -0
- package/dist/tegel/{p-27369d6a.entry.js → p-a6415b2c.entry.js} +1 -1
- package/dist/tegel/p-a7c5f9e5.entry.js +1 -0
- package/dist/tegel/{p-106dd3e9.entry.js → p-a9a60c38.entry.js} +1 -1
- package/dist/tegel/{p-ab067071.entry.js → p-a9f3bec2.entry.js} +1 -1
- package/dist/tegel/{p-a00ad341.entry.js → p-c2ffb85d.entry.js} +1 -1
- package/dist/tegel/p-c405daa1.entry.js +1 -0
- package/dist/tegel/p-c612b88f.entry.js +1 -0
- package/dist/tegel/{p-10340b85.entry.js → p-c681502a.entry.js} +1 -1
- package/dist/tegel/p-c8a575f1.entry.js +1 -0
- package/dist/tegel/p-c8d602b9.entry.js +1 -0
- package/dist/tegel/{p-2766b46f.entry.js → p-cc482c30.entry.js} +1 -1
- package/dist/tegel/p-d0c0f219.entry.js +1 -0
- package/dist/tegel/p-d79a1010.entry.js +1 -0
- package/dist/tegel/p-daab519f.entry.js +1 -0
- package/dist/tegel/{p-dc93c6e5.entry.js → p-dad64a2f.entry.js} +1 -1
- package/dist/tegel/p-dbfcc2a9.entry.js +1 -0
- package/dist/tegel/p-df943c9e.entry.js +1 -0
- package/dist/tegel/{p-608997fa.entry.js → p-dfa11d82.entry.js} +1 -1
- package/dist/tegel/p-e13d59c1.entry.js +1 -0
- package/dist/tegel/p-e4a3e0f4.entry.js +1 -0
- package/dist/tegel/p-e64bc780.entry.js +1 -0
- package/dist/tegel/{p-300af79f.entry.js → p-e8be1c01.entry.js} +1 -1
- package/dist/tegel/p-ea500860.entry.js +1 -0
- package/dist/tegel/{p-576a60ff.entry.js → p-ee9667d7.entry.js} +1 -1
- package/dist/tegel/p-f25d7602.entry.js +1 -0
- package/dist/tegel/p-f67dd00a.entry.js +1 -0
- package/dist/tegel/{p-f097adce.entry.js → p-f98f7716.entry.js} +1 -1
- package/dist/tegel/p-wEP_nEaO.js +1 -0
- package/dist/tegel/tegel.css +2 -2
- package/dist/tegel/tegel.esm.js +1 -1
- package/dist/types/components/dropdown/dropdown-option/dropdown-option.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +7 -0
- package/dist/types/components/slider/slider-stories-setup.d.ts +1 -1
- package/dist/types/components/tabs/folder-tabs/folder-tabs.d.ts +2 -2
- package/dist/types/components/tabs/inline-tabs/inline-tabs.d.ts +2 -2
- package/dist/types/components/tabs/navigation-tabs/navigation-tabs.d.ts +2 -2
- package/dist/types/components.d.ts +1206 -150
- package/dist/types/stencil-public-runtime.d.ts +196 -8
- package/dist/types/types/ScaniaIcons.d.ts +1 -1
- package/package.json +9 -4
- package/dist/cjs/app-globals-3a1e7e63.js +0 -5
- package/dist/cjs/index-ca8040ad.js +0 -2039
- package/dist/components/p-0f9ce30b.js +0 -37
- package/dist/components/p-28ef5186.js +0 -1507
- package/dist/components/p-32351d04.js +0 -37
- package/dist/components/p-381677ec.js +0 -46
- package/dist/components/p-49b20476.js +0 -82
- package/dist/components/p-4c0aa33f.js +0 -117
- package/dist/components/p-4f672d4f.js +0 -112
- package/dist/components/p-542226b2.js +0 -110
- package/dist/components/p-5725d7a2.js +0 -113
- package/dist/components/p-5bb5f233.js +0 -220
- package/dist/components/p-859e3ebf.js +0 -68
- package/dist/components/p-871223b7.js +0 -719
- package/dist/components/p-a1181b1f.js +0 -16
- package/dist/components/p-ae4ca8c3.js +0 -165
- package/dist/components/p-d5461a3c.js +0 -59
- package/dist/components/p-e0997ae2.js +0 -41
- package/dist/components/p-e1622f4a.js +0 -32
- package/dist/components/p-e62ed985.js +0 -2100
- package/dist/components/p-f086ba26.js +0 -84
- package/dist/components/p-f6685f1b.js +0 -93
- package/dist/components/p-f8db4031.js +0 -103
- package/dist/esm/app-globals-0f993ce5.js +0 -3
- package/dist/esm/dfs-1e574d5f.js +0 -27
- package/dist/esm/generateUniqueId-7934d315.js +0 -26
- package/dist/esm/getAriaInvalid-a9944cb9.js +0 -23
- package/dist/esm/hasSlot-d52114d0.js +0 -9
- package/dist/esm/index-51d04e39.js +0 -2009
- package/dist/esm/inheritAriaAttributes-04f2f252.js +0 -76
- package/dist/esm/inheritAttributes-d21e267b.js +0 -25
- package/dist/tegel/p-0684b6d3.entry.js +0 -1
- package/dist/tegel/p-078217d1.entry.js +0 -1
- package/dist/tegel/p-07d16763.entry.js +0 -1
- package/dist/tegel/p-0e3fcc9f.entry.js +0 -1
- package/dist/tegel/p-1073fb33.entry.js +0 -1
- package/dist/tegel/p-123e6e54.entry.js +0 -1
- package/dist/tegel/p-15b9a73b.entry.js +0 -1
- package/dist/tegel/p-2049fab2.js +0 -2
- package/dist/tegel/p-225c73b6.entry.js +0 -1
- package/dist/tegel/p-38725623.entry.js +0 -1
- package/dist/tegel/p-3c348fcb.entry.js +0 -1
- package/dist/tegel/p-419212b5.entry.js +0 -1
- package/dist/tegel/p-4abe96b6.entry.js +0 -1
- package/dist/tegel/p-51118061.entry.js +0 -1
- package/dist/tegel/p-57a2d4de.entry.js +0 -1
- package/dist/tegel/p-5b80467f.entry.js +0 -1
- package/dist/tegel/p-5bab691f.entry.js +0 -1
- package/dist/tegel/p-63f77d7c.entry.js +0 -1
- package/dist/tegel/p-6bb6425c.entry.js +0 -1
- package/dist/tegel/p-739068bf.entry.js +0 -1
- package/dist/tegel/p-87219f00.entry.js +0 -1
- package/dist/tegel/p-91af9dc5.entry.js +0 -1
- package/dist/tegel/p-947ec2b0.entry.js +0 -1
- package/dist/tegel/p-9772750e.entry.js +0 -1
- package/dist/tegel/p-9f154997.entry.js +0 -1
- package/dist/tegel/p-a15280db.entry.js +0 -1
- package/dist/tegel/p-a2aaf61c.entry.js +0 -1
- package/dist/tegel/p-aa795666.entry.js +0 -1
- package/dist/tegel/p-b7e0917f.entry.js +0 -1
- package/dist/tegel/p-bc697ea7.entry.js +0 -1
- package/dist/tegel/p-bf40233e.entry.js +0 -1
- package/dist/tegel/p-c05f61d6.entry.js +0 -1
- package/dist/tegel/p-c163d44f.entry.js +0 -1
- package/dist/tegel/p-c2ab817d.entry.js +0 -1
- package/dist/tegel/p-c4719b10.entry.js +0 -1
- package/dist/tegel/p-c7be09fc.entry.js +0 -1
- package/dist/tegel/p-c8fd6b3b.entry.js +0 -1
- package/dist/tegel/p-da72f897.entry.js +0 -1
- package/dist/tegel/p-ded1191e.entry.js +0 -1
- package/dist/tegel/p-e1255160.js +0 -1
- package/dist/tegel/p-e2a6c30c.entry.js +0 -1
- package/dist/tegel/p-e2db17a5.entry.js +0 -1
- package/dist/tegel/p-e40d454d.entry.js +0 -1
- package/dist/tegel/p-e53da1e5.entry.js +0 -1
- package/dist/tegel/p-e64c36a3.entry.js +0 -1
- package/dist/tegel/p-ebf13d81.entry.js +0 -1
- package/dist/tegel/p-ede87410.entry.js +0 -1
- package/dist/tegel/p-f3cf4eba.entry.js +0 -1
- package/loader/package.json +0 -11
- /package/dist/cjs/{dfs-84f7f63e.js → dfs-Clg9RCmq.js} +0 -0
- /package/dist/cjs/{generateUniqueId-e3fc9863.js → generateUniqueId-ComXTAM_.js} +0 -0
- /package/dist/cjs/{getAriaInvalid-66a2eade.js → getAriaInvalid-Bdg4qUb_.js} +0 -0
- /package/dist/cjs/{hasSlot-1c90e9ba.js → hasSlot-D-DVNhGg.js} +0 -0
- /package/dist/cjs/{inheritAttributes-ff9ad737.js → inheritAttributes-CGw91JfB.js} +0 -0
- /package/dist/{tegel/p-3fe9cbbf.js → components/p-CF8bH08v.js} +0 -0
- /package/dist/{tegel/p-52bf0fdf.js → components/p-CLF3diNe.js} +0 -0
- /package/dist/{tegel/p-11648030.js → components/p-Cn4f8w1e.js} +0 -0
- /package/dist/{tegel/p-ae110fc2.js → components/p-DDX6uFcm.js} +0 -0
- /package/dist/{tegel/p-bbf9492a.js → components/p-wEP_nEaO.js} +0 -0
- /package/dist/{components/p-52bf0fdf.js → esm/dfs-CLF3diNe.js} +0 -0
- /package/dist/{components/p-11648030.js → esm/generateUniqueId-Cn4f8w1e.js} +0 -0
- /package/dist/{components/p-bbf9492a.js → esm/getAriaInvalid-wEP_nEaO.js} +0 -0
- /package/dist/{components/p-ae110fc2.js → esm/hasSlot-DDX6uFcm.js} +0 -0
- /package/dist/{components/p-3fe9cbbf.js → esm/inheritAttributes-CF8bH08v.js} +0 -0
|
@@ -1,262 +1 @@
|
|
|
1
|
-
import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-28ef5186.js';
|
|
2
|
-
import { h as hasSlot } from './p-ae110fc2.js';
|
|
3
|
-
import { g as generateUniqueId } from './p-11648030.js';
|
|
4
|
-
import { d as defineCustomElement$2 } from './p-f086ba26.js';
|
|
5
|
-
|
|
6
|
-
const modalCss = ":host,:root{--tds-scrollbar-width-standard:thin;--tds-scrollbar-width:10px;--tds-scrollbar-height:10px;--tds-scrollbar-thumb-border-width:3px;--tds-scrollbar-thumb-border-hover-width:2px}body{scrollbar-width:thin}.tds-modal{box-sizing:border-box;box-shadow:var(--tds-modal-box-shadow);background-color:var(--background-elevation-layer-02);margin:auto;position:relative;border-radius:var(--radius-narrow);max-height:85vh;overflow-y:auto;pointer-events:auto}.tds-modal *{box-sizing:border-box}.tds-modal:hover::-webkit-scrollbar-thumb{border:var(--tds-scrollbar-thumb-border-hover-width) solid transparent;background-clip:padding-box}.tds-modal::-webkit-scrollbar{width:var(--tds-scrollbar-width)}.tds-modal::-webkit-scrollbar-track{background:var(--tds-scrollbar-track-color)}.tds-modal::-webkit-scrollbar-thumb{border-radius:40px;background:var(--tds-scrollbar-thumb-color);border:var(--tds-scrollbar-thumb-border-width) solid transparent;background-clip:padding-box}.tds-modal::-webkit-scrollbar-button{height:0;width:0}@supports not selector(::-webkit-scrollbar){.tds-modal{scrollbar-color:var(--tds-scrollbar-thumb-color) var(--tds-scrollbar-track-color);scrollbar-width:var(--tds-scrollbar-width-standard)}}.tds-modal__actions-sticky{overflow:hidden;display:flex;flex-direction:column}.tds-modal__actions-sticky .body{font-family:var(--body-01-font-family);font-size:var(--body-01-font-size);line-height:var(--body-01-line-height);font-weight:var(--body-01-font-weight);letter-spacing:var(--body-01-letter-spacing);text-transform:var(--body-01-text-transform);max-height:calc(85vh - 36px);overflow-y:auto}.tds-modal__actions-sticky slot[name=actions]{bottom:-1px;left:0;right:0;background-color:var(--background-elevation-layer-02);padding:24px 16px 16px;display:flex;gap:16px}.tds-modal__actions-static slot[name=actions]{background-color:var(--background-elevation-layer-02);display:flex;gap:16px;padding:24px 16px 16px}@media (min-width: 320px){.tds-modal-xs{width:100%}.tds-modal-sm{width:100%}.tds-modal-md{width:100%}.tds-modal-lg{width:100%}}@media (min-width: 672px){.tds-modal-xs{width:50%}.tds-modal-sm{width:62.5%}.tds-modal-md{width:75%}.tds-modal-lg{width:100%}}@media (min-width: 1056px){.tds-modal-xs{width:31.25%}.tds-modal-sm{width:43.75%}.tds-modal-md{width:62.5%}.tds-modal-lg{width:75%}}@media (min-width: 1312px){.tds-modal-xs{width:31.25%}.tds-modal-sm{width:37.5%}.tds-modal-md{width:62.5%}.tds-modal-lg{width:75%}}@media (min-width: 1584px){.tds-modal-xs{width:25%}.tds-modal-sm{width:37.5%}.tds-modal-md{width:50%}.tds-modal-lg{width:75%}}@media (max-width: 320px){.tds-modal-md,.tds-modal-lg,.tds-modal-sm{height:100%}.tds-modal-md slot[name=actions]::slotted(*),.tds-modal-lg slot[name=actions]::slotted(*),.tds-modal-sm slot[name=actions]::slotted(*){display:flex}}.header{display:flex;padding:16px;position:sticky;top:0;background-color:var(--background-elevation-layer-02);z-index:1}.header,slot[name=header]::slotted(*){font-family:var(--headline-05-font-family);font-size:var(--headline-05-font-size);line-height:var(--headline-05-line-height);font-weight:var(--headline-05-font-weight);letter-spacing:var(--headline-05-letter-spacing);text-transform:var(--headline-05-text-transform);color:var(--foreground-text-strong);margin:0;flex:1}.body{font-family:var(--body-01-font-family);font-size:var(--body-01-font-size);line-height:var(--body-01-line-height);font-weight:var(--body-01-font-weight);letter-spacing:var(--body-01-letter-spacing);text-transform:var(--body-01-text-transform);color:var(--foreground-text-strong);overflow-y:visible;padding:0 16px 16px}.body:hover::-webkit-scrollbar-thumb{border:var(--tds-scrollbar-thumb-border-hover-width) solid transparent;background-clip:padding-box}.body::-webkit-scrollbar{width:var(--tds-scrollbar-width)}.body::-webkit-scrollbar-track{background:var(--tds-scrollbar-track-color)}.body::-webkit-scrollbar-thumb{border-radius:40px;background:var(--tds-scrollbar-thumb-color);border:var(--tds-scrollbar-thumb-border-width) solid transparent;background-clip:padding-box}.body::-webkit-scrollbar-button{height:0;width:0}@supports not selector(::-webkit-scrollbar){.body{scrollbar-color:var(--tds-scrollbar-thumb-color) var(--tds-scrollbar-track-color);scrollbar-width:var(--tds-scrollbar-width-standard)}}.tds-modal-backdrop{box-sizing:border-box;position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--tds-modal-backdrop-background);pointer-events:auto}.tds-modal-backdrop *{box-sizing:border-box}button.tds-modal-close{margin:0 0 auto auto;background-color:transparent;border:0;padding:0;appearance:unset}.tds-modal-close{display:inline-block;height:auto;color:var(--foreground-text-strong);cursor:pointer}.tds-modal-close:focus{outline:2px solid var(--tds-focus-outline-color);box-shadow:0 0 0 1px var(--tds-white);outline-offset:1px;z-index:1}@media (min-width: 320px){.tds-modal-close{margin-left:16px}}@media (min-width: 1056px){.tds-modal-close{margin-left:48px}}.tds-modal-close-btn{display:inline-block;height:auto;background-repeat:no-repeat;cursor:pointer}@media (min-width: 320px){.tds-modal-close-btn{margin-left:16px}}@media (min-width: 1056px){.tds-modal-close-btn{margin-left:48px}}.tds-modal-close-btn svg{fill:var(--foreground-text-strong)}.tds-modal-overflow{overflow:hidden}:host{box-sizing:border-box;position:fixed;top:0;right:0;bottom:0;left:0;padding:0 16px;z-index:700;pointer-events:none}:host *{box-sizing:border-box}:host .tds-modal-close{border:none;background-color:transparent}:host .tds-modal-close-btn{border:none;background-color:transparent}@media (max-width: 320px){:host{padding:0}}:host.show{display:flex}:host.hide{display:none}:host(.show){display:flex}:host(.hide){display:none}";
|
|
7
|
-
const TdsModalStyle0 = modalCss;
|
|
8
|
-
|
|
9
|
-
const TdsModal$1 = /*@__PURE__*/ proxyCustomElement(class TdsModal extends H {
|
|
10
|
-
constructor() {
|
|
11
|
-
super();
|
|
12
|
-
this.__registerHost();
|
|
13
|
-
this.__attachShadow();
|
|
14
|
-
this.tdsClose = createEvent(this, "tdsClose", 7);
|
|
15
|
-
this.tdsOpen = createEvent(this, "tdsOpen", 7);
|
|
16
|
-
this.handleClose = (event) => {
|
|
17
|
-
const closeEvent = this.tdsClose.emit(event);
|
|
18
|
-
this.returnFocusOnClose();
|
|
19
|
-
if (closeEvent.defaultPrevented) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
this.isShown = false;
|
|
23
|
-
};
|
|
24
|
-
this.handleShow = () => {
|
|
25
|
-
const showEvent = this.tdsOpen.emit();
|
|
26
|
-
if (showEvent.defaultPrevented) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
this.isShown = true;
|
|
30
|
-
};
|
|
31
|
-
/** Checks if click on Modal is on overlay, if so it closes the Modal if prevent is not true. */
|
|
32
|
-
this.handleOverlayClick = (event) => {
|
|
33
|
-
const targetList = event.composedPath();
|
|
34
|
-
const target = targetList[0];
|
|
35
|
-
if (target.classList[0] === 'tds-modal-close' ||
|
|
36
|
-
(target.classList[0] === 'tds-modal-backdrop' && this.prevent === false)) {
|
|
37
|
-
this.handleClose(event);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
this.handleReferenceElementClick = (event) => {
|
|
41
|
-
if (this.isShown) {
|
|
42
|
-
this.handleClose(event);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
this.handleShow();
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
/** Check if there is a referenceElement or selector and adds event listener to them if so. */
|
|
49
|
-
this.setShowButton = () => {
|
|
50
|
-
var _a;
|
|
51
|
-
if (this.selector || this.referenceEl) {
|
|
52
|
-
const referenceEl = (_a = this.referenceEl) !== null && _a !== void 0 ? _a : (this.selector ? document.querySelector(this.selector) : null);
|
|
53
|
-
if (referenceEl) {
|
|
54
|
-
this.initializeReferenceElement(referenceEl);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
/** Adds an event listener to the reference element that shows/closes the Modal. */
|
|
59
|
-
this.initializeReferenceElement = (referenceEl) => {
|
|
60
|
-
if (referenceEl) {
|
|
61
|
-
referenceEl.addEventListener('click', this.handleReferenceElementClick);
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
this.header = undefined;
|
|
65
|
-
this.prevent = false;
|
|
66
|
-
this.size = 'md';
|
|
67
|
-
this.actionsPosition = 'static';
|
|
68
|
-
this.selector = undefined;
|
|
69
|
-
this.referenceEl = undefined;
|
|
70
|
-
this.show = undefined;
|
|
71
|
-
this.closable = true;
|
|
72
|
-
this.tdsAlertDialog = 'dialog';
|
|
73
|
-
this.isShown = false;
|
|
74
|
-
this.activeElementIndex = 0;
|
|
75
|
-
}
|
|
76
|
-
/** Shows the Modal. */
|
|
77
|
-
async showModal() {
|
|
78
|
-
this.isShown = true;
|
|
79
|
-
// Set focus on first element when opened
|
|
80
|
-
requestAnimationFrame(() => {
|
|
81
|
-
const focusableElements = this.getFocusableElements();
|
|
82
|
-
if (focusableElements.length > 0) {
|
|
83
|
-
focusableElements[0].focus();
|
|
84
|
-
this.activeElementIndex = 0;
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
/** Closes the Modal. */
|
|
89
|
-
async closeModal() {
|
|
90
|
-
this.isShown = false;
|
|
91
|
-
this.returnFocusOnClose();
|
|
92
|
-
}
|
|
93
|
-
/** Returns the current open state of the Modal. */
|
|
94
|
-
async isOpen() {
|
|
95
|
-
return this.isShown;
|
|
96
|
-
}
|
|
97
|
-
connectedCallback() {
|
|
98
|
-
if (this.closable === undefined) {
|
|
99
|
-
this.closable = true;
|
|
100
|
-
}
|
|
101
|
-
if (this.show !== undefined) {
|
|
102
|
-
this.isShown = this.show;
|
|
103
|
-
}
|
|
104
|
-
this.initializeModal();
|
|
105
|
-
if (this.header && hasSlot('header', this.host)) {
|
|
106
|
-
console.warn("Tegel Modal component: Using both header prop and header slot might break modal's design. Please use just one of them. ");
|
|
107
|
-
}
|
|
108
|
-
if (!this.selector && !this.referenceEl) {
|
|
109
|
-
console.warn('Tegel Modal: Missing focus origin. Please provide either a "referenceEl" or a "selector" to ensure focus returns to the element that opened the modal. If the modal is opened programmatically, this message can be ignored.');
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
componentWillLoad() {
|
|
113
|
-
this.initializeModal();
|
|
114
|
-
}
|
|
115
|
-
disconnectedCallback() {
|
|
116
|
-
this.cleanupModal();
|
|
117
|
-
}
|
|
118
|
-
/** Initializes or re-initializes the modal, setting up event listeners. */
|
|
119
|
-
async initializeModal() {
|
|
120
|
-
this.setDismissButtons();
|
|
121
|
-
this.setShowButton();
|
|
122
|
-
}
|
|
123
|
-
/** Cleans up event listeners and other resources. */
|
|
124
|
-
async cleanupModal() {
|
|
125
|
-
var _a;
|
|
126
|
-
if (this.selector || this.referenceEl) {
|
|
127
|
-
const referenceEl = (_a = this.referenceEl) !== null && _a !== void 0 ? _a : (this.selector ? document.querySelector(this.selector) : null);
|
|
128
|
-
if (referenceEl) {
|
|
129
|
-
referenceEl.removeEventListener('click', this.handleReferenceElementClick);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
this.host.querySelectorAll('[data-dismiss-modal]').forEach((dismissButton) => {
|
|
133
|
-
dismissButton.removeEventListener('click', this.handleClose);
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
returnFocusOnClose() {
|
|
137
|
-
var _a;
|
|
138
|
-
const referenceElement = (_a = this.referenceEl) !== null && _a !== void 0 ? _a : (this.selector ? document.querySelector(this.selector) : null);
|
|
139
|
-
if (!referenceElement) {
|
|
140
|
-
return; // no element to return focus to
|
|
141
|
-
}
|
|
142
|
-
const potentialReferenceElements = ['BUTTON', 'A', 'INPUT'];
|
|
143
|
-
const isNativeFocusable = potentialReferenceElements.includes(referenceElement.tagName);
|
|
144
|
-
if (isNativeFocusable) {
|
|
145
|
-
referenceElement.focus();
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
// If referenced element is a custom element eg: tds-button we find the interactive element inside:
|
|
149
|
-
const interactiveElement = referenceElement.querySelector(potentialReferenceElements.join(','));
|
|
150
|
-
if (interactiveElement) {
|
|
151
|
-
interactiveElement.focus();
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
getFocusableElements() {
|
|
156
|
-
var _a, _b;
|
|
157
|
-
const focusableSelectors = [
|
|
158
|
-
'a[href]',
|
|
159
|
-
'button:not([disabled])',
|
|
160
|
-
'textarea:not([disabled])',
|
|
161
|
-
'input:not([disabled])',
|
|
162
|
-
'select:not([disabled])',
|
|
163
|
-
'[tabindex]:not([tabindex="-1"])',
|
|
164
|
-
].join(',');
|
|
165
|
-
const focusableInShadowRoot = Array.from((_b = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(focusableSelectors)) !== null && _b !== void 0 ? _b : []);
|
|
166
|
-
const focusableInSlots = Array.from(this.host.querySelectorAll(focusableSelectors));
|
|
167
|
-
/** Focusable elements */
|
|
168
|
-
return [...focusableInShadowRoot, ...focusableInSlots];
|
|
169
|
-
}
|
|
170
|
-
handleFocusTrap(event) {
|
|
171
|
-
if (event.key === 'Escape' && this.isShown && !this.prevent) {
|
|
172
|
-
this.handleClose(event);
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
|
-
// Only trap focus if the modal is open
|
|
176
|
-
if (!this.isShown)
|
|
177
|
-
return;
|
|
178
|
-
// We care only about the Tab key
|
|
179
|
-
if (event.key !== 'Tab')
|
|
180
|
-
return;
|
|
181
|
-
const focusableElements = this.getFocusableElements();
|
|
182
|
-
// If there are no focusable elements
|
|
183
|
-
if (focusableElements.length === 0)
|
|
184
|
-
return;
|
|
185
|
-
event.preventDefault();
|
|
186
|
-
// Going backwards (Shift + Tab) on the first element => move to last
|
|
187
|
-
if (event.shiftKey) {
|
|
188
|
-
this.activeElementIndex -= 1;
|
|
189
|
-
if (this.activeElementIndex === -1) {
|
|
190
|
-
this.activeElementIndex = focusableElements.length - 1;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
// // Going forwards (Tab) on the last element => move to first
|
|
194
|
-
if (!event.shiftKey) {
|
|
195
|
-
this.activeElementIndex += 1;
|
|
196
|
-
if (this.activeElementIndex === focusableElements.length) {
|
|
197
|
-
this.activeElementIndex = 0;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
const nextElement = focusableElements[this.activeElementIndex];
|
|
201
|
-
nextElement.focus();
|
|
202
|
-
}
|
|
203
|
-
/** Adds an event listener to the dismiss buttons that closes the Modal. */
|
|
204
|
-
setDismissButtons() {
|
|
205
|
-
this.host.querySelectorAll('[data-dismiss-modal]').forEach((dismissButton) => {
|
|
206
|
-
dismissButton.addEventListener('click', this.handleClose);
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
render() {
|
|
210
|
-
const usesHeaderSlot = hasSlot('header', this.host);
|
|
211
|
-
const usesActionsSlot = hasSlot('actions', this.host);
|
|
212
|
-
const headerId = this.header ? `tds-modal-header-${generateUniqueId()}` : undefined;
|
|
213
|
-
const bodyId = `tds-modal-body-${generateUniqueId()}`;
|
|
214
|
-
return (h(Host, { key: '64ec0269ed6369f5a298997f432095abf16cfe8e', role: this.tdsAlertDialog, "aria-modal": "true", "aria-describedby": bodyId, "aria-labelledby": headerId, class: {
|
|
215
|
-
show: this.isShown,
|
|
216
|
-
hide: !this.isShown,
|
|
217
|
-
}, onClick: (event) => this.handleOverlayClick(event) }, h("div", { key: 'ff7163da4e0d417f0b9e2d2669b65b4c3d980cb1', class: "tds-modal-backdrop" }), h("div", { key: '594ac64c3d54280f0654516429c934919beaeb5f', class: `tds-modal tds-modal__actions-${this.actionsPosition} tds-modal-${this.size}` }, h("div", { key: '942924e09b8f95e2891471363fe8391d2488fae3', id: headerId, class: "header" }, this.header && h("div", { key: '85864122df840ff8fb2c42bc0cca02180a8e3b2f', class: "header-text" }, this.header), usesHeaderSlot && h("slot", { key: '2c4b6bddbf1daf0afa33a5cf2dd34e3be175a1d8', name: "header" }), this.closable && (h("button", { key: 'de4e7e2461a10597fabf198a8431fbeb584daa99', class: "tds-modal-close", "aria-label": "close", onClick: (event) => this.handleClose(event) }, h("tds-icon", { key: '628d4a4c906a7ed62cc52cb406229d8ef338beec', name: "cross", size: "20px" })))), h("div", { key: 'efd264c203b4c2a6cb745db03c0a023584521fa2', id: bodyId, class: "body" }, h("slot", { key: '83499fa7bf5719b88cdad06f51b7791a9fb2ec22', name: "body" })), usesActionsSlot && h("slot", { key: 'ef14e74d647f3c8483abd24205d476b16626d697', name: "actions" }))));
|
|
218
|
-
}
|
|
219
|
-
get host() { return this; }
|
|
220
|
-
static get style() { return TdsModalStyle0; }
|
|
221
|
-
}, [1, "tds-modal", {
|
|
222
|
-
"header": [1],
|
|
223
|
-
"prevent": [4],
|
|
224
|
-
"size": [1],
|
|
225
|
-
"actionsPosition": [1, "actions-position"],
|
|
226
|
-
"selector": [1],
|
|
227
|
-
"referenceEl": [16],
|
|
228
|
-
"show": [4],
|
|
229
|
-
"closable": [4],
|
|
230
|
-
"tdsAlertDialog": [1, "tds-alert-dialog"],
|
|
231
|
-
"isShown": [32],
|
|
232
|
-
"activeElementIndex": [32],
|
|
233
|
-
"showModal": [64],
|
|
234
|
-
"closeModal": [64],
|
|
235
|
-
"isOpen": [64],
|
|
236
|
-
"initializeModal": [64],
|
|
237
|
-
"cleanupModal": [64]
|
|
238
|
-
}, [[10, "keydown", "handleFocusTrap"]]]);
|
|
239
|
-
function defineCustomElement$1() {
|
|
240
|
-
if (typeof customElements === "undefined") {
|
|
241
|
-
return;
|
|
242
|
-
}
|
|
243
|
-
const components = ["tds-modal", "tds-icon"];
|
|
244
|
-
components.forEach(tagName => { switch (tagName) {
|
|
245
|
-
case "tds-modal":
|
|
246
|
-
if (!customElements.get(tagName)) {
|
|
247
|
-
customElements.define(tagName, TdsModal$1);
|
|
248
|
-
}
|
|
249
|
-
break;
|
|
250
|
-
case "tds-icon":
|
|
251
|
-
if (!customElements.get(tagName)) {
|
|
252
|
-
defineCustomElement$2();
|
|
253
|
-
}
|
|
254
|
-
break;
|
|
255
|
-
} });
|
|
256
|
-
}
|
|
257
|
-
defineCustomElement$1();
|
|
258
|
-
|
|
259
|
-
const TdsModal = TdsModal$1;
|
|
260
|
-
const defineCustomElement = defineCustomElement$1;
|
|
261
|
-
|
|
262
|
-
export { TdsModal, defineCustomElement };
|
|
1
|
+
import{t,p as o,H as s,c as d,h as a,a as i}from"./index.js";import{h as e}from"./p-DDX6uFcm.js";import{g as r}from"./p-Cn4f8w1e.js";import{d as l}from"./p-C0fx1H4h.js";const n=o(class extends s{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.tdsClose=d(this,"tdsClose",7),this.tdsOpen=d(this,"tdsOpen",7),this.prevent=!1,this.size="md",this.actionsPosition="static",this.closable=!0,this.tdsAlertDialog="dialog",this.isShown=!1,this.activeElementIndex=0,this.handleClose=t=>{this.tdsClose.emit(t).defaultPrevented||(this.isShown=!1,this.returnFocusOnClose())},this.handleShow=()=>{this.tdsOpen.emit().defaultPrevented||(this.isShown=!0,this.onOpen())},this.handleOverlayClick=t=>{const o=t.composedPath()[0];("tds-modal-close"===o.classList[0]||"tds-modal-backdrop"===o.classList[0]&&!1===this.prevent)&&this.handleClose(t)},this.handleReferenceElementClick=t=>{this.isShown?this.handleClose(t):this.handleShow()},this.setShowButton=()=>{var t;if(this.selector||this.referenceEl){const o=null!==(t=this.referenceEl)&&void 0!==t?t:this.selector?document.querySelector(this.selector):null;o&&this.initializeReferenceElement(o)}},this.initializeReferenceElement=t=>{t&&t.addEventListener("click",this.handleReferenceElementClick)}}async showModal(){this.isShown=!0,this.onOpen()}async closeModal(){this.isShown=!1,this.returnFocusOnClose()}async isOpen(){return this.isShown}handleShowPropChange(t,o){t!==o&&void 0!==t&&(this.isShown=t,t?this.onOpen():this.returnFocusOnClose())}connectedCallback(){void 0===this.closable&&(this.closable=!0),void 0!==this.show&&(this.isShown=this.show),this.initializeModal(),this.header&&e("header",this.host)&&console.warn("Tegel Modal component: Using both header prop and header slot might break modal's design. Please use just one of them. "),this.selector||this.referenceEl||console.warn('Tegel Modal: Missing focus origin. Please provide either a "referenceEl" or a "selector" to ensure focus returns to the element that opened the modal. If the modal is opened programmatically, this message can be ignored.')}componentWillLoad(){this.initializeModal()}disconnectedCallback(){this.cleanupModal()}async initializeModal(){this.setDismissButtons(),this.setShowButton()}async cleanupModal(){var t;if(this.selector||this.referenceEl){const o=null!==(t=this.referenceEl)&&void 0!==t?t:this.selector?document.querySelector(this.selector):null;o&&o.removeEventListener("click",this.handleReferenceElementClick)}this.host.querySelectorAll("[data-dismiss-modal]").forEach((t=>{t.removeEventListener("click",this.handleClose)}))}returnFocusOnClose(){var t;const o=null!==(t=this.referenceEl)&&void 0!==t?t:this.selector?document.querySelector(this.selector):null;if(!o)return;const s=["BUTTON","A","INPUT"],d=s.includes(o.tagName)?o:o.querySelector(s.join(","));d&&(d.classList.remove("active"),d.focus())}getFocusableElements(){var t,o;const s='a[href],button:not([disabled]),textarea:not([disabled]),input:not([disabled]),select:not([disabled]),[tabindex]:not([tabindex="-1"])';return[...Array.from(null!==(o=null===(t=this.host.shadowRoot)||void 0===t?void 0:t.querySelectorAll(s))&&void 0!==o?o:[]),...Array.from(this.host.querySelectorAll(s))]}resetScrollPosition(){var t;const o=this.host.shadowRoot,s=null!==(t=null==o?void 0:o.querySelector(".tds-modal__actions-sticky .body"))&&void 0!==t?t:null==o?void 0:o.querySelector(".tds-modal");null==s||s.scrollTo(0,0)}focusFirstElement(){var t,o;const s='a[href],button:not([disabled]),textarea:not([disabled]),input:not([disabled]),select:not([disabled]),[tabindex]:not([tabindex="-1"])',d=Array.from(this.host.querySelectorAll(s));if(d.length>0)d[0].focus(),this.activeElementIndex=this.getFocusableElements().indexOf(d[0]);else{const d=Array.from(null!==(o=null===(t=this.host.shadowRoot)||void 0===t?void 0:t.querySelectorAll(s))&&void 0!==o?o:[]);d.length>0&&(d[0].focus(),this.activeElementIndex=0)}}onOpen(){this.focusFirstElement(),requestAnimationFrame((()=>{this.resetScrollPosition()}))}handleFocusTrap(t){if("Escape"===t.key&&this.isShown&&!this.prevent)return void this.handleClose(t);if(!this.isShown)return;if("Tab"!==t.key)return;const o=this.getFocusableElements();0!==o.length&&(t.preventDefault(),t.shiftKey&&(this.activeElementIndex-=1,-1===this.activeElementIndex&&(this.activeElementIndex=o.length-1)),t.shiftKey||(this.activeElementIndex+=1,this.activeElementIndex===o.length&&(this.activeElementIndex=0)),o[this.activeElementIndex].focus())}setDismissButtons(){this.host.querySelectorAll("[data-dismiss-modal]").forEach((t=>{t.addEventListener("click",this.handleClose)}))}render(){const t=e("header",this.host),o=e("actions",this.host),s=this.header?"tds-modal-header-"+r():void 0,d="tds-modal-body-"+r();return a(i,{key:"38bd184949cbc0e6d7547bf9bc7cf3b3c82cabee",role:this.tdsAlertDialog,"aria-modal":"true","aria-describedby":d,"aria-labelledby":s,class:{show:this.isShown,hide:!this.isShown},onClick:t=>this.handleOverlayClick(t)},a("div",{key:"40bb9e834a44e0664958ff6ea3dd4ec404b75044",class:"tds-modal-backdrop"}),a("div",{key:"ef8dfcde8981a5242f552db28eeaf1099c2a5f26",class:`tds-modal tds-modal__actions-${this.actionsPosition} tds-modal-${this.size}`,tabindex:"-1"},a("div",{key:"4295710b96f997295e5ae5b4f16e7b696b8dd7b6",id:s,class:"header"},this.header&&a("div",{key:"b381c7f0dcdd04220badff60d5b48ecf8d9b57da",class:"header-text"},this.header),t&&a("slot",{key:"18f82e6222e91db9e4a2b299b1ee3d3db071a691",name:"header"}),this.closable&&a("button",{key:"fc729f3da82fe8ec4faa46973399508cca4c1bdd",class:"tds-modal-close","aria-label":"close",onClick:t=>this.handleClose(t)},a("tds-icon",{key:"51b5332510518499e947ac45d62c60be2fffac3a",name:"cross",size:"20px"}))),a("div",{key:"25ad7f69e11fdcb61150103f48be124d9a537167",id:d,class:"body"},a("slot",{key:"e7be6f3ac849df52546fc97581b7b23a8e69e1d1",name:"body"})),o&&a("slot",{key:"ac896cffd413b46d488c9466a5ed7db1a8049ff8",name:"actions"})))}get host(){return this}static get watchers(){return{show:[{handleShowPropChange:0}]}}static get style(){return":host,:root{--tds-scrollbar-width-standard:thin;--tds-scrollbar-width:10px;--tds-scrollbar-height:10px;--tds-scrollbar-thumb-border-width:3px;--tds-scrollbar-thumb-border-hover-width:2px}body{scrollbar-width:thin}.tds-modal{box-sizing:border-box;box-shadow:var(--tds-modal-box-shadow);background-color:var(--background-elevation-layer-02);margin:auto;position:relative;border-radius:var(--radius-narrow);max-height:85vh;overflow-y:auto;pointer-events:auto}.tds-modal *{box-sizing:border-box}.tds-modal:hover::-webkit-scrollbar-thumb{border:var(--tds-scrollbar-thumb-border-hover-width) solid transparent;background-clip:padding-box}.tds-modal::-webkit-scrollbar{width:var(--tds-scrollbar-width)}.tds-modal::-webkit-scrollbar-track{background:var(--tds-scrollbar-track-color)}.tds-modal::-webkit-scrollbar-thumb{border-radius:40px;background:var(--tds-scrollbar-thumb-color);border:var(--tds-scrollbar-thumb-border-width) solid transparent;background-clip:padding-box}.tds-modal::-webkit-scrollbar-button{height:0;width:0}@supports not selector(::-webkit-scrollbar){.tds-modal{scrollbar-color:var(--tds-scrollbar-thumb-color) var(--tds-scrollbar-track-color);scrollbar-width:var(--tds-scrollbar-width-standard)}}.tds-modal__actions-sticky{overflow:hidden;display:flex;flex-direction:column}.tds-modal__actions-sticky .body{font-family:var(--body-01-font-family);font-size:var(--body-01-font-size);line-height:var(--body-01-line-height);font-weight:var(--body-01-font-weight);letter-spacing:var(--body-01-letter-spacing);text-transform:var(--body-01-text-transform);max-height:calc(85vh - 36px);overflow-y:auto}.tds-modal__actions-sticky slot[name=actions]{bottom:-1px;left:0;right:0;background-color:var(--background-elevation-layer-02);padding:24px 16px 16px;display:flex;gap:16px}.tds-modal__actions-static slot[name=actions]{background-color:var(--background-elevation-layer-02);display:flex;gap:16px;padding:24px 16px 16px}@media (min-width: 320px){.tds-modal-xs{width:100%}.tds-modal-sm{width:100%}.tds-modal-md{width:100%}.tds-modal-lg{width:100%}}@media (min-width: 672px){.tds-modal-xs{width:50%}.tds-modal-sm{width:62.5%}.tds-modal-md{width:75%}.tds-modal-lg{width:100%}}@media (min-width: 1056px){.tds-modal-xs{width:31.25%}.tds-modal-sm{width:43.75%}.tds-modal-md{width:62.5%}.tds-modal-lg{width:75%}}@media (min-width: 1312px){.tds-modal-xs{width:31.25%}.tds-modal-sm{width:37.5%}.tds-modal-md{width:62.5%}.tds-modal-lg{width:75%}}@media (min-width: 1584px){.tds-modal-xs{width:25%}.tds-modal-sm{width:37.5%}.tds-modal-md{width:50%}.tds-modal-lg{width:75%}}@media (max-width: 320px){.tds-modal-md,.tds-modal-lg,.tds-modal-sm{height:100%}.tds-modal-md slot[name=actions]::slotted(*),.tds-modal-lg slot[name=actions]::slotted(*),.tds-modal-sm slot[name=actions]::slotted(*){display:flex}}.header{display:flex;padding:16px;position:sticky;top:0;background-color:var(--background-elevation-layer-02);z-index:1}.header,slot[name=header]::slotted(*){font-family:var(--headline-05-font-family);font-size:var(--headline-05-font-size);line-height:var(--headline-05-line-height);font-weight:var(--headline-05-font-weight);letter-spacing:var(--headline-05-letter-spacing);text-transform:var(--headline-05-text-transform);color:var(--foreground-text-strong);margin:0;flex:1}.body{font-family:var(--body-01-font-family);font-size:var(--body-01-font-size);line-height:var(--body-01-line-height);font-weight:var(--body-01-font-weight);letter-spacing:var(--body-01-letter-spacing);text-transform:var(--body-01-text-transform);color:var(--foreground-text-strong);overflow-y:visible;padding:0 16px 16px}.body:hover::-webkit-scrollbar-thumb{border:var(--tds-scrollbar-thumb-border-hover-width) solid transparent;background-clip:padding-box}.body::-webkit-scrollbar{width:var(--tds-scrollbar-width)}.body::-webkit-scrollbar-track{background:var(--tds-scrollbar-track-color)}.body::-webkit-scrollbar-thumb{border-radius:40px;background:var(--tds-scrollbar-thumb-color);border:var(--tds-scrollbar-thumb-border-width) solid transparent;background-clip:padding-box}.body::-webkit-scrollbar-button{height:0;width:0}@supports not selector(::-webkit-scrollbar){.body{scrollbar-color:var(--tds-scrollbar-thumb-color) var(--tds-scrollbar-track-color);scrollbar-width:var(--tds-scrollbar-width-standard)}}.tds-modal-backdrop{box-sizing:border-box;position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--tds-modal-backdrop-background);pointer-events:auto}.tds-modal-backdrop *{box-sizing:border-box}button.tds-modal-close{margin:0 0 auto auto;background-color:transparent;border:0;padding:0;appearance:unset}.tds-modal-close{display:inline-block;height:auto;color:var(--foreground-text-strong);cursor:pointer}.tds-modal-close:focus{outline:2px solid var(--tds-focus-outline-color);box-shadow:0 0 0 1px var(--tds-white);outline-offset:1px;z-index:1}@media (min-width: 320px){.tds-modal-close{margin-left:16px}}@media (min-width: 1056px){.tds-modal-close{margin-left:48px}}.tds-modal-close-btn{display:inline-block;height:auto;background-repeat:no-repeat;cursor:pointer}@media (min-width: 320px){.tds-modal-close-btn{margin-left:16px}}@media (min-width: 1056px){.tds-modal-close-btn{margin-left:48px}}.tds-modal-close-btn svg{fill:var(--foreground-text-strong)}.tds-modal-overflow{overflow:hidden}:host{box-sizing:border-box;position:fixed;top:0;right:0;bottom:0;left:0;padding:0 16px;z-index:700;pointer-events:none}:host *{box-sizing:border-box}:host .tds-modal-close{border:none;background-color:transparent}:host .tds-modal-close-btn{border:none;background-color:transparent}@media (max-width: 320px){:host{padding:0}}:host.show{display:flex}:host.hide{display:none}:host(.show){display:flex}:host(.hide){display:none}"}},[257,"tds-modal",{header:[1],prevent:[4],size:[1],actionsPosition:[1,"actions-position"],selector:[1],referenceEl:[16],show:[4],closable:[4],tdsAlertDialog:[1,"tds-alert-dialog"],isShown:[32],activeElementIndex:[32],showModal:[64],closeModal:[64],isOpen:[64],initializeModal:[64],cleanupModal:[64]},[[10,"keydown","handleFocusTrap"]],{show:[{handleShowPropChange:0}]}]);function h(){"undefined"!=typeof customElements&&["tds-modal","tds-icon"].forEach((o=>{switch(o){case"tds-modal":customElements.get(t(o))||customElements.define(t(o),n);break;case"tds-icon":customElements.get(t(o))||l()}}))}h();const c=n,b=h;export{c as TdsModal,b as defineCustomElement}
|
|
@@ -1,65 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
const navigationTabCss = ":host{box-sizing:border-box;display:block}:host *{box-sizing:border-box}:host ::slotted(*){all:unset;font:var(--tds-headline-07) !important;letter-spacing:var(--tds-headline-07-ls) !important;color:var(--tds-navigation-tabs-tab-color);text-decoration:none;display:block;position:relative;transition:color 0.15s ease-in-out 0s;white-space:nowrap;background-color:transparent;border:0;width:100%;padding:26px 0}:host ::slotted(*:focus-visible)::before{content:\"\";position:absolute;left:0;right:0;top:3px;bottom:3px;outline:2px solid var(--tds-focus-outline-color);box-shadow:0 0 0 1px var(--tds-white);outline-offset:1px;z-index:1}:host .navigation-tab-item:not(.selected)::after{width:0%;transition:width 0.15s ease-in-out 0s}:host .navigation-tab-item{position:relative}:host .navigation-tab-item:hover{cursor:pointer}:host .navigation-tab-item:hover ::slotted(*){color:var(--tds-navigation-tabs-tab-color-hover)}:host .navigation-tab-item:hover::after{width:100%}:host .navigation-tab-item::after{content:\" \";position:absolute;bottom:0;right:0;left:0;margin-left:auto;width:0%;margin-right:auto;height:2px;background-color:var(--tds-navigation-tabs-tab-indicator-background-hover);z-index:1}:host .navigation-tab-item:hover:focus-within::after{bottom:3px}:host .selected ::slotted(*){color:var(--tds-navigation-tabs-tab-color-selected)}:host .selected::after{width:100%;background-color:var(--tds-navigation-tabs-tab-indicator-background-active)}:host .disabled ::slotted(*){color:var(--tds-navigation-tabs-tab-color-disabled)}:host .disabled::after{content:none}:host .disabled ::slotted(*:hover){cursor:not-allowed;color:var(--tds-navigation-tabs-tab-color-disabled)}:host .disabled ::slotted(*:focus-visible){outline:none}:host(.last){margin-right:32px}";
|
|
4
|
-
const TdsNavigationTabStyle0 = navigationTabCss;
|
|
5
|
-
|
|
6
|
-
const TdsNavigationTab$1 = /*@__PURE__*/ proxyCustomElement(class TdsNavigationTab extends H {
|
|
7
|
-
constructor() {
|
|
8
|
-
super();
|
|
9
|
-
this.__registerHost();
|
|
10
|
-
this.__attachShadow();
|
|
11
|
-
this.disabled = false;
|
|
12
|
-
this.selected = false;
|
|
13
|
-
}
|
|
14
|
-
/** @internal Method to set the Tab as selected. Used by the <tds-navigation-tabs> */
|
|
15
|
-
async setSelected(selected) {
|
|
16
|
-
this.selected = selected;
|
|
17
|
-
}
|
|
18
|
-
connectedCallback() {
|
|
19
|
-
const elements = this.host.querySelectorAll('button, a');
|
|
20
|
-
for (let index = 0; index < elements.length; index++) {
|
|
21
|
-
const element = elements[index];
|
|
22
|
-
if (!element.getAttribute('aria-controls')) {
|
|
23
|
-
console.warn('Tegel navigation-tab component: Interactive elements should have aria-controls attribute to link the tab to its corresponding panel');
|
|
24
|
-
}
|
|
25
|
-
if (element.getAttribute('role') !== 'tab') {
|
|
26
|
-
console.warn('Tegel navigation-tab component: Interactive elements should have attribute role="tab"');
|
|
27
|
-
}
|
|
28
|
-
if (this.disabled) {
|
|
29
|
-
element.setAttribute('aria-disabled', 'true');
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
element.removeAttribute('aria-disabled');
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
render() {
|
|
37
|
-
return (h(Host, { key: 'c0efa8fbffa68b4c81b7f337d260ed3e8023f7bc' }, h("div", { key: '759dbcb91ef4b320918bcc0dae18aa9f292f2bf5', class: `navigation-tab-item ${this.selected ? 'selected' : ''}
|
|
38
|
-
${this.disabled ? 'disabled' : ''}` }, h("slot", { key: '9eaa20e00dc625bc96723cb937e45aaa58516aa8' }))));
|
|
39
|
-
}
|
|
40
|
-
get host() { return this; }
|
|
41
|
-
static get style() { return TdsNavigationTabStyle0; }
|
|
42
|
-
}, [1, "tds-navigation-tab", {
|
|
43
|
-
"disabled": [4],
|
|
44
|
-
"selected": [32],
|
|
45
|
-
"setSelected": [64]
|
|
46
|
-
}]);
|
|
47
|
-
function defineCustomElement$1() {
|
|
48
|
-
if (typeof customElements === "undefined") {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
const components = ["tds-navigation-tab"];
|
|
52
|
-
components.forEach(tagName => { switch (tagName) {
|
|
53
|
-
case "tds-navigation-tab":
|
|
54
|
-
if (!customElements.get(tagName)) {
|
|
55
|
-
customElements.define(tagName, TdsNavigationTab$1);
|
|
56
|
-
}
|
|
57
|
-
break;
|
|
58
|
-
} });
|
|
59
|
-
}
|
|
60
|
-
defineCustomElement$1();
|
|
61
|
-
|
|
62
|
-
const TdsNavigationTab = TdsNavigationTab$1;
|
|
63
|
-
const defineCustomElement = defineCustomElement$1;
|
|
64
|
-
|
|
65
|
-
export { TdsNavigationTab, defineCustomElement };
|
|
1
|
+
import{t,p as o,H as e,h as a,a as i}from"./index.js";const s=o(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.disabled=!1,this.selected=!1}async setSelected(t){this.selected=t}connectedCallback(){const t=this.host.querySelectorAll("button, a");for(let o=0;o<t.length;o++){const e=t[o];e.getAttribute("aria-controls")||console.warn("Tegel navigation-tab component: Interactive elements should have aria-controls attribute to link the tab to its corresponding panel"),"tab"!==e.getAttribute("role")&&console.warn('Tegel navigation-tab component: Interactive elements should have attribute role="tab"'),this.disabled?e.setAttribute("aria-disabled","true"):e.removeAttribute("aria-disabled")}}render(){return a(i,{key:"c0efa8fbffa68b4c81b7f337d260ed3e8023f7bc"},a("div",{key:"759dbcb91ef4b320918bcc0dae18aa9f292f2bf5",class:`navigation-tab-item ${this.selected?"selected":""}\n ${this.disabled?"disabled":""}`},a("slot",{key:"9eaa20e00dc625bc96723cb937e45aaa58516aa8"})))}get host(){return this}static get style(){return':host{box-sizing:border-box;display:block}:host *{box-sizing:border-box}:host ::slotted(*){all:unset;font:var(--tds-headline-07) !important;letter-spacing:var(--tds-headline-07-ls) !important;color:var(--tds-navigation-tabs-tab-color);text-decoration:none;display:block;position:relative;transition:color 0.15s ease-in-out 0s;white-space:nowrap;background-color:transparent;border:0;width:100%;padding:26px 0}:host ::slotted(*:focus-visible)::before{content:"";position:absolute;left:0;right:0;top:3px;bottom:3px;outline:2px solid var(--tds-focus-outline-color);box-shadow:0 0 0 1px var(--tds-white);outline-offset:1px;z-index:1}:host .navigation-tab-item:not(.selected)::after{width:0%;transition:width 0.15s ease-in-out 0s}:host .navigation-tab-item{position:relative}:host .navigation-tab-item:hover{cursor:pointer}:host .navigation-tab-item:hover ::slotted(*){color:var(--tds-navigation-tabs-tab-color-hover)}:host .navigation-tab-item:hover::after{width:100%}:host .navigation-tab-item::after{content:" ";position:absolute;bottom:0;right:0;left:0;margin-left:auto;width:0%;margin-right:auto;height:2px;background-color:var(--tds-navigation-tabs-tab-indicator-background-hover);z-index:1}:host .navigation-tab-item:hover:focus-within::after{bottom:3px}:host .selected ::slotted(*){color:var(--tds-navigation-tabs-tab-color-selected)}:host .selected::after{width:100%;background-color:var(--tds-navigation-tabs-tab-indicator-background-active)}:host .disabled ::slotted(*){color:var(--tds-navigation-tabs-tab-color-disabled)}:host .disabled::after{content:none}:host .disabled ::slotted(*:hover){cursor:not-allowed;color:var(--tds-navigation-tabs-tab-color-disabled)}:host .disabled ::slotted(*:focus-visible){outline:none}:host(.last){margin-right:32px}'}},[257,"tds-navigation-tab",{disabled:[4],selected:[32],setSelected:[64]}]);function n(){"undefined"!=typeof customElements&&["tds-navigation-tab"].forEach((o=>{"tds-navigation-tab"===o&&(customElements.get(t(o))||customElements.define(t(o),s))}))}n();const r=s,d=n;export{r as TdsNavigationTab,d as defineCustomElement}
|
|
@@ -1,240 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { d as defineCustomElement$2 } from './p-f086ba26.js';
|
|
3
|
-
|
|
4
|
-
const navigationTabsCss = ":host{box-sizing:border-box;display:flex;background-color:var(--tds-navigation-tabs-background);position:relative}:host *{box-sizing:border-box}:host::after{content:\" \";display:block;border-bottom:1px solid var(--tds-navigation-tabs-horizontal-divider-background);left:0;right:0;bottom:0;position:absolute}:host .wrapper{display:flex;flex-wrap:nowrap;white-space:nowrap;width:100%;overflow-x:scroll;scrollbar-width:none;gap:16px}:host .wrapper::-webkit-scrollbar{display:none}:host .scroll-right-button{right:0;z-index:1}:host .scroll-left-button{left:0;z-index:1}:host .scroll-right-button,:host .scroll-left-button{color:var(--tds-folder-tabs-scroll-btn-color);cursor:pointer;border:0;width:0;background-color:var(--tds-inline-tabs-scroll-btn-background);display:none;justify-content:center;align-items:center;opacity:0;pointer-events:none;position:sticky}:host .scroll-right-button.show,:host .scroll-left-button.show{min-width:48px;display:block;opacity:1;pointer-events:all}:host .scroll-right-button:hover,:host .scroll-left-button:hover{background-color:var(--tds-folder-tabs-scroll-btn-background-hover)}:host .scroll-right-button:active,:host .scroll-left-button:active{background-color:var(--tds-folder-tabs-scroll-btn-background-active)}:host .scroll-right-button:focus::before,:host .scroll-left-button:focus::before{content:\"\";position:absolute;left:3px;right:3px;top:3px;bottom:3px;outline:2px solid var(--tds-focus-outline-color);box-shadow:0 0 0 1px var(--tds-white);outline-offset:1px;z-index:1}:host .scroll-right-button:focus,:host .scroll-left-button:focus{outline:0}:host .scroll-right-button svg,:host .scroll-left-button svg{fill:var(--tds-folder-tabs-scroll-btn-color)}";
|
|
5
|
-
const TdsNavigationTabsStyle0 = navigationTabsCss;
|
|
6
|
-
|
|
7
|
-
const TdsNavigationTabs$1 = /*@__PURE__*/ proxyCustomElement(class TdsNavigationTabs extends H {
|
|
8
|
-
constructor() {
|
|
9
|
-
super();
|
|
10
|
-
this.__registerHost();
|
|
11
|
-
this.__attachShadow();
|
|
12
|
-
this.tdsChange = createEvent(this, "tdsChange", 7);
|
|
13
|
-
this.navWrapperElement = null; // reference to container with nav buttons
|
|
14
|
-
this.componentWidth = 0; // visible width of this component
|
|
15
|
-
this.buttonsWidth = 0; // total width of all nav items combined
|
|
16
|
-
this.scrollWidth = 0; // total amount that is possible to scroll in the nav wrapper
|
|
17
|
-
this.children = [];
|
|
18
|
-
this.clickHandlers = new WeakMap();
|
|
19
|
-
this.addResizeObserver = () => {
|
|
20
|
-
const resizeObserver = new ResizeObserver((entries) => {
|
|
21
|
-
entries.forEach((entry) => {
|
|
22
|
-
const componentWidth = entry.contentRect.width;
|
|
23
|
-
let buttonsWidth = 0;
|
|
24
|
-
const navButtons = Array.from(this.host.children);
|
|
25
|
-
navButtons.forEach((navButton) => {
|
|
26
|
-
const style = window.getComputedStyle(navButton);
|
|
27
|
-
buttonsWidth +=
|
|
28
|
-
navButton.clientWidth + parseFloat(style.marginLeft) + parseFloat(style.marginRight);
|
|
29
|
-
});
|
|
30
|
-
this.componentWidth = componentWidth;
|
|
31
|
-
this.buttonsWidth = buttonsWidth;
|
|
32
|
-
this.scrollWidth = buttonsWidth - componentWidth;
|
|
33
|
-
this.updateScrollButtons();
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
if (this.navWrapperElement)
|
|
37
|
-
resizeObserver.observe(this.navWrapperElement);
|
|
38
|
-
};
|
|
39
|
-
this.addEventListenerToTabs = () => {
|
|
40
|
-
this.children = Array.from(this.host.children);
|
|
41
|
-
this.children.map((item, index) => {
|
|
42
|
-
const clickHandler = () => {
|
|
43
|
-
if (!item.disabled) {
|
|
44
|
-
const tdsChangeEvent = this.tdsChange.emit({
|
|
45
|
-
selectedTabIndex: this.children.indexOf(item),
|
|
46
|
-
});
|
|
47
|
-
if (!tdsChangeEvent.defaultPrevented) {
|
|
48
|
-
this.children.forEach((element) => element.setSelected(false));
|
|
49
|
-
item.setSelected(true);
|
|
50
|
-
this.selectedIndex = index;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
item.addEventListener('click', clickHandler);
|
|
55
|
-
this.clickHandlers.set(item, clickHandler); // Store the handler in WeakMap
|
|
56
|
-
return item;
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
this.removeEventListenerFromTabs = () => {
|
|
60
|
-
this.children.forEach((item) => {
|
|
61
|
-
const clickHandler = this.clickHandlers.get(item);
|
|
62
|
-
if (clickHandler) {
|
|
63
|
-
item.removeEventListener('click', clickHandler);
|
|
64
|
-
this.clickHandlers.delete(item);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
};
|
|
68
|
-
this.modeVariant = 'primary';
|
|
69
|
-
this.defaultSelectedIndex = 0;
|
|
70
|
-
this.selectedIndex = undefined;
|
|
71
|
-
this.leftPadding = 32;
|
|
72
|
-
this.tdsScrollLeftAriaLabel = 'Scroll left';
|
|
73
|
-
this.tdsScrollRightAriaLabel = 'Scroll right';
|
|
74
|
-
this.showLeftScroll = false;
|
|
75
|
-
this.showRightScroll = false;
|
|
76
|
-
}
|
|
77
|
-
/** Sets the passed tabindex as the selected Tab. */
|
|
78
|
-
async selectTab(tabIndex) {
|
|
79
|
-
if (!this.children[tabIndex].disabled) {
|
|
80
|
-
this.children.forEach((element) => element.setSelected(false));
|
|
81
|
-
this.children = this.children.map((element, index) => {
|
|
82
|
-
if (index === tabIndex) {
|
|
83
|
-
element.setSelected(true);
|
|
84
|
-
this.selectedIndex = tabIndex;
|
|
85
|
-
}
|
|
86
|
-
return element;
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
return {
|
|
90
|
-
selectedTabIndex: this.selectedIndex,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
/** Reinitializes the component. */
|
|
94
|
-
async reinitialize() {
|
|
95
|
-
this.handleSlotChange();
|
|
96
|
-
}
|
|
97
|
-
handleSelectedIndexUpdate() {
|
|
98
|
-
this.children = Array.from(this.host.children).map((tabElement) => {
|
|
99
|
-
tabElement.setSelected(false);
|
|
100
|
-
return tabElement;
|
|
101
|
-
});
|
|
102
|
-
if (this.selectedIndex) {
|
|
103
|
-
this.children[this.selectedIndex].setSelected(true);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
scrollRight() {
|
|
107
|
-
if (!this.navWrapperElement)
|
|
108
|
-
return;
|
|
109
|
-
const scroll = this.navWrapperElement.scrollLeft;
|
|
110
|
-
this.navWrapperElement.scrollLeft = scroll + this.buttonsWidth;
|
|
111
|
-
this.evaluateScrollButtons();
|
|
112
|
-
}
|
|
113
|
-
scrollLeft() {
|
|
114
|
-
if (!this.navWrapperElement)
|
|
115
|
-
return;
|
|
116
|
-
const scroll = this.navWrapperElement.scrollLeft;
|
|
117
|
-
this.navWrapperElement.scrollLeft = scroll - this.buttonsWidth;
|
|
118
|
-
this.evaluateScrollButtons();
|
|
119
|
-
}
|
|
120
|
-
evaluateScrollButtons() {
|
|
121
|
-
if (!this.navWrapperElement)
|
|
122
|
-
return;
|
|
123
|
-
const scroll = this.navWrapperElement.scrollLeft;
|
|
124
|
-
this.showRightScroll = scroll <= this.scrollWidth;
|
|
125
|
-
this.showLeftScroll = scroll > 0;
|
|
126
|
-
}
|
|
127
|
-
initializeTabs() {
|
|
128
|
-
this.children = Array.from(this.host.children);
|
|
129
|
-
// remove first and last class from other tabs in case of initialization
|
|
130
|
-
this.children.forEach((child) => {
|
|
131
|
-
child.classList.remove('last');
|
|
132
|
-
child.classList.remove('first');
|
|
133
|
-
});
|
|
134
|
-
if (this.children.length > 0) {
|
|
135
|
-
this.children[0].classList.add('first');
|
|
136
|
-
this.children[this.children.length - 1].classList.add('last');
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
initializeSelectedTab() {
|
|
140
|
-
if (this.selectedIndex === undefined) {
|
|
141
|
-
this.addEventListenerToTabs();
|
|
142
|
-
this.children[this.defaultSelectedIndex].setSelected(true);
|
|
143
|
-
this.selectedIndex = this.defaultSelectedIndex;
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
this.children[this.selectedIndex].setSelected(true);
|
|
147
|
-
}
|
|
148
|
-
this.tdsChange.emit({
|
|
149
|
-
selectedTabIndex: this.selectedIndex,
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
updateScrollButtons() {
|
|
153
|
-
if (this.buttonsWidth > this.componentWidth) {
|
|
154
|
-
this.evaluateScrollButtons();
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
this.showLeftScroll = false;
|
|
158
|
-
this.showRightScroll = false;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
applyCustomLeftPadding() {
|
|
162
|
-
if (this.navWrapperElement) {
|
|
163
|
-
this.navWrapperElement.style.paddingLeft = `${this.leftPadding}px`;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
handleSlotChange() {
|
|
167
|
-
this.initializeTabs();
|
|
168
|
-
this.addEventListenerToTabs();
|
|
169
|
-
this.initializeSelectedTab();
|
|
170
|
-
this.updateScrollButtons();
|
|
171
|
-
this.addResizeObserver();
|
|
172
|
-
this.applyCustomLeftPadding(); // Apply custom left padding to the wrapper
|
|
173
|
-
}
|
|
174
|
-
connectedCallback() {
|
|
175
|
-
this.initializeTabs();
|
|
176
|
-
}
|
|
177
|
-
componentDidLoad() {
|
|
178
|
-
this.initializeSelectedTab();
|
|
179
|
-
}
|
|
180
|
-
componentDidRender() {
|
|
181
|
-
this.updateScrollButtons();
|
|
182
|
-
this.addResizeObserver();
|
|
183
|
-
}
|
|
184
|
-
disconnectedCallback() {
|
|
185
|
-
this.removeEventListenerFromTabs();
|
|
186
|
-
}
|
|
187
|
-
render() {
|
|
188
|
-
return (h(Host, { key: 'c7888b2f78e9aeb8fb6ca1041787785fe7d7c840', role: "tablist", class: { [`tds-mode-variant-${this.modeVariant}`]: this.modeVariant !== null } }, h("div", { key: '177a79f69514e597d2795b4d60f335b485195eb0', class: "wrapper", ref: (el) => {
|
|
189
|
-
this.navWrapperElement = el;
|
|
190
|
-
}, style: { paddingLeft: `${this.leftPadding}px` } }, h("button", { key: '7455ad87dc61ba3c4fa28aa4e9462e9fe91dbcca', "aria-label": this.tdsScrollLeftAriaLabel, class: {
|
|
191
|
-
'scroll-left-button': true,
|
|
192
|
-
'show': this.showLeftScroll,
|
|
193
|
-
}, onClick: () => this.scrollLeft(), disabled: !this.showLeftScroll }, h("tds-icon", { key: 'f4b9a3b4d0eeed6c6b9035a9a33f9868fbb93bab', name: "chevron_left", size: "20px" })), h("slot", { key: '9757ef20e30a223f4dec3bf5a41da912821a46de', onSlotchange: () => this.handleSlotChange() }), h("button", { key: '215c0a386b22f44bb891c4685c4f5b3b991982c8', "aria-label": this.tdsScrollRightAriaLabel, class: {
|
|
194
|
-
'scroll-right-button': true,
|
|
195
|
-
'show': this.showRightScroll,
|
|
196
|
-
}, onClick: () => this.scrollRight(), disabled: !this.showRightScroll }, h("tds-icon", { key: '21782c8e407746676988fb00324e10ba94379b78', name: "chevron_right", size: "20px" })))));
|
|
197
|
-
}
|
|
198
|
-
get host() { return this; }
|
|
199
|
-
static get watchers() { return {
|
|
200
|
-
"selectedIndex": ["handleSelectedIndexUpdate"]
|
|
201
|
-
}; }
|
|
202
|
-
static get style() { return TdsNavigationTabsStyle0; }
|
|
203
|
-
}, [1, "tds-navigation-tabs", {
|
|
204
|
-
"modeVariant": [1, "mode-variant"],
|
|
205
|
-
"defaultSelectedIndex": [2, "default-selected-index"],
|
|
206
|
-
"selectedIndex": [514, "selected-index"],
|
|
207
|
-
"leftPadding": [514, "left-padding"],
|
|
208
|
-
"tdsScrollLeftAriaLabel": [1, "tds-scroll-left-aria-label"],
|
|
209
|
-
"tdsScrollRightAriaLabel": [1, "tds-scroll-right-aria-label"],
|
|
210
|
-
"showLeftScroll": [32],
|
|
211
|
-
"showRightScroll": [32],
|
|
212
|
-
"selectTab": [64],
|
|
213
|
-
"reinitialize": [64]
|
|
214
|
-
}, undefined, {
|
|
215
|
-
"selectedIndex": ["handleSelectedIndexUpdate"]
|
|
216
|
-
}]);
|
|
217
|
-
function defineCustomElement$1() {
|
|
218
|
-
if (typeof customElements === "undefined") {
|
|
219
|
-
return;
|
|
220
|
-
}
|
|
221
|
-
const components = ["tds-navigation-tabs", "tds-icon"];
|
|
222
|
-
components.forEach(tagName => { switch (tagName) {
|
|
223
|
-
case "tds-navigation-tabs":
|
|
224
|
-
if (!customElements.get(tagName)) {
|
|
225
|
-
customElements.define(tagName, TdsNavigationTabs$1);
|
|
226
|
-
}
|
|
227
|
-
break;
|
|
228
|
-
case "tds-icon":
|
|
229
|
-
if (!customElements.get(tagName)) {
|
|
230
|
-
defineCustomElement$2();
|
|
231
|
-
}
|
|
232
|
-
break;
|
|
233
|
-
} });
|
|
234
|
-
}
|
|
235
|
-
defineCustomElement$1();
|
|
236
|
-
|
|
237
|
-
const TdsNavigationTabs = TdsNavigationTabs$1;
|
|
238
|
-
const defineCustomElement = defineCustomElement$1;
|
|
239
|
-
|
|
240
|
-
export { TdsNavigationTabs, defineCustomElement };
|
|
1
|
+
import{t,p as s,H as i,c as e,h as o,a as l}from"./index.js";import{d as h}from"./p-C0fx1H4h.js";const a=s(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.tdsChange=e(this,"tdsChange",7),this.modeVariant="primary",this.defaultSelectedIndex=0,this.leftPadding=32,this.tdsScrollLeftAriaLabel="Scroll left",this.tdsScrollRightAriaLabel="Scroll right",this.showLeftScroll=!1,this.showRightScroll=!1,this.navWrapperElement=null,this.componentWidth=0,this.buttonsWidth=0,this.scrollableWidth=0,this.tabElements=[],this.clickHandlers=new WeakMap,this.addResizeObserver=()=>{const t=new ResizeObserver((t=>{t.forEach((t=>{const s=t.contentRect.width;let i=0;Array.from(this.host.children).forEach((t=>{const s=window.getComputedStyle(t);i+=t.clientWidth+parseFloat(s.marginLeft)+parseFloat(s.marginRight)})),this.componentWidth=s,this.buttonsWidth=i,this.scrollableWidth=i-s,this.updateScrollButtons()}))}));this.navWrapperElement&&t.observe(this.navWrapperElement)},this.addEventListenerToTabs=()=>{this.tabElements=Array.from(this.host.children),this.tabElements.map(((t,s)=>{const i=()=>{t.disabled||this.tdsChange.emit({selectedTabIndex:this.tabElements.indexOf(t)}).defaultPrevented||(this.tabElements.forEach((t=>t.setSelected(!1))),t.setSelected(!0),this.selectedIndex=s)};return t.addEventListener("click",i),this.clickHandlers.set(t,i),t}))},this.removeEventListenerFromTabs=()=>{this.tabElements.forEach((t=>{const s=this.clickHandlers.get(t);s&&(t.removeEventListener("click",s),this.clickHandlers.delete(t))}))}}async selectTab(t){return this.tabElements[t].disabled||(this.tabElements.forEach((t=>t.setSelected(!1))),this.tabElements=this.tabElements.map(((s,i)=>(i===t&&(s.setSelected(!0),this.selectedIndex=t),s)))),{selectedTabIndex:this.selectedIndex}}async reinitialize(){this.handleSlotChange()}handleSelectedIndexUpdate(){this.tabElements=Array.from(this.host.children).map((t=>(t.setSelected(!1),t))),this.selectedIndex&&this.tabElements[this.selectedIndex].setSelected(!0)}scrollRight(){this.navWrapperElement&&(this.navWrapperElement.scrollLeft=this.navWrapperElement.scrollLeft+this.buttonsWidth,this.evaluateScrollButtons())}scrollLeft(){this.navWrapperElement&&(this.navWrapperElement.scrollLeft=this.navWrapperElement.scrollLeft-this.buttonsWidth,this.evaluateScrollButtons())}evaluateScrollButtons(){if(!this.navWrapperElement)return;const t=this.navWrapperElement.scrollLeft;this.showRightScroll=t<=this.scrollableWidth,this.showLeftScroll=t>0}initializeTabs(){this.tabElements=Array.from(this.host.children),this.tabElements.forEach((t=>{t.classList.remove("last"),t.classList.remove("first")})),this.tabElements.length>0&&(this.tabElements[0].classList.add("first"),this.tabElements[this.tabElements.length-1].classList.add("last"))}initializeSelectedTab(){void 0===this.selectedIndex?(this.addEventListenerToTabs(),this.tabElements[this.defaultSelectedIndex].setSelected(!0),this.selectedIndex=this.defaultSelectedIndex):this.tabElements[this.selectedIndex].setSelected(!0),this.tdsChange.emit({selectedTabIndex:this.selectedIndex})}updateScrollButtons(){this.buttonsWidth>this.componentWidth?this.evaluateScrollButtons():(this.showLeftScroll=!1,this.showRightScroll=!1)}applyCustomLeftPadding(){this.navWrapperElement&&(this.navWrapperElement.style.paddingLeft=this.leftPadding+"px")}handleSlotChange(){this.initializeTabs(),this.addEventListenerToTabs(),this.initializeSelectedTab(),this.updateScrollButtons(),this.addResizeObserver(),this.applyCustomLeftPadding()}connectedCallback(){this.initializeTabs()}componentDidLoad(){this.initializeSelectedTab()}componentDidRender(){this.updateScrollButtons(),this.addResizeObserver()}disconnectedCallback(){this.removeEventListenerFromTabs()}render(){return o(l,{key:"6bab3db3c82f13794cbd793f78d08823cc904c4e",role:"tablist",class:{["tds-mode-variant-"+this.modeVariant]:null!==this.modeVariant}},o("div",{key:"6893ee0cb1c40fad60b19494d800de2d5b87f8c0",class:"wrapper",ref:t=>{this.navWrapperElement=t},style:{paddingLeft:this.leftPadding+"px"}},o("button",{key:"9e5142bec5991cd80b3799fe96491adb9c2ead64","aria-label":this.tdsScrollLeftAriaLabel,class:{"scroll-left-button":!0,show:this.showLeftScroll},onClick:()=>this.scrollLeft(),disabled:!this.showLeftScroll},o("tds-icon",{key:"cd510de885b8471dfa27c2c68d95e2163e594eaf",name:"chevron_left",size:"20px"})),o("slot",{key:"a9406234d70203824c538c9fdc2c0caef31e2660",onSlotchange:()=>this.handleSlotChange()}),o("button",{key:"9fe74d05a6b2e3d3a4cc229e25af3977df9a7d48","aria-label":this.tdsScrollRightAriaLabel,class:{"scroll-right-button":!0,show:this.showRightScroll},onClick:()=>this.scrollRight(),disabled:!this.showRightScroll},o("tds-icon",{key:"82905af610ba5791b9ba021bcd124d912ad2b599",name:"chevron_right",size:"20px"}))))}get host(){return this}static get watchers(){return{selectedIndex:[{handleSelectedIndexUpdate:0}]}}static get style(){return':host{box-sizing:border-box;display:flex;background-color:var(--tds-navigation-tabs-background);position:relative}:host *{box-sizing:border-box}:host::after{content:" ";display:block;border-bottom:1px solid var(--tds-navigation-tabs-horizontal-divider-background);left:0;right:0;bottom:0;position:absolute}:host .wrapper{display:flex;flex-wrap:nowrap;white-space:nowrap;width:100%;overflow-x:scroll;scrollbar-width:none;gap:16px}:host .wrapper::-webkit-scrollbar{display:none}:host .scroll-right-button{right:0;z-index:1}:host .scroll-left-button{left:0;z-index:1}:host .scroll-right-button,:host .scroll-left-button{color:var(--tds-folder-tabs-scroll-btn-color);cursor:pointer;border:0;width:0;background-color:var(--tds-inline-tabs-scroll-btn-background);display:none;justify-content:center;align-items:center;opacity:0;pointer-events:none;position:sticky}:host .scroll-right-button.show,:host .scroll-left-button.show{min-width:48px;display:block;opacity:1;pointer-events:all}:host .scroll-right-button:hover,:host .scroll-left-button:hover{background-color:var(--tds-folder-tabs-scroll-btn-background-hover)}:host .scroll-right-button:active,:host .scroll-left-button:active{background-color:var(--tds-folder-tabs-scroll-btn-background-active)}:host .scroll-right-button:focus::before,:host .scroll-left-button:focus::before{content:"";position:absolute;left:3px;right:3px;top:3px;bottom:3px;outline:2px solid var(--tds-focus-outline-color);box-shadow:0 0 0 1px var(--tds-white);outline-offset:1px;z-index:1}:host .scroll-right-button:focus,:host .scroll-left-button:focus{outline:0}:host .scroll-right-button svg,:host .scroll-left-button svg{fill:var(--tds-folder-tabs-scroll-btn-color)}'}},[257,"tds-navigation-tabs",{modeVariant:[1,"mode-variant"],defaultSelectedIndex:[2,"default-selected-index"],selectedIndex:[514,"selected-index"],leftPadding:[514,"left-padding"],tdsScrollLeftAriaLabel:[1,"tds-scroll-left-aria-label"],tdsScrollRightAriaLabel:[1,"tds-scroll-right-aria-label"],showLeftScroll:[32],showRightScroll:[32],selectTab:[64],reinitialize:[64]},void 0,{selectedIndex:[{handleSelectedIndexUpdate:0}]}]);function r(){"undefined"!=typeof customElements&&["tds-navigation-tabs","tds-icon"].forEach((s=>{switch(s){case"tds-navigation-tabs":customElements.get(t(s))||customElements.define(t(s),a);break;case"tds-icon":customElements.get(t(s))||h()}}))}r();const n=a,c=r;export{n as TdsNavigationTabs,c as defineCustomElement}
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
const TdsPopoverCanvas = TdsPopoverCanvas$1;
|
|
4
|
-
const defineCustomElement = defineCustomElement$1;
|
|
5
|
-
|
|
6
|
-
export { TdsPopoverCanvas, defineCustomElement };
|
|
1
|
+
import{T as o,d as s}from"./p-CWEJdWOg.js";const p=o,r=s;export{p as TdsPopoverCanvas,r as defineCustomElement}
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
const TdsPopoverCore = TdsPopoverCore$1;
|
|
4
|
-
const defineCustomElement = defineCustomElement$1;
|
|
5
|
-
|
|
6
|
-
export { TdsPopoverCore, defineCustomElement };
|
|
1
|
+
import{T as o,d as r}from"./p-BrDlXJ4P.js";const s=o,p=r;export{s as TdsPopoverCore,p as defineCustomElement}
|