@six-group/ui-library 0.0.0-insider.ebd822a → 0.0.0-insider.fa8b667
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/event-listeners-fdfe838c.js +61 -0
- package/dist/cjs/event-listeners-fdfe838c.js.map +1 -0
- package/dist/cjs/{execution-control-46f388e0.js → execution-control-b4707294.js} +6 -3
- package/dist/cjs/execution-control-b4707294.js.map +1 -0
- package/dist/cjs/{focus-visible-0b352c74.js → focus-visible-ae2470dd.js} +3 -3
- package/dist/cjs/focus-visible-ae2470dd.js.map +1 -0
- package/dist/cjs/form-2df8c5bb.js +20 -0
- package/dist/cjs/form-2df8c5bb.js.map +1 -0
- package/dist/cjs/{form-control-2c17c573.js → form-control-d369af14.js} +10 -11
- package/dist/cjs/form-control-d369af14.js.map +1 -0
- package/dist/cjs/{index-2f6daa5b.js → index-900437fc.js} +186 -53
- package/dist/cjs/index-900437fc.js.map +1 -0
- package/dist/cjs/index.cjs.js +94 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +3 -12
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/{modal-48d42228.js → modal-d5f074c7.js} +4 -3
- package/dist/cjs/modal-d5f074c7.js.map +1 -0
- package/dist/cjs/{popover-f743f62b.js → popover-2df7e154.js} +39 -31
- package/dist/cjs/popover-2df7e154.js.map +1 -0
- package/dist/cjs/popup-f1d9910f.js +103 -0
- package/dist/cjs/popup-f1d9910f.js.map +1 -0
- package/dist/cjs/{scroll-76e6f5d7.js → scroll-03678de1.js} +1 -1
- package/dist/cjs/scroll-03678de1.js.map +1 -0
- package/dist/cjs/set-attributes_2.cjs.entry.js +4 -2
- package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
- package/dist/cjs/six-alert.cjs.entry.js +18 -23
- package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/six-avatar.cjs.entry.js +5 -8
- package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-badge.cjs.entry.js +2 -2
- package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/six-button.cjs.entry.js +36 -34
- package/dist/cjs/six-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-card.cjs.entry.js +1 -1
- package/dist/cjs/six-card.cjs.entry.js.map +1 -1
- package/dist/cjs/six-checkbox.cjs.entry.js +50 -85
- package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/six-datepicker.cjs.entry.js +154 -280
- package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-details.cjs.entry.js +48 -47
- package/dist/cjs/six-details.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dialog.cjs.entry.js +37 -41
- package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/six-drawer.cjs.entry.js +34 -38
- package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dropdown_2.cjs.entry.js +215 -196
- package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/six-error-page.cjs.entry.js +20 -22
- package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-list-item.cjs.entry.js +2 -2
- package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-list.cjs.entry.js +1 -1
- package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-upload.cjs.entry.js +21 -21
- package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/six-footer.cjs.entry.js +1 -1
- package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-group-label.cjs.entry.js +12 -11
- package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-header.cjs.entry.js +66 -44
- package/dist/cjs/six-header.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon-button.cjs.entry.js +4 -4
- package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon.cjs.entry.js +1 -1
- package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/six-input.cjs.entry.js +33 -94
- package/dist/cjs/six-input.cjs.entry.js.map +1 -1
- package/dist/cjs/six-item-picker.cjs.entry.js +62 -81
- package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
- package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
- package/dist/cjs/six-layout-grid.cjs.entry.js +5 -3
- package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/six-main-container.cjs.entry.js +1 -1
- package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
- package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-item.cjs.entry.js +9 -7
- package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
- package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-picto.cjs.entry.js +5 -2
- package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
- package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-progress-ring.cjs.entry.js +4 -4
- package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
- package/dist/cjs/six-radio.cjs.entry.js +63 -72
- package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/six-range.cjs.entry.js +107 -106
- package/dist/cjs/six-range.cjs.entry.js.map +1 -1
- package/dist/cjs/six-root.cjs.entry.js +2 -2
- package/dist/cjs/six-root.cjs.entry.js.map +1 -1
- package/dist/cjs/six-search-field.cjs.entry.js +11 -6
- package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/six-select.cjs.entry.js +190 -223
- package/dist/cjs/six-select.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js +10 -6
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
- package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar.cjs.entry.js +41 -20
- package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-spinner.cjs.entry.js +1 -1
- package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/six-switch.cjs.entry.js +58 -64
- package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab-group.cjs.entry.js +132 -114
- package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab.cjs.entry.js +5 -3
- package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tag.cjs.entry.js +6 -9
- package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/six-textarea.cjs.entry.js +82 -108
- package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tile.cjs.entry.js +14 -17
- package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
- package/dist/cjs/six-timepicker.cjs.entry.js +159 -215
- package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tooltip.cjs.entry.js +54 -57
- package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{slot-ad537f24.js → slot-6e6a400f.js} +11 -10
- package/dist/cjs/slot-6e6a400f.js.map +1 -0
- package/dist/cjs/{types-64878648.js → types-47199040.js} +1 -1
- package/dist/cjs/types-47199040.js.map +1 -0
- package/dist/cjs/ui-library.cjs.js +3 -6
- package/dist/cjs/ui-library.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +54 -55
- package/dist/collection/components/six-alert/six-alert.js +32 -30
- package/dist/collection/components/six-alert/six-alert.js.map +1 -1
- package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
- package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
- package/dist/collection/components/six-avatar/six-avatar.js +5 -8
- package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
- package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
- package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
- package/dist/collection/components/six-badge/six-badge.js +2 -2
- package/dist/collection/components/six-badge/six-badge.js.map +1 -1
- package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
- package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
- package/dist/collection/components/six-button/six-button.js +56 -47
- package/dist/collection/components/six-button/six-button.js.map +1 -1
- package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
- package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
- package/dist/collection/components/six-card/six-card.js +1 -1
- package/dist/collection/components/six-card/six-card.js.map +1 -1
- package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
- package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
- package/dist/collection/components/six-checkbox/six-checkbox.js +81 -194
- package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
- package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +79 -0
- package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
- package/dist/collection/components/six-datepicker/components/day-selection.js +3 -3
- package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
- package/dist/collection/components/six-datepicker/components/month-selection.js +6 -5
- package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
- package/dist/collection/components/six-datepicker/components/year-selection.js +11 -8
- package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
- package/dist/collection/components/six-datepicker/six-datepicker.js +219 -395
- package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
- package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
- package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
- package/dist/collection/components/six-details/six-details.js +65 -58
- package/dist/collection/components/six-details/six-details.js.map +1 -1
- package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
- package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
- package/dist/collection/components/six-dialog/six-dialog.js +55 -51
- package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
- package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
- package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
- package/dist/collection/components/six-drawer/six-drawer.js +52 -48
- package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
- package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
- package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
- package/dist/collection/components/six-dropdown/six-dropdown.js +215 -191
- package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
- package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
- package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
- package/dist/collection/components/six-error-page/six-error-page.js +26 -28
- package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
- package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
- package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
- package/dist/collection/components/six-file-list/six-file-list.js +1 -1
- package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
- package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
- package/dist/collection/components/six-file-list-item/six-file-list-item.js +8 -6
- package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
- package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
- package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
- package/dist/collection/components/six-file-upload/six-file-upload.js +37 -35
- package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
- package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
- package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
- package/dist/collection/components/six-footer/six-footer.js +1 -1
- package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
- package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
- package/dist/collection/components/six-group-label/six-group-label.js +15 -13
- 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 +43 -0
- package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
- package/dist/collection/components/six-header/six-header.js +82 -52
- package/dist/collection/components/six-header/six-header.js.map +1 -1
- package/dist/collection/components/six-header/test/six-header.spec.js +133 -0
- package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
- package/dist/collection/components/six-icon/six-icon.js +1 -1
- package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
- package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
- package/dist/collection/components/six-icon-button/six-icon-button.js +10 -10
- package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
- package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
- package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
- package/dist/collection/components/six-input/six-input.css +1 -1
- package/dist/collection/components/six-input/six-input.js +106 -294
- package/dist/collection/components/six-input/six-input.js.map +1 -1
- package/dist/collection/components/six-input/test/six-input.spec.js +37 -0
- package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
- package/dist/collection/components/six-item-picker/six-item-picker.js +79 -94
- package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
- package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
- package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
- package/dist/collection/components/six-language-switcher/six-language-switcher.js +7 -5
- package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
- package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
- package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
- package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
- package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
- package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
- package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
- package/dist/collection/components/six-main-container/six-main-container.js +1 -1
- package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
- package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
- package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
- package/dist/collection/components/six-menu/six-menu.js +41 -31
- package/dist/collection/components/six-menu/six-menu.js.map +1 -1
- package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
- package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
- package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
- package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
- package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
- package/dist/collection/components/six-menu-item/six-menu-item.js +17 -11
- package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
- package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
- package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
- package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
- package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
- package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
- package/dist/collection/components/six-picto/six-picto.js +5 -2
- package/dist/collection/components/six-picto/six-picto.js.map +1 -1
- package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
- package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
- package/dist/collection/components/six-progress-bar/six-progress-bar.js +1 -1
- package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
- package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
- package/dist/collection/components/six-progress-ring/six-progress-ring.js +6 -5
- package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
- package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
- package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
- package/dist/collection/components/six-radio/six-radio.js +82 -148
- package/dist/collection/components/six-radio/six-radio.js.map +1 -1
- package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
- package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
- package/dist/collection/components/six-range/six-range.js +149 -190
- package/dist/collection/components/six-range/six-range.js.map +1 -1
- package/dist/collection/components/six-range/test/six-range.spec.js +32 -0
- package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
- package/dist/collection/components/six-root/six-root.js +9 -7
- package/dist/collection/components/six-root/six-root.js.map +1 -1
- package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
- package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
- package/dist/collection/components/six-search-field/six-search-field.js +15 -9
- package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
- package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
- package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
- package/dist/collection/components/six-select/six-select.css +6 -9
- package/dist/collection/components/six-select/six-select.js +235 -349
- package/dist/collection/components/six-select/six-select.js.map +1 -1
- package/dist/collection/components/six-select/test/six-select.spec.js +82 -0
- package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
- package/dist/collection/components/six-select/test/util.spec.js +81 -0
- package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
- package/dist/collection/components/six-select/util.js +52 -0
- package/dist/collection/components/six-select/util.js.map +1 -0
- package/dist/collection/components/six-sidebar/six-sidebar.js +66 -33
- package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
- package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
- package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
- package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +1 -1
- package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
- package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +14 -10
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
- package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
- package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
- package/dist/collection/components/six-spinner/six-spinner.js +1 -1
- package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
- package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
- package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +4 -3
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
- package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
- package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
- package/dist/collection/components/six-switch/six-switch.css +77 -0
- package/dist/collection/components/six-switch/six-switch.js +108 -139
- package/dist/collection/components/six-switch/six-switch.js.map +1 -1
- package/dist/collection/components/six-switch/test/six-switch.spec.js +69 -0
- package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
- package/dist/collection/components/six-tab/six-tab.js +13 -7
- package/dist/collection/components/six-tab/six-tab.js.map +1 -1
- package/dist/collection/components/six-tab/test/six-tab.spec.js +20 -0
- package/dist/collection/components/six-tab/test/six-tab.spec.js.map +1 -0
- package/dist/collection/components/six-tab-group/six-tab-group.js +140 -119
- package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
- package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js +45 -0
- package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js.map +1 -0
- package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
- package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
- package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
- package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
- package/dist/collection/components/six-tag/six-tag.css +6 -0
- package/dist/collection/components/six-tag/six-tag.js +7 -9
- package/dist/collection/components/six-tag/six-tag.js.map +1 -1
- package/dist/collection/components/six-tag/test/six-tag.spec.js +42 -0
- package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
- package/dist/collection/components/six-textarea/six-textarea.js +167 -282
- package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
- package/dist/collection/components/six-textarea/test/six-textarea.spec.js +117 -0
- package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
- package/dist/collection/components/six-tile/six-tile.js +26 -25
- package/dist/collection/components/six-tile/six-tile.js.map +1 -1
- package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
- package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
- package/dist/collection/components/six-timepicker/six-timepicker.js +169 -264
- package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
- package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
- package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
- package/dist/collection/components/six-tooltip/six-tooltip.js +69 -66
- package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
- package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
- package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
- package/dist/collection/functional-components/form-control/form-control.js +9 -10
- package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/testUtil/delay.js.map +1 -1
- package/dist/collection/utils/date-util.js +25 -16
- package/dist/collection/utils/date-util.js.map +1 -1
- package/dist/collection/utils/date-util.spec.js +995 -0
- package/dist/collection/utils/date-util.spec.js.map +1 -0
- package/dist/collection/utils/error-messages.js +91 -0
- package/dist/collection/utils/error-messages.js.map +1 -0
- package/dist/collection/utils/event-listeners.js +22 -6
- package/dist/collection/utils/event-listeners.js.map +1 -1
- package/dist/collection/utils/execution-control.js +5 -4
- package/dist/collection/utils/execution-control.js.map +1 -1
- package/dist/collection/utils/focus-visible.js +2 -2
- package/dist/collection/utils/focus-visible.js.map +1 -1
- package/dist/collection/utils/form.js +15 -0
- package/dist/collection/utils/form.js.map +1 -0
- package/dist/collection/utils/modal.js +3 -2
- package/dist/collection/utils/modal.js.map +1 -1
- package/dist/collection/utils/popover.js +33 -19
- package/dist/collection/utils/popover.js.map +1 -1
- package/dist/collection/utils/popup.js +95 -0
- package/dist/collection/utils/popup.js.map +1 -0
- package/dist/collection/utils/scroll.js +1 -1
- package/dist/collection/utils/scroll.spec.js +122 -0
- package/dist/collection/utils/scroll.spec.js.map +1 -0
- package/dist/collection/utils/slot.js +9 -24
- package/dist/collection/utils/slot.js.map +1 -1
- package/dist/collection/utils/tabbable.js +6 -6
- package/dist/collection/utils/tabbable.js.map +1 -1
- package/dist/collection/utils/time.util.js +48 -34
- package/dist/collection/utils/time.util.js.map +1 -1
- package/dist/collection/utils/time.util.spec.js +368 -0
- package/dist/collection/utils/time.util.spec.js.map +1 -0
- package/dist/collection/utils/type-check.js +0 -1
- package/dist/collection/utils/type-check.js.map +1 -1
- package/dist/collection/wrappers/set-attributes/set-attributes.js +4 -2
- package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
- package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
- package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
- package/dist/components/event-listeners.js +22 -6
- package/dist/components/event-listeners.js.map +1 -1
- package/dist/components/execution-control.js +5 -2
- package/dist/components/execution-control.js.map +1 -1
- package/dist/components/focus-visible.js +2 -2
- package/dist/components/focus-visible.js.map +1 -1
- package/dist/components/form-control.js +8 -9
- package/dist/components/form-control.js.map +1 -1
- package/dist/components/form.js +18 -0
- package/dist/components/form.js.map +1 -0
- package/dist/components/index.js +92 -3
- package/dist/components/index.js.map +1 -1
- package/dist/components/modal.js +3 -2
- package/dist/components/modal.js.map +1 -1
- package/dist/components/popover.js +38 -30
- package/dist/components/popover.js.map +1 -1
- package/dist/components/scroll.js.map +1 -1
- package/dist/components/set-attributes2.js +3 -1
- package/dist/components/set-attributes2.js.map +1 -1
- package/dist/components/six-alert.js +17 -22
- package/dist/components/six-alert.js.map +1 -1
- package/dist/components/six-avatar.js +4 -7
- package/dist/components/six-avatar.js.map +1 -1
- package/dist/components/six-badge.js +1 -1
- package/dist/components/six-badge.js.map +1 -1
- package/dist/components/six-button.js +34 -32
- package/dist/components/six-button.js.map +1 -1
- package/dist/components/six-card.js.map +1 -1
- package/dist/components/six-checkbox.js +48 -89
- package/dist/components/six-checkbox.js.map +1 -1
- package/dist/components/six-datepicker.js +153 -282
- package/dist/components/six-datepicker.js.map +1 -1
- package/dist/components/six-details2.js +46 -45
- package/dist/components/six-details2.js.map +1 -1
- package/dist/components/six-dialog.js +33 -37
- package/dist/components/six-dialog.js.map +1 -1
- package/dist/components/six-drawer.js +30 -34
- package/dist/components/six-drawer.js.map +1 -1
- package/dist/components/six-dropdown2.js +185 -173
- package/dist/components/six-dropdown2.js.map +1 -1
- package/dist/components/six-error-page.js +19 -21
- package/dist/components/six-error-page.js.map +1 -1
- package/dist/components/six-file-list-item.js +1 -1
- package/dist/components/six-file-list-item.js.map +1 -1
- package/dist/components/six-file-list.js.map +1 -1
- package/dist/components/six-file-upload.js +20 -20
- package/dist/components/six-file-upload.js.map +1 -1
- package/dist/components/six-footer.js.map +1 -1
- package/dist/components/six-group-label.js +10 -9
- package/dist/components/six-group-label.js.map +1 -1
- package/dist/components/six-header.js +64 -42
- package/dist/components/six-header.js.map +1 -1
- package/dist/components/six-icon-button2.js +2 -2
- package/dist/components/six-icon-button2.js.map +1 -1
- package/dist/components/six-icon2.js.map +1 -1
- package/dist/components/six-input2.js +34 -104
- package/dist/components/six-input2.js.map +1 -1
- package/dist/components/six-item-picker2.js +58 -77
- package/dist/components/six-item-picker2.js.map +1 -1
- package/dist/components/six-language-switcher.js +1 -1
- package/dist/components/six-language-switcher.js.map +1 -1
- package/dist/components/six-layout-grid.js +5 -3
- package/dist/components/six-layout-grid.js.map +1 -1
- package/dist/components/six-main-container.js.map +1 -1
- package/dist/components/six-menu-divider.js.map +1 -1
- package/dist/components/six-menu-item2.js +7 -5
- package/dist/components/six-menu-item2.js.map +1 -1
- package/dist/components/six-menu-label.js.map +1 -1
- package/dist/components/six-menu2.js +25 -18
- package/dist/components/six-menu2.js.map +1 -1
- package/dist/components/six-picto2.js +4 -1
- package/dist/components/six-picto2.js.map +1 -1
- package/dist/components/six-progress-bar.js.map +1 -1
- package/dist/components/six-progress-ring.js +3 -3
- package/dist/components/six-progress-ring.js.map +1 -1
- package/dist/components/six-radio.js +65 -78
- package/dist/components/six-radio.js.map +1 -1
- package/dist/components/six-range.js +108 -111
- package/dist/components/six-range.js.map +1 -1
- package/dist/components/six-root.js +1 -1
- package/dist/components/six-root.js.map +1 -1
- package/dist/components/six-search-field.js +8 -3
- package/dist/components/six-search-field.js.map +1 -1
- package/dist/components/six-select.js +190 -229
- package/dist/components/six-select.js.map +1 -1
- package/dist/components/six-sidebar-item-group.js +8 -4
- package/dist/components/six-sidebar-item-group.js.map +1 -1
- package/dist/components/six-sidebar-item.js.map +1 -1
- package/dist/components/six-sidebar.js +39 -18
- package/dist/components/six-sidebar.js.map +1 -1
- package/dist/components/six-spinner2.js.map +1 -1
- package/dist/components/six-stage-indicator2.js.map +1 -1
- package/dist/components/six-switch.js +61 -69
- package/dist/components/six-switch.js.map +1 -1
- package/dist/components/six-tab-group.js +129 -111
- package/dist/components/six-tab-group.js.map +1 -1
- package/dist/components/six-tab-panel.js +1 -1
- package/dist/components/six-tab-panel.js.map +1 -1
- package/dist/components/six-tab.js +4 -2
- package/dist/components/six-tab.js.map +1 -1
- package/dist/components/six-tag2.js +5 -8
- package/dist/components/six-tag2.js.map +1 -1
- package/dist/components/six-textarea.js +83 -115
- package/dist/components/six-textarea.js.map +1 -1
- package/dist/components/six-tile.js +14 -17
- package/dist/components/six-tile.js.map +1 -1
- package/dist/components/six-timepicker.js +1 -1
- package/dist/components/six-timepicker2.js +247 -258
- package/dist/components/six-timepicker2.js.map +1 -1
- package/dist/components/six-tooltip2.js +52 -55
- package/dist/components/six-tooltip2.js.map +1 -1
- package/dist/components/slot.js +10 -9
- package/dist/components/slot.js.map +1 -1
- package/dist/components.d.ts +361 -88
- package/dist/components.json +4239 -996
- package/dist/esm/event-listeners-f6e5b0ab.js +59 -0
- package/dist/esm/event-listeners-f6e5b0ab.js.map +1 -0
- package/dist/esm/{execution-control-1a60d709.js → execution-control-e0892a05.js} +6 -3
- package/dist/esm/execution-control-e0892a05.js.map +1 -0
- package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fc6ac671.js} +3 -3
- package/dist/esm/focus-visible-fc6ac671.js.map +1 -0
- package/dist/esm/form-81252534.js +18 -0
- package/dist/esm/form-81252534.js.map +1 -0
- package/dist/esm/{form-control-3b440ea1.js → form-control-32cb533f.js} +10 -11
- package/dist/esm/form-control-32cb533f.js.map +1 -0
- package/dist/esm/{index-5c0f6628.js → index-8a74f992.js} +186 -53
- package/dist/esm/index-8a74f992.js.map +1 -0
- package/dist/esm/index.js +91 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +4 -13
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/{modal-5ebdc320.js → modal-7d32e141.js} +4 -3
- package/dist/esm/modal-7d32e141.js.map +1 -0
- package/dist/esm/{popover-bd2c2fca.js → popover-136d1f73.js} +39 -31
- package/dist/esm/popover-136d1f73.js.map +1 -0
- package/dist/esm/popup-7f89a001.js +98 -0
- package/dist/esm/popup-7f89a001.js.map +1 -0
- package/dist/esm/{scroll-180b53fd.js → scroll-3fb087a2.js} +1 -1
- package/dist/esm/scroll-3fb087a2.js.map +1 -0
- package/dist/esm/set-attributes_2.entry.js +4 -2
- package/dist/esm/set-attributes_2.entry.js.map +1 -1
- package/dist/esm/six-alert.entry.js +18 -23
- package/dist/esm/six-alert.entry.js.map +1 -1
- package/dist/esm/six-avatar.entry.js +5 -8
- package/dist/esm/six-avatar.entry.js.map +1 -1
- package/dist/esm/six-badge.entry.js +2 -2
- package/dist/esm/six-badge.entry.js.map +1 -1
- package/dist/esm/six-button.entry.js +36 -34
- package/dist/esm/six-button.entry.js.map +1 -1
- package/dist/esm/six-card.entry.js +1 -1
- package/dist/esm/six-card.entry.js.map +1 -1
- package/dist/esm/six-checkbox.entry.js +50 -85
- package/dist/esm/six-checkbox.entry.js.map +1 -1
- package/dist/esm/six-datepicker.entry.js +152 -278
- package/dist/esm/six-datepicker.entry.js.map +1 -1
- package/dist/esm/six-details.entry.js +48 -47
- package/dist/esm/six-details.entry.js.map +1 -1
- package/dist/esm/six-dialog.entry.js +37 -41
- package/dist/esm/six-dialog.entry.js.map +1 -1
- package/dist/esm/six-drawer.entry.js +34 -38
- package/dist/esm/six-drawer.entry.js.map +1 -1
- package/dist/esm/six-dropdown_2.entry.js +215 -196
- package/dist/esm/six-dropdown_2.entry.js.map +1 -1
- package/dist/esm/six-error-page.entry.js +20 -22
- package/dist/esm/six-error-page.entry.js.map +1 -1
- package/dist/esm/six-file-list-item.entry.js +2 -2
- package/dist/esm/six-file-list-item.entry.js.map +1 -1
- package/dist/esm/six-file-list.entry.js +1 -1
- package/dist/esm/six-file-list.entry.js.map +1 -1
- package/dist/esm/six-file-upload.entry.js +21 -21
- package/dist/esm/six-file-upload.entry.js.map +1 -1
- package/dist/esm/six-footer.entry.js +1 -1
- package/dist/esm/six-footer.entry.js.map +1 -1
- package/dist/esm/six-group-label.entry.js +12 -11
- package/dist/esm/six-group-label.entry.js.map +1 -1
- package/dist/esm/six-header.entry.js +66 -44
- package/dist/esm/six-header.entry.js.map +1 -1
- package/dist/esm/six-icon-button.entry.js +4 -4
- package/dist/esm/six-icon-button.entry.js.map +1 -1
- package/dist/esm/six-icon.entry.js +1 -1
- package/dist/esm/six-icon.entry.js.map +1 -1
- package/dist/esm/six-input.entry.js +33 -94
- package/dist/esm/six-input.entry.js.map +1 -1
- package/dist/esm/six-item-picker.entry.js +62 -81
- package/dist/esm/six-item-picker.entry.js.map +1 -1
- package/dist/esm/six-language-switcher.entry.js +2 -2
- package/dist/esm/six-language-switcher.entry.js.map +1 -1
- package/dist/esm/six-layout-grid.entry.js +5 -3
- package/dist/esm/six-layout-grid.entry.js.map +1 -1
- package/dist/esm/six-main-container.entry.js +1 -1
- package/dist/esm/six-main-container.entry.js.map +1 -1
- package/dist/esm/six-menu-divider.entry.js +1 -1
- package/dist/esm/six-menu-divider.entry.js.map +1 -1
- package/dist/esm/six-menu-item.entry.js +9 -7
- package/dist/esm/six-menu-item.entry.js.map +1 -1
- package/dist/esm/six-menu-label.entry.js +1 -1
- package/dist/esm/six-menu-label.entry.js.map +1 -1
- package/dist/esm/six-picto.entry.js +5 -2
- package/dist/esm/six-picto.entry.js.map +1 -1
- package/dist/esm/six-progress-bar.entry.js +1 -1
- package/dist/esm/six-progress-bar.entry.js.map +1 -1
- package/dist/esm/six-progress-ring.entry.js +4 -4
- package/dist/esm/six-progress-ring.entry.js.map +1 -1
- package/dist/esm/six-radio.entry.js +63 -72
- package/dist/esm/six-radio.entry.js.map +1 -1
- package/dist/esm/six-range.entry.js +107 -106
- package/dist/esm/six-range.entry.js.map +1 -1
- package/dist/esm/six-root.entry.js +2 -2
- package/dist/esm/six-root.entry.js.map +1 -1
- package/dist/esm/six-search-field.entry.js +11 -6
- package/dist/esm/six-search-field.entry.js.map +1 -1
- package/dist/esm/six-select.entry.js +190 -223
- package/dist/esm/six-select.entry.js.map +1 -1
- package/dist/esm/six-sidebar-item-group.entry.js +10 -6
- package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
- package/dist/esm/six-sidebar-item.entry.js +1 -1
- package/dist/esm/six-sidebar-item.entry.js.map +1 -1
- package/dist/esm/six-sidebar.entry.js +41 -20
- package/dist/esm/six-sidebar.entry.js.map +1 -1
- package/dist/esm/six-spinner.entry.js +1 -1
- package/dist/esm/six-spinner.entry.js.map +1 -1
- package/dist/esm/six-switch.entry.js +58 -64
- package/dist/esm/six-switch.entry.js.map +1 -1
- package/dist/esm/six-tab-group.entry.js +132 -114
- package/dist/esm/six-tab-group.entry.js.map +1 -1
- package/dist/esm/six-tab-panel.entry.js +2 -2
- package/dist/esm/six-tab-panel.entry.js.map +1 -1
- package/dist/esm/six-tab.entry.js +5 -3
- package/dist/esm/six-tab.entry.js.map +1 -1
- package/dist/esm/six-tag.entry.js +6 -9
- package/dist/esm/six-tag.entry.js.map +1 -1
- package/dist/esm/six-textarea.entry.js +82 -108
- package/dist/esm/six-textarea.entry.js.map +1 -1
- package/dist/esm/six-tile.entry.js +14 -17
- package/dist/esm/six-tile.entry.js.map +1 -1
- package/dist/esm/six-timepicker.entry.js +159 -215
- package/dist/esm/six-timepicker.entry.js.map +1 -1
- package/dist/esm/six-tooltip.entry.js +54 -57
- package/dist/esm/six-tooltip.entry.js.map +1 -1
- package/dist/esm/{slot-6f3984c7.js → slot-ad36df3a.js} +11 -10
- package/dist/esm/slot-ad36df3a.js.map +1 -0
- package/dist/esm/{types-4b10b413.js → types-59b455aa.js} +1 -1
- package/dist/esm/types-59b455aa.js.map +1 -0
- package/dist/esm/ui-library.js +4 -7
- package/dist/esm/ui-library.js.map +1 -1
- package/dist/types/components/six-alert/six-alert.d.ts +5 -7
- package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
- package/dist/types/components/six-badge/six-badge.d.ts +0 -1
- package/dist/types/components/six-button/six-button.d.ts +8 -9
- package/dist/types/components/six-checkbox/six-checkbox.d.ts +23 -35
- package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
- package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
- package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
- package/dist/types/components/six-datepicker/six-datepicker.d.ts +41 -52
- package/dist/types/components/six-details/six-details.d.ts +12 -12
- package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
- package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
- package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
- package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
- package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
- package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
- package/dist/types/components/six-group-label/six-group-label.d.ts +5 -5
- package/dist/types/components/six-header/six-header.d.ts +16 -27
- package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
- package/dist/types/components/six-input/six-input.d.ts +10 -36
- package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
- package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
- package/dist/types/components/six-menu/six-menu.d.ts +10 -11
- package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
- package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
- package/dist/types/components/six-radio/six-radio.d.ts +14 -25
- package/dist/types/components/six-range/six-range.d.ts +27 -38
- package/dist/types/components/six-root/six-root.d.ts +3 -3
- package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
- package/dist/types/components/six-select/six-select.d.ts +41 -58
- package/dist/types/components/six-select/util.d.ts +7 -0
- package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
- package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
- package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
- package/dist/types/components/six-switch/six-switch.d.ts +18 -21
- package/dist/types/components/six-tab/six-tab.d.ts +3 -3
- package/dist/types/components/six-tab-group/six-tab-group.d.ts +20 -21
- package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
- package/dist/types/components/six-tag/six-tag.d.ts +1 -3
- package/dist/types/components/six-textarea/six-textarea.d.ts +27 -55
- package/dist/types/components/six-tile/six-tile.d.ts +2 -3
- package/dist/types/components/six-timepicker/six-timepicker.d.ts +26 -43
- package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
- package/dist/types/components.d.ts +199 -438
- package/dist/types/functional-components/form-control/form-control.d.ts +5 -6
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +15 -2
- package/dist/types/testUtil/delay.d.ts +1 -1
- package/dist/types/types.d.ts +2 -0
- package/dist/types/utils/date-util.d.ts +18 -10
- package/dist/types/utils/error-messages.d.ts +42 -0
- package/dist/types/utils/event-listeners.d.ts +4 -3
- package/dist/types/utils/execution-control.d.ts +1 -3
- package/dist/types/utils/form.d.ts +1 -0
- package/dist/types/utils/modal.d.ts +2 -2
- package/dist/types/utils/popover.d.ts +5 -5
- package/dist/types/utils/popup.d.ts +9 -0
- package/dist/types/utils/slot.d.ts +2 -7
- package/dist/types/utils/tabbable.d.ts +1 -1
- package/dist/types/utils/time.util.d.ts +18 -9
- package/dist/types/utils/type-check.d.ts +3 -4
- package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
- package/dist/ui-library/index.esm.js +1 -1
- package/dist/ui-library/index.esm.js.map +1 -1
- package/dist/ui-library/p-02981b91.entry.js +2 -0
- package/dist/ui-library/p-02981b91.entry.js.map +1 -0
- package/dist/ui-library/{p-25a3bf57.js → p-0f510624.js} +1 -1
- package/dist/ui-library/p-0f510624.js.map +1 -0
- package/dist/ui-library/p-0fdb185d.js +2 -0
- package/dist/ui-library/p-0fdb185d.js.map +1 -0
- package/dist/ui-library/{p-611e1978.entry.js → p-1256cc0a.entry.js} +2 -2
- package/dist/ui-library/p-1256cc0a.entry.js.map +1 -0
- package/dist/ui-library/{p-19364560.entry.js → p-13b43e04.entry.js} +2 -2
- package/dist/ui-library/p-13b43e04.entry.js.map +1 -0
- package/dist/ui-library/p-15559d38.js +2 -0
- package/dist/ui-library/p-15559d38.js.map +1 -0
- package/dist/ui-library/p-19ed7a4c.entry.js +2 -0
- package/dist/ui-library/p-19ed7a4c.entry.js.map +1 -0
- package/dist/ui-library/{p-97323ad7.entry.js → p-1d5ee1a0.entry.js} +2 -2
- package/dist/ui-library/p-1d5ee1a0.entry.js.map +1 -0
- package/dist/ui-library/{p-eb8f05a9.js → p-1f18768a.js} +1 -1
- package/dist/ui-library/p-1f18768a.js.map +1 -0
- package/dist/ui-library/p-21b3b321.entry.js +2 -0
- package/dist/ui-library/p-21b3b321.entry.js.map +1 -0
- package/dist/ui-library/p-264d4ea8.entry.js +2 -0
- package/dist/ui-library/p-264d4ea8.entry.js.map +1 -0
- package/dist/ui-library/{p-c30f9e0b.entry.js → p-29ac3d7d.entry.js} +2 -2
- package/dist/ui-library/p-29ac3d7d.entry.js.map +1 -0
- package/dist/ui-library/p-314b2096.entry.js +2 -0
- package/dist/ui-library/p-314b2096.entry.js.map +1 -0
- package/dist/ui-library/p-330a4988.entry.js +2 -0
- package/dist/ui-library/p-330a4988.entry.js.map +1 -0
- package/dist/ui-library/{p-21859bca.entry.js → p-346f9557.entry.js} +2 -2
- package/dist/ui-library/p-346f9557.entry.js.map +1 -0
- package/dist/ui-library/p-37557787.entry.js +2 -0
- package/dist/ui-library/p-37557787.entry.js.map +1 -0
- package/dist/ui-library/{p-baa03951.entry.js → p-3cc5addb.entry.js} +2 -2
- package/dist/ui-library/p-3cc5addb.entry.js.map +1 -0
- package/dist/ui-library/p-3d9de119.entry.js +2 -0
- package/dist/ui-library/p-3d9de119.entry.js.map +1 -0
- package/dist/ui-library/p-411ed539.entry.js +2 -0
- package/dist/ui-library/p-411ed539.entry.js.map +1 -0
- package/dist/ui-library/p-4705a51e.entry.js +2 -0
- package/dist/ui-library/p-4705a51e.entry.js.map +1 -0
- package/dist/ui-library/p-4abed9df.entry.js +2 -0
- package/dist/ui-library/p-4abed9df.entry.js.map +1 -0
- package/dist/ui-library/p-5654e4c7.js +2 -0
- package/dist/ui-library/p-5654e4c7.js.map +1 -0
- package/dist/ui-library/p-59210f0b.js +2 -0
- package/dist/ui-library/p-59210f0b.js.map +1 -0
- package/dist/ui-library/{p-19b50b5a.entry.js → p-5af44076.entry.js} +2 -2
- package/dist/ui-library/p-5af44076.entry.js.map +1 -0
- package/dist/ui-library/p-5d6b7353.entry.js +2 -0
- package/dist/ui-library/p-5d6b7353.entry.js.map +1 -0
- package/dist/ui-library/{p-097cced4.entry.js → p-613283a7.entry.js} +2 -2
- package/dist/ui-library/p-613283a7.entry.js.map +1 -0
- package/dist/ui-library/p-6153045b.js +3 -0
- package/dist/ui-library/p-6153045b.js.map +1 -0
- package/dist/ui-library/{p-e19a6c95.entry.js → p-6197fe2f.entry.js} +2 -2
- package/dist/ui-library/p-6197fe2f.entry.js.map +1 -0
- package/dist/ui-library/p-698bb2c8.js +2 -0
- package/dist/ui-library/p-698bb2c8.js.map +1 -0
- package/dist/ui-library/{p-d5633a29.entry.js → p-72254eef.entry.js} +2 -2
- package/dist/ui-library/p-72254eef.entry.js.map +1 -0
- package/dist/ui-library/p-724875b0.entry.js +2 -0
- package/dist/ui-library/p-724875b0.entry.js.map +1 -0
- package/dist/ui-library/{p-dd3c76f1.entry.js → p-7afafb9d.entry.js} +2 -2
- package/dist/ui-library/p-7afafb9d.entry.js.map +1 -0
- package/dist/ui-library/p-7d95def3.js +2 -0
- package/dist/ui-library/p-7d95def3.js.map +1 -0
- package/dist/ui-library/{p-63703ba3.entry.js → p-7e3ad38a.entry.js} +2 -2
- package/dist/ui-library/p-7e3ad38a.entry.js.map +1 -0
- package/dist/ui-library/p-83864cfe.entry.js +2 -0
- package/dist/ui-library/p-83864cfe.entry.js.map +1 -0
- package/dist/ui-library/{p-9328e5bc.entry.js → p-878226a0.entry.js} +2 -2
- package/dist/ui-library/p-878226a0.entry.js.map +1 -0
- package/dist/ui-library/p-8c0971e0.js +2 -0
- package/dist/ui-library/p-8c0971e0.js.map +1 -0
- package/dist/ui-library/p-91b51800.entry.js +2 -0
- package/dist/ui-library/p-91b51800.entry.js.map +1 -0
- package/dist/ui-library/p-95fbdd0b.entry.js +2 -0
- package/dist/ui-library/p-95fbdd0b.entry.js.map +1 -0
- package/dist/ui-library/p-99e24daf.entry.js +2 -0
- package/dist/ui-library/p-99e24daf.entry.js.map +1 -0
- package/dist/ui-library/{p-4f8394d7.js → p-9ace84c7.js} +2 -2
- package/dist/ui-library/p-9ace84c7.js.map +1 -0
- package/dist/ui-library/p-9b354f5d.entry.js +2 -0
- package/dist/ui-library/p-9b354f5d.entry.js.map +1 -0
- package/dist/ui-library/{p-c349d1d4.entry.js → p-9c1be3fb.entry.js} +2 -2
- package/dist/ui-library/p-9c1be3fb.entry.js.map +1 -0
- package/dist/ui-library/p-9f0b43f9.entry.js +2 -0
- package/dist/ui-library/p-9f0b43f9.entry.js.map +1 -0
- package/dist/ui-library/{p-af793d04.entry.js → p-a0f290d0.entry.js} +2 -2
- package/dist/ui-library/p-a0f290d0.entry.js.map +1 -0
- package/dist/ui-library/p-a55c7258.entry.js +2 -0
- package/dist/ui-library/p-a55c7258.entry.js.map +1 -0
- package/dist/ui-library/{p-6d75f216.entry.js → p-a6a9ee96.entry.js} +2 -2
- package/dist/ui-library/p-a6a9ee96.entry.js.map +1 -0
- package/dist/ui-library/{p-73597d13.entry.js → p-ac099e6b.entry.js} +2 -2
- package/dist/ui-library/p-ac099e6b.entry.js.map +1 -0
- package/dist/ui-library/p-ae601a0f.entry.js +2 -0
- package/dist/ui-library/p-ae601a0f.entry.js.map +1 -0
- package/dist/ui-library/p-b351f889.entry.js +2 -0
- package/dist/ui-library/p-b351f889.entry.js.map +1 -0
- package/dist/ui-library/{p-6433c0da.entry.js → p-b550a258.entry.js} +2 -2
- package/dist/ui-library/p-b550a258.entry.js.map +1 -0
- package/dist/ui-library/{p-90dc6af4.entry.js → p-bf87464b.entry.js} +2 -2
- package/dist/ui-library/p-bf87464b.entry.js.map +1 -0
- package/dist/ui-library/p-c03ebf7d.entry.js +2 -0
- package/dist/ui-library/p-c03ebf7d.entry.js.map +1 -0
- package/dist/ui-library/{p-a1d4f6cf.entry.js → p-cd67da3d.entry.js} +2 -2
- package/dist/ui-library/p-cd67da3d.entry.js.map +1 -0
- package/dist/ui-library/p-cdaed936.entry.js +2 -0
- package/dist/ui-library/p-cdaed936.entry.js.map +1 -0
- package/dist/ui-library/{p-8a970a40.entry.js → p-d367f4f9.entry.js} +2 -2
- package/dist/ui-library/p-d367f4f9.entry.js.map +1 -0
- package/dist/ui-library/p-d42c2025.js +2 -0
- package/dist/ui-library/p-d42c2025.js.map +1 -0
- package/dist/ui-library/{p-820c23f0.entry.js → p-dfed33c5.entry.js} +2 -2
- package/dist/ui-library/p-dfed33c5.entry.js.map +1 -0
- package/dist/ui-library/p-ed381ad9.entry.js +2 -0
- package/dist/ui-library/p-ed381ad9.entry.js.map +1 -0
- package/dist/ui-library/p-ee8342e1.entry.js +2 -0
- package/dist/ui-library/p-ee8342e1.entry.js.map +1 -0
- package/dist/ui-library/p-ee950ce2.entry.js +2 -0
- package/dist/ui-library/p-ee950ce2.entry.js.map +1 -0
- package/dist/ui-library/{p-7e0cc4ae.entry.js → p-ff90ffd1.entry.js} +2 -2
- package/dist/ui-library/p-ff90ffd1.entry.js.map +1 -0
- package/dist/ui-library/ui-library.esm.js +1 -1
- package/dist/ui-library/ui-library.esm.js.map +1 -1
- package/loader/index.d.ts +1 -1
- package/package.json +8 -8
- package/dist/cjs/event-listeners-74715e62.js +0 -45
- package/dist/cjs/event-listeners-74715e62.js.map +0 -1
- package/dist/cjs/execution-control-46f388e0.js.map +0 -1
- package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
- package/dist/cjs/form-control-2c17c573.js.map +0 -1
- package/dist/cjs/index-2f6daa5b.js.map +0 -1
- package/dist/cjs/modal-48d42228.js.map +0 -1
- package/dist/cjs/popover-f743f62b.js.map +0 -1
- package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
- package/dist/cjs/six-form.cjs.entry.js +0 -231
- package/dist/cjs/six-form.cjs.entry.js.map +0 -1
- package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
- package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
- package/dist/cjs/slot-ad537f24.js.map +0 -1
- package/dist/cjs/types-64878648.js.map +0 -1
- package/dist/collection/components/six-form/six-form.css +0 -11
- package/dist/collection/components/six-form/six-form.js +0 -419
- package/dist/collection/components/six-form/six-form.js.map +0 -1
- package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
- package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
- package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
- package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
- package/dist/collection/utils/as-array.js +0 -2
- package/dist/collection/utils/as-array.js.map +0 -1
- package/dist/collection/utils/matchers.js +0 -3
- package/dist/collection/utils/matchers.js.map +0 -1
- package/dist/collection/utils/testing.js +0 -39
- package/dist/collection/utils/testing.js.map +0 -1
- package/dist/components/six-form.d.ts +0 -11
- package/dist/components/six-form.js +0 -252
- package/dist/components/six-form.js.map +0 -1
- package/dist/esm/event-listeners-570a24ea.js +0 -43
- package/dist/esm/event-listeners-570a24ea.js.map +0 -1
- package/dist/esm/execution-control-1a60d709.js.map +0 -1
- package/dist/esm/focus-visible-97933ea9.js.map +0 -1
- package/dist/esm/form-control-3b440ea1.js.map +0 -1
- package/dist/esm/index-5c0f6628.js.map +0 -1
- package/dist/esm/modal-5ebdc320.js.map +0 -1
- package/dist/esm/polyfills/css-shim.js +0 -1
- package/dist/esm/popover-bd2c2fca.js.map +0 -1
- package/dist/esm/scroll-180b53fd.js.map +0 -1
- package/dist/esm/six-form.entry.js +0 -227
- package/dist/esm/six-form.entry.js.map +0 -1
- package/dist/esm/six-timepicker.types-e161a447.js +0 -50
- package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
- package/dist/esm/slot-6f3984c7.js.map +0 -1
- package/dist/esm/types-4b10b413.js.map +0 -1
- package/dist/types/components/six-form/six-form.d.ts +0 -69
- package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
- package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
- package/dist/types/utils/as-array.d.ts +0 -1
- package/dist/types/utils/matchers.d.ts +0 -2
- package/dist/types/utils/popper.d.ts +0 -33
- package/dist/types/utils/testing.d.ts +0 -2
- package/dist/ui-library/p-054e12cc.entry.js +0 -2
- package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
- package/dist/ui-library/p-0786fa7c.js +0 -2
- package/dist/ui-library/p-0786fa7c.js.map +0 -1
- package/dist/ui-library/p-097cced4.entry.js.map +0 -1
- package/dist/ui-library/p-0d79b0c6.entry.js +0 -2
- package/dist/ui-library/p-0d79b0c6.entry.js.map +0 -1
- package/dist/ui-library/p-18e5f772.entry.js +0 -2
- package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
- package/dist/ui-library/p-18ea0c56.js +0 -2
- package/dist/ui-library/p-18ea0c56.js.map +0 -1
- package/dist/ui-library/p-19364560.entry.js.map +0 -1
- package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
- package/dist/ui-library/p-21859bca.entry.js.map +0 -1
- package/dist/ui-library/p-25a3bf57.js.map +0 -1
- package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
- package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
- package/dist/ui-library/p-308261c4.entry.js +0 -2
- package/dist/ui-library/p-308261c4.entry.js.map +0 -1
- package/dist/ui-library/p-33f7e22b.entry.js +0 -2
- package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
- package/dist/ui-library/p-4ae91795.entry.js +0 -2
- package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
- package/dist/ui-library/p-4f8394d7.js.map +0 -1
- package/dist/ui-library/p-53a13db5.entry.js +0 -2
- package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
- package/dist/ui-library/p-559c87f0.entry.js +0 -2
- package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
- package/dist/ui-library/p-611e1978.entry.js.map +0 -1
- package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
- package/dist/ui-library/p-6403fd87.entry.js +0 -2
- package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
- package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
- package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
- package/dist/ui-library/p-73597d13.entry.js.map +0 -1
- package/dist/ui-library/p-79eee01b.js +0 -2
- package/dist/ui-library/p-79eee01b.js.map +0 -1
- package/dist/ui-library/p-7e0cc4ae.entry.js.map +0 -1
- package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
- package/dist/ui-library/p-835c3ff7.entry.js +0 -2
- package/dist/ui-library/p-835c3ff7.entry.js.map +0 -1
- package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
- package/dist/ui-library/p-90824648.entry.js +0 -2
- package/dist/ui-library/p-90824648.entry.js.map +0 -1
- package/dist/ui-library/p-90dc6af4.entry.js.map +0 -1
- package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
- package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
- package/dist/ui-library/p-9a860acc.js +0 -2
- package/dist/ui-library/p-9a860acc.js.map +0 -1
- package/dist/ui-library/p-9d1d222f.entry.js +0 -2
- package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
- package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
- package/dist/ui-library/p-ac4f4d45.js +0 -3
- package/dist/ui-library/p-ac4f4d45.js.map +0 -1
- package/dist/ui-library/p-af793d04.entry.js.map +0 -1
- package/dist/ui-library/p-b0e5658f.entry.js +0 -2
- package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
- package/dist/ui-library/p-b1e66136.js +0 -2
- package/dist/ui-library/p-b1e66136.js.map +0 -1
- package/dist/ui-library/p-b4dfb7cf.js +0 -2
- package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
- package/dist/ui-library/p-b997e43c.entry.js +0 -2
- package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
- package/dist/ui-library/p-baa03951.entry.js.map +0 -1
- package/dist/ui-library/p-c0cb6436.entry.js +0 -2
- package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
- package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
- package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
- package/dist/ui-library/p-c53a63f9.entry.js +0 -2
- package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
- package/dist/ui-library/p-c640c2d8.entry.js +0 -2
- package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
- package/dist/ui-library/p-c94d0b07.entry.js +0 -2
- package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
- package/dist/ui-library/p-d12c6092.js +0 -2
- package/dist/ui-library/p-d12c6092.js.map +0 -1
- package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
- package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
- package/dist/ui-library/p-df655bc9.entry.js +0 -2
- package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
- package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
- package/dist/ui-library/p-e9e930d2.entry.js +0 -2
- package/dist/ui-library/p-e9e930d2.entry.js.map +0 -1
- package/dist/ui-library/p-eb8f05a9.js.map +0 -1
- package/dist/ui-library/p-edc96efc.entry.js +0 -2
- package/dist/ui-library/p-edc96efc.entry.js.map +0 -1
- package/dist/ui-library/p-f18ba86f.entry.js +0 -2
- package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
- package/dist/ui-library/p-f4938771.entry.js +0 -2
- package/dist/ui-library/p-f4938771.entry.js.map +0 -1
- package/dist/ui-library/p-f70e2403.entry.js +0 -2
- package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
- package/dist/ui-library/p-f9d345e0.entry.js +0 -2
- package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
- package/dist/ui-library/p-fed07a1f.entry.js +0 -2
- package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
- package/dist/ui-library/p-ff0257bf.entry.js +0 -2
- package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"six-select.js","sourceRoot":"","sources":["../../../src/components/six-select/six-select.tsx"],"names":[],"mappings":"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","sourcesContent":["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';\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 box: HTMLElement;\n dropdown: HTMLSixDropdownElement;\n input: HTMLSixInputElement;\n inputId = `select-${++id}`;\n labelId = `select-label-${id}`;\n helpTextId = `select-help-text-${id}`;\n errorTextId = `select-error-text-${id}`;\n menu: HTMLSixMenuElement;\n resizeObserver: ResizeObserver;\n touched: boolean;\n customErrorText = '';\n customValidation = false;\n\n readonly eventListeners = new EventListeners();\n\n @Element() host: HTMLSixSelectElement;\n\n @State() hasFocus = false;\n @State() hasHelpTextSlot = false;\n @State() hasErrorTextSlot = false;\n @State() hasLabelSlot = false;\n @State() isOpen = false;\n @State() displayLabel = '';\n @State() displayTags = [];\n\n /** Set to true to enable multiselect. */\n @Prop() multiple = false;\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 @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 = DEFAULT_DEBOUNCE_FAST;\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 label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The select's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** The select's error text. Alternatively, you can use the error-text slot. */\n @Prop() errorText = '';\n\n /** The select's required attribute. */\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 /** This will be true when the control is in an invalid state. Validity is determined by the `required` prop. */\n @Prop({ mutable: true }) invalid = false;\n\n /** Set to render as line */\n @Prop() line = false;\n\n /** Set to display the error text on blur and not when typing */\n @Prop() errorOnBlur = 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 /** The default value the select will be reverted to when reset is executed */\n @Prop() defaultValue: string | string[] | undefined;\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 // Cast to array | string based on `this.multiple`\n const value = this.getValueAsArray();\n this.value = this.multiple ? value : value[0] || '';\n this.syncItemsFromValue();\n }\n\n @Watch('value')\n handleValueChange() {\n this.syncItemsFromValue();\n if (this.input) {\n this.sixChange.emit({ value: this.value, isSelected: true });\n }\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.handleBlur = this.handleBlur.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleClearClick = this.handleClearClick.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleSelectAll = this.handleSelectAll.bind(this);\n this.handleLabelClick = this.handleLabelClick.bind(this);\n this.handleMenuHide = this.handleMenuHide.bind(this);\n this.handleMenuShow = this.handleMenuShow.bind(this);\n this.handleMenuSelect = this.handleMenuSelect.bind(this);\n this.handleSlotChange = this.handleSlotChange.bind(this);\n this.handleInvalid = this.handleInvalid.bind(this);\n this.handleTagInteraction = this.handleTagInteraction.bind(this);\n\n this.host.shadowRoot.addEventListener('slotchange', this.handleSlotChange);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n if (this.multiple && this.value) {\n this.value = this.getValueAsArray();\n }\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(() => this.resizeMenu());\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 this.eventListeners.add(this.input, 'invalid', async (event) => {\n if (this.customValidation || (!this.hasErrorTextSlot && !this.errorText && !this.customErrorText)) {\n this.customErrorText = await this.input.getValidationMessage();\n }\n event.preventDefault();\n });\n\n this.eventListeners.add(\n this.input,\n 'six-input-input',\n debounce((event) => {\n const enteredValue = this.input.value;\n this.clearValues();\n this.sixChange.emit({ value: enteredValue, isSelected: false });\n event.stopPropagation();\n }, this.inputDebounce)\n );\n\n this.input.value = this.hasSelection() ? this.displayLabel : '';\n }\n\n disconnectedCallback() {\n this.host.shadowRoot.removeEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.removeAll();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n @Method()\n async reportValidity() {\n return this.input.reportValidity();\n }\n\n /** Checks for validity. */\n @Method()\n async checkValidity() {\n return this.input.isValid();\n }\n\n /** Sets a custom validation message. If `message` is not empty, the field will be considered invalid. */\n @Method()\n async setCustomValidity(message: string) {\n this.customErrorText = '';\n this.customValidation = message !== '';\n this.input.setCustomValidity(message);\n this.invalid = !this.input.checkValidity();\n }\n\n /** Resets the formcontrol */\n @Method()\n async reset() {\n this.clearValues();\n this.customErrorText = '';\n this.customValidation = false;\n this.input.setCustomValidity('');\n this.invalid = false;\n }\n\n getItemLabel(item: HTMLSixMenuItemElement) {\n const slot = item.shadowRoot.querySelector('slot:not([name])') as HTMLSlotElement;\n if (slot) {\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 getItems() {\n if (this.options !== null) {\n return this.options.map((option) => <six-menu-item value={option.value}>{option.label}</six-menu-item>);\n }\n\n return [...this.host.querySelectorAll('six-menu-item')];\n }\n\n hasMenuItems() {\n return this.getItems().length > 0;\n }\n\n getValueAsStringArray() {\n const values = this.getValueAsArray();\n // enforce that the values are converted to 'string' before the value is compared\n return values.map(String);\n }\n\n getValueAsArray() {\n return Array.isArray(this.value) ? this.value : [this.value];\n }\n\n handleBlur() {\n this.hasFocus = false;\n this.sixBlur.emit();\n }\n\n handleFocus() {\n this.hasFocus = true;\n this.sixFocus.emit();\n }\n\n handleInvalid() {\n this.invalid = true;\n }\n\n handleClearClick(event: MouseEvent) {\n event.stopPropagation();\n this.clearValues();\n }\n\n clearValues() {\n this.value = this.defaultValue ?? (this.multiple ? [] : '');\n this.syncItemsFromValue();\n }\n\n handleSelectAll(event: KeyboardEvent) {\n const nonFilteredItems = this.getItems().filter((item) => item.style.display !== 'none');\n const keyName = event.key;\n const keyCode = event.code;\n\n if (keyName === 'Control') {\n return;\n }\n\n if (this.isOpen && this.multiple && keyCode === 'KeyA' && event.ctrlKey) {\n event.preventDefault();\n const hasDeselectedOptions = nonFilteredItems.some((opt) => !opt.disabled && !opt.checked);\n\n nonFilteredItems\n .filter((option) => !option.disabled)\n .forEach((option) => (option.checked = hasDeselectedOptions));\n const checkedItems = nonFilteredItems.filter((option) => option.checked).map((option) => option.value);\n this.value = hasDeselectedOptions ? checkedItems : [];\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n\n const items = this.getItems();\n const firstItem = items[0];\n const lastItem = items[items.length - 1];\n\n // Ignore key presses on tags\n if (target.tagName.toLowerCase() === 'six-tag') {\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 // Up/down opens the menu\n if (['ArrowDown', 'ArrowUp'].includes(event.key)) {\n event.preventDefault();\n\n // Show the menu if it's not already open\n if (!this.isOpen) {\n this.dropdown.show();\n }\n\n // Focus on a menu item\n if (event.key === 'ArrowDown' && firstItem) {\n firstItem.setFocus();\n return;\n }\n\n if (event.key === 'ArrowUp' && lastItem) {\n lastItem.setFocus();\n return;\n }\n }\n\n // All other keys open the menu and initiate type to select\n if (!this.isOpen) {\n event.stopPropagation();\n event.preventDefault();\n this.dropdown.show();\n this.menu.typeToSelect(event.key);\n }\n }\n\n handleLabelClick() {\n this.box.focus();\n }\n\n handleMenuSelect(event: CustomEvent) {\n const item = event.detail.item;\n if (this.multiple) {\n if (this.value == null || this.value === '') {\n this.value = [];\n } else if (!Array.isArray(this.value)) {\n this.value = [this.value];\n }\n this.value = this.value.includes(item.value)\n ? this.value.filter((v) => v !== item.value)\n : [...this.value, item.value];\n } else {\n this.value = item.value;\n }\n this.syncItemsFromValue();\n }\n\n handleMenuShow(event: CustomEvent) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n\n this.resizeMenu();\n this.resizeObserver.observe(this.host);\n this.isOpen = true;\n }\n\n handleMenuHide() {\n this.resizeObserver.unobserve(this.host);\n this.isOpen = false;\n }\n\n handleSlotChange() {\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n this.hasErrorTextSlot = hasSlot(this.host, 'error-text');\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.syncItemsFromValue();\n }\n\n handleTagInteraction(event: KeyboardEvent | MouseEvent) {\n // Don't toggle the menu when a tag's clear button is activated\n const path = event.composedPath() as EventTarget[];\n const clearButton = path.find((el) => {\n if (el instanceof HTMLElement) {\n const element = el as HTMLElement;\n return element.classList.contains('tag__clear');\n }\n });\n\n if (clearButton) {\n event.stopPropagation();\n }\n }\n\n resizeMenu() {\n this.menu.style.minWidth = `${this.box.clientWidth}px`;\n\n if (this.dropdown) {\n this.dropdown.reposition();\n }\n }\n\n syncItemsFromValue() {\n const items = this.getItems();\n const value = this.getValueAsStringArray();\n\n // Sync checked states\n items.forEach((item) => (item.checked = value.includes(item.value)));\n\n // Sync display label\n if (this.multiple) {\n const checkedItems = [];\n value.forEach((val) => items.map((item) => (item.value === val ? checkedItems.push(item) : null)));\n\n this.displayTags = checkedItems.map((item) => {\n return (\n <six-tag\n exportparts=\"base:tag\"\n type=\"primary\"\n size={this.size}\n pill={this.pill}\n clearable\n onClick={this.handleTagInteraction}\n onKeyDown={this.handleTagInteraction}\n onSix-tag-clear={(event) => {\n event.stopPropagation();\n if (!this.disabled) {\n item.checked = false;\n this.syncValueFromItems();\n }\n }}\n >\n {this.getItemLabel(item)}\n </six-tag>\n );\n });\n\n if (this.maxTagsVisible > 0 && this.displayTags.length > this.maxTagsVisible) {\n const total = this.displayTags.length;\n this.displayLabel = '';\n this.displayTags = this.displayTags.slice(0, this.maxTagsVisible);\n this.displayTags.push(\n <six-tag exportparts=\"base:tag\" type=\"info\" size={this.size}>\n +{total - this.maxTagsVisible}\n </six-tag>\n );\n }\n } else {\n this.displayLabel = this.extractLabelForSelectedItem(value, items);\n this.displayTags = [];\n }\n\n const hasSelection = this.hasSelection();\n if (hasSelection) {\n this.touched = true;\n }\n if (this.input && this.touched) {\n if (!this.autocomplete) {\n this.input.value = hasSelection ? this.displayLabel : '';\n } else if (hasSelection) {\n this.input.value = Array.isArray(this.value) ? this.value.join(',') : this.value;\n }\n this.invalid = !this.input.checkValidity();\n }\n }\n\n private extractLabelForSelectedItem(value: string[], items: HTMLSixMenuItemElement[]) {\n if (value.length === 0 || (value.length === 1 && value[0] === '')) {\n return '';\n }\n\n if (this.options !== null) {\n const selectedOption = this.options.find((item) => item.value === value[0]);\n return selectedOption?.value || '';\n }\n\n const checkedItem = items.find((item) => item.value === value[0]);\n return checkedItem ? this.getItemLabel(checkedItem) : '';\n }\n\n syncValueFromItems() {\n const items = this.getItems();\n const checkedItems = items.filter((item) => item.checked);\n const checkedValues = checkedItems.map((item) => item.value);\n this.value = this.multiple\n ? this.getValueAsStringArray().filter((val) => checkedValues.includes(val))\n : checkedValues.length > 0\n ? checkedValues[0]\n : '';\n }\n\n displayError() {\n return this.invalid && (!this.errorOnBlur || (!this.hasFocus && !this.isOpen));\n }\n\n render() {\n const hasSelection = this.hasSelection();\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.customErrorText ? this.customErrorText : this.errorText}\n hasErrorTextSlot={this.hasErrorTextSlot}\n size={this.size}\n onLabelClick={this.handleLabelClick}\n disabled={this.disabled}\n required={this.required}\n displayError={this.displayError()}\n >\n <six-dropdown\n part=\"base\"\n ref={(el) => (this.dropdown = el)}\n hoist={this.hoist}\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.displayLabel === '',\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.handleSelectAll}\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 >\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 onKeyDown={this.handleKeyDown}\n >\n <span class=\"select__label\">\n {this.displayTags.length ? (\n <span part=\"tags\" class=\"select__tags\">\n {this.displayTags}\n </span>\n ) : (\n this.displayLabel || this.placeholder\n )}\n </span>\n\n {this.clearable && hasSelection && (\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 {this.hasMenuItems() && (\n <span part=\"icon\" class=\"select__icon\">\n <six-icon size=\"medium\">expand_more</six-icon>\n </span>\n )}\n\n {/*\n The hidden input tricks the browser's built-in validation so it works as expected. We use an input instead\n of a select because, otherwise, iOS will show a list of options during validation.\n */}\n <six-input\n ref={(el) => (this.input = el)}\n class={{\n select__input: true,\n 'select__hidden-select': !this.autocomplete,\n }}\n aria-hidden=\"true\"\n required={this.required}\n onInvalid={this.handleInvalid}\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 <six-menu\n ref={(el) => (this.menu = el)}\n part=\"menu\"\n class={{\n select__menu: true,\n 'select__menu--filtered': this.filter || this.asyncFilter,\n 'select__menu--hidden': !this.hasMenuItems(),\n }}\n onSix-menu-item-selected={this.handleMenuSelect}\n items={this.options}\n virtualScroll={this.virtualScroll}\n remove-box-shadow\n >\n <slot onSlotchange={this.handleSlotChange} />\n </six-menu>\n </six-dropdown>\n </FormControl>\n );\n }\n\n private hasSelection() {\n if (this.multiple) {\n return Array.isArray(this.value) ? this.value.length > 0 : false;\n }\n return this.value !== '';\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"six-select.js","sourceRoot":"","sources":["../../../src/components/six-select/six-select.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,WAAW,MAAM,uDAAuD,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAOtC,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,MAAM,OAAO,SAAS;;IAIZ,YAAO,GAAG,UAAU,EAAE,EAAE,EAAE,CAAC;IAC3B,YAAO,GAAG,gBAAgB,EAAE,EAAE,CAAC;IAC/B,eAAU,GAAG,oBAAoB,EAAE,EAAE,CAAC;IACtC,gBAAW,GAAG,qBAAqB,EAAE,EAAE,CAAC;IAGxC,YAAO,GAAG,KAAK,CAAC;IAChB,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IA2NtC,eAAU,GAAG,GAAG,EAAE;MACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;MACtB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC,CAAC;IAEM,gBAAW,GAAG,GAAG,EAAE;MACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;MACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC;IAEM,qBAAgB,GAAG,CAAC,KAAiB,EAAE,EAAE;MAC/C,KAAK,CAAC,eAAe,EAAE,CAAC;MACxB,IAAI,CAAC,WAAW,EAAE,CAAC;MACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC;IAOM,oBAAe,GAAG,CAAC,KAAoB,EAAE,EAAE;MACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;MACzF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;MAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;MAE3B,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,OAAO;OACR;MAED,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;QACvE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE3F,gBAAgB;WACb,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;WACpC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvG,IAAI,CAAC,KAAK,GAAG,oBAAoB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;OAC9D;IACH,CAAC,CAAC;IAEM,kBAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;;MAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;MAE3C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;MAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;MAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;MAEzC,6BAA6B;MAC7B,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE;QAC9C,OAAO;OACR;MAED,uCAAuC;MACvC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE;UACf,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,EAAE,CAAC;SACvB;QACD,OAAO;OACR;MAED,yBAAyB;MACzB,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QAChD,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,yCAAyC;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;UAChB,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,EAAE,CAAC;SACvB;QAED,uBAAuB;QACvB,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,SAAS,EAAE;UAC1C,SAAS,CAAC,QAAQ,EAAE,CAAC;UACrB,OAAO;SACR;QAED,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,QAAQ,EAAE;UACvC,QAAQ,CAAC,QAAQ,EAAE,CAAC;UACpB,OAAO;SACR;OACF;MAED,2DAA2D;MAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QAChB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,EAAE,CAAC;QACtB,MAAA,IAAI,CAAC,IAAI,0CAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;OACpC;IACH,CAAC,CAAC;IAEM,qBAAgB,GAAG,GAAG,EAAE;;MAC9B,MAAA,IAAI,CAAC,GAAG,0CAAE,KAAK,EAAE,CAAC;IACpB,CAAC,CAAC;IAEM,qBAAgB,GAAG,CAAC,KAAkB,EAAE,EAAE;MAChD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;MAE/B,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE;UACjB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YACpC,CAAC,CAAE,IAAI,CAAC,KAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC;YACpD,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;aAAM;UACL,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;MACH,CAAC,CAAC;MAEF,IAAI,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC;MAExB,IAAI,CAAC,kBAAkB,EAAE,CAAC;MAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEM,mBAAc,GAAG,CAAC,KAAkB,EAAE,EAAE;;MAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,OAAO;OACR;MAED,IAAI,CAAC,UAAU,EAAE,CAAC;MAClB,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC,CAAC;IAEM,mBAAc,GAAG,GAAG,EAAE;;MAC5B,MAAA,IAAI,CAAC,cAAc,0CAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC,CAAC;IAEM,qBAAgB,GAAG,GAAG,EAAE;MAC9B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;MACvD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;MAChD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEM,yBAAoB,GAAG,CAAC,KAAiC,EAAE,EAAE;MACnE,+DAA+D;MAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAmB,CAAC;MACnD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACnC,IAAI,EAAE,YAAY,WAAW,EAAE;UAC7B,MAAM,OAAO,GAAG,EAAiB,CAAC;UAClC,OAAO,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SACjD;MACH,CAAC,CAAC,CAAC;MAEH,IAAI,WAAW,EAAE;QACf,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;OAC9D;IACH,CAAC,CAAC;oBA/WkB,KAAK;2BACE,KAAK;wBACR,KAAK;kBACX,KAAK;wBACC,EAAE;uBACkB,EAAE;oBAG3B,KAAK;0BAMC,CAAC;oBAGP,KAAK;gBAGT,EAAE;uBAGK,EAAE;;0BAMC,qBAAqB;gBAGD,QAAQ;iBAMrC,KAAK;iBAG+B,EAAE;gBAGvC,KAAK;oBAGD,EAAE;oBAGF,KAAK;qBAGJ,KAAK;iBAGT,EAAE;qBAGE,EAAE;mBAGa,KAAK;gBAGzB,KAAK;kBAGH,KAAK;uBAOA,KAAK;wBAKJ,KAAK;yBAGJ,qBAAqB;mBAGD,IAAI;yBAIxB,KAAK;;EAG7B,oBAAoB;;IAClB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;MAChC,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,EAAE,CAAC;KACvB;EACH,CAAC;EAKD,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;EAC1B,CAAC;EAGD,oBAAoB;IAClB,kDAAkD;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAC5B,CAAC;EAGD,KAAK,CAAC,iBAAiB;IACrB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;MAC/C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;MACpD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;IAED,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAClC,CAAC;EAWD,iBAAiB;;IACf,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;MAC/C,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;KACvE;IACD,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5E,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;EACtE,CAAC;EAED,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;MACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;KACrC;EACH,CAAC;EAED,gBAAgB;IACd,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;MAAE,OAAO;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAElE,8GAA8G;IAC9G,qBAAqB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC,cAAc,CAAC,GAAG,CACrB,KAAK,EACL,iBAAiB,EACjB,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;MACjB,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;MACjC,IAAI,CAAC,WAAW,EAAE,CAAC;MACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;MAChE,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CACvB,CAAC;IAEF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;EAC7D,CAAC;EAED,oBAAoB;;IAClB,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/E,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;EAClC,CAAC;EAED,gCAAgC;EAEhC,KAAK,CAAC,QAAQ,CAAC,OAAsB;;IACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrB,MAAA,IAAI,CAAC,GAAG,0CAAE,KAAK,CAAC,OAAO,CAAC,CAAC;EAC3B,CAAC;EAEO,YAAY,CAAC,IAA4B;;IAC/C,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,aAAa,CAAC,kBAAkB,CAAoB,CAAC;IACnF,IAAI,IAAI,IAAI,IAAI,EAAE;MAChB,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;KAC7B;SAAM;MACL,2EAA2E;MAC3E,OAAO,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC;KAC/B;EACH,CAAC;EAEO,QAAQ;IACd,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;MACzB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAe,KAAK,EAAE,MAAM,CAAC,KAAK,IAAG,MAAM,CAAC,KAAK,CAAiB,CAAC,CAAC;KACzG;IAED,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;EAC1D,CAAC;EAEO,YAAY;IAClB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;EACpC,CAAC;EAEO,eAAe;IACrB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9F,iFAAiF;IACjF,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;EAC5B,CAAC;EAkBO,WAAW;IACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAC5B,CAAC;EAuIO,UAAU;IAChB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;MAAE,OAAO;IAClD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC;IAEvD,IAAI,IAAI,CAAC,QAAQ,EAAE;MACjB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;KAC5B;EACH,CAAC;EAEO,KAAK,CAAC,kBAAkB;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAErC,sBAAsB;IACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAErE,qBAAqB;IACrB,IAAI,IAAI,CAAC,QAAQ,EAAE;MACjB,MAAM,YAAY,GAA6B,EAAE,CAAC;MAClD,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;MAEnG,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3C,OAAO,CACL,eACE,WAAW,EAAC,UAAU,EACtB,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,QACT,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,SAAS,EAAE,IAAI,CAAC,oBAAoB,qBACnB,CAAC,KAAK,EAAE,EAAE;YACzB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;cAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;cACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;UACH,CAAC,IAEA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAChB,CACX,CAAC;MACJ,CAAC,CAAC,CAAC;MAEH,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,CAAC,IAAI,CACnB,eAAS,WAAW,EAAC,UAAU,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI;;UACvD,KAAK,GAAG,IAAI,CAAC,cAAc,CACrB,CACX,CAAC;OACH;KACF;SAAM;MACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;MACnE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;KACvB;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;MAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;MACtC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;KAClF;EACH,CAAC;EAEO,2BAA2B,CAAC,KAAe,EAAE,KAA+B;IAClF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE;MACjE,OAAO,EAAE,CAAC;KACX;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;MACzB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;MAC5E,OAAO,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,KAAI,EAAE,CAAC;KACpC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EAC3D,CAAC;EAEO,kBAAkB;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;MACxB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;MACrE,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC;EACT,CAAC;EAED,MAAM;;IACJ,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAEzC,OAAO,CACL,EAAC,WAAW,IACV,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,YAAY,EAAE,IAAI,CAAC,OAAO;MAE1B,oBACE,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EACjC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,aAAa,EAAE,CAAC,IAAI,CAAC,QAAQ,EAC7B,iBAAiB,EAAE,IAAI,CAAC,IAAI,EAC5B,0BAA0B,EAAE,IAAI,CAAC,YAAY,EAC7C,KAAK,EAAE;UACL,MAAM,EAAE,IAAI;UACZ,cAAc,EAAE,IAAI,CAAC,MAAM;UAC3B,eAAe,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,MAAK,CAAC;UACzC,iBAAiB,EAAE,IAAI,CAAC,QAAQ;UAChC,mBAAmB,EAAE,IAAI,CAAC,SAAS;UACnC,kBAAkB,EAAE,IAAI,CAAC,QAAQ;UACjC,kBAAkB,EAAE,IAAI,CAAC,QAAQ;UACjC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,IAAI,YAAY;UACjD,6BAA6B,EAAE,IAAI,CAAC,YAAY,KAAK,EAAE;UACvD,eAAe,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;UACtC,gBAAgB,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;UACxC,eAAe,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;UACtC,cAAc,EAAE,IAAI,CAAC,IAAI;UACzB,iBAAiB,EAAE,IAAI,CAAC,OAAO;SAChC,EACD,SAAS,EAAE,IAAI,CAAC,eAAe,yBACV,IAAI,CAAC,cAAc,yBACnB,IAAI,CAAC,cAAc,EACxC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW;QAE7B,WACE,IAAI,EAAC,SAAS,EACd,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAC5B,EAAE,EAAE,IAAI,CAAC,OAAO,EAChB,KAAK,EAAE;YACL,WAAW,EAAE,IAAI;YACjB,mBAAmB,EAAE,IAAI,CAAC,IAAI;YAC9B,2BAA2B,EAAE,IAAI,CAAC,YAAY;WAC/C,EACD,IAAI,EAAC,UAAU,qBACE,IAAI,CAAC,OAAO,sBACX,IAAI,CAAC,UAAU,mBACnB,MAAM,mBACL,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChC,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa;UAE7B,YAAM,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IACpF,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC7B,YAAM,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc,IACnC,IAAI,CAAC,WAAW,CACZ,CACR,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CACtC,CACI;UAEN,IAAI,CAAC,SAAS,IAAI,YAAY,IAAI,CACjC,uBACE,WAAW,EAAC,mBAAmB,EAC/B,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,QAAQ,EAAC,IAAI,GACb,CACH;UAEA,IAAI,CAAC,YAAY,EAAE,IAAI,CACtB,YAAM,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc;YACpC,gBAAU,IAAI,EAAC,QAAQ,kBAAuB,CACzC,CACR;UAMD,iBACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,EAC9B,KAAK,EAAE;cACL,aAAa,EAAE,IAAI;cACnB,uBAAuB,EAAE,CAAC,IAAI,CAAC,YAAY;aAC5C,iBACW,MAAM,EAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,CAAC,CAAC,GACZ,CACE;QAEN,gBACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,EAC7B,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;YACL,YAAY,EAAE,IAAI;YAClB,wBAAwB,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW;YACzD,sBAAsB,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;WAC7C,8BACyB,IAAI,CAAC,gBAAgB,EAC/C,KAAK,EAAE,IAAI,CAAC,OAAO,EACnB,aAAa,EAAE,IAAI,CAAC,aAAa;UAGjC,YAAM,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAI,CACpC,CACE,CACH,CACf,CAAC;EACJ,CAAC;EAEO,YAAY;IAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;EACnE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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 { isValueEmpty } 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 dropdown?: HTMLSixDropdownElement;\n private input?: 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 menu?: HTMLSixMenuElement;\n private resizeObserver?: ResizeObserver;\n private touched = false;\n private eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixSelectElement;\n\n @State() hasFocus = false;\n @State() hasHelpTextSlot = false;\n @State() hasLabelSlot = false;\n @State() isOpen = false;\n @State() displayLabel = '';\n @State() displayTags: HTMLSixTagElement[] = [];\n\n /** Set to true to enable multiselect. */\n @Prop() multiple = false;\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 @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 = DEFAULT_DEBOUNCE_FAST;\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 = '';\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 // Cast to array | string based on `this.multiple`\n const value = this.getValueAsArray();\n this.value = this.multiple ? value : value[0] || '';\n this.syncItemsFromValue();\n }\n\n @Watch('value')\n async handleValueChange() {\n if (this.multiple && !Array.isArray(this.value)) {\n this.value = [];\n }\n\n if (!this.multiple && typeof this.value !== 'string') {\n this.value = '';\n }\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 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 }\n\n componentWillLoad() {\n this.handleSlotChange();\n if (this.multiple && this.value != null) {\n this.value = this.getValueAsArray();\n }\n }\n\n componentDidLoad() {\n if (this.input == null) return;\n const input = this.input;\n this.resizeObserver = new ResizeObserver(() => this.resizeMenu());\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 this.eventListeners.add(\n input,\n 'six-input-input',\n debounce((event) => {\n const enteredValue = input.value;\n this.clearValues();\n this.sixChange.emit({ value: enteredValue, isSelected: false });\n event.stopPropagation();\n }, this.inputDebounce)\n );\n\n input.value = this.hasSelection() ? this.displayLabel : '';\n }\n\n disconnectedCallback() {\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) {\n return this.options.map((option) => <six-menu-item value={option.value}>{option.label}</six-menu-item>);\n }\n\n return [...this.host.querySelectorAll('six-menu-item')];\n }\n\n private hasMenuItems() {\n return this.getItems().length > 0;\n }\n\n private getValueAsArray() {\n const values = Array.isArray(this.value) ? this.value : this.value === '' ? [] : [this.value];\n // enforce that the values are converted to 'string' before the value is compared\n return values.map(String);\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 = (event: MouseEvent) => {\n event.stopPropagation();\n this.clearValues();\n this.sixChange.emit({ value: this.value, isSelected: true });\n };\n\n private clearValues() {\n this.value = this.multiple ? [] : '';\n this.syncItemsFromValue();\n }\n\n private handleSelectAll = (event: KeyboardEvent) => {\n const nonFilteredItems = this.getItems().filter((item) => item.style.display !== 'none');\n const keyName = event.key;\n const keyCode = event.code;\n\n if (keyName === 'Control') {\n return;\n }\n\n if (this.isOpen && this.multiple && keyCode === 'KeyA' && event.ctrlKey) {\n event.preventDefault();\n const hasDeselectedOptions = nonFilteredItems.some((opt) => !opt.disabled && !opt.checked);\n\n nonFilteredItems\n .filter((option) => !option.disabled)\n .forEach((option) => (option.checked = hasDeselectedOptions));\n const checkedItems = nonFilteredItems.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\n private handleKeyDown = (event: KeyboardEvent) => {\n const target = event.target as HTMLElement;\n\n const items = this.getItems();\n const firstItem = items[0];\n const lastItem = items[items.length - 1];\n\n // Ignore key presses on tags\n if (target.tagName.toLowerCase() === 'six-tag') {\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 // Up/down opens the menu\n if (['ArrowDown', 'ArrowUp'].includes(event.key)) {\n event.preventDefault();\n\n // Show the menu if it's not already open\n if (!this.isOpen) {\n this.dropdown?.show();\n }\n\n // Focus on a menu item\n if (event.key === 'ArrowDown' && firstItem) {\n firstItem.setFocus();\n return;\n }\n\n if (event.key === 'ArrowUp' && lastItem) {\n lastItem.setFocus();\n return;\n }\n }\n\n // All other keys open the menu and initiate type to select\n if (!this.isOpen) {\n event.stopPropagation();\n event.preventDefault();\n this.dropdown?.show();\n this.menu?.typeToSelect(event.key);\n }\n };\n\n private handleLabelClick = () => {\n this.box?.focus();\n };\n\n private handleMenuSelect = (event: CustomEvent) => {\n const item = event.detail.item;\n\n const getValue = () => {\n if (this.multiple) {\n return this.value.includes(item.value)\n ? (this.value as []).filter((v) => v !== item.value)\n : [...this.value, item.value];\n } else {\n return item.value;\n }\n };\n\n this.value = getValue();\n\n this.syncItemsFromValue();\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\n this.resizeMenu();\n this.resizeObserver?.observe(this.host);\n this.isOpen = true;\n };\n\n private handleMenuHide = () => {\n this.resizeObserver?.unobserve(this.host);\n this.isOpen = false;\n };\n\n private handleSlotChange = () => {\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.syncItemsFromValue();\n };\n\n private handleTagInteraction = (event: KeyboardEvent | MouseEvent) => {\n // Don't toggle the menu when a tag's clear button is activated\n const path = event.composedPath() as EventTarget[];\n const clearButton = path.find((el) => {\n if (el instanceof HTMLElement) {\n const element = el as HTMLElement;\n return element.classList.contains('tag__clear');\n }\n });\n\n if (clearButton) {\n event.stopPropagation();\n this.sixChange.emit({ value: this.value, isSelected: true });\n }\n };\n\n private resizeMenu() {\n if (this.menu == null || this.box == null) return;\n this.menu.style.minWidth = `${this.box.clientWidth}px`;\n\n if (this.dropdown) {\n this.dropdown.reposition();\n }\n }\n\n private async syncItemsFromValue() {\n const items = this.getItems();\n const value = this.getValueAsArray();\n\n // Sync checked states\n items.forEach((item) => (item.checked = value.includes(item.value)));\n\n // Sync display label\n if (this.multiple) {\n const checkedItems: HTMLSixMenuItemElement[] = [];\n value.forEach((val) => items.map((item) => (item.value === val ? checkedItems.push(item) : null)));\n\n this.displayTags = checkedItems.map((item) => {\n return (\n <six-tag\n exportparts=\"base:tag\"\n type=\"primary\"\n size={this.size}\n pill={this.pill}\n clearable\n onClick={this.handleTagInteraction}\n onKeyDown={this.handleTagInteraction}\n onSix-tag-clear={(event) => {\n event.stopPropagation();\n if (!this.disabled) {\n item.checked = false;\n this.syncValueFromItems();\n }\n }}\n >\n {this.getItemLabel(item)}\n </six-tag>\n );\n });\n\n if (this.maxTagsVisible > 0 && this.displayTags.length > this.maxTagsVisible) {\n const total = this.displayTags.length;\n this.displayLabel = '';\n this.displayTags = this.displayTags.slice(0, this.maxTagsVisible);\n this.displayTags.push(\n <six-tag exportparts=\"base:tag\" type=\"info\" size={this.size}>\n +{total - this.maxTagsVisible}\n </six-tag>\n );\n }\n } else {\n this.displayLabel = this.extractLabelForSelectedItem(value, items);\n this.displayTags = [];\n }\n\n if (!isValueEmpty(this.value)) {\n this.touched = true;\n }\n if (this.touched && this.input != null) {\n this.input.value = Array.isArray(this.value) ? this.value.join(',') : this.value;\n }\n }\n\n private extractLabelForSelectedItem(value: string[], items: HTMLSixMenuItemElement[]): string {\n if (value.length === 0 || (value.length === 1 && value[0] === '')) {\n return '';\n }\n\n if (this.options !== null) {\n const selectedOption = this.options.find((item) => item.value === value[0]);\n return selectedOption?.value || '';\n }\n\n const checkedItem = items.find((item) => item.value === value[0]);\n return checkedItem ? this.getItemLabel(checkedItem) : '';\n }\n\n private syncValueFromItems() {\n const items = this.getItems();\n const checkedItems = items.filter((item) => item.checked);\n const checkedValues = checkedItems.map((item) => item.value);\n this.value = this.multiple\n ? this.getValueAsArray().filter((val) => checkedValues.includes(val))\n : checkedValues.length > 0\n ? checkedValues[0]\n : '';\n }\n\n render() {\n const hasSelection = this.hasSelection();\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 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 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.displayLabel === '',\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.handleSelectAll}\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 >\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 onKeyDown={this.handleKeyDown}\n >\n <span class={{ select__label: true, 'select__label--single': !this.displayTags.length }}>\n {this.displayTags.length > 0 ? (\n <span part=\"tags\" class=\"select__tags\">\n {this.displayTags}\n </span>\n ) : (\n this.displayLabel || this.placeholder\n )}\n </span>\n\n {this.clearable && hasSelection && (\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 {this.hasMenuItems() && (\n <span part=\"icon\" class=\"select__icon\">\n <six-icon size=\"medium\">expand_more</six-icon>\n </span>\n )}\n\n {/*\n The hidden input tricks the browser's built-in validation so it works as expected. We use an input instead\n of a select because, otherwise, iOS will show a list of options during validation.\n */}\n <six-input\n ref={(el) => (this.input = 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 <six-menu\n ref={(el) => (this.menu = el)}\n part=\"menu\"\n class={{\n select__menu: true,\n 'select__menu--filtered': this.filter || this.asyncFilter,\n 'select__menu--hidden': !this.hasMenuItems(),\n }}\n onSix-menu-item-selected={this.handleMenuSelect}\n items={this.options}\n virtualScroll={this.virtualScroll}\n remove-box-shadow\n >\n <slot onSlotchange={this.handleSlotChange} />\n </six-menu>\n </six-dropdown>\n </FormControl>\n );\n }\n\n private hasSelection() {\n return this.multiple ? this.value.length > 0 : this.value !== '';\n }\n}\n"]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { newSpecPage } from "@stencil/core/testing";
|
|
2
|
+
import { SixSelect } from "../six-select";
|
|
3
|
+
describe('six-select', () => {
|
|
4
|
+
it('renders normal six-select', async () => {
|
|
5
|
+
global.ResizeObserver = jest.fn();
|
|
6
|
+
const page = await newSpecPage({
|
|
7
|
+
components: [SixSelect],
|
|
8
|
+
html: `
|
|
9
|
+
<six-select>
|
|
10
|
+
<six-menu-item value="option-1">Option 1</six-menu-item>
|
|
11
|
+
</six-select>`,
|
|
12
|
+
});
|
|
13
|
+
expect(page.root).toEqualHtml(`
|
|
14
|
+
<six-select>
|
|
15
|
+
<mock:shadow-root>
|
|
16
|
+
<div class="form-control form-control--medium" part="form-control">
|
|
17
|
+
<label aria-hidden="true" class="form-control__label" htmlfor="select-1" id="select-label-1" part="label">
|
|
18
|
+
<slot name="label"></slot>
|
|
19
|
+
</label>
|
|
20
|
+
<div class="form-control__input">
|
|
21
|
+
<six-dropdown class="select select--empty select--medium select--placeholder-visible" closeonselect="" filterdebounce="300" part="base">
|
|
22
|
+
<div aria-describedby="select-help-text-1" aria-expanded="false" aria-haspopup="true" aria-labelledby="select-label-1" class="select__box" id="select-1" role="combobox" slot="trigger" tabindex="0">
|
|
23
|
+
<span class="select__label select__label--single"></span>
|
|
24
|
+
<span class="select__icon" part="icon">
|
|
25
|
+
<six-icon size="medium">expand_more</six-icon>
|
|
26
|
+
</span>
|
|
27
|
+
<six-input aria-hidden="true" class="select__hidden-select select__input" placeholder="" size="medium" tabindex="-1"></six-input>
|
|
28
|
+
</div>
|
|
29
|
+
<six-menu class="select__menu" part="menu" remove-box-shadow>
|
|
30
|
+
<slot></slot>
|
|
31
|
+
</six-menu>
|
|
32
|
+
</six-dropdown>
|
|
33
|
+
</div>
|
|
34
|
+
<div aria-hidden="true" class="form-control__error-text" id="select-error-text-1" part="error-text"></div>
|
|
35
|
+
<div aria-hidden="true" class="form-control__help-text" id="select-help-text-1" part="help-text">
|
|
36
|
+
<slot name="help-text"></slot>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
</mock:shadow-root>
|
|
40
|
+
<six-menu-item value="option-1">
|
|
41
|
+
Option 1
|
|
42
|
+
</six-menu-item>
|
|
43
|
+
</six-select>
|
|
44
|
+
`);
|
|
45
|
+
});
|
|
46
|
+
it('renders normal autocomplete six-select', async () => {
|
|
47
|
+
global.ResizeObserver = jest.fn();
|
|
48
|
+
const page = await newSpecPage({
|
|
49
|
+
components: [SixSelect],
|
|
50
|
+
html: `
|
|
51
|
+
<six-select autocomplete>
|
|
52
|
+
</six-select>`,
|
|
53
|
+
});
|
|
54
|
+
expect(page.root).toEqualHtml(`
|
|
55
|
+
<six-select autocomplete="">
|
|
56
|
+
<mock:shadow-root>
|
|
57
|
+
<div class="form-control form-control--medium" part="form-control">
|
|
58
|
+
<label aria-hidden="true" class="form-control__label" htmlfor="select-2" id="select-label-2" part="label">
|
|
59
|
+
<slot name="label"></slot>
|
|
60
|
+
</label>
|
|
61
|
+
<div class="form-control__input">
|
|
62
|
+
<six-dropdown class="select select--empty select--medium select--placeholder-visible" closeonselect="" disablehideonenterandspace="" filterdebounce="300" part="base">
|
|
63
|
+
<div aria-describedby="select-help-text-2" aria-expanded="false" aria-haspopup="true" aria-labelledby="select-label-2" class="select__box select__box--autocomplete" id="select-2" role="combobox" slot="trigger" tabindex="0">
|
|
64
|
+
<span class="select__label select__label--single"></span>
|
|
65
|
+
<six-input aria-hidden="true" class="select__input" placeholder="" size="medium" tabindex="-1"></six-input>
|
|
66
|
+
</div>
|
|
67
|
+
<six-menu class="select__menu select__menu--hidden" part="menu" remove-box-shadow>
|
|
68
|
+
<slot></slot>
|
|
69
|
+
</six-menu>
|
|
70
|
+
</six-dropdown>
|
|
71
|
+
</div>
|
|
72
|
+
<div aria-hidden="true" class="form-control__error-text" id="select-error-text-2" part="error-text"></div>
|
|
73
|
+
<div aria-hidden="true" class="form-control__help-text" id="select-help-text-2" part="help-text">
|
|
74
|
+
<slot name="help-text"></slot>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
</mock:shadow-root>
|
|
78
|
+
</six-select>
|
|
79
|
+
`);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
//# sourceMappingURL=six-select.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"six-select.spec.js","sourceRoot":"","sources":["../../../../src/components/six-select/test/six-select.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;EAC1B,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;IACzC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAElC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,SAAS,CAAC;MACvB,IAAI,EAAE;;;sBAGU;KACjB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+B7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;IACtD,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAElC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,SAAS,CAAC;MACvB,IAAI,EAAE;;sBAEU;KACjB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;KAyB7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixSelect } from '../six-select';\n\ndescribe('six-select', () => {\n it('renders normal six-select', async () => {\n global.ResizeObserver = jest.fn();\n\n const page = await newSpecPage({\n components: [SixSelect],\n html: `\n <six-select>\n <six-menu-item value=\"option-1\">Option 1</six-menu-item>\n </six-select>`,\n });\n expect(page.root).toEqualHtml(`\n <six-select>\n <mock:shadow-root>\n <div class=\"form-control form-control--medium\" part=\"form-control\">\n <label aria-hidden=\"true\" class=\"form-control__label\" htmlfor=\"select-1\" id=\"select-label-1\" part=\"label\">\n <slot name=\"label\"></slot>\n </label>\n <div class=\"form-control__input\">\n <six-dropdown class=\"select select--empty select--medium select--placeholder-visible\" closeonselect=\"\" filterdebounce=\"300\" part=\"base\">\n <div aria-describedby=\"select-help-text-1\" aria-expanded=\"false\" aria-haspopup=\"true\" aria-labelledby=\"select-label-1\" class=\"select__box\" id=\"select-1\" role=\"combobox\" slot=\"trigger\" tabindex=\"0\">\n <span class=\"select__label select__label--single\"></span>\n <span class=\"select__icon\" part=\"icon\">\n <six-icon size=\"medium\">expand_more</six-icon>\n </span>\n <six-input aria-hidden=\"true\" class=\"select__hidden-select select__input\" placeholder=\"\" size=\"medium\" tabindex=\"-1\"></six-input>\n </div>\n <six-menu class=\"select__menu\" part=\"menu\" remove-box-shadow>\n <slot></slot>\n </six-menu>\n </six-dropdown>\n </div>\n <div aria-hidden=\"true\" class=\"form-control__error-text\" id=\"select-error-text-1\" part=\"error-text\"></div>\n <div aria-hidden=\"true\" class=\"form-control__help-text\" id=\"select-help-text-1\" part=\"help-text\">\n <slot name=\"help-text\"></slot>\n </div>\n </div>\n </mock:shadow-root>\n <six-menu-item value=\"option-1\">\n Option 1\n </six-menu-item>\n </six-select>\n `);\n });\n\n it('renders normal autocomplete six-select', async () => {\n global.ResizeObserver = jest.fn();\n\n const page = await newSpecPage({\n components: [SixSelect],\n html: `\n <six-select autocomplete>\n </six-select>`,\n });\n expect(page.root).toEqualHtml(`\n <six-select autocomplete=\"\">\n <mock:shadow-root>\n <div class=\"form-control form-control--medium\" part=\"form-control\">\n <label aria-hidden=\"true\" class=\"form-control__label\" htmlfor=\"select-2\" id=\"select-label-2\" part=\"label\">\n <slot name=\"label\"></slot>\n </label>\n <div class=\"form-control__input\">\n <six-dropdown class=\"select select--empty select--medium select--placeholder-visible\" closeonselect=\"\" disablehideonenterandspace=\"\" filterdebounce=\"300\" part=\"base\">\n <div aria-describedby=\"select-help-text-2\" aria-expanded=\"false\" aria-haspopup=\"true\" aria-labelledby=\"select-label-2\" class=\"select__box select__box--autocomplete\" id=\"select-2\" role=\"combobox\" slot=\"trigger\" tabindex=\"0\">\n <span class=\"select__label select__label--single\"></span>\n <six-input aria-hidden=\"true\" class=\"select__input\" placeholder=\"\" size=\"medium\" tabindex=\"-1\"></six-input>\n </div>\n <six-menu class=\"select__menu select__menu--hidden\" part=\"menu\" remove-box-shadow>\n <slot></slot>\n </six-menu>\n </six-dropdown>\n </div>\n <div aria-hidden=\"true\" class=\"form-control__error-text\" id=\"select-error-text-2\" part=\"error-text\"></div>\n <div aria-hidden=\"true\" class=\"form-control__help-text\" id=\"select-help-text-2\" part=\"help-text\">\n <slot name=\"help-text\"></slot>\n </div>\n </div>\n </mock:shadow-root>\n </six-select>\n `);\n });\n});\n"]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { getValue, isValidValue } from "../util";
|
|
2
|
+
describe('util', () => {
|
|
3
|
+
describe('getValue(multiple)', () => {
|
|
4
|
+
it.each([
|
|
5
|
+
[null, [], []],
|
|
6
|
+
[undefined, [], []],
|
|
7
|
+
[10, [], []],
|
|
8
|
+
[[1, 2, 3], [{ value: '1' }, { value: '2' }], []],
|
|
9
|
+
[{}, [], []],
|
|
10
|
+
[[], [], []],
|
|
11
|
+
['', [], []],
|
|
12
|
+
['1', [{ value: '1' }], ['1']],
|
|
13
|
+
[['1'], [{ value: '1' }], ['1']],
|
|
14
|
+
['1', [{ value: '2' }], []],
|
|
15
|
+
[['1'], [{ value: '2' }], []],
|
|
16
|
+
['1', [{ value: '1' }, { value: '2' }], ['1']],
|
|
17
|
+
[['1'], [{ value: '1' }, { value: '2' }], ['1']],
|
|
18
|
+
])("value '%s', items: '%s' == '%s'", (value, menuItems, expected) => {
|
|
19
|
+
expect(getValue(value, true, menuItems)).toStrictEqual(expected);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
describe('getValue(single)', () => {
|
|
23
|
+
it.each([
|
|
24
|
+
[null, [], ''],
|
|
25
|
+
[undefined, [], ''],
|
|
26
|
+
[10, [], ''],
|
|
27
|
+
[{}, [], ''],
|
|
28
|
+
[[], [], ''],
|
|
29
|
+
['', [], ''],
|
|
30
|
+
['1', [{ value: '1' }], '1'],
|
|
31
|
+
[['1'], [{ value: '1' }], ''],
|
|
32
|
+
['1', [{ value: '2' }], ''],
|
|
33
|
+
[['1'], [{ value: '2' }], ''],
|
|
34
|
+
['1', [{ value: '1' }, { value: '2' }], '1'],
|
|
35
|
+
[['2'], [{ value: '1' }, { value: '2' }], ''],
|
|
36
|
+
[[1, 2], [{ value: '1' }, { value: '2' }], ''],
|
|
37
|
+
])("value '%s', items: '%s' == '%s'", (value, menuItems, expected) => {
|
|
38
|
+
expect(getValue(value, false, menuItems)).toStrictEqual(expected);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe('isValidValue(multiple)', () => {
|
|
42
|
+
it.each([
|
|
43
|
+
[null, [], false],
|
|
44
|
+
[undefined, [], false],
|
|
45
|
+
[10, [], false],
|
|
46
|
+
[{}, [], false],
|
|
47
|
+
['', [], true],
|
|
48
|
+
[[], [], true],
|
|
49
|
+
['1', [{ value: '1' }], true],
|
|
50
|
+
[['1'], [{ value: '1' }], true],
|
|
51
|
+
['1', [{ value: '2' }], false],
|
|
52
|
+
[['1'], [{ value: '2' }], false],
|
|
53
|
+
['1', [{ value: '1' }, { value: '2' }], true],
|
|
54
|
+
[['1'], [{ value: '1' }, { value: '2' }], true],
|
|
55
|
+
[['1', '3'], [{ value: '1' }, { value: '2' }], false],
|
|
56
|
+
])("value '%s', items: '%s' == '%s'", (value, menuItems, expected) => {
|
|
57
|
+
expect(isValidValue(value, true, menuItems)).toBe(expected);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
describe('isValidValue(single)', () => {
|
|
61
|
+
it.each([
|
|
62
|
+
[null, [], false],
|
|
63
|
+
[undefined, [], false],
|
|
64
|
+
[10, [], false],
|
|
65
|
+
[{}, [], false],
|
|
66
|
+
['', [], true],
|
|
67
|
+
[[], [], false],
|
|
68
|
+
['1', [{ value: '1' }], true],
|
|
69
|
+
[['1'], [{ value: '1' }], false],
|
|
70
|
+
['1', [{ value: '2' }], false],
|
|
71
|
+
[['1'], [{ value: '2' }], false],
|
|
72
|
+
['1', [{ value: '1' }, { value: '2' }], true],
|
|
73
|
+
[['2'], [{ value: '1' }, { value: '2' }], false],
|
|
74
|
+
[[1, 2], [{ value: '1' }, { value: '2' }], false],
|
|
75
|
+
[['1', '2'], [{ value: '1' }, { value: '2' }], false],
|
|
76
|
+
])("value '%s', items: '%s' == '%s'", (value, menuItems, expected) => {
|
|
77
|
+
expect(isValidValue(value, false, menuItems)).toBe(expected);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=util.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.spec.js","sourceRoot":"","sources":["../../../../src/components/six-select/test/util.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { getValue, isValidValue } from '../util';\n\ndescribe('util', () => {\n describe('getValue(multiple)', () => {\n it.each([\n [null, [], []],\n [undefined, [], []],\n [10, [], []],\n [[1, 2, 3], [{ value: '1' }, { value: '2' }], []],\n [{}, [], []],\n [[], [], []],\n ['', [], []],\n ['1', [{ value: '1' }], ['1']],\n [['1'], [{ value: '1' }], ['1']],\n ['1', [{ value: '2' }], []],\n [['1'], [{ value: '2' }], []],\n ['1', [{ value: '1' }, { value: '2' }], ['1']],\n [['1'], [{ value: '1' }, { value: '2' }], ['1']],\n ])(\"value '%s', items: '%s' == '%s'\", (value, menuItems, expected) => {\n expect(getValue(value, true, menuItems)).toStrictEqual(expected);\n });\n });\n\n describe('getValue(single)', () => {\n it.each([\n [null, [], ''],\n [undefined, [], ''],\n [10, [], ''],\n [{}, [], ''],\n [[], [], ''],\n ['', [], ''],\n ['1', [{ value: '1' }], '1'],\n [['1'], [{ value: '1' }], ''],\n ['1', [{ value: '2' }], ''],\n [['1'], [{ value: '2' }], ''],\n ['1', [{ value: '1' }, { value: '2' }], '1'],\n [['2'], [{ value: '1' }, { value: '2' }], ''],\n [[1, 2], [{ value: '1' }, { value: '2' }], ''],\n ])(\"value '%s', items: '%s' == '%s'\", (value, menuItems, expected) => {\n expect(getValue(value, false, menuItems)).toStrictEqual(expected);\n });\n });\n\n describe('isValidValue(multiple)', () => {\n it.each([\n [null, [], false],\n [undefined, [], false],\n [10, [], false],\n [{}, [], false],\n ['', [], true],\n [[], [], true],\n ['1', [{ value: '1' }], true],\n [['1'], [{ value: '1' }], true],\n ['1', [{ value: '2' }], false],\n [['1'], [{ value: '2' }], false],\n ['1', [{ value: '1' }, { value: '2' }], true],\n [['1'], [{ value: '1' }, { value: '2' }], true],\n [['1', '3'], [{ value: '1' }, { value: '2' }], false],\n ])(\"value '%s', items: '%s' == '%s'\", (value, menuItems, expected) => {\n expect(isValidValue(value, true, menuItems)).toBe(expected);\n });\n });\n\n describe('isValidValue(single)', () => {\n it.each([\n [null, [], false],\n [undefined, [], false],\n [10, [], false],\n [{}, [], false],\n ['', [], true],\n [[], [], false],\n ['1', [{ value: '1' }], true],\n [['1'], [{ value: '1' }], false],\n ['1', [{ value: '2' }], false],\n [['1'], [{ value: '2' }], false],\n ['1', [{ value: '1' }, { value: '2' }], true],\n [['2'], [{ value: '1' }, { value: '2' }], false],\n [[1, 2], [{ value: '1' }, { value: '2' }], false],\n [['1', '2'], [{ value: '1' }, { value: '2' }], false],\n ])(\"value '%s', items: '%s' == '%s'\", (value, menuItems, expected) => {\n expect(isValidValue(value, false, menuItems)).toBe(expected);\n });\n });\n});\n"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export function getValue(value, multiple, menuItems) {
|
|
2
|
+
var _a, _b;
|
|
3
|
+
if (multiple) {
|
|
4
|
+
if (Array.isArray(value)) {
|
|
5
|
+
return getSelectedValues(value, menuItems);
|
|
6
|
+
}
|
|
7
|
+
else {
|
|
8
|
+
return getSelectedValuesFromString(value, menuItems);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return (_b = (_a = getSelectedMenuItem(value, menuItems)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : '';
|
|
12
|
+
}
|
|
13
|
+
export function isValidValue(value, multiple, menuItems) {
|
|
14
|
+
if (value === '') {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
if (multiple) {
|
|
18
|
+
if (Array.isArray(value)) {
|
|
19
|
+
if (value.length === 0) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
return getSelectedValues(value, menuItems).length === value.length;
|
|
23
|
+
}
|
|
24
|
+
return getSelectedValuesFromString(value, menuItems).length > 0;
|
|
25
|
+
}
|
|
26
|
+
return getSelectedMenuItem(value, menuItems) != null;
|
|
27
|
+
}
|
|
28
|
+
export function valueEquals(a, b) {
|
|
29
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
|
30
|
+
return a.length === b.length && a.every((element, index) => element === b[index]);
|
|
31
|
+
}
|
|
32
|
+
else if (typeof a === 'string' && typeof b === 'string') {
|
|
33
|
+
return a === b;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
export function isValueEmpty(value) {
|
|
38
|
+
if (Array.isArray(value)) {
|
|
39
|
+
return value.length === 0;
|
|
40
|
+
}
|
|
41
|
+
return value === '';
|
|
42
|
+
}
|
|
43
|
+
function getSelectedValues(values, menuItems) {
|
|
44
|
+
return menuItems.filter((menuItem) => values.includes(menuItem.value)).map((menuItem) => menuItem.value);
|
|
45
|
+
}
|
|
46
|
+
function getSelectedValuesFromString(value, menuItems) {
|
|
47
|
+
return menuItems.filter((menuItem) => value === menuItem.value).map((menuItem) => menuItem.value);
|
|
48
|
+
}
|
|
49
|
+
function getSelectedMenuItem(value, menuItems) {
|
|
50
|
+
return menuItems.find((item) => value === item.value);
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/components/six-select/util.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,QAAQ,CAAC,KAAc,EAAE,QAAiB,EAAE,SAAqB;;EAC/E,IAAI,QAAQ,EAAE;IACZ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;MACxB,OAAO,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KAC5C;SAAM;MACL,OAAO,2BAA2B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KACtD;GACF;EAED,OAAO,MAAA,MAAA,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,0CAAE,KAAK,mCAAI,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,QAAiB,EAAE,SAAqB;EACnF,IAAI,KAAK,KAAK,EAAE,EAAE;IAChB,OAAO,IAAI,CAAC;GACb;EAED,IAAI,QAAQ,EAAE;IACZ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;MACxB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,IAAI,CAAC;OACb;MACD,OAAO,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;KACpE;IACD,OAAO,2BAA2B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;GACjE;EAED,OAAO,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAoB,EAAE,CAAoB;EACpE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;IACxC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;GACnF;OAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;IACzD,OAAO,CAAC,KAAK,CAAC,CAAC;GAChB;EACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAwB;EACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;IACxB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;GAC3B;EACD,OAAO,KAAK,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAiB,EAAE,SAAqB;EACjE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc,EAAE,SAAqB;EACxE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,SAAqB;EAChE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC","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 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"]}
|