@six-group/ui-library 0.0.0-insider.756155a → 0.0.0-insider.777a428
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/error-messages-6e8049a4.js +119 -0
- package/dist/cjs/error-messages-6e8049a4.js.map +1 -0
- package/dist/cjs/{form-control-f9bc25dd.js → form-control-8d64e974.js} +2 -2
- package/dist/cjs/{form-control-f9bc25dd.js.map → form-control-8d64e974.js.map} +1 -1
- package/dist/cjs/{index-3baddcdc.js → index-d7748d51.js} +53 -490
- package/dist/cjs/index-d7748d51.js.map +1 -0
- package/dist/cjs/index.cjs.js +54 -101
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{popup-40a9adbb.js → popup-e854acda.js} +2 -2
- package/dist/cjs/popup-e854acda.js.map +1 -0
- package/dist/cjs/six-alert.cjs.entry.js +39 -7
- package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/six-avatar.cjs.entry.js +2 -2
- 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 +3 -3
- package/dist/cjs/six-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-card.cjs.entry.js +2 -2
- package/dist/cjs/six-card.cjs.entry.js.map +1 -1
- package/dist/cjs/six-checkbox_2.cjs.entry.js +190 -0
- package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
- package/dist/cjs/six-datepicker.cjs.entry.js +30 -4
- package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-details.cjs.entry.js +2 -2
- package/dist/cjs/six-details.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dialog.cjs.entry.js +5 -3
- package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/six-drawer.cjs.entry.js +3 -3
- package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dropdown_2.cjs.entry.js +197 -125
- package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/six-error-page.cjs.entry.js +1 -1
- package/dist/cjs/six-error.cjs.entry.js +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-upload.cjs.entry.js +2 -2
- package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/six-footer.cjs.entry.js +2 -2
- package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-group-label.cjs.entry.js +4 -4
- package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-header.cjs.entry.js +24 -9
- package/dist/cjs/six-header.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon-button.cjs.entry.js +2 -2
- package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon.cjs.entry.js +2 -2
- package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/six-input.cjs.entry.js +6 -4
- package/dist/cjs/six-input.cjs.entry.js.map +1 -1
- package/dist/cjs/six-item-picker.cjs.entry.js +104 -8
- package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-language-switcher.cjs.entry.js +1 -1
- package/dist/cjs/six-layout-grid.cjs.entry.js +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 +2 -2
- package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-label.cjs.entry.js +2 -2
- package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-picto.cjs.entry.js +1 -1
- package/dist/cjs/six-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-progress-ring.cjs.entry.js +2 -2
- package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
- package/dist/cjs/six-radio.cjs.entry.js +2 -2
- package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/six-range.cjs.entry.js +4 -4
- package/dist/cjs/six-range.cjs.entry.js.map +1 -1
- package/dist/cjs/six-root.cjs.entry.js +2 -21
- package/dist/cjs/six-root.cjs.entry.js.map +1 -1
- package/dist/cjs/six-search-field.cjs.entry.js +2 -2
- package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/six-select.cjs.entry.js +300 -169
- package/dist/cjs/six-select.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js +3 -3
- 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.cjs.entry.js +2 -2
- package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-spinner.cjs.entry.js +3 -3
- package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/six-stage-indicator.cjs.entry.js +22 -0
- package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -0
- package/dist/cjs/six-switch.cjs.entry.js +4 -4
- package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab-group.cjs.entry.js +2 -2
- 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 +2 -2
- package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tag.cjs.entry.js +3 -3
- package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/six-textarea.cjs.entry.js +4 -4
- package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tile.cjs.entry.js +3 -3
- package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
- package/dist/cjs/six-timepicker.cjs.entry.js +5 -5
- package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{slot-9821749e.js → slot-1b1232a1.js} +1 -3
- package/dist/cjs/slot-1b1232a1.js.map +1 -0
- package/dist/cjs/{types-0a6d66f6.js → types-d3da200b.js} +3 -1
- package/dist/cjs/types-d3da200b.js.map +1 -0
- package/dist/cjs/ui-library.cjs.js +3 -3
- package/dist/cjs/ui-library.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +4 -5
- package/dist/collection/components/six-alert/six-alert.css +5 -1
- package/dist/collection/components/six-alert/six-alert.js +56 -11
- package/dist/collection/components/six-alert/six-alert.js.map +1 -1
- package/dist/collection/components/six-avatar/six-avatar.css +2 -2
- package/dist/collection/components/six-badge/six-badge.css +1 -1
- package/dist/collection/components/six-button/six-button.css +2 -1
- package/dist/collection/components/six-button/six-button.js +3 -2
- package/dist/collection/components/six-button/six-button.js.map +1 -1
- package/dist/collection/components/six-card/six-card.css +4 -5
- package/dist/collection/components/six-checkbox/six-checkbox.css +6 -1
- package/dist/collection/components/six-checkbox/six-checkbox.js +3 -2
- package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
- package/dist/collection/components/six-datepicker/six-date-formats.js +1 -0
- package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
- package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
- package/dist/collection/components/six-datepicker/six-datepicker.js +8 -6
- package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
- package/dist/collection/components/six-details/six-details.css +1 -5
- package/dist/collection/components/six-details/six-details.js.map +1 -1
- package/dist/collection/components/six-dialog/six-dialog.css +2 -2
- package/dist/collection/components/six-dialog/six-dialog.js +2 -0
- package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
- package/dist/collection/components/six-drawer/six-drawer.css +2 -2
- package/dist/collection/components/six-dropdown/six-dropdown.css +22 -7
- package/dist/collection/components/six-dropdown/six-dropdown.js +215 -123
- package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
- package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +54 -29
- package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -1
- package/dist/collection/components/six-file-list-item/six-file-list-item.css +1 -1
- package/dist/collection/components/six-file-upload/six-file-upload.css +1 -4
- package/dist/collection/components/six-footer/six-footer.css +2 -2
- package/dist/collection/components/six-group-label/six-group-label.css +1 -1
- package/dist/collection/components/six-header/six-header.css +6 -2
- package/dist/collection/components/six-header/six-header.js +42 -8
- package/dist/collection/components/six-header/six-header.js.map +1 -1
- package/dist/collection/components/six-header/test/six-header.spec.js +50 -6
- package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -1
- package/dist/collection/components/six-icon/six-icon.css +5 -2
- package/dist/collection/components/six-icon-button/six-icon-button.css +1 -1
- package/dist/collection/components/six-input/six-input.css +10 -1
- package/dist/collection/components/six-input/six-input.js +44 -16
- package/dist/collection/components/six-input/six-input.js.map +1 -1
- package/dist/collection/components/six-item-picker/six-item-picker.css +8 -0
- package/dist/collection/components/six-item-picker/six-item-picker.js +101 -5
- 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 +57 -57
- package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -1
- package/dist/collection/components/six-item-picker/types.js +2 -0
- package/dist/collection/components/six-item-picker/types.js.map +1 -1
- package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
- package/dist/collection/components/six-menu/six-menu.css +8 -7
- package/dist/collection/components/six-menu/six-menu.js +28 -6
- package/dist/collection/components/six-menu/six-menu.js.map +1 -1
- package/dist/collection/components/six-menu/test/six-menu.spec.js +6 -6
- package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -1
- package/dist/collection/components/six-menu-divider/six-menu-divider.css +3 -2
- package/dist/collection/components/six-menu-item/six-menu-item.css +13 -2
- package/dist/collection/components/six-menu-item/six-menu-item.js +36 -7
- package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
- package/dist/collection/components/six-menu-label/six-menu-label.css +1 -1
- package/dist/collection/components/six-progress-bar/six-progress-bar.css +1 -1
- package/dist/collection/components/six-progress-ring/six-progress-ring.css +1 -1
- package/dist/collection/components/six-radio/six-radio.css +1 -1
- package/dist/collection/components/six-radio/six-radio.js +3 -2
- package/dist/collection/components/six-radio/six-radio.js.map +1 -1
- package/dist/collection/components/six-range/six-range.css +1 -1
- package/dist/collection/components/six-range/six-range.js +3 -2
- package/dist/collection/components/six-range/six-range.js.map +1 -1
- package/dist/collection/components/six-root/six-root.js +1 -69
- package/dist/collection/components/six-root/six-root.js.map +1 -1
- package/dist/collection/components/six-root/test/six-root.spec.js +0 -7
- package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -1
- package/dist/collection/components/six-search-field/six-search-field.css +1 -1
- package/dist/collection/components/six-select/six-select.css +54 -66
- package/dist/collection/components/six-select/six-select.js +343 -168
- package/dist/collection/components/six-select/six-select.js.map +1 -1
- package/dist/collection/components/six-select/test/six-select.spec.js +31 -15
- package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -1
- package/dist/collection/components/six-sidebar/six-sidebar.css +2 -2
- package/dist/collection/components/six-sidebar/six-sidebar.js +6 -4
- package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +1 -1
- package/dist/collection/components/six-spinner/six-spinner.css +1 -1
- package/dist/collection/components/six-spinner/six-spinner.js +2 -1
- package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
- package/dist/collection/components/six-spinner/test/six-spinner.spec.js +1 -1
- package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -1
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.css +1 -1
- package/dist/collection/components/six-switch/six-switch.css +1 -1
- package/dist/collection/components/six-switch/six-switch.js +3 -2
- package/dist/collection/components/six-switch/six-switch.js.map +1 -1
- package/dist/collection/components/six-tab/six-tab.css +1 -1
- package/dist/collection/components/six-tab/six-tab.js +3 -2
- package/dist/collection/components/six-tab/six-tab.js.map +1 -1
- package/dist/collection/components/six-tab-group/six-tab-group.css +1 -1
- package/dist/collection/components/six-tab-group/six-tab-group.js +3 -2
- package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
- package/dist/collection/components/six-tab-panel/six-tab-panel.css +1 -1
- package/dist/collection/components/six-tag/six-tag.css +1 -1
- package/dist/collection/components/six-textarea/six-textarea.css +1 -1
- package/dist/collection/components/six-textarea/six-textarea.js +24 -16
- package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
- package/dist/collection/components/six-tile/six-tile.css +2 -2
- package/dist/collection/components/six-tile/six-tile.js.map +1 -1
- package/dist/collection/components/six-timepicker/six-timepicker.css +1 -1
- package/dist/collection/components/six-timepicker/six-timepicker.js +3 -2
- package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
- package/dist/collection/components/six-tooltip/six-tooltip.css +1 -1
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/alert.js +54 -0
- package/dist/collection/utils/alert.js.map +1 -0
- package/dist/collection/utils/date-util.js +25 -0
- package/dist/collection/utils/date-util.js.map +1 -1
- package/dist/collection/utils/error-messages.js +7 -0
- package/dist/collection/utils/error-messages.js.map +1 -1
- package/dist/collection/utils/popup.js +1 -1
- package/dist/collection/utils/popup.js.map +1 -1
- package/dist/collection/utils/slot.js +0 -1
- package/dist/collection/utils/slot.js.map +1 -1
- package/dist/components/index.js +50 -102
- package/dist/components/index.js.map +1 -1
- package/dist/components/six-alert.js +38 -6
- package/dist/components/six-alert.js.map +1 -1
- package/dist/components/six-avatar.js +1 -1
- 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 +1 -142
- package/dist/components/six-button.js.map +1 -1
- package/dist/components/six-button2.js +146 -0
- package/dist/components/six-button2.js.map +1 -0
- package/dist/components/six-card.js +1 -1
- package/dist/components/six-card.js.map +1 -1
- package/dist/components/six-checkbox.js +1 -161
- package/dist/components/six-checkbox.js.map +1 -1
- package/dist/components/six-checkbox2.js +165 -0
- package/dist/components/six-checkbox2.js.map +1 -0
- package/dist/components/six-datepicker.js +27 -1
- package/dist/components/six-datepicker.js.map +1 -1
- package/dist/components/six-details2.js +1 -1
- package/dist/components/six-details2.js.map +1 -1
- package/dist/components/six-dialog.js +3 -1
- package/dist/components/six-dialog.js.map +1 -1
- package/dist/components/six-drawer.js +1 -1
- package/dist/components/six-drawer.js.map +1 -1
- package/dist/components/six-dropdown2.js +201 -125
- package/dist/components/six-dropdown2.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-upload.js +1 -1
- package/dist/components/six-file-upload.js.map +1 -1
- package/dist/components/six-footer.js +1 -1
- package/dist/components/six-footer.js.map +1 -1
- package/dist/components/six-group-label.js +1 -1
- package/dist/components/six-group-label.js.map +1 -1
- package/dist/components/six-header.js +30 -8
- package/dist/components/six-header.js.map +1 -1
- package/dist/components/six-icon-button2.js +1 -1
- package/dist/components/six-icon-button2.js.map +1 -1
- package/dist/components/six-icon2.js +1 -1
- package/dist/components/six-icon2.js.map +1 -1
- package/dist/components/six-input2.js +4 -1
- package/dist/components/six-input2.js.map +1 -1
- package/dist/components/six-item-picker2.js +104 -6
- package/dist/components/six-item-picker2.js.map +1 -1
- package/dist/components/six-main-container.js.map +1 -1
- package/dist/components/six-menu-divider.js +1 -1
- package/dist/components/six-menu-divider.js.map +1 -1
- package/dist/components/six-menu-item2.js +28 -5
- package/dist/components/six-menu-item2.js.map +1 -1
- package/dist/components/six-menu-label.js +1 -1
- package/dist/components/six-menu-label.js.map +1 -1
- package/dist/components/six-menu2.js +22 -6
- package/dist/components/six-menu2.js.map +1 -1
- package/dist/components/six-progress-bar.js +1 -1
- package/dist/components/six-progress-bar.js.map +1 -1
- package/dist/components/six-progress-ring.js +1 -1
- package/dist/components/six-progress-ring.js.map +1 -1
- package/dist/components/six-radio.js +1 -1
- package/dist/components/six-radio.js.map +1 -1
- package/dist/components/six-range.js +1 -1
- package/dist/components/six-range.js.map +1 -1
- package/dist/components/six-root.js +4 -33
- package/dist/components/six-root.js.map +1 -1
- package/dist/components/six-search-field.js +1 -1
- package/dist/components/six-search-field.js.map +1 -1
- package/dist/components/six-select.js +435 -185
- package/dist/components/six-select.js.map +1 -1
- package/dist/components/six-sidebar-item-group.js +1 -1
- package/dist/components/six-sidebar-item-group.js.map +1 -1
- package/dist/components/six-sidebar.js +1 -1
- package/dist/components/six-sidebar.js.map +1 -1
- package/dist/components/six-spinner2.js +2 -2
- package/dist/components/six-spinner2.js.map +1 -1
- package/dist/components/six-stage-indicator2.js +1 -1
- package/dist/components/six-stage-indicator2.js.map +1 -1
- package/dist/components/six-switch.js +1 -1
- package/dist/components/six-switch.js.map +1 -1
- package/dist/components/six-tab-group.js +1 -1
- 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 +1 -1
- package/dist/components/six-tab.js.map +1 -1
- package/dist/components/six-tag.js +98 -1
- package/dist/components/six-tag.js.map +1 -1
- package/dist/components/six-textarea.js +1 -1
- package/dist/components/six-textarea.js.map +1 -1
- package/dist/components/six-tile.js +1 -1
- package/dist/components/six-tile.js.map +1 -1
- package/dist/components/six-timepicker2.js +2 -2
- package/dist/components/six-timepicker2.js.map +1 -1
- package/dist/components/six-tooltip2.js +1 -1
- package/dist/components/six-tooltip2.js.map +1 -1
- package/dist/components/slot.js +1 -2
- package/dist/components/slot.js.map +1 -1
- package/dist/components.d.ts +1 -21
- package/dist/components.json +604 -231
- package/dist/esm/error-messages-1eaaad23.js +115 -0
- package/dist/esm/error-messages-1eaaad23.js.map +1 -0
- package/dist/esm/{form-control-6b30894f.js → form-control-d403a9cf.js} +2 -2
- package/dist/esm/{form-control-6b30894f.js.map → form-control-d403a9cf.js.map} +1 -1
- package/dist/esm/{index-17d8173e.js → index-79d4ef67.js} +53 -490
- package/dist/esm/index-79d4ef67.js.map +1 -0
- package/dist/esm/index.js +51 -100
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{popup-e8049817.js → popup-7209e9d5.js} +2 -2
- package/dist/esm/popup-7209e9d5.js.map +1 -0
- package/dist/esm/six-alert.entry.js +39 -7
- package/dist/esm/six-alert.entry.js.map +1 -1
- package/dist/esm/six-avatar.entry.js +2 -2
- 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 +3 -3
- package/dist/esm/six-button.entry.js.map +1 -1
- package/dist/esm/six-card.entry.js +2 -2
- package/dist/esm/six-card.entry.js.map +1 -1
- package/dist/esm/six-checkbox_2.entry.js +185 -0
- package/dist/esm/six-checkbox_2.entry.js.map +1 -0
- package/dist/esm/six-datepicker.entry.js +30 -4
- package/dist/esm/six-datepicker.entry.js.map +1 -1
- package/dist/esm/six-details.entry.js +2 -2
- package/dist/esm/six-details.entry.js.map +1 -1
- package/dist/esm/six-dialog.entry.js +5 -3
- package/dist/esm/six-dialog.entry.js.map +1 -1
- package/dist/esm/six-drawer.entry.js +3 -3
- package/dist/esm/six-drawer.entry.js.map +1 -1
- package/dist/esm/six-dropdown_2.entry.js +198 -126
- package/dist/esm/six-dropdown_2.entry.js.map +1 -1
- package/dist/esm/six-error-page.entry.js +1 -1
- package/dist/esm/six-error.entry.js +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-upload.entry.js +2 -2
- package/dist/esm/six-file-upload.entry.js.map +1 -1
- package/dist/esm/six-footer.entry.js +2 -2
- package/dist/esm/six-footer.entry.js.map +1 -1
- package/dist/esm/six-group-label.entry.js +4 -4
- package/dist/esm/six-group-label.entry.js.map +1 -1
- package/dist/esm/six-header.entry.js +24 -9
- package/dist/esm/six-header.entry.js.map +1 -1
- package/dist/esm/six-icon-button.entry.js +2 -2
- package/dist/esm/six-icon-button.entry.js.map +1 -1
- package/dist/esm/six-icon.entry.js +2 -2
- package/dist/esm/six-icon.entry.js.map +1 -1
- package/dist/esm/six-input.entry.js +6 -4
- package/dist/esm/six-input.entry.js.map +1 -1
- package/dist/esm/six-item-picker.entry.js +104 -8
- package/dist/esm/six-item-picker.entry.js.map +1 -1
- package/dist/esm/six-language-switcher.entry.js +1 -1
- package/dist/esm/six-layout-grid.entry.js +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 +2 -2
- package/dist/esm/six-menu-divider.entry.js.map +1 -1
- package/dist/esm/six-menu-label.entry.js +2 -2
- package/dist/esm/six-menu-label.entry.js.map +1 -1
- package/dist/esm/six-picto.entry.js +1 -1
- package/dist/esm/six-progress-bar.entry.js +2 -2
- package/dist/esm/six-progress-bar.entry.js.map +1 -1
- package/dist/esm/six-progress-ring.entry.js +2 -2
- package/dist/esm/six-progress-ring.entry.js.map +1 -1
- package/dist/esm/six-radio.entry.js +2 -2
- package/dist/esm/six-radio.entry.js.map +1 -1
- package/dist/esm/six-range.entry.js +4 -4
- package/dist/esm/six-range.entry.js.map +1 -1
- package/dist/esm/six-root.entry.js +2 -21
- package/dist/esm/six-root.entry.js.map +1 -1
- package/dist/esm/six-search-field.entry.js +2 -2
- package/dist/esm/six-search-field.entry.js.map +1 -1
- package/dist/esm/six-select.entry.js +300 -169
- package/dist/esm/six-select.entry.js.map +1 -1
- package/dist/esm/six-sidebar-item-group.entry.js +3 -3
- 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.entry.js +2 -2
- package/dist/esm/six-sidebar.entry.js.map +1 -1
- package/dist/esm/six-spinner.entry.js +3 -3
- package/dist/esm/six-spinner.entry.js.map +1 -1
- package/dist/esm/six-stage-indicator.entry.js +18 -0
- package/dist/esm/six-stage-indicator.entry.js.map +1 -0
- package/dist/esm/six-switch.entry.js +4 -4
- package/dist/esm/six-switch.entry.js.map +1 -1
- package/dist/esm/six-tab-group.entry.js +2 -2
- 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 +2 -2
- package/dist/esm/six-tab.entry.js.map +1 -1
- package/dist/esm/six-tag.entry.js +3 -3
- package/dist/esm/six-tag.entry.js.map +1 -1
- package/dist/esm/six-textarea.entry.js +4 -4
- package/dist/esm/six-textarea.entry.js.map +1 -1
- package/dist/esm/six-tile.entry.js +3 -3
- package/dist/esm/six-tile.entry.js.map +1 -1
- package/dist/esm/six-timepicker.entry.js +5 -5
- package/dist/esm/six-timepicker.entry.js.map +1 -1
- package/dist/esm/six-tooltip.entry.js +2 -2
- package/dist/esm/six-tooltip.entry.js.map +1 -1
- package/dist/esm/{slot-41bc439a.js → slot-56531341.js} +2 -3
- package/dist/esm/slot-56531341.js.map +1 -0
- package/dist/esm/{types-07748c42.js → types-a07bb999.js} +3 -1
- package/dist/esm/types-a07bb999.js.map +1 -0
- package/dist/esm/ui-library.js +4 -4
- package/dist/esm/ui-library.js.map +1 -1
- package/dist/types/components/six-alert/six-alert.d.ts +13 -6
- package/dist/types/components/six-datepicker/six-datepicker.d.ts +1 -1
- package/dist/types/components/six-dialog/six-dialog.d.ts +1 -0
- package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -9
- package/dist/types/components/six-header/six-header.d.ts +5 -1
- package/dist/types/components/six-input/six-input.d.ts +4 -0
- package/dist/types/components/six-item-picker/six-item-picker.d.ts +7 -0
- package/dist/types/components/six-menu/six-menu.d.ts +4 -0
- package/dist/types/components/six-menu-item/six-menu-item.d.ts +7 -1
- package/dist/types/components/six-root/six-root.d.ts +0 -13
- package/dist/types/components/six-select/six-select.d.ts +27 -12
- package/dist/types/components/six-spinner/six-spinner.d.ts +1 -0
- package/dist/types/components.d.ts +72 -60
- package/dist/types/index.d.ts +1 -0
- package/dist/types/types.d.ts +1 -0
- package/dist/types/utils/alert.d.ts +10 -0
- package/dist/types/utils/date-util.d.ts +9 -1
- package/dist/types/utils/error-messages.d.ts +1 -0
- package/dist/types/utils/slot.d.ts +0 -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-0440335d.entry.js +2 -0
- package/dist/ui-library/{p-c12a94ce.entry.js.map → p-0440335d.entry.js.map} +1 -1
- package/dist/ui-library/p-04cc397c.entry.js +2 -0
- package/dist/ui-library/{p-58661675.entry.js.map → p-04cc397c.entry.js.map} +1 -1
- package/dist/ui-library/p-0cebf1d2.js +2 -0
- package/dist/ui-library/p-0cebf1d2.js.map +1 -0
- package/dist/ui-library/p-0edd3091.entry.js +2 -0
- package/dist/ui-library/{p-c021a9c9.entry.js.map → p-0edd3091.entry.js.map} +1 -1
- package/dist/ui-library/p-150b7664.entry.js +2 -0
- package/dist/ui-library/{p-a4e4620c.entry.js.map → p-150b7664.entry.js.map} +1 -1
- package/dist/ui-library/{p-c86aa5b3.entry.js → p-1f5840b5.entry.js} +2 -2
- package/dist/ui-library/p-28cc013e.entry.js +2 -0
- package/dist/ui-library/p-28cc013e.entry.js.map +1 -0
- package/dist/ui-library/p-3424bbc0.entry.js +2 -0
- package/dist/ui-library/p-3424bbc0.entry.js.map +1 -0
- package/dist/ui-library/p-348c68a8.entry.js +2 -0
- package/dist/ui-library/p-348c68a8.entry.js.map +1 -0
- package/dist/ui-library/p-3723ca06.entry.js +2 -0
- package/dist/ui-library/p-3723ca06.entry.js.map +1 -0
- package/dist/ui-library/p-37aeac5e.entry.js +2 -0
- package/dist/ui-library/{p-19a61686.entry.js.map → p-37aeac5e.entry.js.map} +1 -1
- package/dist/ui-library/p-3d7fb086.entry.js +2 -0
- package/dist/ui-library/p-3d7fb086.entry.js.map +1 -0
- package/dist/ui-library/{p-74a714c0.entry.js → p-457f7373.entry.js} +2 -2
- package/dist/ui-library/{p-74a714c0.entry.js.map → p-457f7373.entry.js.map} +1 -1
- package/dist/ui-library/p-4a667f31.entry.js +2 -0
- package/dist/ui-library/p-4a667f31.entry.js.map +1 -0
- package/dist/ui-library/p-50dae789.entry.js +2 -0
- package/dist/ui-library/{p-6aa2929a.entry.js.map → p-50dae789.entry.js.map} +1 -1
- package/dist/ui-library/{p-c1675a45.entry.js → p-546e33d9.entry.js} +2 -2
- package/dist/ui-library/{p-1d0c5929.entry.js → p-5db3a705.entry.js} +2 -2
- package/dist/ui-library/{p-1d0c5929.entry.js.map → p-5db3a705.entry.js.map} +1 -1
- package/dist/ui-library/{p-6907a7dc.js → p-61e66671.js} +2 -2
- package/dist/ui-library/p-6296779b.entry.js +2 -0
- package/dist/ui-library/{p-bdb79948.entry.js.map → p-6296779b.entry.js.map} +1 -1
- package/dist/ui-library/p-64b4755d.entry.js +2 -0
- package/dist/ui-library/{p-3187bc23.entry.js.map → p-64b4755d.entry.js.map} +1 -1
- package/dist/ui-library/p-6c1b046e.entry.js +2 -0
- package/dist/ui-library/p-6c1b046e.entry.js.map +1 -0
- package/dist/ui-library/p-7115316e.entry.js +2 -0
- package/dist/ui-library/p-7115316e.entry.js.map +1 -0
- package/dist/ui-library/p-73dd493f.entry.js +2 -0
- package/dist/ui-library/p-73dd493f.entry.js.map +1 -0
- package/dist/ui-library/{p-0861899a.js → p-862d474e.js} +1 -1
- package/dist/ui-library/p-862d474e.js.map +1 -0
- package/dist/ui-library/p-870b988d.entry.js +2 -0
- package/dist/ui-library/{p-479d8087.entry.js.map → p-870b988d.entry.js.map} +1 -1
- package/dist/ui-library/{p-d310a6dd.entry.js → p-884c5cf9.entry.js} +2 -2
- package/dist/ui-library/p-8888a367.entry.js +2 -0
- package/dist/ui-library/{p-ee71e3a3.entry.js.map → p-8888a367.entry.js.map} +1 -1
- package/dist/ui-library/p-8ced18d8.entry.js +2 -0
- package/dist/ui-library/p-8ced18d8.entry.js.map +1 -0
- package/dist/ui-library/{p-816f857d.entry.js → p-935c78a7.entry.js} +2 -2
- package/dist/ui-library/p-961bd001.entry.js +2 -0
- package/dist/ui-library/{p-fcd57e0a.entry.js.map → p-961bd001.entry.js.map} +1 -1
- package/dist/ui-library/p-9b08068d.entry.js +2 -0
- package/dist/ui-library/p-9b08068d.entry.js.map +1 -0
- package/dist/ui-library/p-9c79341d.entry.js +2 -0
- package/dist/ui-library/{p-3d54ecf2.entry.js.map → p-9c79341d.entry.js.map} +1 -1
- package/dist/ui-library/{p-cd35b3c6.entry.js → p-a9c159f2.entry.js} +2 -2
- package/dist/ui-library/p-ac57ba5c.entry.js +2 -0
- package/dist/ui-library/{p-ada23fe3.entry.js.map → p-ac57ba5c.entry.js.map} +1 -1
- package/dist/ui-library/p-af15381b.js +3 -0
- package/dist/ui-library/p-af15381b.js.map +1 -0
- package/dist/ui-library/p-b1a5f3cd.entry.js +2 -0
- package/dist/ui-library/p-b1a5f3cd.entry.js.map +1 -0
- package/dist/ui-library/p-b385a241.entry.js +2 -0
- package/dist/ui-library/{p-b5ac1219.entry.js.map → p-b385a241.entry.js.map} +1 -1
- package/dist/ui-library/p-b74c5d6b.entry.js +2 -0
- package/dist/ui-library/p-b74c5d6b.entry.js.map +1 -0
- package/dist/ui-library/p-bf2fb53f.entry.js +2 -0
- package/dist/ui-library/p-bf2fb53f.entry.js.map +1 -0
- package/dist/ui-library/p-c2c7370b.entry.js +2 -0
- package/dist/ui-library/{p-911eb578.entry.js.map → p-c2c7370b.entry.js.map} +1 -1
- package/dist/ui-library/p-caea1eb6.entry.js +2 -0
- package/dist/ui-library/{p-d6838141.entry.js.map → p-caea1eb6.entry.js.map} +1 -1
- package/dist/ui-library/{p-d2cf4280.entry.js → p-d3f5b9a8.entry.js} +2 -2
- package/dist/ui-library/p-d42b18eb.entry.js +2 -0
- package/dist/ui-library/{p-7432d409.entry.js.map → p-d42b18eb.entry.js.map} +1 -1
- package/dist/ui-library/p-d95e292e.entry.js +2 -0
- package/dist/ui-library/{p-c07b1240.entry.js.map → p-d95e292e.entry.js.map} +1 -1
- package/dist/ui-library/p-da7f3dbd.entry.js +2 -0
- package/dist/ui-library/p-da7f3dbd.entry.js.map +1 -0
- package/dist/ui-library/p-dfb89b6a.entry.js +2 -0
- package/dist/ui-library/p-dfb89b6a.entry.js.map +1 -0
- package/dist/ui-library/p-e080d5b6.js +2 -0
- package/dist/ui-library/p-e080d5b6.js.map +1 -0
- package/dist/ui-library/p-e6032375.entry.js +2 -0
- package/dist/ui-library/p-e6032375.entry.js.map +1 -0
- package/dist/ui-library/p-e60d2324.entry.js +2 -0
- package/dist/ui-library/p-e60d2324.entry.js.map +1 -0
- package/dist/ui-library/p-e8298c6e.entry.js +2 -0
- package/dist/ui-library/{p-882fbf6f.entry.js.map → p-e8298c6e.entry.js.map} +1 -1
- package/dist/ui-library/p-ed279165.entry.js +2 -0
- package/dist/ui-library/p-ed279165.entry.js.map +1 -0
- package/dist/ui-library/p-ed61b75c.entry.js +2 -0
- package/dist/ui-library/p-ed61b75c.entry.js.map +1 -0
- package/dist/ui-library/p-f136a6b2.js +2 -0
- package/dist/ui-library/p-f136a6b2.js.map +1 -0
- package/dist/ui-library/p-f1ab3384.entry.js +2 -0
- package/dist/ui-library/{p-23c02c98.entry.js.map → p-f1ab3384.entry.js.map} +1 -1
- package/dist/ui-library/p-f4ef481c.entry.js +2 -0
- package/dist/ui-library/p-f4ef481c.entry.js.map +1 -0
- package/dist/ui-library/{p-f73a6bdc.entry.js → p-f8cbb8da.entry.js} +2 -2
- package/dist/ui-library/ui-library.css +1 -10
- package/dist/ui-library/ui-library.esm.js +1 -1
- package/dist/ui-library/ui-library.esm.js.map +1 -1
- package/package.json +5 -8
- package/dist/cjs/index-3baddcdc.js.map +0 -1
- package/dist/cjs/popup-40a9adbb.js.map +0 -1
- package/dist/cjs/set-attributes_2.cjs.entry.js +0 -73
- package/dist/cjs/set-attributes_2.cjs.entry.js.map +0 -1
- package/dist/cjs/six-checkbox.cjs.entry.js +0 -127
- package/dist/cjs/six-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/six-menu-item.cjs.entry.js +0 -63
- package/dist/cjs/six-menu-item.cjs.entry.js.map +0 -1
- package/dist/cjs/slot-9821749e.js.map +0 -1
- package/dist/cjs/types-0a6d66f6.js.map +0 -1
- package/dist/collection/wrappers/set-attributes/set-attributes.js +0 -74
- package/dist/collection/wrappers/set-attributes/set-attributes.js.map +0 -1
- package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +0 -16
- package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +0 -1
- package/dist/components/set-attributes.d.ts +0 -11
- package/dist/components/set-attributes.js +0 -8
- package/dist/components/set-attributes.js.map +0 -1
- package/dist/components/set-attributes2.js +0 -73
- package/dist/components/set-attributes2.js.map +0 -1
- package/dist/components/six-tag2.js +0 -102
- package/dist/components/six-tag2.js.map +0 -1
- package/dist/esm/index-17d8173e.js.map +0 -1
- package/dist/esm/popup-e8049817.js.map +0 -1
- package/dist/esm/set-attributes_2.entry.js +0 -68
- package/dist/esm/set-attributes_2.entry.js.map +0 -1
- package/dist/esm/six-checkbox.entry.js +0 -123
- package/dist/esm/six-checkbox.entry.js.map +0 -1
- package/dist/esm/six-menu-item.entry.js +0 -59
- package/dist/esm/six-menu-item.entry.js.map +0 -1
- package/dist/esm/slot-41bc439a.js.map +0 -1
- package/dist/esm/types-07748c42.js.map +0 -1
- package/dist/types/wrappers/set-attributes/set-attributes.d.ts +0 -9
- package/dist/ui-library/p-0861899a.js.map +0 -1
- package/dist/ui-library/p-0a81b42c.entry.js +0 -2
- package/dist/ui-library/p-0a81b42c.entry.js.map +0 -1
- package/dist/ui-library/p-0beec94f.js +0 -3
- package/dist/ui-library/p-0beec94f.js.map +0 -1
- package/dist/ui-library/p-100d5a25.entry.js +0 -2
- package/dist/ui-library/p-100d5a25.entry.js.map +0 -1
- package/dist/ui-library/p-178f5782.entry.js +0 -2
- package/dist/ui-library/p-178f5782.entry.js.map +0 -1
- package/dist/ui-library/p-19a61686.entry.js +0 -2
- package/dist/ui-library/p-23c02c98.entry.js +0 -2
- package/dist/ui-library/p-2f9f2532.entry.js +0 -2
- package/dist/ui-library/p-2f9f2532.entry.js.map +0 -1
- package/dist/ui-library/p-3187bc23.entry.js +0 -2
- package/dist/ui-library/p-32e1a5ab.entry.js +0 -2
- package/dist/ui-library/p-32e1a5ab.entry.js.map +0 -1
- package/dist/ui-library/p-3d54ecf2.entry.js +0 -2
- package/dist/ui-library/p-4229f7e8.entry.js +0 -2
- package/dist/ui-library/p-4229f7e8.entry.js.map +0 -1
- package/dist/ui-library/p-479d8087.entry.js +0 -2
- package/dist/ui-library/p-49aa8d1e.entry.js +0 -2
- package/dist/ui-library/p-49aa8d1e.entry.js.map +0 -1
- package/dist/ui-library/p-58661675.entry.js +0 -2
- package/dist/ui-library/p-5d43ea07.entry.js +0 -2
- package/dist/ui-library/p-5d43ea07.entry.js.map +0 -1
- package/dist/ui-library/p-6aa2929a.entry.js +0 -2
- package/dist/ui-library/p-7432d409.entry.js +0 -2
- package/dist/ui-library/p-76825395.entry.js +0 -2
- package/dist/ui-library/p-76825395.entry.js.map +0 -1
- package/dist/ui-library/p-882fbf6f.entry.js +0 -2
- package/dist/ui-library/p-88fd4973.entry.js +0 -2
- package/dist/ui-library/p-88fd4973.entry.js.map +0 -1
- package/dist/ui-library/p-8b750c9e.entry.js +0 -2
- package/dist/ui-library/p-8b750c9e.entry.js.map +0 -1
- package/dist/ui-library/p-911eb578.entry.js +0 -2
- package/dist/ui-library/p-93fcda4a.entry.js +0 -2
- package/dist/ui-library/p-93fcda4a.entry.js.map +0 -1
- package/dist/ui-library/p-981b3228.entry.js +0 -2
- package/dist/ui-library/p-981b3228.entry.js.map +0 -1
- package/dist/ui-library/p-9b1ff147.entry.js +0 -2
- package/dist/ui-library/p-9b1ff147.entry.js.map +0 -1
- package/dist/ui-library/p-a21f8d06.entry.js +0 -2
- package/dist/ui-library/p-a21f8d06.entry.js.map +0 -1
- package/dist/ui-library/p-a2461274.entry.js +0 -2
- package/dist/ui-library/p-a2461274.entry.js.map +0 -1
- package/dist/ui-library/p-a4e4620c.entry.js +0 -2
- package/dist/ui-library/p-ada23fe3.entry.js +0 -2
- package/dist/ui-library/p-b5ac1219.entry.js +0 -2
- package/dist/ui-library/p-ba247565.entry.js +0 -2
- package/dist/ui-library/p-ba247565.entry.js.map +0 -1
- package/dist/ui-library/p-bdb79948.entry.js +0 -2
- package/dist/ui-library/p-c021a9c9.entry.js +0 -2
- package/dist/ui-library/p-c07b1240.entry.js +0 -2
- package/dist/ui-library/p-c12a94ce.entry.js +0 -2
- package/dist/ui-library/p-c2df8c27.entry.js +0 -2
- package/dist/ui-library/p-c2df8c27.entry.js.map +0 -1
- package/dist/ui-library/p-d6838141.entry.js +0 -2
- package/dist/ui-library/p-dc908cbb.entry.js +0 -2
- package/dist/ui-library/p-dc908cbb.entry.js.map +0 -1
- package/dist/ui-library/p-dfb6bff6.entry.js +0 -2
- package/dist/ui-library/p-dfb6bff6.entry.js.map +0 -1
- package/dist/ui-library/p-ee71e3a3.entry.js +0 -2
- package/dist/ui-library/p-ef317d69.entry.js +0 -2
- package/dist/ui-library/p-ef317d69.entry.js.map +0 -1
- package/dist/ui-library/p-f2ef23c4.js +0 -2
- package/dist/ui-library/p-f2ef23c4.js.map +0 -1
- package/dist/ui-library/p-f385f1c2.entry.js +0 -2
- package/dist/ui-library/p-f385f1c2.entry.js.map +0 -1
- package/dist/ui-library/p-faa04bb5.js +0 -2
- package/dist/ui-library/p-faa04bb5.js.map +0 -1
- package/dist/ui-library/p-fcd57e0a.entry.js +0 -2
- /package/dist/ui-library/{p-c86aa5b3.entry.js.map → p-1f5840b5.entry.js.map} +0 -0
- /package/dist/ui-library/{p-c1675a45.entry.js.map → p-546e33d9.entry.js.map} +0 -0
- /package/dist/ui-library/{p-6907a7dc.js.map → p-61e66671.js.map} +0 -0
- /package/dist/ui-library/{p-d310a6dd.entry.js.map → p-884c5cf9.entry.js.map} +0 -0
- /package/dist/ui-library/{p-816f857d.entry.js.map → p-935c78a7.entry.js.map} +0 -0
- /package/dist/ui-library/{p-cd35b3c6.entry.js.map → p-a9c159f2.entry.js.map} +0 -0
- /package/dist/ui-library/{p-d2cf4280.entry.js.map → p-d3f5b9a8.entry.js.map} +0 -0
- /package/dist/ui-library/{p-f73a6bdc.entry.js.map → p-f8cbb8da.entry.js.map} +0 -0
|
@@ -211,9 +211,9 @@ export class SixItemPicker {
|
|
|
211
211
|
isRoundtripPossible: () => this.min === undefined && this.roundtrip,
|
|
212
212
|
});
|
|
213
213
|
}
|
|
214
|
-
getNextItemByOperation(operation) {
|
|
214
|
+
getNextItemByOperation(operation, increment = this.step) {
|
|
215
215
|
const value = String(this.value);
|
|
216
|
-
const nextIndexCandidate = operation(this.getStringItemIndex(value),
|
|
216
|
+
const nextIndexCandidate = operation(this.getStringItemIndex(value), increment);
|
|
217
217
|
const numberOfItems = this._items.length;
|
|
218
218
|
const nextIndex = ((nextIndexCandidate % numberOfItems) + numberOfItems) % numberOfItems;
|
|
219
219
|
return this._items[nextIndex];
|
|
@@ -232,6 +232,7 @@ export class SixItemPicker {
|
|
|
232
232
|
return;
|
|
233
233
|
}
|
|
234
234
|
console.warn(`${TAG} Roundtrip is not allowed, but was still triggered, please report this issue to the developer of six-item-picker`);
|
|
235
|
+
this.sixChange.emit(this.value);
|
|
235
236
|
}
|
|
236
237
|
isNumber() {
|
|
237
238
|
return this.type === ItemPickerType.NUMBER;
|
|
@@ -314,14 +315,109 @@ export class SixItemPicker {
|
|
|
314
315
|
}
|
|
315
316
|
return this.value;
|
|
316
317
|
}
|
|
318
|
+
handleKeyPress(event) {
|
|
319
|
+
if (event.key === 'Enter') {
|
|
320
|
+
event.preventDefault();
|
|
321
|
+
if (event.target === this.upButton) {
|
|
322
|
+
this.nextItem();
|
|
323
|
+
}
|
|
324
|
+
else if (event.target === this.downButton) {
|
|
325
|
+
this.previousItem();
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
else if (event.key === 'ArrowUp') {
|
|
329
|
+
event.preventDefault();
|
|
330
|
+
this.nextItem();
|
|
331
|
+
}
|
|
332
|
+
else if (event.key === 'ArrowDown') {
|
|
333
|
+
event.preventDefault();
|
|
334
|
+
this.previousItem();
|
|
335
|
+
}
|
|
336
|
+
else if (event.key === 'PageUp') {
|
|
337
|
+
event.preventDefault();
|
|
338
|
+
this.pageUp();
|
|
339
|
+
}
|
|
340
|
+
else if (event.key === 'PageDown') {
|
|
341
|
+
event.preventDefault();
|
|
342
|
+
this.pageDown();
|
|
343
|
+
}
|
|
344
|
+
else if (event.key === 'Home') {
|
|
345
|
+
event.preventDefault();
|
|
346
|
+
this.goToMin();
|
|
347
|
+
}
|
|
348
|
+
else if (event.key === 'End') {
|
|
349
|
+
event.preventDefault();
|
|
350
|
+
this.goToMax();
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
pageUp() {
|
|
354
|
+
if (this.isNumber()) {
|
|
355
|
+
this.changeValue({
|
|
356
|
+
isNextItemAllowed: () => !this.isNextNumberDisabled(),
|
|
357
|
+
getNextItem: () => Number(this.value) + 5 * this.step,
|
|
358
|
+
getRoundtripItem: () => Number(this.min),
|
|
359
|
+
isRoundtripPossible: () => this.min === undefined && this.roundtrip,
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
else {
|
|
363
|
+
const value = String(this.value);
|
|
364
|
+
const minLetter = String(this.min);
|
|
365
|
+
this.changeValue({
|
|
366
|
+
isNextItemAllowed: () => minLetter === undefined || this.getStringItemIndex(value) > this.getStringItemIndex(minLetter),
|
|
367
|
+
getNextItem: () => this.getNextItemByOperation(add, 5),
|
|
368
|
+
getRoundtripItem: () => String(this.min),
|
|
369
|
+
isRoundtripPossible: () => this.min === undefined && this.roundtrip,
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
pageDown() {
|
|
374
|
+
if (this.isNumber()) {
|
|
375
|
+
this.changeValue({
|
|
376
|
+
isNextItemAllowed: () => !this.isPreviousNumberDisabled(),
|
|
377
|
+
getNextItem: () => Number(this.value) - 5 * this.step,
|
|
378
|
+
getRoundtripItem: () => Number(this.max),
|
|
379
|
+
isRoundtripPossible: () => this.max === undefined && this.roundtrip,
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
const value = String(this.value);
|
|
384
|
+
const maxLetter = String(this.max);
|
|
385
|
+
this.changeValue({
|
|
386
|
+
isNextItemAllowed: () => maxLetter === undefined || this.getStringItemIndex(value) < this.getStringItemIndex(maxLetter),
|
|
387
|
+
getNextItem: () => this.getNextItemByOperation(subtract, 5),
|
|
388
|
+
getRoundtripItem: () => String(this.max),
|
|
389
|
+
isRoundtripPossible: () => this.max == null && this.roundtrip,
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
goToMin() {
|
|
394
|
+
var _a;
|
|
395
|
+
if (this.isNumber()) {
|
|
396
|
+
this.value = (_a = this.min) !== null && _a !== void 0 ? _a : 0;
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
this.value = this._items[0];
|
|
400
|
+
}
|
|
401
|
+
this.sixChange.emit(this.value);
|
|
402
|
+
}
|
|
403
|
+
goToMax() {
|
|
404
|
+
var _a;
|
|
405
|
+
if (this.isNumber()) {
|
|
406
|
+
this.value = (_a = this.max) !== null && _a !== void 0 ? _a : Infinity;
|
|
407
|
+
}
|
|
408
|
+
else {
|
|
409
|
+
this.value = this.getLastStringItem();
|
|
410
|
+
}
|
|
411
|
+
this.sixChange.emit(this.value);
|
|
412
|
+
}
|
|
317
413
|
render() {
|
|
318
|
-
return (h("div", { part: "container", class: "item_picker__container" }, h("div", { part: "up", class: {
|
|
414
|
+
return (h("div", { part: "container", class: "item_picker__container", onKeyDown: (event) => this.handleKeyPress(event), tabindex: "0" }, h("div", { ref: (el) => (this.upButton = el), part: "up", class: {
|
|
319
415
|
item_picker__btn: true,
|
|
320
416
|
'item_picker__btn--disabled': this.isNextDisabled(),
|
|
321
|
-
}, onMouseDown: () => this.onMouseDownNext(), onMouseUp: () => this.onMouseUpNext() }, h("six-icon", { size: "large" }, "expand_less")), h("div", { part: "content", class: "item_picker__content" }, this.getFormattedValue()), h("div", { part: "down", class: {
|
|
417
|
+
}, onMouseDown: () => this.onMouseDownNext(), onMouseUp: () => this.onMouseUpNext(), tabindex: "-1" }, h("six-icon", { size: "large" }, "expand_less")), h("div", { part: "content", class: "item_picker__content" }, this.getFormattedValue()), h("div", { ref: (el) => (this.downButton = el), part: "down", class: {
|
|
322
418
|
item_picker__btn: true,
|
|
323
419
|
'item_picker__btn--disabled': this.isPrevDisabled(),
|
|
324
|
-
}, onMouseDown: () => this.onMouseDownPrev(), onMouseUp: () => this.onMouseUpPrev() }, h("six-icon", { size: "large" }, "expand_more"))));
|
|
420
|
+
}, onMouseDown: () => this.onMouseDownPrev(), onMouseUp: () => this.onMouseUpPrev(), tabindex: "-1" }, h("six-icon", { size: "large" }, "expand_more"))));
|
|
325
421
|
}
|
|
326
422
|
static get is() { return "six-item-picker"; }
|
|
327
423
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"six-item-picker.js","sourceRoot":"","sources":["../../../src/components/six-item-picker/six-item-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAChH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAQ7D,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AACtD,MAAM,wBAAwB,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAC5F,MAAM,QAAQ,GAAa;IACzB,QAAQ,EAAE,wBAAwB;IAClC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAClF,CAAC;AACF,MAAM,gBAAgB,GAAa;IACjC,QAAQ,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC/E,CAAC;AACF,MAAM,kBAAkB,GAAa;IACnC,QAAQ,EAAE,CAAC,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC7F,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,GAAa,EAA0B,EAAE;IAClE,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,GAAG,GAAG,mBAAmB,CAAC;AAEhC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAI5C,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AAE9D;;;;;;;;GAQG;AAMH,MAAM,OAAO,aAAa;;QACP,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAqH/C,uCAAkC,GAAG,GAAG,EAAE;YAChD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC;qBAlH+D,EAAE;oBAGpC,cAAc,CAAC,MAAM;;;yBASf,IAAI;oBAGT,CAAC;;sBAMhB,KAAK;6BAGE,CAAC;2BAGH,GAAG;gCAI8B,0BAA0B,CAAC,MAAM;uBAKtE,qBAAqB;wBAKpB,8BAA8B;wBAmB9B,qBAAqB;sBAyBZ,EAAE;4BACkB,EAAE;;IAvBlD,iBAAiB;QACf,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAGS,eAAe;QACvB,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,CAAC,GAAG,CACrB,IAAI,CAAC,IAAI,EACT,wBAAwB,EACxB,QAAQ,CAAC,IAAI,CAAC,kCAAkC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAChE,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IAGD,eAAe;QACb,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACtC,CAAC;IAYD,iBAAiB;QACf,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,cAAc,CAAC,GAAG,CACrB,IAAI,CAAC,IAAI,EACT,wBAAwB,EACxB,QAAQ,CAAC,IAAI,CAAC,kCAAkC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAChE,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAMO,KAAK;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;IACH,CAAC;IAEO,gBAAgB;;QACtB,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,gDAAgD,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,+DAA+D,CAAC,CAAC;YACpF,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,GAAG,mCAAI,CAAC,CAAC;SAC5B;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC;QAC/F,IAAI,cAAc,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,iEAAiE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACnG,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,4DAA4D,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,uBAAuB,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,0BAA0B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAChE;YACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC3B;QAED,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,+CAA+C,CAAC,CAAC;gBACpE,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,0BAA0B,OAAO,EAAE,CAAC,CAAC;aACzD;YACD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;SACpB;IACH,CAAC;IAEO,iBAAiB;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEO,cAAc;QACpB,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,cAAc,CAAC,MAAM;gBACxB,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,qBAAqB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrD,OAAO,EAAE,CAAC;YACZ,KAAK,cAAc,CAAC,MAAM;gBACxB,OAAO,QAAQ,CAAC,QAAQ,CAAC;YAC3B,KAAK,cAAc,CAAC,cAAc;gBAChC,OAAO,gBAAgB,CAAC,QAAQ,CAAC;YACnC,KAAK,cAAc,CAAC,YAAY;gBAC9B,OAAO,kBAAkB,CAAC,QAAQ,CAAC;YACrC,KAAK,cAAc,CAAC,MAAM;gBACxB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACjD,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,+BAA+B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC/D,OAAO,EAAE,CAAC;iBACX;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC;SACrB;IACH,CAAC;IAEO,cAAc;QACpB,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,cAAc,CAAC,MAAM;gBACxB,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,qBAAqB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrD,OAAO,EAAE,CAAC;YACZ,KAAK,cAAc,CAAC,MAAM;gBACxB,OAAO,QAAQ,CAAC,aAAa,CAAC;YAChC,KAAK,cAAc,CAAC,cAAc;gBAChC,OAAO,gBAAgB,CAAC,aAAa,CAAC;YACxC,KAAK,cAAc,CAAC,YAAY;gBAC9B,OAAO,kBAAkB,CAAC,aAAa,CAAC;YAC1C,KAAK,cAAc,CAAC,MAAM;gBACxB,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACzC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,WAAW,CAAC;YACf,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACzD,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI;YACjD,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YACxC,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS;SACpE,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,WAAW,CAAC;YACf,iBAAiB,EAAE,GAAG,EAAE,CACtB,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YAChG,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YACxD,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YACxC,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;SAC9D,CAAC,CAAC;IACL,CAAC;IAEO,QAAQ;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aAAM;YACL,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,WAAW,CAAC;YACf,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACrD,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI;YACjD,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YACxC,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS;SACpE,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,cAAc;QACpB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,WAAW,CAAC;YACf,iBAAiB,EAAE,GAAG,EAAE,CACtB,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YAChG,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;YACnD,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YACxC,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS;SACpE,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,SAA2C;QACxE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACzC,MAAM,SAAS,GAAG,CAAC,CAAC,kBAAkB,GAAG,aAAa,CAAC,GAAG,aAAa,CAAC,GAAG,aAAa,CAAC;QACzF,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAEO,WAAW,CAAC,MAKnB;QACC,IAAI,MAAM,CAAC,iBAAiB,EAAE,EAAE;YAC9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAClC,OAAO;SACR;QAED,IAAI,MAAM,CAAC,mBAAmB,EAAE,EAAE;YAChC,OAAO,CAAC,KAAK,CACX,GAAG,GAAG,wHAAwH,CAC/H,CAAC;YACF,OAAO;SACR;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACvC,OAAO;SACR;QAED,OAAO,CAAC,IAAI,CACV,GAAG,GAAG,kHAAkH,CACzH,CAAC;IACJ,CAAC;IAEO,QAAQ;QACd,OAAO,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM,CAAC;IAC7C,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;IAC1D,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,KAAK,CAAC;SACd;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACpC;aAAM;YACL,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAChG;IACH,CAAC;IAEO,oBAAoB;;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,mCAAI,QAAQ,CAAC,CAAC;IACvE,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,KAAK,CAAC;SACd;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACxC;aAAM;YACL,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAChG;IACH,CAAC;IAEO,wBAAwB;;QAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAA,IAAI,CAAC,GAAG,mCAAI,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAEO,aAAa;QACnB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,OAAO;SACR;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAEO,aAAa;QACnB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACnD,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;QAED,IAAI,IAAI,CAAC,gBAAgB,KAAK,0BAA0B,CAAC,MAAM,EAAE;YAC/D,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAC1E;aAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,0BAA0B,CAAC,KAAK,EAAE;YACrE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SACxE;QAED,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM;QACJ,OAAO,CACL,WAAK,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,wBAAwB;YAClD,WACE,IAAI,EAAC,IAAI,EACT,KAAK,EAAE;oBACL,gBAAgB,EAAE,IAAI;oBACtB,4BAA4B,EAAE,IAAI,CAAC,cAAc,EAAE;iBACpD,EACD,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,EACzC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;gBAErC,gBAAU,IAAI,EAAC,OAAO,kBAAuB,CACzC;YACN,WAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,sBAAsB,IAC7C,IAAI,CAAC,iBAAiB,EAAE,CACrB;YACN,WACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;oBACL,gBAAgB,EAAE,IAAI;oBACtB,4BAA4B,EAAE,IAAI,CAAC,cAAc,EAAE;iBACpD,EACD,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,EACzC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;gBAErC,gBAAU,IAAI,EAAC,OAAO,kBAAuB,CACzC,CACF,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { ItemPickerPaddingDirection, ItemPickerType } from './types';\nimport { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { TimePeriod } from '../../utils/time.util';\n\ninterface Alphabet {\n alphabet: string[];\n letterIndexes: Record<string, number>;\n}\n\nconst uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\nconst upperAndLowercaseLetters = [...uppercaseLetters].flatMap((c) => [c, c.toLowerCase()]);\nconst ALPHABET: Alphabet = {\n alphabet: upperAndLowercaseLetters,\n letterIndexes: Object.fromEntries(upperAndLowercaseLetters.map((c, i) => [c, i])),\n};\nconst CAPITAL_ALPHABET: Alphabet = {\n alphabet: [...uppercaseLetters].flatMap((c) => [c]),\n letterIndexes: Object.fromEntries([...uppercaseLetters].map((c, i) => [c, i])),\n};\nconst LOWERCASE_ALPHABET: Alphabet = {\n alphabet: [...uppercaseLetters.toLowerCase()].flatMap((c) => [c]),\n letterIndexes: Object.fromEntries([...uppercaseLetters.toLowerCase()].map((c, i) => [c, i])),\n};\n\nconst createItemIndexes = (arr: string[]): Record<string, number> => {\n return Object.fromEntries([...arr].map((c, i) => [c, i]));\n};\n\nconst TAG = `[SIX-ITEM-PICKER]`;\n\nconst subtract = (a: number, b: number) => a - b;\nconst add = (a: number, b: number) => a + b;\n\nexport type SixItemPickerChangePayload = number | string | boolean | TimePeriod;\n\nconst DEBOUNCE_ITEM_PICKER_LISTENER = 'debounced-item-picker';\n\n/**\n * @since 2.0.0\n * @status experimental\n * @part container - The whole component container\n * @part up - The up button\n * @part content - The content area\n * @part down - The down button\n *\n */\n@Component({\n tag: 'six-item-picker',\n styleUrl: 'six-item-picker.scss',\n shadow: true,\n})\nexport class SixItemPicker {\n private readonly eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixItemPickerElement;\n\n /** The item picker's value attribute. */\n @Prop({ mutable: true, reflect: true }) value: number | string = '';\n\n /** The type of items you want to rotate through. */\n @Prop() type: ItemPickerType = ItemPickerType.NUMBER;\n\n /** The minimum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) min?: number | string;\n\n /** The maximum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) max?: number | string;\n\n /** Define whether the picker should to a roundtrip i.e. start at max when reaching min and vice versa. */\n @Prop({ reflect: true }) roundtrip = true;\n\n /** Defines how many steps should be taken when navigating */\n @Prop({ reflect: true }) step = 1;\n\n /** Defines a custom list of items you can iterate through */\n @Prop() items?: string[];\n\n /** Defines whether the items should be padded */\n @Prop() padded = false;\n\n /** Defines the length of the padded area */\n @Prop() paddingLength = 2;\n\n /** Defines the character used for padding */\n @Prop() paddingChar = '0';\n\n /** Defines whether the padding should be before or after the value. You can either use 'before' or 'after'. By default,\n * before is selected */\n @Prop() paddingDirection: ItemPickerPaddingDirection = ItemPickerPaddingDirection.BEFORE;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger faster switching between items.\n */\n @Prop() timeout = DEFAULT_DEBOUNCE_FAST;\n\n /**\n * Set the amount of time, in milliseconds, to wait between switching to next item when mouse button is held pressed.\n */\n @Prop() interval = DEFAULT_DEBOUNCE_INSANELY_FAST;\n\n /**\n * Emitted when the item picker's value changes\n */\n @Event({ eventName: 'six-item-picker-change' }) sixChange!: EventEmitter<SixItemPickerChangePayload>;\n\n /**\n * Emitted when the item picker's value changes, but debounced\n */\n @Event({ eventName: 'six-item-picker-change-debounced' })\n sixChangeDebounced!: EventEmitter<SixItemPickerChangePayload>;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `six-item-picker-change-debounced` event.\n * If you want your change debounce event to not trigger when keeping the nav button pressed before, make sure debounce\n * is a bit bigger than timeout, otherwise keeping the button pressed will trigger the event twice: once you click\n * (and keep pressed) and once you release\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n @Watch('value')\n handleValueChange() {\n this.setup();\n }\n\n @Watch('debounce')\n protected debounceChanged() {\n this.eventListeners.removeByIdentifier(DEBOUNCE_ITEM_PICKER_LISTENER);\n this.eventListeners.add(\n this.host,\n 'six-item-picker-change',\n debounce(this.handleSixItemPickerChangeDebounced, this.debounce),\n DEBOUNCE_ITEM_PICKER_LISTENER\n );\n }\n\n @Watch('items')\n handleSetChange() {\n this.setup();\n this.min = this._items[0];\n this.max = this.getLastStringItem();\n }\n\n @State() _items: string[] = [];\n @State() _itemIndexes: Record<string, number> = {};\n\n // used for fast increasing when keeping the mouse button held down\n private _timeoutNext!: ReturnType<typeof setTimeout>;\n private _intervalNext!: ReturnType<typeof setInterval>;\n\n private _timeoutPrev!: ReturnType<typeof setTimeout>;\n private _intervalPrev!: ReturnType<typeof setInterval>;\n\n componentWillLoad() {\n this.setup();\n }\n\n componentDidLoad() {\n this.eventListeners.add(\n this.host,\n 'six-item-picker-change',\n debounce(this.handleSixItemPickerChangeDebounced, this.debounce),\n DEBOUNCE_ITEM_PICKER_LISTENER\n );\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private handleSixItemPickerChangeDebounced = () => {\n this.sixChangeDebounced.emit(this.value);\n };\n\n private setup() {\n if (this.isNumber()) {\n this.setupNumberItems();\n } else {\n this.setUpStringItems();\n }\n }\n\n private setupNumberItems() {\n if (this.isInvalidNumber()) {\n console.warn(`${TAG} Expected number but value is not a number: \"${this.value}\"`);\n console.info(`${TAG} Will set value to either minimum or if not provided to zero.`);\n this.value = this.min ?? 0;\n }\n }\n\n private setUpStringItems() {\n this._items = this.getStringItems();\n this._itemIndexes = this.getItemIndexes();\n const itemsMissValue = this._items.find((i) => String(i) === String(this.value)) === undefined;\n if (itemsMissValue) {\n console.warn(`${TAG} Expected item from item set but value was not found in set: \"${this.value}\"`);\n console.info(`${TAG} Will set value to either minimum or if not provided to \"${this._items[0]}\".`);\n this.value = this._items[0];\n }\n\n if (this.min === undefined) {\n if (!this.roundtrip) {\n console.warn(`${TAG} Expected a min value`);\n console.info(`${TAG} Will set min value to ${this._items[0]}`);\n }\n this.min = this._items[0];\n }\n\n if (this.max === undefined) {\n const maxItem = this.getLastStringItem();\n if (!this.roundtrip) {\n console.warn(`${TAG} Expected a min value if roundtrip is enabled`);\n console.info(`${TAG} Will set min value to ${maxItem}`);\n }\n this.max = maxItem;\n }\n }\n\n private getLastStringItem() {\n return this._items[this._items.length - 1];\n }\n\n private getStringItems(): string[] {\n switch (this.type) {\n case ItemPickerType.NUMBER:\n console.warn(`${TAG}: unexpected type ${this.type}`);\n return [];\n case ItemPickerType.LETTER:\n return ALPHABET.alphabet;\n case ItemPickerType.CAPITAL_LETTER:\n return CAPITAL_ALPHABET.alphabet;\n case ItemPickerType.LOWER_LETTER:\n return LOWERCASE_ALPHABET.alphabet;\n case ItemPickerType.CUSTOM:\n if (this.items == null || this.items.length === 0) {\n console.warn(`${TAG}: no items defined for type ${this.type}`);\n return [];\n }\n return this.items;\n }\n }\n\n private getItemIndexes(): Record<string, number> {\n switch (this.type) {\n case ItemPickerType.NUMBER:\n console.warn(`${TAG}: unexpected type ${this.type}`);\n return {};\n case ItemPickerType.LETTER:\n return ALPHABET.letterIndexes;\n case ItemPickerType.CAPITAL_LETTER:\n return CAPITAL_ALPHABET.letterIndexes;\n case ItemPickerType.LOWER_LETTER:\n return LOWERCASE_ALPHABET.letterIndexes;\n case ItemPickerType.CUSTOM:\n return createItemIndexes(this._items);\n }\n }\n\n private previousItem() {\n if (this.isNumber()) {\n this.previousNumber();\n } else {\n this.previousStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private previousNumber() {\n this.changeValue({\n isNextItemAllowed: () => !this.isPreviousNumberDisabled(),\n getNextItem: () => Number(this.value) - this.step,\n getRoundtripItem: () => Number(this.max),\n isRoundtripPossible: () => this.max === undefined && this.roundtrip,\n });\n }\n\n private previousStringItem() {\n const value = String(this.value);\n const minLetter = String(this.min);\n\n this.changeValue({\n isNextItemAllowed: () =>\n minLetter === undefined || this.getStringItemIndex(value) > this.getStringItemIndex(minLetter),\n getNextItem: () => this.getNextItemByOperation(subtract),\n getRoundtripItem: () => String(this.max),\n isRoundtripPossible: () => this.max == null && this.roundtrip,\n });\n }\n\n private nextItem() {\n if (this.isNumber()) {\n this.nextNumber();\n } else {\n this.nextStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private nextNumber() {\n this.changeValue({\n isNextItemAllowed: () => !this.isNextNumberDisabled(),\n getNextItem: () => Number(this.value) + this.step,\n getRoundtripItem: () => Number(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n\n private getStringItemIndex(char: string): number {\n return this._itemIndexes[char];\n }\n\n private nextStringItem() {\n const value = String(this.value);\n const maxLetter = String(this.max);\n\n this.changeValue({\n isNextItemAllowed: () =>\n maxLetter === undefined || this.getStringItemIndex(value) < this.getStringItemIndex(maxLetter),\n getNextItem: () => this.getNextItemByOperation(add),\n getRoundtripItem: () => String(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n\n private getNextItemByOperation(operation: (a: number, b: number) => number) {\n const value = String(this.value);\n const nextIndexCandidate = operation(this.getStringItemIndex(value), this.step);\n const numberOfItems = this._items.length;\n const nextIndex = ((nextIndexCandidate % numberOfItems) + numberOfItems) % numberOfItems;\n return this._items[nextIndex];\n }\n\n private changeValue(params: {\n getNextItem: () => number | string;\n isNextItemAllowed: () => boolean;\n getRoundtripItem: () => number | string;\n isRoundtripPossible: () => boolean;\n }) {\n if (params.isNextItemAllowed()) {\n this.value = params.getNextItem();\n return;\n }\n\n if (params.isRoundtripPossible()) {\n console.error(\n `${TAG} Item picker is expected to perform a roundtrip, but either max or min value is missing so a roundtrip is not possible`\n );\n return;\n }\n\n if (this.roundtrip) {\n this.value = params.getRoundtripItem();\n return;\n }\n\n console.warn(\n `${TAG} Roundtrip is not allowed, but was still triggered, please report this issue to the developer of six-item-picker`\n );\n }\n\n private isNumber() {\n return this.type === ItemPickerType.NUMBER;\n }\n\n private isInvalidNumber() {\n return this.value === '' || isNaN(this.value as number);\n }\n\n private isNextDisabled() {\n if (this.roundtrip) {\n return false;\n }\n\n if (this.isNumber()) {\n return this.isNextNumberDisabled();\n } else {\n return this._itemIndexes[String(this.value)] + this.step > this._itemIndexes[String(this.max)];\n }\n }\n\n private isNextNumberDisabled() {\n return Number(this.value) + this.step > Number(this.max ?? Infinity);\n }\n\n private isPrevDisabled() {\n if (this.roundtrip) {\n return false;\n }\n\n if (this.isNumber()) {\n return this.isPreviousNumberDisabled();\n } else {\n return this._itemIndexes[String(this.value)] - this.step < this._itemIndexes[String(this.min)];\n }\n }\n\n private isPreviousNumberDisabled() {\n return Number(this.value) - this.step < Number(this.min ?? -Infinity);\n }\n\n private onMouseDownNext() {\n if (this.isNextDisabled()) {\n return;\n }\n\n this.nextItem();\n\n this._timeoutNext = setTimeout(() => {\n this._intervalNext = setInterval(() => {\n this.nextItem();\n }, this.interval);\n }, this.timeout);\n }\n\n private onMouseUpNext() {\n clearTimeout(this._timeoutNext);\n clearInterval(this._intervalNext);\n }\n\n private onMouseDownPrev() {\n if (this.isPrevDisabled()) {\n return;\n }\n\n this.previousItem();\n\n this._timeoutPrev = setTimeout(() => {\n this._intervalPrev = setInterval(() => {\n this.previousItem();\n }, this.interval);\n }, this.timeout);\n }\n\n private onMouseUpPrev() {\n clearTimeout(this._timeoutPrev);\n clearInterval(this._intervalPrev);\n }\n\n private getFormattedValue() {\n if (this.value === undefined || this.value === null) {\n return this.value;\n }\n\n if (!this.padded) {\n return this.value;\n }\n\n if (this.paddingDirection === ItemPickerPaddingDirection.BEFORE) {\n return String(this.value).padStart(this.paddingLength, this.paddingChar);\n } else if (this.paddingDirection === ItemPickerPaddingDirection.AFTER) {\n return String(this.value).padEnd(this.paddingLength, this.paddingChar);\n }\n\n return this.value;\n }\n\n render() {\n return (\n <div part=\"container\" class=\"item_picker__container\">\n <div\n part=\"up\"\n class={{\n item_picker__btn: true,\n 'item_picker__btn--disabled': this.isNextDisabled(),\n }}\n onMouseDown={() => this.onMouseDownNext()}\n onMouseUp={() => this.onMouseUpNext()}\n >\n <six-icon size=\"large\">expand_less</six-icon>\n </div>\n <div part=\"content\" class=\"item_picker__content\">\n {this.getFormattedValue()}\n </div>\n <div\n part=\"down\"\n class={{\n item_picker__btn: true,\n 'item_picker__btn--disabled': this.isPrevDisabled(),\n }}\n onMouseDown={() => this.onMouseDownPrev()}\n onMouseUp={() => this.onMouseUpPrev()}\n >\n <six-icon size=\"large\">expand_more</six-icon>\n </div>\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"six-item-picker.js","sourceRoot":"","sources":["../../../src/components/six-item-picker/six-item-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { ItemPickerPaddingDirection, ItemPickerType } from './types';\nimport { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { TimePeriod } from '../../utils/time.util';\n\ninterface Alphabet {\n alphabet: string[];\n letterIndexes: Record<string, number>;\n}\n\nconst uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\nconst upperAndLowercaseLetters = [...uppercaseLetters].flatMap((c) => [c, c.toLowerCase()]);\nconst ALPHABET: Alphabet = {\n alphabet: upperAndLowercaseLetters,\n letterIndexes: Object.fromEntries(upperAndLowercaseLetters.map((c, i) => [c, i])),\n};\nconst CAPITAL_ALPHABET: Alphabet = {\n alphabet: [...uppercaseLetters].flatMap((c) => [c]),\n letterIndexes: Object.fromEntries([...uppercaseLetters].map((c, i) => [c, i])),\n};\nconst LOWERCASE_ALPHABET: Alphabet = {\n alphabet: [...uppercaseLetters.toLowerCase()].flatMap((c) => [c]),\n letterIndexes: Object.fromEntries([...uppercaseLetters.toLowerCase()].map((c, i) => [c, i])),\n};\n\nconst createItemIndexes = (arr: string[]): Record<string, number> => {\n return Object.fromEntries([...arr].map((c, i) => [c, i]));\n};\n\nconst TAG = `[SIX-ITEM-PICKER]`;\n\nconst subtract = (a: number, b: number) => a - b;\nconst add = (a: number, b: number) => a + b;\n\nexport type SixItemPickerChangePayload = number | string | boolean | TimePeriod;\n\nconst DEBOUNCE_ITEM_PICKER_LISTENER = 'debounced-item-picker';\n\n/**\n * @since 2.0.0\n * @status experimental\n * @part container - The whole component container\n * @part up - The up button\n * @part content - The content area\n * @part down - The down button\n *\n */\n@Component({\n tag: 'six-item-picker',\n styleUrl: 'six-item-picker.scss',\n shadow: true,\n})\nexport class SixItemPicker {\n private readonly eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixItemPickerElement;\n\n /** The item picker's value attribute. */\n @Prop({ mutable: true, reflect: true }) value: number | string = '';\n\n /** The type of items you want to rotate through. */\n @Prop() type: ItemPickerType = ItemPickerType.NUMBER;\n\n /** The minimum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) min?: number | string;\n\n /** The maximum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) max?: number | string;\n\n /** Define whether the picker should to a roundtrip i.e. start at max when reaching min and vice versa. */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop({ reflect: true }) roundtrip = true;\n\n /** Defines how many steps should be taken when navigating */\n @Prop({ reflect: true }) step = 1;\n\n /** Defines a custom list of items you can iterate through */\n @Prop() items?: string[];\n\n /** Defines whether the items should be padded */\n @Prop() padded = false;\n\n /** Defines the length of the padded area */\n @Prop() paddingLength = 2;\n\n /** Defines the character used for padding */\n @Prop() paddingChar = '0';\n\n /** Defines whether the padding should be before or after the value. You can either use 'before' or 'after'. By default,\n * before is selected */\n @Prop() paddingDirection: ItemPickerPaddingDirection = ItemPickerPaddingDirection.BEFORE;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger faster switching between items.\n */\n @Prop() timeout = DEFAULT_DEBOUNCE_FAST;\n\n /**\n * Set the amount of time, in milliseconds, to wait between switching to next item when mouse button is held pressed.\n */\n @Prop() interval = DEFAULT_DEBOUNCE_INSANELY_FAST;\n\n /**\n * Emitted when the item picker's value changes\n */\n @Event({ eventName: 'six-item-picker-change' }) sixChange!: EventEmitter<SixItemPickerChangePayload>;\n\n /**\n * Emitted when the item picker's value changes, but debounced\n */\n @Event({ eventName: 'six-item-picker-change-debounced' })\n sixChangeDebounced!: EventEmitter<SixItemPickerChangePayload>;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `six-item-picker-change-debounced` event.\n * If you want your change debounce event to not trigger when keeping the nav button pressed before, make sure debounce\n * is a bit bigger than timeout, otherwise keeping the button pressed will trigger the event twice: once you click\n * (and keep pressed) and once you release\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n @Watch('value')\n handleValueChange() {\n this.setup();\n }\n\n @Watch('debounce')\n protected debounceChanged() {\n this.eventListeners.removeByIdentifier(DEBOUNCE_ITEM_PICKER_LISTENER);\n this.eventListeners.add(\n this.host,\n 'six-item-picker-change',\n debounce(this.handleSixItemPickerChangeDebounced, this.debounce),\n DEBOUNCE_ITEM_PICKER_LISTENER\n );\n }\n\n @Watch('items')\n handleSetChange() {\n this.setup();\n this.min = this._items[0];\n this.max = this.getLastStringItem();\n }\n\n @State() _items: string[] = [];\n @State() _itemIndexes: Record<string, number> = {};\n\n // used for fast increasing when keeping the mouse button held down\n private _timeoutNext!: ReturnType<typeof setTimeout>;\n private _intervalNext!: ReturnType<typeof setInterval>;\n\n private _timeoutPrev!: ReturnType<typeof setTimeout>;\n private _intervalPrev!: ReturnType<typeof setInterval>;\n\n componentWillLoad() {\n this.setup();\n }\n\n componentDidLoad() {\n this.eventListeners.add(\n this.host,\n 'six-item-picker-change',\n debounce(this.handleSixItemPickerChangeDebounced, this.debounce),\n DEBOUNCE_ITEM_PICKER_LISTENER\n );\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private handleSixItemPickerChangeDebounced = () => {\n this.sixChangeDebounced.emit(this.value);\n };\n\n private setup() {\n if (this.isNumber()) {\n this.setupNumberItems();\n } else {\n this.setUpStringItems();\n }\n }\n\n private setupNumberItems() {\n if (this.isInvalidNumber()) {\n console.warn(`${TAG} Expected number but value is not a number: \"${this.value}\"`);\n console.info(`${TAG} Will set value to either minimum or if not provided to zero.`);\n this.value = this.min ?? 0;\n }\n }\n\n private setUpStringItems() {\n this._items = this.getStringItems();\n this._itemIndexes = this.getItemIndexes();\n const itemsMissValue = this._items.find((i) => String(i) === String(this.value)) === undefined;\n if (itemsMissValue) {\n console.warn(`${TAG} Expected item from item set but value was not found in set: \"${this.value}\"`);\n console.info(`${TAG} Will set value to either minimum or if not provided to \"${this._items[0]}\".`);\n this.value = this._items[0];\n }\n\n if (this.min === undefined) {\n if (!this.roundtrip) {\n console.warn(`${TAG} Expected a min value`);\n console.info(`${TAG} Will set min value to ${this._items[0]}`);\n }\n this.min = this._items[0];\n }\n\n if (this.max === undefined) {\n const maxItem = this.getLastStringItem();\n if (!this.roundtrip) {\n console.warn(`${TAG} Expected a min value if roundtrip is enabled`);\n console.info(`${TAG} Will set min value to ${maxItem}`);\n }\n this.max = maxItem;\n }\n }\n\n private getLastStringItem() {\n return this._items[this._items.length - 1];\n }\n\n private getStringItems(): string[] {\n switch (this.type) {\n case ItemPickerType.NUMBER:\n console.warn(`${TAG}: unexpected type ${this.type}`);\n return [];\n case ItemPickerType.LETTER:\n return ALPHABET.alphabet;\n case ItemPickerType.CAPITAL_LETTER:\n return CAPITAL_ALPHABET.alphabet;\n case ItemPickerType.LOWER_LETTER:\n return LOWERCASE_ALPHABET.alphabet;\n case ItemPickerType.CUSTOM:\n if (this.items == null || this.items.length === 0) {\n console.warn(`${TAG}: no items defined for type ${this.type}`);\n return [];\n }\n return this.items;\n }\n }\n\n private getItemIndexes(): Record<string, number> {\n switch (this.type) {\n case ItemPickerType.NUMBER:\n console.warn(`${TAG}: unexpected type ${this.type}`);\n return {};\n case ItemPickerType.LETTER:\n return ALPHABET.letterIndexes;\n case ItemPickerType.CAPITAL_LETTER:\n return CAPITAL_ALPHABET.letterIndexes;\n case ItemPickerType.LOWER_LETTER:\n return LOWERCASE_ALPHABET.letterIndexes;\n case ItemPickerType.CUSTOM:\n return createItemIndexes(this._items);\n }\n }\n\n private previousItem() {\n if (this.isNumber()) {\n this.previousNumber();\n } else {\n this.previousStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private previousNumber() {\n this.changeValue({\n isNextItemAllowed: () => !this.isPreviousNumberDisabled(),\n getNextItem: () => Number(this.value) - this.step,\n getRoundtripItem: () => Number(this.max),\n isRoundtripPossible: () => this.max === undefined && this.roundtrip,\n });\n }\n\n private previousStringItem() {\n const value = String(this.value);\n const minLetter = String(this.min);\n\n this.changeValue({\n isNextItemAllowed: () =>\n minLetter === undefined || this.getStringItemIndex(value) > this.getStringItemIndex(minLetter),\n getNextItem: () => this.getNextItemByOperation(subtract),\n getRoundtripItem: () => String(this.max),\n isRoundtripPossible: () => this.max == null && this.roundtrip,\n });\n }\n\n private nextItem() {\n if (this.isNumber()) {\n this.nextNumber();\n } else {\n this.nextStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private nextNumber() {\n this.changeValue({\n isNextItemAllowed: () => !this.isNextNumberDisabled(),\n getNextItem: () => Number(this.value) + this.step,\n getRoundtripItem: () => Number(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n\n private getStringItemIndex(char: string): number {\n return this._itemIndexes[char];\n }\n\n private nextStringItem() {\n const value = String(this.value);\n const maxLetter = String(this.max);\n\n this.changeValue({\n isNextItemAllowed: () =>\n maxLetter === undefined || this.getStringItemIndex(value) < this.getStringItemIndex(maxLetter),\n getNextItem: () => this.getNextItemByOperation(add),\n getRoundtripItem: () => String(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n\n private getNextItemByOperation(operation: (a: number, b: number) => number, increment: number = this.step) {\n const value = String(this.value);\n const nextIndexCandidate = operation(this.getStringItemIndex(value), increment);\n const numberOfItems = this._items.length;\n const nextIndex = ((nextIndexCandidate % numberOfItems) + numberOfItems) % numberOfItems;\n return this._items[nextIndex];\n }\n\n private changeValue(params: {\n getNextItem: () => number | string;\n isNextItemAllowed: () => boolean;\n getRoundtripItem: () => number | string;\n isRoundtripPossible: () => boolean;\n }) {\n if (params.isNextItemAllowed()) {\n this.value = params.getNextItem();\n return;\n }\n\n if (params.isRoundtripPossible()) {\n console.error(\n `${TAG} Item picker is expected to perform a roundtrip, but either max or min value is missing so a roundtrip is not possible`\n );\n return;\n }\n\n if (this.roundtrip) {\n this.value = params.getRoundtripItem();\n return;\n }\n\n console.warn(\n `${TAG} Roundtrip is not allowed, but was still triggered, please report this issue to the developer of six-item-picker`\n );\n\n this.sixChange.emit(this.value);\n }\n\n private isNumber() {\n return this.type === ItemPickerType.NUMBER;\n }\n\n private isInvalidNumber() {\n return this.value === '' || isNaN(this.value as number);\n }\n\n private isNextDisabled() {\n if (this.roundtrip) {\n return false;\n }\n\n if (this.isNumber()) {\n return this.isNextNumberDisabled();\n } else {\n return this._itemIndexes[String(this.value)] + this.step > this._itemIndexes[String(this.max)];\n }\n }\n\n private isNextNumberDisabled() {\n return Number(this.value) + this.step > Number(this.max ?? Infinity);\n }\n\n private isPrevDisabled() {\n if (this.roundtrip) {\n return false;\n }\n\n if (this.isNumber()) {\n return this.isPreviousNumberDisabled();\n } else {\n return this._itemIndexes[String(this.value)] - this.step < this._itemIndexes[String(this.min)];\n }\n }\n\n private isPreviousNumberDisabled() {\n return Number(this.value) - this.step < Number(this.min ?? -Infinity);\n }\n\n private onMouseDownNext() {\n if (this.isNextDisabled()) {\n return;\n }\n\n this.nextItem();\n\n this._timeoutNext = setTimeout(() => {\n this._intervalNext = setInterval(() => {\n this.nextItem();\n }, this.interval);\n }, this.timeout);\n }\n\n private onMouseUpNext() {\n clearTimeout(this._timeoutNext);\n clearInterval(this._intervalNext);\n }\n\n private onMouseDownPrev() {\n if (this.isPrevDisabled()) {\n return;\n }\n\n this.previousItem();\n\n this._timeoutPrev = setTimeout(() => {\n this._intervalPrev = setInterval(() => {\n this.previousItem();\n }, this.interval);\n }, this.timeout);\n }\n\n private onMouseUpPrev() {\n clearTimeout(this._timeoutPrev);\n clearInterval(this._intervalPrev);\n }\n\n private getFormattedValue() {\n if (this.value === undefined || this.value === null) {\n return this.value;\n }\n\n if (!this.padded) {\n return this.value;\n }\n\n if (this.paddingDirection === ItemPickerPaddingDirection.BEFORE) {\n return String(this.value).padStart(this.paddingLength, this.paddingChar);\n } else if (this.paddingDirection === ItemPickerPaddingDirection.AFTER) {\n return String(this.value).padEnd(this.paddingLength, this.paddingChar);\n }\n\n return this.value;\n }\n\n private handleKeyPress(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n event.preventDefault();\n\n if (event.target === this.upButton) {\n this.nextItem();\n } else if (event.target === this.downButton) {\n this.previousItem();\n }\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.nextItem();\n } else if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.previousItem();\n } else if (event.key === 'PageUp') {\n event.preventDefault();\n this.pageUp();\n } else if (event.key === 'PageDown') {\n event.preventDefault();\n this.pageDown();\n } else if (event.key === 'Home') {\n event.preventDefault();\n this.goToMin();\n } else if (event.key === 'End') {\n event.preventDefault();\n this.goToMax();\n }\n }\n\n private pageUp() {\n if (this.isNumber()) {\n this.changeValue({\n isNextItemAllowed: () => !this.isNextNumberDisabled(),\n getNextItem: () => Number(this.value) + 5 * this.step,\n getRoundtripItem: () => Number(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n } else {\n const value = String(this.value);\n const minLetter = String(this.min);\n\n this.changeValue({\n isNextItemAllowed: () =>\n minLetter === undefined || this.getStringItemIndex(value) > this.getStringItemIndex(minLetter),\n getNextItem: () => this.getNextItemByOperation(add, 5),\n getRoundtripItem: () => String(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n }\n\n private pageDown() {\n if (this.isNumber()) {\n this.changeValue({\n isNextItemAllowed: () => !this.isPreviousNumberDisabled(),\n getNextItem: () => Number(this.value) - 5 * this.step,\n getRoundtripItem: () => Number(this.max),\n isRoundtripPossible: () => this.max === undefined && this.roundtrip,\n });\n } else {\n const value = String(this.value);\n const maxLetter = String(this.max);\n\n this.changeValue({\n isNextItemAllowed: () =>\n maxLetter === undefined || this.getStringItemIndex(value) < this.getStringItemIndex(maxLetter),\n getNextItem: () => this.getNextItemByOperation(subtract, 5),\n getRoundtripItem: () => String(this.max),\n isRoundtripPossible: () => this.max == null && this.roundtrip,\n });\n }\n }\n\n private goToMin() {\n if (this.isNumber()) {\n this.value = this.min ?? 0;\n } else {\n this.value = this._items[0];\n }\n\n this.sixChange.emit(this.value);\n }\n\n private goToMax() {\n if (this.isNumber()) {\n this.value = this.max ?? Infinity;\n } else {\n this.value = this.getLastStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private upButton!: HTMLDivElement;\n private downButton!: HTMLDivElement;\n\n render() {\n return (\n <div\n part=\"container\"\n class=\"item_picker__container\"\n onKeyDown={(event) => this.handleKeyPress(event)}\n tabindex=\"0\"\n >\n <div\n ref={(el) => (this.upButton = el as HTMLDivElement)}\n part=\"up\"\n class={{\n item_picker__btn: true,\n 'item_picker__btn--disabled': this.isNextDisabled(),\n }}\n onMouseDown={() => this.onMouseDownNext()}\n onMouseUp={() => this.onMouseUpNext()}\n tabindex=\"-1\"\n >\n <six-icon size=\"large\">expand_less</six-icon>\n </div>\n <div part=\"content\" class=\"item_picker__content\">\n {this.getFormattedValue()}\n </div>\n <div\n ref={(el) => (this.downButton = el as HTMLDivElement)}\n part=\"down\"\n class={{\n item_picker__btn: true,\n 'item_picker__btn--disabled': this.isPrevDisabled(),\n }}\n onMouseDown={() => this.onMouseDownPrev()}\n onMouseUp={() => this.onMouseUpPrev()}\n tabindex=\"-1\"\n >\n <six-icon size=\"large\">expand_more</six-icon>\n </div>\n </div>\n );\n }\n}\n"]}
|
|
@@ -9,25 +9,25 @@ describe('six-item-picker', () => {
|
|
|
9
9
|
});
|
|
10
10
|
// then
|
|
11
11
|
expect(page.root).toEqualHtml(`
|
|
12
|
-
<six-item-picker roundtrip="" step="1" value="0">
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
</six-item-picker>`);
|
|
12
|
+
<six-item-picker roundtrip="" step="1" value="0">
|
|
13
|
+
<mock:shadow-root>
|
|
14
|
+
<div class="item_picker__container" part="container" tabindex="0">
|
|
15
|
+
<div class="item_picker__btn" part="up" tabindex="-1">
|
|
16
|
+
<six-icon size="large">
|
|
17
|
+
expand_less
|
|
18
|
+
</six-icon>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="item_picker__content" part="content">
|
|
21
|
+
0
|
|
22
|
+
</div>
|
|
23
|
+
<div class="item_picker__btn" part="down" tabindex="-1">
|
|
24
|
+
<six-icon size="large">
|
|
25
|
+
expand_more
|
|
26
|
+
</six-icon>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
</mock:shadow-root>
|
|
30
|
+
</six-item-picker>`);
|
|
31
31
|
});
|
|
32
32
|
it('should render number picker with correct attributes', async () => {
|
|
33
33
|
// given
|
|
@@ -37,25 +37,25 @@ describe('six-item-picker', () => {
|
|
|
37
37
|
});
|
|
38
38
|
// then
|
|
39
39
|
expect(page.root).toEqualHtml(`
|
|
40
|
-
<six-item-picker max="13" min="3" roundtrip="false" step="5" value="5">
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
</six-item-picker>
|
|
40
|
+
<six-item-picker max="13" min="3" roundtrip="false" step="5" value="5">
|
|
41
|
+
<mock:shadow-root>
|
|
42
|
+
<div class="item_picker__container" part="container" tabindex="0">
|
|
43
|
+
<div class="item_picker__btn" part="up" tabindex="-1">
|
|
44
|
+
<six-icon size="large">
|
|
45
|
+
expand_less
|
|
46
|
+
</six-icon>
|
|
47
|
+
</div>
|
|
48
|
+
<div class="item_picker__content" part="content">
|
|
49
|
+
5
|
|
50
|
+
</div>
|
|
51
|
+
<div class="item_picker__btn item_picker__btn--disabled" part="down" tabindex="-1">
|
|
52
|
+
<six-icon size="large">
|
|
53
|
+
expand_more
|
|
54
|
+
</six-icon>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
</mock:shadow-root>
|
|
58
|
+
</six-item-picker>
|
|
59
59
|
`);
|
|
60
60
|
});
|
|
61
61
|
it('should render letter picker with correct attributes', async () => {
|
|
@@ -66,25 +66,25 @@ describe('six-item-picker', () => {
|
|
|
66
66
|
});
|
|
67
67
|
// then
|
|
68
68
|
expect(page.root).toEqualHtml(`
|
|
69
|
-
<six-item-picker max="k" min="c" roundtrip="false" step="1" type="letter" value="d">
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
</six-item-picker>`);
|
|
69
|
+
<six-item-picker max="k" min="c" roundtrip="false" step="1" type="letter" value="d">
|
|
70
|
+
<mock:shadow-root>
|
|
71
|
+
<div class="item_picker__container" part="container" tabindex="0">
|
|
72
|
+
<div class="item_picker__btn" part="up" tabindex="-1">
|
|
73
|
+
<six-icon size="large">
|
|
74
|
+
expand_less
|
|
75
|
+
</six-icon>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="item_picker__content" part="content">
|
|
78
|
+
d
|
|
79
|
+
</div>
|
|
80
|
+
<div class="item_picker__btn" part="down" tabindex="-1">
|
|
81
|
+
<six-icon size="large">
|
|
82
|
+
expand_more
|
|
83
|
+
</six-icon>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
</mock:shadow-root>
|
|
87
|
+
</six-item-picker>`);
|
|
88
88
|
});
|
|
89
89
|
});
|
|
90
90
|
//# sourceMappingURL=six-item-picker.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"six-item-picker.spec.js","sourceRoot":"","sources":["../../../../src/components/six-item-picker/test/six-item-picker.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,qCAAqC;SAC5C,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"six-item-picker.spec.js","sourceRoot":"","sources":["../../../../src/components/six-item-picker/test/six-item-picker.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,qCAAqC;SAC5C,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;yBAmBT,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,2FAA2F;SAClG,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;KAoB7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,QAAQ;QACR,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,+FAA+F;SACtG,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;yBAmBT,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixItemPicker } from '../six-item-picker';\n\ndescribe('six-item-picker', () => {\n it('should render default', async () => {\n // given\n const page = await newSpecPage({\n components: [SixItemPicker],\n html: `<six-item-picker></six-item-picker>`,\n });\n\n // then\n expect(page.root).toEqualHtml(`\n <six-item-picker roundtrip=\"\" step=\"1\" value=\"0\">\n <mock:shadow-root>\n <div class=\"item_picker__container\" part=\"container\" tabindex=\"0\">\n <div class=\"item_picker__btn\" part=\"up\" tabindex=\"-1\">\n <six-icon size=\"large\">\n expand_less\n </six-icon>\n </div>\n <div class=\"item_picker__content\" part=\"content\">\n 0\n </div>\n <div class=\"item_picker__btn\" part=\"down\" tabindex=\"-1\">\n <six-icon size=\"large\">\n expand_more\n </six-icon>\n </div>\n </div>\n </mock:shadow-root>\n </six-item-picker>`);\n });\n\n it('should render number picker with correct attributes', async () => {\n // given\n const page = await newSpecPage({\n components: [SixItemPicker],\n html: `<six-item-picker value=\"5\" step=\"5\" min=\"3\" max=\"13\" roundtrip=\"false\"></six-item-picker>`,\n });\n\n // then\n expect(page.root).toEqualHtml(`\n <six-item-picker max=\"13\" min=\"3\" roundtrip=\"false\" step=\"5\" value=\"5\">\n <mock:shadow-root>\n <div class=\"item_picker__container\" part=\"container\" tabindex=\"0\">\n <div class=\"item_picker__btn\" part=\"up\" tabindex=\"-1\">\n <six-icon size=\"large\">\n expand_less\n </six-icon>\n </div>\n <div class=\"item_picker__content\" part=\"content\">\n 5\n </div>\n <div class=\"item_picker__btn item_picker__btn--disabled\" part=\"down\" tabindex=\"-1\">\n <six-icon size=\"large\">\n expand_more\n </six-icon>\n </div>\n </div>\n </mock:shadow-root>\n </six-item-picker>\n `);\n });\n\n it('should render letter picker with correct attributes', async () => {\n // given\n const page = await newSpecPage({\n components: [SixItemPicker],\n html: `<six-item-picker type=\"letter\" roundtrip=\"false\" min=\"c\" max=\"k\" value=\"d\"></six-item-picker>`,\n });\n\n // then\n expect(page.root).toEqualHtml(`\n <six-item-picker max=\"k\" min=\"c\" roundtrip=\"false\" step=\"1\" type=\"letter\" value=\"d\">\n <mock:shadow-root>\n <div class=\"item_picker__container\" part=\"container\" tabindex=\"0\">\n <div class=\"item_picker__btn\" part=\"up\" tabindex=\"-1\">\n <six-icon size=\"large\">\n expand_less\n </six-icon>\n </div>\n <div class=\"item_picker__content\" part=\"content\">\n d\n </div>\n <div class=\"item_picker__btn\" part=\"down\" tabindex=\"-1\">\n <six-icon size=\"large\">\n expand_more\n </six-icon>\n </div>\n </div>\n </mock:shadow-root>\n </six-item-picker>`);\n });\n});\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// eslint-disable-next-line @stencil-community/ban-exported-const-enums
|
|
1
2
|
export var ItemPickerType;
|
|
2
3
|
(function (ItemPickerType) {
|
|
3
4
|
ItemPickerType["NUMBER"] = "number";
|
|
@@ -6,6 +7,7 @@ export var ItemPickerType;
|
|
|
6
7
|
ItemPickerType["LOWER_LETTER"] = "lower-letter";
|
|
7
8
|
ItemPickerType["CUSTOM"] = "custom";
|
|
8
9
|
})(ItemPickerType || (ItemPickerType = {}));
|
|
10
|
+
// eslint-disable-next-line @stencil-community/ban-exported-const-enums
|
|
9
11
|
export var ItemPickerPaddingDirection;
|
|
10
12
|
(function (ItemPickerPaddingDirection) {
|
|
11
13
|
ItemPickerPaddingDirection["BEFORE"] = "before";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/six-item-picker/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mDAAiC,CAAA;IACjC,+CAA6B,CAAA;IAC7B,mCAAiB,CAAA;AACnB,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAED,MAAM,CAAN,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,+CAAiB,CAAA;IACjB,6CAAe,CAAA;AACjB,CAAC,EAHW,0BAA0B,KAA1B,0BAA0B,QAGrC","sourcesContent":["
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/six-item-picker/types.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,mDAAiC,CAAA;IACjC,+CAA6B,CAAA;IAC7B,mCAAiB,CAAA;AACnB,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAED,uEAAuE;AACvE,MAAM,CAAN,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,+CAAiB,CAAA;IACjB,6CAAe,CAAA;AACjB,CAAC,EAHW,0BAA0B,KAA1B,0BAA0B,QAGrC","sourcesContent":["// eslint-disable-next-line @stencil-community/ban-exported-const-enums\nexport enum ItemPickerType {\n NUMBER = 'number',\n LETTER = 'letter',\n CAPITAL_LETTER = 'capital-letter',\n LOWER_LETTER = 'lower-letter',\n CUSTOM = 'custom',\n}\n\n// eslint-disable-next-line @stencil-community/ban-exported-const-enums\nexport enum ItemPickerPaddingDirection {\n BEFORE = 'before',\n AFTER = 'after',\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"six-main-container.js","sourceRoot":"","sources":["../../../src/components/six-main-container/six-main-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAElE;;;;;;;;;GASG;AAOH,MAAM,OAAO,gBAAgB;;
|
|
1
|
+
{"version":3,"file":"six-main-container.js","sourceRoot":"","sources":["../../../src/components/six-main-container/six-main-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAElE;;;;;;;;;GASG;AAOH,MAAM,OAAO,gBAAgB;;sBAKV,IAAI;;IAErB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,WAAK,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,aAAa,GAAG;YAC9C,WAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE;gBAC1E,eAAQ,CACJ;YACN,WAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,cAAc,GAAG,CAC3C,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Prop } from '@stencil/core';\n\n/**\n * @since 1.01\n * @status stable\n *\n * @slot - The main container's content.\n *\n * @part left-margin - The component's left margin area.\n * @part content - The component's content area.\n * @part right-margin - The component's right margin area.\n */\n\n@Component({\n tag: 'six-main-container',\n styleUrl: 'six-main-container.scss',\n shadow: true,\n})\nexport class SixMainContainer {\n @Element() host!: HTMLSixMainContainerElement;\n\n /** Set to false to remove top and bottom padding. */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop() padded = true;\n\n render() {\n return (\n <Host>\n <div part=\"left-margin\" class=\"left-margin\" />\n <div part=\"content\" class={{ content: true, 'content--padded': this.padded }}>\n <slot />\n </div>\n <div part=\"right-margin\" class=\"right-margin\" />\n </Host>\n );\n }\n}\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
box-sizing: border-box;
|
|
4
4
|
}
|
|
5
5
|
:host *, :host *:before, :host *:after {
|
|
6
|
-
box-sizing:
|
|
6
|
+
box-sizing: border-box;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
:host {
|
|
@@ -11,16 +11,17 @@
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.menu {
|
|
14
|
-
padding:
|
|
14
|
+
padding: var(--six-spacing-xx-small) 0;
|
|
15
15
|
border: none;
|
|
16
|
-
box-shadow: var(--six-
|
|
16
|
+
box-shadow: var(--six-shadow-small);
|
|
17
|
+
overflow-y: auto;
|
|
18
|
+
overflow-x: hidden;
|
|
17
19
|
}
|
|
20
|
+
|
|
18
21
|
.menu:focus {
|
|
19
22
|
outline: none;
|
|
20
23
|
}
|
|
21
|
-
|
|
24
|
+
|
|
25
|
+
.no-shadow {
|
|
22
26
|
box-shadow: none;
|
|
23
|
-
}
|
|
24
|
-
.menu__wrapper--scrollable {
|
|
25
|
-
overflow-y: auto;
|
|
26
27
|
}
|
|
@@ -4,7 +4,7 @@ import { EventListeners } from "../../utils/event-listeners";
|
|
|
4
4
|
import { debounce } from "../../utils/execution-control";
|
|
5
5
|
const isFocusedMenuItem = (menuItem) => { var _a, _b, _c; return (_c = (_b = (_a = menuItem === null || menuItem === void 0 ? void 0 : menuItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.menu-item')) === null || _b === void 0 ? void 0 : _b.classList) === null || _c === void 0 ? void 0 : _c.contains('menu-item--focused'); };
|
|
6
6
|
const isSIXMenuItemElement = (el) => (el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === 'six-menu-item';
|
|
7
|
-
const mapToMenuItem = ({ value, label }) => h("six-menu-item", { value: value }, label);
|
|
7
|
+
const mapToMenuItem = ({ value, label }) => (h("six-menu-item", { key: value, value: value }, label));
|
|
8
8
|
const DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING = 5;
|
|
9
9
|
const DEFAULT_SIX_MENU_ITEM_HEIGHT = 64;
|
|
10
10
|
/**
|
|
@@ -33,6 +33,7 @@ export class SixMenu {
|
|
|
33
33
|
this.virtualScroll = false;
|
|
34
34
|
this.itemSize = 10;
|
|
35
35
|
this.scrollingDebounce = 15;
|
|
36
|
+
this.disableKeyboardHandling = false;
|
|
36
37
|
this.scrollingIndex = 0;
|
|
37
38
|
this.sixMenuItemHeight = DEFAULT_SIX_MENU_ITEM_HEIGHT;
|
|
38
39
|
}
|
|
@@ -136,6 +137,9 @@ export class SixMenu {
|
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
139
|
handleKeyDown(event) {
|
|
140
|
+
if (this.disableKeyboardHandling) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
139
143
|
// Make a selection when pressing enter
|
|
140
144
|
if (event.key === 'Enter') {
|
|
141
145
|
const activeItem = this.getActiveItem();
|
|
@@ -209,13 +213,12 @@ export class SixMenu {
|
|
|
209
213
|
}
|
|
210
214
|
return this.items
|
|
211
215
|
.slice(this.scrollingIndex, Math.min(this.items.length, this.itemSize + this.scrollingIndex))
|
|
212
|
-
.map(
|
|
216
|
+
.map(({ value, label }) => (h("six-menu-item", { checkType: "check", key: value, value: value }, label)));
|
|
213
217
|
}
|
|
214
218
|
render() {
|
|
215
219
|
return (h("div", { ref: (el) => (this.menuWrapper = el), style: this.getMenuWrapperStyle(), part: "wrapper", class: {
|
|
216
220
|
menu: true,
|
|
217
|
-
'
|
|
218
|
-
'menu__wrapper--scrollable': this.getItemsShown() > 0,
|
|
221
|
+
'.no-shadow': this.removeBoxShadow,
|
|
219
222
|
} }, h("div", { ref: (el) => (this.menu = el), part: "base", role: "menu", onClick: this.handleClick, onKeyDown: this.handleKeyDown, tabIndex: 0, style: this.getMenuContainerStyle() }, h("slot", null), this.renderItems()), this.virtualScroll && h("div", { style: this.getScrollbarGhostStyle() })));
|
|
220
223
|
}
|
|
221
224
|
static get is() { return "six-menu"; }
|
|
@@ -342,6 +345,24 @@ export class SixMenu {
|
|
|
342
345
|
"attribute": "scrolling-debounce",
|
|
343
346
|
"reflect": false,
|
|
344
347
|
"defaultValue": "15"
|
|
348
|
+
},
|
|
349
|
+
"disableKeyboardHandling": {
|
|
350
|
+
"type": "boolean",
|
|
351
|
+
"mutable": false,
|
|
352
|
+
"complexType": {
|
|
353
|
+
"original": "boolean",
|
|
354
|
+
"resolved": "boolean",
|
|
355
|
+
"references": {}
|
|
356
|
+
},
|
|
357
|
+
"required": false,
|
|
358
|
+
"optional": false,
|
|
359
|
+
"docs": {
|
|
360
|
+
"tags": [],
|
|
361
|
+
"text": "Internal: Disables handling of key presses."
|
|
362
|
+
},
|
|
363
|
+
"attribute": "disable-keyboard-handling",
|
|
364
|
+
"reflect": false,
|
|
365
|
+
"defaultValue": "false"
|
|
345
366
|
}
|
|
346
367
|
};
|
|
347
368
|
}
|
|
@@ -381,8 +402,9 @@ export class SixMenu {
|
|
|
381
402
|
"complexType": {
|
|
382
403
|
"signature": "(key: string) => Promise<void>",
|
|
383
404
|
"parameters": [{
|
|
384
|
-
"
|
|
385
|
-
"
|
|
405
|
+
"name": "key",
|
|
406
|
+
"type": "string",
|
|
407
|
+
"docs": ""
|
|
386
408
|
}],
|
|
387
409
|
"references": {
|
|
388
410
|
"Promise": {
|