@six-group/ui-library 0.0.0-insider.424223 → 0.0.0-insider.454963c
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/dist/cjs/app-globals-3a1e7e63.js +7 -0
- package/dist/cjs/app-globals-3a1e7e63.js.map +1 -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-b4707294.js → execution-control-d728da70.js} +15 -15
- package/dist/cjs/{execution-control-b4707294.js.map → execution-control-d728da70.js.map} +1 -1
- package/dist/cjs/focus-visible-e2c9255a.js +47 -0
- package/dist/cjs/{focus-visible-ae2470dd.js.map → focus-visible-e2c9255a.js.map} +1 -1
- package/dist/cjs/form-9ebaae7c.js +20 -0
- package/dist/cjs/{form-2df8c5bb.js.map → form-9ebaae7c.js.map} +1 -1
- package/dist/cjs/form-control-de259450.js +36 -0
- package/dist/cjs/form-control-de259450.js.map +1 -0
- package/dist/{esm/index-4ee8b33e.js → cjs/index-1f707a55.js} +391 -273
- package/dist/cjs/index-1f707a55.js.map +1 -0
- package/dist/cjs/index.cjs.js +55 -102
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +5 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/modal-bd7fc5bc.js +35 -0
- package/dist/cjs/modal-bd7fc5bc.js.map +1 -0
- package/dist/cjs/{popover-2df7e154.js → popover-1e7c09f1.js} +99 -99
- 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/cjs/{scroll-2c4200dc.js.map → scroll-68033901.js.map} +1 -1
- package/dist/cjs/six-alert.cjs.entry.js +144 -111
- package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/six-avatar.cjs.entry.js +23 -22
- package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-badge.cjs.entry.js +25 -24
- package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/six-button.cjs.entry.js +98 -96
- package/dist/cjs/six-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-card.cjs.entry.js +10 -9
- package/dist/cjs/six-card.cjs.entry.js.map +1 -1
- package/dist/cjs/six-checkbox_2.cjs.entry.js +192 -0
- package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
- package/dist/cjs/six-datepicker.cjs.entry.js +864 -835
- package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-details.cjs.entry.js +129 -128
- package/dist/cjs/six-details.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dialog.cjs.entry.js +115 -131
- package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/six-drawer.cjs.entry.js +132 -149
- package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dropdown_2.cjs.entry.js +713 -639
- package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/six-error-page.cjs.entry.js +84 -83
- package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
- package/dist/cjs/six-error.cjs.entry.js +10 -9
- package/dist/cjs/six-error.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-list-item.cjs.entry.js +36 -35
- package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-list.cjs.entry.js +9 -8
- package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-upload.cjs.entry.js +125 -100
- package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/six-footer.cjs.entry.js +10 -9
- package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-group-label.cjs.entry.js +45 -44
- package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-header.cjs.entry.js +180 -157
- package/dist/cjs/six-header.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon-button.cjs.entry.js +34 -33
- package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon.cjs.entry.js +24 -23
- package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/six-input.cjs.entry.js +194 -191
- package/dist/cjs/six-input.cjs.entry.js.map +1 -1
- package/dist/cjs/six-item-picker.cjs.entry.js +407 -310
- package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-language-switcher.cjs.entry.js +53 -48
- package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
- package/dist/cjs/six-layout-grid.cjs.entry.js +22 -21
- package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/six-main-container.cjs.entry.js +11 -10
- package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-divider.cjs.entry.js +10 -9
- package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-label.cjs.entry.js +10 -9
- package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-picto.cjs.entry.js +16 -15
- package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
- package/dist/cjs/six-progress-bar.cjs.entry.js +17 -16
- package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-progress-ring.cjs.entry.js +32 -31
- package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
- package/dist/cjs/six-radio.cjs.entry.js +106 -105
- package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/six-range.cjs.entry.js +200 -189
- package/dist/cjs/six-range.cjs.entry.js.map +1 -1
- package/dist/cjs/six-root.cjs.entry.js +13 -31
- package/dist/cjs/six-root.cjs.entry.js.map +1 -1
- package/dist/cjs/six-search-field.cjs.entry.js +46 -45
- package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/six-select.cjs.entry.js +523 -366
- package/dist/cjs/six-select.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js +56 -55
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar-item.cjs.entry.js +18 -17
- package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar.cjs.entry.js +176 -175
- package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-spinner.cjs.entry.js +17 -16
- package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/six-stage-indicator.cjs.entry.js +23 -0
- package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -0
- package/dist/cjs/six-switch.cjs.entry.js +109 -108
- package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab-group.cjs.entry.js +242 -216
- package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab-panel.cjs.entry.js +16 -15
- package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab.cjs.entry.js +57 -56
- package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tag.cjs.entry.js +55 -54
- package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/six-textarea.cjs.entry.js +183 -182
- package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tile.cjs.entry.js +79 -78
- package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
- package/dist/cjs/six-timepicker.cjs.entry.js +351 -350
- package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tooltip.cjs.entry.js +150 -149
- 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 +6 -4
- package/dist/cjs/ui-library.cjs.js.map +1 -1
- package/dist/collection/assets/TRADEMARKS.md +3 -3
- package/dist/collection/collection-manifest.json +5 -6
- package/dist/collection/components/six-alert/six-alert.css +5 -1
- package/dist/collection/components/six-alert/six-alert.js +382 -337
- package/dist/collection/components/six-alert/six-alert.js.map +1 -1
- package/dist/collection/components/six-alert/test/six-alert.spec.js +7 -7
- package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -1
- package/dist/collection/components/six-avatar/six-avatar.css +2 -2
- package/dist/collection/components/six-avatar/six-avatar.js +111 -111
- package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
- package/dist/collection/components/six-avatar/test/six-avatar.spec.js +7 -7
- package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -1
- package/dist/collection/components/six-badge/six-badge.css +1 -1
- package/dist/collection/components/six-badge/six-badge.js +90 -90
- package/dist/collection/components/six-badge/six-badge.js.map +1 -1
- package/dist/collection/components/six-badge/test/six-badge.spec.js +7 -7
- package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -1
- package/dist/collection/components/six-button/six-button.css +19 -1
- package/dist/collection/components/six-button/six-button.js +448 -446
- package/dist/collection/components/six-button/six-button.js.map +1 -1
- package/dist/collection/components/six-button/test/six-button.spec.js +44 -44
- package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -1
- package/dist/collection/components/six-card/six-card.css +4 -5
- package/dist/collection/components/six-card/six-card.js +15 -15
- package/dist/collection/components/six-card/six-card.js.map +1 -1
- package/dist/collection/components/six-card/test/six-card.spec.js +7 -7
- package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -1
- package/dist/collection/components/six-checkbox/six-checkbox.css +8 -1
- package/dist/collection/components/six-checkbox/six-checkbox.js +421 -420
- package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
- package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +13 -13
- package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -1
- package/dist/collection/components/six-datepicker/components/day-selection.js +8 -8
- package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
- package/dist/collection/components/six-datepicker/components/month-selection.js +8 -8
- package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
- package/dist/collection/components/six-datepicker/components/year-selection.js +8 -8
- 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 +1054 -1050
- package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
- package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +7 -7
- package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -1
- 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 +1 -5
- package/dist/collection/components/six-details/six-details.js +410 -410
- package/dist/collection/components/six-details/six-details.js.map +1 -1
- package/dist/collection/components/six-details/test/six-details.spec.js +7 -7
- package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -1
- package/dist/collection/components/six-dialog/six-dialog.css +2 -2
- package/dist/collection/components/six-dialog/six-dialog.js +340 -358
- package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
- package/dist/collection/components/six-dialog/test/six-dialog.spec.js +7 -7
- package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -1
- package/dist/collection/components/six-drawer/six-drawer.css +2 -2
- package/dist/collection/components/six-drawer/six-drawer.js +393 -412
- package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
- package/dist/collection/components/six-drawer/test/six-drawer.spec.js +7 -7
- package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -1
- package/dist/collection/components/six-dropdown/six-dropdown.css +22 -7
- package/dist/collection/components/six-dropdown/six-dropdown.js +983 -891
- package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
- package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +92 -67
- package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -1
- package/dist/collection/components/six-error/six-error.css +1 -0
- package/dist/collection/components/six-error/six-error.js +15 -15
- package/dist/collection/components/six-error/six-error.js.map +1 -1
- package/dist/collection/components/six-error-page/six-error-page.js +177 -177
- 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 +77 -77
- package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -1
- package/dist/collection/components/six-file-list/six-file-list.js +15 -15
- 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 +16 -16
- package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -1
- 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 +195 -195
- 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 +42 -42
- package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -1
- package/dist/collection/components/six-file-upload/six-file-upload.css +12 -4
- package/dist/collection/components/six-file-upload/six-file-upload.js +371 -291
- 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 +214 -51
- package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -1
- package/dist/collection/components/six-footer/six-footer.css +2 -2
- package/dist/collection/components/six-footer/six-footer.js +15 -15
- package/dist/collection/components/six-footer/six-footer.js.map +1 -1
- package/dist/collection/components/six-footer/test/six-footer.spec.js +7 -7
- package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -1
- package/dist/collection/components/six-group-label/six-group-label.css +1 -1
- package/dist/collection/components/six-group-label/six-group-label.js +155 -155
- 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 +12 -12
- package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -1
- package/dist/collection/components/six-header/six-header.css +15 -2
- package/dist/collection/components/six-header/six-header.js +464 -405
- package/dist/collection/components/six-header/six-header.js.map +1 -1
- package/dist/collection/components/six-icon/six-icon.css +5 -2
- package/dist/collection/components/six-icon/six-icon.js +71 -71
- package/dist/collection/components/six-icon/six-icon.js.map +1 -1
- package/dist/collection/components/six-icon/test/six-icon.spec.js +7 -7
- package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -1
- package/dist/collection/components/six-icon-button/six-icon-button.css +1 -1
- package/dist/collection/components/six-icon-button/six-icon-button.js +131 -131
- 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 +7 -7
- package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -1
- package/dist/collection/components/six-input/six-input.css +10 -1
- package/dist/collection/components/six-input/six-input.js +967 -939
- package/dist/collection/components/six-input/six-input.js.map +1 -1
- package/dist/collection/components/six-input/test/six-input.spec.js +7 -7
- package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -1
- package/dist/collection/components/six-item-picker/six-item-picker.css +8 -0
- package/dist/collection/components/six-item-picker/six-item-picker.js +727 -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 +82 -82
- package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -1
- 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.css +7 -2
- package/dist/collection/components/six-language-switcher/six-language-switcher.js +128 -124
- 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 +99 -99
- package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -1
- package/dist/collection/components/six-layout-grid/six-layout-grid.js +54 -54
- 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 +7 -7
- package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -1
- package/dist/collection/components/six-main-container/six-main-container.js +41 -41
- 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 +7 -7
- package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -1
- package/dist/collection/components/six-menu/six-menu.css +8 -7
- package/dist/collection/components/six-menu/six-menu.js +388 -366
- package/dist/collection/components/six-menu/six-menu.js.map +1 -1
- package/dist/collection/components/six-menu/test/six-menu.spec.js +41 -41
- package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -1
- package/dist/collection/components/six-menu-divider/six-menu-divider.css +3 -2
- package/dist/collection/components/six-menu-divider/six-menu-divider.js +15 -15
- 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 +7 -7
- package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -1
- package/dist/collection/components/six-menu-item/six-menu-item.css +13 -2
- package/dist/collection/components/six-menu-item/six-menu-item.js +209 -180
- 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 +7 -7
- package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -1
- package/dist/collection/components/six-menu-label/six-menu-label.css +1 -1
- package/dist/collection/components/six-menu-label/six-menu-label.js +15 -15
- 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 +7 -7
- package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -1
- package/dist/collection/components/six-picto/six-picto.js +46 -46
- package/dist/collection/components/six-picto/six-picto.js.map +1 -1
- package/dist/collection/components/six-picto/test/six-picto.spec.js +13 -13
- package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -1
- package/dist/collection/components/six-progress-bar/six-progress-bar.css +1 -1
- package/dist/collection/components/six-progress-bar/six-progress-bar.js +64 -64
- 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 +7 -7
- package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -1
- package/dist/collection/components/six-progress-ring/six-progress-ring.css +1 -1
- package/dist/collection/components/six-progress-ring/six-progress-ring.js +100 -100
- 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 +7 -7
- package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -1
- package/dist/collection/components/six-radio/six-radio.css +1 -1
- package/dist/collection/components/six-radio/six-radio.js +321 -320
- package/dist/collection/components/six-radio/six-radio.js.map +1 -1
- package/dist/collection/components/six-radio/test/six-radio.spec.js +13 -13
- package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -1
- package/dist/collection/components/six-range/six-range.css +2 -2
- package/dist/collection/components/six-range/six-range.js +574 -563
- package/dist/collection/components/six-range/six-range.js.map +1 -1
- package/dist/collection/components/six-range/test/six-range.spec.js +8 -8
- package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -1
- package/dist/collection/components/six-root/six-root.js +84 -152
- package/dist/collection/components/six-root/six-root.js.map +1 -1
- package/dist/collection/components/six-root/test/six-root.spec.js +7 -14
- package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -1
- package/dist/collection/components/six-search-field/six-search-field.css +1 -1
- package/dist/collection/components/six-search-field/six-search-field.js +169 -169
- 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 +7 -7
- package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -1
- package/dist/collection/components/six-select/six-select.css +54 -66
- package/dist/collection/components/six-select/six-select.js +1109 -942
- package/dist/collection/components/six-select/six-select.js.map +1 -1
- package/dist/collection/components/six-select/test/six-select.spec.js +45 -29
- package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -1
- package/dist/collection/components/six-select/test/util.spec.js +96 -74
- package/dist/collection/components/six-select/test/util.spec.js.map +1 -1
- package/dist/collection/components/six-select/util.js +58 -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 +466 -464
- package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
- package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +7 -7
- package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -1
- package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +101 -101
- 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 +19 -19
- package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -1
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +2 -1
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +178 -178
- 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 +14 -14
- package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -1
- package/dist/collection/components/six-spinner/six-spinner.css +1 -1
- package/dist/collection/components/six-spinner/six-spinner.js +47 -46
- package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
- package/dist/collection/components/six-spinner/test/six-spinner.spec.js +14 -14
- package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -1
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.css +1 -1
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +45 -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 +37 -37
- package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -1
- package/dist/collection/components/six-switch/six-switch.css +1 -1
- package/dist/collection/components/six-switch/six-switch.js +384 -383
- package/dist/collection/components/six-switch/six-switch.js.map +1 -1
- package/dist/collection/components/six-switch/test/six-switch.spec.js +13 -13
- package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -1
- package/dist/collection/components/six-tab/six-tab.css +1 -1
- package/dist/collection/components/six-tab/six-tab.js +206 -205
- package/dist/collection/components/six-tab/six-tab.js.map +1 -1
- package/dist/collection/components/six-tab-group/six-tab-group.css +1 -1
- package/dist/collection/components/six-tab-group/six-tab-group.js +342 -315
- 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 +63 -63
- 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 +7 -7
- package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -1
- package/dist/collection/components/six-tag/six-tag.css +1 -1
- package/dist/collection/components/six-tag/six-tag.js +158 -158
- package/dist/collection/components/six-tag/six-tag.js.map +1 -1
- package/dist/collection/components/six-tag/test/six-tag.spec.js +19 -19
- package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -1
- package/dist/collection/components/six-textarea/six-textarea.css +1 -1
- package/dist/collection/components/six-textarea/six-textarea.js +792 -784
- package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
- package/dist/collection/components/six-textarea/test/six-textarea.spec.js +94 -94
- package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -1
- package/dist/collection/components/six-tile/six-tile.css +2 -2
- package/dist/collection/components/six-tile/six-tile.js +298 -298
- package/dist/collection/components/six-tile/six-tile.js.map +1 -1
- package/dist/collection/components/six-tile/test/six-tile.spec.js +14 -14
- package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -1
- package/dist/collection/components/six-timepicker/six-timepicker.css +1 -1
- package/dist/collection/components/six-timepicker/six-timepicker.js +823 -822
- package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
- package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +155 -155
- package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -1
- package/dist/collection/components/six-tooltip/six-tooltip.css +1 -1
- package/dist/collection/components/six-tooltip/six-tooltip.js +407 -407
- package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
- package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +7 -7
- package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -1
- package/dist/collection/functional-components/form-control/form-control.js +19 -19
- package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
- package/dist/collection/index.js +1 -0
- 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 +19 -19
- package/dist/collection/utils/animation.js.map +1 -1
- package/dist/collection/utils/date-util.js +525 -500
- package/dist/collection/utils/date-util.js.map +1 -1
- package/dist/collection/utils/date-util.spec.js +984 -984
- package/dist/collection/utils/date-util.spec.js.map +1 -1
- package/dist/collection/utils/error-messages.js +101 -94
- package/dist/collection/utils/error-messages.js.map +1 -1
- package/dist/collection/utils/event-listeners.js +51 -51
- 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 +12 -12
- package/dist/collection/utils/form.js.map +1 -1
- 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 +99 -99
- 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 +27 -27
- package/dist/collection/utils/scroll.js.map +1 -1
- package/dist/collection/utils/scroll.spec.js +116 -116
- package/dist/collection/utils/scroll.spec.js.map +1 -1
- package/dist/collection/utils/slot.js +28 -29
- package/dist/collection/utils/slot.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 +353 -353
- package/dist/collection/utils/time.util.spec.js.map +1 -1
- package/dist/components/event-listeners.js +51 -51
- 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 -26
- package/dist/components/form-control.js.map +1 -1
- package/dist/components/form.js +12 -12
- package/dist/components/form.js.map +1 -1
- package/dist/components/index.js +111 -163
- package/dist/components/index.js.map +1 -1
- package/dist/components/modal.js +26 -42
- package/dist/components/modal.js.map +1 -1
- package/dist/components/popover.js +98 -98
- package/dist/components/popover.js.map +1 -1
- package/dist/components/scroll.js +31 -31
- package/dist/components/scroll.js.map +1 -1
- package/dist/components/six-alert.d.ts +2 -2
- package/dist/components/six-alert.js +178 -145
- package/dist/components/six-alert.js.map +1 -1
- package/dist/components/six-avatar.d.ts +2 -2
- package/dist/components/six-avatar.js +46 -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 +41 -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 -142
- package/dist/components/six-button.js.map +1 -1
- package/dist/components/six-button2.js +148 -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 +22 -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 -161
- package/dist/components/six-checkbox.js.map +1 -1
- package/dist/components/six-checkbox2.js +166 -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 +933 -904
- package/dist/components/six-datepicker.js.map +1 -1
- package/dist/components/six-details.d.ts +2 -2
- package/dist/components/six-details2.js +159 -158
- package/dist/components/six-details2.js.map +1 -1
- package/dist/components/six-dialog.d.ts +2 -2
- package/dist/components/six-dialog.js +145 -161
- package/dist/components/six-dialog.js.map +1 -1
- package/dist/components/six-drawer.d.ts +2 -2
- package/dist/components/six-drawer.js +164 -181
- package/dist/components/six-drawer.js.map +1 -1
- package/dist/components/six-dropdown.d.ts +2 -2
- package/dist/components/six-dropdown2.js +553 -476
- 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 +107 -106
- package/dist/components/six-error-page.js.map +1 -1
- package/dist/components/six-error.d.ts +2 -2
- package/dist/components/six-error2.js +22 -21
- package/dist/components/six-error2.js.map +1 -1
- package/dist/components/six-file-list-item.d.ts +2 -2
- package/dist/components/six-file-list-item.js +60 -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 +21 -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 +167 -126
- 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 +22 -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 -70
- 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 +244 -213
- 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 +56 -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 +39 -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 +258 -254
- 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 +451 -352
- 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 +70 -65
- 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 +38 -37
- 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 +25 -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 +22 -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 +99 -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 +22 -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 +237 -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 +30 -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 +32 -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 +50 -49
- 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 +129 -128
- package/dist/components/six-radio.js.map +1 -1
- package/dist/components/six-range.d.ts +2 -2
- package/dist/components/six-range.js +243 -232
- package/dist/components/six-range.js.map +1 -1
- package/dist/components/six-root.d.ts +2 -2
- package/dist/components/six-root.js +40 -68
- 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 -78
- 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 +754 -478
- 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 +86 -85
- 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 -34
- 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 +200 -199
- package/dist/components/six-sidebar.js.map +1 -1
- package/dist/components/six-spinner.d.ts +2 -2
- package/dist/components/six-spinner2.js +31 -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 +30 -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 +141 -140
- 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 +271 -244
- 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 +31 -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 +86 -85
- package/dist/components/six-tab.js.map +1 -1
- package/dist/components/six-tag.d.ts +2 -2
- package/dist/components/six-tag.js +99 -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 +235 -234
- package/dist/components/six-textarea.js.map +1 -1
- package/dist/components/six-tile.d.ts +2 -2
- package/dist/components/six-tile.js +118 -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 -490
- package/dist/components/six-timepicker2.js.map +1 -1
- package/dist/components/six-tooltip.d.ts +2 -2
- package/dist/components/six-tooltip2.js +173 -172
- 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 +1 -21
- package/dist/components.json +741 -242
- package/dist/esm/app-globals-0f993ce5.js +5 -0
- package/dist/esm/app-globals-0f993ce5.js.map +1 -0
- 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-e0892a05.js → execution-control-2ebaf4ef.js} +15 -15
- package/dist/esm/{execution-control-e0892a05.js.map → execution-control-2ebaf4ef.js.map} +1 -1
- package/dist/esm/focus-visible-d9dbfeef.js +45 -0
- package/dist/esm/{focus-visible-fc6ac671.js.map → focus-visible-d9dbfeef.js.map} +1 -1
- package/dist/esm/form-4b145b7a.js +18 -0
- package/dist/esm/{form-81252534.js.map → form-4b145b7a.js.map} +1 -1
- package/dist/esm/form-control-30c5bd8b.js +34 -0
- package/dist/esm/form-control-30c5bd8b.js.map +1 -0
- package/dist/{cjs/index-7d73cbd6.js → esm/index-5390c1d6.js} +362 -302
- package/dist/esm/index-5390c1d6.js.map +1 -0
- package/dist/esm/index.js +52 -101
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +6 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/modal-6c1288e3.js +33 -0
- package/dist/esm/modal-6c1288e3.js.map +1 -0
- package/dist/esm/{popover-136d1f73.js → popover-25996e62.js} +99 -99
- 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-774762d6.js.map → scroll-3e16851e.js.map} +1 -1
- package/dist/esm/six-alert.entry.js +144 -111
- package/dist/esm/six-alert.entry.js.map +1 -1
- package/dist/esm/six-avatar.entry.js +23 -22
- package/dist/esm/six-avatar.entry.js.map +1 -1
- package/dist/esm/six-badge.entry.js +25 -24
- package/dist/esm/six-badge.entry.js.map +1 -1
- package/dist/esm/six-button.entry.js +98 -96
- package/dist/esm/six-button.entry.js.map +1 -1
- package/dist/esm/six-card.entry.js +10 -9
- package/dist/esm/six-card.entry.js.map +1 -1
- package/dist/esm/six-checkbox_2.entry.js +187 -0
- package/dist/esm/six-checkbox_2.entry.js.map +1 -0
- package/dist/esm/six-datepicker.entry.js +864 -835
- package/dist/esm/six-datepicker.entry.js.map +1 -1
- package/dist/esm/six-details.entry.js +129 -128
- package/dist/esm/six-details.entry.js.map +1 -1
- package/dist/esm/six-dialog.entry.js +115 -131
- package/dist/esm/six-dialog.entry.js.map +1 -1
- package/dist/esm/six-drawer.entry.js +132 -149
- package/dist/esm/six-drawer.entry.js.map +1 -1
- package/dist/esm/six-dropdown_2.entry.js +713 -639
- package/dist/esm/six-dropdown_2.entry.js.map +1 -1
- package/dist/esm/six-error-page.entry.js +84 -83
- package/dist/esm/six-error-page.entry.js.map +1 -1
- package/dist/esm/six-error.entry.js +10 -9
- package/dist/esm/six-error.entry.js.map +1 -1
- package/dist/esm/six-file-list-item.entry.js +36 -35
- package/dist/esm/six-file-list-item.entry.js.map +1 -1
- package/dist/esm/six-file-list.entry.js +9 -8
- package/dist/esm/six-file-list.entry.js.map +1 -1
- package/dist/esm/six-file-upload.entry.js +125 -100
- package/dist/esm/six-file-upload.entry.js.map +1 -1
- package/dist/esm/six-footer.entry.js +10 -9
- package/dist/esm/six-footer.entry.js.map +1 -1
- package/dist/esm/six-group-label.entry.js +45 -44
- package/dist/esm/six-group-label.entry.js.map +1 -1
- package/dist/esm/six-header.entry.js +180 -157
- package/dist/esm/six-header.entry.js.map +1 -1
- package/dist/esm/six-icon-button.entry.js +34 -33
- package/dist/esm/six-icon-button.entry.js.map +1 -1
- package/dist/esm/six-icon.entry.js +24 -23
- package/dist/esm/six-icon.entry.js.map +1 -1
- package/dist/esm/six-input.entry.js +194 -191
- package/dist/esm/six-input.entry.js.map +1 -1
- package/dist/esm/six-item-picker.entry.js +407 -310
- package/dist/esm/six-item-picker.entry.js.map +1 -1
- package/dist/esm/six-language-switcher.entry.js +53 -48
- package/dist/esm/six-language-switcher.entry.js.map +1 -1
- package/dist/esm/six-layout-grid.entry.js +22 -21
- package/dist/esm/six-layout-grid.entry.js.map +1 -1
- package/dist/esm/six-main-container.entry.js +11 -10
- package/dist/esm/six-main-container.entry.js.map +1 -1
- package/dist/esm/six-menu-divider.entry.js +10 -9
- package/dist/esm/six-menu-divider.entry.js.map +1 -1
- package/dist/esm/six-menu-label.entry.js +10 -9
- package/dist/esm/six-menu-label.entry.js.map +1 -1
- package/dist/esm/six-picto.entry.js +16 -15
- package/dist/esm/six-picto.entry.js.map +1 -1
- package/dist/esm/six-progress-bar.entry.js +17 -16
- package/dist/esm/six-progress-bar.entry.js.map +1 -1
- package/dist/esm/six-progress-ring.entry.js +32 -31
- package/dist/esm/six-progress-ring.entry.js.map +1 -1
- package/dist/esm/six-radio.entry.js +106 -105
- package/dist/esm/six-radio.entry.js.map +1 -1
- package/dist/esm/six-range.entry.js +200 -189
- package/dist/esm/six-range.entry.js.map +1 -1
- package/dist/esm/six-root.entry.js +13 -31
- package/dist/esm/six-root.entry.js.map +1 -1
- package/dist/esm/six-search-field.entry.js +46 -45
- package/dist/esm/six-search-field.entry.js.map +1 -1
- package/dist/esm/six-select.entry.js +523 -366
- package/dist/esm/six-select.entry.js.map +1 -1
- package/dist/esm/six-sidebar-item-group.entry.js +56 -55
- package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
- package/dist/esm/six-sidebar-item.entry.js +18 -17
- package/dist/esm/six-sidebar-item.entry.js.map +1 -1
- package/dist/esm/six-sidebar.entry.js +176 -175
- package/dist/esm/six-sidebar.entry.js.map +1 -1
- package/dist/esm/six-spinner.entry.js +17 -16
- package/dist/esm/six-spinner.entry.js.map +1 -1
- package/dist/esm/six-stage-indicator.entry.js +19 -0
- package/dist/esm/six-stage-indicator.entry.js.map +1 -0
- package/dist/esm/six-switch.entry.js +109 -108
- package/dist/esm/six-switch.entry.js.map +1 -1
- package/dist/esm/six-tab-group.entry.js +242 -216
- package/dist/esm/six-tab-group.entry.js.map +1 -1
- package/dist/esm/six-tab-panel.entry.js +16 -15
- package/dist/esm/six-tab-panel.entry.js.map +1 -1
- package/dist/esm/six-tab.entry.js +57 -56
- package/dist/esm/six-tab.entry.js.map +1 -1
- package/dist/esm/six-tag.entry.js +55 -54
- package/dist/esm/six-tag.entry.js.map +1 -1
- package/dist/esm/six-textarea.entry.js +183 -182
- package/dist/esm/six-textarea.entry.js.map +1 -1
- package/dist/esm/six-tile.entry.js +79 -78
- package/dist/esm/six-tile.entry.js.map +1 -1
- package/dist/esm/six-timepicker.entry.js +351 -350
- package/dist/esm/six-timepicker.entry.js.map +1 -1
- package/dist/esm/six-tooltip.entry.js +150 -149
- 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 +7 -5
- package/dist/esm/ui-library.js.map +1 -1
- package/dist/types/components/six-alert/six-alert.d.ts +47 -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 -58
- 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 +187 -187
- package/dist/types/components/six-details/six-details.d.ts +42 -42
- package/dist/types/components/six-dialog/six-dialog.d.ts +51 -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 +1 -1
- 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 +43 -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 +61 -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 +109 -105
- 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 -38
- package/dist/types/components/six-range/six-range.d.ts +77 -75
- package/dist/types/components/six-root/six-root.d.ts +8 -21
- package/dist/types/components/six-search-field/six-search-field.d.ts +20 -20
- package/dist/types/components/six-select/six-select.d.ts +135 -122
- package/dist/types/components/six-select/util.d.ts +3 -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 -12
- package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +25 -25
- 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 +48 -48
- package/dist/types/components/six-tab/six-tab.d.ts +20 -20
- package/dist/types/components/six-tab-group/six-tab-group.d.ts +38 -35
- 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 -20
- package/dist/types/components/six-textarea/six-textarea.d.ts +89 -89
- package/dist/types/components/six-tile/six-tile.d.ts +31 -31
- package/dist/types/components/six-timepicker/six-timepicker.d.ts +152 -152
- package/dist/types/components/six-tooltip/six-tooltip.d.ts +55 -55
- package/dist/types/components.d.ts +120 -62
- package/dist/types/functional-components/form-control/form-control.d.ts +32 -32
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +8 -0
- package/dist/types/types.d.ts +1 -0
- package/dist/types/utils/alert.d.ts +10 -0
- package/dist/types/utils/date-util.d.ts +58 -50
- package/dist/types/utils/error-messages.d.ts +25 -24
- package/dist/types/utils/event-listeners.d.ts +11 -11
- package/dist/types/utils/focus-visible.d.ts +2 -2
- 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/ui-library/assets/TRADEMARKS.md +3 -3
- package/dist/ui-library/index.esm.js +1 -1
- package/dist/ui-library/index.esm.js.map +1 -1
- package/dist/ui-library/p-030fa1fa.entry.js +2 -0
- package/dist/ui-library/p-030fa1fa.entry.js.map +1 -0
- package/dist/ui-library/p-03d1b956.entry.js +2 -0
- package/dist/ui-library/p-03d1b956.entry.js.map +1 -0
- package/dist/ui-library/p-047d02ad.entry.js +2 -0
- package/dist/ui-library/p-047d02ad.entry.js.map +1 -0
- package/dist/ui-library/p-05eb1bab.js +3 -0
- package/dist/ui-library/p-05eb1bab.js.map +1 -0
- package/dist/ui-library/p-060069d4.entry.js +2 -0
- package/dist/ui-library/p-060069d4.entry.js.map +1 -0
- package/dist/ui-library/{p-5654e4c7.js → p-06ba4450.js} +1 -1
- package/dist/ui-library/p-06ba653e.entry.js +2 -0
- package/dist/ui-library/p-06ba653e.entry.js.map +1 -0
- package/dist/ui-library/p-07c8de65.entry.js +2 -0
- package/dist/ui-library/p-07c8de65.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-14e5fccc.entry.js +2 -0
- package/dist/ui-library/p-14e5fccc.entry.js.map +1 -0
- package/dist/ui-library/p-189602e4.entry.js +2 -0
- package/dist/ui-library/p-189602e4.entry.js.map +1 -0
- package/dist/ui-library/p-19560508.entry.js +2 -0
- package/dist/ui-library/p-19560508.entry.js.map +1 -0
- package/dist/ui-library/p-2386627e.entry.js +2 -0
- package/dist/ui-library/p-2386627e.entry.js.map +1 -0
- package/dist/ui-library/p-2c25cb61.entry.js +2 -0
- package/dist/ui-library/p-2c25cb61.entry.js.map +1 -0
- package/dist/ui-library/p-32e421a3.entry.js +2 -0
- package/dist/ui-library/p-32e421a3.entry.js.map +1 -0
- package/dist/ui-library/p-3603dd96.entry.js +2 -0
- package/dist/ui-library/p-3603dd96.entry.js.map +1 -0
- package/dist/ui-library/p-39ff5f61.entry.js +2 -0
- package/dist/ui-library/p-39ff5f61.entry.js.map +1 -0
- package/dist/ui-library/p-3b5a76ea.entry.js +2 -0
- package/dist/ui-library/p-3b5a76ea.entry.js.map +1 -0
- package/dist/ui-library/p-419ed003.entry.js +2 -0
- package/dist/ui-library/p-419ed003.entry.js.map +1 -0
- package/dist/ui-library/p-45003bae.entry.js +2 -0
- package/dist/ui-library/p-45003bae.entry.js.map +1 -0
- package/dist/ui-library/p-4963f03c.entry.js +2 -0
- package/dist/ui-library/p-4963f03c.entry.js.map +1 -0
- package/dist/ui-library/p-4d89932f.entry.js +2 -0
- package/dist/ui-library/p-4d89932f.entry.js.map +1 -0
- package/dist/ui-library/{p-f3fdc121.js → p-605bdd81.js} +2 -2
- package/dist/ui-library/p-63acceb6.entry.js +2 -0
- package/dist/ui-library/p-63acceb6.entry.js.map +1 -0
- package/dist/ui-library/p-651293e7.js +2 -0
- package/dist/ui-library/p-651293e7.js.map +1 -0
- package/dist/ui-library/p-6888b9ee.entry.js +2 -0
- package/dist/ui-library/p-6888b9ee.entry.js.map +1 -0
- package/dist/ui-library/p-6f9153be.entry.js +2 -0
- package/dist/ui-library/p-6f9153be.entry.js.map +1 -0
- package/dist/ui-library/p-7561b336.entry.js +2 -0
- package/dist/ui-library/p-7561b336.entry.js.map +1 -0
- package/dist/ui-library/p-785810fa.entry.js +2 -0
- package/dist/ui-library/p-785810fa.entry.js.map +1 -0
- package/dist/ui-library/p-7c18b8ca.entry.js +2 -0
- package/dist/ui-library/p-7c18b8ca.entry.js.map +1 -0
- package/dist/ui-library/{p-0fdb185d.js → p-7f856f00.js} +1 -1
- package/dist/ui-library/{p-052aa8d3.js → p-8227aaed.js} +1 -1
- package/dist/ui-library/p-82bd8781.entry.js +2 -0
- package/dist/ui-library/p-82bd8781.entry.js.map +1 -0
- package/dist/ui-library/{p-8c0971e0.js → p-842b492e.js} +1 -1
- package/dist/ui-library/{p-0f510624.js → p-862d474e.js} +1 -1
- package/dist/ui-library/p-862d474e.js.map +1 -0
- package/dist/ui-library/p-89db9a8b.entry.js +2 -0
- package/dist/ui-library/p-89db9a8b.entry.js.map +1 -0
- package/dist/ui-library/{p-7d95def3.js → p-8bfb4bfc.js} +1 -1
- package/dist/ui-library/{p-7d00de3a.entry.js → p-8f1d3461.entry.js} +2 -2
- package/dist/ui-library/p-8f1d3461.entry.js.map +1 -0
- package/dist/ui-library/p-8fb96142.entry.js +2 -0
- package/dist/ui-library/p-8fb96142.entry.js.map +1 -0
- package/dist/ui-library/p-96d441e9.entry.js +2 -0
- package/dist/ui-library/p-96d441e9.entry.js.map +1 -0
- package/dist/ui-library/p-9bc1639b.entry.js +2 -0
- package/dist/ui-library/p-9bc1639b.entry.js.map +1 -0
- package/dist/ui-library/p-9cb83369.entry.js +2 -0
- package/dist/ui-library/p-9cb83369.entry.js.map +1 -0
- package/dist/ui-library/{p-698bb2c8.js → p-a1502802.js} +1 -1
- package/dist/ui-library/p-a398e3eb.entry.js +2 -0
- package/dist/ui-library/p-a398e3eb.entry.js.map +1 -0
- package/dist/ui-library/p-a7e2f511.entry.js +2 -0
- package/dist/ui-library/p-a7e2f511.entry.js.map +1 -0
- package/dist/ui-library/p-a8863197.entry.js +2 -0
- package/dist/ui-library/p-a8863197.entry.js.map +1 -0
- package/dist/ui-library/p-a9e009af.entry.js +2 -0
- package/dist/ui-library/p-a9e009af.entry.js.map +1 -0
- package/dist/ui-library/p-ab921403.entry.js +2 -0
- package/dist/ui-library/p-ab921403.entry.js.map +1 -0
- package/dist/ui-library/p-ac00076d.entry.js +2 -0
- package/dist/ui-library/p-ac00076d.entry.js.map +1 -0
- package/dist/ui-library/p-b4bc4915.entry.js +2 -0
- package/dist/ui-library/p-b4bc4915.entry.js.map +1 -0
- package/dist/ui-library/p-b5acf54d.entry.js +2 -0
- package/dist/ui-library/p-b5acf54d.entry.js.map +1 -0
- package/dist/ui-library/p-b60c20aa.entry.js +2 -0
- package/dist/ui-library/p-b60c20aa.entry.js.map +1 -0
- package/dist/ui-library/p-c1d68730.entry.js +2 -0
- package/dist/ui-library/p-c1d68730.entry.js.map +1 -0
- package/dist/ui-library/p-c35a7cef.entry.js +2 -0
- package/dist/ui-library/p-c35a7cef.entry.js.map +1 -0
- package/dist/ui-library/p-c62893e5.entry.js +2 -0
- package/dist/ui-library/p-c62893e5.entry.js.map +1 -0
- package/dist/ui-library/p-c6464bfe.entry.js +2 -0
- package/dist/ui-library/p-c6464bfe.entry.js.map +1 -0
- package/dist/ui-library/p-cf109cbf.entry.js +2 -0
- package/dist/ui-library/p-cf109cbf.entry.js.map +1 -0
- package/dist/ui-library/p-d07b549f.entry.js +2 -0
- package/dist/ui-library/p-d07b549f.entry.js.map +1 -0
- package/dist/ui-library/p-d42f1ea9.entry.js +2 -0
- package/dist/ui-library/p-d42f1ea9.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-e1255160.js +2 -0
- package/dist/ui-library/p-e1255160.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-fe37dadf.entry.js +2 -0
- package/dist/ui-library/p-fe37dadf.entry.js.map +1 -0
- package/dist/ui-library/p-fe89a7c4.entry.js +2 -0
- package/dist/ui-library/p-fe89a7c4.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/package.json +12 -16
- package/dist/cjs/event-listeners-fdfe838c.js +0 -61
- package/dist/cjs/event-listeners-fdfe838c.js.map +0 -1
- package/dist/cjs/focus-visible-ae2470dd.js +0 -47
- package/dist/cjs/form-2df8c5bb.js +0 -20
- package/dist/cjs/form-control-19303ed2.js +0 -36
- package/dist/cjs/form-control-19303ed2.js.map +0 -1
- package/dist/cjs/index-7d73cbd6.js.map +0 -1
- package/dist/cjs/modal-d5f074c7.js +0 -52
- package/dist/cjs/modal-d5f074c7.js.map +0 -1
- package/dist/cjs/popover-2df7e154.js.map +0 -1
- package/dist/cjs/popup-f1d9910f.js +0 -103
- package/dist/cjs/popup-f1d9910f.js.map +0 -1
- package/dist/cjs/scroll-2c4200dc.js +0 -68
- package/dist/cjs/set-attributes_2.cjs.entry.js +0 -73
- package/dist/cjs/set-attributes_2.cjs.entry.js.map +0 -1
- package/dist/cjs/six-checkbox.cjs.entry.js +0 -127
- package/dist/cjs/six-checkbox.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-6e6a400f.js +0 -53
- package/dist/cjs/slot-6e6a400f.js.map +0 -1
- package/dist/cjs/types-47199040.js +0 -17
- package/dist/cjs/types-47199040.js.map +0 -1
- package/dist/collection/components/six-header/assets/six-logo.svg +0 -1
- package/dist/collection/components/six-header/test/six-header.spec.js +0 -133
- package/dist/collection/components/six-header/test/six-header.spec.js.map +0 -1
- package/dist/collection/utils/support.js +0 -16
- package/dist/collection/utils/support.js.map +0 -1
- package/dist/collection/wrappers/set-attributes/set-attributes.js +0 -74
- package/dist/collection/wrappers/set-attributes/set-attributes.js.map +0 -1
- package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +0 -16
- package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +0 -1
- package/dist/components/set-attributes.d.ts +0 -11
- package/dist/components/set-attributes.js +0 -8
- package/dist/components/set-attributes.js.map +0 -1
- package/dist/components/set-attributes2.js +0 -73
- package/dist/components/set-attributes2.js.map +0 -1
- package/dist/components/six-tag2.js +0 -102
- package/dist/components/six-tag2.js.map +0 -1
- package/dist/esm/event-listeners-f6e5b0ab.js +0 -59
- package/dist/esm/event-listeners-f6e5b0ab.js.map +0 -1
- package/dist/esm/focus-visible-fc6ac671.js +0 -45
- package/dist/esm/form-81252534.js +0 -18
- package/dist/esm/form-control-079f7fb6.js +0 -34
- package/dist/esm/form-control-079f7fb6.js.map +0 -1
- package/dist/esm/index-4ee8b33e.js.map +0 -1
- package/dist/esm/modal-7d32e141.js +0 -49
- package/dist/esm/modal-7d32e141.js.map +0 -1
- package/dist/esm/popover-136d1f73.js.map +0 -1
- package/dist/esm/popup-7f89a001.js +0 -98
- package/dist/esm/popup-7f89a001.js.map +0 -1
- package/dist/esm/scroll-774762d6.js +0 -64
- package/dist/esm/set-attributes_2.entry.js +0 -68
- package/dist/esm/set-attributes_2.entry.js.map +0 -1
- package/dist/esm/six-checkbox.entry.js +0 -123
- package/dist/esm/six-checkbox.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-ad36df3a.js +0 -48
- package/dist/esm/slot-ad36df3a.js.map +0 -1
- package/dist/esm/types-59b455aa.js +0 -17
- package/dist/esm/types-59b455aa.js.map +0 -1
- package/dist/types/utils/support.d.ts +0 -1
- package/dist/types/wrappers/set-attributes/set-attributes.d.ts +0 -9
- package/dist/ui-library/assets/six-logo.svg +0 -1
- package/dist/ui-library/p-0416ec85.entry.js +0 -2
- package/dist/ui-library/p-0416ec85.entry.js.map +0 -1
- package/dist/ui-library/p-0d8154b1.entry.js +0 -2
- package/dist/ui-library/p-0d8154b1.entry.js.map +0 -1
- package/dist/ui-library/p-0f510624.js.map +0 -1
- package/dist/ui-library/p-120a1b66.entry.js +0 -2
- package/dist/ui-library/p-120a1b66.entry.js.map +0 -1
- package/dist/ui-library/p-15559d38.js +0 -2
- package/dist/ui-library/p-15559d38.js.map +0 -1
- package/dist/ui-library/p-16eb37cd.entry.js +0 -2
- package/dist/ui-library/p-16eb37cd.entry.js.map +0 -1
- package/dist/ui-library/p-1f7dac36.entry.js +0 -2
- package/dist/ui-library/p-1f7dac36.entry.js.map +0 -1
- package/dist/ui-library/p-20cb60c9.entry.js +0 -2
- package/dist/ui-library/p-20cb60c9.entry.js.map +0 -1
- package/dist/ui-library/p-21606e14.entry.js +0 -2
- package/dist/ui-library/p-21606e14.entry.js.map +0 -1
- package/dist/ui-library/p-2280038f.entry.js +0 -2
- package/dist/ui-library/p-2280038f.entry.js.map +0 -1
- package/dist/ui-library/p-24e80289.entry.js +0 -2
- package/dist/ui-library/p-24e80289.entry.js.map +0 -1
- package/dist/ui-library/p-27987d45.entry.js +0 -2
- package/dist/ui-library/p-27987d45.entry.js.map +0 -1
- package/dist/ui-library/p-2945a132.entry.js +0 -2
- package/dist/ui-library/p-2945a132.entry.js.map +0 -1
- package/dist/ui-library/p-2e99f389.entry.js +0 -2
- package/dist/ui-library/p-2e99f389.entry.js.map +0 -1
- package/dist/ui-library/p-3d7678a8.entry.js +0 -2
- package/dist/ui-library/p-3d7678a8.entry.js.map +0 -1
- package/dist/ui-library/p-4196a75a.entry.js +0 -2
- package/dist/ui-library/p-4196a75a.entry.js.map +0 -1
- package/dist/ui-library/p-48b7c199.entry.js +0 -2
- package/dist/ui-library/p-48b7c199.entry.js.map +0 -1
- package/dist/ui-library/p-51630491.entry.js +0 -2
- package/dist/ui-library/p-51630491.entry.js.map +0 -1
- package/dist/ui-library/p-5218986b.entry.js +0 -2
- package/dist/ui-library/p-5218986b.entry.js.map +0 -1
- package/dist/ui-library/p-5904d3c3.entry.js +0 -2
- package/dist/ui-library/p-5904d3c3.entry.js.map +0 -1
- package/dist/ui-library/p-59210f0b.js +0 -2
- package/dist/ui-library/p-59210f0b.js.map +0 -1
- package/dist/ui-library/p-66a48dc4.entry.js +0 -2
- package/dist/ui-library/p-66a48dc4.entry.js.map +0 -1
- package/dist/ui-library/p-66d1d93d.entry.js +0 -2
- package/dist/ui-library/p-66d1d93d.entry.js.map +0 -1
- package/dist/ui-library/p-6aced322.entry.js +0 -2
- package/dist/ui-library/p-6aced322.entry.js.map +0 -1
- package/dist/ui-library/p-6e87aeea.entry.js +0 -2
- package/dist/ui-library/p-6e87aeea.entry.js.map +0 -1
- package/dist/ui-library/p-74179b03.entry.js +0 -2
- package/dist/ui-library/p-74179b03.entry.js.map +0 -1
- package/dist/ui-library/p-77424c6b.entry.js +0 -2
- package/dist/ui-library/p-77424c6b.entry.js.map +0 -1
- package/dist/ui-library/p-7d00de3a.entry.js.map +0 -1
- package/dist/ui-library/p-7e9257f3.entry.js +0 -2
- package/dist/ui-library/p-7e9257f3.entry.js.map +0 -1
- package/dist/ui-library/p-8226e363.entry.js +0 -2
- package/dist/ui-library/p-8226e363.entry.js.map +0 -1
- package/dist/ui-library/p-8296e24c.entry.js +0 -2
- package/dist/ui-library/p-8296e24c.entry.js.map +0 -1
- package/dist/ui-library/p-93a9b693.entry.js +0 -2
- package/dist/ui-library/p-93a9b693.entry.js.map +0 -1
- package/dist/ui-library/p-94bd8347.entry.js +0 -2
- package/dist/ui-library/p-94bd8347.entry.js.map +0 -1
- package/dist/ui-library/p-9ace84c7.js +0 -2
- package/dist/ui-library/p-9ace84c7.js.map +0 -1
- package/dist/ui-library/p-9bec3e14.entry.js +0 -2
- package/dist/ui-library/p-9bec3e14.entry.js.map +0 -1
- package/dist/ui-library/p-a15928c4.entry.js +0 -2
- package/dist/ui-library/p-a15928c4.entry.js.map +0 -1
- package/dist/ui-library/p-a4348ad4.entry.js +0 -2
- package/dist/ui-library/p-a4348ad4.entry.js.map +0 -1
- package/dist/ui-library/p-acd3ecfd.entry.js +0 -2
- package/dist/ui-library/p-acd3ecfd.entry.js.map +0 -1
- package/dist/ui-library/p-ae383f66.entry.js +0 -2
- package/dist/ui-library/p-ae383f66.entry.js.map +0 -1
- package/dist/ui-library/p-af0e163e.entry.js +0 -2
- package/dist/ui-library/p-af0e163e.entry.js.map +0 -1
- package/dist/ui-library/p-b3a14438.entry.js +0 -2
- package/dist/ui-library/p-b3a14438.entry.js.map +0 -1
- package/dist/ui-library/p-b42fd9c3.entry.js +0 -2
- package/dist/ui-library/p-b42fd9c3.entry.js.map +0 -1
- package/dist/ui-library/p-b5fdfa6a.js +0 -3
- package/dist/ui-library/p-b5fdfa6a.js.map +0 -1
- package/dist/ui-library/p-b7597736.entry.js +0 -2
- package/dist/ui-library/p-b7597736.entry.js.map +0 -1
- package/dist/ui-library/p-b906a605.entry.js +0 -2
- package/dist/ui-library/p-b906a605.entry.js.map +0 -1
- package/dist/ui-library/p-b97764a1.entry.js +0 -2
- package/dist/ui-library/p-b97764a1.entry.js.map +0 -1
- package/dist/ui-library/p-bbefcec9.entry.js +0 -2
- package/dist/ui-library/p-bbefcec9.entry.js.map +0 -1
- package/dist/ui-library/p-c75694df.entry.js +0 -2
- package/dist/ui-library/p-c75694df.entry.js.map +0 -1
- package/dist/ui-library/p-cb32f8d2.entry.js +0 -2
- package/dist/ui-library/p-cb32f8d2.entry.js.map +0 -1
- package/dist/ui-library/p-cd3281fb.entry.js +0 -2
- package/dist/ui-library/p-cd3281fb.entry.js.map +0 -1
- package/dist/ui-library/p-cec8c149.entry.js +0 -2
- package/dist/ui-library/p-cec8c149.entry.js.map +0 -1
- package/dist/ui-library/p-d1ba2ad5.entry.js +0 -2
- package/dist/ui-library/p-d1ba2ad5.entry.js.map +0 -1
- package/dist/ui-library/p-d2196113.entry.js +0 -2
- package/dist/ui-library/p-d2196113.entry.js.map +0 -1
- package/dist/ui-library/p-de7a9448.entry.js +0 -2
- package/dist/ui-library/p-de7a9448.entry.js.map +0 -1
- package/dist/ui-library/p-df1c4a1f.entry.js +0 -2
- package/dist/ui-library/p-df1c4a1f.entry.js.map +0 -1
- package/dist/ui-library/p-e740215a.entry.js +0 -2
- package/dist/ui-library/p-e740215a.entry.js.map +0 -1
- /package/dist/ui-library/{p-5654e4c7.js.map → p-06ba4450.js.map} +0 -0
- /package/dist/ui-library/{p-f3fdc121.js.map → p-605bdd81.js.map} +0 -0
- /package/dist/ui-library/{p-0fdb185d.js.map → p-7f856f00.js.map} +0 -0
- /package/dist/ui-library/{p-052aa8d3.js.map → p-8227aaed.js.map} +0 -0
- /package/dist/ui-library/{p-8c0971e0.js.map → p-842b492e.js.map} +0 -0
- /package/dist/ui-library/{p-7d95def3.js.map → p-8bfb4bfc.js.map} +0 -0
- /package/dist/ui-library/{p-698bb2c8.js.map → p-a1502802.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["sixDrawerCss","SixDrawerStyle0","id","SixDrawer","this","componentId","willShow","willHide","handleCloseClick","hide","handleKeyDown","event","key","handleOverlayClick","sixOverlayDismiss","emit","defaultPrevented","handleSlotChange","hasFooter","hasSlot","host","handleTransitionEnd","target","propertyName","classList","contains","resetTransitionVariables","handleOpenChange","open","show","connectedCallback","modal","Modal","onFocusOut","_a","contained","panel","focus","componentWillLoad","disconnectedCallback","unlockBodyScrolling","drawer","sixShow","isVisible","activate","lockBodyScrolling","requestAnimationFrame","sixInitialFocus","preventScroll","sixHide","deactivate","sixAfterShow","sixAfterHide","render","h","ref","el","part","class","placement","onKeyDown","onTransitionEnd","onClick","tabIndex","role","noHeader","label","name","String","fromCharCode","exportparts","onSlotchange"],"sources":["src/components/six-drawer/six-drawer.scss?tag=six-drawer&encapsulation=shadow","src/components/six-drawer/six-drawer.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --size: The preferred size of the drawer. This will be applied to the drawer's width or height depending on its\n * `placement`. Note that the drawer will shrink to accommodate smaller screens.\n */\n:host {\n --size: 25rem;\n\n display: contents;\n}\n\n.drawer {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n overflow: hidden;\n\n &:not(.drawer--visible) {\n @include hidden;\n }\n}\n\n.drawer--contained {\n position: absolute;\n z-index: initial;\n}\n\n.drawer--fixed {\n position: fixed;\n z-index: var(--six-z-index-drawer);\n}\n\n.drawer__panel {\n position: absolute;\n display: flex;\n flex-direction: column;\n z-index: 2;\n max-width: 100%;\n max-height: 100%;\n background-color: var(--six-drawer-background-color);\n color: var(--six-drawer-color);\n box-shadow: var(--six-shadow-large);\n transition: var(--six-transition-medium) transform;\n overflow: auto;\n pointer-events: all;\n\n &:focus {\n outline: none;\n }\n}\n\n.drawer--top .drawer__panel {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0;\n width: 100%;\n height: var(--size);\n transform: translate(0, -100%);\n}\n\n.drawer--right .drawer__panel {\n top: 0;\n right: 0;\n bottom: auto;\n left: auto;\n width: var(--size);\n height: 100%;\n transform: translate(100%, 0);\n}\n\n.drawer--bottom .drawer__panel {\n top: auto;\n right: auto;\n bottom: 0;\n left: 0;\n width: 100%;\n height: var(--size);\n transform: translate(0, 100%);\n}\n\n.drawer--left .drawer__panel {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0;\n width: var(--size);\n height: 100%;\n transform: translate(-100%, 0);\n}\n\n.drawer--open .drawer__panel {\n // don't use translate here or it will cause problems with popovers inside the drawer e.g. dropdown, select etc.\n transform: none;\n}\n\n.drawer__header {\n display: flex;\n}\n\n.drawer__title {\n flex: 1 1 auto;\n font-size: var(--six-font-size-large);\n line-height: var(--six-line-height-dense);\n padding: var(--six-spacing-large);\n}\n\n.drawer__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-x-large);\n padding: 0 var(--six-spacing-large);\n}\n\n.drawer__body {\n flex: 1 1 auto;\n padding: var(--six-spacing-large);\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.drawer__footer {\n text-align: right;\n padding: var(--six-spacing-large);\n\n ::slotted(six-button:not(:last-of-type)) {\n margin-right: var(--six-spacing-x-small);\n }\n}\n\n.drawer:not(.drawer--has-footer) .drawer__footer {\n display: none;\n}\n\n.drawer__overlay {\n display: block;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--six-overlay-background-color);\n opacity: 0;\n transition: var(--six-transition-medium) opacity;\n pointer-events: all;\n}\n\n.drawer--contained .drawer__overlay {\n position: absolute;\n}\n\n.drawer--open .drawer__overlay {\n opacity: 0.4;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport Modal from '../../utils/modal';\nimport { EmptyPayload } from '../../utils/types';\n\nlet id = 0;\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 - The drawer's content.\n * @slot label - The drawer's label. Alternatively, you can use the label prop.\n * @slot footer - The drawer's footer, usually one or more buttons representing various options.\n *\n * @part base - The component's base wrapper.\n * @part overlay - The overlay.\n * @part panel - The drawer panel (where the drawer and its content is rendered).\n * @part header - The drawer header.\n * @part title - The drawer title.\n * @part close-button - The close button.\n * @part body - The drawer body.\n * @part footer - The drawer footer.\n */\n\n@Component({\n tag: 'six-drawer',\n styleUrl: 'six-drawer.scss',\n shadow: true,\n})\nexport class SixDrawer {\n private componentId = `drawer-${++id}`;\n private drawer?: HTMLElement;\n private modal?: Modal;\n private panel?: HTMLElement;\n private willShow = false;\n private willHide = false;\n\n @Element() host!: HTMLSixDrawerElement;\n\n @State() hasFooter = false;\n @State() isVisible = false;\n\n /** Indicates whether the drawer is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /**\n * The drawer's label as displayed in the header. You should always include a relevant label even when using\n * `no-header`, as it is required for proper accessibility.\n */\n @Prop() label = '';\n\n /** The direction from which the drawer will open. */\n @Prop() placement: 'top' | 'right' | 'bottom' | 'left' = 'right';\n\n /**\n * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\n * its parent element, set this prop and add `position: relative` to the parent.\n */\n @Prop() contained = false;\n\n /**\n * Removes the header. This will also remove the default close button, so please ensure you provide an easy,\n * accessible way for users to dismiss the drawer.\n */\n @Prop() noHeader = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Emitted when the drawer opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-drawer-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the drawer opens and all transitions are complete. */\n @Event({ eventName: 'six-drawer-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the drawer closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-drawer-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the drawer closes and all transitions are complete. */\n @Event({ eventName: 'six-drawer-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when the drawer opens and the panel gains focus. Calling `event.preventDefault()` will prevent focus and\n * allow you to set it on a different element in the drawer, such as an input or button.\n */\n @Event({ eventName: 'six-drawer-initial-focus' }) sixInitialFocus!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the overlay is clicked. Calling `event.preventDefault()` will prevent the drawer from closing. */\n @Event({ eventName: 'six-drawer-overlay-dismiss' }) sixOverlayDismiss!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.modal = new Modal(this.host, {\n onFocusOut: () => (this.contained ? null : this.panel?.focus()),\n });\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n\n // Show on init if open\n if (this.open) {\n this.show();\n // if the sidebar is open by default we need to manually reset the\n // transition variables since there will be no transition event\n this.resetTransitionVariables();\n }\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n }\n\n /** Shows the drawer */\n @Method()\n async show() {\n if (this.willShow || this.modal == null || this.panel == null || this.drawer == null) {\n return;\n }\n const panel = this.panel;\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.willShow = true;\n this.isVisible = true;\n this.open = true;\n\n // Lock body scrolling only if the drawer isn't contained\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this.host);\n }\n\n if (this.open) {\n // Wait for the next frame before setting initial focus so the dialog is technically visible\n requestAnimationFrame(() => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n panel.focus({ preventScroll: true });\n }\n });\n }\n }\n\n /** Hides the drawer */\n @Method()\n async hide() {\n if (this.willHide || this.modal == null) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.willHide = true;\n this.open = false;\n this.modal.deactivate();\n\n unlockBodyScrolling(this.host);\n }\n\n private handleCloseClick = () => {\n this.hide();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.hide();\n }\n };\n\n private handleOverlayClick = () => {\n const sixOverlayDismiss = this.sixOverlayDismiss.emit();\n\n if (!sixOverlayDismiss.defaultPrevented) {\n this.hide();\n }\n };\n\n private handleSlotChange = () => {\n this.hasFooter = hasSlot(this.host, 'footer');\n };\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'transform' && target.classList.contains('drawer__panel')) {\n this.resetTransitionVariables();\n }\n };\n\n private resetTransitionVariables() {\n this.isVisible = this.open;\n this.willShow = false;\n this.willHide = false;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.drawer = el)}\n part=\"base\"\n class={{\n drawer: true,\n 'drawer--open': this.open,\n 'drawer--visible': this.isVisible,\n 'drawer--top': this.placement === 'top',\n 'drawer--right': this.placement === 'right',\n 'drawer--bottom': this.placement === 'bottom',\n 'drawer--left': this.placement === 'left',\n 'drawer--contained': this.contained,\n 'drawer--fixed': !this.contained,\n 'drawer--has-footer': this.hasFooter,\n }}\n onKeyDown={this.handleKeyDown}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <div part=\"overlay\" class=\"drawer__overlay\" onClick={this.handleOverlayClick} tabIndex={-1} />\n\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"drawer__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-label={this.noHeader ? this.label : null}\n aria-labelledby={!this.noHeader ? `${this.componentId}-title` : null}\n tabIndex={0}\n >\n {!this.noHeader && (\n <header part=\"header\" class=\"drawer__header\">\n <span part=\"title\" class=\"drawer__title\" id={`${this.componentId}-title`}>\n <slot name=\"label\">\n {/* If there's no label, use an invisible character to prevent the heading from collapsing */}\n {this.label || String.fromCharCode(65279)}\n </slot>\n </span>\n <six-icon-button\n exportparts=\"base:close-button\"\n class=\"drawer__close\"\n name=\"close\"\n onClick={this.handleCloseClick}\n />\n </header>\n )}\n\n <div part=\"body\" class=\"drawer__body\">\n <slot />\n </div>\n\n <footer part=\"footer\" class=\"drawer__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as o,h as i,g as r}from"./p-05eb1bab.js";import{E as s}from"./p-8bfb4bfc.js";import{F as e}from"./p-605bdd81.js";import{h as l}from"./p-0cebf1d2.js";const a=':host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.form-control .form-control__label{display:none}.form-control .form-control__help-text{display:none}.form-control .form-control__error-text{display:none;text-align:left}.form-control--has-label .form-control__label{display:inline-block;color:var(--six-input-label-color);font-weight:var(--six-font-weight-bold);margin-bottom:var(--six-spacing-x-small)}.form-control--has-label .form-control__label__required::after{color:var(--six-color-danger-800);content:"*";transform:scale(1.1);margin-left:var(--six-spacing-xxx-small);position:absolute}.form-control--has-label.form-control--small .form-control__label{font-size:var(--six-input-label-font-size-small)}.form-control--has-label.form-control--medium .form-control__label{font-size:var(--six-input-label-font-size-medium)}.form-control--has-label.form-control--large .form-control_label{font-size:var(--six-input-label-font-size-large)}.form-control--has-help-text .form-control__help-text{display:block;color:var(--six-input-help-text-color);margin-top:var(--six-spacing-x-small)}.form-control--has-help-text .form-control__help-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-help-text.form-control--small .form-control__help-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-help-text.form-control--medium .form-control__help-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-help-text.form-control--large .form-control__help-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--has-error-text .form-control__error-text{display:block;margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text .form-control__error-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text.form-control--small .form-control__error-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-error-text.form-control--medium .form-control__error-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-error-text.form-control--large .form-control__error-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--disabled .form-control__help-text{color:var(--six-input-help-text-color-disabled)}.form-control--disabled .form-control__label{color:var(--six-input-label-color-disabled)}.form-control--invalid:not(.form-control--disabled) .form-control__label{color:var(--six-input-label-color)}:host{--height:var(--six-selection-control-toggle-size);--thumb-size:calc(var(--six-selection-control-toggle-size) - 4px);--width:calc(var(--height) * 2);display:inline-block}.switch{display:inline-flex;align-items:center;font-family:var(--six-font-family);font-size:var(--six-input-font-size-medium);font-weight:var(--six-input-font-weight);color:var(--six-input-color);vertical-align:middle;cursor:pointer}.switch__control{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--width);height:var(--height);background-color:var(--six-selection-control-color-disabled);border-radius:var(--height);transition:var(--six-transition-fast) border-color, var(--six-transition-fast) background-color}.switch__control .switch__thumb{width:var(--thumb-size);height:var(--thumb-size);background-color:var(--six-input-background-color);border-radius:50%;transform:translateX(calc(var(--width) / -2 + var(--thumb-size) / 2 - (var(--thumb-size) - var(--height)) / 2));transition:var(--six-transition-fast) transform ease, var(--six-transition-fast) background-color, var(--six-transition-fast) border-color, var(--six-transition-fast) box-shadow}.switch__control input[type=checkbox]{position:absolute;opacity:0;padding:0;margin:0;pointer-events:none}.switch:not(.switch--checked):not(.switch--disabled) .switch__control:hover{background-color:var(--six-input-border-color-hover)}.switch--checked .switch__control{background-color:var(--six-selection-control-color)}.switch--checked .switch__control .switch__thumb{background-color:var(--six-color-white);transform:translateX(calc(var(--width) / 2 - var(--thumb-size) / 2 + (var(--thumb-size) - var(--height)) / 2))}.switch.switch--checked:not(.switch--disabled) .switch__control:hover{background-color:var(--six-input-border-color-focus)}.switch--disabled{cursor:not-allowed;color:var(--six-selection-control-color-disabled)}.switch--disabled .switch__control{background-color:var(--six-selection-control-color-disabled)}.switch--disabled.switch--checked .switch__control{background-color:var(--six-selection-control-color-disabled)}.switch__label{line-height:var(--height);margin-left:0.5em;user-select:none}';const n=a;let c=0;const h=class{constructor(i){t(this,i);this.sixBlur=o(this,"six-switch-blur",7);this.sixChange=o(this,"six-switch-change",7);this.sixFocus=o(this,"six-switch-focus",7);this.switchId=`switch-${++c}`;this.labelId=`switch-label-${c}`;this.errorTextId=`input-error-text-${c}`;this.eventListeners=new s;this.handleSlotChange=()=>{this.hasErrorTextSlot=l(this.host,"error-text")};this.handleClick=()=>{if(this.inputElement!=null){this.checked=this.inputElement.checked;this.sixChange.emit(this.checked)}};this.handleBlur=()=>{this.hasFocus=false;this.sixBlur.emit(this.checked)};this.handleFocus=()=>{this.hasFocus=true;this.sixFocus.emit()};this.handleKeyDown=t=>{if(t.key==="ArrowLeft"){t.preventDefault();this.checked=false;this.sixChange.emit(this.checked)}if(t.key==="ArrowRight"){t.preventDefault();this.checked=true;this.sixChange.emit(this.checked)}};this.handleMouseDown=t=>{var o;t.preventDefault();(o=this.inputElement)===null||o===void 0?void 0:o.focus()};this.hasFocus=false;this.hasErrorTextSlot=false;this.name="";this.value="on";this.disabled=false;this.required=false;this.checked=false;this.label="";this.errorText="";this.errorTextCount=undefined;this.invalid=false}componentWillLoad(){this.handleSlotChange()}handleCheckedChange(){if(this.inputElement!=null){this.inputElement.checked=this.checked;this.checked=this.inputElement.checked}}connectedCallback(){var t;(t=this.host.shadowRoot)===null||t===void 0?void 0:t.addEventListener("slotchange",this.handleSlotChange);this.eventListeners.forward("six-switch-change","change",this.host);this.eventListeners.forward("six-switch-blur","blur",this.host);this.eventListeners.forward("six-switch-focus","focus",this.host)}disconnectedCallback(){var t;(t=this.host.shadowRoot)===null||t===void 0?void 0:t.removeEventListener("slotchange",this.handleSlotChange);this.eventListeners.removeAll()}handleLabelChange(){this.handleSlotChange()}async setFocus(t){var o;(o=this.inputElement)===null||o===void 0?void 0:o.focus(t)}async removeFocus(){var t;(t=this.inputElement)===null||t===void 0?void 0:t.blur()}render(){return i(e,{key:"9d6b19d30b6fbe9edaca09765fb987496085af3d",inputId:this.switchId,label:this.label,labelId:this.labelId,hasLabelSlot:false,errorTextId:this.errorTextId,errorText:this.errorText,errorTextCount:this.errorTextCount,hasErrorTextSlot:this.hasErrorTextSlot,size:"medium",disabled:this.disabled,required:this.required,displayError:this.invalid},i("label",{key:"3e17b60e405ebdbb9a2329677b7ba58bf5b39506",part:"base",htmlFor:this.switchId,class:{switch:true,"switch--checked":this.checked,"switch--disabled":this.disabled,"switch--focused":this.hasFocus},onMouseDown:this.handleMouseDown},i("span",{key:"a8f0a78413ef612287e59d371ecc4a4de3f95d86",part:"control",class:"switch__control"},i("span",{key:"02e2e4f0ebea74189adaae5c5820e72c317fb3c8",part:"thumb",class:"switch__thumb"}),i("input",{key:"50f37e2801b211be3a3f378f3f59c736f10900ea",ref:t=>this.inputElement=t,id:this.switchId,type:"checkbox",name:this.name,value:this.value,checked:this.checked,disabled:this.disabled,required:this.required,role:"switch","aria-checked":this.checked?"true":"false","aria-labelledby":this.labelId,onClick:this.handleClick,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyDown:this.handleKeyDown})),i("span",{key:"9a4e42a33a099be2301b47553f1238f2e4acf027",part:"label",id:this.labelId,class:"switch__label"},i("slot",{key:"f393ef7b2eb5621a4a203d0502017a428412080d"}))))}get host(){return r(this)}static get watchers(){return{checked:["handleCheckedChange"],errorText:["handleLabelChange"],label:["handleLabelChange"]}}};h.style=n;export{h as six_switch};
|
|
2
|
+
//# sourceMappingURL=p-6f9153be.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["sixSwitchCss","SixSwitchStyle0","id","SixSwitch","this","switchId","labelId","errorTextId","eventListeners","EventListeners","handleSlotChange","hasErrorTextSlot","hasSlot","host","handleClick","inputElement","checked","sixChange","emit","handleBlur","hasFocus","sixBlur","handleFocus","sixFocus","handleKeyDown","event","key","preventDefault","handleMouseDown","_a","focus","componentWillLoad","handleCheckedChange","connectedCallback","shadowRoot","addEventListener","forward","disconnectedCallback","removeEventListener","removeAll","handleLabelChange","setFocus","options","removeFocus","blur","render","h","FormControl","inputId","label","hasLabelSlot","errorText","errorTextCount","size","disabled","required","displayError","invalid","part","htmlFor","class","switch","onMouseDown","ref","el","type","name","value","role","onClick","onBlur","onFocus","onKeyDown"],"sources":["src/components/six-switch/six-switch.scss?tag=six-switch&encapsulation=shadow","src/components/six-switch/six-switch.tsx"],"sourcesContent":["@import 'src/global/component';\n@import '../../functional-components/form-control/form-control';\n\n/**\n * @prop --width: The width of the switch.\n * @prop --height: The height of the switch.\n * @prop --thumb-size: The size of the thumb.\n */\n:host {\n --height: var(--six-selection-control-toggle-size);\n --thumb-size: calc(var(--six-selection-control-toggle-size) - 4px);\n --width: calc(var(--height) * 2);\n\n display: inline-block;\n}\n\n.switch {\n display: inline-flex;\n align-items: center;\n font-family: var(--six-font-family);\n font-size: var(--six-input-font-size-medium);\n font-weight: var(--six-input-font-weight);\n color: var(--six-input-color);\n vertical-align: middle;\n cursor: pointer;\n}\n\n.switch__control {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--width);\n height: var(--height);\n background-color: var(--six-selection-control-color-disabled);\n border-radius: var(--height);\n transition: var(--six-transition-fast) border-color, var(--six-transition-fast) background-color;\n\n .switch__thumb {\n width: var(--thumb-size);\n height: var(--thumb-size);\n background-color: var(--six-input-background-color);\n border-radius: 50%;\n transform: translateX(calc(var(--width) / -2 + var(--thumb-size) / 2 - (var(--thumb-size) - var(--height)) / 2));\n transition: var(--six-transition-fast) transform ease, var(--six-transition-fast) background-color,\n var(--six-transition-fast) border-color, var(--six-transition-fast) box-shadow;\n }\n\n input[type='checkbox'] {\n position: absolute;\n opacity: 0;\n padding: 0;\n margin: 0;\n pointer-events: none;\n }\n}\n\n// Hover\n.switch:not(.switch--checked):not(.switch--disabled) .switch__control:hover {\n background-color: var(--six-input-border-color-hover);\n}\n\n// Checked\n.switch--checked .switch__control {\n background-color: var(--six-selection-control-color);\n\n .switch__thumb {\n background-color: var(--six-color-white);\n transform: translateX(calc(var(--width) / 2 - var(--thumb-size) / 2 + (var(--thumb-size) - var(--height)) / 2));\n }\n}\n\n// Checked + hover\n.switch.switch--checked:not(.switch--disabled) .switch__control:hover {\n background-color: var(--six-input-border-color-focus);\n}\n\n// Disabled\n.switch--disabled {\n cursor: not-allowed;\n color: var(--six-selection-control-color-disabled);\n\n .switch__control {\n background-color: var(--six-selection-control-color-disabled);\n }\n\n &.switch--checked .switch__control {\n background-color: var(--six-selection-control-color-disabled);\n }\n}\n\n.switch__label {\n line-height: var(--height);\n margin-left: 0.5em;\n user-select: none;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { hasSlot } from '../../utils/slot';\n\nlet id = 0;\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 - The switch's label.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n *\n * @part base - The component's base wrapper.\n * @part control - The switch control.\n * @part thumb - The switch position indicator.\n * @part label - The switch label.\n */\n\n@Component({\n tag: 'six-switch',\n styleUrl: 'six-switch.scss',\n shadow: true,\n})\nexport class SixSwitch {\n private switchId = `switch-${++id}`;\n private labelId = `switch-label-${id}`;\n private errorTextId = `input-error-text-${id}`;\n\n private inputElement?: HTMLInputElement;\n private eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixSwitchElement;\n\n @State() hasFocus = false;\n @State() hasErrorTextSlot = false;\n\n /** The switch's name attribute. */\n @Prop() name = '';\n\n /** The switch's value attribute. */\n @Prop() value = 'on';\n\n /** Set to true to disable the switch. */\n @Prop() disabled = false;\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /** Set to true to draw the switch in a checked state. */\n @Prop({ mutable: true, reflect: true }) checked = false;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n @Watch('checked')\n handleCheckedChange() {\n if (this.inputElement != null) {\n this.inputElement.checked = this.checked;\n this.checked = this.inputElement.checked;\n }\n }\n\n /** Emitted when the control loses focus. */\n @Event({ eventName: 'six-switch-blur' }) sixBlur!: EventEmitter<boolean>;\n\n /** Emitted when the control's checked state changes. */\n @Event({ eventName: 'six-switch-change' }) sixChange!: EventEmitter<boolean>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-switch-focus' }) sixFocus!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.forward('six-switch-change', 'change', this.host);\n this.eventListeners.forward('six-switch-blur', 'blur', this.host);\n this.eventListeners.forward('six-switch-focus', 'focus', this.host);\n }\n\n disconnectedCallback() {\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.removeAll();\n }\n\n @Watch('errorText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n private handleSlotChange = () => {\n this.hasErrorTextSlot = hasSlot(this.host, 'error-text');\n };\n\n /** Sets focus on the switch. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.inputElement?.focus(options);\n }\n\n /** Removes focus from the switch. */\n @Method()\n async removeFocus() {\n this.inputElement?.blur();\n }\n\n private handleClick = () => {\n if (this.inputElement != null) {\n this.checked = this.inputElement.checked;\n this.sixChange.emit(this.checked);\n }\n };\n\n private handleBlur = () => {\n this.hasFocus = false;\n this.sixBlur.emit(this.checked);\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n this.sixFocus.emit();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n this.checked = false;\n this.sixChange.emit(this.checked);\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n this.checked = true;\n this.sixChange.emit(this.checked);\n }\n };\n\n private handleMouseDown = (event: MouseEvent) => {\n // Prevent clicks on the label from briefly blurring the input\n event.preventDefault();\n this.inputElement?.focus();\n };\n\n render() {\n return (\n <FormControl\n inputId={this.switchId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={false}\n errorTextId={this.errorTextId}\n errorText={this.errorText}\n errorTextCount={this.errorTextCount}\n hasErrorTextSlot={this.hasErrorTextSlot}\n size=\"medium\"\n disabled={this.disabled}\n required={this.required}\n displayError={this.invalid}\n >\n <label\n part=\"base\"\n htmlFor={this.switchId}\n class={{\n switch: true,\n 'switch--checked': this.checked,\n 'switch--disabled': this.disabled,\n 'switch--focused': this.hasFocus,\n }}\n onMouseDown={this.handleMouseDown}\n >\n <span part=\"control\" class=\"switch__control\">\n <span part=\"thumb\" class=\"switch__thumb\" />\n\n <input\n ref={(el) => (this.inputElement = el)}\n id={this.switchId}\n type=\"checkbox\"\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n required={this.required}\n role=\"switch\"\n aria-checked={this.checked ? 'true' : 'false'}\n aria-labelledby={this.labelId}\n onClick={this.handleClick}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n />\n </span>\n\n <span part=\"label\" id={this.labelId} class=\"switch__label\">\n <slot />\n </span>\n </label>\n </FormControl>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as i,h as s,g as e}from"./p-05eb1bab.js";import{P as n}from"./p-7f856f00.js";import{E as o}from"./p-8bfb4bfc.js";import{a as r,D as h}from"./p-a1502802.js";import{a as l}from"./p-0cebf1d2.js";function a(t){const i=t.tabIndex;return i>-1}function d(t){if(a(t)){return t}if(t.shadowRoot!=null){const i=[...t.shadowRoot.children].find((t=>a(t)));if(i!=null){return i}}if(t.children!=null){return[...t.children].map((t=>d(t))).at(0)}return undefined}const u=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--six-z-index-dropdown)}.dropdown__positioner__filtered{width:100%}.dropdown__panel{font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);color:var(--color);background-color:var(--six-panel-background-color);border-radius:var(--six-border-radius-medium);border:1px solid var(--six-color-web-rock-300);box-shadow:var(--six-shadow-small);opacity:0;pointer-events:none;transform:scale(0.9);transition:var(--six-transition-fast) opacity, var(--six-transition-fast) transform;max-width:90vw}.dropdown__panel__scroll{max-height:18.75rem;overflow-y:auto;overflow-x:hidden;overscroll-behavior:none}.dropdown__panel__scroll--virtual{overflow-y:hidden;overflow-x:hidden}.filter-hidden{display:none}.dropdown__positioner[data-popper-placement^=top] .dropdown__panel{transform-origin:bottom}.dropdown__positioner[data-popper-placement^=bottom] .dropdown__panel{transform-origin:top}.dropdown__positioner[data-popper-placement^=left] .dropdown__panel{transform-origin:right}.dropdown__positioner[data-popper-placement^=right] .dropdown__panel{transform-origin:left}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:none;pointer-events:all}.filter{border-bottom:1px solid var(--six-color-web-rock-300)}.filter__icon{color:var(--six-color-web-rock-600)}";const c=u;let f=0;const p=class{constructor(e){t(this,e);this.sixShow=i(this,"six-dropdown-show",7);this.sixAfterShow=i(this,"six-dropdown-after-show",7);this.sixHide=i(this,"six-dropdown-hide",7);this.sixAfterHide=i(this,"six-dropdown-after-hide",7);this.sixAutoFilter=i(this,"six-dropdown-auto-filter-fired",7);this.sixAsyncFilterFired=i(this,"six-async-filter-fired",7);this.sixScroll=i(this,"six-dropdown-scroll",7);this.componentId=`dropdown-${++f}`;this.isVisible=false;this.resizeObserver=new ResizeObserver(r((()=>this.updatePanelPosition()),100));this.eventListeners=new o;this.getMenuItems=()=>{var t,i,e,n;if(this.options.length>0){return{sixMenuItems:this.renderedOptions.map((t=>s("six-menu-item",{value:t.value},t.label))),selectionContainerItems:[]}}if(this.panel==null)return{sixMenuItems:[],selectionContainerItems:[]};const o=(t=this.panelSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}).filter(w).at(0);const r=(i=this.panelSlot)===null||i===void 0?void 0:i.assignedElements({flatten:true}).filter(v).at(0);const h=(o===null||o===void 0?void 0:o.querySelectorAll("six-menu-item"))||[];let l=((e=r===null||r===void 0?void 0:r.querySelector("slot"))===null||e===void 0?void 0:e.assignedElements().filter((t=>m(t))))||[];if(l.length===0){l=Array.from(((n=r===null||r===void 0?void 0:r.shadowRoot)===null||n===void 0?void 0:n.querySelectorAll("six-menu-item"))||[])}if(h.length>0||l.length>0){return{sixMenuItems:l,selectionContainerItems:[...h]}}else{return{sixMenuItems:r?Array.from(r.querySelectorAll("six-menu-item")):[],selectionContainerItems:[]}}};this.handleDocumentKeyDown=t=>{var i;const s=t;if(s.key==="Escape"){void this.hide();this.focusOnTrigger();return}if(this.filterInputElement===((i=this.host.shadowRoot)===null||i===void 0?void 0:i.activeElement)){if(s.key==="ArrowDown"){const{sixMenuItems:t,selectionContainerItems:i}=this.getMenuItems();const s=[...i,...t].find((t=>t.style.display!=="none"));if(s!=null){s.setFocus()}}}if(s.key==="Tab"){if(this.open&&document.activeElement!=null&&m(document.activeElement)){s.preventDefault();void this.hide();this.focusOnTrigger();return}setTimeout((()=>{var t,i;const s=this.container.getRootNode()instanceof ShadowRoot?(i=(t=document.activeElement)===null||t===void 0?void 0:t.shadowRoot)===null||i===void 0?void 0:i.activeElement:document.activeElement;if((s===null||s===void 0?void 0:s.closest(this.container.tagName.toLowerCase()))!==this.container){void this.hide();return}}))}};this.handleDocumentMouseDown=t=>{const i=t.composedPath();if(!i.includes(this.container)){void this.hide();return}};this.handlePanelSelect=t=>{const i=t.target;if(this.closeOnSelect&&v(i)){void this.hide();this.focusOnTrigger()}};this.handleTriggerClick=()=>{this.open?this.hide():this.show()};this.handleTriggerKeyDown=t=>{if(t.key==="Escape"){this.focusOnTrigger();void this.hide();return}if(!this.disableHideOnEnterAndSpace&&[" ","Enter"].includes(t.key)){t.preventDefault();this.open?void this.hide():void this.show();return}const i=this.getMenu();if(["ArrowDown","ArrowUp"].includes(t.key)){t.preventDefault();if(!this.open){void this.show()}if(i==null){return}const s=[...i.querySelectorAll("six-menu-item")];const e=s.at(0);const n=s.at(s.length-1);if(t.key==="ArrowDown"&&e!=null){e.setFocus();return}if(t.key==="ArrowUp"&&n!=null){n.setFocus();return}}const s=["Tab","Shift","Meta","Ctrl","Alt"];if(this.open&&i!=null&&!s.includes(t.key)){void i.typeToSelect(t.key);return}};this.handleTriggerKeyUp=t=>{if(t.key===" "){t.preventDefault()}};this.handleTriggerSlotChange=()=>{this.updateAccessibleTrigger()};this.handleDropdownScroll=()=>{if(this.scrollPanel==null)return;this.sixScroll.emit({scrollHeight:this.scrollPanel.scrollHeight,scrollTop:this.scrollPanel.scrollTop,scrollbarHeight:this.scrollPanel.offsetHeight*(this.scrollPanel.offsetHeight/this.scrollPanel.scrollHeight),scrollRatio:this.scrollPanel.scrollTop/(this.scrollPanel.scrollHeight-this.scrollPanel.clientHeight)})};this.open=false;this.placement="bottom-start";this.closeOnSelect=true;this.distance=4;this.skidding=0;this.hoist=false;this.containingElement=undefined;this.filter=false;this.asyncFilter=false;this.filterPlaceholder="Filter...";this.autofocusFilter=true;this.filterDebounce=0;this.disableHideOnEnterAndSpace=false;this.options=[];this.virtualScroll=false;this.matchTriggerWidth=false;this.renderedOptions=[]}get filterEnabled(){return this.filter||this.asyncFilter}get container(){return this.containingElement||this.host}handleOpenChange(){this.open?this.show():this.hide();this.updateAccessibleTrigger()}handlePopoverOptionsChange(){if(this.popover==null)return;this.popover.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding})}handleOptionsChange(){this.validateOptions()}validateOptions(){if(!Array.isArray(this.options)){this.options=[]}if(this.virtualScroll&&this.options.length===0){console.error("Options must be defined when using virtual scrolling")}this.renderedOptions=[...this.options]}componentWillLoad(){this.validateOptions();if(this.asyncFilter){this.filterDebounce=h}}componentDidLoad(){this.init();if(this.open){void this.show()}}connectedCallback(){this.init()}init(){this.initPopover();const t=this.filterInputElement;if(t!=null){this.eventListeners.add(t,"six-input-input",r((()=>{var i;const s=(i=t.value)!==null&&i!==void 0?i:"";if(this.filter){this.applyFilter(s)}this.emitFilterEvents(s)}),this.filterDebounce))}}applyFilter(t){var i;const s=((i=t.toLowerCase())===null||i===void 0?void 0:i.trim())||"";if(this.options.length>0){this.renderedOptions=this.options.filter((t=>{var i,e,n,o;return t.label&&((e=(i=String(t.label))===null||i===void 0?void 0:i.toLowerCase())===null||e===void 0?void 0:e.includes(s))||t.value&&((o=(n=String(t.value))===null||n===void 0?void 0:n.toLowerCase())===null||o===void 0?void 0:o.includes(s))}))}else{const{selectionContainerItems:t,sixMenuItems:i}=this.getMenuItems();const e=t.map((t=>t.value));t.forEach((async t=>{t.style.display=await b(t,s)?"unset":"none"}));i.forEach((async t=>{t.style.display=await b(t,s)&&!e.includes(t.value)?"unset":"none"}))}}resetFilter(){if(this.filterInputElement!=null){this.filterInputElement.value="";this.emitFilterEvents("")}if(this.options.length>0){this.renderedOptions=[...this.options]}else{const{selectionContainerItems:t,sixMenuItems:i}=this.getMenuItems();[...t,...i].forEach((t=>t.style.display="unset"))}}emitFilterEvents(t){if(this.filter){this.sixAutoFilter.emit({filterValue:t})}else if(this.asyncFilter){this.sixAsyncFilterFired.emit({filterValue:t})}}initPopover(){if(this.trigger==null||this.positioner==null)return;this.popover=new n(this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>{if(this.filterEnabled){this.resetFilter()}this.sixAfterHide.emit()},onAfterShow:async()=>{this.sixAfterShow.emit()},onTransitionEnd:()=>{if(!this.open&&this.scrollPanel!=null){this.scrollPanel.scrollTop=0}}})}disconnectedCallback(){var t;this.resizeObserver.disconnect();this.eventListeners.removeAll();void this.hide();(t=this.popover)===null||t===void 0?void 0:t.destroy();this.popover=undefined}async show(){if(this.isVisible||this.popover==null||this.panel==null){return}const t=this.sixShow.emit();if(t.defaultPrevented){this.open=false;return}this.eventListeners.add(this.panel,"six-menu-item-selected",this.handlePanelSelect);this.eventListeners.add(document,"keydown",this.handleDocumentKeyDown);this.eventListeners.add(document,"mousedown",this.handleDocumentMouseDown);this.isVisible=true;this.open=true;if(this.trigger!=null){this.resizeObserver.observe(this.trigger)}this.updatePanelPosition();this.popover.show();if(this.filterEnabled&&this.autofocusFilter){requestAnimationFrame((()=>{var t;(t=this.filterInputElement)===null||t===void 0?void 0:t.setFocus()}))}}updatePanelPosition(){if(!this.open){return}if(this.matchTriggerWidth&&this.trigger!=null&&this.panel!=null){const t=this.trigger.getBoundingClientRect().width;this.panel.style.minWidth=`${t}px`}if(this.popover!=null){this.popover.reposition()}}async hide(){this.resizeObserver.disconnect();if(!this.isVisible||this.panel==null||this.popover==null){return}const t=this.sixHide.emit();if(t.defaultPrevented){this.open=true;return}this.eventListeners.remove(this.panel,"six-menu-item-selected",this.handlePanelSelect);this.eventListeners.remove(document,"keydown",this.handleDocumentKeyDown);this.eventListeners.remove(document,"mousedown",this.handleDocumentMouseDown);this.isVisible=false;this.open=false;this.popover.hide()}focusOnTrigger(){var t;if(this.trigger==null)return;const i=(t=this.triggerSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}).at(0);if(i!=null){if(typeof i.setFocus==="function"){i.setFocus()}else if(typeof i.focus==="function"){i.focus()}}}getMenu(){var t;return(t=this.panelSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}).filter(v).at(0)}async reposition(){if(this.open&&this.popover!=null){this.popover.reposition()}}updateAccessibleTrigger(){var t;if(this.trigger==null)return;const i=((t=this.triggerSlot)===null||t===void 0?void 0:t.assignedElements({flatten:true}))||[];const s=i.map(d).at(0);if(s!=null){s.setAttribute("aria-haspopup","true");s.setAttribute("aria-expanded",this.open?"true":"false")}}render(){return s("div",{key:"6569a6e118fd68e19f14dcae0553e25f81987923",part:"base",id:this.componentId,class:{dropdown:true,"dropdown--open":this.open}},s("span",{key:"be04c5d687eafa3c58c9fed9cf43f72d43aa45ef",part:"trigger",class:"dropdown__trigger",ref:t=>this.trigger=t,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,onKeyUp:this.handleTriggerKeyUp},s("slot",{key:"fba562d4fc45a0874e5cf8caad5e9710d6dd34e0",name:"trigger",ref:t=>this.triggerSlot=t,onSlotchange:this.handleTriggerSlotChange})),s("div",{key:"d37f1cb0246d47ca34004f35e3575e8433d998c8",ref:t=>this.positioner=t,class:{dropdown__positioner:true,dropdown__positioner__filtered:(this.filter||this.asyncFilter)&&!this.hoist}},s("div",{key:"e6c08b51f39a12259b4d8911770e1e1754dc4b8e",ref:t=>this.panel=t,part:"panel",class:"dropdown__panel",role:"menu","aria-hidden":this.open?"false":"true","aria-labelledby":this.componentId},this.filterEnabled&&s("six-input",{class:{filter:true,"filter-hidden":!this.open},"dropdown-search":true,"aria-hidden":this.open?"false":"true",ref:t=>this.filterInputElement=t,placeholder:this.filterPlaceholder},s("six-icon",{class:"filter__icon",slot:"suffix",size:"small"},"search")),s("div",{key:"174d0a5dd5965877e9278475112e2f14d959966d",class:{dropdown__panel__scroll:true,"dropdown__panel__scroll--virtual":this.virtualScroll},onScroll:this.handleDropdownScroll,ref:t=>this.scrollPanel=t},s("slot",{key:"fa0fc63a45e693cc6655db03b0382f028aea9473",ref:t=>this.panelSlot=t}),this.options.length>0&&s("six-menu",{part:"menu",items:this.renderedOptions,virtualScroll:this.virtualScroll})),s("slot",{key:"f24f41a9a70f0624078d43eb60b41e841ee90bf7",name:"dropdown-footer"}))))}get host(){return e(this)}static get watchers(){return{open:["handleOpenChange"],distance:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"],placement:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],options:["handleOptionsChange"],virtualScroll:["handleOptionsChange"]}}};function v(t){return(t===null||t===void 0?void 0:t.tagName.toLowerCase())==="six-menu"}function m(t){return(t===null||t===void 0?void 0:t.tagName.toLowerCase())==="six-menu-item"}function w(t){var i;return((i=t===null||t===void 0?void 0:t.getAttribute("class"))===null||i===void 0?void 0:i.includes("selection-container"))||false}async function b(t,i){return t.value.toLowerCase().includes(i)||(await t.getTextLabel()).toLowerCase().includes(i)}p.style=c;const x=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:block}.menu{padding:var(--six-spacing-xx-small) 0;border:none;box-shadow:var(--six-shadow-small);overflow-y:auto;overflow-x:hidden}.menu:focus{outline:none}.no-shadow{box-shadow:none}";const g=x;const _=t=>{var i,s,e;return(e=(s=(i=t===null||t===void 0?void 0:t.shadowRoot)===null||i===void 0?void 0:i.querySelector(".menu-item"))===null||s===void 0?void 0:s.classList)===null||e===void 0?void 0:e.contains("menu-item--focused")};const y=t=>(t===null||t===void 0?void 0:t.tagName.toLowerCase())==="six-menu-item";const k=({value:t,label:i})=>s("six-menu-item",{key:t,value:t},i);const C=5;const I=64;const A=class{constructor(s){t(this,s);this.sixMenuItemSelected=i(this,"six-menu-item-selected",7);this.eventListeners=new o;this.typeToSelectString="";this.handleScrolling=()=>{if(this.menuWrapper==null)return;this.scrollingIndex=Math.floor(this.menuWrapper.scrollTop/this.sixMenuItemHeight)};this.removeBoxShadow=false;this.items=null;this.itemsShown=undefined;this.virtualScroll=false;this.itemSize=10;this.scrollingDebounce=15;this.disableKeyboardHandling=false;this.scrollingIndex=0;this.sixMenuItemHeight=I}connectedCallback(){this.handleClick=this.handleClick.bind(this);this.handleKeyDown=this.handleKeyDown.bind(this)}componentWillLoad(){if(this.items===null){return}}componentDidLoad(){this.setupForVirtualScrollingAfterRendering()}disconnectedCallback(){this.eventListeners.removeAll()}async typeToSelect(t){var i;clearTimeout(this.typeToSelectTimeout);this.typeToSelectTimeout=setTimeout((()=>this.typeToSelectString=""),750);this.typeToSelectString+=t.toLowerCase();const s=this.getItems();for(const t of s){const s=(i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector("slot:not([name])");const e=l(s).toLowerCase().trim();if(e.substring(0,this.typeToSelectString.length)===this.typeToSelectString){t.setFocus();break}}}getItemsShown(){var t;const i=this.virtualScroll?C:0;return(t=this.itemsShown)!==null&&t!==void 0?t:i}setupForVirtualScrollingAfterRendering(){var t,i;if(!this.virtualScroll||this.menuWrapper==null)return;this.eventListeners.add(this.menuWrapper,"scroll",r(this.handleScrolling,this.scrollingDebounce));const s=(i=(t=this.menu)===null||t===void 0?void 0:t.querySelector("six-menu-item"))===null||i===void 0?void 0:i.clientHeight;if(s!=null&&s>0){this.sixMenuItemHeight=s}}getItems(){if(this.menu==null)return[];if(this.items!=null){return this.items.map(k)}const t=this.menu.querySelector("slot");if(t==null)return[];return[...t.assignedElements({flatten:true})].filter((t=>y(t)&&!t.disabled))}getActiveItemIndex(){const t=this.getItems();const i=this.getActiveItem();if(i!=null){const s=t.indexOf(i);if(s>-1){return s}}const s=this.extractItemsFromDOM();return s.findIndex(_)}getActiveItem(){var t;const i=this.getItems().find((t=>t===document.activeElement));if(i!=null){return i}return(t=this.extractItemsFromDOM())===null||t===void 0?void 0:t.find(_)}extractItemsFromDOM(){var t,i;return Array.from((i=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll("six-menu-item"))!==null&&i!==void 0?i:[])}setActiveItem(t){t===null||t===void 0?void 0:t.setFocus()}handleClick(t){const i=t.target;const s=i.closest("six-menu-item");if(s&&!s.disabled){this.sixMenuItemSelected.emit({name:s.value,item:s})}}handleKeyDown(t){if(this.disableKeyboardHandling){return}if(t.key==="Enter"){const i=this.getActiveItem();t.preventDefault();if(i!=null){this.sixMenuItemSelected.emit({name:i.value,item:i})}}if(t.key===" "){t.preventDefault()}if(["ArrowDown","ArrowUp","Home","End"].includes(t.key)){const i=this.items===null?this.getItems():this.extractItemsFromDOM();let s=this.getActiveItemIndex();if(i.length>0){t.preventDefault();if(t.key==="ArrowDown"){s++}else if(t.key==="ArrowUp"){s--}else if(t.key==="Home"){s=0}else if(t.key==="End"){s=i.length-1}if(s<0)s=0;if(s>i.length-1)s=i.length-1;this.setActiveItem(i[s]);return}}void this.typeToSelect(t.key)}getMenuWrapperStyle(){var t;const i={};if(this.getItemsShown()>0){i.height=`${((t=this.getItemsShown())!==null&&t!==void 0?t:0)*this.sixMenuItemHeight}px`}return Object.assign({},i)}getMenuContainerStyle(){const t={};if(this.virtualScroll){t.transform=`translateY(${this.sixMenuItemHeight*this.scrollingIndex}px)`}return Object.assign({},t)}getScrollbarGhostStyle(){const t={};if(this.virtualScroll&&this.items!==null){t.height=`${this.items.length*this.sixMenuItemHeight-this.itemSize*this.sixMenuItemHeight}px`}return Object.assign({},t)}renderItems(){if(this.items===undefined||this.items===null){return}if(!this.virtualScroll){return this.items.map(k)}return this.items.slice(this.scrollingIndex,Math.min(this.items.length,this.itemSize+this.scrollingIndex)).map((({value:t,label:i})=>s("six-menu-item",{checkType:"check",key:t,value:t},i)))}render(){return s("div",{key:"a8806ec6aee657eb677931fc1ba1405caec3e96e",ref:t=>this.menuWrapper=t,style:this.getMenuWrapperStyle(),part:"wrapper",class:{menu:true,".no-shadow":this.removeBoxShadow}},s("div",{key:"34b85eb38385f88e87f49a6689cf6ad082723a87",ref:t=>this.menu=t,part:"base",role:"menu",onClick:this.handleClick,onKeyDown:this.handleKeyDown,tabIndex:0,style:this.getMenuContainerStyle()},s("slot",{key:"a62dcc8bd5d97a8d479f4a4270aedcb77b729aea"}),this.renderItems()),this.virtualScroll&&s("div",{style:this.getScrollbarGhostStyle()}))}get host(){return e(this)}};A.style=g;export{p as six_dropdown,A as six_menu};
|
|
2
|
+
//# sourceMappingURL=p-7561b336.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isTabbable","el","tabIndex","getNearestTabbableElement","shadowRoot","tabbableShadowChild","children","find","e","map","at","undefined","sixDropdownCss","SixDropdownStyle0","id","SixDropdown","this","componentId","isVisible","resizeObserver","ResizeObserver","debounce","updatePanelPosition","eventListeners","EventListeners","getMenuItems","options","length","sixMenuItems","renderedOptions","option","h","value","label","selectionContainerItems","panel","selectionContainer","_a","panelSlot","assignedElements","flatten","filter","isSelectionContainer","sixMenuElement","_b","isSixMenu","querySelectorAll","_c","querySelector","isSixMenuItem","Array","from","_d","handleDocumentKeyDown","event","keyboardEvent","key","hide","focusOnTrigger","filterInputElement","host","activeElement","item","style","display","setFocus","open","document","preventDefault","setTimeout","container","getRootNode","ShadowRoot","closest","tagName","toLowerCase","handleDocumentMouseDown","path","composedPath","includes","handlePanelSelect","target","closeOnSelect","handleTriggerClick","show","handleTriggerKeyDown","disableHideOnEnterAndSpace","menu","getMenu","menuItems","firstMenuItem","lastMenuItem","ignoredKeys","typeToSelect","handleTriggerKeyUp","handleTriggerSlotChange","updateAccessibleTrigger","handleDropdownScroll","scrollPanel","sixScroll","emit","scrollHeight","scrollTop","scrollbarHeight","offsetHeight","scrollRatio","clientHeight","filterEnabled","asyncFilter","containingElement","handleOpenChange","handlePopoverOptionsChange","popover","setOptions","strategy","hoist","placement","distance","skidding","handleOptionsChange","validateOptions","isArray","virtualScroll","console","error","componentWillLoad","filterDebounce","DEFAULT_DEBOUNCE_FAST","componentDidLoad","init","connectedCallback","initPopover","add","filterValue","applyFilter","emitFilterEvents","filterTerm","lowerCaseFilterTerm","trim","String","selectionContainerValues","s","forEach","async","menuItem","containsFilterTerm","resetFilter","sixAutoFilter","sixAsyncFilterFired","trigger","positioner","Popover","transitionElement","onAfterHide","sixAfterHide","onAfterShow","sixAfterShow","onTransitionEnd","disconnectedCallback","disconnect","removeAll","destroy","sixShow","defaultPrevented","observe","autofocusFilter","requestAnimationFrame","matchTriggerWidth","width","getBoundingClientRect","minWidth","reposition","sixHide","remove","triggerSlot","focus","accessibleTrigger","setAttribute","render","part","class","dropdown","ref","onClick","onKeyDown","onKeyUp","name","onSlotchange","dropdown__positioner","dropdown__positioner__filtered","role","placeholder","filterPlaceholder","slot","size","dropdown__panel__scroll","onScroll","items","getAttribute","getTextLabel","sixMenuCss","SixMenuStyle0","isFocusedMenuItem","classList","contains","isSIXMenuItemElement","mapToMenuItem","DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING","DEFAULT_SIX_MENU_ITEM_HEIGHT","SixMenu","typeToSelectString","handleScrolling","menuWrapper","scrollingIndex","Math","floor","sixMenuItemHeight","handleClick","bind","handleKeyDown","setupForVirtualScrollingAfterRendering","clearTimeout","typeToSelectTimeout","getItems","getTextContent","substring","getItemsShown","defaultItemsShown","itemsShown","scrollingDebounce","menuItemHeight","disabled","getActiveItemIndex","selectedItem","getActiveItem","itemIndex","indexOf","extractItemsFromDOM","findIndex","i","setActiveItem","clickedItem","sixMenuItemSelected","disableKeyboardHandling","activeItem","indexOfActiveItem","getMenuWrapperStyle","styles","height","Object","assign","getMenuContainerStyle","transform","getScrollbarGhostStyle","itemSize","renderItems","slice","min","checkType","removeBoxShadow"],"sources":["src/utils/tabbable.ts","src/components/six-dropdown/six-dropdown.scss?tag=six-dropdown&encapsulation=shadow","src/components/six-dropdown/six-dropdown.tsx","src/components/six-menu/six-menu.scss?tag=six-menu&encapsulation=shadow","src/components/six-menu/six-menu.tsx"],"sourcesContent":["export function isTabbable(el: HTMLElement) {\n const tabIndex = el.tabIndex;\n return tabIndex > -1;\n}\n\nexport function getNearestTabbableElement(el: HTMLElement): HTMLElement | undefined {\n // Check the element\n if (isTabbable(el)) {\n return el;\n }\n\n // Check the element's shadow root\n if (el.shadowRoot != null) {\n const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e as HTMLElement)) as HTMLElement;\n if (tabbableShadowChild != null) {\n return tabbableShadowChild;\n }\n }\n\n // Check the element's children\n if (el.children != null) {\n return [...el.children].map((e) => getNearestTabbableElement(e as HTMLElement)).at(0);\n }\n\n return undefined;\n}\n","@import 'src/global/component';\n@import 'src/global/mixins/scrollbar';\n\n:host {\n display: inline-block;\n}\n\n.dropdown {\n position: relative;\n}\n\n.dropdown__trigger {\n display: block;\n}\n\n.dropdown__positioner {\n position: absolute;\n z-index: var(--six-z-index-dropdown);\n\n &__filtered {\n width: 100%;\n }\n}\n\n.dropdown__panel {\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n color: var(--color);\n background-color: var(--six-panel-background-color);\n border-radius: var(--six-border-radius-medium);\n border: 1px solid var(--six-color-web-rock-300);\n box-shadow: var(--six-shadow-small);\n opacity: 0;\n pointer-events: none;\n transform: scale(0.9);\n transition: var(--six-transition-fast) opacity, var(--six-transition-fast) transform;\n max-width: 90vw;\n}\n\n.dropdown__panel__scroll {\n max-height: 18.75rem;\n overflow-y: auto;\n overflow-x: hidden;\n overscroll-behavior: none;\n\n &--virtual {\n overflow-y: hidden;\n overflow-x: hidden;\n }\n}\n\n.filter-hidden {\n display: none;\n}\n\n.dropdown__positioner {\n &[data-popper-placement^='top'] .dropdown__panel {\n transform-origin: bottom;\n }\n\n &[data-popper-placement^='bottom'] .dropdown__panel {\n transform-origin: top;\n }\n\n &[data-popper-placement^='left'] .dropdown__panel {\n transform-origin: right;\n }\n\n &[data-popper-placement^='right'] .dropdown__panel {\n transform-origin: left;\n }\n\n &.popover-visible .dropdown__panel {\n opacity: 1;\n transform: none;\n pointer-events: all;\n }\n}\n\n.filter {\n border-bottom: 1px solid var(--six-color-web-rock-300);\n\n &__icon {\n color: var(--six-color-web-rock-600);\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getNearestTabbableElement } from '../../utils/tabbable';\nimport Popover from '../../utils/popover';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { EmptyPayload } from '../../utils/types';\nimport { SixMenuItemData } from '../six-menu/six-menu';\n\nexport interface SixDropdownAutoFilterPayload {\n filterValue: string;\n}\n\nexport interface SixDropdownAsyncFilterPayload {\n filterValue: string;\n}\n\nexport interface SixDropdownScrollPayload {\n scrollHeight: number;\n scrollTop: number;\n scrollbarHeight: number;\n scrollRatio: number;\n}\n\nlet id = 0;\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 trigger - The dropdown's trigger, usually a `<six-button>` element.\n * @slot dropdown-footer - The dropdown's footer area.\n * @slot - The dropdown's content.\n *\n * @part base - The component's base wrapper.\n * @part trigger - The container that wraps the trigger.\n * @part panel - The panel that gets shown when the dropdown is open.\n */\n\n@Component({\n tag: 'six-dropdown',\n styleUrl: 'six-dropdown.scss',\n shadow: true,\n})\nexport class SixDropdown {\n private componentId = `dropdown-${++id}`;\n private isVisible = false;\n private panel?: HTMLElement;\n private scrollPanel?: HTMLElement;\n private panelSlot?: HTMLSlotElement;\n private positioner?: HTMLElement;\n private popover?: Popover;\n private trigger?: HTMLElement;\n private triggerSlot?: HTMLSlotElement;\n private resizeObserver = new ResizeObserver(debounce(() => this.updatePanelPosition(), 100));\n\n // the input element shown in the dropdown when filter is set to true\n private filterInputElement?: HTMLSixInputElement;\n\n @Element() host!: HTMLSixDropdownElement;\n\n /** Indicates whether the dropdown is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /**\n * The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\n * inside the viewport.\n */\n @Prop() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'bottom-start';\n\n /** Determines whether the dropdown should hide when a menu item is selected. */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() closeOnSelect = true;\n\n /** The distance in pixels from which to offset the panel away from its trigger. */\n @Prop() distance = 4;\n\n /** The distance in pixels from which to offset the panel along its trigger. */\n @Prop() skidding = 0;\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n /** The dropdown will close when the user interacts outside of this element (e.g. clicking). */\n @Prop() containingElement?: HTMLElement;\n\n /**\n * Set to true to allow auto filtering for entries in the dropdown.\n * With this flag the dropdown will automatically filter itsel.\n * If you need to coordinate the shown elements yourself,\n * e.g. because you need to call an endpoint use asyncFilter instead\n */\n @Prop() filter = false;\n\n /**\n * Set to true to allow async filtering.\n * When you enter something in the search field the component will only emit an event but not filter any elements itself.\n * You can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself\n */\n @Prop() asyncFilter = false;\n\n /** The filter's placeholder text. */\n @Prop() filterPlaceholder = 'Filter...';\n\n /** By default the search field will be focused when opening a dropdown with filtering enabled. */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() autofocusFilter = true;\n\n get filterEnabled() {\n return this.filter || this.asyncFilter;\n }\n\n /** The debounce for the filter callbacks. */\n @Prop({ mutable: true }) filterDebounce = 0;\n\n /** The panel can be opend/closed by pressing the spacebar or the enter key. In some cases you might want to avoid this */\n @Prop() disableHideOnEnterAndSpace = false;\n\n /** Set the options to be shown in the dropdown (alternative to setting the elements via html)*/\n @Prop({ mutable: true }) options: SixMenuItemData[] = [];\n\n /** Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\n * are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot. */\n @Prop() virtualScroll = false;\n\n /**\n * Determines if the dropdown panel's width should match the width of the trigger element.\n *\n * If set to `true`, the panel will resize its width to align with the trigger's width.\n * If `false` or omitted, the panel will maintain its default width.\n */\n @Prop() matchTriggerWidth = false;\n\n get container() {\n return this.containingElement || this.host;\n }\n\n /** Emitted when the dropdown opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-dropdown-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dropdown opens and all transitions are complete. */\n @Event({ eventName: 'six-dropdown-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the dropdown closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-dropdown-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dropdown closes and all transitions are complete. */\n @Event({ eventName: 'six-dropdown-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the auto filter is triggered */\n @Event({ eventName: 'six-dropdown-auto-filter-fired' }) sixAutoFilter!: EventEmitter<SixDropdownAutoFilterPayload>;\n\n /** Emitted when the async filter is triggered */\n @Event({ eventName: 'six-async-filter-fired' }) sixAsyncFilterFired!: EventEmitter<SixDropdownAsyncFilterPayload>;\n\n /** Emitted when the user scrolls inside dropdown panel.*/\n @Event({ eventName: 'six-dropdown-scroll' }) sixScroll!: EventEmitter<SixDropdownScrollPayload>;\n\n private eventListeners = new EventListeners();\n\n // internal representation of options, so we don't have to make options mutable\n @State() renderedOptions: SixMenuItemData[] = [];\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n this.updateAccessibleTrigger();\n }\n\n @Watch('distance')\n @Watch('hoist')\n @Watch('placement')\n @Watch('skidding')\n handlePopoverOptionsChange() {\n if (this.popover == null) return;\n\n this.popover.setOptions({\n strategy: this.hoist ? 'fixed' : 'absolute',\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n });\n }\n\n @Watch('options')\n @Watch('virtualScroll')\n handleOptionsChange() {\n this.validateOptions();\n }\n\n private validateOptions() {\n if (!Array.isArray(this.options)) {\n this.options = [];\n }\n if (this.virtualScroll && this.options.length === 0) {\n console.error('Options must be defined when using virtual scrolling');\n }\n this.renderedOptions = [...this.options];\n }\n\n componentWillLoad() {\n this.validateOptions();\n if (this.asyncFilter) {\n this.filterDebounce = DEFAULT_DEBOUNCE_FAST;\n }\n }\n\n componentDidLoad() {\n this.init();\n if (this.open) {\n void this.show();\n }\n }\n\n connectedCallback() {\n this.init();\n }\n\n private init() {\n this.initPopover();\n\n // listen to filter\n const filterInputElement = this.filterInputElement;\n if (filterInputElement != null) {\n this.eventListeners.add(\n filterInputElement,\n 'six-input-input',\n debounce(() => {\n const filterValue = filterInputElement.value ?? '';\n if (this.filter) {\n this.applyFilter(filterValue);\n }\n this.emitFilterEvents(filterValue);\n }, this.filterDebounce)\n );\n }\n }\n\n private applyFilter(filterTerm: string) {\n const lowerCaseFilterTerm = filterTerm.toLowerCase()?.trim() || '';\n if (this.options.length > 0) {\n this.renderedOptions = this.options.filter(\n (option) =>\n (option.label && String(option.label)?.toLowerCase()?.includes(lowerCaseFilterTerm)) ||\n (option.value && String(option.value)?.toLowerCase()?.includes(lowerCaseFilterTerm))\n );\n } else {\n const { selectionContainerItems, sixMenuItems } = this.getMenuItems();\n const selectionContainerValues = selectionContainerItems.map((s) => s.value);\n\n // Filter items in selection container\n selectionContainerItems.forEach(async (menuItem) => {\n menuItem.style.display = (await containsFilterTerm(menuItem, lowerCaseFilterTerm)) ? 'unset' : 'none';\n });\n\n // Filter other items. Always hide items which contained in the selection container.\n sixMenuItems.forEach(async (menuItem) => {\n menuItem.style.display =\n (await containsFilterTerm(menuItem, lowerCaseFilterTerm)) &&\n !selectionContainerValues.includes(menuItem.value)\n ? 'unset'\n : 'none';\n });\n }\n }\n\n private resetFilter() {\n if (this.filterInputElement != null) {\n this.filterInputElement.value = '';\n this.emitFilterEvents('');\n }\n if (this.options.length > 0) {\n this.renderedOptions = [...this.options];\n } else {\n const { selectionContainerItems, sixMenuItems } = this.getMenuItems();\n [...selectionContainerItems, ...sixMenuItems].forEach((item) => (item.style.display = 'unset'));\n }\n }\n\n private emitFilterEvents(filterValue: string) {\n if (this.filter) {\n this.sixAutoFilter.emit({ filterValue });\n } else if (this.asyncFilter) {\n this.sixAsyncFilterFired.emit({ filterValue });\n }\n }\n\n private initPopover() {\n if (this.trigger == null || this.positioner == null) return;\n this.popover = new Popover(this.trigger, this.positioner, {\n strategy: this.hoist ? 'fixed' : 'absolute',\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n transitionElement: this.panel,\n onAfterHide: () => {\n if (this.filterEnabled) {\n this.resetFilter();\n }\n this.sixAfterHide.emit();\n },\n onAfterShow: async () => {\n this.sixAfterShow.emit();\n },\n onTransitionEnd: () => {\n if (!this.open && this.scrollPanel != null) {\n this.scrollPanel.scrollTop = 0;\n }\n },\n });\n }\n\n private getMenuItems = (): {\n selectionContainerItems: HTMLSixMenuItemElement[];\n sixMenuItems: HTMLSixMenuItemElement[];\n } => {\n if (this.options.length > 0) {\n return {\n sixMenuItems: this.renderedOptions.map((option) => (\n <six-menu-item value={option.value}>{option.label}</six-menu-item>\n )),\n selectionContainerItems: [],\n };\n }\n if (this.panel == null) return { sixMenuItems: [], selectionContainerItems: [] };\n\n // Relies on the implementation of six-select. Its dropdown slot contains two elements,\n // one for the selected menu items, and one for the other items.\n const selectionContainer = this.panelSlot?.assignedElements({ flatten: true }).filter(isSelectionContainer).at(0);\n const sixMenuElement = this.panelSlot?.assignedElements({ flatten: true }).filter(isSixMenu).at(0) as\n | HTMLSixMenuElement\n | undefined;\n const selectionContainerItems = selectionContainer?.querySelectorAll('six-menu-item') || [];\n let sixMenuItems: HTMLSixMenuItemElement[] =\n sixMenuElement\n ?.querySelector('slot')\n ?.assignedElements()\n .filter((el): el is HTMLSixMenuItemElement => isSixMenuItem(el)) || [];\n\n if (sixMenuItems.length === 0) {\n sixMenuItems = Array.from(sixMenuElement?.shadowRoot?.querySelectorAll('six-menu-item') || []);\n }\n\n if (selectionContainerItems.length > 0 || sixMenuItems.length > 0) {\n return { sixMenuItems, selectionContainerItems: [...selectionContainerItems] };\n } else {\n return {\n sixMenuItems: sixMenuElement ? Array.from(sixMenuElement.querySelectorAll('six-menu-item')) : [],\n selectionContainerItems: [],\n };\n }\n };\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n this.eventListeners.removeAll();\n void this.hide();\n this.popover?.destroy();\n this.popover = undefined;\n }\n\n /** Shows the dropdown panel */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible || this.popover == null || this.panel == null) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.eventListeners.add(this.panel, 'six-menu-item-selected', this.handlePanelSelect);\n this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n\n this.isVisible = true;\n this.open = true;\n\n if (this.trigger != null) {\n this.resizeObserver.observe(this.trigger);\n }\n this.updatePanelPosition();\n this.popover.show();\n\n if (this.filterEnabled && this.autofocusFilter) {\n requestAnimationFrame(() => {\n this.filterInputElement?.setFocus();\n });\n }\n }\n\n /**\n * Set min width of dropdown panel to the width of the trigger element\n */\n private updatePanelPosition() {\n if (!this.open) {\n return;\n }\n\n if (this.matchTriggerWidth && this.trigger != null && this.panel != null) {\n const width = this.trigger.getBoundingClientRect().width;\n this.panel.style.minWidth = `${width}px`;\n }\n\n if (this.popover != null) {\n this.popover.reposition();\n }\n }\n\n /** Hides the dropdown panel */\n @Method()\n async hide() {\n this.resizeObserver.disconnect();\n\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible || this.panel == null || this.popover == null) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.eventListeners.remove(this.panel, 'six-menu-item-selected', this.handlePanelSelect);\n this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n\n this.isVisible = false;\n this.open = false;\n this.popover.hide();\n }\n\n private focusOnTrigger() {\n if (this.trigger == null) return;\n const trigger = this.triggerSlot?.assignedElements({ flatten: true }).at(0) as HTMLSixButtonElement | undefined;\n if (trigger != null) {\n if (typeof trigger.setFocus === 'function') {\n trigger.setFocus();\n } else if (typeof trigger.focus === 'function') {\n trigger.focus();\n }\n }\n }\n\n private getMenu(): HTMLSixMenuElement | undefined {\n return this.panelSlot?.assignedElements({ flatten: true }).filter(isSixMenu).at(0) as\n | HTMLSixMenuElement\n | undefined;\n }\n\n /**\n * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\n * is activated.\n *\n * @deprecated: use the property `matchTriggerWidth` instead.\n */\n @Method()\n async reposition() {\n if (this.open && this.popover != null) {\n this.popover.reposition();\n }\n }\n\n private handleDocumentKeyDown = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n // Close when escape is pressed\n if (keyboardEvent.key === 'Escape') {\n void this.hide();\n this.focusOnTrigger();\n return;\n }\n\n if (this.filterInputElement === this.host.shadowRoot?.activeElement) {\n if (keyboardEvent.key === 'ArrowDown') {\n const { sixMenuItems, selectionContainerItems } = this.getMenuItems();\n const item = [...selectionContainerItems, ...sixMenuItems].find((item) => item.style.display !== 'none');\n if (item != null) {\n item.setFocus();\n }\n }\n }\n\n // Handle tabbing\n if (keyboardEvent.key === 'Tab') {\n // Tabbing within an open menu should close the dropdown and refocus the trigger\n if (this.open && document.activeElement != null && isSixMenuItem(document.activeElement)) {\n keyboardEvent.preventDefault();\n void this.hide();\n this.focusOnTrigger();\n return;\n }\n\n // Tabbing outside the containing element closes the panel\n //\n // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,\n // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.\n setTimeout(() => {\n const activeElement =\n this.container.getRootNode() instanceof ShadowRoot\n ? document.activeElement?.shadowRoot?.activeElement\n : document.activeElement;\n\n if (activeElement?.closest(this.container.tagName.toLowerCase()) !== this.container) {\n void this.hide();\n return;\n }\n });\n }\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n // Close when clicking outside the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.container)) {\n void this.hide();\n return;\n }\n };\n\n private handlePanelSelect = (event: Event) => {\n const target = event.target as HTMLElement;\n\n // Hide the dropdown when a menu item is selected\n if (this.closeOnSelect && isSixMenu(target)) {\n void this.hide();\n this.focusOnTrigger();\n }\n };\n\n private handleTriggerClick = () => {\n this.open ? this.hide() : this.show();\n };\n\n private handleTriggerKeyDown = (event: KeyboardEvent) => {\n // Close when escape or tab is pressed\n if (event.key === 'Escape') {\n this.focusOnTrigger();\n void this.hide();\n return;\n }\n\n // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same\n // key again to hide the menu in case they don't want to make a selection.\n if (!this.disableHideOnEnterAndSpace && [' ', 'Enter'].includes(event.key)) {\n event.preventDefault();\n this.open ? void this.hide() : void this.show();\n return;\n }\n\n const menu = this.getMenu();\n\n // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a\n // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for\n // faster navigation.\n if (['ArrowDown', 'ArrowUp'].includes(event.key)) {\n event.preventDefault();\n\n // Show the menu if it's not already open\n if (!this.open) {\n void this.show();\n }\n\n if (menu == null) {\n return;\n }\n const menuItems = [...menu.querySelectorAll('six-menu-item')];\n const firstMenuItem = menuItems.at(0);\n const lastMenuItem = menuItems.at(menuItems.length - 1);\n\n // Focus on a menu item\n if (event.key === 'ArrowDown' && firstMenuItem != null) {\n firstMenuItem.setFocus();\n return;\n }\n\n if (event.key === 'ArrowUp' && lastMenuItem != null) {\n lastMenuItem.setFocus();\n return;\n }\n }\n\n // Other keys bring focus to the menu and initiate type-to-select behavior\n const ignoredKeys = ['Tab', 'Shift', 'Meta', 'Ctrl', 'Alt'];\n if (this.open && menu != null && !ignoredKeys.includes(event.key)) {\n void menu.typeToSelect(event.key);\n return;\n }\n };\n\n private handleTriggerKeyUp = (event: KeyboardEvent) => {\n // Prevent space from triggering a click event in Firefox\n if (event.key === ' ') {\n event.preventDefault();\n }\n };\n\n private handleTriggerSlotChange = () => {\n this.updateAccessibleTrigger();\n };\n\n private handleDropdownScroll = () => {\n if (this.scrollPanel == null) return;\n\n this.sixScroll.emit({\n scrollHeight: this.scrollPanel.scrollHeight,\n scrollTop: this.scrollPanel.scrollTop,\n scrollbarHeight: this.scrollPanel.offsetHeight * (this.scrollPanel.offsetHeight / this.scrollPanel.scrollHeight),\n scrollRatio: this.scrollPanel.scrollTop / (this.scrollPanel.scrollHeight - this.scrollPanel.clientHeight),\n });\n };\n\n //\n // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and\n // `aria-expanded`. These must be applied to the \"accessible trigger\" (the tabbable portion of the trigger element\n // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,\n // a child of the slotted element, or an element in the slotted element's shadow root.\n //\n // For example, the accessible trigger of an <sl-button> is a <button> located inside its shadow root.\n //\n // To determine this, we assume the first tabbable element in the trigger slot is the \"accessible trigger.\"\n //\n private updateAccessibleTrigger() {\n if (this.trigger == null) return;\n const assignedElements = (this.triggerSlot?.assignedElements({ flatten: true }) || []) as HTMLElement[];\n const accessibleTrigger = assignedElements.map(getNearestTabbableElement).at(0);\n if (accessibleTrigger != null) {\n accessibleTrigger.setAttribute('aria-haspopup', 'true');\n accessibleTrigger.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n }\n\n render() {\n return (\n <div\n part=\"base\"\n id={this.componentId}\n class={{\n dropdown: true,\n 'dropdown--open': this.open,\n }}\n >\n <span\n part=\"trigger\"\n class=\"dropdown__trigger\"\n ref={(el) => (this.trigger = el)}\n onClick={this.handleTriggerClick}\n onKeyDown={this.handleTriggerKeyDown}\n onKeyUp={this.handleTriggerKeyUp}\n >\n <slot\n name=\"trigger\"\n ref={(el) => (this.triggerSlot = el as HTMLSlotElement)}\n onSlotchange={this.handleTriggerSlotChange}\n />\n </span>\n\n {/* Position the panel with a wrapper since the popover makes use of `translate`. This let's us add transitions\n on the panel without interfering with the position. */}\n <div\n ref={(el) => (this.positioner = el)}\n class={{\n dropdown__positioner: true,\n dropdown__positioner__filtered: (this.filter || this.asyncFilter) && !this.hoist,\n }}\n >\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"dropdown__panel\"\n role=\"menu\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-labelledby={this.componentId}\n >\n {this.filterEnabled && (\n <six-input\n class={{\n filter: true,\n 'filter-hidden': !this.open,\n }}\n dropdown-search\n aria-hidden={this.open ? 'false' : 'true'}\n ref={(el) => (this.filterInputElement = el)}\n placeholder={this.filterPlaceholder}\n >\n <six-icon class=\"filter__icon\" slot=\"suffix\" size=\"small\">\n search\n </six-icon>\n </six-input>\n )}\n <div\n class={{\n dropdown__panel__scroll: true,\n 'dropdown__panel__scroll--virtual': this.virtualScroll,\n }}\n onScroll={this.handleDropdownScroll}\n ref={(el) => (this.scrollPanel = el)}\n >\n <slot ref={(el) => (this.panelSlot = el as HTMLSlotElement)} />\n {this.options.length > 0 && (\n <six-menu part=\"menu\" items={this.renderedOptions} virtualScroll={this.virtualScroll}></six-menu>\n )}\n </div>\n <slot name=\"dropdown-footer\"></slot>\n </div>\n </div>\n </div>\n );\n }\n}\n\nfunction isSixMenu(el?: Element): boolean {\n return el?.tagName.toLowerCase() === 'six-menu';\n}\nfunction isSixMenuItem(el?: Element): boolean {\n return el?.tagName.toLowerCase() === 'six-menu-item';\n}\nfunction isSelectionContainer(el?: Element): boolean {\n return el?.getAttribute('class')?.includes('selection-container') || false;\n}\nasync function containsFilterTerm(menuItem: HTMLSixMenuItemElement, lowerCaseFilterTerm: string): Promise<boolean> {\n return (\n menuItem.value.toLowerCase().includes(lowerCaseFilterTerm) ||\n (await menuItem.getTextLabel()).toLowerCase().includes(lowerCaseFilterTerm)\n );\n}\n","@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu {\n padding: var(--six-spacing-xx-small) 0;\n border: none;\n box-shadow: var(--six-shadow-small);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.menu:focus {\n outline: none;\n}\n\n.no-shadow {\n box-shadow: none;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\nimport { getTextContent } from '../../utils/slot';\nimport { StyleDeclaration } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce } from '../../utils/execution-control';\n\nexport interface SixMenuItemData {\n label: string;\n value: string;\n}\n\nexport interface SixMenuItemSelectedPayload {\n name: string;\n item: HTMLSixMenuItemElement;\n}\n\nconst isFocusedMenuItem = (menuItem: HTMLSixMenuItemElement) =>\n menuItem?.shadowRoot?.querySelector('.menu-item')?.classList?.contains('menu-item--focused');\n\nconst isSIXMenuItemElement = (el?: Element): el is HTMLSixMenuItemElement =>\n el?.tagName.toLowerCase() === 'six-menu-item';\n\nconst mapToMenuItem = ({ value, label }: SixMenuItemData) => (\n <six-menu-item key={value} value={value}>\n {label}\n </six-menu-item>\n);\n\nconst DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING = 5;\n\nconst DEFAULT_SIX_MENU_ITEM_HEIGHT = 64;\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 - The menu's content, including menu items, menu dividers, and menu labels.\n *\n * @part base - The component's base wrapper.\n */\n@Component({\n tag: 'six-menu',\n styleUrl: 'six-menu.scss',\n shadow: true,\n})\nexport class SixMenu {\n private readonly eventListeners = new EventListeners();\n\n private menu?: HTMLElement;\n private menuWrapper?: HTMLElement;\n private typeToSelectString = '';\n private typeToSelectTimeout?: number;\n\n @Element() host!: HTMLSixMenuElement;\n\n /** Emitted when a menu item is selected. */\n @Event({ eventName: 'six-menu-item-selected' }) sixMenuItemSelected!: EventEmitter<SixMenuItemSelectedPayload>;\n\n /** Set to true to remove the box-shadow */\n @Prop() removeBoxShadow = false;\n\n /** Set the options to be shown in the dropdown */\n @Prop() items: SixMenuItemData[] | null = null;\n\n /** Defines how many items should be shown. If the number of items is larger than this property a scrollbar will be shown */\n @Prop() itemsShown?: number;\n\n /** Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\n * are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot. */\n @Prop() virtualScroll = false;\n\n /**\n * Used for virtual scrolling\n * Define how many items should be rendered in the DOM when using virtual scrolling\n */\n @Prop() itemSize = 10;\n\n /**\n * Used for virtual scrolling\n * Define the debounce for listening on scrolling changes in milliseconds.\n * The lower the number the more sensitive the component reacts to scrolling changes.\n */\n @Prop() scrollingDebounce = 15;\n\n /**\n * Internal: Disables handling of key presses.\n */\n @Prop() disableKeyboardHandling = false;\n\n /**\n * Used to calculate which items should be rendered in the DOM\n */\n @State()\n private scrollingIndex = 0;\n\n // set a default item height, this variable will be updated with the real value after the first render.\n // However, it's necessary to have a default value because we can only fetch the proper height after the first render\n @State()\n sixMenuItemHeight = DEFAULT_SIX_MENU_ITEM_HEIGHT;\n\n connectedCallback() {\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n }\n\n componentWillLoad() {\n if (this.items === null) {\n return;\n }\n }\n\n private handleScrolling = () => {\n if (this.menuWrapper == null) return;\n // for performance improvements we only update the DOM if the scrollRatio change \"enough\"\n this.scrollingIndex = Math.floor(this.menuWrapper.scrollTop / this.sixMenuItemHeight);\n };\n\n componentDidLoad() {\n this.setupForVirtualScrollingAfterRendering();\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n /**\n * Initiates type-to-select logic, which automatically selects an option based on what the user is currently typing.\n * The key passed will be appended to the internal query and the selection will be updated. After a brief period, the\n * internal query is cleared automatically. This method is intended to be used with the keydown event. Useful for\n * enabling type-to-select when the menu doesn't have focus.\n */\n @Method()\n async typeToSelect(key: string) {\n clearTimeout(this.typeToSelectTimeout);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this.typeToSelectTimeout = setTimeout(() => (this.typeToSelectString = ''), 750);\n this.typeToSelectString += key.toLowerCase();\n const items = this.getItems();\n for (const item of items) {\n const slot = item.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n const label = getTextContent(slot).toLowerCase().trim();\n if (label.substring(0, this.typeToSelectString.length) === this.typeToSelectString) {\n item.setFocus();\n break;\n }\n }\n }\n\n private getItemsShown(): number {\n const defaultItemsShown = this.virtualScroll ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING : 0;\n return this.itemsShown ?? defaultItemsShown;\n }\n\n private setupForVirtualScrollingAfterRendering() {\n if (!this.virtualScroll || this.menuWrapper == null) return;\n\n this.eventListeners.add(this.menuWrapper, 'scroll', debounce(this.handleScrolling, this.scrollingDebounce));\n\n // set menu height to proper height once the item is rendered.\n const menuItemHeight = this.menu?.querySelector('six-menu-item')?.clientHeight;\n if (menuItemHeight != null && menuItemHeight > 0) {\n this.sixMenuItemHeight = menuItemHeight;\n }\n }\n\n private getItems(): HTMLSixMenuItemElement[] {\n if (this.menu == null) return [];\n\n if (this.items != null) {\n return this.items.map(mapToMenuItem);\n }\n\n const slot = this.menu.querySelector('slot');\n if (slot == null) return [];\n return [...slot.assignedElements({ flatten: true })].filter(\n (el): el is HTMLSixMenuItemElement => isSIXMenuItemElement(el) && !el.disabled\n );\n }\n\n private getActiveItemIndex() {\n const items = this.getItems();\n const selectedItem = this.getActiveItem();\n if (selectedItem != null) {\n const itemIndex = items.indexOf(selectedItem);\n if (itemIndex > -1) {\n return itemIndex;\n }\n }\n const sixMenuItems = this.extractItemsFromDOM();\n return sixMenuItems.findIndex(isFocusedMenuItem);\n }\n\n private getActiveItem(): HTMLSixMenuItemElement | undefined {\n const activeElement = this.getItems().find((i) => i === document.activeElement);\n if (activeElement != null) {\n return activeElement;\n }\n return this.extractItemsFromDOM()?.find(isFocusedMenuItem);\n }\n\n private extractItemsFromDOM() {\n return Array.from(this.host.shadowRoot?.querySelectorAll('six-menu-item') ?? []);\n }\n\n private setActiveItem(item: HTMLSixMenuItemElement) {\n item?.setFocus();\n }\n\n private handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const clickedItem = target.closest('six-menu-item');\n if (clickedItem && !clickedItem.disabled) {\n this.sixMenuItemSelected.emit({ name: clickedItem.value, item: clickedItem });\n }\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.disableKeyboardHandling) {\n return;\n }\n\n // Make a selection when pressing enter\n if (event.key === 'Enter') {\n const activeItem = this.getActiveItem();\n event.preventDefault();\n\n if (activeItem != null) {\n this.sixMenuItemSelected.emit({ name: activeItem.value, item: activeItem });\n }\n }\n\n // Prevent scrolling when space is pressed\n if (event.key === ' ') {\n event.preventDefault();\n }\n\n // Move the selection when pressing down or up\n if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {\n const items = this.items === null ? this.getItems() : this.extractItemsFromDOM();\n\n let indexOfActiveItem = this.getActiveItemIndex();\n\n if (items.length > 0) {\n event.preventDefault();\n\n if (event.key === 'ArrowDown') {\n indexOfActiveItem++;\n } else if (event.key === 'ArrowUp') {\n indexOfActiveItem--;\n } else if (event.key === 'Home') {\n indexOfActiveItem = 0;\n } else if (event.key === 'End') {\n indexOfActiveItem = items.length - 1;\n }\n\n if (indexOfActiveItem < 0) indexOfActiveItem = 0;\n if (indexOfActiveItem > items.length - 1) indexOfActiveItem = items.length - 1;\n\n this.setActiveItem(items[indexOfActiveItem]);\n\n return;\n }\n }\n\n void this.typeToSelect(event.key);\n }\n\n private getMenuWrapperStyle() {\n const styles: Partial<StyleDeclaration> = {};\n if (this.getItemsShown() > 0) {\n // calculate the proper height to show the correct number of items\n styles.height = `${(this.getItemsShown() ?? 0) * this.sixMenuItemHeight}px`;\n }\n return {\n ...styles,\n };\n }\n\n private getMenuContainerStyle() {\n const styles: Partial<StyleDeclaration> = {};\n\n if (this.virtualScroll) {\n // calculate height of content are if all items would be rendered so the scrollbar has the proper size\n styles.transform = `translateY(${this.sixMenuItemHeight * this.scrollingIndex}px)`;\n }\n\n return {\n ...styles,\n };\n }\n\n private getScrollbarGhostStyle() {\n const styles: Partial<StyleDeclaration> = {};\n\n if (this.virtualScroll && this.items !== null) {\n styles.height = `${this.items.length * this.sixMenuItemHeight - this.itemSize * this.sixMenuItemHeight}px`;\n }\n\n return {\n ...styles,\n };\n }\n\n private renderItems() {\n if (this.items === undefined || this.items === null) {\n return;\n }\n\n if (!this.virtualScroll) {\n return this.items.map(mapToMenuItem);\n }\n\n return this.items\n .slice(this.scrollingIndex, Math.min(this.items.length, this.itemSize + this.scrollingIndex))\n .map(({ value, label }: SixMenuItemData) => (\n <six-menu-item checkType=\"check\" key={value} value={value}>\n {label}\n </six-menu-item>\n ));\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.menuWrapper = el)}\n style={this.getMenuWrapperStyle()}\n part=\"wrapper\"\n class={{\n menu: true,\n '.no-shadow': this.removeBoxShadow,\n }}\n >\n <div\n ref={(el) => (this.menu = el)}\n part=\"base\"\n role=\"menu\"\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n tabIndex={0}\n style={this.getMenuContainerStyle()}\n >\n <slot />\n {this.renderItems()}\n </div>\n {this.virtualScroll && <div style={this.getScrollbarGhostStyle()} />}\n </div>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,c as t,h as s,g as i}from"./p-05eb1bab.js";import{h as o,a as l}from"./p-0cebf1d2.js";import{F as r}from"./p-605bdd81.js";import{E as n}from"./p-8bfb4bfc.js";import{D as a,a as c}from"./p-a1502802.js";import{a as h}from"./p-e080d5b6.js";function d(e,t){if(t){if(Array.isArray(e)){return e.filter((e=>typeof e==="string"))}else if(typeof e==="string"&&e.length>0){return[e]}else{return[]}}else{if(typeof e==="string"){return e}else{return""}}}function u(e){return d(e,true)}function f(e,t){if(Array.isArray(e)&&Array.isArray(t)){return e.length===t.length&&e.every(((e,s)=>e===t[s]))}else if(typeof e==="string"&&typeof t==="string"){return e===t}return false}const b=':host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.form-control .form-control__label{display:none}.form-control .form-control__help-text{display:none}.form-control .form-control__error-text{display:none;text-align:left}.form-control--has-label .form-control__label{display:inline-block;color:var(--six-input-label-color);font-weight:var(--six-font-weight-bold);margin-bottom:var(--six-spacing-x-small)}.form-control--has-label .form-control__label__required::after{color:var(--six-color-danger-800);content:"*";transform:scale(1.1);margin-left:var(--six-spacing-xxx-small);position:absolute}.form-control--has-label.form-control--small .form-control__label{font-size:var(--six-input-label-font-size-small)}.form-control--has-label.form-control--medium .form-control__label{font-size:var(--six-input-label-font-size-medium)}.form-control--has-label.form-control--large .form-control_label{font-size:var(--six-input-label-font-size-large)}.form-control--has-help-text .form-control__help-text{display:block;color:var(--six-input-help-text-color);margin-top:var(--six-spacing-x-small)}.form-control--has-help-text .form-control__help-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-help-text.form-control--small .form-control__help-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-help-text.form-control--medium .form-control__help-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-help-text.form-control--large .form-control__help-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--has-error-text .form-control__error-text{display:block;margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text .form-control__error-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text.form-control--small .form-control__error-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-error-text.form-control--medium .form-control__error-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-error-text.form-control--large .form-control__error-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--disabled .form-control__help-text{color:var(--six-input-help-text-color-disabled)}.form-control--disabled .form-control__label{color:var(--six-input-label-color-disabled)}.form-control--invalid:not(.form-control--disabled) .form-control__label{color:var(--six-input-label-color)}:host,.select{display:block}.select__box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--six-font-family);font-weight:var(--six-input-font-weight);font-size:var(--six-input-font-size-medium);letter-spacing:var(--six-input-letter-spacing);background-color:var(--six-input-background-color);border:solid var(--six-border-width) var(--six-input-border-color);vertical-align:middle;transition:var(--six-transition-fast) color, var(--six-transition-fast) border, var(--six-transition-fast) box-shadow;cursor:pointer}.select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select__box--autocomplete{border:none;overflow:initial}.select:not(.select--disabled) .select__box:hover{background-color:var(--six-input-background-color-hover);color:var(--six-input-color-hover);border-bottom-color:var(--six-input-border-color-hover)}.select:not(.select--disabled) .select__box:hover:not(.select__box--line){border-color:var(--six-input-border-color-hover)}.select:not(.select--disabled) .select__box:focus{background-color:var(--six-input-background-color-focus);outline:none;color:var(--six-input-color-focus);border-bottom-color:var(--six-input-border-color-focus);box-shadow:0 1px 0 0 var(--six-input-border-color-focus)}.select:not(.select--disabled) .select__box:focus:not(.select__box--line){border-color:var(--six-input-border-color-focus);box-shadow:var(--six-input-focus-shadow)}.select--disabled .select__box{background-color:var(--six-input-background-color-disabled);color:var(--six-input-color-disabled);cursor:not-allowed;outline:none}.select--disabled .select__box:not(.select__box--line){border-color:var(--six-input-border-color-disabled)}.select--disabled .select__clear{pointer-events:none}.select--invalid:not(.select--disabled):not(.select--focused) .select__box{border-bottom-color:var(--six-input-border-color-danger)}.select--invalid:not(.select--disabled):not(.select--focused) .select__box:not(.input--line){border-color:var(--six-input-border-color-danger)}.display__values{display:flex;flex:1 1 auto;align-items:center;user-select:none;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none}.display__values::-webkit-scrollbar{width:0;height:0}.display__values-values{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.display__values-and-counter{display:flex;overflow:hidden}.select__clear{flex-shrink:0;flex-grow:0;display:inline}.select__icon{flex-shrink:0;flex-grow:0;display:inline;transition:var(--six-transition-medium) transform ease}.select--open .select__icon{transform:rotate(-180deg)}.placeholder{color:var(--six-input-placeholder-color)}.select--disabled .placeholder{color:var(--six-input-placeholder-color-disabled)}.select__hidden-select{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.select__input{position:absolute;top:0;left:0;width:100%;height:100%}.select--small .select__box{border-radius:var(--six-input-border-radius-small);font-size:var(--six-input-font-size-small);min-height:var(--six-height-small)}.select--small .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--small .display__values{margin:0 0 0 var(--six-input-spacing-small)}.select--small .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--small .select__icon{margin-right:var(--six-spacing-x-small)}.select--medium .select__box{border-radius:var(--six-input-border-radius-medium);font-size:var(--six-input-font-size-medium);min-height:var(--six-height-medium)}.select--medium .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--medium .display__values{margin:0 0 0 var(--six-input-spacing-medium)}.select--medium .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--medium .select__icon{margin-right:var(--six-spacing-x-small)}.select--large .select__box{border-radius:var(--six-input-border-radius-large);font-size:var(--six-input-font-size-large);min-height:var(--six-height-large)}.select--large .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--large .display__values{margin:0 0 0 var(--six-input-spacing-large)}.select--large .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--large .select__icon{margin-right:var(--six-spacing-x-small)}.select--pill.select--small .select__box{border-radius:var(--six-height-small)}.select--pill.select--medium .select__box{border-radius:var(--six-height-medium)}.select--pill.select--large .select__box{border-radius:var(--six-height-large)}.select__menu{width:100%}.select__menu--hidden{display:none}six-icon-button::part(base){padding-top:0;padding-bottom:0}.selection-container--border{border-bottom:solid var(--six-border-width) var(--six-menu-divider-color);padding-top:var(--six-spacing-xx-small);padding-bottom:var(--six-spacing-xx-small)}.display-value--hidden{display:none}.overflow-count{color:var(--six-color-web-rock-600);padding-left:var(--six-spacing-x-small)}.overflow-count-hidden{display:none}.separator--hidden{display:none}.select-all{border-top:1px solid var(--six-color-web-rock-300);display:flex;justify-content:end}';const p=b;let x=0;const m=class{constructor(i){e(this,i);this.sixChange=t(this,"six-select-change",7);this.sixFocus=t(this,"six-select-focus",7);this.sixBlur=t(this,"six-select-blur",7);this.inputId=`select-${++x}`;this.labelId=`select-label-${x}`;this.helpTextId=`select-help-text-${x}`;this.errorTextId=`select-error-text-${x}`;this.eventListeners=new n;this.activeItemIndex=-1;this.resizeObserver=new ResizeObserver((()=>this.updateDisplayedValues()));this.handleBlur=()=>{this.hasFocus=false;this.sixBlur.emit()};this.handleFocus=()=>{this.hasFocus=true;this.sixFocus.emit()};this.handleClearClick=async e=>{var t;e.stopPropagation();await this.clearValues();await((t=this.dropdown)===null||t===void 0?void 0:t.hide());this.sixChange.emit({value:this.value,isSelected:true})};this.handleKeyDown=e=>{var t,s,i,o;if(this.virtualScroll||this.autocomplete){return}if(["Control","Escape"].includes(e.key)){return}const l=this.getVisibleItems();if(this.isOpen&&this.multiple&&e.code==="KeyA"&&e.ctrlKey){e.preventDefault();this.selectAll();return}if(e.key==="Tab"){if(this.isOpen){(t=this.dropdown)===null||t===void 0?void 0:t.hide()}return}if(e.key===" "&&!this.multiple){return}if(this.activeItemIndex>=0&&["Enter"," "].includes(e.key)){const t=l.at(this.activeItemIndex);e.preventDefault();t===null||t===void 0?void 0:t.click();return}if(["ArrowDown","ArrowUp","Home","End"].includes(e.key)){if(!this.isOpen){(s=this.dropdown)===null||s===void 0?void 0:s.show()}if(l.length>0){e.preventDefault();if(e.key==="ArrowDown"){this.activeItemIndex++}else if(e.key==="ArrowUp"){this.activeItemIndex--}else if(e.key==="Home"){this.activeItemIndex=0}else if(e.key==="End"){this.activeItemIndex=l.length-1}if(this.activeItemIndex<0)this.activeItemIndex=0;if(this.activeItemIndex>l.length-1)this.activeItemIndex=l.length-1;(i=l.at(this.activeItemIndex))===null||i===void 0?void 0:i.setFocus()}}if(!this.isOpen){e.stopPropagation();e.preventDefault();(o=this.dropdown)===null||o===void 0?void 0:o.show()}};this.handleLabelClick=()=>{var e;(e=this.box)===null||e===void 0?void 0:e.focus()};this.handleMenuSelect=e=>{const t=e.detail.item;if(this.multiple){t.checked=!t.checked}else{this.getItems().forEach((e=>e.checked=false));t.checked=true}this.syncValueFromItems();this.sixChange.emit({value:this.value,isSelected:true})};this.handleMenuShow=e=>{if(this.disabled){e.preventDefault();return}this.activeItemIndex=-1;if(!this.virtualScroll&&this.multiple){const e=this.getItems();e.forEach((e=>e.style.display="unset"));const t=v(u(this.value),e);t.forEach((e=>e.style.display="none"));this.selectionContainerItems=t.map((e=>s("six-menu-item",{key:e.value,checked:true,value:e.value,checkType:this.multiple?"checkbox":"check",onClick:t=>{t.stopPropagation();if(!this.disabled){const s=t.target;const i=s.checked;s.checked=!i;e.checked=!i;this.syncValueFromItems();this.sixChange.emit({value:this.value,isSelected:true})}}},this.getItemLabel(e))))}this.isOpen=true};this.handleMenuHide=()=>{this.isOpen=false;if(this.multiple){this.handleBlur()}};this.handleSlotChange=()=>{this.hasHelpTextSlot=o(this.host,"help-text");this.hasLabelSlot=o(this.host,"label");this.hasErrorTextSlot=o(this.host,"error-text");this.syncItemsFromValue()};this.hasFocus=false;this.hasHelpTextSlot=false;this.hasLabelSlot=false;this.hasErrorTextSlot=false;this.isOpen=false;this.displayedValues=[];this.selectionContainerItems=[];this.multiple=false;this.selectAllButton=false;this.selectAllText=undefined;this.maxTagsVisible=3;this.disabled=false;this.name="";this.placeholder="";this.filterPlaceholder=undefined;this.filterDebounce=undefined;this.size="medium";this.hoist=false;this.value="";this.pill=false;this.helpText="";this.required=false;this.clearable=false;this.label="";this.errorText="";this.errorTextCount=undefined;this.invalid=false;this.line=false;this.filter=false;this.asyncFilter=false;this.autocomplete=false;this.inputDebounce=a;this.options=null;this.virtualScroll=false}handleDisabledChange(){var e;if(this.disabled&&this.isOpen){(e=this.dropdown)===null||e===void 0?void 0:e.hide()}}handleLabelChange(){this.handleSlotChange()}handleMultipleChange(){this.value=d(this.value,this.multiple);this.syncItemsFromValue()}async handleValueChange(){const e=d(this.value,this.multiple);if(!f(this.value,e)){this.value=e}await this.syncItemsFromValue()}connectedCallback(){var e;if(this.virtualScroll&&this.options===null){console.error("Options must be defined when using virtual scrolling")}(e=this.host.shadowRoot)===null||e===void 0?void 0:e.addEventListener("slotchange",this.handleSlotChange);this.eventListeners.forward("six-select-change","change",this.host);this.eventListeners.forward("six-select-blur","blur",this.host);this.eventListeners.forward("six-select-focus","focus",this.host);if(this.displayValuesContainer){this.resizeObserver.observe(this.displayValuesContainer)}}componentWillLoad(){this.value=d(this.value,this.multiple);this.handleSlotChange()}componentDidLoad(){if(this.displayValuesContainer){this.resizeObserver.observe(this.displayValuesContainer)}requestAnimationFrame((()=>this.syncItemsFromValue()));if(this.autocomplete&&this.autocompleteInput!=null){const e=this.autocompleteInput;this.eventListeners.add(e,"six-input-input",c((t=>{this.value=e.value;this.sixChange.emit({value:this.value,isSelected:false});t.stopPropagation()}),this.inputDebounce));e.value=Array.isArray(this.value)?this.value.join(","):this.value}}disconnectedCallback(){var e;this.resizeObserver.disconnect();(e=this.host.shadowRoot)===null||e===void 0?void 0:e.removeEventListener("slotchange",this.handleSlotChange);this.eventListeners.removeAll()}async setFocus(e){var t;this.hasFocus=true;(t=this.box)===null||t===void 0?void 0:t.focus(e)}getItemLabel(e){var t,s;const i=(t=e.shadowRoot)===null||t===void 0?void 0:t.querySelector("slot:not([name])");if(i!=null){return l(i)}else{return(s=e.textContent)!==null&&s!==void 0?s:""}}getItems(){if(this.options!==null&&this.menu!=null&&this.menu.shadowRoot!=null){return[...this.menu.shadowRoot.querySelectorAll("six-menu-item")]}return[...this.host.querySelectorAll("six-menu-item")]}getVisibleItems(){const e=this.getSelectionContainerItems();const t=this.getItems();return[...e,...t].filter((e=>e.style.display!=="none"))}getSelectionContainerItems(){var e;return[...((e=this.host.shadowRoot)===null||e===void 0?void 0:e.querySelectorAll("six-menu-item"))||[]]}async clearValues(){this.value=this.multiple?[]:"";this.selectionContainerItems=[];await this.syncItemsFromValue()}selectAll(){const e=this.getVisibleItems();const t=this.hasDeselectedOptions();e.filter((e=>!e.disabled)).forEach((e=>e.checked=t));const s=e.filter((e=>e.checked)).map((e=>e.value));this.value=t?s:[];this.sixChange.emit({value:this.value,isSelected:true})}async syncItemsFromValue(){const e=this.getSelectionContainerItems();const t=this.getItems();const s=d(this.value,this.multiple);e.forEach((e=>{e.checkType=this.multiple?"checkbox":"check";e.checked=s.includes(e.value)}));t.forEach((e=>{e.checkType=this.multiple?"checkbox":"check";e.checked=s.includes(e.value)}));const i=v(u(this.value),t);this.displayedValues=i.map((e=>this.getItemLabel(e)));if(this.autocomplete&&this.autocompleteInput!=null){this.autocompleteInput.value=Array.isArray(this.value)?this.value.join(","):this.value}requestAnimationFrame((()=>{this.updateDisplayedValues()}))}syncValueFromItems(){const e=this.getItems();const t=e.filter((e=>e.checked)).map((e=>e.value));if(this.multiple){this.value=t}else{this.value=t.length>0?t[0]:""}}updateDisplayedValues(){var e,t;const s=[...(t=(e=this.displayValuesContainer)===null||e===void 0?void 0:e.querySelectorAll(".display-value"))!==null&&t!==void 0?t:[]];if(this.displayValuesContainer==null||s.length===0||this.overflowCount==null){return}s.forEach((e=>{z(e);k(e)}));const i=s[s.length-1].querySelector(".separator");if(i==null)return;let o=_(this.displayValuesContainer)+_(i);let{fitCount:l,overflowCount:r}=g(s,o);if(r===0){T(this.overflowCount);y(s,l)}else{S(this.overflowCount,r+1);A(this.overflowCount);o=o-_(this.overflowCount);({fitCount:l,overflowCount:r}=g(s,o));S(this.overflowCount,r);y(s,l)}}render(){var e;const t=this.hasSelection();const i=this.getItems();const o=i.length>0;const l=this.hasDeselectedOptions();let n=false;let a=o;if(this.clearable&&t){n=true;a=false}return s(r,{key:"995bb87e0b65e09cc2aea9b9309e03388e9a3013",inputId:this.inputId,label:this.label,labelId:this.labelId,hasLabelSlot:this.hasLabelSlot,helpTextId:this.helpTextId,helpText:this.helpText,hasHelpTextSlot:this.hasHelpTextSlot,errorTextId:this.errorTextId,errorText:this.errorText,errorTextCount:this.errorTextCount,hasErrorTextSlot:this.hasErrorTextSlot,size:this.size,onLabelClick:this.handleLabelClick,disabled:this.disabled,required:this.required,displayError:this.invalid},s("six-dropdown",{key:"14d641ae28f41c426b51b89d7a4dea1c842c6341",part:"base",ref:e=>this.dropdown=e,hoist:this.hoist,matchTriggerWidth:true,closeOnSelect:!this.multiple,containingElement:this.host,disableHideOnEnterAndSpace:this.autocomplete,class:{select:true,"select--open":this.isOpen,"select--empty":((e=this.value)===null||e===void 0?void 0:e.length)===0,"select--focused":this.hasFocus,"select--clearable":this.clearable,"select--disabled":this.disabled,"select--multiple":this.multiple,"select--has-tags":this.multiple&&t,"select--placeholder-visible":this.displayedValues.length===0,"select--small":this.size==="small","select--medium":this.size==="medium","select--large":this.size==="large","select--pill":this.pill,"select--invalid":this.invalid},onKeyDown:this.handleKeyDown,"onSix-dropdown-show":this.handleMenuShow,"onSix-dropdown-hide":this.handleMenuHide,filterPlaceholder:this.filterPlaceholder,filterDebounce:this.filterDebounce,filter:this.filter,asyncFilter:this.asyncFilter,virtualScroll:this.virtualScroll},s("div",{key:"ea452a8196bc7ffc8fbc3ec98298b13a2bdaa0b2",slot:"trigger",ref:e=>this.box=e,id:this.inputId,class:{select__box:true,"select__box--line":this.line,"select__box--autocomplete":this.autocomplete},role:"combobox","aria-labelledby":this.labelId,"aria-describedby":this.helpTextId,"aria-haspopup":"true","aria-expanded":this.isOpen?"true":"false",tabIndex:this.disabled?-1:0,onBlur:this.handleBlur,onFocus:this.handleFocus},s("div",{key:"7b6e70973681445a4de6e2c0e1a31aa3b512cd68",class:"display__values",ref:e=>this.displayValuesContainer=e},this.displayedValues.length>0?s("span",{class:"display__values-and-counter"},s("span",{class:"display__values-values"},this.displayedValues.map((e=>s("span",{key:e,class:"display-value"},e,s("span",{class:{separator:true}},", "))))),s("span",{ref:e=>this.overflowCount=e,class:"overflow-count"},"+10")):s("span",{class:"placeholder"},this.placeholder)),n&&s("six-icon-button",{exportparts:"base:clear-button",class:"select__clear",name:"clear",size:"small",onClick:this.handleClearClick,tabindex:"-1"}),a&&s("span",{part:"icon",class:"select__icon"},s("six-icon",{size:"medium"},"expand_more")),s("six-input",{key:"34a321d5de3e51132f2dfb364979c1c55995b8c2",ref:e=>this.autocompleteInput=e,class:{select__input:true,"select__hidden-select":!this.autocomplete},"aria-hidden":"true",required:this.required,onFocus:this.handleFocus,clearable:this.clearable,placeholder:this.placeholder,pill:this.pill,disabled:this.disabled,size:this.size,tabIndex:-1})),s("div",{key:"b6a75066f44bcfa23646f09f12858741eb329935",class:{"selection-container":true,"selection-container--border":this.selectionContainerItems.length>0&&i.length!==this.selectionContainerItems.length}},this.selectionContainerItems),s("six-menu",{key:"273440b4570424484c8eb4bc41475b2fdd769bb9",ref:e=>this.menu=e,part:"menu",class:{select__menu:true,"select__menu--hidden":!o},"onSix-menu-item-selected":this.handleMenuSelect,items:this.options,virtualScroll:this.virtualScroll,"remove-box-shadow":true,"disable-keyboard-handling":true},s("slot",{key:"6d3b8c080879dfc652816ff96f39d0821a676708",onSlotchange:this.handleSlotChange})),this.multiple&&this.selectAllButton&&s("div",{class:"select-all",slot:"dropdown-footer"},s("six-button",{type:"link",onClick:()=>this.selectAll()},this.selectAllText==null?D(l):this.selectAllText))))}hasSelection(){return this.multiple?this.value.length>0:this.value!==""}hasDeselectedOptions(){return this.getVisibleItems().some((e=>!e.disabled&&!e.checked))}get host(){return i(this)}static get watchers(){return{disabled:["handleDisabledChange"],helpText:["handleLabelChange"],errorText:["handleLabelChange"],label:["handleLabelChange"],multiple:["handleMultipleChange"],value:["handleValueChange"]}}};function v(e,t){return t.filter((t=>e.includes(t.value)))}function _(e){return e.getBoundingClientRect().width}function g(e,t){let s=0;let i=0;for(let o=0;o<e.length;o++){const l=e[o];const r=_(l);if(o===0&&r>t){i=1;break}s+=r;if(s>t){break}else{i+=1}}const o=e.length-i;return{fitCount:i,overflowCount:o}}function y(e,t){if(e.length>0){e.slice(0,t).forEach(((e,t,s)=>{z(e);const i=t===s.length-1;if(i){w(e)}else{k(e)}}));e.slice(t).forEach((e=>{C(e);k(e)}))}}function w(e){var t;(t=e.querySelector(".separator"))===null||t===void 0?void 0:t.classList.add("separator--hidden")}function k(e){var t;(t=e.querySelector(".separator"))===null||t===void 0?void 0:t.classList.remove("separator--hidden")}function z(e){e.classList.remove("display-value--hidden")}function C(e){e.classList.add("display-value--hidden")}function S(e,t){e.textContent=`+${t}`}function A(e){e.classList.remove("overflow-count-hidden")}function T(e){e.classList.add("overflow-count-hidden")}function D(e){const t=h();switch(t){case"de":return e?"Alle auswählen":"Alle abwählen";case"fr":return e?"Tout sélectionner":"Tout désélectionner";case"it":return e?"Seleziona tutto":"Deseleziona tutto";case"en":return e?"Select all":"Deselect all";case"es":return e?"Seleccionar todo":"Deseleccionar todo"}}m.style=p;export{m as six_select};
|
|
2
|
+
//# sourceMappingURL=p-785810fa.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["convertToValidValue","value","multiple","Array","isArray","filter","element","length","convertToValidArrayValue","valueEquals","a","b","every","index","sixSelectCss","SixSelectStyle0","id","SixSelect","this","inputId","labelId","helpTextId","errorTextId","eventListeners","EventListeners","activeItemIndex","resizeObserver","ResizeObserver","updateDisplayedValues","handleBlur","hasFocus","sixBlur","emit","handleFocus","sixFocus","handleClearClick","async","event","stopPropagation","clearValues","_a","dropdown","hide","sixChange","isSelected","handleKeyDown","virtualScroll","autocomplete","includes","key","items","getVisibleItems","isOpen","code","ctrlKey","preventDefault","selectAll","activeItem","at","click","_b","show","_c","setFocus","_d","handleLabelClick","box","focus","handleMenuSelect","currentItem","detail","item","checked","getItems","forEach","i","syncValueFromItems","handleMenuShow","disabled","mainItems","style","display","checkedItems","getCheckedItems","selectionContainerItems","map","h","checkType","onClick","menuItem","target","isChecked","getItemLabel","handleMenuHide","handleSlotChange","hasHelpTextSlot","hasSlot","host","hasLabelSlot","hasErrorTextSlot","syncItemsFromValue","DEFAULT_DEBOUNCE_FAST","handleDisabledChange","handleLabelChange","handleMultipleChange","handleValueChange","newValue","connectedCallback","options","console","error","shadowRoot","addEventListener","forward","displayValuesContainer","observe","componentWillLoad","componentDidLoad","requestAnimationFrame","autocompleteInput","add","debounce","inputDebounce","join","disconnectedCallback","disconnect","removeEventListener","removeAll","slot","querySelector","getTextContent","textContent","menu","querySelectorAll","getSelectionContainerItems","visibleItems","hasDeselectedOptions","option","displayedValues","checkedValues","displayValueOptions","overflowCount","d","showDisplayValue","showSeparator","separator","availableWidth","getWidth","fitCount","computeFitCount","hideOverflowCount","showFittingValues","setOverflowCount","showOverflowCount","render","hasSelection","hasMenuItems","showClear","showExpand","clearable","FormControl","label","helpText","errorText","errorTextCount","size","onLabelClick","required","displayError","invalid","part","ref","el","hoist","matchTriggerWidth","closeOnSelect","containingElement","disableHideOnEnterAndSpace","class","select","pill","onKeyDown","filterPlaceholder","filterDebounce","asyncFilter","select__box","line","role","tabIndex","onBlur","onFocus","placeholder","exportparts","name","tabindex","select__input","select__menu","onSlotchange","selectAllButton","type","selectAllText","selectAllDefaultText","some","opt","getBoundingClientRect","width","accumulatedWidth","displayOption","slice","displayValue","list","isLast","hideSeparator","hideDisplayValue","displayValueOption","classList","remove","count","lang","getLanguage"],"sources":["src/components/six-select/util.ts","src/components/six-select/six-select.scss?tag=six-select&encapsulation=shadow","src/components/six-select/six-select.tsx"],"sourcesContent":["export interface MenuItem {\n value: string;\n}\n\nexport function getValue(value: unknown, multiple: boolean, menuItems: MenuItem[]): string | string[] {\n if (multiple) {\n if (Array.isArray(value)) {\n return getSelectedValues(value, menuItems);\n } else {\n return getSelectedValuesFromString(value, menuItems);\n }\n }\n\n return getSelectedMenuItem(value, menuItems)?.value ?? '';\n}\n\nexport function isValidValue(value: unknown, multiple: boolean, menuItems: MenuItem[]): boolean {\n if (value === '') {\n return true;\n }\n\n if (multiple) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return true;\n }\n return getSelectedValues(value, menuItems).length === value.length;\n }\n return getSelectedValuesFromString(value, menuItems).length > 0;\n }\n\n return getSelectedMenuItem(value, menuItems) != null;\n}\n\nexport function convertToValidValue(value: unknown, multiple: boolean): string | string[] {\n if (multiple) {\n if (Array.isArray(value)) {\n return value.filter((element) => typeof element === 'string');\n } else if (typeof value === 'string' && value.length > 0) {\n return [value];\n } else {\n return [];\n }\n } else {\n if (typeof value === 'string') {\n return value;\n } else {\n return '';\n }\n }\n}\n\nexport function convertToValidArrayValue(value: unknown): string[] {\n return convertToValidValue(value, true) as string[];\n}\n\nexport function valueEquals(a: string | string[], b: string | string[]): boolean {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((element, index) => element === b[index]);\n } else if (typeof a === 'string' && typeof b === 'string') {\n return a === b;\n }\n return false;\n}\n\nexport function isValueEmpty(value: string | string[]): boolean {\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n return value === '';\n}\n\nfunction getSelectedValues(values: unknown[], menuItems: MenuItem[]): string[] {\n return menuItems.filter((menuItem) => values.includes(menuItem.value)).map((menuItem) => menuItem.value);\n}\n\nfunction getSelectedValuesFromString(value: unknown, menuItems: MenuItem[]): string[] {\n return menuItems.filter((menuItem) => value === menuItem.value).map((menuItem) => menuItem.value);\n}\n\nfunction getSelectedMenuItem(value: unknown, menuItems: MenuItem[]): MenuItem | undefined {\n return menuItems.find((item) => value === item.value);\n}\n","@import 'src/global/component';\n@import '../../functional-components/form-control/form-control';\n@import 'src/global/mixins/hidden';\n@import 'src/global/mixins/hide-scrollbar';\n\n:host,\n.select {\n display: block;\n}\n\n.select__box {\n display: inline-flex;\n align-items: center;\n justify-content: start;\n position: relative;\n width: 100%;\n font-family: var(--six-font-family);\n font-weight: var(--six-input-font-weight);\n font-size: var(--six-input-font-size-medium);\n letter-spacing: var(--six-input-letter-spacing);\n background-color: var(--six-input-background-color);\n border: solid var(--six-border-width) var(--six-input-border-color);\n vertical-align: middle;\n transition: var(--six-transition-fast) color, var(--six-transition-fast) border, var(--six-transition-fast) box-shadow;\n cursor: pointer;\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n\n &--autocomplete {\n border: none;\n overflow: initial;\n }\n}\n\n.select:not(.select--disabled) .select__box:hover {\n background-color: var(--six-input-background-color-hover);\n color: var(--six-input-color-hover);\n\n border-bottom-color: var(--six-input-border-color-hover);\n\n &:not(.select__box--line) {\n border-color: var(--six-input-border-color-hover);\n }\n}\n\n.select:not(.select--disabled) .select__box:focus {\n background-color: var(--six-input-background-color-focus);\n outline: none;\n color: var(--six-input-color-focus);\n\n border-bottom-color: var(--six-input-border-color-focus);\n box-shadow: 0 1px 0 0 var(--six-input-border-color-focus);\n\n &:not(.select__box--line) {\n border-color: var(--six-input-border-color-focus);\n box-shadow: var(--six-input-focus-shadow);\n }\n}\n\n.select--disabled {\n .select__box {\n background-color: var(--six-input-background-color-disabled);\n color: var(--six-input-color-disabled);\n cursor: not-allowed;\n outline: none;\n\n &:not(.select__box--line) {\n border-color: var(--six-input-border-color-disabled);\n }\n }\n\n .select__clear {\n pointer-events: none;\n }\n}\n\n.select--invalid:not(.select--disabled):not(.select--focused) {\n .select__box {\n border-bottom-color: var(--six-input-border-color-danger);\n\n &:not(.input--line) {\n border-color: var(--six-input-border-color-danger);\n }\n }\n}\n\n.display__values {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n user-select: none;\n overflow: hidden;\n @include hide-scrollbar;\n}\n\n.display__values-values {\n flex: 0 1 auto;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.display__values-and-counter {\n display: flex;\n overflow: hidden;\n}\n\n.select__clear {\n flex-shrink: 0;\n flex-grow: 0;\n display: inline;\n}\n\n.select__icon {\n flex-shrink: 0;\n flex-grow: 0;\n display: inline;\n transition: var(--six-transition-medium) transform ease;\n}\n\n.select--open .select__icon {\n transform: rotate(-180deg);\n}\n\n// Placeholder\n.placeholder {\n color: var(--six-input-placeholder-color);\n}\n\n.select--disabled .placeholder {\n color: var(--six-input-placeholder-color-disabled);\n}\n\n// Hidden input (for form control validation to show)\n.select__hidden-select {\n @include visually-hidden();\n}\n\n.select__input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Size modifiers\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.select--small {\n .select__box {\n border-radius: var(--six-input-border-radius-small);\n font-size: var(--six-input-font-size-small);\n min-height: var(--six-height-small);\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n }\n\n .display__values {\n margin: 0 0 0 var(--six-input-spacing-small);\n }\n\n .select__clear {\n margin-right: var(--six-spacing-xxx-small);\n }\n\n .select__icon {\n margin-right: var(--six-spacing-x-small);\n }\n}\n\n.select--medium {\n .select__box {\n border-radius: var(--six-input-border-radius-medium);\n font-size: var(--six-input-font-size-medium);\n min-height: var(--six-height-medium);\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n }\n\n .display__values {\n margin: 0 0 0 var(--six-input-spacing-medium);\n }\n\n .select__clear {\n margin-right: var(--six-spacing-xxx-small);\n }\n\n .select__icon {\n margin-right: var(--six-spacing-x-small);\n }\n}\n\n.select--large {\n .select__box {\n border-radius: var(--six-input-border-radius-large);\n font-size: var(--six-input-font-size-large);\n min-height: var(--six-height-large);\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n }\n\n .display__values {\n margin: 0 0 0 var(--six-input-spacing-large);\n }\n\n .select__clear {\n margin-right: var(--six-spacing-xxx-small);\n }\n\n .select__icon {\n margin-right: var(--six-spacing-x-small);\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Pill modifier\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.select--pill {\n &.select--small .select__box {\n border-radius: var(--six-height-small);\n }\n\n &.select--medium .select__box {\n border-radius: var(--six-height-medium);\n }\n\n &.select--large .select__box {\n border-radius: var(--six-height-large);\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Menu\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n.select {\n &__menu {\n width: 100%;\n\n &--hidden {\n // hide the menu panel if there are no menu items\n display: none;\n }\n }\n}\n\n// fixes problem where six-select height changes when size=\"small\" and clearing button is visible\nsix-icon-button::part(base) {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.selection-container--border {\n border-bottom: solid var(--six-border-width) var(--six-menu-divider-color);\n padding-top: var(--six-spacing-xx-small);\n padding-bottom: var(--six-spacing-xx-small);\n}\n\n.display-value--hidden {\n display: none;\n}\n\n.overflow-count {\n color: var(--six-color-web-rock-600);\n padding-left: var(--six-spacing-x-small);\n}\n\n.overflow-count-hidden {\n display: none;\n}\n\n.separator--hidden {\n display: none;\n}\n\n.select-all {\n border-top: 1px solid var(--six-color-web-rock-300);\n display: flex;\n justify-content: end;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getTextContent, hasSlot } from '../../utils/slot';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { EmptyPayload } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { SixMenuItemData } from '../six-menu/six-menu';\nimport { getLanguage } from '../../utils/error-messages';\nimport { convertToValidArrayValue, convertToValidValue, valueEquals } from './util';\n\nexport interface SixSelectChangePayload {\n value: string | string[];\n isSelected: boolean;\n}\n\nlet id = 0;\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 - The select's options in the form of menu items.\n * @slot label - The select's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes how to use the select.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n *\n * @part base - The component's base wrapper.\n * @part clear-button - The input's clear button, exported from six-input.\n * @part form-control - The form control that wraps the label, input, and help text.\n * @part help-text - The select's help text.\n * @part icon - The select's icon.\n * @part label - The select's label.\n * @part menu - The select menu, a six-menu element.\n * @part tag - The multiselect option, a six-tag element.\n * @part tags - The container in which multiselect options are rendered.\n */\n\n@Component({\n tag: 'six-select',\n styleUrl: 'six-select.scss',\n shadow: true,\n})\nexport class SixSelect {\n private box?: HTMLElement;\n private menu?: HTMLElement;\n private dropdown?: HTMLSixDropdownElement;\n private displayValuesContainer?: HTMLElement;\n private overflowCount?: HTMLElement;\n private autocompleteInput?: HTMLSixInputElement;\n private inputId = `select-${++id}`;\n private labelId = `select-label-${id}`;\n private helpTextId = `select-help-text-${id}`;\n private errorTextId = `select-error-text-${id}`;\n private eventListeners = new EventListeners();\n private activeItemIndex = -1;\n private resizeObserver = new ResizeObserver(() => this.updateDisplayedValues());\n\n @Element() host!: HTMLSixSelectElement;\n\n @State() hasFocus = false;\n @State() hasHelpTextSlot = false;\n @State() hasLabelSlot = false;\n @State() hasErrorTextSlot = false;\n @State() isOpen = false;\n @State() displayedValues: string[] = [];\n\n /** Menu items shown in the selection container. */\n @State() selectionContainerItems: HTMLSixMenuItemElement[] = [];\n\n /** Set to true to enable multiselect. */\n @Prop() multiple = false;\n\n /** Enables the select all button. */\n @Prop() selectAllButton = false;\n\n /**\n * Custom text for the \"select all\" button. Defaults to \"Select all\" and equivalents in supported languages.\n */\n @Prop() selectAllText?: string;\n\n /**\n * The maximum number of tags to show when `multiple` is true. After the maximum, \"+n\" will be shown to indicate the\n * number of additional items that are selected. Set to -1 to remove the limit.\n *\n * @deprecated: This property is ignored. The component now displays as many items as possible and computes the \"+n\" dynamically.\n */\n @Prop() maxTagsVisible = 3;\n\n /** Set to true to disable the select control. */\n @Prop() disabled = false;\n\n /** The select's name. */\n @Prop() name = '';\n\n /** The select's placeholder text. */\n @Prop() placeholder = '';\n\n /** The filter's placeholder text. */\n @Prop() filterPlaceholder?: string;\n\n /** The debounce for the filter callbacks. */\n @Prop() filterDebounce?: number;\n\n /** The select's size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n /** The value of the control. This will be a string or an array depending on `multiple`. */\n @Prop({ mutable: true }) value: string | string[] = '';\n\n /** Set to true to draw a pill-style select with rounded edges. */\n @Prop() pill = false;\n\n /** The select's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /** Set to true to add a clear button when the select is populated. */\n @Prop() clearable = false;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** Set to render as line */\n @Prop() line = false;\n\n /** Set to true to allow filtering for entries in the dropdown */\n @Prop() filter = false;\n\n /**\n * Set to true to allow async filtering.\n * When you enter something in the search field the component will only emit an event but not filter any elements itself.\n * You can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself\n */\n @Prop() asyncFilter = false;\n\n /**\n * Set to true to turn the six-select into an autocomplete.\n */\n @Prop() autocomplete = false;\n\n /** The debounce for when the input changes for autocompletes should be emitted */\n @Prop() inputDebounce = DEFAULT_DEBOUNCE_FAST;\n\n /** Set the options to be shown in the dropdown (alternative to setting the elements via html) */\n @Prop() options: SixMenuItemData[] | null = null;\n\n /** Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\n * are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot. */\n @Prop() virtualScroll = false;\n\n @Watch('disabled')\n handleDisabledChange() {\n if (this.disabled && this.isOpen) {\n this.dropdown?.hide();\n }\n }\n\n @Watch('helpText')\n @Watch('errorText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n @Watch('multiple')\n handleMultipleChange() {\n this.value = convertToValidValue(this.value, this.multiple);\n this.syncItemsFromValue();\n }\n\n @Watch('value')\n async handleValueChange() {\n const newValue = convertToValidValue(this.value, this.multiple);\n if (!valueEquals(this.value, newValue)) {\n this.value = newValue;\n }\n await this.syncItemsFromValue();\n }\n\n /** Emitted when the control's value changes. */\n @Event({ eventName: 'six-select-change' }) sixChange!: EventEmitter<SixSelectChangePayload>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-select-focus' }) sixFocus!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control loses focus. */\n @Event({ eventName: 'six-select-blur' }) sixBlur!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n if (this.virtualScroll && this.options === null) {\n console.error('Options must be defined when using virtual scrolling');\n }\n\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.forward('six-select-change', 'change', this.host);\n this.eventListeners.forward('six-select-blur', 'blur', this.host);\n this.eventListeners.forward('six-select-focus', 'focus', this.host);\n if (this.displayValuesContainer) {\n this.resizeObserver.observe(this.displayValuesContainer);\n }\n }\n\n componentWillLoad() {\n this.value = convertToValidValue(this.value, this.multiple);\n this.handleSlotChange();\n }\n\n componentDidLoad() {\n if (this.displayValuesContainer) {\n this.resizeObserver.observe(this.displayValuesContainer);\n }\n\n // We need to do an initial sync after the component has rendered, so this will suppress the re-render warning\n requestAnimationFrame(() => this.syncItemsFromValue());\n\n if (this.autocomplete && this.autocompleteInput != null) {\n const autocompleteInput = this.autocompleteInput;\n this.eventListeners.add(\n autocompleteInput,\n 'six-input-input',\n debounce((event) => {\n this.value = autocompleteInput.value;\n this.sixChange.emit({ value: this.value, isSelected: false });\n event.stopPropagation();\n }, this.inputDebounce)\n );\n autocompleteInput.value = Array.isArray(this.value) ? this.value.join(',') : this.value;\n }\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.removeAll();\n }\n\n /** Sets focus on the select. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.hasFocus = true;\n this.box?.focus(options);\n }\n\n private getItemLabel(item: HTMLSixMenuItemElement): string {\n const slot = item.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n if (slot != null) {\n return getTextContent(slot);\n } else {\n // bugfix/COMSLI-203-six-select-value-is-not-updated-if-the-slot-is-changed\n return item.textContent ?? '';\n }\n }\n\n private getItems(): HTMLSixMenuItemElement[] {\n if (this.options !== null && this.menu != null && this.menu.shadowRoot != null) {\n return [...this.menu.shadowRoot.querySelectorAll('six-menu-item')];\n }\n\n return [...this.host.querySelectorAll('six-menu-item')];\n }\n\n private getVisibleItems(): HTMLSixMenuItemElement[] {\n const selectionContainerItems = this.getSelectionContainerItems();\n const mainItems = this.getItems();\n return [...selectionContainerItems, ...mainItems].filter((i) => i.style.display !== 'none');\n }\n\n private getSelectionContainerItems() {\n return [...(this.host.shadowRoot?.querySelectorAll('six-menu-item') || [])];\n }\n\n private handleBlur = () => {\n this.hasFocus = false;\n this.sixBlur.emit();\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n this.sixFocus.emit();\n };\n\n private handleClearClick = async (event: MouseEvent) => {\n event.stopPropagation();\n await this.clearValues();\n await this.dropdown?.hide();\n this.sixChange.emit({ value: this.value, isSelected: true });\n };\n\n private async clearValues() {\n this.value = this.multiple ? [] : '';\n this.selectionContainerItems = [];\n await this.syncItemsFromValue();\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.virtualScroll || this.autocomplete) {\n return;\n }\n\n if (['Control', 'Escape'].includes(event.key)) {\n return;\n }\n\n const items = this.getVisibleItems();\n\n // Ctrl-A selects all items\n if (this.isOpen && this.multiple && event.code === 'KeyA' && event.ctrlKey) {\n event.preventDefault();\n this.selectAll();\n return;\n }\n\n // Tabbing out of the control closes it\n if (event.key === 'Tab') {\n if (this.isOpen) {\n this.dropdown?.hide();\n }\n return;\n }\n\n if (event.key === ' ' && !this.multiple) {\n return;\n }\n\n // Enter and Space selects the active item\n if (this.activeItemIndex >= 0 && ['Enter', ' '].includes(event.key)) {\n const activeItem = items.at(this.activeItemIndex);\n event.preventDefault();\n activeItem?.click();\n return;\n }\n\n // Move the selection when pressing up or down\n if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {\n // Show the menu if it's not already open\n if (!this.isOpen) {\n this.dropdown?.show();\n }\n\n if (items.length > 0) {\n event.preventDefault();\n\n if (event.key === 'ArrowDown') {\n this.activeItemIndex++;\n } else if (event.key === 'ArrowUp') {\n this.activeItemIndex--;\n } else if (event.key === 'Home') {\n this.activeItemIndex = 0;\n } else if (event.key === 'End') {\n this.activeItemIndex = items.length - 1;\n }\n\n if (this.activeItemIndex < 0) this.activeItemIndex = 0;\n if (this.activeItemIndex > items.length - 1) this.activeItemIndex = items.length - 1;\n\n items.at(this.activeItemIndex)?.setFocus();\n }\n }\n\n // All other keys open the menu\n if (!this.isOpen) {\n event.stopPropagation();\n event.preventDefault();\n this.dropdown?.show();\n }\n };\n\n private selectAll() {\n const visibleItems = this.getVisibleItems();\n const hasDeselectedOptions = this.hasDeselectedOptions();\n visibleItems.filter((option) => !option.disabled).forEach((option) => (option.checked = hasDeselectedOptions));\n const checkedItems = visibleItems.filter((option) => option.checked).map((option) => option.value);\n this.value = hasDeselectedOptions ? checkedItems : [];\n this.sixChange.emit({ value: this.value, isSelected: true });\n }\n\n private handleLabelClick = () => {\n this.box?.focus();\n };\n\n private handleMenuSelect = (event: CustomEvent) => {\n const currentItem = event.detail.item as HTMLSixMenuItemElement;\n if (this.multiple) {\n currentItem.checked = !currentItem.checked;\n } else {\n this.getItems().forEach((i) => (i.checked = false));\n currentItem.checked = true;\n }\n this.syncValueFromItems();\n this.sixChange.emit({ value: this.value, isSelected: true });\n };\n\n private handleMenuShow = (event: CustomEvent) => {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n this.activeItemIndex = -1;\n\n if (!this.virtualScroll && this.multiple) {\n // reset display style of main items\n const mainItems = this.getItems();\n mainItems.forEach((item) => (item.style.display = 'unset'));\n\n // show selected menu items in the selection container and hide them in the main container\n const checkedItems = getCheckedItems(convertToValidArrayValue(this.value), mainItems);\n checkedItems.forEach((i) => (i.style.display = 'none'));\n this.selectionContainerItems = checkedItems.map((item) => {\n return (\n <six-menu-item\n key={item.value} // key makes sure the node is not re-used: https://stenciljs.com/docs/templating-jsx#conditionals\n checked={true}\n value={item.value}\n checkType={this.multiple ? 'checkbox' : 'check'}\n onClick={(event) => {\n event.stopPropagation();\n if (!this.disabled) {\n const menuItem = event.target as HTMLSixMenuItemElement;\n const isChecked = menuItem.checked;\n menuItem.checked = !isChecked;\n item.checked = !isChecked;\n this.syncValueFromItems();\n this.sixChange.emit({ value: this.value, isSelected: true });\n }\n }}\n >\n {this.getItemLabel(item)}\n </six-menu-item>\n );\n });\n }\n\n this.isOpen = true;\n };\n\n private handleMenuHide = () => {\n this.isOpen = false;\n if (this.multiple) {\n this.handleBlur();\n }\n };\n\n private handleSlotChange = () => {\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.hasErrorTextSlot = hasSlot(this.host, 'error-text');\n this.syncItemsFromValue();\n };\n\n /**\n * Sets the checked state of menu items and renders the displayed values.\n */\n private async syncItemsFromValue() {\n const selectionContainerItems = this.getSelectionContainerItems();\n const mainItems = this.getItems();\n const value = convertToValidValue(this.value, this.multiple);\n\n selectionContainerItems.forEach((item) => {\n item.checkType = this.multiple ? 'checkbox' : 'check';\n item.checked = value.includes(item.value);\n });\n mainItems.forEach((item) => {\n item.checkType = this.multiple ? 'checkbox' : 'check';\n item.checked = value.includes(item.value);\n });\n\n const checkedItems = getCheckedItems(convertToValidArrayValue(this.value), mainItems);\n this.displayedValues = checkedItems.map((i) => this.getItemLabel(i));\n\n if (this.autocomplete && this.autocompleteInput != null) {\n this.autocompleteInput.value = Array.isArray(this.value) ? this.value.join(',') : this.value;\n }\n\n requestAnimationFrame(() => {\n this.updateDisplayedValues();\n });\n }\n\n private syncValueFromItems() {\n const items = this.getItems();\n const checkedValues = items.filter((item) => item.checked).map((item) => item.value);\n if (this.multiple) {\n this.value = checkedValues;\n } else {\n this.value = checkedValues.length > 0 ? checkedValues[0] : '';\n }\n }\n\n private updateDisplayedValues() {\n const displayValueOptions = [...(this.displayValuesContainer?.querySelectorAll('.display-value') ?? [])];\n if (this.displayValuesContainer == null || displayValueOptions.length === 0 || this.overflowCount == null) {\n return;\n }\n\n // Show all options and separators to properly measure all widths.\n displayValueOptions.forEach((d) => {\n showDisplayValue(d);\n showSeparator(d);\n });\n\n // Measure available width. The last separator is added to the available width, because it will be hidden later on.\n const separator = displayValueOptions[displayValueOptions.length - 1].querySelector('.separator');\n if (separator == null) return;\n let availableWidth = getWidth(this.displayValuesContainer) + getWidth(separator);\n\n // Compute how many display value elements fit in the available width\n let { fitCount, overflowCount } = computeFitCount(displayValueOptions, availableWidth);\n\n if (overflowCount === 0) {\n // All items fit, hide overflow count and show all values.\n hideOverflowCount(this.overflowCount);\n showFittingValues(displayValueOptions, fitCount);\n } else {\n // Not all items fit in the available width. Recompute the available width with the overflow-count visible.\n\n // Increment overflow count by one to make sure the elements fit, even if the overflow count increases to the\n // next higher power of ten, e.g. from 9 to 10 or 99 to 100.\n setOverflowCount(this.overflowCount, overflowCount + 1);\n showOverflowCount(this.overflowCount);\n\n // Subtract the overflow count from the available width\n availableWidth = availableWidth - getWidth(this.overflowCount);\n\n // Compute how many display value elements fit in the new available width\n ({ fitCount, overflowCount } = computeFitCount(displayValueOptions, availableWidth));\n\n // Show overflow count and items that fit.\n setOverflowCount(this.overflowCount, overflowCount);\n showFittingValues(displayValueOptions, fitCount);\n }\n }\n\n render() {\n const hasSelection = this.hasSelection();\n const items = this.getItems();\n const hasMenuItems = items.length > 0;\n const hasDeselectedOptions = this.hasDeselectedOptions();\n let showClear = false;\n let showExpand = hasMenuItems;\n if (this.clearable && hasSelection) {\n showClear = true;\n showExpand = false;\n }\n\n return (\n <FormControl\n inputId={this.inputId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={this.hasLabelSlot}\n helpTextId={this.helpTextId}\n helpText={this.helpText}\n hasHelpTextSlot={this.hasHelpTextSlot}\n errorTextId={this.errorTextId}\n errorText={this.errorText}\n errorTextCount={this.errorTextCount}\n hasErrorTextSlot={this.hasErrorTextSlot}\n size={this.size}\n onLabelClick={this.handleLabelClick}\n disabled={this.disabled}\n required={this.required}\n displayError={this.invalid}\n >\n <six-dropdown\n part=\"base\"\n ref={(el) => (this.dropdown = el)}\n hoist={this.hoist}\n matchTriggerWidth={true}\n closeOnSelect={!this.multiple}\n containingElement={this.host}\n disableHideOnEnterAndSpace={this.autocomplete}\n class={{\n select: true,\n 'select--open': this.isOpen,\n 'select--empty': this.value?.length === 0,\n 'select--focused': this.hasFocus,\n 'select--clearable': this.clearable,\n 'select--disabled': this.disabled,\n 'select--multiple': this.multiple,\n 'select--has-tags': this.multiple && hasSelection,\n 'select--placeholder-visible': this.displayedValues.length === 0,\n 'select--small': this.size === 'small',\n 'select--medium': this.size === 'medium',\n 'select--large': this.size === 'large',\n 'select--pill': this.pill,\n 'select--invalid': this.invalid,\n }}\n onKeyDown={this.handleKeyDown}\n onSix-dropdown-show={this.handleMenuShow}\n onSix-dropdown-hide={this.handleMenuHide}\n filterPlaceholder={this.filterPlaceholder}\n filterDebounce={this.filterDebounce}\n filter={this.filter}\n asyncFilter={this.asyncFilter}\n virtualScroll={this.virtualScroll}\n >\n {/* Trigger */}\n <div\n slot=\"trigger\"\n ref={(el) => (this.box = el)}\n id={this.inputId}\n class={{\n select__box: true,\n 'select__box--line': this.line,\n 'select__box--autocomplete': this.autocomplete,\n }}\n role=\"combobox\"\n aria-labelledby={this.labelId}\n aria-describedby={this.helpTextId}\n aria-haspopup=\"true\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n tabIndex={this.disabled ? -1 : 0}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n >\n {/* Display values */}\n <div class=\"display__values\" ref={(el) => (this.displayValuesContainer = el)}>\n {this.displayedValues.length > 0 ? (\n <span class=\"display__values-and-counter\">\n <span class=\"display__values-values\">\n {this.displayedValues.map((value) => (\n <span key={value} class=\"display-value\">\n {value}\n <span class={{ separator: true }}>, </span>\n </span>\n ))}\n </span>\n <span ref={(el) => (this.overflowCount = el)} class=\"overflow-count\">\n +10\n </span>\n </span>\n ) : (\n <span class=\"placeholder\">{this.placeholder}</span>\n )}\n </div>\n\n {/* Clear */}\n {showClear && (\n <six-icon-button\n exportparts=\"base:clear-button\"\n class=\"select__clear\"\n name=\"clear\"\n size=\"small\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n />\n )}\n\n {/* Expand */}\n {showExpand && (\n <span part=\"icon\" class=\"select__icon\">\n <six-icon size=\"medium\">expand_more</six-icon>\n </span>\n )}\n\n {/* Autocomplete */}\n <six-input\n ref={(el) => (this.autocompleteInput = el)}\n class={{\n select__input: true,\n 'select__hidden-select': !this.autocomplete,\n }}\n aria-hidden=\"true\"\n required={this.required}\n onFocus={this.handleFocus}\n clearable={this.clearable}\n placeholder={this.placeholder}\n pill={this.pill}\n disabled={this.disabled}\n size={this.size}\n tabIndex={-1}\n />\n </div>\n\n {/* Selection container */}\n <div\n class={{\n 'selection-container': true,\n 'selection-container--border':\n this.selectionContainerItems.length > 0 && items.length !== this.selectionContainerItems.length,\n }}\n >\n {this.selectionContainerItems}\n </div>\n\n {/* Menu */}\n <six-menu\n ref={(el) => (this.menu = el)}\n part=\"menu\"\n class={{\n select__menu: true,\n 'select__menu--hidden': !hasMenuItems,\n }}\n onSix-menu-item-selected={this.handleMenuSelect}\n items={this.options}\n virtualScroll={this.virtualScroll}\n remove-box-shadow={true}\n disable-keyboard-handling={true}\n >\n <slot onSlotchange={this.handleSlotChange} />\n </six-menu>\n\n {/* Select all */}\n {this.multiple && this.selectAllButton && (\n <div class=\"select-all\" slot=\"dropdown-footer\">\n <six-button type=\"link\" onClick={() => this.selectAll()}>\n {this.selectAllText == null ? selectAllDefaultText(hasDeselectedOptions) : this.selectAllText}\n </six-button>\n </div>\n )}\n </six-dropdown>\n </FormControl>\n );\n }\n\n private hasSelection() {\n return this.multiple ? this.value.length > 0 : this.value !== '';\n }\n\n private hasDeselectedOptions() {\n return this.getVisibleItems().some((opt) => !opt.disabled && !opt.checked);\n }\n}\n\nfunction getCheckedItems(value: string[], items: HTMLSixMenuItemElement[]): HTMLSixMenuItemElement[] {\n return items.filter((item) => value.includes(item.value));\n}\n\nfunction getWidth(element: Element) {\n return element.getBoundingClientRect().width;\n}\n\nfunction computeFitCount(options: Element[], availableWidth: number): { fitCount: number; overflowCount: number } {\n let accumulatedWidth = 0;\n let fitCount = 0;\n\n for (let i = 0; i < options.length; i++) {\n const displayOption = options[i];\n const width = getWidth(displayOption);\n if (i === 0 && width > availableWidth) {\n fitCount = 1;\n break;\n }\n accumulatedWidth += width;\n if (accumulatedWidth > availableWidth) {\n break;\n } else {\n fitCount += 1;\n }\n }\n const overflowCount = options.length - fitCount;\n return { fitCount, overflowCount };\n}\n\nfunction showFittingValues(displayValueOptions: Element[], fitCount: number) {\n if (displayValueOptions.length > 0) {\n // show items that fit\n displayValueOptions.slice(0, fitCount).forEach((displayValue, index, list) => {\n showDisplayValue(displayValue);\n const isLast = index === list.length - 1;\n if (isLast) {\n hideSeparator(displayValue);\n } else {\n showSeparator(displayValue);\n }\n });\n\n // hide the rest\n displayValueOptions.slice(fitCount).forEach((displayValue) => {\n hideDisplayValue(displayValue);\n showSeparator(displayValue);\n });\n }\n}\n\nfunction hideSeparator(displayValueOption: Element) {\n displayValueOption.querySelector('.separator')?.classList.add('separator--hidden');\n}\n\nfunction showSeparator(displayValueOption: Element) {\n displayValueOption.querySelector('.separator')?.classList.remove('separator--hidden');\n}\n\nfunction showDisplayValue(displayValueOption: Element) {\n displayValueOption.classList.remove('display-value--hidden');\n}\n\nfunction hideDisplayValue(displayValueOption: Element) {\n displayValueOption.classList.add('display-value--hidden');\n}\n\nfunction setOverflowCount(overflowCount: Element, count: number) {\n overflowCount.textContent = `+${count}`;\n}\n\nfunction showOverflowCount(overflowCount: Element) {\n overflowCount.classList.remove('overflow-count-hidden');\n}\n\nfunction hideOverflowCount(overflowCount: Element) {\n overflowCount.classList.add('overflow-count-hidden');\n}\n\nfunction selectAllDefaultText(hasDeselectedOptions: boolean) {\n const lang = getLanguage();\n switch (lang) {\n case 'de':\n return hasDeselectedOptions ? 'Alle auswählen' : 'Alle abwählen';\n case 'fr':\n return hasDeselectedOptions ? 'Tout sélectionner' : 'Tout désélectionner';\n case 'it':\n return hasDeselectedOptions ? 'Seleziona tutto' : 'Deseleziona tutto';\n case 'en':\n return hasDeselectedOptions ? 'Select all' : 'Deselect all';\n case 'es':\n return hasDeselectedOptions ? 'Seleccionar todo' : 'Deseleccionar todo';\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,h as a,g as t}from"./p-05eb1bab.js";const i=":host{display:block;overflow:hidden;height:inherit}.six-root{display:grid;grid-template:auto 1fr auto/auto 1fr auto;height:100%}.six-root__container--padded{padding:var(--six-spacing-xxx-large)}.six-root__left-sidebar{height:100%;overflow:scroll;grid-column:1/2}.six-root__right-sidebar{height:100%;overflow:scroll;grid-column:3/4}.six-root nav{overflow:hidden}header{grid-column:1/4;position:sticky;top:0;z-index:var(--six-z-index-header);margin-right:2px}main{height:100%;display:flex;flex-direction:column;justify-content:space-between;grid-column:2/3;overflow:auto}footer{grid-column:1/4}";const o=i;const r=class{constructor(a){e(this,a);this.padded=true;this.stage=null;this.version=""}render(){return a("host",{key:"f4b3cb516ce1b70a834903c00a56ca7edf5364dc",class:"six-root"},a("header",{key:"88ec66c2af58e55621563f600cb8c1589467218c",part:"header"},this.stage&&a("six-stage-indicator",{stage:this.stage},this.version),a("slot",{key:"072a0e92b9203149a9823fdf83aa45b39494559f",name:"header"})),a("nav",{key:"58d18ca9b9ebf9db5981b3c82cce657f73ef5f13",class:"six-root__left-sidebar",part:"left-sidebar"},a("slot",{key:"62643ef967da9d303380b4d4d26ec5e026a86ac3",name:"left-sidebar"})),a("main",{key:"0b059f2814c4485dd03a3a166529d78999baa699",part:"main"},a("div",{key:"74ce003ff9d45945b9bdc43b170c99300856544b",class:{"six-root__container":true,"six-root__container--padded":this.padded},part:"container"},a("slot",{key:"5ea05c471c96fd47cf27749accd1c551f16d69d2",name:"main"})),a("div",{key:"5dd7796754df4238f61f1ee8cc3cee9589f1f40f",class:"six-root__footer"},a("slot",{key:"5c4036b9fb4d36f69b617a2e6ee7fce62c80fa08",name:"footer"}))),a("nav",{key:"36c76008c9dc36b7fef9f8a6a79e6508d1764ede",class:"six-root__right-sidebar",part:"right-sidebar"},a("slot",{key:"66cdae8a60d251063e4c8a710a36d0be07dedf0e",name:"right-sidebar"})))}get host(){return t(this)}};r.style=o;export{r as six_root};
|
|
2
|
+
//# sourceMappingURL=p-7c18b8ca.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["sixRootCss","SixRootStyle0","SixRoot","render","h","key","class","part","this","stage","version","name","padded"],"sources":["src/components/six-root/six-root.scss?tag=six-root&encapsulation=shadow","src/components/six-root/six-root.tsx"],"sourcesContent":["@import 'src/global/mixins/scrollbar';\n\n:host {\n display: block;\n overflow: hidden;\n height: inherit;\n}\n\n.six-root {\n display: grid;\n grid-template: auto 1fr auto / auto 1fr auto;\n height: 100%;\n\n &__container {\n &--padded {\n padding: var(--six-spacing-xxx-large);\n }\n }\n\n &__left-sidebar {\n height: 100%;\n overflow: scroll;\n grid-column: 1 / 2;\n }\n\n &__right-sidebar {\n height: 100%;\n overflow: scroll;\n grid-column: 3 / 4;\n }\n\n nav {\n overflow: hidden;\n }\n}\n\nheader {\n grid-column: 1 / 4;\n position: sticky;\n top: 0;\n z-index: var(--six-z-index-header);\n // border fix\n margin-right: 2px;\n}\n\nmain {\n height: 100%;\n\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n\n grid-column: 2 / 3;\n overflow: auto;\n}\n\nfooter {\n grid-column: 1 / 4;\n}\n","import { Component, Element, h, Prop } from '@stencil/core';\nimport { StageType } from '../six-stage-indicator/six-stage-indicator';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot header - Used to define the header component.\n * @slot main - Used to define the components in the main area.\n * @slot left-sidebar - Used to define the sidebar on the left side.\n * @slot right-sidebar - Used to define the sidebar on the right side.\n * @slot footer - Used to define the footer component.\n */\n\n@Component({\n tag: 'six-root',\n styleUrl: 'six-root.scss',\n shadow: true,\n})\nexport class SixRoot {\n @Element() host!: HTMLSixRootElement;\n\n /** Defines whether the content section should be padded */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() padded = true;\n\n /** Defines the stage of the application*/\n @Prop() stage: StageType = null;\n\n /** Defines the version of the application*/\n @Prop() version = '';\n\n render() {\n return (\n <host class=\"six-root\">\n <header part=\"header\">\n {this.stage && <six-stage-indicator stage={this.stage}>{this.version}</six-stage-indicator>}\n <slot name=\"header\" />\n </header>\n <nav class=\"six-root__left-sidebar\" part=\"left-sidebar\">\n <slot name=\"left-sidebar\" />\n </nav>\n <main part=\"main\">\n <div class={{ 'six-root__container': true, 'six-root__container--padded': this.padded }} part=\"container\">\n <slot name=\"main\" />\n </div>\n <div class=\"six-root__footer\">\n <slot name=\"footer\" />\n </div>\n </main>\n <nav class=\"six-root__right-sidebar\" part=\"right-sidebar\">\n <slot name=\"right-sidebar\" />\n </nav>\n </host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAa,mlBACnB,MAAAC,EAAeD,E,MCkBFE,EAAO,M,qCAKD,K,WAGU,K,aAGT,E,CAElB,MAAAC,GACE,OACEC,EAAA,QAAAC,IAAA,2CAAMC,MAAM,YACVF,EAAA,UAAAC,IAAA,2CAAQE,KAAK,UACVC,KAAKC,OAASL,EAAA,uBAAqBK,MAAOD,KAAKC,OAAQD,KAAKE,SAC7DN,EAAA,QAAAC,IAAA,2CAAMM,KAAK,YAEbP,EAAA,OAAAC,IAAA,2CAAKC,MAAM,yBAAyBC,KAAK,gBACvCH,EAAA,QAAAC,IAAA,2CAAMM,KAAK,kBAEbP,EAAA,QAAAC,IAAA,2CAAME,KAAK,QACTH,EAAA,OAAAC,IAAA,2CAAKC,MAAO,CAAE,sBAAuB,KAAM,8BAA+BE,KAAKI,QAAUL,KAAK,aAC5FH,EAAA,QAAAC,IAAA,2CAAMM,KAAK,UAEbP,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBACTF,EAAA,QAAAC,IAAA,2CAAMM,KAAK,aAGfP,EAAA,OAAAC,IAAA,2CAAKC,MAAM,0BAA0BC,KAAK,iBACxCH,EAAA,QAAAC,IAAA,2CAAMM,KAAK,mB"}
|