@six-group/ui-library 0.0.0-insider.d16ec8e → 0.0.0-insider.daba936
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 +9 -0
- package/dist/cjs/error-messages-6e8049a4.js +119 -0
- package/dist/cjs/error-messages-6e8049a4.js.map +1 -0
- package/dist/cjs/event-listeners-9fb878f1.js +61 -0
- package/dist/cjs/event-listeners-9fb878f1.js.map +1 -0
- package/dist/cjs/{execution-control-45c84c46.js → execution-control-d728da70.js} +15 -15
- package/dist/cjs/execution-control-d728da70.js.map +1 -0
- package/dist/cjs/focus-visible-e2c9255a.js +47 -0
- package/dist/cjs/focus-visible-e2c9255a.js.map +1 -0
- package/dist/cjs/form-9ebaae7c.js +20 -0
- package/dist/cjs/form-9ebaae7c.js.map +1 -0
- package/dist/cjs/form-control-72186fcc.js +36 -0
- package/dist/cjs/form-control-72186fcc.js.map +1 -0
- package/dist/cjs/{index-ccf35821.js → index-5dd19c4b.js} +766 -206
- package/dist/cjs/index-5dd19c4b.js.map +1 -0
- package/dist/cjs/index.cjs.js +62 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +3 -12
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/modal-3ce015be.js +52 -0
- package/dist/cjs/modal-3ce015be.js.map +1 -0
- package/dist/cjs/{popover-b5e2d5ef.js → popover-1e7c09f1.js} +105 -111
- package/dist/cjs/popover-1e7c09f1.js.map +1 -0
- package/dist/cjs/popup-e854acda.js +103 -0
- package/dist/cjs/popup-e854acda.js.map +1 -0
- package/dist/cjs/scroll-68033901.js +68 -0
- package/dist/{esm/scroll-180b53fd.js.map → cjs/scroll-68033901.js.map} +1 -1
- package/dist/cjs/set-attributes_2.cjs.entry.js +51 -51
- package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
- package/dist/cjs/six-alert.cjs.entry.js +133 -110
- package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/six-avatar.cjs.entry.js +21 -21
- package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-badge.cjs.entry.js +23 -23
- package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/six-button.cjs.entry.js +95 -89
- package/dist/cjs/six-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-card.cjs.entry.js +8 -8
- package/dist/cjs/six-card.cjs.entry.js.map +1 -1
- package/dist/cjs/six-checkbox_2.cjs.entry.js +190 -0
- package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
- package/dist/cjs/six-datepicker.cjs.entry.js +837 -870
- package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-details.cjs.entry.js +127 -127
- package/dist/cjs/six-details.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dialog.cjs.entry.js +129 -129
- package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/six-drawer.cjs.entry.js +147 -147
- package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dropdown_2.cjs.entry.js +707 -637
- package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/six-error-page.cjs.entry.js +82 -82
- package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
- package/dist/cjs/six-error.cjs.entry.js +21 -0
- package/dist/cjs/six-error.cjs.entry.js.map +1 -0
- package/dist/cjs/six-file-list-item.cjs.entry.js +34 -34
- package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-list.cjs.entry.js +7 -7
- package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-upload.cjs.entry.js +99 -99
- package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/six-footer.cjs.entry.js +8 -8
- package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-group-label.cjs.entry.js +43 -43
- package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-header.cjs.entry.js +171 -156
- package/dist/cjs/six-header.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon-button.cjs.entry.js +32 -32
- package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon.cjs.entry.js +22 -22
- package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/six-input.cjs.entry.js +187 -241
- package/dist/cjs/six-input.cjs.entry.js.map +1 -1
- package/dist/cjs/six-item-picker.cjs.entry.js +405 -309
- package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-language-switcher.cjs.entry.js +46 -46
- package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
- package/dist/cjs/six-layout-grid.cjs.entry.js +20 -20
- package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/six-main-container.cjs.entry.js +9 -9
- package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-divider.cjs.entry.js +8 -8
- package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-label.cjs.entry.js +8 -8
- package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-picto.cjs.entry.js +14 -14
- package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
- package/dist/cjs/six-progress-bar.cjs.entry.js +15 -15
- package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-progress-ring.cjs.entry.js +30 -30
- package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
- package/dist/cjs/six-radio.cjs.entry.js +103 -117
- package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/six-range.cjs.entry.js +178 -213
- package/dist/cjs/six-range.cjs.entry.js.map +1 -1
- package/dist/cjs/six-root.cjs.entry.js +30 -30
- package/dist/cjs/six-root.cjs.entry.js.map +1 -1
- package/dist/cjs/six-search-field.cjs.entry.js +44 -44
- package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/six-select.cjs.entry.js +496 -401
- package/dist/cjs/six-select.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js +56 -45
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar-item.cjs.entry.js +17 -15
- package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar.cjs.entry.js +174 -174
- package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-spinner.cjs.entry.js +15 -15
- package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/six-switch.cjs.entry.js +106 -100
- package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab-group.cjs.entry.js +230 -235
- package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab-panel.cjs.entry.js +14 -14
- package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab.cjs.entry.js +55 -39
- package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tag.cjs.entry.js +55 -33
- package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/six-textarea.cjs.entry.js +182 -228
- package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tile.cjs.entry.js +77 -77
- package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
- package/dist/cjs/six-timepicker.cjs.entry.js +348 -363
- package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tooltip.cjs.entry.js +148 -148
- package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/slot-1b1232a1.js +51 -0
- package/dist/cjs/slot-1b1232a1.js.map +1 -0
- package/dist/cjs/types-d3da200b.js +19 -0
- package/dist/cjs/types-d3da200b.js.map +1 -0
- package/dist/cjs/ui-library.cjs.js +3 -6
- package/dist/cjs/ui-library.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +55 -55
- package/dist/collection/components/six-alert/six-alert.css +5 -1
- package/dist/collection/components/six-alert/six-alert.js +374 -331
- package/dist/collection/components/six-alert/six-alert.js.map +1 -1
- package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
- package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
- package/dist/collection/components/six-avatar/six-avatar.css +2 -2
- package/dist/collection/components/six-avatar/six-avatar.js +112 -112
- package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
- package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
- package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
- package/dist/collection/components/six-badge/six-badge.css +1 -1
- package/dist/collection/components/six-badge/six-badge.js +91 -91
- package/dist/collection/components/six-badge/six-badge.js.map +1 -1
- package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
- package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
- package/dist/collection/components/six-button/six-button.css +7 -31
- package/dist/collection/components/six-button/six-button.js +450 -438
- package/dist/collection/components/six-button/six-button.js.map +1 -1
- package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
- package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
- package/dist/collection/components/six-card/six-card.css +4 -5
- package/dist/collection/components/six-card/six-card.js +16 -16
- package/dist/collection/components/six-card/six-card.js.map +1 -1
- package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
- package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
- package/dist/collection/components/six-checkbox/six-checkbox.css +10 -2
- package/dist/collection/components/six-checkbox/six-checkbox.js +422 -527
- package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
- package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +83 -0
- package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
- package/dist/collection/components/six-datepicker/components/day-selection.js +9 -9
- package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
- package/dist/collection/components/six-datepicker/components/month-selection.js +10 -10
- package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
- package/dist/collection/components/six-datepicker/components/year-selection.js +10 -10
- package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
- package/dist/collection/components/six-datepicker/six-date-formats.js +21 -20
- package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
- package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
- package/dist/collection/components/six-datepicker/six-datepicker.js +1058 -1107
- package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
- package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
- package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
- package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +14 -14
- package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js.map +1 -1
- package/dist/collection/components/six-details/six-details.css +4 -6
- package/dist/collection/components/six-details/six-details.js +412 -406
- package/dist/collection/components/six-details/six-details.js.map +1 -1
- package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
- package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
- package/dist/collection/components/six-dialog/six-dialog.css +2 -2
- package/dist/collection/components/six-dialog/six-dialog.js +359 -351
- package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
- package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
- package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
- package/dist/collection/components/six-drawer/six-drawer.css +2 -2
- package/dist/collection/components/six-drawer/six-drawer.js +414 -406
- package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
- package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
- package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
- package/dist/collection/components/six-dropdown/six-dropdown.css +22 -6
- package/dist/collection/components/six-dropdown/six-dropdown.js +986 -884
- package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
- package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +147 -0
- package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
- package/dist/collection/components/six-error/six-error.css +5 -0
- package/dist/collection/components/six-error/six-error.js +25 -0
- package/dist/collection/components/six-error/six-error.js.map +1 -0
- package/dist/collection/components/six-error-page/six-error-page.js +178 -178
- package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
- package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
- package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
- package/dist/collection/components/six-file-list/six-file-list.js +16 -16
- package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
- package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
- package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
- package/dist/collection/components/six-file-list-item/six-file-list-item.css +1 -1
- package/dist/collection/components/six-file-list-item/six-file-list-item.js +196 -194
- package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
- package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
- package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
- package/dist/collection/components/six-file-upload/six-file-upload.css +1 -4
- package/dist/collection/components/six-file-upload/six-file-upload.js +292 -290
- package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
- package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
- package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
- package/dist/collection/components/six-footer/six-footer.css +2 -2
- package/dist/collection/components/six-footer/six-footer.js +16 -16
- package/dist/collection/components/six-footer/six-footer.js.map +1 -1
- package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
- package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
- package/dist/collection/components/six-group-label/six-group-label.css +5 -2
- package/dist/collection/components/six-group-label/six-group-label.js +158 -158
- package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
- package/dist/collection/components/six-group-label/test/six-group-label.spec.js +45 -0
- package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
- package/dist/collection/components/six-header/six-header.css +6 -2
- package/dist/collection/components/six-header/six-header.js +442 -400
- package/dist/collection/components/six-header/six-header.js.map +1 -1
- package/dist/collection/components/six-header/test/six-header.spec.js +177 -0
- package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
- package/dist/collection/components/six-icon/six-icon.css +5 -2
- package/dist/collection/components/six-icon/six-icon.js +72 -72
- package/dist/collection/components/six-icon/six-icon.js.map +1 -1
- package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
- package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
- package/dist/collection/components/six-icon-button/six-icon-button.css +5 -5
- package/dist/collection/components/six-icon-button/six-icon-button.js +133 -133
- package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
- package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
- package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
- package/dist/collection/components/six-input/six-input.css +15 -3
- package/dist/collection/components/six-input/six-input.js +971 -1106
- package/dist/collection/components/six-input/six-input.js.map +1 -1
- package/dist/collection/components/six-input/test/six-input.spec.js +39 -0
- package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
- package/dist/collection/components/six-item-picker/six-item-picker.css +8 -0
- package/dist/collection/components/six-item-picker/six-item-picker.js +731 -631
- package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
- package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
- package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
- package/dist/collection/components/six-item-picker/types.js +9 -7
- package/dist/collection/components/six-item-picker/types.js.map +1 -1
- package/dist/collection/components/six-language-switcher/six-language-switcher.js +125 -123
- package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
- package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
- package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
- package/dist/collection/components/six-layout-grid/six-layout-grid.js +55 -55
- package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
- package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
- package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
- package/dist/collection/components/six-main-container/six-main-container.js +42 -42
- package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
- package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
- package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
- package/dist/collection/components/six-menu/six-menu.css +8 -7
- package/dist/collection/components/six-menu/six-menu.js +392 -366
- package/dist/collection/components/six-menu/six-menu.js.map +1 -1
- package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
- package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
- package/dist/collection/components/six-menu-divider/six-menu-divider.css +3 -2
- package/dist/collection/components/six-menu-divider/six-menu-divider.js +16 -16
- package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
- package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
- package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
- package/dist/collection/components/six-menu-item/six-menu-item.css +13 -2
- package/dist/collection/components/six-menu-item/six-menu-item.js +211 -178
- package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
- package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
- package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
- package/dist/collection/components/six-menu-label/six-menu-label.css +1 -1
- package/dist/collection/components/six-menu-label/six-menu-label.js +16 -16
- package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
- package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
- package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
- package/dist/collection/components/six-picto/six-picto.js +47 -47
- package/dist/collection/components/six-picto/six-picto.js.map +1 -1
- package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
- package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
- package/dist/collection/components/six-progress-bar/six-progress-bar.css +1 -1
- package/dist/collection/components/six-progress-bar/six-progress-bar.js +65 -65
- package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
- package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
- package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
- package/dist/collection/components/six-progress-ring/six-progress-ring.css +1 -1
- package/dist/collection/components/six-progress-ring/six-progress-ring.js +101 -101
- package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
- package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
- package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
- package/dist/collection/components/six-radio/six-radio.css +1 -1
- package/dist/collection/components/six-radio/six-radio.js +323 -395
- package/dist/collection/components/six-radio/six-radio.js.map +1 -1
- package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
- package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
- package/dist/collection/components/six-range/six-range.css +5 -2
- package/dist/collection/components/six-range/six-range.js +565 -629
- package/dist/collection/components/six-range/six-range.js.map +1 -1
- package/dist/collection/components/six-range/test/six-range.spec.js +34 -0
- package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
- package/dist/collection/components/six-root/six-root.js +153 -151
- package/dist/collection/components/six-root/six-root.js.map +1 -1
- package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
- package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
- package/dist/collection/components/six-search-field/six-search-field.css +1 -1
- package/dist/collection/components/six-search-field/six-search-field.js +172 -171
- package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
- package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
- package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
- package/dist/collection/components/six-select/six-select.css +61 -73
- package/dist/collection/components/six-select/six-select.js +1108 -1027
- package/dist/collection/components/six-select/six-select.js.map +1 -1
- package/dist/collection/components/six-select/test/six-select.spec.js +102 -0
- package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
- package/dist/collection/components/six-select/test/util.spec.js +81 -0
- package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
- package/dist/collection/components/six-select/util.js +34 -34
- package/dist/collection/components/six-select/util.js.map +1 -1
- package/dist/collection/components/six-sidebar/six-sidebar.css +2 -2
- package/dist/collection/components/six-sidebar/six-sidebar.js +468 -454
- package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
- package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
- package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
- package/dist/collection/components/six-sidebar-item/six-sidebar-item.css +6 -1
- package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +102 -83
- package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
- package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
- package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +12 -1
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +182 -154
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
- package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
- package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
- package/dist/collection/components/six-spinner/six-spinner.css +1 -1
- package/dist/collection/components/six-spinner/six-spinner.js +48 -47
- package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
- package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
- package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.css +1 -1
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +46 -45
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
- package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
- package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
- package/dist/collection/components/six-switch/six-switch.css +81 -1
- package/dist/collection/components/six-switch/six-switch.js +388 -385
- package/dist/collection/components/six-switch/six-switch.js.map +1 -1
- package/dist/collection/components/six-switch/test/six-switch.spec.js +73 -0
- package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
- package/dist/collection/components/six-tab/six-tab.css +55 -6
- package/dist/collection/components/six-tab/six-tab.js +207 -186
- package/dist/collection/components/six-tab/six-tab.js.map +1 -1
- package/dist/collection/components/six-tab-group/six-tab-group.css +1 -32
- package/dist/collection/components/six-tab-group/six-tab-group.js +320 -357
- package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
- package/dist/collection/components/six-tab-panel/six-tab-panel.css +1 -1
- package/dist/collection/components/six-tab-panel/six-tab-panel.js +64 -64
- package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
- package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
- package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
- package/dist/collection/components/six-tag/six-tag.css +7 -1
- package/dist/collection/components/six-tag/six-tag.js +162 -139
- package/dist/collection/components/six-tag/six-tag.js.map +1 -1
- package/dist/collection/components/six-tag/test/six-tag.spec.js +54 -0
- package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
- package/dist/collection/components/six-textarea/six-textarea.css +5 -2
- package/dist/collection/components/six-textarea/six-textarea.js +793 -889
- package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
- package/dist/collection/components/six-textarea/test/six-textarea.spec.js +119 -0
- package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
- package/dist/collection/components/six-tile/six-tile.css +2 -2
- package/dist/collection/components/six-tile/six-tile.js +300 -296
- package/dist/collection/components/six-tile/six-tile.js.map +1 -1
- package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
- package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
- package/dist/collection/components/six-timepicker/six-timepicker.css +1 -1
- package/dist/collection/components/six-timepicker/six-timepicker.js +829 -863
- package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
- package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
- package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
- package/dist/collection/components/six-tooltip/six-tooltip.css +2 -2
- package/dist/collection/components/six-tooltip/six-tooltip.js +409 -403
- package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
- package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
- package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
- package/dist/collection/functional-components/form-control/form-control.js +20 -20
- package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
- package/dist/collection/index.js +2 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/testUtil/delay.js +1 -1
- package/dist/collection/testUtil/delay.js.map +1 -1
- package/dist/collection/utils/alert.js +54 -0
- package/dist/collection/utils/alert.js.map +1 -0
- package/dist/collection/utils/animation.js +34 -0
- package/dist/collection/utils/animation.js.map +1 -0
- package/dist/collection/utils/date-util.js +502 -501
- package/dist/collection/utils/date-util.js.map +1 -1
- package/dist/collection/utils/date-util.spec.js +995 -0
- package/dist/collection/utils/date-util.spec.js.map +1 -0
- package/dist/collection/utils/error-messages.js +112 -0
- package/dist/collection/utils/error-messages.js.map +1 -0
- package/dist/collection/utils/event-listeners.js +52 -36
- package/dist/collection/utils/event-listeners.js.map +1 -1
- package/dist/collection/utils/execution-control.js +14 -14
- package/dist/collection/utils/execution-control.js.map +1 -1
- package/dist/collection/utils/focus-visible.js +28 -28
- package/dist/collection/utils/focus-visible.js.map +1 -1
- package/dist/collection/utils/form.js +15 -0
- package/dist/collection/utils/form.js.map +1 -0
- package/dist/collection/utils/modal.js +25 -25
- package/dist/collection/utils/modal.js.map +1 -1
- package/dist/collection/utils/offset.js +4 -4
- package/dist/collection/utils/offset.js.map +1 -1
- package/dist/collection/utils/popover.js +100 -100
- package/dist/collection/utils/popover.js.map +1 -1
- package/dist/collection/utils/popup.js +71 -71
- package/dist/collection/utils/popup.js.map +1 -1
- package/dist/collection/utils/scroll.js +28 -28
- package/dist/collection/utils/scroll.js.map +1 -1
- package/dist/collection/utils/scroll.spec.js +122 -0
- package/dist/collection/utils/scroll.spec.js.map +1 -0
- package/dist/collection/utils/slot.js +28 -29
- package/dist/collection/utils/slot.js.map +1 -1
- package/dist/collection/utils/support.js +10 -10
- package/dist/collection/utils/support.js.map +1 -1
- package/dist/collection/utils/tabbable.js +17 -17
- package/dist/collection/utils/tabbable.js.map +1 -1
- package/dist/collection/utils/time.util.js +72 -72
- package/dist/collection/utils/time.util.js.map +1 -1
- package/dist/collection/utils/time.util.spec.js +368 -0
- package/dist/collection/utils/time.util.spec.js.map +1 -0
- package/dist/collection/wrappers/set-attributes/set-attributes.js +66 -66
- package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
- package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
- package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
- package/dist/components/event-listeners.js +52 -36
- package/dist/components/event-listeners.js.map +1 -1
- package/dist/components/execution-control.js +14 -14
- package/dist/components/execution-control.js.map +1 -1
- package/dist/components/focus-visible.js +28 -28
- package/dist/components/focus-visible.js.map +1 -1
- package/dist/components/form-control.js +26 -25
- package/dist/components/form-control.js.map +1 -1
- package/dist/components/form.js +18 -0
- package/dist/components/form.js.map +1 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.js +119 -64
- package/dist/components/index.js.map +1 -1
- package/dist/components/modal.js +35 -35
- package/dist/components/modal.js.map +1 -1
- package/dist/components/popover.js +104 -110
- package/dist/components/popover.js.map +1 -1
- package/dist/components/scroll.js +32 -32
- package/dist/components/scroll.js.map +1 -1
- package/dist/components/set-attributes.d.ts +2 -2
- package/dist/components/set-attributes2.js +58 -56
- package/dist/components/set-attributes2.js.map +1 -1
- package/dist/components/six-alert.d.ts +2 -2
- package/dist/components/six-alert.js +168 -142
- package/dist/components/six-alert.js.map +1 -1
- package/dist/components/six-avatar.d.ts +2 -2
- package/dist/components/six-avatar.js +45 -45
- package/dist/components/six-avatar.js.map +1 -1
- package/dist/components/six-badge.d.ts +2 -2
- package/dist/components/six-badge.js +40 -40
- package/dist/components/six-badge.js.map +1 -1
- package/dist/components/six-button.d.ts +2 -2
- package/dist/components/six-button.js +1 -136
- package/dist/components/six-button.js.map +1 -1
- package/dist/components/six-button2.js +146 -0
- package/dist/components/six-button2.js.map +1 -0
- package/dist/components/six-card.d.ts +2 -2
- package/dist/components/six-card.js +21 -21
- package/dist/components/six-card.js.map +1 -1
- package/dist/components/six-checkbox.d.ts +2 -2
- package/dist/components/six-checkbox.js +1 -198
- package/dist/components/six-checkbox.js.map +1 -1
- package/dist/components/six-checkbox2.js +165 -0
- package/dist/components/six-checkbox2.js.map +1 -0
- package/dist/components/six-datepicker.d.ts +2 -2
- package/dist/components/six-datepicker.js +908 -934
- package/dist/components/six-datepicker.js.map +1 -1
- package/dist/components/six-details.d.ts +2 -2
- package/dist/components/six-details2.js +158 -156
- package/dist/components/six-details2.js.map +1 -1
- package/dist/components/six-dialog.d.ts +2 -2
- package/dist/components/six-dialog.js +159 -157
- package/dist/components/six-dialog.js.map +1 -1
- package/dist/components/six-drawer.d.ts +2 -2
- package/dist/components/six-drawer.js +179 -177
- package/dist/components/six-drawer.js.map +1 -1
- package/dist/components/six-dropdown.d.ts +2 -2
- package/dist/components/six-dropdown2.js +551 -464
- package/dist/components/six-dropdown2.js.map +1 -1
- package/dist/components/six-error-page.d.ts +2 -2
- package/dist/components/six-error-page.js +106 -106
- package/dist/components/six-error-page.js.map +1 -1
- package/dist/components/{six-form.d.ts → six-error.d.ts} +4 -4
- package/dist/components/six-error.js +8 -0
- package/dist/components/six-error.js.map +1 -0
- package/dist/components/six-error2.js +32 -0
- package/dist/components/six-error2.js.map +1 -0
- package/dist/components/six-file-list-item.d.ts +2 -2
- package/dist/components/six-file-list-item.js +59 -59
- package/dist/components/six-file-list-item.js.map +1 -1
- package/dist/components/six-file-list.d.ts +2 -2
- package/dist/components/six-file-list.js +20 -20
- package/dist/components/six-file-list.js.map +1 -1
- package/dist/components/six-file-upload.d.ts +2 -2
- package/dist/components/six-file-upload.js +124 -124
- package/dist/components/six-file-upload.js.map +1 -1
- package/dist/components/six-footer.d.ts +2 -2
- package/dist/components/six-footer.js +21 -21
- package/dist/components/six-footer.js.map +1 -1
- package/dist/components/six-group-label.d.ts +2 -2
- package/dist/components/six-group-label.js +71 -62
- package/dist/components/six-group-label.js.map +1 -1
- package/dist/components/six-header.d.ts +2 -2
- package/dist/components/six-header.js +237 -207
- package/dist/components/six-header.js.map +1 -1
- package/dist/components/six-icon-button.d.ts +2 -2
- package/dist/components/six-icon-button2.js +55 -55
- package/dist/components/six-icon-button2.js.map +1 -1
- package/dist/components/six-icon.d.ts +2 -2
- package/dist/components/six-icon2.js +38 -38
- package/dist/components/six-icon2.js.map +1 -1
- package/dist/components/six-input.d.ts +2 -2
- package/dist/components/six-input2.js +254 -303
- package/dist/components/six-input2.js.map +1 -1
- package/dist/components/six-item-picker.d.ts +2 -2
- package/dist/components/six-item-picker2.js +450 -348
- package/dist/components/six-item-picker2.js.map +1 -1
- package/dist/components/six-language-switcher.d.ts +2 -2
- package/dist/components/six-language-switcher.js +64 -62
- package/dist/components/six-language-switcher.js.map +1 -1
- package/dist/components/six-layout-grid.d.ts +2 -2
- package/dist/components/six-layout-grid.js +37 -35
- package/dist/components/six-layout-grid.js.map +1 -1
- package/dist/components/six-main-container.d.ts +2 -2
- package/dist/components/six-main-container.js +24 -24
- package/dist/components/six-main-container.js.map +1 -1
- package/dist/components/six-menu-divider.d.ts +2 -2
- package/dist/components/six-menu-divider.js +21 -21
- package/dist/components/six-menu-divider.js.map +1 -1
- package/dist/components/six-menu-item.d.ts +2 -2
- package/dist/components/six-menu-item2.js +98 -75
- package/dist/components/six-menu-item2.js.map +1 -1
- package/dist/components/six-menu-label.d.ts +2 -2
- package/dist/components/six-menu-label.js +21 -21
- package/dist/components/six-menu-label.js.map +1 -1
- package/dist/components/six-menu.d.ts +2 -2
- package/dist/components/six-menu2.js +236 -220
- package/dist/components/six-menu2.js.map +1 -1
- package/dist/components/six-picto.d.ts +2 -2
- package/dist/components/six-picto2.js +29 -29
- package/dist/components/six-picto2.js.map +1 -1
- package/dist/components/six-progress-bar.d.ts +2 -2
- package/dist/components/six-progress-bar.js +31 -31
- package/dist/components/six-progress-bar.js.map +1 -1
- package/dist/components/six-progress-ring.d.ts +2 -2
- package/dist/components/six-progress-ring.js +49 -47
- package/dist/components/six-progress-ring.js.map +1 -1
- package/dist/components/six-radio.d.ts +2 -2
- package/dist/components/six-radio.js +128 -143
- package/dist/components/six-radio.js.map +1 -1
- package/dist/components/six-range.d.ts +2 -2
- package/dist/components/six-range.js +223 -247
- package/dist/components/six-range.js.map +1 -1
- package/dist/components/six-root.d.ts +2 -2
- package/dist/components/six-root.js +66 -64
- package/dist/components/six-root.js.map +1 -1
- package/dist/components/six-search-field.d.ts +2 -2
- package/dist/components/six-search-field.js +79 -71
- package/dist/components/six-search-field.js.map +1 -1
- package/dist/components/six-select.d.ts +2 -2
- package/dist/components/six-select.js +713 -484
- package/dist/components/six-select.js.map +1 -1
- package/dist/components/six-sidebar-item-group.d.ts +2 -2
- package/dist/components/six-sidebar-item-group.js +87 -75
- package/dist/components/six-sidebar-item-group.js.map +1 -1
- package/dist/components/six-sidebar-item.d.ts +2 -2
- package/dist/components/six-sidebar-item.js +35 -32
- package/dist/components/six-sidebar-item.js.map +1 -1
- package/dist/components/six-sidebar.d.ts +2 -2
- package/dist/components/six-sidebar.js +199 -197
- package/dist/components/six-sidebar.js.map +1 -1
- package/dist/components/six-spinner.d.ts +2 -2
- package/dist/components/six-spinner2.js +30 -30
- package/dist/components/six-spinner2.js.map +1 -1
- package/dist/components/six-stage-indicator.d.ts +2 -2
- package/dist/components/six-stage-indicator2.js +29 -29
- package/dist/components/six-stage-indicator2.js.map +1 -1
- package/dist/components/six-switch.d.ts +2 -2
- package/dist/components/six-switch.js +143 -127
- package/dist/components/six-switch.js.map +1 -1
- package/dist/components/six-tab-group.d.ts +2 -2
- package/dist/components/six-tab-group.js +260 -263
- package/dist/components/six-tab-group.js.map +1 -1
- package/dist/components/six-tab-panel.d.ts +2 -2
- package/dist/components/six-tab-panel.js +30 -30
- package/dist/components/six-tab-panel.js.map +1 -1
- package/dist/components/six-tab.d.ts +2 -2
- package/dist/components/six-tab.js +85 -69
- package/dist/components/six-tab.js.map +1 -1
- package/dist/components/six-tag.d.ts +2 -2
- package/dist/components/six-tag.js +98 -1
- package/dist/components/six-tag.js.map +1 -1
- package/dist/components/six-textarea.d.ts +2 -2
- package/dist/components/six-textarea.js +226 -264
- package/dist/components/six-textarea.js.map +1 -1
- package/dist/components/six-tile.d.ts +2 -2
- package/dist/components/six-tile.js +117 -117
- package/dist/components/six-tile.js.map +1 -1
- package/dist/components/six-timepicker.d.ts +2 -2
- package/dist/components/six-timepicker2.js +491 -500
- package/dist/components/six-timepicker2.js.map +1 -1
- package/dist/components/six-tooltip.d.ts +2 -2
- package/dist/components/six-tooltip2.js +172 -170
- package/dist/components/six-tooltip2.js.map +1 -1
- package/dist/components/slot.js +29 -30
- package/dist/components/slot.js.map +1 -1
- package/dist/components.d.ts +341 -88
- package/dist/components.json +4787 -850
- package/dist/esm/error-messages-1eaaad23.js +115 -0
- package/dist/esm/error-messages-1eaaad23.js.map +1 -0
- package/dist/esm/event-listeners-706d4309.js +59 -0
- package/dist/esm/event-listeners-706d4309.js.map +1 -0
- package/dist/esm/{execution-control-72cc50f4.js → execution-control-2ebaf4ef.js} +15 -15
- package/dist/esm/execution-control-2ebaf4ef.js.map +1 -0
- package/dist/esm/focus-visible-d9dbfeef.js +45 -0
- package/dist/esm/focus-visible-d9dbfeef.js.map +1 -0
- package/dist/esm/form-4b145b7a.js +18 -0
- package/dist/esm/form-4b145b7a.js.map +1 -0
- package/dist/esm/form-control-77fcccd0.js +34 -0
- package/dist/esm/form-control-77fcccd0.js.map +1 -0
- package/dist/esm/{index-371fb9d4.js → index-6c10d50b.js} +767 -206
- package/dist/esm/index-6c10d50b.js.map +1 -0
- package/dist/esm/index.js +56 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +4 -13
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/modal-96526245.js +49 -0
- package/dist/esm/modal-96526245.js.map +1 -0
- package/dist/esm/{popover-1aacbae8.js → popover-25996e62.js} +105 -111
- package/dist/esm/popover-25996e62.js.map +1 -0
- package/dist/esm/popup-7209e9d5.js +98 -0
- package/dist/esm/popup-7209e9d5.js.map +1 -0
- package/dist/esm/scroll-3e16851e.js +64 -0
- package/dist/esm/scroll-3e16851e.js.map +1 -0
- package/dist/esm/set-attributes_2.entry.js +51 -51
- package/dist/esm/set-attributes_2.entry.js.map +1 -1
- package/dist/esm/six-alert.entry.js +133 -110
- package/dist/esm/six-alert.entry.js.map +1 -1
- package/dist/esm/six-avatar.entry.js +21 -21
- package/dist/esm/six-avatar.entry.js.map +1 -1
- package/dist/esm/six-badge.entry.js +23 -23
- package/dist/esm/six-badge.entry.js.map +1 -1
- package/dist/esm/six-button.entry.js +95 -89
- package/dist/esm/six-button.entry.js.map +1 -1
- package/dist/esm/six-card.entry.js +8 -8
- package/dist/esm/six-card.entry.js.map +1 -1
- package/dist/esm/six-checkbox_2.entry.js +185 -0
- package/dist/esm/six-checkbox_2.entry.js.map +1 -0
- package/dist/esm/six-datepicker.entry.js +837 -870
- package/dist/esm/six-datepicker.entry.js.map +1 -1
- package/dist/esm/six-details.entry.js +127 -127
- package/dist/esm/six-details.entry.js.map +1 -1
- package/dist/esm/six-dialog.entry.js +129 -129
- package/dist/esm/six-dialog.entry.js.map +1 -1
- package/dist/esm/six-drawer.entry.js +147 -147
- package/dist/esm/six-drawer.entry.js.map +1 -1
- package/dist/esm/six-dropdown_2.entry.js +707 -637
- package/dist/esm/six-dropdown_2.entry.js.map +1 -1
- package/dist/esm/six-error-page.entry.js +82 -82
- package/dist/esm/six-error-page.entry.js.map +1 -1
- package/dist/esm/six-error.entry.js +17 -0
- package/dist/esm/six-error.entry.js.map +1 -0
- package/dist/esm/six-file-list-item.entry.js +34 -34
- package/dist/esm/six-file-list-item.entry.js.map +1 -1
- package/dist/esm/six-file-list.entry.js +7 -7
- package/dist/esm/six-file-list.entry.js.map +1 -1
- package/dist/esm/six-file-upload.entry.js +99 -99
- package/dist/esm/six-file-upload.entry.js.map +1 -1
- package/dist/esm/six-footer.entry.js +8 -8
- package/dist/esm/six-footer.entry.js.map +1 -1
- package/dist/esm/six-group-label.entry.js +43 -43
- package/dist/esm/six-group-label.entry.js.map +1 -1
- package/dist/esm/six-header.entry.js +171 -156
- package/dist/esm/six-header.entry.js.map +1 -1
- package/dist/esm/six-icon-button.entry.js +32 -32
- package/dist/esm/six-icon-button.entry.js.map +1 -1
- package/dist/esm/six-icon.entry.js +22 -22
- package/dist/esm/six-icon.entry.js.map +1 -1
- package/dist/esm/six-input.entry.js +187 -241
- package/dist/esm/six-input.entry.js.map +1 -1
- package/dist/esm/six-item-picker.entry.js +405 -309
- package/dist/esm/six-item-picker.entry.js.map +1 -1
- package/dist/esm/six-language-switcher.entry.js +46 -46
- package/dist/esm/six-language-switcher.entry.js.map +1 -1
- package/dist/esm/six-layout-grid.entry.js +20 -20
- package/dist/esm/six-layout-grid.entry.js.map +1 -1
- package/dist/esm/six-main-container.entry.js +9 -9
- package/dist/esm/six-main-container.entry.js.map +1 -1
- package/dist/esm/six-menu-divider.entry.js +8 -8
- package/dist/esm/six-menu-divider.entry.js.map +1 -1
- package/dist/esm/six-menu-label.entry.js +8 -8
- package/dist/esm/six-menu-label.entry.js.map +1 -1
- package/dist/esm/six-picto.entry.js +14 -14
- package/dist/esm/six-picto.entry.js.map +1 -1
- package/dist/esm/six-progress-bar.entry.js +15 -15
- package/dist/esm/six-progress-bar.entry.js.map +1 -1
- package/dist/esm/six-progress-ring.entry.js +30 -30
- package/dist/esm/six-progress-ring.entry.js.map +1 -1
- package/dist/esm/six-radio.entry.js +103 -117
- package/dist/esm/six-radio.entry.js.map +1 -1
- package/dist/esm/six-range.entry.js +178 -213
- package/dist/esm/six-range.entry.js.map +1 -1
- package/dist/esm/six-root.entry.js +30 -30
- package/dist/esm/six-root.entry.js.map +1 -1
- package/dist/esm/six-search-field.entry.js +44 -44
- package/dist/esm/six-search-field.entry.js.map +1 -1
- package/dist/esm/six-select.entry.js +496 -401
- package/dist/esm/six-select.entry.js.map +1 -1
- package/dist/esm/six-sidebar-item-group.entry.js +56 -45
- package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
- package/dist/esm/six-sidebar-item.entry.js +17 -15
- package/dist/esm/six-sidebar-item.entry.js.map +1 -1
- package/dist/esm/six-sidebar.entry.js +174 -174
- package/dist/esm/six-sidebar.entry.js.map +1 -1
- package/dist/esm/six-spinner.entry.js +15 -15
- package/dist/esm/six-spinner.entry.js.map +1 -1
- package/dist/esm/six-switch.entry.js +106 -100
- package/dist/esm/six-switch.entry.js.map +1 -1
- package/dist/esm/six-tab-group.entry.js +230 -235
- package/dist/esm/six-tab-group.entry.js.map +1 -1
- package/dist/esm/six-tab-panel.entry.js +14 -14
- package/dist/esm/six-tab-panel.entry.js.map +1 -1
- package/dist/esm/six-tab.entry.js +55 -39
- package/dist/esm/six-tab.entry.js.map +1 -1
- package/dist/esm/six-tag.entry.js +55 -33
- package/dist/esm/six-tag.entry.js.map +1 -1
- package/dist/esm/six-textarea.entry.js +182 -228
- package/dist/esm/six-textarea.entry.js.map +1 -1
- package/dist/esm/six-tile.entry.js +77 -77
- package/dist/esm/six-tile.entry.js.map +1 -1
- package/dist/esm/six-timepicker.entry.js +348 -363
- package/dist/esm/six-timepicker.entry.js.map +1 -1
- package/dist/esm/six-tooltip.entry.js +148 -148
- package/dist/esm/six-tooltip.entry.js.map +1 -1
- package/dist/esm/slot-56531341.js +47 -0
- package/dist/esm/slot-56531341.js.map +1 -0
- package/dist/esm/types-a07bb999.js +19 -0
- package/dist/esm/types-a07bb999.js.map +1 -0
- package/dist/esm/ui-library.js +4 -7
- package/dist/esm/ui-library.js.map +1 -1
- package/dist/types/components/six-alert/six-alert.d.ts +43 -40
- package/dist/types/components/six-avatar/six-avatar.d.ts +11 -11
- package/dist/types/components/six-badge/six-badge.d.ts +7 -7
- package/dist/types/components/six-button/six-button.d.ts +48 -48
- package/dist/types/components/six-card/six-card.d.ts +1 -1
- package/dist/types/components/six-checkbox/six-checkbox.d.ts +58 -71
- package/dist/types/components/six-datepicker/components/day-selection.d.ts +3 -3
- package/dist/types/components/six-datepicker/components/month-selection.d.ts +3 -3
- package/dist/types/components/six-datepicker/components/year-selection.d.ts +3 -3
- package/dist/types/components/six-datepicker/six-date-formats.d.ts +20 -20
- package/dist/types/components/six-datepicker/six-datepicker.d.ts +188 -192
- package/dist/types/components/six-details/six-details.d.ts +42 -42
- package/dist/types/components/six-dialog/six-dialog.d.ts +50 -50
- package/dist/types/components/six-drawer/six-drawer.d.ts +58 -58
- package/dist/types/components/six-dropdown/six-dropdown.d.ts +131 -112
- package/dist/types/components/six-error/six-error.d.ts +9 -0
- package/dist/types/components/six-error-page/six-error-page.d.ts +25 -25
- package/dist/types/components/six-file-list/six-file-list.d.ts +1 -1
- package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +23 -23
- package/dist/types/components/six-file-upload/six-file-upload.d.ts +33 -33
- package/dist/types/components/six-footer/six-footer.d.ts +1 -1
- package/dist/types/components/six-group-label/six-group-label.d.ts +22 -22
- package/dist/types/components/six-header/six-header.d.ts +59 -55
- package/dist/types/components/six-icon/six-icon.d.ts +5 -5
- package/dist/types/components/six-icon-button/six-icon-button.d.ts +18 -18
- package/dist/types/components/six-input/six-input.d.ts +112 -129
- package/dist/types/components/six-item-picker/six-item-picker.d.ts +95 -88
- package/dist/types/components/six-item-picker/types.d.ts +7 -7
- package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +15 -15
- package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +6 -6
- package/dist/types/components/six-main-container/six-main-container.d.ts +4 -4
- package/dist/types/components/six-menu/six-menu.d.ts +67 -63
- package/dist/types/components/six-menu-divider/six-menu-divider.d.ts +1 -1
- package/dist/types/components/six-menu-item/six-menu-item.d.ts +27 -21
- package/dist/types/components/six-menu-label/six-menu-label.d.ts +1 -1
- package/dist/types/components/six-picto/six-picto.d.ts +6 -6
- package/dist/types/components/six-progress-bar/six-progress-bar.d.ts +5 -5
- package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +11 -11
- package/dist/types/components/six-radio/six-radio.d.ts +38 -48
- package/dist/types/components/six-range/six-range.d.ts +75 -87
- package/dist/types/components/six-root/six-root.d.ts +18 -18
- package/dist/types/components/six-search-field/six-search-field.d.ts +20 -20
- package/dist/types/components/six-select/six-select.d.ts +137 -134
- package/dist/types/components/six-select/util.d.ts +1 -1
- package/dist/types/components/six-sidebar/six-sidebar.d.ts +45 -45
- package/dist/types/components/six-sidebar-item/six-sidebar-item.d.ts +12 -7
- package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +25 -19
- package/dist/types/components/six-spinner/six-spinner.d.ts +6 -5
- package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +3 -3
- package/dist/types/components/six-switch/six-switch.d.ts +49 -44
- package/dist/types/components/six-tab/six-tab.d.ts +20 -20
- package/dist/types/components/six-tab-group/six-tab-group.d.ts +35 -38
- package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +7 -7
- package/dist/types/components/six-tag/six-tag.d.ts +20 -12
- package/dist/types/components/six-textarea/six-textarea.d.ts +89 -105
- package/dist/types/components/six-tile/six-tile.d.ts +31 -31
- package/dist/types/components/six-timepicker/six-timepicker.d.ts +154 -156
- package/dist/types/components/six-tooltip/six-tooltip.d.ts +55 -55
- package/dist/types/components.d.ts +634 -330
- package/dist/types/functional-components/form-control/form-control.d.ts +32 -30
- package/dist/types/index.d.ts +2 -0
- package/dist/types/stencil-public-runtime.d.ts +49 -5
- package/dist/types/types.d.ts +3 -0
- package/dist/types/utils/alert.d.ts +10 -0
- package/dist/types/utils/animation.d.ts +12 -0
- package/dist/types/utils/date-util.d.ts +51 -50
- package/dist/types/utils/error-messages.d.ts +44 -0
- package/dist/types/utils/event-listeners.d.ts +11 -10
- package/dist/types/utils/focus-visible.d.ts +2 -2
- package/dist/types/utils/form.d.ts +1 -0
- package/dist/types/utils/modal.d.ts +8 -8
- package/dist/types/utils/offset.d.ts +2 -2
- package/dist/types/utils/popover.d.ts +21 -21
- package/dist/types/utils/slot.d.ts +0 -1
- package/dist/types/utils/time.util.d.ts +6 -6
- package/dist/types/utils/types.d.ts +1 -1
- package/dist/types/wrappers/set-attributes/set-attributes.d.ts +7 -7
- package/dist/ui-library/index.esm.js +1 -1
- package/dist/ui-library/index.esm.js.map +1 -1
- package/dist/ui-library/p-01ae4500.entry.js +2 -0
- package/dist/ui-library/p-01ae4500.entry.js.map +1 -0
- package/dist/ui-library/p-021f6da9.entry.js +2 -0
- package/dist/ui-library/p-021f6da9.entry.js.map +1 -0
- package/dist/ui-library/p-0274c52c.entry.js +2 -0
- package/dist/ui-library/p-0274c52c.entry.js.map +1 -0
- package/dist/ui-library/{p-0cc08e91.js → p-06ba4450.js} +1 -1
- package/dist/ui-library/p-06ba4450.js.map +1 -0
- package/dist/ui-library/{p-cab99e54.entry.js → p-0cb135aa.entry.js} +2 -2
- package/dist/ui-library/p-0cb135aa.entry.js.map +1 -0
- package/dist/ui-library/p-0cebf1d2.js +2 -0
- package/dist/ui-library/p-0cebf1d2.js.map +1 -0
- package/dist/ui-library/p-1431a2a8.entry.js +2 -0
- package/dist/ui-library/p-1431a2a8.entry.js.map +1 -0
- package/dist/ui-library/p-1aa28025.entry.js +2 -0
- package/dist/ui-library/p-1aa28025.entry.js.map +1 -0
- package/dist/ui-library/p-1b135e1c.entry.js +2 -0
- package/dist/ui-library/p-1b135e1c.entry.js.map +1 -0
- package/dist/ui-library/{p-3e4b9341.entry.js → p-1be990f9.entry.js} +2 -2
- package/dist/ui-library/p-1be990f9.entry.js.map +1 -0
- package/dist/ui-library/p-2008636b.entry.js +2 -0
- package/dist/ui-library/p-2008636b.entry.js.map +1 -0
- package/dist/ui-library/p-2132da0a.entry.js +2 -0
- package/dist/ui-library/p-2132da0a.entry.js.map +1 -0
- package/dist/ui-library/p-2cd674e0.entry.js +2 -0
- package/dist/ui-library/p-2cd674e0.entry.js.map +1 -0
- package/dist/ui-library/p-2d86ba99.entry.js +2 -0
- package/dist/ui-library/p-2d86ba99.entry.js.map +1 -0
- package/dist/ui-library/p-31a4a74c.entry.js +2 -0
- package/dist/ui-library/p-31a4a74c.entry.js.map +1 -0
- package/dist/ui-library/p-391f10f1.entry.js +2 -0
- package/dist/ui-library/p-391f10f1.entry.js.map +1 -0
- package/dist/ui-library/p-3dd28dc0.entry.js +2 -0
- package/dist/ui-library/p-3dd28dc0.entry.js.map +1 -0
- package/dist/ui-library/p-46ee280d.entry.js +2 -0
- package/dist/ui-library/p-46ee280d.entry.js.map +1 -0
- package/dist/ui-library/p-4752a63c.entry.js +2 -0
- package/dist/ui-library/p-4752a63c.entry.js.map +1 -0
- package/dist/ui-library/p-4772a9d3.entry.js +2 -0
- package/dist/ui-library/p-4772a9d3.entry.js.map +1 -0
- package/dist/ui-library/p-4a3ba956.entry.js +2 -0
- package/dist/ui-library/p-4a3ba956.entry.js.map +1 -0
- package/dist/ui-library/p-4b154936.entry.js +2 -0
- package/dist/ui-library/p-4b154936.entry.js.map +1 -0
- package/dist/ui-library/p-5a5f6869.entry.js +2 -0
- package/dist/ui-library/p-5a5f6869.entry.js.map +1 -0
- package/dist/ui-library/{p-9f8b6144.entry.js → p-621c2742.entry.js} +2 -2
- package/dist/ui-library/p-621c2742.entry.js.map +1 -0
- package/dist/ui-library/p-65778e3d.entry.js +2 -0
- package/dist/ui-library/p-65778e3d.entry.js.map +1 -0
- package/dist/ui-library/p-66cd3b0c.entry.js +2 -0
- package/dist/ui-library/p-66cd3b0c.entry.js.map +1 -0
- package/dist/ui-library/p-67496e8c.js +2 -0
- package/dist/ui-library/p-67496e8c.js.map +1 -0
- package/dist/ui-library/p-78529c8c.entry.js +2 -0
- package/dist/ui-library/p-78529c8c.entry.js.map +1 -0
- package/dist/ui-library/p-7eb592a8.entry.js +2 -0
- package/dist/ui-library/p-7eb592a8.entry.js.map +1 -0
- package/dist/ui-library/{p-bf4a35ec.js → p-7f856f00.js} +1 -1
- package/dist/ui-library/p-7f856f00.js.map +1 -0
- package/dist/ui-library/{p-eb8f05a9.js → p-8227aaed.js} +2 -2
- package/dist/ui-library/p-8227aaed.js.map +1 -0
- package/dist/ui-library/{p-5084ca7c.entry.js → p-831517cd.entry.js} +2 -2
- package/dist/ui-library/p-831517cd.entry.js.map +1 -0
- package/dist/ui-library/p-842b492e.js +2 -0
- package/dist/ui-library/p-842b492e.js.map +1 -0
- package/dist/ui-library/{p-25a3bf57.js → p-862d474e.js} +1 -1
- package/dist/ui-library/p-862d474e.js.map +1 -0
- package/dist/ui-library/{p-9b9c3afc.entry.js → p-87e197ee.entry.js} +2 -2
- package/dist/ui-library/p-87e197ee.entry.js.map +1 -0
- package/dist/ui-library/p-88767c27.entry.js +2 -0
- package/dist/ui-library/p-88767c27.entry.js.map +1 -0
- package/dist/ui-library/p-8bfb4bfc.js +2 -0
- package/dist/ui-library/p-8bfb4bfc.js.map +1 -0
- package/dist/ui-library/{p-c07adc21.entry.js → p-8c38a7bd.entry.js} +2 -2
- package/dist/ui-library/p-8c38a7bd.entry.js.map +1 -0
- package/dist/ui-library/p-943ce0f2.entry.js +2 -0
- package/dist/ui-library/p-943ce0f2.entry.js.map +1 -0
- package/dist/ui-library/{p-b27f496f.entry.js → p-979eabb5.entry.js} +2 -2
- package/dist/ui-library/p-979eabb5.entry.js.map +1 -0
- package/dist/ui-library/p-98ce9502.entry.js +2 -0
- package/dist/ui-library/p-98ce9502.entry.js.map +1 -0
- package/dist/ui-library/{p-ba74863a.js → p-998de05d.js} +1 -1
- package/dist/ui-library/p-998de05d.js.map +1 -0
- package/dist/ui-library/p-a036cc6f.entry.js +2 -0
- package/dist/ui-library/p-a036cc6f.entry.js.map +1 -0
- package/dist/ui-library/{p-8cf72af6.js → p-a1502802.js} +1 -1
- package/dist/ui-library/p-a1502802.js.map +1 -0
- package/dist/ui-library/p-a29f6a0e.entry.js +2 -0
- package/dist/ui-library/p-a29f6a0e.entry.js.map +1 -0
- package/dist/ui-library/p-a3fd8c74.entry.js +2 -0
- package/dist/ui-library/p-a3fd8c74.entry.js.map +1 -0
- package/dist/ui-library/p-a919b557.entry.js +2 -0
- package/dist/ui-library/p-a919b557.entry.js.map +1 -0
- package/dist/ui-library/p-ace4ec84.entry.js +2 -0
- package/dist/ui-library/p-ace4ec84.entry.js.map +1 -0
- package/dist/ui-library/{p-5b3e6eb7.entry.js → p-adf5a4da.entry.js} +2 -2
- package/dist/ui-library/p-adf5a4da.entry.js.map +1 -0
- package/dist/ui-library/{p-c700e3eb.entry.js → p-b5f844f7.entry.js} +2 -2
- package/dist/ui-library/p-b5f844f7.entry.js.map +1 -0
- package/dist/ui-library/p-b8ea574b.entry.js +2 -0
- package/dist/ui-library/p-b8ea574b.entry.js.map +1 -0
- package/dist/ui-library/p-bff679fa.entry.js +2 -0
- package/dist/ui-library/p-bff679fa.entry.js.map +1 -0
- package/dist/ui-library/p-ca63a6fa.js +3 -0
- package/dist/ui-library/p-ca63a6fa.js.map +1 -0
- package/dist/ui-library/p-d221d86a.entry.js +2 -0
- package/dist/ui-library/p-d221d86a.entry.js.map +1 -0
- package/dist/ui-library/p-d702b6ec.entry.js +2 -0
- package/dist/ui-library/p-d702b6ec.entry.js.map +1 -0
- package/dist/ui-library/p-db9d2fde.entry.js +2 -0
- package/dist/ui-library/p-db9d2fde.entry.js.map +1 -0
- package/dist/ui-library/p-e080d5b6.js +2 -0
- package/dist/ui-library/p-e080d5b6.js.map +1 -0
- package/dist/ui-library/p-e0dd0307.entry.js +2 -0
- package/dist/ui-library/p-e0dd0307.entry.js.map +1 -0
- package/dist/ui-library/p-e340a0ad.entry.js +2 -0
- package/dist/ui-library/p-e340a0ad.entry.js.map +1 -0
- package/dist/ui-library/p-f136a6b2.js +2 -0
- package/dist/ui-library/p-f136a6b2.js.map +1 -0
- package/dist/ui-library/p-f640731b.entry.js +2 -0
- package/dist/ui-library/p-f640731b.entry.js.map +1 -0
- package/dist/ui-library/p-fce214eb.entry.js +2 -0
- package/dist/ui-library/p-fce214eb.entry.js.map +1 -0
- package/dist/ui-library/p-fe87f64b.entry.js +2 -0
- package/dist/ui-library/p-fe87f64b.entry.js.map +1 -0
- package/dist/ui-library/ui-library.css +1 -10
- package/dist/ui-library/ui-library.esm.js +1 -1
- package/dist/ui-library/ui-library.esm.js.map +1 -1
- package/loader/index.d.ts +1 -1
- package/package.json +20 -21
- package/dist/cjs/event-listeners-dd94dcfb.js +0 -45
- package/dist/cjs/event-listeners-dd94dcfb.js.map +0 -1
- package/dist/cjs/execution-control-45c84c46.js.map +0 -1
- package/dist/cjs/focus-visible-e0d93a95.js +0 -47
- package/dist/cjs/focus-visible-e0d93a95.js.map +0 -1
- package/dist/cjs/form-control-7494488a.js +0 -35
- package/dist/cjs/form-control-7494488a.js.map +0 -1
- package/dist/cjs/index-ccf35821.js.map +0 -1
- package/dist/cjs/modal-21350fb5.js +0 -52
- package/dist/cjs/modal-21350fb5.js.map +0 -1
- package/dist/cjs/popover-b5e2d5ef.js.map +0 -1
- package/dist/cjs/popup-44836aaf.js +0 -103
- package/dist/cjs/popup-44836aaf.js.map +0 -1
- package/dist/cjs/scroll-76e6f5d7.js +0 -69
- package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
- package/dist/cjs/six-checkbox.cjs.entry.js +0 -171
- package/dist/cjs/six-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/six-form.cjs.entry.js +0 -236
- package/dist/cjs/six-form.cjs.entry.js.map +0 -1
- package/dist/cjs/six-menu-item.cjs.entry.js +0 -63
- package/dist/cjs/six-menu-item.cjs.entry.js.map +0 -1
- package/dist/cjs/slot-bccbdb59.js +0 -53
- package/dist/cjs/slot-bccbdb59.js.map +0 -1
- package/dist/cjs/types-64878648.js +0 -17
- package/dist/cjs/types-64878648.js.map +0 -1
- package/dist/collection/components/six-form/six-form.css +0 -11
- package/dist/collection/components/six-form/six-form.js +0 -427
- package/dist/collection/components/six-form/six-form.js.map +0 -1
- package/dist/components/six-form.js +0 -257
- package/dist/components/six-form.js.map +0 -1
- package/dist/components/six-tag2.js +0 -74
- package/dist/components/six-tag2.js.map +0 -1
- package/dist/esm/event-listeners-6b434035.js +0 -43
- package/dist/esm/event-listeners-6b434035.js.map +0 -1
- package/dist/esm/execution-control-72cc50f4.js.map +0 -1
- package/dist/esm/focus-visible-fa7129a0.js +0 -45
- package/dist/esm/focus-visible-fa7129a0.js.map +0 -1
- package/dist/esm/form-control-44a50dd6.js +0 -33
- package/dist/esm/form-control-44a50dd6.js.map +0 -1
- package/dist/esm/index-371fb9d4.js.map +0 -1
- package/dist/esm/modal-b1d96441.js +0 -49
- package/dist/esm/modal-b1d96441.js.map +0 -1
- package/dist/esm/polyfills/css-shim.js +0 -1
- package/dist/esm/popover-1aacbae8.js.map +0 -1
- package/dist/esm/popup-678b8592.js +0 -98
- package/dist/esm/popup-678b8592.js.map +0 -1
- package/dist/esm/scroll-180b53fd.js +0 -64
- package/dist/esm/six-checkbox.entry.js +0 -167
- package/dist/esm/six-checkbox.entry.js.map +0 -1
- package/dist/esm/six-form.entry.js +0 -232
- package/dist/esm/six-form.entry.js.map +0 -1
- package/dist/esm/six-menu-item.entry.js +0 -59
- package/dist/esm/six-menu-item.entry.js.map +0 -1
- package/dist/esm/slot-2e64df19.js +0 -48
- package/dist/esm/slot-2e64df19.js.map +0 -1
- package/dist/esm/types-4b10b413.js +0 -17
- package/dist/esm/types-4b10b413.js.map +0 -1
- package/dist/types/components/six-form/six-form.d.ts +0 -60
- package/dist/ui-library/p-02d5a6d8.js +0 -2
- package/dist/ui-library/p-02d5a6d8.js.map +0 -1
- package/dist/ui-library/p-053d6de8.entry.js +0 -2
- package/dist/ui-library/p-053d6de8.entry.js.map +0 -1
- package/dist/ui-library/p-0cc08e91.js.map +0 -1
- package/dist/ui-library/p-0eee4c41.entry.js +0 -2
- package/dist/ui-library/p-0eee4c41.entry.js.map +0 -1
- package/dist/ui-library/p-0fe78f9b.js +0 -2
- package/dist/ui-library/p-0fe78f9b.js.map +0 -1
- package/dist/ui-library/p-187fbba0.js +0 -3
- package/dist/ui-library/p-187fbba0.js.map +0 -1
- package/dist/ui-library/p-25a3bf57.js.map +0 -1
- package/dist/ui-library/p-25b42655.entry.js +0 -2
- package/dist/ui-library/p-25b42655.entry.js.map +0 -1
- package/dist/ui-library/p-271ba152.entry.js +0 -2
- package/dist/ui-library/p-271ba152.entry.js.map +0 -1
- package/dist/ui-library/p-27c4ee88.entry.js +0 -2
- package/dist/ui-library/p-27c4ee88.entry.js.map +0 -1
- package/dist/ui-library/p-2a36b7d0.entry.js +0 -2
- package/dist/ui-library/p-2a36b7d0.entry.js.map +0 -1
- package/dist/ui-library/p-2a8ad91b.entry.js +0 -2
- package/dist/ui-library/p-2a8ad91b.entry.js.map +0 -1
- package/dist/ui-library/p-30e0cdce.entry.js +0 -2
- package/dist/ui-library/p-30e0cdce.entry.js.map +0 -1
- package/dist/ui-library/p-3a47c8ad.entry.js +0 -2
- package/dist/ui-library/p-3a47c8ad.entry.js.map +0 -1
- package/dist/ui-library/p-3a4815cb.entry.js +0 -2
- package/dist/ui-library/p-3a4815cb.entry.js.map +0 -1
- package/dist/ui-library/p-3b71cac4.entry.js +0 -2
- package/dist/ui-library/p-3b71cac4.entry.js.map +0 -1
- package/dist/ui-library/p-3d4a2e03.entry.js +0 -2
- package/dist/ui-library/p-3d4a2e03.entry.js.map +0 -1
- package/dist/ui-library/p-3e4b9341.entry.js.map +0 -1
- package/dist/ui-library/p-41f0b6ff.entry.js +0 -2
- package/dist/ui-library/p-41f0b6ff.entry.js.map +0 -1
- package/dist/ui-library/p-435242a8.entry.js +0 -2
- package/dist/ui-library/p-435242a8.entry.js.map +0 -1
- package/dist/ui-library/p-5084ca7c.entry.js.map +0 -1
- package/dist/ui-library/p-5b3e6eb7.entry.js.map +0 -1
- package/dist/ui-library/p-5c1dd25a.entry.js +0 -2
- package/dist/ui-library/p-5c1dd25a.entry.js.map +0 -1
- package/dist/ui-library/p-5c60227f.entry.js +0 -2
- package/dist/ui-library/p-5c60227f.entry.js.map +0 -1
- package/dist/ui-library/p-5dc40a6a.entry.js +0 -2
- package/dist/ui-library/p-5dc40a6a.entry.js.map +0 -1
- package/dist/ui-library/p-649017db.entry.js +0 -2
- package/dist/ui-library/p-649017db.entry.js.map +0 -1
- package/dist/ui-library/p-713684c7.entry.js +0 -2
- package/dist/ui-library/p-713684c7.entry.js.map +0 -1
- package/dist/ui-library/p-73325eec.entry.js +0 -2
- package/dist/ui-library/p-73325eec.entry.js.map +0 -1
- package/dist/ui-library/p-7639c68e.entry.js +0 -2
- package/dist/ui-library/p-7639c68e.entry.js.map +0 -1
- package/dist/ui-library/p-764f56dd.entry.js +0 -2
- package/dist/ui-library/p-764f56dd.entry.js.map +0 -1
- package/dist/ui-library/p-886a35ee.entry.js +0 -2
- package/dist/ui-library/p-886a35ee.entry.js.map +0 -1
- package/dist/ui-library/p-8cf72af6.js.map +0 -1
- package/dist/ui-library/p-8d6f4311.entry.js +0 -2
- package/dist/ui-library/p-8d6f4311.entry.js.map +0 -1
- package/dist/ui-library/p-90c2dc30.entry.js +0 -2
- package/dist/ui-library/p-90c2dc30.entry.js.map +0 -1
- package/dist/ui-library/p-965fa6a6.entry.js +0 -2
- package/dist/ui-library/p-965fa6a6.entry.js.map +0 -1
- package/dist/ui-library/p-98234e3f.entry.js +0 -2
- package/dist/ui-library/p-98234e3f.entry.js.map +0 -1
- package/dist/ui-library/p-9b9c3afc.entry.js.map +0 -1
- package/dist/ui-library/p-9c34eab7.entry.js +0 -2
- package/dist/ui-library/p-9c34eab7.entry.js.map +0 -1
- package/dist/ui-library/p-9e0c386f.entry.js +0 -2
- package/dist/ui-library/p-9e0c386f.entry.js.map +0 -1
- package/dist/ui-library/p-9f8b6144.entry.js.map +0 -1
- package/dist/ui-library/p-a3cc0521.entry.js +0 -2
- package/dist/ui-library/p-a3cc0521.entry.js.map +0 -1
- package/dist/ui-library/p-a5143b8d.entry.js +0 -2
- package/dist/ui-library/p-a5143b8d.entry.js.map +0 -1
- package/dist/ui-library/p-aa6f71e1.entry.js +0 -2
- package/dist/ui-library/p-aa6f71e1.entry.js.map +0 -1
- package/dist/ui-library/p-abb98245.entry.js +0 -2
- package/dist/ui-library/p-abb98245.entry.js.map +0 -1
- package/dist/ui-library/p-b183e44f.js +0 -2
- package/dist/ui-library/p-b183e44f.js.map +0 -1
- package/dist/ui-library/p-b27f496f.entry.js.map +0 -1
- package/dist/ui-library/p-ba74863a.js.map +0 -1
- package/dist/ui-library/p-bf4a35ec.js.map +0 -1
- package/dist/ui-library/p-c07adc21.entry.js.map +0 -1
- package/dist/ui-library/p-c700e3eb.entry.js.map +0 -1
- package/dist/ui-library/p-cab99e54.entry.js.map +0 -1
- package/dist/ui-library/p-cf1133a0.entry.js +0 -2
- package/dist/ui-library/p-cf1133a0.entry.js.map +0 -1
- package/dist/ui-library/p-cf1d36c0.entry.js +0 -2
- package/dist/ui-library/p-cf1d36c0.entry.js.map +0 -1
- package/dist/ui-library/p-d87a6f4d.js +0 -2
- package/dist/ui-library/p-d87a6f4d.js.map +0 -1
- package/dist/ui-library/p-d8c97778.entry.js +0 -2
- package/dist/ui-library/p-d8c97778.entry.js.map +0 -1
- package/dist/ui-library/p-deb01174.entry.js +0 -2
- package/dist/ui-library/p-deb01174.entry.js.map +0 -1
- package/dist/ui-library/p-e5ba13d2.entry.js +0 -2
- package/dist/ui-library/p-e5ba13d2.entry.js.map +0 -1
- package/dist/ui-library/p-eb8f05a9.js.map +0 -1
- package/dist/ui-library/p-f29ba9cb.entry.js +0 -2
- package/dist/ui-library/p-f29ba9cb.entry.js.map +0 -1
- package/dist/ui-library/p-f66eb76c.entry.js +0 -2
- package/dist/ui-library/p-f66eb76c.entry.js.map +0 -1
- package/dist/ui-library/p-f974a184.entry.js +0 -2
- package/dist/ui-library/p-f974a184.entry.js.map +0 -1
- package/dist/ui-library/p-fb8d0734.entry.js +0 -2
- package/dist/ui-library/p-fb8d0734.entry.js.map +0 -1
- package/readme.md +0 -156
|
@@ -2,251 +2,246 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
6
|
-
const scroll = require('./scroll-
|
|
7
|
-
const focusVisible = require('./focus-visible-e0d93a95.js');
|
|
5
|
+
const index = require('./index-5dd19c4b.js');
|
|
6
|
+
const scroll = require('./scroll-68033901.js');
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Animates a given `element` from the position and dimension of `fromElement` to
|
|
10
|
+
* its current position and dimension. Can be useful to implement the FLIP animation technique.
|
|
11
|
+
*
|
|
12
|
+
* @see {@link https://css-tricks.com/animating-layouts-with-the-flip-technique/} for details on the FLIP technique.
|
|
13
|
+
*
|
|
14
|
+
* @param {Element} element - The element to animate.
|
|
15
|
+
* @param {Element} fromElement - The element representing the initial position and dimensions.
|
|
16
|
+
* @param {KeyframeAnimationOptions} [options={ duration: 150, easing: 'ease', fill: 'both' }] - Optional animation parameters.
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
function flipAnimate(element, fromElement, options = {
|
|
20
|
+
duration: 150,
|
|
21
|
+
easing: 'ease',
|
|
22
|
+
fill: 'both',
|
|
23
|
+
}) {
|
|
24
|
+
const dimensionsTo = fromElement.getBoundingClientRect();
|
|
25
|
+
const dimensionsFrom = element.getBoundingClientRect();
|
|
26
|
+
const deltaX = dimensionsTo.left - dimensionsFrom.left;
|
|
27
|
+
const deltaY = dimensionsTo.top - dimensionsFrom.top;
|
|
28
|
+
const deltaW = dimensionsTo.width / dimensionsFrom.width;
|
|
29
|
+
const deltaH = dimensionsTo.height / dimensionsFrom.height;
|
|
30
|
+
element.animate([
|
|
31
|
+
{
|
|
32
|
+
transformOrigin: 'top left',
|
|
33
|
+
transform: `translate(${deltaX}px, ${deltaY}px) scale(${deltaW}, ${deltaH})`,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
transformOrigin: 'top left',
|
|
37
|
+
transform: 'none',
|
|
38
|
+
},
|
|
39
|
+
], options);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const sixTabGroupCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:block}.tab-group{display:flex;border:solid 1px transparent;border-radius:0}.tab-group .tab-group__tabs{display:flex;position:relative}.tab-group--has-scroll-controls .tab-group__nav-container{position:relative;padding:0 var(--six-spacing-x-large)}.tab-group__scroll-button{display:flex;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;width:var(--six-spacing-x-large)}.tab-group__scroll-button--left{left:0}.tab-group__scroll-button--right{right:0}.tab-group--top{flex-direction:column}.tab-group--top .tab-group__nav-container{order:1}.tab-group--top .tab-group__nav{display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tab-group--top .tab-group__nav::-webkit-scrollbar{width:0;height:0}.tab-group--top .tab-group__tabs{flex:1 1 auto;position:relative;flex-direction:row}.tab-group--top .tab-group__body{order:2}.tab-group--bottom{flex-direction:column}.tab-group--bottom .tab-group__nav-container{order:2}.tab-group--bottom .tab-group__nav{display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tab-group--bottom .tab-group__nav::-webkit-scrollbar{width:0;height:0}.tab-group--bottom .tab-group__tabs{flex:1 1 auto;position:relative;flex-direction:row}.tab-group--bottom .tab-group__body{order:1}.tab-group--left{flex-direction:row}.tab-group--left .tab-group__nav-container{order:1}.tab-group--left .tab-group__tabs{flex:0 0 auto;flex-direction:column}.tab-group--left .tab-group__body{flex:1 1 auto;order:2}.tab-group--right{flex-direction:row}.tab-group--right .tab-group__nav-container{order:2}.tab-group--right .tab-group__tabs{flex:0 0 auto;flex-direction:column}.tab-group--right .tab-group__body{flex:1 1 auto;order:1}";
|
|
10
43
|
|
|
11
44
|
const SixTabGroup = class {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
45
|
+
constructor(hostRef) {
|
|
46
|
+
index.registerInstance(this, hostRef);
|
|
47
|
+
this.sixTabShow = index.createEvent(this, "six-tab-show", 7);
|
|
48
|
+
this.sixTabHide = index.createEvent(this, "six-tab-hide", 7);
|
|
49
|
+
this.handleClick = (event) => {
|
|
50
|
+
const target = event.target;
|
|
51
|
+
const tab = target.closest('six-tab');
|
|
52
|
+
const tabGroup = tab === null || tab === void 0 ? void 0 : tab.closest('six-tab-group');
|
|
53
|
+
// Ensure the target tab is in this tab group
|
|
54
|
+
if (tabGroup !== this.host) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
if (tab != null) {
|
|
58
|
+
this.setActiveTab(tab);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
this.handleKeyDown = (event) => {
|
|
62
|
+
if (this.nav == null)
|
|
63
|
+
return;
|
|
64
|
+
const target = event.target;
|
|
65
|
+
const tab = target.closest('six-tab');
|
|
66
|
+
const tabGroup = tab === null || tab === void 0 ? void 0 : tab.closest('six-tab-group');
|
|
67
|
+
// Ensure the target tab is in this tab group
|
|
68
|
+
if (tabGroup !== this.host) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
// Move focus left or right
|
|
72
|
+
if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {
|
|
73
|
+
const activeEl = document.activeElement;
|
|
74
|
+
if (activeEl && activeEl.tagName.toLowerCase() === 'six-tab') {
|
|
75
|
+
const tabs = this.getAllTabs();
|
|
76
|
+
let index = tabs.indexOf(activeEl);
|
|
77
|
+
if (event.key === 'Home') {
|
|
78
|
+
index = 0;
|
|
79
|
+
}
|
|
80
|
+
else if (event.key === 'End') {
|
|
81
|
+
index = tabs.length - 1;
|
|
82
|
+
}
|
|
83
|
+
else if (event.key === 'ArrowLeft') {
|
|
84
|
+
index = Math.max(0, index - 1);
|
|
85
|
+
}
|
|
86
|
+
else if (event.key === 'ArrowRight') {
|
|
87
|
+
index = Math.min(tabs.length - 1, index + 1);
|
|
88
|
+
}
|
|
89
|
+
tabs[index].setFocus({ preventScroll: true });
|
|
90
|
+
this.setActiveTab(tabs[index]);
|
|
91
|
+
if (['top', 'bottom'].includes(this.placement)) {
|
|
92
|
+
scroll.scrollIntoView(tabs[index], this.nav, 'horizontal');
|
|
93
|
+
}
|
|
94
|
+
event.preventDefault();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
this.handleScrollLeft = () => {
|
|
99
|
+
if (this.nav == null)
|
|
100
|
+
return;
|
|
101
|
+
this.nav.scroll({
|
|
102
|
+
left: this.nav.scrollLeft - this.nav.clientWidth,
|
|
103
|
+
behavior: 'smooth',
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
this.handleScrollRight = () => {
|
|
107
|
+
if (this.nav == null)
|
|
108
|
+
return;
|
|
109
|
+
this.nav.scroll({
|
|
110
|
+
left: this.nav.scrollLeft + this.nav.clientWidth,
|
|
111
|
+
behavior: 'smooth',
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
this.hasScrollControls = false;
|
|
115
|
+
this.placement = 'top';
|
|
116
|
+
this.noScrollControls = false;
|
|
117
|
+
}
|
|
118
|
+
handleNoScrollControlsChange() {
|
|
119
|
+
this.updateScrollControls();
|
|
120
|
+
}
|
|
121
|
+
componentDidLoad() {
|
|
122
|
+
if (this.tabGroup == null || this.nav == null)
|
|
123
|
+
return;
|
|
124
|
+
// Set initial tab state when the tabs first become visible
|
|
125
|
+
const observer = new IntersectionObserver((entries, observer) => {
|
|
126
|
+
if (entries[0].intersectionRatio > 0) {
|
|
127
|
+
this.setAriaLabels();
|
|
128
|
+
this.setActiveTab(this.getActiveTab() || this.getAllTabs()[0], false);
|
|
129
|
+
observer.unobserve(entries[0].target);
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
observer.observe(this.host);
|
|
133
|
+
this.resizeObserver = new ResizeObserver(() => this.updateScrollControls());
|
|
134
|
+
this.resizeObserver.observe(this.nav);
|
|
135
|
+
requestAnimationFrame(() => this.updateScrollControls());
|
|
136
|
+
// Update aria labels if the DOM changes
|
|
137
|
+
this.mutationObserver = new MutationObserver((mutations) => {
|
|
138
|
+
if (mutations.some((mutation) => {
|
|
139
|
+
var _a;
|
|
140
|
+
return !['aria-labelledby', 'aria-controls'].includes((_a = mutation.attributeName) !== null && _a !== void 0 ? _a : '');
|
|
141
|
+
})) {
|
|
142
|
+
setTimeout(() => this.setAriaLabels());
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
this.mutationObserver.observe(this.host, { attributes: true, childList: true, subtree: true });
|
|
146
|
+
}
|
|
147
|
+
disconnectedCallback() {
|
|
148
|
+
if (this.mutationObserver == null || this.tabGroup == null || this.nav == null || this.resizeObserver == null) {
|
|
149
|
+
return;
|
|
43
150
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
else if (event.key === 'End') {
|
|
55
|
-
index = tabs.length - 1;
|
|
56
|
-
}
|
|
57
|
-
else if (event.key === 'ArrowLeft') {
|
|
58
|
-
index = Math.max(0, index - 1);
|
|
59
|
-
}
|
|
60
|
-
else if (event.key === 'ArrowRight') {
|
|
61
|
-
index = Math.min(tabs.length - 1, index + 1);
|
|
62
|
-
}
|
|
63
|
-
tabs[index].setFocus({ preventScroll: true });
|
|
64
|
-
if (['top', 'bottom'].includes(this.placement)) {
|
|
65
|
-
scroll.scrollIntoView(tabs[index], this.nav, 'horizontal');
|
|
66
|
-
}
|
|
67
|
-
event.preventDefault();
|
|
151
|
+
this.mutationObserver.disconnect();
|
|
152
|
+
this.resizeObserver.unobserve(this.nav);
|
|
153
|
+
}
|
|
154
|
+
/** Shows the specified tab panel. */
|
|
155
|
+
async show(panel) {
|
|
156
|
+
const tabs = this.getAllTabs();
|
|
157
|
+
const tab = tabs.find((el) => el.panel === panel);
|
|
158
|
+
if (tab != null) {
|
|
159
|
+
this.setActiveTab(tab);
|
|
68
160
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
this.nav.scroll({
|
|
83
|
-
left: this.nav.scrollLeft + this.nav.clientWidth,
|
|
84
|
-
behavior: 'smooth',
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
this.syncActiveTabIndicator = () => {
|
|
88
|
-
if (this.activeTabIndicator == null || this.nav == null)
|
|
89
|
-
return;
|
|
90
|
-
const tab = this.getActiveTab();
|
|
91
|
-
if (tab != null) {
|
|
92
|
-
this.activeTabIndicator.style.display = 'block';
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
this.activeTabIndicator.style.display = 'none';
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
const width = tab.clientWidth;
|
|
99
|
-
const height = tab.clientHeight;
|
|
100
|
-
const offset = scroll.getOffset(tab, this.nav);
|
|
101
|
-
const offsetTop = offset.top + this.nav.scrollTop;
|
|
102
|
-
const offsetLeft = offset.left + this.nav.scrollLeft;
|
|
103
|
-
switch (this.placement) {
|
|
104
|
-
case 'top':
|
|
105
|
-
case 'bottom':
|
|
106
|
-
this.activeTabIndicator.style.width = `${width}px`;
|
|
107
|
-
this.activeTabIndicator.style.height = '';
|
|
108
|
-
this.activeTabIndicator.style.transform = `translateX(${offsetLeft}px)`;
|
|
109
|
-
break;
|
|
110
|
-
case 'left':
|
|
111
|
-
case 'right':
|
|
112
|
-
this.activeTabIndicator.style.width = '';
|
|
113
|
-
this.activeTabIndicator.style.height = `${height}px`;
|
|
114
|
-
this.activeTabIndicator.style.transform = `translateY(${offsetTop}px)`;
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
this.hasScrollControls = false;
|
|
119
|
-
this.placement = 'top';
|
|
120
|
-
this.noScrollControls = false;
|
|
121
|
-
}
|
|
122
|
-
handlePlacementChange() {
|
|
123
|
-
this.syncActiveTabIndicator();
|
|
124
|
-
}
|
|
125
|
-
handleNoScrollControlsChange() {
|
|
126
|
-
this.updateScrollControls();
|
|
127
|
-
}
|
|
128
|
-
componentDidLoad() {
|
|
129
|
-
if (this.tabGroup == null || this.nav == null)
|
|
130
|
-
return;
|
|
131
|
-
// Set initial tab state when the tabs first become visible
|
|
132
|
-
const observer = new IntersectionObserver((entries, observer) => {
|
|
133
|
-
if (entries[0].intersectionRatio > 0) {
|
|
134
|
-
this.setAriaLabels();
|
|
135
|
-
this.setActiveTab(this.getActiveTab() || this.getAllTabs()[0], false);
|
|
136
|
-
observer.unobserve(entries[0].target);
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
observer.observe(this.host);
|
|
140
|
-
focusVisible.focusVisible.observe(this.tabGroup);
|
|
141
|
-
this.resizeObserver = new ResizeObserver(() => this.updateScrollControls());
|
|
142
|
-
this.resizeObserver.observe(this.nav);
|
|
143
|
-
requestAnimationFrame(() => this.updateScrollControls());
|
|
144
|
-
// Update aria labels if the DOM changes
|
|
145
|
-
this.mutationObserver = new MutationObserver((mutations) => {
|
|
146
|
-
if (mutations.some((mutation) => {
|
|
161
|
+
}
|
|
162
|
+
getAllTabs(includeDisabled = false) {
|
|
163
|
+
var _a;
|
|
164
|
+
const slot = (_a = this.tabs) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
|
|
165
|
+
if (slot == null)
|
|
166
|
+
return [];
|
|
167
|
+
return [...slot.assignedElements()].filter((el) => {
|
|
168
|
+
return includeDisabled
|
|
169
|
+
? el.tagName.toLowerCase() === 'six-tab'
|
|
170
|
+
: el.tagName.toLowerCase() === 'six-tab' && !el.disabled;
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
getAllPanels() {
|
|
147
174
|
var _a;
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
disconnectedCallback() {
|
|
156
|
-
if (this.mutationObserver == null || this.tabGroup == null || this.nav == null || this.resizeObserver == null) {
|
|
157
|
-
return;
|
|
175
|
+
const slot = (_a = this.body) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
|
|
176
|
+
if (slot == null)
|
|
177
|
+
return [];
|
|
178
|
+
return [...slot.assignedElements()].filter((el) => el.tagName.toLowerCase() === 'six-tab-panel');
|
|
179
|
+
}
|
|
180
|
+
getActiveTab() {
|
|
181
|
+
return this.getAllTabs().find((el) => el.active);
|
|
158
182
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
const tabs = this.getAllTabs();
|
|
166
|
-
const tab = tabs.find((el) => el.panel === panel);
|
|
167
|
-
if (tab != null) {
|
|
168
|
-
this.setActiveTab(tab);
|
|
183
|
+
updateScrollControls() {
|
|
184
|
+
if (this.nav == null)
|
|
185
|
+
return;
|
|
186
|
+
this.hasScrollControls = this.noScrollControls
|
|
187
|
+
? false
|
|
188
|
+
: ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;
|
|
169
189
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
? el.tagName.toLowerCase() === 'six-tab'
|
|
179
|
-
: el.tagName.toLowerCase() === 'six-tab' && !el.disabled;
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
getAllPanels() {
|
|
183
|
-
var _a;
|
|
184
|
-
const slot = (_a = this.body) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
|
|
185
|
-
if (slot == null)
|
|
186
|
-
return [];
|
|
187
|
-
return [...slot.assignedElements()].filter((el) => el.tagName.toLowerCase() === 'six-tab-panel');
|
|
188
|
-
}
|
|
189
|
-
getActiveTab() {
|
|
190
|
-
return this.getAllTabs().find((el) => el.active);
|
|
191
|
-
}
|
|
192
|
-
updateScrollControls() {
|
|
193
|
-
if (this.nav == null)
|
|
194
|
-
return;
|
|
195
|
-
this.hasScrollControls = this.noScrollControls
|
|
196
|
-
? false
|
|
197
|
-
: ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;
|
|
198
|
-
}
|
|
199
|
-
setActiveTab(tab, emitEvents = true) {
|
|
200
|
-
if (this.nav == null)
|
|
201
|
-
return;
|
|
202
|
-
if (tab != null && tab !== this.activeTab && !tab.disabled) {
|
|
203
|
-
const previousTab = this.activeTab;
|
|
204
|
-
this.activeTab = tab;
|
|
205
|
-
// Sync tabs and panels
|
|
206
|
-
this.getAllTabs().map((el) => (el.active = el === this.activeTab));
|
|
207
|
-
this.getAllPanels().map((el) => { var _a; return (el.active = el.name === ((_a = this.activeTab) === null || _a === void 0 ? void 0 : _a.panel)); });
|
|
208
|
-
this.syncActiveTabIndicator();
|
|
209
|
-
if (['top', 'bottom'].includes(this.placement)) {
|
|
210
|
-
scroll.scrollIntoView(this.activeTab, this.nav, 'horizontal');
|
|
211
|
-
}
|
|
212
|
-
// Emit events
|
|
213
|
-
if (emitEvents) {
|
|
214
|
-
if (previousTab != null) {
|
|
215
|
-
this.sixTabHide.emit({ name: previousTab.panel });
|
|
190
|
+
setActiveTab(tab, emitEvents = true) {
|
|
191
|
+
var _a, _b, _c;
|
|
192
|
+
if (this.nav == null)
|
|
193
|
+
return;
|
|
194
|
+
const newIndicator = (_a = tab === null || tab === void 0 ? void 0 : tab.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.tab__indicator');
|
|
195
|
+
const oldIndicator = (_c = (_b = this.getActiveTab()) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.tab__indicator');
|
|
196
|
+
if (oldIndicator != null && newIndicator != null) {
|
|
197
|
+
flipAnimate(newIndicator, oldIndicator);
|
|
216
198
|
}
|
|
217
|
-
|
|
218
|
-
|
|
199
|
+
if (tab !== this.activeTab && !tab.disabled) {
|
|
200
|
+
const previousTab = this.activeTab;
|
|
201
|
+
this.activeTab = tab;
|
|
202
|
+
// Sync tabs and panels
|
|
203
|
+
this.getAllTabs().map((el) => (el.active = el === this.activeTab));
|
|
204
|
+
this.getAllPanels().map((el) => { var _a; return (el.active = el.name === ((_a = this.activeTab) === null || _a === void 0 ? void 0 : _a.panel)); });
|
|
205
|
+
if (['top', 'bottom'].includes(this.placement)) {
|
|
206
|
+
scroll.scrollIntoView(this.activeTab, this.nav, 'horizontal');
|
|
207
|
+
}
|
|
208
|
+
// Emit events
|
|
209
|
+
if (emitEvents) {
|
|
210
|
+
if (previousTab != null) {
|
|
211
|
+
this.sixTabHide.emit({ name: previousTab.panel });
|
|
212
|
+
}
|
|
213
|
+
this.sixTabShow.emit({ name: this.activeTab.panel });
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
setAriaLabels() {
|
|
218
|
+
const tabs = this.getAllTabs();
|
|
219
|
+
const panels = this.getAllPanels();
|
|
220
|
+
// Link each tab with its corresponding panel
|
|
221
|
+
tabs.map((tab) => {
|
|
222
|
+
var _a, _b;
|
|
223
|
+
const panel = panels.find((el) => el.name === tab.panel);
|
|
224
|
+
if (panel != null) {
|
|
225
|
+
tab.setAttribute('aria-controls', (_a = panel.getAttribute('id')) !== null && _a !== void 0 ? _a : '');
|
|
226
|
+
panel.setAttribute('aria-labelledby', (_b = tab.getAttribute('id')) !== null && _b !== void 0 ? _b : '');
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
render() {
|
|
231
|
+
return (index.h("div", { part: "base", ref: (el) => (this.tabGroup = el), class: {
|
|
232
|
+
'tab-group': true,
|
|
233
|
+
// Placements
|
|
234
|
+
'tab-group--top': this.placement === 'top',
|
|
235
|
+
'tab-group--bottom': this.placement === 'bottom',
|
|
236
|
+
'tab-group--left': this.placement === 'left',
|
|
237
|
+
'tab-group--right': this.placement === 'right',
|
|
238
|
+
'tab-group--has-scroll-controls': this.hasScrollControls,
|
|
239
|
+
}, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, index.h("div", { class: "tab-group__nav-container" }, this.hasScrollControls && (index.h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--left", exportparts: "base:scroll-button", name: "chevron_left", onClick: this.handleScrollLeft })), index.h("div", { ref: (el) => (this.nav = el), key: "nav", part: "nav", class: "tab-group__nav" }, index.h("div", { ref: (el) => (this.tabs = el), part: "tabs", class: "tab-group__tabs", role: "tablist" }, index.h("slot", { name: "nav" }))), this.hasScrollControls && (index.h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--right", exportparts: "base:scroll-button", name: "chevron_right", onClick: this.handleScrollRight }))), index.h("div", { ref: (el) => (this.body = el), part: "body", class: "tab-group__body" }, index.h("slot", null))));
|
|
219
240
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
// Link each tab with its corresponding panel
|
|
225
|
-
tabs.map((tab) => {
|
|
226
|
-
var _a, _b;
|
|
227
|
-
const panel = panels.find((el) => el.name === tab.panel);
|
|
228
|
-
if (panel != null) {
|
|
229
|
-
tab.setAttribute('aria-controls', (_a = panel.getAttribute('id')) !== null && _a !== void 0 ? _a : '');
|
|
230
|
-
panel.setAttribute('aria-labelledby', (_b = tab.getAttribute('id')) !== null && _b !== void 0 ? _b : '');
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
render() {
|
|
235
|
-
return (index.h("div", { part: "base", ref: (el) => (this.tabGroup = el), class: {
|
|
236
|
-
'tab-group': true,
|
|
237
|
-
// Placements
|
|
238
|
-
'tab-group--top': this.placement === 'top',
|
|
239
|
-
'tab-group--bottom': this.placement === 'bottom',
|
|
240
|
-
'tab-group--left': this.placement === 'left',
|
|
241
|
-
'tab-group--right': this.placement === 'right',
|
|
242
|
-
'tab-group--has-scroll-controls': this.hasScrollControls,
|
|
243
|
-
}, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, index.h("div", { class: "tab-group__nav-container" }, this.hasScrollControls && (index.h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--left", exportparts: "base:scroll-button", name: "chevron_left", onClick: this.handleScrollLeft })), index.h("div", { ref: (el) => (this.nav = el), key: "nav", part: "nav", class: "tab-group__nav" }, index.h("div", { ref: (el) => (this.tabs = el), part: "tabs", class: "tab-group__tabs", role: "tablist" }, index.h("div", { ref: (el) => (this.activeTabIndicator = el), part: "active-tab-indicator", class: "tab-group__active-tab-indicator" }), index.h("slot", { name: "nav", onSlotchange: this.syncActiveTabIndicator }))), this.hasScrollControls && (index.h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--right", exportparts: "base:scroll-button", name: "chevron_right", onClick: this.handleScrollRight }))), index.h("div", { ref: (el) => (this.body = el), part: "body", class: "tab-group__body" }, index.h("slot", { onSlotchange: this.syncActiveTabIndicator }))));
|
|
244
|
-
}
|
|
245
|
-
get host() { return index.getElement(this); }
|
|
246
|
-
static get watchers() { return {
|
|
247
|
-
"placement": ["handlePlacementChange"],
|
|
248
|
-
"noScrollControls": ["handleNoScrollControlsChange"]
|
|
249
|
-
}; }
|
|
241
|
+
get host() { return index.getElement(this); }
|
|
242
|
+
static get watchers() { return {
|
|
243
|
+
"noScrollControls": ["handleNoScrollControlsChange"]
|
|
244
|
+
}; }
|
|
250
245
|
};
|
|
251
246
|
SixTabGroup.style = sixTabGroupCss;
|
|
252
247
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"six-tab-group.entry.cjs.js","mappings":"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","names":["scrollIntoView","getOffset","focusVisible","h"],"sources":["./src/components/six-tab-group/six-tab-group.scss?tag=six-tab-group&encapsulation=shadow","./src/components/six-tab-group/six-tab-group.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hide-scrollbar';\n\n/**\n * @prop --tabs-border-color: The color of the border that separates tabs.\n */\n:host {\n --tabs-border-color: var(--six-tab-border-color);\n display: block;\n}\n\n.tab-group {\n display: flex;\n border: solid 1px transparent;\n border-radius: 0;\n\n .tab-group__tabs {\n display: flex;\n position: relative;\n }\n\n .tab-group__active-tab-indicator {\n position: absolute;\n transition: var(--six-transition-fast) transform ease, var(--six-transition-fast) width ease;\n }\n\n // Remove the focus ring when the user isn't interacting with a keyboard\n &:not(.focus-visible) ::slotted(six-tab) {\n --focus-ring: none;\n }\n}\n\n.tab-group--has-scroll-controls .tab-group__nav-container {\n position: relative;\n padding: 0 var(--six-spacing-x-large);\n}\n\n.tab-group__scroll-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n bottom: 0;\n width: var(--six-spacing-x-large);\n}\n\n.tab-group__scroll-button--left {\n left: 0;\n}\n\n.tab-group__scroll-button--right {\n right: 0;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Top\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--top {\n flex-direction: column;\n\n .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group__nav {\n display: flex;\n overflow-x: auto;\n @include hide-scrollbar();\n }\n\n .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n border-bottom: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n bottom: -2px;\n border-bottom: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n order: 2;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Bottom\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--bottom {\n flex-direction: column;\n\n .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group__nav {\n display: flex;\n overflow-x: auto;\n @include hide-scrollbar();\n }\n\n .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n border-top: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n top: calc(-1 * 2px);\n border-top: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n order: 1;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Left\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--left {\n flex-direction: row;\n\n .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n border-right: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n right: calc(-1 * 2px);\n border-right: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n flex: 1 1 auto;\n order: 2;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Right\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--right {\n flex-direction: row;\n\n .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n border-left: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n left: calc(-1 * 2px);\n border-left: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n flex: 1 1 auto;\n order: 1;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getOffset } from '../../utils/offset';\nimport { scrollIntoView } from '../../utils/scroll';\nimport { focusVisible } from '../../utils/focus-visible';\n\nexport interface SixTabShowPayload {\n name: string;\n}\n\nexport interface SixTabHidePayload {\n name: string;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot nav - Used for grouping tabs in the tab group.\n * @slot - Used for grouping tab panels in the tab group.\n *\n * @part base - The component's base wrapper.\n * @part nav - The tab group navigation container.\n * @part tabs - The container that wraps the slotted tabs.\n * @part active-tab-indicator - An element that displays the currently selected tab. This is a child of the tab's container.\n * @part body - The tab group body where tab panels are slotted in.\n * @part scroll-button - The previous and next scroll buttons that appear when tabs are scrollable.\n */\n@Component({\n tag: 'six-tab-group',\n styleUrl: 'six-tab-group.scss',\n shadow: true,\n})\nexport class SixTabGroup {\n private activeTab?: HTMLSixTabElement;\n private activeTabIndicator?: HTMLElement;\n private body?: HTMLElement;\n private mutationObserver?: MutationObserver;\n private nav?: HTMLElement;\n private resizeObserver?: ResizeObserver;\n private tabGroup?: HTMLElement;\n private tabs?: HTMLElement;\n\n @Element() host!: HTMLSixTabGroupElement;\n\n @State() hasScrollControls = false;\n\n /** The placement of the tabs. */\n @Prop() placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @Prop() noScrollControls = false;\n\n @Watch('placement')\n handlePlacementChange() {\n this.syncActiveTabIndicator();\n }\n\n @Watch('noScrollControls')\n handleNoScrollControlsChange() {\n this.updateScrollControls();\n }\n\n /** Emitted when a tab is shown. */\n @Event({ eventName: 'six-tab-show' }) sixTabShow!: EventEmitter<SixTabShowPayload>;\n\n /** Emitted when a tab is hidden. */\n @Event({ eventName: 'six-tab-hide' }) sixTabHide!: EventEmitter<SixTabHidePayload>;\n\n componentDidLoad() {\n if (this.tabGroup == null || this.nav == null) return;\n\n // Set initial tab state when the tabs first become visible\n const observer = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n this.setActiveTab(this.getActiveTab() || this.getAllTabs()[0], false);\n observer.unobserve(entries[0].target);\n }\n });\n observer.observe(this.host);\n\n focusVisible.observe(this.tabGroup);\n\n this.resizeObserver = new ResizeObserver(() => this.updateScrollControls());\n this.resizeObserver.observe(this.nav);\n requestAnimationFrame(() => this.updateScrollControls());\n\n // Update aria labels if the DOM changes\n this.mutationObserver = new MutationObserver((mutations) => {\n if (\n mutations.some((mutation) => {\n return !['aria-labelledby', 'aria-controls'].includes(mutation.attributeName ?? '');\n })\n ) {\n setTimeout(() => this.setAriaLabels());\n }\n });\n this.mutationObserver.observe(this.host, { attributes: true, childList: true, subtree: true });\n }\n\n disconnectedCallback() {\n if (this.mutationObserver == null || this.tabGroup == null || this.nav == null || this.resizeObserver == null) {\n return;\n }\n\n this.mutationObserver.disconnect();\n focusVisible.unobserve(this.tabGroup);\n this.resizeObserver.unobserve(this.nav);\n }\n\n /** Shows the specified tab panel. */\n @Method()\n async show(panel: string) {\n const tabs = this.getAllTabs();\n const tab = tabs.find((el) => el.panel === panel);\n\n if (tab != null) {\n this.setActiveTab(tab);\n }\n }\n\n private getAllTabs(includeDisabled = false): HTMLSixTabElement[] {\n const slot = this.tabs?.querySelector('slot');\n if (slot == null) return [];\n\n return [...slot.assignedElements()].filter((el: Element) => {\n return includeDisabled\n ? el.tagName.toLowerCase() === 'six-tab'\n : el.tagName.toLowerCase() === 'six-tab' && !(el as HTMLSixTabElement).disabled;\n }) as [HTMLSixTabElement];\n }\n\n private getAllPanels(): HTMLSixTabPanelElement[] {\n const slot = this.body?.querySelector('slot');\n if (slot == null) return [];\n return [...slot.assignedElements()].filter((el: Element) => el.tagName.toLowerCase() === 'six-tab-panel') as [\n HTMLSixTabPanelElement\n ];\n }\n\n private getActiveTab() {\n return this.getAllTabs().find((el) => el.active);\n }\n\n private handleClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n if (tab != null) {\n this.setActiveTab(tab);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.nav == null) return;\n\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n // Activate a tab\n if (['Enter', ' '].includes(event.key)) {\n if (tab != null) {\n this.setActiveTab(tab);\n event.preventDefault();\n }\n }\n\n // Move focus left or right\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const activeEl = document.activeElement as HTMLSixTabElement;\n\n if (activeEl && activeEl.tagName.toLowerCase() === 'six-tab') {\n const tabs = this.getAllTabs();\n let index = tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = tabs.length - 1;\n } else if (event.key === 'ArrowLeft') {\n index = Math.max(0, index - 1);\n } else if (event.key === 'ArrowRight') {\n index = Math.min(tabs.length - 1, index + 1);\n }\n\n tabs[index].setFocus({ preventScroll: true });\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(tabs[index], this.nav, 'horizontal');\n }\n\n event.preventDefault();\n }\n }\n };\n\n private handleScrollLeft = () => {\n if (this.nav == null) return;\n\n this.nav.scroll({\n left: this.nav.scrollLeft - this.nav.clientWidth,\n behavior: 'smooth',\n });\n };\n\n private handleScrollRight = () => {\n if (this.nav == null) return;\n\n this.nav.scroll({\n left: this.nav.scrollLeft + this.nav.clientWidth,\n behavior: 'smooth',\n });\n };\n\n private updateScrollControls() {\n if (this.nav == null) return;\n\n this.hasScrollControls = this.noScrollControls\n ? false\n : ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n }\n\n private setActiveTab(tab: HTMLSixTabElement, emitEvents = true) {\n if (this.nav == null) return;\n\n if (tab != null && tab !== this.activeTab && !tab.disabled) {\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n // Sync tabs and panels\n this.getAllTabs().map((el) => (el.active = el === this.activeTab));\n this.getAllPanels().map((el) => (el.active = el.name === this.activeTab?.panel));\n this.syncActiveTabIndicator();\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal');\n }\n\n // Emit events\n if (emitEvents) {\n if (previousTab != null) {\n this.sixTabHide.emit({ name: previousTab.panel });\n }\n\n this.sixTabShow.emit({ name: this.activeTab.panel });\n }\n }\n }\n\n private setAriaLabels() {\n const tabs = this.getAllTabs();\n const panels = this.getAllPanels();\n\n // Link each tab with its corresponding panel\n tabs.map((tab) => {\n const panel = panels.find((el) => el.name === tab.panel);\n if (panel != null) {\n tab.setAttribute('aria-controls', panel.getAttribute('id') ?? '');\n panel.setAttribute('aria-labelledby', tab.getAttribute('id') ?? '');\n }\n });\n }\n\n private syncActiveTabIndicator = () => {\n if (this.activeTabIndicator == null || this.nav == null) return;\n\n const tab = this.getActiveTab();\n\n if (tab != null) {\n this.activeTabIndicator.style.display = 'block';\n } else {\n this.activeTabIndicator.style.display = 'none';\n return;\n }\n\n const width = tab.clientWidth;\n const height = tab.clientHeight;\n const offset = getOffset(tab, this.nav);\n const offsetTop = offset.top + this.nav.scrollTop;\n const offsetLeft = offset.left + this.nav.scrollLeft;\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.activeTabIndicator.style.width = `${width}px`;\n this.activeTabIndicator.style.height = '';\n this.activeTabIndicator.style.transform = `translateX(${offsetLeft}px)`;\n break;\n\n case 'left':\n case 'right':\n this.activeTabIndicator.style.width = '';\n this.activeTabIndicator.style.height = `${height}px`;\n this.activeTabIndicator.style.transform = `translateY(${offsetTop}px)`;\n break;\n }\n };\n\n render() {\n return (\n <div\n part=\"base\"\n ref={(el) => (this.tabGroup = el)}\n class={{\n 'tab-group': true,\n\n // Placements\n 'tab-group--top': this.placement === 'top',\n 'tab-group--bottom': this.placement === 'bottom',\n 'tab-group--left': this.placement === 'left',\n 'tab-group--right': this.placement === 'right',\n\n 'tab-group--has-scroll-controls': this.hasScrollControls,\n }}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\">\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--left\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_left\"\n onClick={this.handleScrollLeft}\n />\n )}\n <div ref={(el) => (this.nav = el)} key=\"nav\" part=\"nav\" class=\"tab-group__nav\">\n <div ref={(el) => (this.tabs = el)} part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <div\n ref={(el) => (this.activeTabIndicator = el)}\n part=\"active-tab-indicator\"\n class=\"tab-group__active-tab-indicator\"\n />\n <slot name=\"nav\" onSlotchange={this.syncActiveTabIndicator} />\n </div>\n </div>\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--right\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_right\"\n onClick={this.handleScrollRight}\n />\n )}\n </div>\n\n <div ref={(el) => (this.body = el)} part=\"body\" class=\"tab-group__body\">\n <slot onSlotchange={this.syncActiveTabIndicator} />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"six-tab-group.entry.cjs.js","mappings":"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","names":["scrollIntoView","h"],"sources":["src/utils/animation.ts","src/components/six-tab-group/six-tab-group.scss?tag=six-tab-group&encapsulation=shadow","src/components/six-tab-group/six-tab-group.tsx"],"sourcesContent":["/**\n * Animates a given `element` from the position and dimension of `fromElement` to\n * its current position and dimension. Can be useful to implement the FLIP animation technique.\n *\n * @see {@link https://css-tricks.com/animating-layouts-with-the-flip-technique/} for details on the FLIP technique.\n *\n * @param {Element} element - The element to animate.\n * @param {Element} fromElement - The element representing the initial position and dimensions.\n * @param {KeyframeAnimationOptions} [options={ duration: 150, easing: 'ease', fill: 'both' }] - Optional animation parameters.\n *\n */\nexport function flipAnimate(\n element: Element,\n fromElement: Element,\n options: KeyframeAnimationOptions = {\n duration: 150,\n easing: 'ease',\n fill: 'both',\n }\n) {\n const dimensionsTo = fromElement.getBoundingClientRect();\n const dimensionsFrom = element.getBoundingClientRect();\n\n const deltaX = dimensionsTo.left - dimensionsFrom.left;\n const deltaY = dimensionsTo.top - dimensionsFrom.top;\n const deltaW = dimensionsTo.width / dimensionsFrom.width;\n const deltaH = dimensionsTo.height / dimensionsFrom.height;\n\n element.animate(\n [\n {\n transformOrigin: 'top left',\n transform: `translate(${deltaX}px, ${deltaY}px) scale(${deltaW}, ${deltaH})`,\n },\n {\n transformOrigin: 'top left',\n transform: 'none',\n },\n ],\n options\n );\n}\n","@import 'src/global/component';\n@import 'src/global/mixins/hide-scrollbar';\n\n:host {\n display: block;\n}\n\n.tab-group {\n display: flex;\n border: solid 1px transparent;\n border-radius: 0;\n\n .tab-group__tabs {\n display: flex;\n position: relative;\n }\n}\n\n.tab-group--has-scroll-controls .tab-group__nav-container {\n position: relative;\n padding: 0 var(--six-spacing-x-large);\n}\n\n.tab-group__scroll-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n bottom: 0;\n width: var(--six-spacing-x-large);\n}\n\n.tab-group__scroll-button--left {\n left: 0;\n}\n\n.tab-group__scroll-button--right {\n right: 0;\n}\n\n// TOP\n.tab-group--top {\n flex-direction: column;\n\n .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group__nav {\n display: flex;\n overflow-x: auto;\n @include hide-scrollbar();\n }\n\n .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n }\n\n .tab-group__body {\n order: 2;\n }\n}\n\n// Bottom\n.tab-group--bottom {\n flex-direction: column;\n\n .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group__nav {\n display: flex;\n overflow-x: auto;\n @include hide-scrollbar();\n }\n\n .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n }\n\n .tab-group__body {\n order: 1;\n }\n}\n\n// Left\n\n.tab-group--left {\n flex-direction: row;\n\n .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n }\n\n .tab-group__body {\n flex: 1 1 auto;\n order: 2;\n }\n}\n\n// Right\n.tab-group--right {\n flex-direction: row;\n\n .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n }\n\n .tab-group__body {\n flex: 1 1 auto;\n order: 1;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { scrollIntoView } from '../../utils/scroll';\nimport { flipAnimate } from '../../utils/animation';\n\nexport interface SixTabShowPayload {\n name: string;\n}\n\nexport interface SixTabHidePayload {\n name: string;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot nav - Used for grouping tabs in the tab group.\n * @slot - Used for grouping tab panels in the tab group.\n *\n * @part base - The component's base wrapper.\n * @part nav - The tab group navigation container.\n * @part tabs - The container that wraps the slotted tabs.\n * @part active-tab-indicator - An element that displays the currently selected tab. This is a child of the tab's container.\n * @part body - The tab group body where tab panels are slotted in.\n * @part scroll-button - The previous and next scroll buttons that appear when tabs are scrollable.\n */\n@Component({\n tag: 'six-tab-group',\n styleUrl: 'six-tab-group.scss',\n shadow: true,\n})\nexport class SixTabGroup {\n private activeTab?: HTMLSixTabElement;\n private body?: HTMLElement;\n private mutationObserver?: MutationObserver;\n private nav?: HTMLElement;\n private resizeObserver?: ResizeObserver;\n private tabGroup?: HTMLElement;\n private tabs?: HTMLElement;\n\n @Element() host!: HTMLSixTabGroupElement;\n\n @State() hasScrollControls = false;\n\n /** The placement of the tabs. */\n @Prop() placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @Prop() noScrollControls = false;\n\n @Watch('noScrollControls')\n handleNoScrollControlsChange() {\n this.updateScrollControls();\n }\n\n /** Emitted when a tab is shown. */\n @Event({ eventName: 'six-tab-show' }) sixTabShow!: EventEmitter<SixTabShowPayload>;\n\n /** Emitted when a tab is hidden. */\n @Event({ eventName: 'six-tab-hide' }) sixTabHide!: EventEmitter<SixTabHidePayload>;\n\n componentDidLoad() {\n if (this.tabGroup == null || this.nav == null) return;\n\n // Set initial tab state when the tabs first become visible\n const observer = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n this.setActiveTab(this.getActiveTab() || this.getAllTabs()[0], false);\n observer.unobserve(entries[0].target);\n }\n });\n observer.observe(this.host);\n this.resizeObserver = new ResizeObserver(() => this.updateScrollControls());\n this.resizeObserver.observe(this.nav);\n requestAnimationFrame(() => this.updateScrollControls());\n\n // Update aria labels if the DOM changes\n this.mutationObserver = new MutationObserver((mutations) => {\n if (\n mutations.some((mutation) => {\n return !['aria-labelledby', 'aria-controls'].includes(mutation.attributeName ?? '');\n })\n ) {\n setTimeout(() => this.setAriaLabels());\n }\n });\n this.mutationObserver.observe(this.host, { attributes: true, childList: true, subtree: true });\n }\n\n disconnectedCallback() {\n if (this.mutationObserver == null || this.tabGroup == null || this.nav == null || this.resizeObserver == null) {\n return;\n }\n this.mutationObserver.disconnect();\n this.resizeObserver.unobserve(this.nav);\n }\n\n /** Shows the specified tab panel. */\n @Method()\n async show(panel: string) {\n const tabs = this.getAllTabs();\n const tab = tabs.find((el) => el.panel === panel);\n\n if (tab != null) {\n this.setActiveTab(tab);\n }\n }\n\n private getAllTabs(includeDisabled = false): HTMLSixTabElement[] {\n const slot = this.tabs?.querySelector('slot');\n if (slot == null) return [];\n\n return [...slot.assignedElements()].filter((el: Element) => {\n return includeDisabled\n ? el.tagName.toLowerCase() === 'six-tab'\n : el.tagName.toLowerCase() === 'six-tab' && !(el as HTMLSixTabElement).disabled;\n }) as [HTMLSixTabElement];\n }\n\n private getAllPanels(): HTMLSixTabPanelElement[] {\n const slot = this.body?.querySelector('slot');\n if (slot == null) return [];\n return [...slot.assignedElements()].filter((el: Element) => el.tagName.toLowerCase() === 'six-tab-panel') as [\n HTMLSixTabPanelElement\n ];\n }\n\n private getActiveTab() {\n return this.getAllTabs().find((el) => el.active);\n }\n\n private handleClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n if (tab != null) {\n this.setActiveTab(tab);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.nav == null) return;\n\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n // Move focus left or right\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const activeEl = document.activeElement as HTMLSixTabElement;\n\n if (activeEl && activeEl.tagName.toLowerCase() === 'six-tab') {\n const tabs = this.getAllTabs();\n let index = tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = tabs.length - 1;\n } else if (event.key === 'ArrowLeft') {\n index = Math.max(0, index - 1);\n } else if (event.key === 'ArrowRight') {\n index = Math.min(tabs.length - 1, index + 1);\n }\n\n tabs[index].setFocus({ preventScroll: true });\n this.setActiveTab(tabs[index]);\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(tabs[index], this.nav, 'horizontal');\n }\n\n event.preventDefault();\n }\n }\n };\n\n private handleScrollLeft = () => {\n if (this.nav == null) return;\n\n this.nav.scroll({\n left: this.nav.scrollLeft - this.nav.clientWidth,\n behavior: 'smooth',\n });\n };\n\n private handleScrollRight = () => {\n if (this.nav == null) return;\n\n this.nav.scroll({\n left: this.nav.scrollLeft + this.nav.clientWidth,\n behavior: 'smooth',\n });\n };\n\n private updateScrollControls() {\n if (this.nav == null) return;\n\n this.hasScrollControls = this.noScrollControls\n ? false\n : ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n }\n\n private setActiveTab(tab: HTMLSixTabElement, emitEvents = true) {\n if (this.nav == null) return;\n\n const newIndicator = tab?.shadowRoot?.querySelector('.tab__indicator');\n const oldIndicator = this.getActiveTab()?.shadowRoot?.querySelector('.tab__indicator');\n\n if (oldIndicator != null && newIndicator != null) {\n flipAnimate(newIndicator, oldIndicator);\n }\n\n if (tab !== this.activeTab && !tab.disabled) {\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n // Sync tabs and panels\n this.getAllTabs().map((el) => (el.active = el === this.activeTab));\n this.getAllPanels().map((el) => (el.active = el.name === this.activeTab?.panel));\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal');\n }\n\n // Emit events\n if (emitEvents) {\n if (previousTab != null) {\n this.sixTabHide.emit({ name: previousTab.panel });\n }\n\n this.sixTabShow.emit({ name: this.activeTab.panel });\n }\n }\n }\n\n private setAriaLabels() {\n const tabs = this.getAllTabs();\n const panels = this.getAllPanels();\n\n // Link each tab with its corresponding panel\n tabs.map((tab) => {\n const panel = panels.find((el) => el.name === tab.panel);\n if (panel != null) {\n tab.setAttribute('aria-controls', panel.getAttribute('id') ?? '');\n panel.setAttribute('aria-labelledby', tab.getAttribute('id') ?? '');\n }\n });\n }\n\n render() {\n return (\n <div\n part=\"base\"\n ref={(el) => (this.tabGroup = el)}\n class={{\n 'tab-group': true,\n\n // Placements\n 'tab-group--top': this.placement === 'top',\n 'tab-group--bottom': this.placement === 'bottom',\n 'tab-group--left': this.placement === 'left',\n 'tab-group--right': this.placement === 'right',\n\n 'tab-group--has-scroll-controls': this.hasScrollControls,\n }}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\">\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--left\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_left\"\n onClick={this.handleScrollLeft}\n />\n )}\n <div ref={(el) => (this.nav = el)} key=\"nav\" part=\"nav\" class=\"tab-group__nav\">\n <div ref={(el) => (this.tabs = el)} part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <slot name=\"nav\" />\n </div>\n </div>\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--right\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_right\"\n onClick={this.handleScrollRight}\n />\n )}\n </div>\n\n <div ref={(el) => (this.body = el)} part=\"body\" class=\"tab-group__body\">\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|