@six-group/ui-library 3.0.0-beta.1.8 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/event-listeners-74715e62.js +2 -0
- package/dist/cjs/event-listeners-74715e62.js.map +1 -0
- package/dist/cjs/execution-control-46f388e0.js +2 -0
- package/dist/cjs/execution-control-46f388e0.js.map +1 -0
- package/dist/cjs/focus-visible-0b352c74.js +2 -0
- package/dist/cjs/focus-visible-0b352c74.js.map +1 -0
- package/dist/cjs/{form-control-866bbece.js → form-control-2c17c573.js} +3 -1
- package/dist/cjs/form-control-2c17c573.js.map +1 -0
- package/dist/cjs/{index-341df120.js → index-2f6daa5b.js} +602 -280
- package/dist/cjs/index-2f6daa5b.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +6 -3
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/modal-48d42228.js +2 -0
- package/dist/cjs/modal-48d42228.js.map +1 -0
- package/dist/cjs/{popover-1d2a037c.js → popover-f743f62b.js} +5 -4
- package/dist/cjs/popover-f743f62b.js.map +1 -0
- package/dist/cjs/scroll-76e6f5d7.js +2 -0
- package/dist/cjs/scroll-76e6f5d7.js.map +1 -0
- package/dist/cjs/set-attributes_2.cjs.entry.js +5 -5
- package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -0
- package/dist/cjs/six-alert.cjs.entry.js +4 -9
- package/dist/cjs/six-alert.cjs.entry.js.map +1 -0
- package/dist/cjs/six-avatar.cjs.entry.js +4 -6
- package/dist/cjs/six-avatar.cjs.entry.js.map +1 -0
- package/dist/cjs/six-badge.cjs.entry.js +4 -5
- package/dist/cjs/six-badge.cjs.entry.js.map +1 -0
- package/dist/cjs/six-button.cjs.entry.js +9 -11
- package/dist/cjs/six-button.cjs.entry.js.map +1 -0
- package/dist/cjs/six-card.cjs.entry.js +4 -2
- package/dist/cjs/six-card.cjs.entry.js.map +1 -0
- package/dist/cjs/six-checkbox.cjs.entry.js +9 -13
- package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/six-datepicker.cjs.entry.js +34 -87
- package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -0
- package/dist/cjs/six-details.cjs.entry.js +6 -9
- package/dist/cjs/six-details.cjs.entry.js.map +1 -0
- package/dist/cjs/six-dialog.cjs.entry.js +4 -11
- package/dist/cjs/six-dialog.cjs.entry.js.map +1 -0
- package/dist/cjs/six-drawer.cjs.entry.js +4 -16
- package/dist/cjs/six-drawer.cjs.entry.js.map +1 -0
- package/dist/cjs/{six-dropdown_3.cjs.entry.js → six-dropdown_2.cjs.entry.js} +31 -130
- package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -0
- package/dist/cjs/six-error-page.cjs.entry.js +8 -5
- package/dist/cjs/six-error-page.cjs.entry.js.map +1 -0
- package/dist/cjs/six-file-list-item.cjs.entry.js +10 -12
- package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -0
- package/dist/cjs/six-file-list.cjs.entry.js +4 -2
- package/dist/cjs/six-file-list.cjs.entry.js.map +1 -0
- package/dist/cjs/six-file-upload.cjs.entry.js +30 -17
- package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -0
- package/dist/cjs/six-footer.cjs.entry.js +4 -2
- package/dist/cjs/six-footer.cjs.entry.js.map +1 -0
- package/dist/cjs/six-form.cjs.entry.js +4 -3
- package/dist/cjs/six-form.cjs.entry.js.map +1 -0
- package/dist/cjs/six-group-label.cjs.entry.js +6 -7
- package/dist/cjs/six-group-label.cjs.entry.js.map +1 -0
- package/dist/cjs/six-header.cjs.entry.js +11 -11
- package/dist/cjs/six-header.cjs.entry.js.map +1 -0
- package/dist/cjs/six-icon-button.cjs.entry.js +9 -6
- package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -0
- package/dist/cjs/six-icon.cjs.entry.js +4 -4
- package/dist/cjs/six-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/six-input.cjs.entry.js +21 -23
- package/dist/cjs/six-input.cjs.entry.js.map +1 -0
- package/dist/cjs/six-item-picker.cjs.entry.js +11 -26
- package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/six-language-switcher.cjs.entry.js +6 -4
- package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -0
- package/dist/cjs/six-layout-grid.cjs.entry.js +5 -2
- package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/six-main-container.cjs.entry.js +4 -3
- package/dist/cjs/six-main-container.cjs.entry.js.map +1 -0
- package/dist/cjs/six-menu-divider.cjs.entry.js +4 -2
- package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -0
- package/dist/cjs/six-menu-item.cjs.entry.js +61 -0
- package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -0
- package/dist/cjs/six-menu-label.cjs.entry.js +4 -2
- package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -0
- package/dist/cjs/six-picto.cjs.entry.js +4 -5
- package/dist/cjs/six-picto.cjs.entry.js.map +1 -0
- package/dist/cjs/six-progress-bar.cjs.entry.js +4 -4
- package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/six-progress-ring.cjs.entry.js +5 -4
- package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -0
- package/dist/cjs/six-radio.cjs.entry.js +8 -10
- package/dist/cjs/six-radio.cjs.entry.js.map +1 -0
- package/dist/cjs/six-range.cjs.entry.js +9 -20
- package/dist/cjs/six-range.cjs.entry.js.map +1 -0
- package/dist/cjs/six-root.cjs.entry.js +9 -10
- package/dist/cjs/six-root.cjs.entry.js.map +1 -0
- package/dist/cjs/six-search-field.cjs.entry.js +9 -10
- package/dist/cjs/six-search-field.cjs.entry.js.map +1 -0
- package/dist/cjs/six-select.cjs.entry.js +31 -57
- package/dist/cjs/six-select.cjs.entry.js.map +1 -0
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js +11 -10
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -0
- package/dist/cjs/six-sidebar-item.cjs.entry.js +4 -5
- package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -0
- package/dist/cjs/six-sidebar.cjs.entry.js +9 -11
- package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -0
- package/dist/cjs/six-spinner.cjs.entry.js +4 -3
- package/dist/cjs/six-spinner.cjs.entry.js.map +1 -0
- package/dist/cjs/six-switch.cjs.entry.js +8 -8
- package/dist/cjs/six-switch.cjs.entry.js.map +1 -0
- package/dist/cjs/six-tab-group.cjs.entry.js +4 -4
- package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -0
- package/dist/cjs/six-tab-panel.cjs.entry.js +4 -4
- package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -0
- package/dist/cjs/six-tab.cjs.entry.js +4 -6
- package/dist/cjs/six-tab.cjs.entry.js.map +1 -0
- package/dist/cjs/six-tag.cjs.entry.js +4 -6
- package/dist/cjs/six-tag.cjs.entry.js.map +1 -0
- package/dist/cjs/six-textarea.cjs.entry.js +17 -20
- package/dist/cjs/six-textarea.cjs.entry.js.map +1 -0
- package/dist/cjs/six-tile.cjs.entry.js +12 -15
- package/dist/cjs/six-tile.cjs.entry.js.map +1 -0
- package/dist/cjs/six-timepicker.cjs.entry.js +29 -78
- package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -0
- package/dist/cjs/six-timepicker.types-c19ebff3.js +2 -0
- package/dist/cjs/six-timepicker.types-c19ebff3.js.map +1 -0
- package/dist/cjs/six-tooltip.cjs.entry.js +8 -18
- package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -0
- package/dist/cjs/slot-ad537f24.js +2 -0
- package/dist/cjs/slot-ad537f24.js.map +1 -0
- package/dist/cjs/types-64878648.js +2 -0
- package/dist/cjs/types-64878648.js.map +1 -0
- package/dist/cjs/ui-library.cjs.js +12 -3
- package/dist/cjs/ui-library.cjs.js.map +1 -0
- package/dist/collection/collection-manifest.json +2 -7
- package/dist/collection/components/six-alert/six-alert.js +221 -219
- package/dist/collection/components/six-alert/six-alert.js.map +1 -0
- package/dist/collection/components/six-avatar/six-avatar.js +91 -91
- package/dist/collection/components/six-avatar/six-avatar.js.map +1 -0
- package/dist/collection/components/six-badge/six-badge.js +69 -66
- package/dist/collection/components/six-badge/six-badge.js.map +1 -0
- package/dist/collection/components/six-button/six-button.js +377 -379
- package/dist/collection/components/six-button/six-button.js.map +1 -0
- package/dist/collection/components/six-card/six-card.js +13 -9
- package/dist/collection/components/six-card/six-card.js.map +1 -0
- package/dist/collection/components/six-checkbox/six-checkbox.js +372 -381
- package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -0
- package/dist/collection/components/six-datepicker/components/day-selection.js +9 -10
- package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -0
- package/dist/collection/components/six-datepicker/components/month-selection.js +6 -6
- package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -0
- package/dist/collection/components/six-datepicker/components/year-selection.js +6 -6
- package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -0
- package/dist/collection/components/six-datepicker/six-date-formats.js +1 -0
- package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -0
- package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
- package/dist/collection/components/six-datepicker/six-datepicker.js +670 -742
- package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -0
- package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +1 -0
- package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js.map +1 -0
- package/dist/collection/components/six-details/six-details.js +276 -274
- package/dist/collection/components/six-details/six-details.js.map +1 -0
- package/dist/collection/components/six-dialog/six-dialog.js +224 -228
- package/dist/collection/components/six-dialog/six-dialog.js.map +1 -0
- package/dist/collection/components/six-drawer/six-drawer.js +258 -267
- package/dist/collection/components/six-drawer/six-drawer.js.map +1 -0
- package/dist/collection/components/six-dropdown/six-dropdown.js +514 -534
- package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -0
- package/dist/collection/components/six-error-page/six-error-page.js +100 -96
- package/dist/collection/components/six-error-page/six-error-page.js.map +1 -0
- package/dist/collection/components/six-file-list/six-file-list.js +13 -9
- package/dist/collection/components/six-file-list/six-file-list.js.map +1 -0
- package/dist/collection/components/six-file-list-item/six-file-list-item.js +170 -169
- package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -0
- package/dist/collection/components/six-file-upload/six-file-upload.js +221 -186
- package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -0
- package/dist/collection/components/six-footer/six-footer.js +13 -9
- package/dist/collection/components/six-footer/six-footer.js.map +1 -0
- package/dist/collection/components/six-form/six-form.js +174 -163
- package/dist/collection/components/six-form/six-form.js.map +1 -0
- package/dist/collection/components/six-group-label/six-group-label.js +118 -111
- package/dist/collection/components/six-group-label/six-group-label.js.map +1 -0
- package/dist/collection/components/six-header/six-header.js +260 -268
- package/dist/collection/components/six-header/six-header.js.map +1 -0
- package/dist/collection/components/six-icon/six-icon.js +52 -48
- package/dist/collection/components/six-icon/six-icon.js.map +1 -0
- package/dist/collection/components/six-icon-button/six-icon-button.js +108 -104
- package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -0
- package/dist/collection/components/six-input/six-input.js +895 -896
- package/dist/collection/components/six-input/six-input.js.map +1 -0
- package/dist/collection/components/six-item-picker/six-item-picker.js +329 -336
- package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -0
- package/dist/collection/components/six-item-picker/types.js +1 -0
- package/dist/collection/components/six-item-picker/types.js.map +1 -0
- package/dist/collection/components/six-language-switcher/six-language-switcher.js +85 -74
- package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -0
- package/dist/collection/components/six-layout-grid/six-layout-grid.js +43 -32
- package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -0
- package/dist/collection/components/six-main-container/six-main-container.js +35 -33
- package/dist/collection/components/six-main-container/six-main-container.js.map +1 -0
- package/dist/collection/components/six-menu/six-menu.js +176 -184
- package/dist/collection/components/six-menu/six-menu.js.map +1 -0
- package/dist/collection/components/six-menu-divider/six-menu-divider.js +12 -7
- package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -0
- package/dist/collection/components/six-menu-item/six-menu-item.js +131 -110
- package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -0
- package/dist/collection/components/six-menu-label/six-menu-label.js +13 -9
- package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -0
- package/dist/collection/components/six-picto/six-picto.js +35 -32
- package/dist/collection/components/six-picto/six-picto.js.map +1 -0
- package/dist/collection/components/six-progress-bar/six-progress-bar.js +54 -51
- package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -0
- package/dist/collection/components/six-progress-ring/six-progress-ring.js +75 -72
- package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -0
- package/dist/collection/components/six-radio/six-radio.js +269 -267
- package/dist/collection/components/six-radio/six-radio.js.map +1 -0
- package/dist/collection/components/six-range/six-range.js +426 -427
- package/dist/collection/components/six-range/six-range.js.map +1 -0
- package/dist/collection/components/six-root/six-root.js +127 -129
- package/dist/collection/components/six-root/six-root.js.map +1 -0
- package/dist/collection/components/six-search-field/six-search-field.js +134 -128
- package/dist/collection/components/six-search-field/six-search-field.js.map +1 -0
- package/dist/collection/components/six-select/six-select.css +1 -2
- package/dist/collection/components/six-select/six-select.js +665 -689
- package/dist/collection/components/six-select/six-select.js.map +1 -0
- package/dist/collection/components/six-sidebar/six-sidebar.js +288 -279
- package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -0
- package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +69 -66
- package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -0
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +116 -115
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -0
- package/dist/collection/components/six-spinner/six-spinner.js +35 -32
- package/dist/collection/components/six-spinner/six-spinner.js.map +1 -0
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +39 -36
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -0
- package/dist/collection/components/six-switch/six-switch.js +279 -271
- package/dist/collection/components/six-switch/six-switch.js.map +1 -0
- package/dist/collection/components/six-tab/six-tab.js +150 -146
- package/dist/collection/components/six-tab/six-tab.js.map +1 -0
- package/dist/collection/components/six-tab-group/six-tab-group.js +126 -120
- package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -0
- package/dist/collection/components/six-tab-panel/six-tab-panel.js +52 -49
- package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -0
- package/dist/collection/components/six-tag/six-tag.js +107 -105
- package/dist/collection/components/six-tag/six-tag.js.map +1 -0
- package/dist/collection/components/six-textarea/six-textarea.js +708 -700
- package/dist/collection/components/six-textarea/six-textarea.js.map +1 -0
- package/dist/collection/components/six-tile/six-tile.js +237 -238
- package/dist/collection/components/six-tile/six-tile.js.map +1 -0
- package/dist/collection/components/six-timepicker/six-time-format.js +1 -0
- package/dist/collection/components/six-timepicker/six-time-format.js.map +1 -0
- package/dist/collection/components/six-timepicker/six-timepicker.js +597 -641
- package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -0
- package/dist/collection/components/six-timepicker/six-timepicker.types.js +1 -0
- package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +1 -0
- package/dist/collection/components/six-tooltip/six-tooltip.js +256 -259
- package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -0
- package/dist/collection/functional-components/form-control/form-control.js +5 -10
- package/dist/collection/functional-components/form-control/form-control.js.map +1 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/testUtil/delay.js +1 -0
- package/dist/collection/testUtil/delay.js.map +1 -0
- package/dist/collection/utils/as-array.js +1 -0
- package/dist/collection/utils/as-array.js.map +1 -0
- package/dist/collection/utils/date-util.js +1 -0
- package/dist/collection/utils/date-util.js.map +1 -0
- package/dist/collection/utils/event-listeners.js +1 -0
- package/dist/collection/utils/event-listeners.js.map +1 -0
- package/dist/collection/utils/execution-control.js +1 -0
- package/dist/collection/utils/execution-control.js.map +1 -0
- package/dist/collection/utils/focus-visible.js +1 -0
- package/dist/collection/utils/focus-visible.js.map +1 -0
- package/dist/collection/utils/matchers.js +1 -0
- package/dist/collection/utils/matchers.js.map +1 -0
- package/dist/collection/utils/modal.js +1 -0
- package/dist/collection/utils/modal.js.map +1 -0
- package/dist/collection/utils/offset.js +1 -0
- package/dist/collection/utils/offset.js.map +1 -0
- package/dist/collection/utils/popover.js +1 -0
- package/dist/collection/utils/popover.js.map +1 -0
- package/dist/collection/utils/scroll.js +1 -0
- package/dist/collection/utils/scroll.js.map +1 -0
- package/dist/collection/utils/slot.js +1 -0
- package/dist/collection/utils/slot.js.map +1 -0
- package/dist/collection/utils/support.js +1 -0
- package/dist/collection/utils/support.js.map +1 -0
- package/dist/collection/utils/tabbable.js +1 -0
- package/dist/collection/utils/tabbable.js.map +1 -0
- package/dist/collection/utils/testing.js +1 -0
- package/dist/collection/utils/testing.js.map +1 -0
- package/dist/collection/utils/time.util.js +1 -0
- package/dist/collection/utils/time.util.js.map +1 -0
- package/dist/collection/utils/type-check.js +1 -0
- package/dist/collection/utils/type-check.js.map +1 -0
- package/dist/collection/utils/types.js +1 -0
- package/dist/collection/utils/types.js.map +1 -0
- package/dist/collection/wrappers/set-attributes/set-attributes.js +28 -24
- package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -0
- package/dist/components/event-listeners.js +43 -0
- package/dist/components/event-listeners.js.map +1 -0
- package/dist/components/execution-control.js +40 -0
- package/dist/components/execution-control.js.map +1 -0
- package/dist/components/focus-visible.js +45 -0
- package/dist/components/focus-visible.js.map +1 -0
- package/dist/components/form-control.js +32 -0
- package/dist/components/form-control.js.map +1 -0
- package/dist/components/index.d.ts +39 -0
- package/dist/components/index.js +122 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/modal.js +48 -0
- package/dist/components/modal.js.map +1 -0
- package/dist/{esm/popover-1c7a1139.js → components/popover.js} +5 -4
- package/dist/components/popover.js.map +1 -0
- package/dist/components/scroll.js +64 -0
- package/dist/components/scroll.js.map +1 -0
- package/dist/components/set-attributes.d.ts +11 -0
- package/dist/components/set-attributes.js +8 -0
- package/dist/components/set-attributes.js.map +1 -0
- package/dist/components/set-attributes2.js +69 -0
- package/dist/components/set-attributes2.js.map +1 -0
- package/dist/components/six-alert.d.ts +11 -0
- package/dist/components/six-alert.js +172 -0
- package/dist/components/six-alert.js.map +1 -0
- package/dist/components/six-avatar.d.ts +11 -0
- package/dist/components/six-avatar.js +63 -0
- package/dist/components/six-avatar.js.map +1 -0
- package/dist/components/six-badge.d.ts +11 -0
- package/dist/components/six-badge.js +54 -0
- package/dist/components/six-badge.js.map +1 -0
- package/dist/components/six-button.d.ts +11 -0
- package/dist/components/six-button.js +147 -0
- package/dist/components/six-button.js.map +1 -0
- package/dist/components/six-card.d.ts +11 -0
- package/dist/components/six-card.js +35 -0
- package/dist/components/six-card.js.map +1 -0
- package/dist/components/six-checkbox.d.ts +11 -0
- package/dist/components/six-checkbox.js +193 -0
- package/dist/components/six-checkbox.js.map +1 -0
- package/dist/components/six-datepicker.d.ts +11 -0
- package/dist/components/six-datepicker.js +1229 -0
- package/dist/components/six-datepicker.js.map +1 -0
- package/dist/components/six-details.d.ts +11 -0
- package/dist/components/six-details.js +8 -0
- package/dist/components/six-details.js.map +1 -0
- package/dist/components/six-details2.js +176 -0
- package/dist/components/six-details2.js.map +1 -0
- package/dist/components/six-dialog.d.ts +11 -0
- package/dist/components/six-dialog.js +190 -0
- package/dist/components/six-dialog.js.map +1 -0
- package/dist/components/six-drawer.d.ts +11 -0
- package/dist/components/six-drawer.js +209 -0
- package/dist/components/six-drawer.js.map +1 -0
- package/dist/components/six-dropdown.d.ts +11 -0
- package/dist/components/six-dropdown.js +8 -0
- package/dist/components/six-dropdown.js.map +1 -0
- package/dist/components/six-dropdown2.js +499 -0
- package/dist/components/six-dropdown2.js.map +1 -0
- package/dist/components/six-error-page.d.ts +11 -0
- package/dist/components/six-error-page.js +134 -0
- package/dist/components/six-error-page.js.map +1 -0
- package/dist/components/six-file-list-item.d.ts +11 -0
- package/dist/components/six-file-list-item.js +74 -0
- package/dist/components/six-file-list-item.js.map +1 -0
- package/dist/components/six-file-list.d.ts +11 -0
- package/dist/components/six-file-list.js +35 -0
- package/dist/components/six-file-list.js.map +1 -0
- package/dist/components/six-file-upload.d.ts +11 -0
- package/dist/components/six-file-upload.js +147 -0
- package/dist/components/six-file-upload.js.map +1 -0
- package/dist/components/six-footer.d.ts +11 -0
- package/dist/components/six-footer.js +35 -0
- package/dist/components/six-footer.js.map +1 -0
- package/dist/components/six-form.d.ts +11 -0
- package/dist/components/six-form.js +252 -0
- package/dist/components/six-form.js.map +1 -0
- package/dist/components/six-group-label.d.ts +11 -0
- package/dist/components/six-group-label.js +78 -0
- package/dist/components/six-group-label.js.map +1 -0
- package/dist/components/six-header.d.ts +11 -0
- package/dist/components/six-header.js +219 -0
- package/dist/components/six-header.js.map +1 -0
- package/dist/components/six-icon-button.d.ts +11 -0
- package/dist/components/six-icon-button.js +8 -0
- package/dist/components/six-icon-button.js.map +1 -0
- package/dist/components/six-icon-button2.js +70 -0
- package/dist/components/six-icon-button2.js.map +1 -0
- package/dist/components/six-icon.d.ts +11 -0
- package/dist/components/six-icon.js +8 -0
- package/dist/components/six-icon.js.map +1 -0
- package/dist/components/six-icon2.js +49 -0
- package/dist/components/six-icon2.js.map +1 -0
- package/dist/components/six-input.d.ts +11 -0
- package/dist/components/six-input.js +8 -0
- package/dist/components/six-input.js.map +1 -0
- package/dist/components/six-input2.js +303 -0
- package/dist/components/six-input2.js.map +1 -0
- package/dist/components/six-item-picker.d.ts +11 -0
- package/dist/components/six-item-picker.js +8 -0
- package/dist/components/six-item-picker.js.map +1 -0
- package/dist/components/six-item-picker2.js +404 -0
- package/dist/components/six-item-picker2.js.map +1 -0
- package/dist/components/six-language-switcher.d.ts +11 -0
- package/dist/components/six-language-switcher.js +82 -0
- package/dist/components/six-language-switcher.js.map +1 -0
- package/dist/components/six-layout-grid.d.ts +11 -0
- package/dist/components/six-layout-grid.js +49 -0
- package/dist/components/six-layout-grid.js.map +1 -0
- package/dist/components/six-main-container.d.ts +11 -0
- package/dist/components/six-main-container.js +39 -0
- package/dist/components/six-main-container.js.map +1 -0
- package/dist/components/six-menu-divider.d.ts +11 -0
- package/dist/components/six-menu-divider.js +35 -0
- package/dist/components/six-menu-divider.js.map +1 -0
- package/dist/components/six-menu-item.d.ts +11 -0
- package/dist/components/six-menu-item.js +8 -0
- package/dist/components/six-menu-item.js.map +1 -0
- package/dist/components/six-menu-item2.js +86 -0
- package/dist/components/six-menu-item2.js.map +1 -0
- package/dist/components/six-menu-label.d.ts +11 -0
- package/dist/components/six-menu-label.js +35 -0
- package/dist/components/six-menu-label.js.map +1 -0
- package/dist/components/six-menu.d.ts +11 -0
- package/dist/components/six-menu.js +8 -0
- package/dist/components/six-menu.js.map +1 -0
- package/dist/components/six-menu2.js +252 -0
- package/dist/components/six-menu2.js.map +1 -0
- package/dist/components/six-picto.d.ts +11 -0
- package/dist/components/six-picto.js +8 -0
- package/dist/components/six-picto.js.map +1 -0
- package/dist/{custom-elements/index.js → components/six-picto2.js} +21 -9740
- package/dist/components/six-picto2.js.map +1 -0
- package/dist/components/six-progress-bar.d.ts +11 -0
- package/dist/components/six-progress-bar.js +45 -0
- package/dist/components/six-progress-bar.js.map +1 -0
- package/dist/components/six-progress-ring.d.ts +11 -0
- package/dist/components/six-progress-ring.js +61 -0
- package/dist/components/six-progress-ring.js.map +1 -0
- package/dist/components/six-radio.d.ts +11 -0
- package/dist/components/six-radio.js +157 -0
- package/dist/components/six-radio.js.map +1 -0
- package/dist/components/six-range.d.ts +11 -0
- package/dist/components/six-range.js +236 -0
- package/dist/components/six-range.js.map +1 -0
- package/dist/components/six-root.d.ts +11 -0
- package/dist/components/six-root.js +82 -0
- package/dist/components/six-root.js.map +1 -0
- package/dist/components/six-search-field.d.ts +11 -0
- package/dist/components/six-search-field.js +85 -0
- package/dist/components/six-search-field.js.map +1 -0
- package/dist/components/six-select.d.ts +11 -0
- package/dist/components/six-select.js +526 -0
- package/dist/components/six-select.js.map +1 -0
- package/dist/components/six-sidebar-item-group.d.ts +11 -0
- package/dist/components/six-sidebar-item-group.js +88 -0
- package/dist/components/six-sidebar-item-group.js.map +1 -0
- package/dist/components/six-sidebar-item.d.ts +11 -0
- package/dist/components/six-sidebar-item.js +46 -0
- package/dist/components/six-sidebar-item.js.map +1 -0
- package/dist/components/six-sidebar.d.ts +11 -0
- package/dist/components/six-sidebar.js +205 -0
- package/dist/components/six-sidebar.js.map +1 -0
- package/dist/components/six-spinner.d.ts +11 -0
- package/dist/components/six-spinner.js +8 -0
- package/dist/components/six-spinner.js.map +1 -0
- package/dist/components/six-spinner2.js +41 -0
- package/dist/components/six-spinner2.js.map +1 -0
- package/dist/components/six-stage-indicator.d.ts +11 -0
- package/dist/components/six-stage-indicator.js +8 -0
- package/dist/components/six-stage-indicator.js.map +1 -0
- package/dist/components/six-stage-indicator2.js +41 -0
- package/dist/components/six-stage-indicator2.js.map +1 -0
- package/dist/components/six-switch.d.ts +11 -0
- package/dist/components/six-switch.js +139 -0
- package/dist/components/six-switch.js.map +1 -0
- package/dist/components/six-tab-group.d.ts +11 -0
- package/dist/components/six-tab-group.js +268 -0
- package/dist/components/six-tab-group.js.map +1 -0
- package/dist/components/six-tab-panel.d.ts +11 -0
- package/dist/components/six-tab-panel.js +45 -0
- package/dist/components/six-tab-panel.js.map +1 -0
- package/dist/components/six-tab.d.ts +11 -0
- package/dist/components/six-tab.js +84 -0
- package/dist/components/six-tab.js.map +1 -0
- package/dist/components/six-tag.d.ts +11 -0
- package/dist/components/six-tag.js +8 -0
- package/dist/components/six-tag.js.map +1 -0
- package/dist/components/six-tag2.js +77 -0
- package/dist/components/six-tag2.js.map +1 -0
- package/dist/components/six-textarea.d.ts +11 -0
- package/dist/components/six-textarea.js +269 -0
- package/dist/components/six-textarea.js.map +1 -0
- package/dist/components/six-tile.d.ts +11 -0
- package/dist/components/six-tile.js +142 -0
- package/dist/components/six-tile.js.map +1 -0
- package/dist/components/six-timepicker.d.ts +11 -0
- package/dist/components/six-timepicker.js +8 -0
- package/dist/components/six-timepicker.js.map +1 -0
- package/dist/components/six-timepicker2.js +559 -0
- package/dist/components/six-timepicker2.js.map +1 -0
- package/dist/components/six-tooltip.d.ts +11 -0
- package/dist/components/six-tooltip.js +8 -0
- package/dist/components/six-tooltip.js.map +1 -0
- package/dist/components/six-tooltip2.js +194 -0
- package/dist/components/six-tooltip2.js.map +1 -0
- package/dist/components/slot.js +47 -0
- package/dist/components/slot.js.map +1 -0
- package/dist/components.d.ts +27 -0
- package/dist/components.json +47 -499
- package/dist/esm/event-listeners-570a24ea.js +2 -0
- package/dist/esm/event-listeners-570a24ea.js.map +1 -0
- package/dist/esm/execution-control-1a60d709.js +2 -0
- package/dist/esm/execution-control-1a60d709.js.map +1 -0
- package/dist/esm/focus-visible-97933ea9.js +2 -0
- package/dist/esm/focus-visible-97933ea9.js.map +1 -0
- package/dist/esm/{form-control-24f446af.js → form-control-3b440ea1.js} +3 -1
- package/dist/esm/form-control-3b440ea1.js.map +1 -0
- package/dist/esm/{index-a2605a62.js → index-5c0f6628.js} +602 -279
- package/dist/esm/index-5c0f6628.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +6 -3
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/modal-5ebdc320.js +2 -0
- package/dist/esm/modal-5ebdc320.js.map +1 -0
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/popover-bd2c2fca.js +1897 -0
- package/dist/esm/popover-bd2c2fca.js.map +1 -0
- package/dist/esm/scroll-180b53fd.js +2 -0
- package/dist/esm/scroll-180b53fd.js.map +1 -0
- package/dist/esm/set-attributes_2.entry.js +5 -5
- package/dist/esm/set-attributes_2.entry.js.map +1 -0
- package/dist/esm/six-alert.entry.js +4 -9
- package/dist/esm/six-alert.entry.js.map +1 -0
- package/dist/esm/six-avatar.entry.js +4 -6
- package/dist/esm/six-avatar.entry.js.map +1 -0
- package/dist/esm/six-badge.entry.js +4 -5
- package/dist/esm/six-badge.entry.js.map +1 -0
- package/dist/esm/six-button.entry.js +9 -11
- package/dist/esm/six-button.entry.js.map +1 -0
- package/dist/esm/six-card.entry.js +4 -2
- package/dist/esm/six-card.entry.js.map +1 -0
- package/dist/esm/six-checkbox.entry.js +9 -13
- package/dist/esm/six-checkbox.entry.js.map +1 -0
- package/dist/esm/six-datepicker.entry.js +34 -87
- package/dist/esm/six-datepicker.entry.js.map +1 -0
- package/dist/esm/six-details.entry.js +6 -9
- package/dist/esm/six-details.entry.js.map +1 -0
- package/dist/esm/six-dialog.entry.js +4 -11
- package/dist/esm/six-dialog.entry.js.map +1 -0
- package/dist/esm/six-drawer.entry.js +4 -16
- package/dist/esm/six-drawer.entry.js.map +1 -0
- package/dist/esm/{six-dropdown_3.entry.js → six-dropdown_2.entry.js} +31 -129
- package/dist/esm/six-dropdown_2.entry.js.map +1 -0
- package/dist/esm/six-error-page.entry.js +8 -5
- package/dist/esm/six-error-page.entry.js.map +1 -0
- package/dist/esm/six-file-list-item.entry.js +10 -12
- package/dist/esm/six-file-list-item.entry.js.map +1 -0
- package/dist/esm/six-file-list.entry.js +4 -2
- package/dist/esm/six-file-list.entry.js.map +1 -0
- package/dist/esm/six-file-upload.entry.js +30 -17
- package/dist/esm/six-file-upload.entry.js.map +1 -0
- package/dist/esm/six-footer.entry.js +4 -2
- package/dist/esm/six-footer.entry.js.map +1 -0
- package/dist/esm/six-form.entry.js +4 -3
- package/dist/esm/six-form.entry.js.map +1 -0
- package/dist/esm/six-group-label.entry.js +6 -7
- package/dist/esm/six-group-label.entry.js.map +1 -0
- package/dist/esm/six-header.entry.js +11 -11
- package/dist/esm/six-header.entry.js.map +1 -0
- package/dist/esm/six-icon-button.entry.js +9 -6
- package/dist/esm/six-icon-button.entry.js.map +1 -0
- package/dist/esm/six-icon.entry.js +4 -4
- package/dist/esm/six-icon.entry.js.map +1 -0
- package/dist/esm/six-input.entry.js +21 -23
- package/dist/esm/six-input.entry.js.map +1 -0
- package/dist/esm/six-item-picker.entry.js +11 -26
- package/dist/esm/six-item-picker.entry.js.map +1 -0
- package/dist/esm/six-language-switcher.entry.js +6 -4
- package/dist/esm/six-language-switcher.entry.js.map +1 -0
- package/dist/esm/six-layout-grid.entry.js +5 -2
- package/dist/esm/six-layout-grid.entry.js.map +1 -0
- package/dist/esm/six-main-container.entry.js +4 -3
- package/dist/esm/six-main-container.entry.js.map +1 -0
- package/dist/esm/six-menu-divider.entry.js +4 -2
- package/dist/esm/six-menu-divider.entry.js.map +1 -0
- package/dist/esm/six-menu-item.entry.js +57 -0
- package/dist/esm/six-menu-item.entry.js.map +1 -0
- package/dist/esm/six-menu-label.entry.js +4 -2
- package/dist/esm/six-menu-label.entry.js.map +1 -0
- package/dist/esm/six-picto.entry.js +4 -5
- package/dist/esm/six-picto.entry.js.map +1 -0
- package/dist/esm/six-progress-bar.entry.js +4 -4
- package/dist/esm/six-progress-bar.entry.js.map +1 -0
- package/dist/esm/six-progress-ring.entry.js +5 -4
- package/dist/esm/six-progress-ring.entry.js.map +1 -0
- package/dist/esm/six-radio.entry.js +8 -10
- package/dist/esm/six-radio.entry.js.map +1 -0
- package/dist/esm/six-range.entry.js +9 -20
- package/dist/esm/six-range.entry.js.map +1 -0
- package/dist/esm/six-root.entry.js +9 -10
- package/dist/esm/six-root.entry.js.map +1 -0
- package/dist/esm/six-search-field.entry.js +9 -10
- package/dist/esm/six-search-field.entry.js.map +1 -0
- package/dist/esm/six-select.entry.js +31 -57
- package/dist/esm/six-select.entry.js.map +1 -0
- package/dist/esm/six-sidebar-item-group.entry.js +11 -10
- package/dist/esm/six-sidebar-item-group.entry.js.map +1 -0
- package/dist/esm/six-sidebar-item.entry.js +4 -5
- package/dist/esm/six-sidebar-item.entry.js.map +1 -0
- package/dist/esm/six-sidebar.entry.js +9 -11
- package/dist/esm/six-sidebar.entry.js.map +1 -0
- package/dist/esm/six-spinner.entry.js +4 -3
- package/dist/esm/six-spinner.entry.js.map +1 -0
- package/dist/esm/six-switch.entry.js +8 -8
- package/dist/esm/six-switch.entry.js.map +1 -0
- package/dist/esm/six-tab-group.entry.js +4 -4
- package/dist/esm/six-tab-group.entry.js.map +1 -0
- package/dist/esm/six-tab-panel.entry.js +4 -4
- package/dist/esm/six-tab-panel.entry.js.map +1 -0
- package/dist/esm/six-tab.entry.js +4 -6
- package/dist/esm/six-tab.entry.js.map +1 -0
- package/dist/esm/six-tag.entry.js +4 -6
- package/dist/esm/six-tag.entry.js.map +1 -0
- package/dist/esm/six-textarea.entry.js +17 -20
- package/dist/esm/six-textarea.entry.js.map +1 -0
- package/dist/esm/six-tile.entry.js +12 -15
- package/dist/esm/six-tile.entry.js.map +1 -0
- package/dist/esm/six-timepicker.entry.js +29 -78
- package/dist/esm/six-timepicker.entry.js.map +1 -0
- package/dist/esm/six-timepicker.types-e161a447.js +2 -0
- package/dist/esm/six-timepicker.types-e161a447.js.map +1 -0
- package/dist/esm/six-tooltip.entry.js +8 -18
- package/dist/esm/six-tooltip.entry.js.map +1 -0
- package/dist/esm/slot-6f3984c7.js +2 -0
- package/dist/esm/slot-6f3984c7.js.map +1 -0
- package/dist/esm/types-4b10b413.js +2 -0
- package/dist/esm/types-4b10b413.js.map +1 -0
- package/dist/esm/ui-library.js +9 -3
- package/dist/esm/ui-library.js.map +1 -0
- package/dist/types/components/six-datepicker/six-datepicker.d.ts +1 -1
- package/dist/types/components/six-file-upload/six-file-upload.d.ts +8 -1
- package/dist/types/components/six-item-picker/six-item-picker.d.ts +2 -2
- package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +1 -1
- package/dist/types/components/six-menu-item/six-menu-item.d.ts +3 -0
- package/dist/types/components/six-select/six-select.d.ts +2 -1
- package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +1 -1
- package/dist/types/components.d.ts +1154 -238
- package/dist/types/stencil-public-runtime.d.ts +91 -19
- package/dist/types/utils/slot.d.ts +1 -1
- package/dist/types/utils/types.d.ts +1 -1
- package/dist/ui-library/index.esm.js +2 -0
- package/dist/ui-library/index.esm.js.map +1 -0
- package/dist/ui-library/p-054e12cc.entry.js +2 -0
- package/dist/ui-library/p-054e12cc.entry.js.map +1 -0
- package/dist/ui-library/p-0786fa7c.js +2 -1
- package/dist/ui-library/p-0786fa7c.js.map +1 -0
- package/dist/ui-library/p-097cced4.entry.js +2 -0
- package/dist/ui-library/p-097cced4.entry.js.map +1 -0
- package/dist/ui-library/p-0d79b0c6.entry.js +2 -0
- package/dist/ui-library/p-0d79b0c6.entry.js.map +1 -0
- package/dist/ui-library/p-14f20bbb.entry.js +2 -0
- package/dist/ui-library/p-14f20bbb.entry.js.map +1 -0
- package/dist/ui-library/p-18e5f772.entry.js +2 -0
- package/dist/ui-library/p-18e5f772.entry.js.map +1 -0
- package/dist/ui-library/p-18ea0c56.js +2 -0
- package/dist/ui-library/p-18ea0c56.js.map +1 -0
- package/dist/ui-library/p-19364560.entry.js +2 -0
- package/dist/ui-library/p-19364560.entry.js.map +1 -0
- package/dist/ui-library/p-19b50b5a.entry.js +2 -0
- package/dist/ui-library/p-19b50b5a.entry.js.map +1 -0
- package/dist/ui-library/p-21859bca.entry.js +2 -0
- package/dist/ui-library/p-21859bca.entry.js.map +1 -0
- package/dist/ui-library/p-25a3bf57.js +2 -1
- package/dist/ui-library/p-25a3bf57.js.map +1 -0
- package/dist/ui-library/p-2e48c8d2.entry.js +2 -0
- package/dist/ui-library/p-2e48c8d2.entry.js.map +1 -0
- package/dist/ui-library/p-308261c4.entry.js +2 -0
- package/dist/ui-library/p-308261c4.entry.js.map +1 -0
- package/dist/ui-library/p-33f7e22b.entry.js +2 -0
- package/dist/ui-library/p-33f7e22b.entry.js.map +1 -0
- package/dist/ui-library/p-4ae91795.entry.js +2 -0
- package/dist/ui-library/p-4ae91795.entry.js.map +1 -0
- package/dist/ui-library/p-4f8394d7.js +2 -1
- package/dist/ui-library/p-4f8394d7.js.map +1 -0
- package/dist/ui-library/p-53a13db5.entry.js +2 -0
- package/dist/ui-library/p-53a13db5.entry.js.map +1 -0
- package/dist/ui-library/p-559c87f0.entry.js +2 -0
- package/dist/ui-library/p-559c87f0.entry.js.map +1 -0
- package/dist/ui-library/p-611e1978.entry.js +2 -0
- package/dist/ui-library/p-611e1978.entry.js.map +1 -0
- package/dist/ui-library/p-63703ba3.entry.js +2 -0
- package/dist/ui-library/p-63703ba3.entry.js.map +1 -0
- package/dist/ui-library/p-6403fd87.entry.js +2 -0
- package/dist/ui-library/p-6403fd87.entry.js.map +1 -0
- package/dist/ui-library/p-6433c0da.entry.js +2 -0
- package/dist/ui-library/p-6433c0da.entry.js.map +1 -0
- package/dist/ui-library/p-6d75f216.entry.js +2 -0
- package/dist/ui-library/p-6d75f216.entry.js.map +1 -0
- package/dist/ui-library/p-73597d13.entry.js +2 -0
- package/dist/ui-library/p-73597d13.entry.js.map +1 -0
- package/dist/ui-library/p-79eee01b.js +2 -0
- package/dist/ui-library/p-79eee01b.js.map +1 -0
- package/dist/ui-library/p-7e0cc4ae.entry.js +2 -0
- package/dist/ui-library/p-7e0cc4ae.entry.js.map +1 -0
- package/dist/ui-library/p-820c23f0.entry.js +2 -0
- package/dist/ui-library/p-820c23f0.entry.js.map +1 -0
- package/dist/ui-library/p-835c3ff7.entry.js +2 -0
- package/dist/ui-library/p-835c3ff7.entry.js.map +1 -0
- package/dist/ui-library/p-8a970a40.entry.js +2 -0
- package/dist/ui-library/p-8a970a40.entry.js.map +1 -0
- package/dist/ui-library/p-90824648.entry.js +2 -0
- package/dist/ui-library/p-90824648.entry.js.map +1 -0
- package/dist/ui-library/p-90dc6af4.entry.js +2 -0
- package/dist/ui-library/p-90dc6af4.entry.js.map +1 -0
- package/dist/ui-library/p-9328e5bc.entry.js +2 -0
- package/dist/ui-library/p-9328e5bc.entry.js.map +1 -0
- package/dist/ui-library/p-97323ad7.entry.js +2 -0
- package/dist/ui-library/p-97323ad7.entry.js.map +1 -0
- package/dist/ui-library/p-9a860acc.js +2 -1
- package/dist/ui-library/p-9a860acc.js.map +1 -0
- package/dist/ui-library/p-9d1d222f.entry.js +2 -0
- package/dist/ui-library/p-9d1d222f.entry.js.map +1 -0
- package/dist/ui-library/p-a1d4f6cf.entry.js +2 -0
- package/dist/ui-library/p-a1d4f6cf.entry.js.map +1 -0
- package/dist/ui-library/p-ac4f4d45.js +3 -0
- package/dist/ui-library/p-ac4f4d45.js.map +1 -0
- package/dist/ui-library/p-af793d04.entry.js +2 -0
- package/dist/ui-library/p-af793d04.entry.js.map +1 -0
- package/dist/ui-library/p-b0e5658f.entry.js +2 -0
- package/dist/ui-library/p-b0e5658f.entry.js.map +1 -0
- package/dist/ui-library/p-b1e66136.js +2 -1
- package/dist/ui-library/p-b1e66136.js.map +1 -0
- package/dist/ui-library/p-b4dfb7cf.js +2 -1
- package/dist/ui-library/p-b4dfb7cf.js.map +1 -0
- package/dist/ui-library/p-b997e43c.entry.js +2 -0
- package/dist/ui-library/p-b997e43c.entry.js.map +1 -0
- package/dist/ui-library/p-baa03951.entry.js +2 -0
- package/dist/ui-library/p-baa03951.entry.js.map +1 -0
- package/dist/ui-library/p-c0cb6436.entry.js +2 -0
- package/dist/ui-library/p-c0cb6436.entry.js.map +1 -0
- package/dist/ui-library/p-c30f9e0b.entry.js +2 -0
- package/dist/ui-library/p-c30f9e0b.entry.js.map +1 -0
- package/dist/ui-library/p-c349d1d4.entry.js +2 -0
- package/dist/ui-library/p-c349d1d4.entry.js.map +1 -0
- package/dist/ui-library/p-c53a63f9.entry.js +2 -0
- package/dist/ui-library/p-c53a63f9.entry.js.map +1 -0
- package/dist/ui-library/p-c640c2d8.entry.js +2 -0
- package/dist/ui-library/p-c640c2d8.entry.js.map +1 -0
- package/dist/ui-library/p-c94d0b07.entry.js +2 -0
- package/dist/ui-library/p-c94d0b07.entry.js.map +1 -0
- package/dist/ui-library/p-d12c6092.js +2 -1
- package/dist/ui-library/p-d12c6092.js.map +1 -0
- package/dist/ui-library/p-d5633a29.entry.js +2 -0
- package/dist/ui-library/p-d5633a29.entry.js.map +1 -0
- package/dist/ui-library/p-dd3c76f1.entry.js +2 -0
- package/dist/ui-library/p-dd3c76f1.entry.js.map +1 -0
- package/dist/ui-library/p-df655bc9.entry.js +2 -0
- package/dist/ui-library/p-df655bc9.entry.js.map +1 -0
- package/dist/ui-library/p-e19a6c95.entry.js +2 -0
- package/dist/ui-library/p-e19a6c95.entry.js.map +1 -0
- package/dist/ui-library/p-eb8f05a9.js +2 -1
- package/dist/ui-library/p-eb8f05a9.js.map +1 -0
- package/dist/ui-library/p-edc96efc.entry.js +2 -0
- package/dist/ui-library/p-edc96efc.entry.js.map +1 -0
- package/dist/ui-library/p-f18ba86f.entry.js +2 -0
- package/dist/ui-library/p-f18ba86f.entry.js.map +1 -0
- package/dist/ui-library/p-f4938771.entry.js +2 -0
- package/dist/ui-library/p-f4938771.entry.js.map +1 -0
- package/dist/ui-library/p-f70e2403.entry.js +2 -0
- package/dist/ui-library/p-f70e2403.entry.js.map +1 -0
- package/dist/ui-library/p-f9d345e0.entry.js +2 -0
- package/dist/ui-library/p-f9d345e0.entry.js.map +1 -0
- package/dist/ui-library/p-fed07a1f.entry.js +2 -0
- package/dist/ui-library/p-fed07a1f.entry.js.map +1 -0
- package/dist/ui-library/p-ff0257bf.entry.js +2 -0
- package/dist/ui-library/p-ff0257bf.entry.js.map +1 -0
- package/dist/ui-library/ui-library.css +2 -2
- package/dist/ui-library/ui-library.esm.js +2 -1
- package/dist/ui-library/ui-library.esm.js.map +1 -0
- package/loader/index.d.ts +9 -0
- package/loader/package.json +1 -0
- package/package.json +8 -12
- package/readme.md +41 -39
- package/dist/cjs/six-table-cell_4.cjs.entry.js +0 -102
- package/dist/cjs/six-table.cjs.entry.js +0 -168
- package/dist/cjs/types-581e8ff0.js +0 -15
- package/dist/collection/components/six-table/six-table.css +0 -44
- package/dist/collection/components/six-table/six-table.js +0 -209
- package/dist/collection/components/six-table/test/helpers.js +0 -13
- package/dist/collection/components/six-table/types.js +0 -8
- package/dist/collection/components/six-table/util/filter-by.js +0 -34
- package/dist/collection/components/six-table/util/from-data.js +0 -33
- package/dist/collection/components/six-table/util/is.js +0 -3
- package/dist/collection/components/six-table/util/quick-filter-by.js +0 -13
- package/dist/collection/components/six-table/util/sort-by.js +0 -25
- package/dist/collection/components/six-table-cell/six-table-cell.css +0 -13
- package/dist/collection/components/six-table-cell/six-table-cell.js +0 -21
- package/dist/collection/components/six-table-header/six-table-header.css +0 -17
- package/dist/collection/components/six-table-header/six-table-header.js +0 -21
- package/dist/collection/components/six-table-header-cell/get-next-state.js +0 -7
- package/dist/collection/components/six-table-header-cell/icons.js +0 -12
- package/dist/collection/components/six-table-header-cell/six-table-header-cell.css +0 -37
- package/dist/collection/components/six-table-header-cell/six-table-header-cell.js +0 -174
- package/dist/collection/components/six-table-header-cell/types.js +0 -13
- package/dist/collection/components/six-table-header-cell/util/create-model.js +0 -6
- package/dist/collection/components/six-table-header-cell/util/get-next-state.js +0 -7
- package/dist/collection/components/six-table-row/six-table-row.css +0 -16
- package/dist/collection/components/six-table-row/six-table-row.js +0 -21
- package/dist/custom-elements/index.d.ts +0 -387
- package/dist/esm/six-table-cell_4.entry.js +0 -95
- package/dist/esm/six-table.entry.js +0 -164
- package/dist/esm/types-ed860f7c.js +0 -15
- package/dist/types/components/six-table/six-table.d.ts +0 -30
- package/dist/types/components/six-table/test/helpers.d.ts +0 -2
- package/dist/types/components/six-table/types.d.ts +0 -33
- package/dist/types/components/six-table/util/filter-by.d.ts +0 -2
- package/dist/types/components/six-table/util/from-data.d.ts +0 -8
- package/dist/types/components/six-table/util/is.d.ts +0 -3
- package/dist/types/components/six-table/util/quick-filter-by.d.ts +0 -2
- package/dist/types/components/six-table/util/sort-by.d.ts +0 -2
- package/dist/types/components/six-table-cell/six-table-cell.d.ts +0 -9
- package/dist/types/components/six-table-header/six-table-header.d.ts +0 -9
- package/dist/types/components/six-table-header-cell/get-next-state.d.ts +0 -2
- package/dist/types/components/six-table-header-cell/icons.d.ts +0 -3
- package/dist/types/components/six-table-header-cell/six-table-header-cell.d.ts +0 -32
- package/dist/types/components/six-table-header-cell/types.d.ts +0 -11
- package/dist/types/components/six-table-header-cell/util/create-model.d.ts +0 -4
- package/dist/types/components/six-table-header-cell/util/get-next-state.d.ts +0 -3
- package/dist/types/components/six-table-row/six-table-row.d.ts +0 -9
- package/dist/ui-library/p-007bc8e8.entry.js +0 -1
- package/dist/ui-library/p-044b784e.entry.js +0 -1
- package/dist/ui-library/p-0493c926.entry.js +0 -1
- package/dist/ui-library/p-07d1e830.js +0 -1
- package/dist/ui-library/p-09cb13fa.entry.js +0 -1
- package/dist/ui-library/p-0c596054.entry.js +0 -1
- package/dist/ui-library/p-1005d1a8.entry.js +0 -1
- package/dist/ui-library/p-19ff1079.entry.js +0 -1
- package/dist/ui-library/p-1b8dc7b7.entry.js +0 -1
- package/dist/ui-library/p-2053c61a.entry.js +0 -1
- package/dist/ui-library/p-281e8c2d.entry.js +0 -1
- package/dist/ui-library/p-2924f82f.entry.js +0 -1
- package/dist/ui-library/p-2d7ed407.entry.js +0 -1
- package/dist/ui-library/p-30ebc1e7.js +0 -1
- package/dist/ui-library/p-354704e5.entry.js +0 -1
- package/dist/ui-library/p-376b8f30.entry.js +0 -1
- package/dist/ui-library/p-3a7daff8.entry.js +0 -1
- package/dist/ui-library/p-3f577392.entry.js +0 -1
- package/dist/ui-library/p-4162dcdd.entry.js +0 -1
- package/dist/ui-library/p-4d3a4e93.entry.js +0 -1
- package/dist/ui-library/p-4ed023b8.entry.js +0 -1
- package/dist/ui-library/p-530ea6ec.entry.js +0 -1
- package/dist/ui-library/p-531ab886.entry.js +0 -1
- package/dist/ui-library/p-54c48654.entry.js +0 -1
- package/dist/ui-library/p-55c64cbc.entry.js +0 -1
- package/dist/ui-library/p-5f1c6a5f.js +0 -1
- package/dist/ui-library/p-6494e92d.entry.js +0 -1
- package/dist/ui-library/p-66601906.entry.js +0 -1
- package/dist/ui-library/p-675a8243.entry.js +0 -1
- package/dist/ui-library/p-6a4f0542.entry.js +0 -1
- package/dist/ui-library/p-6d622ed0.entry.js +0 -1
- package/dist/ui-library/p-75297ad7.js +0 -1
- package/dist/ui-library/p-76bfa55f.entry.js +0 -1
- package/dist/ui-library/p-7fe09462.entry.js +0 -1
- package/dist/ui-library/p-88e1e390.entry.js +0 -1
- package/dist/ui-library/p-8e8e922b.entry.js +0 -1
- package/dist/ui-library/p-90b26447.entry.js +0 -1
- package/dist/ui-library/p-93945629.entry.js +0 -1
- package/dist/ui-library/p-a98198bd.entry.js +0 -1
- package/dist/ui-library/p-aa37e45a.entry.js +0 -1
- package/dist/ui-library/p-b391f704.entry.js +0 -1
- package/dist/ui-library/p-b9377445.entry.js +0 -1
- package/dist/ui-library/p-bf110ea9.entry.js +0 -1
- package/dist/ui-library/p-c24292b3.entry.js +0 -1
- package/dist/ui-library/p-c4b22513.entry.js +0 -1
- package/dist/ui-library/p-c536792e.entry.js +0 -1
- package/dist/ui-library/p-cd79de73.entry.js +0 -1
- package/dist/ui-library/p-ce02c34f.entry.js +0 -1
- package/dist/ui-library/p-d28ac80a.entry.js +0 -1
- package/dist/ui-library/p-d724bbc9.entry.js +0 -1
- package/dist/ui-library/p-d837e5a8.entry.js +0 -1
- package/dist/ui-library/p-dd3cae68.entry.js +0 -1
- package/dist/ui-library/p-ea781e94.entry.js +0 -1
- package/dist/ui-library/p-eae232c3.entry.js +0 -1
- package/dist/ui-library/p-eb0956d2.entry.js +0 -1
- package/dist/ui-library/p-f00c1783.entry.js +0 -1
|
@@ -0,0 +1,559 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
|
2
|
+
import { I as ItemPickerType, d as defineCustomElement$1 } from './six-item-picker2.js';
|
|
3
|
+
import { D as DEFAULT_DEBOUNCE_FAST, b as DEFAULT_DEBOUNCE_INSANELY_FAST, a as debounce } from './execution-control.js';
|
|
4
|
+
import { E as EventListeners } from './event-listeners.js';
|
|
5
|
+
import { h as hasSlot } from './slot.js';
|
|
6
|
+
import { d as defineCustomElement$3 } from './six-icon2.js';
|
|
7
|
+
import { d as defineCustomElement$2 } from './six-input2.js';
|
|
8
|
+
|
|
9
|
+
const isString = (value) => typeof value === 'string';
|
|
10
|
+
// only use '==' instead of '===' to also catch undefined and void
|
|
11
|
+
const isNil = (value) => value == null;
|
|
12
|
+
const isDate = (value) => value instanceof Date;
|
|
13
|
+
const isNumber = (value) => value === 'number';
|
|
14
|
+
|
|
15
|
+
/*
|
|
16
|
+
* Defines the different time periods for the 12-hour-clock
|
|
17
|
+
*/
|
|
18
|
+
var SixTimePeriod;
|
|
19
|
+
(function (SixTimePeriod) {
|
|
20
|
+
SixTimePeriod["AM"] = "AM";
|
|
21
|
+
SixTimePeriod["PM"] = "PM";
|
|
22
|
+
})(SixTimePeriod || (SixTimePeriod = {}));
|
|
23
|
+
var SixTimePropertyName;
|
|
24
|
+
(function (SixTimePropertyName) {
|
|
25
|
+
SixTimePropertyName["HOURS"] = "hours";
|
|
26
|
+
SixTimePropertyName["MINUTES"] = "minutes";
|
|
27
|
+
SixTimePropertyName["SECONDS"] = "seconds";
|
|
28
|
+
SixTimePropertyName["MILLISECONDS"] = "milliseconds";
|
|
29
|
+
SixTimePropertyName["HAS_24_HOURS"] = "has24Hours";
|
|
30
|
+
SixTimePropertyName["PERIOD"] = "period";
|
|
31
|
+
})(SixTimePropertyName || (SixTimePropertyName = {}));
|
|
32
|
+
/*
|
|
33
|
+
* Defines the different time units allowed to use in a timestring
|
|
34
|
+
*/
|
|
35
|
+
var TIME_FORMAT_CHAR;
|
|
36
|
+
(function (TIME_FORMAT_CHAR) {
|
|
37
|
+
TIME_FORMAT_CHAR["HOUR_24"] = "HH";
|
|
38
|
+
TIME_FORMAT_CHAR["HOUR_12"] = "hh";
|
|
39
|
+
TIME_FORMAT_CHAR["MINUTE"] = "mm";
|
|
40
|
+
TIME_FORMAT_CHAR["SECOND"] = "ss";
|
|
41
|
+
TIME_FORMAT_CHAR["MILLISECOND"] = "ms";
|
|
42
|
+
TIME_FORMAT_CHAR["PERIOD"] = "aa";
|
|
43
|
+
})(TIME_FORMAT_CHAR || (TIME_FORMAT_CHAR = {}));
|
|
44
|
+
/*
|
|
45
|
+
* Defines a mapping from the time format unit characters to the sixTime property name
|
|
46
|
+
*/
|
|
47
|
+
const TIME_FORMAT_CHAR_TO_SIX_TIME_PROPERTY_MAP = {
|
|
48
|
+
[TIME_FORMAT_CHAR.HOUR_24]: 'hours',
|
|
49
|
+
[TIME_FORMAT_CHAR.HOUR_12]: 'hours',
|
|
50
|
+
[TIME_FORMAT_CHAR.MINUTE]: 'minutes',
|
|
51
|
+
[TIME_FORMAT_CHAR.SECOND]: 'seconds',
|
|
52
|
+
[TIME_FORMAT_CHAR.MILLISECOND]: 'milliseconds',
|
|
53
|
+
[TIME_FORMAT_CHAR.PERIOD]: 'period',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
var SixTimeFormat;
|
|
57
|
+
(function (SixTimeFormat) {
|
|
58
|
+
SixTimeFormat["HHmmss"] = "HH:mm:ss";
|
|
59
|
+
SixTimeFormat["hhmmssaa"] = "hh:mm:ss:aa";
|
|
60
|
+
SixTimeFormat["HHmmssms"] = "HH:mm:ss:ms";
|
|
61
|
+
SixTimeFormat["hhmmssmsaa"] = "hh:mm:ss:ms:aa";
|
|
62
|
+
SixTimeFormat["HHmm"] = "HH:mm";
|
|
63
|
+
SixTimeFormat["hhmmaa"] = "hh:mm:aa";
|
|
64
|
+
SixTimeFormat["HH"] = "HH";
|
|
65
|
+
SixTimeFormat["hhaa"] = "hh:aa";
|
|
66
|
+
SixTimeFormat["mm"] = "mm";
|
|
67
|
+
SixTimeFormat["ss"] = "ss";
|
|
68
|
+
SixTimeFormat["ms"] = "ms";
|
|
69
|
+
})(SixTimeFormat || (SixTimeFormat = {}));
|
|
70
|
+
|
|
71
|
+
/*
|
|
72
|
+
* Returns the current time in the format of your choice
|
|
73
|
+
*/
|
|
74
|
+
const getCurrentTimeIn24Hours = () => {
|
|
75
|
+
const now = new Date();
|
|
76
|
+
return {
|
|
77
|
+
hours: now.getHours(),
|
|
78
|
+
minutes: now.getMinutes(),
|
|
79
|
+
seconds: now.getSeconds(),
|
|
80
|
+
milliseconds: now.getMilliseconds(),
|
|
81
|
+
has24Hours: true,
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
const HOURS_IN_12_HOUR_CLOCK_FORMAT = 12;
|
|
85
|
+
const getHoursIn12HourFormat = (hours) => hours > HOURS_IN_12_HOUR_CLOCK_FORMAT ? hours - HOURS_IN_12_HOUR_CLOCK_FORMAT : hours;
|
|
86
|
+
const getCurrentTimeIn12Hours = () => {
|
|
87
|
+
const now = new Date();
|
|
88
|
+
const hours = now.getHours();
|
|
89
|
+
return {
|
|
90
|
+
hours: getHoursIn12HourFormat(hours),
|
|
91
|
+
minutes: now.getMinutes(),
|
|
92
|
+
seconds: now.getSeconds(),
|
|
93
|
+
milliseconds: now.getMilliseconds(),
|
|
94
|
+
has24Hours: false,
|
|
95
|
+
period: hours >= HOURS_IN_12_HOUR_CLOCK_FORMAT ? SixTimePeriod.PM : SixTimePeriod.AM,
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
const getCurrentTime = (has24Hours = true) => {
|
|
99
|
+
return has24Hours ? getCurrentTimeIn24Hours() : getCurrentTimeIn12Hours();
|
|
100
|
+
};
|
|
101
|
+
const TIME_FORMAT_SEPARATOR = ':';
|
|
102
|
+
const isValidTimeString = (timeStr, format) => {
|
|
103
|
+
const timeStringParts = timeStr.split(TIME_FORMAT_SEPARATOR);
|
|
104
|
+
const timeFormatParts = format.split(TIME_FORMAT_SEPARATOR);
|
|
105
|
+
return timeStringParts.length === timeFormatParts.length;
|
|
106
|
+
};
|
|
107
|
+
const parseTimeString = (timeStr, format) => {
|
|
108
|
+
const timeStringParts = timeStr.split(TIME_FORMAT_SEPARATOR);
|
|
109
|
+
const timeFormatParts = format.split(TIME_FORMAT_SEPARATOR);
|
|
110
|
+
if (!isValidTimeString(timeStr, format)) {
|
|
111
|
+
console.error(`Timestring did not match expected format.\nExpected format: ${format}\nReceived timestring: ${timeStr}`);
|
|
112
|
+
}
|
|
113
|
+
const sixTime = {};
|
|
114
|
+
timeStringParts.forEach((timeStringPart, i) => {
|
|
115
|
+
const formatStringPart = timeFormatParts[i];
|
|
116
|
+
const sixTimePropertyName = TIME_FORMAT_CHAR_TO_SIX_TIME_PROPERTY_MAP[formatStringPart];
|
|
117
|
+
if (sixTimePropertyName !== undefined) {
|
|
118
|
+
if (formatStringPart === TIME_FORMAT_CHAR.PERIOD) {
|
|
119
|
+
sixTime.period = timeStringPart.toUpperCase() === SixTimePeriod.PM ? SixTimePeriod.PM : SixTimePeriod.AM;
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
sixTime[sixTimePropertyName] = Number(timeStringPart);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (formatStringPart === TIME_FORMAT_CHAR.HOUR_24) {
|
|
126
|
+
sixTime.has24Hours = true;
|
|
127
|
+
}
|
|
128
|
+
else if (formatStringPart === TIME_FORMAT_CHAR.HOUR_12) {
|
|
129
|
+
sixTime.has24Hours = false;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
return sixTime;
|
|
133
|
+
};
|
|
134
|
+
const createTimeString = (time, format) => {
|
|
135
|
+
return format
|
|
136
|
+
.split(TIME_FORMAT_SEPARATOR)
|
|
137
|
+
.map((timeFormatPart) => {
|
|
138
|
+
const sixTimePropertyName = TIME_FORMAT_CHAR_TO_SIX_TIME_PROPERTY_MAP[timeFormatPart];
|
|
139
|
+
const paddingLength = timeFormatPart === TIME_FORMAT_CHAR.MILLISECOND ? 3 : 2;
|
|
140
|
+
return String(time[sixTimePropertyName]).padStart(paddingLength, '0');
|
|
141
|
+
})
|
|
142
|
+
.join(TIME_FORMAT_SEPARATOR);
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
const sixTimepickerCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block;font-family:var(--six-font-family)}.timepicker_clear{display:inline-flex;align-items:center;font-size:inherit;color:var(--six-input-icon-color);border:none;background:none;padding:0;transition:var(--six-transition-fast) color;cursor:pointer}.timepicker_clear:hover{color:var(--six-input-icon-color-hover)}.timepicker_clear:focus{outline:none}.timepicker_clear--right{right:0;position:absolute}.timepicker_clear--left{right:35px;position:absolute}.timepicker__container{position:relative}.timepicker__popup{display:flex;justify-content:center;min-width:min-content;min-height:145px;background-color:white;padding:0.5em 0.5em 1.5em;box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);user-select:none;position:absolute;z-index:var(--six-z-index-dropdown);right:0;left:0}.timepicker__popup--is-up{bottom:100%}.timepicker__popup--is-inline{position:initial;box-shadow:none;border:1px solid var(--six-color-web-rock-400)}.timepicker__separator{display:flex;align-items:center}.timepicker__item--wide{padding-left:0.5rem;padding-right:0.5rem}.input--empty .timepicker_clear{visibility:hidden}.input--hide{display:none}.prefix{cursor:pointer}.prefix--right{right:0;display:inline-flex;position:absolute;font-size:inherit;color:var(--six-input-icon-color);border:none;background:none;margin-right:var(--six-input-spacing-medium);transition:var(--six-transition-fast) color}";
|
|
146
|
+
|
|
147
|
+
const TAG = `[SIX-TIMEPICKER]`;
|
|
148
|
+
const DEBOUNCE_TIMEPICKER_LISTENER = 'debounced-timepicker';
|
|
149
|
+
const MIN_POPUP_HEIGHT = 145;
|
|
150
|
+
const SixTimepicker = /*@__PURE__*/ proxyCustomElement(class SixTimepicker extends HTMLElement {
|
|
151
|
+
constructor() {
|
|
152
|
+
super();
|
|
153
|
+
this.__registerHost();
|
|
154
|
+
this.__attachShadow();
|
|
155
|
+
this.sixChange = createEvent(this, "six-timepicker-change", 7);
|
|
156
|
+
this.sixChangeDebounced = createEvent(this, "six-timepicker-change-debounced", 7);
|
|
157
|
+
this.sixClear = createEvent(this, "six-timepicker-clear", 7);
|
|
158
|
+
this.eventListeners = new EventListeners();
|
|
159
|
+
this.defaultValue = null;
|
|
160
|
+
this.handleInputChange = (event) => {
|
|
161
|
+
event.stopPropagation();
|
|
162
|
+
const inputValue = this.inputElement.value;
|
|
163
|
+
if (!isValidTimeString(inputValue, this.format)) {
|
|
164
|
+
this.sixChange.emit({
|
|
165
|
+
value: {},
|
|
166
|
+
valueAsString: '',
|
|
167
|
+
});
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
this.internalValue = parseTimeString(inputValue, this.format);
|
|
171
|
+
this.sixChange.emit({
|
|
172
|
+
value: this.internalValue,
|
|
173
|
+
valueAsString: createTimeString(this.internalValue, this.format),
|
|
174
|
+
});
|
|
175
|
+
};
|
|
176
|
+
this.handleSixTimepickerChangeDebounced = ({ detail }) => {
|
|
177
|
+
this.sixChangeDebounced.emit(detail);
|
|
178
|
+
};
|
|
179
|
+
this.handleChange = (event, property) => {
|
|
180
|
+
// stop propagation, since the timepicker should not expose the events of the underlying item-picker
|
|
181
|
+
event.stopPropagation();
|
|
182
|
+
// update the internal state
|
|
183
|
+
this.internalValue[property] = event.detail;
|
|
184
|
+
const timeString = createTimeString(this.internalValue, this.format);
|
|
185
|
+
// fire timepicker's own event
|
|
186
|
+
this.sixChange.emit({
|
|
187
|
+
changedProperty: property,
|
|
188
|
+
value: this.internalValue,
|
|
189
|
+
valueAsString: timeString,
|
|
190
|
+
});
|
|
191
|
+
// update the input value
|
|
192
|
+
this.value = timeString;
|
|
193
|
+
};
|
|
194
|
+
this.handleDocumentMouseDown = (event) => {
|
|
195
|
+
// Close when clicking outside of the containing element
|
|
196
|
+
const path = event.composedPath();
|
|
197
|
+
if (!path.includes(this.host)) {
|
|
198
|
+
this.closePopup();
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
this.handleClearClick = (event) => {
|
|
203
|
+
event.stopPropagation();
|
|
204
|
+
this.value = undefined;
|
|
205
|
+
this.sixClear.emit();
|
|
206
|
+
};
|
|
207
|
+
this.format = SixTimeFormat.HHmmss;
|
|
208
|
+
this.separator = TIME_FORMAT_SEPARATOR;
|
|
209
|
+
this.value = undefined;
|
|
210
|
+
this.open = false;
|
|
211
|
+
this.inline = false;
|
|
212
|
+
this.readonly = false;
|
|
213
|
+
this.disabled = false;
|
|
214
|
+
this.placement = undefined;
|
|
215
|
+
this.size = 'medium';
|
|
216
|
+
this.required = undefined;
|
|
217
|
+
this.placeholder = undefined;
|
|
218
|
+
this.errorOnBlur = false;
|
|
219
|
+
this.errorText = '';
|
|
220
|
+
this.label = '';
|
|
221
|
+
this.name = '';
|
|
222
|
+
this.clearable = false;
|
|
223
|
+
this.iconPosition = 'left';
|
|
224
|
+
this.hoist = false;
|
|
225
|
+
this.timeout = DEFAULT_DEBOUNCE_FAST;
|
|
226
|
+
this.interval = DEFAULT_DEBOUNCE_INSANELY_FAST;
|
|
227
|
+
this.defaultTime = undefined;
|
|
228
|
+
this.debounce = DEFAULT_DEBOUNCE_FAST;
|
|
229
|
+
this.isPopupContentUp = false;
|
|
230
|
+
this.isDropDownContentUp = false;
|
|
231
|
+
this.internalValue = undefined;
|
|
232
|
+
}
|
|
233
|
+
async resizeHandler() {
|
|
234
|
+
this.calcIsPopupContentUp();
|
|
235
|
+
this.moveOpenHoistedPopup();
|
|
236
|
+
}
|
|
237
|
+
async scrollHandler() {
|
|
238
|
+
this.calcIsPopupContentUp();
|
|
239
|
+
this.moveOpenHoistedPopup();
|
|
240
|
+
}
|
|
241
|
+
debounceChanged() {
|
|
242
|
+
this.eventListeners.removeByIdentifier(DEBOUNCE_TIMEPICKER_LISTENER);
|
|
243
|
+
this.eventListeners.add(this.host, 'six-timepicker-change', debounce(this.handleSixTimepickerChangeDebounced, this.debounce), DEBOUNCE_TIMEPICKER_LISTENER);
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Update the native input element when the value changes
|
|
247
|
+
*/
|
|
248
|
+
valueChanged(newValue) {
|
|
249
|
+
if (this.value !== newValue) {
|
|
250
|
+
this.value = newValue;
|
|
251
|
+
}
|
|
252
|
+
this.setupInternalTime();
|
|
253
|
+
this.sixChange.emit({
|
|
254
|
+
value: this.internalValue,
|
|
255
|
+
valueAsString: createTimeString(this.internalValue, this.format),
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
/** Checks for validity and shows the browser's validation message if the control is invalid. */
|
|
259
|
+
async reportValidity() {
|
|
260
|
+
return this.inputElement.reportValidity();
|
|
261
|
+
}
|
|
262
|
+
/** Checks for validity. */
|
|
263
|
+
async checkValidity() {
|
|
264
|
+
return this.inputElement.checkValidity();
|
|
265
|
+
}
|
|
266
|
+
/** Sets a custom validation message. If `message` is not empty, the field will be considered invalid. */
|
|
267
|
+
async setCustomValidity(message) {
|
|
268
|
+
await this.inputElement.setCustomValidity(message);
|
|
269
|
+
}
|
|
270
|
+
/** Resets the formcontrol */
|
|
271
|
+
async reset() {
|
|
272
|
+
this.internalValue = this.defaultValue;
|
|
273
|
+
this.inputElement.value = createTimeString(this.internalValue, this.format);
|
|
274
|
+
await this.inputElement.reset();
|
|
275
|
+
}
|
|
276
|
+
componentWillLoad() {
|
|
277
|
+
this.setupInternalTime();
|
|
278
|
+
if (this.inline) {
|
|
279
|
+
this.open = true;
|
|
280
|
+
}
|
|
281
|
+
if (this.open) {
|
|
282
|
+
this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
componentDidLoad() {
|
|
286
|
+
this.eventListeners.add(this.host, 'six-timepicker-change', debounce(this.handleSixTimepickerChangeDebounced, this.debounce), DEBOUNCE_TIMEPICKER_LISTENER);
|
|
287
|
+
this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));
|
|
288
|
+
}
|
|
289
|
+
disconnectedCallback() {
|
|
290
|
+
this.eventListeners.removeAll();
|
|
291
|
+
}
|
|
292
|
+
calcIsPopupContentUp() {
|
|
293
|
+
if (!this.inputElement || !this.wrapper) {
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
const inputBoundingRect = this.inputElement.getBoundingClientRect();
|
|
297
|
+
const wrapperBoundingRect = this.wrapper.getBoundingClientRect();
|
|
298
|
+
const minPopupHeight = Math.max(wrapperBoundingRect.height, MIN_POPUP_HEIGHT);
|
|
299
|
+
const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;
|
|
300
|
+
this.isPopupContentUp = moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + minPopupHeight;
|
|
301
|
+
}
|
|
302
|
+
/*
|
|
303
|
+
* The position of the hoisted timepicker needs to be correctly calculated since the position changes to fixed.
|
|
304
|
+
* Thus if the user scrolls or adjusts the screen size we need to recalculate the timepicker position.
|
|
305
|
+
*/
|
|
306
|
+
moveOpenHoistedPopup() {
|
|
307
|
+
if (!this.hoist || !this.open) {
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
const popupBoundingClientRect = this.popup.getBoundingClientRect();
|
|
311
|
+
const popupHeight = popupBoundingClientRect.height;
|
|
312
|
+
const inputBoundingClientRect = this.inputElement.getBoundingClientRect();
|
|
313
|
+
const inputTop = inputBoundingClientRect.top;
|
|
314
|
+
const inputHeight = inputBoundingClientRect.height;
|
|
315
|
+
this.calcIsPopupContentUp();
|
|
316
|
+
if (this.isPopupContentUp) {
|
|
317
|
+
this.popup.style.top = `${inputTop - popupHeight}px`;
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
this.popup.style.top = `${inputTop + inputHeight}px`;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
getSixTimeUnitPicker(params) {
|
|
324
|
+
return (h("six-item-picker", { class: params.class, timeout: this.timeout, interval: this.interval, padded: true, min: params.min, max: params.max, value: this.internalValue[params.propertyName], items: params.items, type: params.type || ItemPickerType.NUMBER, "padding-length": params.paddingLength, "onSix-item-picker-change": (event) => this.handleChange(event, params.propertyName) }));
|
|
325
|
+
}
|
|
326
|
+
setupInternalTime() {
|
|
327
|
+
if (this.is12HourClock() && !this.format.includes(TIME_FORMAT_CHAR.PERIOD)) {
|
|
328
|
+
console.error(`${TAG} You provided a 12-hour-clock format but are missing the period (am or pm) in the time-format-string!`);
|
|
329
|
+
}
|
|
330
|
+
if (this.value === null || this.value === undefined) {
|
|
331
|
+
this.internalValue = isNil(this.defaultTime)
|
|
332
|
+
? getCurrentTime(this.is24HourClock())
|
|
333
|
+
: parseTimeString(this.defaultTime, this.format);
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
this.internalValue = parseTimeString(this.value, this.format);
|
|
337
|
+
}
|
|
338
|
+
this.defaultValue = this.internalValue;
|
|
339
|
+
}
|
|
340
|
+
getHour24Picker() {
|
|
341
|
+
if (!this.is24HourClock()) {
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
return this.getSixTimeUnitPicker({ min: 0, max: 23, propertyName: SixTimePropertyName.HOURS });
|
|
345
|
+
}
|
|
346
|
+
is24HourClock() {
|
|
347
|
+
return this.format.includes(TIME_FORMAT_CHAR.HOUR_24);
|
|
348
|
+
}
|
|
349
|
+
getHour12Picker() {
|
|
350
|
+
if (!this.is12HourClock()) {
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
return this.getSixTimeUnitPicker({ min: 0, max: 11, propertyName: SixTimePropertyName.HOURS });
|
|
354
|
+
}
|
|
355
|
+
is12HourClock() {
|
|
356
|
+
return this.format.includes(TIME_FORMAT_CHAR.HOUR_12);
|
|
357
|
+
}
|
|
358
|
+
getAmPmPicker() {
|
|
359
|
+
if (!this.is12HourClock()) {
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
const items = ['AM', 'PM'];
|
|
363
|
+
return this.getSixTimeUnitPicker({
|
|
364
|
+
items,
|
|
365
|
+
type: ItemPickerType.CUSTOM,
|
|
366
|
+
propertyName: SixTimePropertyName.PERIOD,
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
getMinutePicker() {
|
|
370
|
+
if (!this.format.includes(TIME_FORMAT_CHAR.MINUTE)) {
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
return this.getSixTimeUnitPicker({ min: 0, max: 59, propertyName: SixTimePropertyName.MINUTES });
|
|
374
|
+
}
|
|
375
|
+
getSecondsPicker() {
|
|
376
|
+
if (!this.format.includes(TIME_FORMAT_CHAR.SECOND)) {
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
379
|
+
return this.getSixTimeUnitPicker({ min: 0, max: 59, propertyName: SixTimePropertyName.SECONDS });
|
|
380
|
+
}
|
|
381
|
+
getMillisecondsPicker() {
|
|
382
|
+
if (!this.format.includes(TIME_FORMAT_CHAR.MILLISECOND)) {
|
|
383
|
+
return;
|
|
384
|
+
}
|
|
385
|
+
return this.getSixTimeUnitPicker({
|
|
386
|
+
min: 0,
|
|
387
|
+
max: 999,
|
|
388
|
+
class: 'timepicker__item--wide',
|
|
389
|
+
paddingLength: 3,
|
|
390
|
+
propertyName: SixTimePropertyName.MILLISECONDS,
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
getSeparator() {
|
|
394
|
+
return (h("div", { class: "timepicker__separator" }, h("span", null, this.separator)));
|
|
395
|
+
}
|
|
396
|
+
getContent() {
|
|
397
|
+
const elementsInOrder = [
|
|
398
|
+
this.getHour24Picker(),
|
|
399
|
+
this.getHour12Picker(),
|
|
400
|
+
this.getMinutePicker(),
|
|
401
|
+
this.getSecondsPicker(),
|
|
402
|
+
this.getMillisecondsPicker(),
|
|
403
|
+
];
|
|
404
|
+
const visibleElements = elementsInOrder.filter((el) => el !== undefined);
|
|
405
|
+
return visibleElements.map((el, idx) => {
|
|
406
|
+
if (idx === visibleElements.length - 1) {
|
|
407
|
+
return [el];
|
|
408
|
+
}
|
|
409
|
+
return [el, this.getSeparator()];
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
openPopup() {
|
|
413
|
+
if (!this.open && !this.disabled) {
|
|
414
|
+
this.open = true;
|
|
415
|
+
this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
closePopup() {
|
|
419
|
+
if (this.inline) {
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
this.open = false;
|
|
423
|
+
this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);
|
|
424
|
+
}
|
|
425
|
+
renderClearable() {
|
|
426
|
+
return (this.clearable && (h("button", { slot: "suffix", class: {
|
|
427
|
+
timepicker_clear: true,
|
|
428
|
+
'timepicker_clear--right': this.iconPosition === 'left',
|
|
429
|
+
'timepicker_clear--left': this.iconPosition === 'right',
|
|
430
|
+
}, type: "button", onClick: this.handleClearClick, tabindex: "-1" }, h("six-icon", { size: "small" }, "clear"))));
|
|
431
|
+
}
|
|
432
|
+
renderCustomIcon() {
|
|
433
|
+
const icon = hasSlot(this.host, 'custom-icon') ? (h("slot", { name: "custom-icon" })) : (h("six-icon", { size: this.size === 'large' ? 'medium' : this.size }, "watch_later"));
|
|
434
|
+
return (h("span", { slot: "prefix", part: "icon", class: {
|
|
435
|
+
prefix: true,
|
|
436
|
+
'prefix--right': this.iconPosition === 'right',
|
|
437
|
+
} }, icon));
|
|
438
|
+
}
|
|
439
|
+
calcIsDropDownContentUp() {
|
|
440
|
+
if (!this.inputElement || !this.wrapper) {
|
|
441
|
+
return;
|
|
442
|
+
}
|
|
443
|
+
const inputBoundingRect = this.inputElement.getBoundingClientRect();
|
|
444
|
+
const wrapperBoundingRect = this.wrapper.getBoundingClientRect();
|
|
445
|
+
const minPopupHeight = Math.max(wrapperBoundingRect.height, MIN_POPUP_HEIGHT);
|
|
446
|
+
const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;
|
|
447
|
+
this.isDropDownContentUp = moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + minPopupHeight;
|
|
448
|
+
}
|
|
449
|
+
/*
|
|
450
|
+
* If the popup is hoisted we popup is hoisted its position will change to fix to not be clipped of by a containing container.
|
|
451
|
+
* To render the popup correctly we render it normally, and then assign this screenposition to the fixed popup
|
|
452
|
+
*/
|
|
453
|
+
adjustPopupForHoisting() {
|
|
454
|
+
if (!this.hoist) {
|
|
455
|
+
return;
|
|
456
|
+
}
|
|
457
|
+
// execute after dropdown has been rendered to make sure the popup reference is correctly set
|
|
458
|
+
setTimeout(() => {
|
|
459
|
+
if (!this.popup) {
|
|
460
|
+
return;
|
|
461
|
+
}
|
|
462
|
+
// take a snapshot of normally rendered popup
|
|
463
|
+
const popupBoundingClientRect = this.popup.getBoundingClientRect();
|
|
464
|
+
// apply screen position to fixed popup
|
|
465
|
+
this.popup.style.position = 'fixed';
|
|
466
|
+
['top', 'left', 'width', 'height'].forEach((property) => {
|
|
467
|
+
this.popup.style[property] = `${popupBoundingClientRect[property]}px`;
|
|
468
|
+
});
|
|
469
|
+
const inputBoundingClientRect = this.inputElement.getBoundingClientRect();
|
|
470
|
+
const inputTop = inputBoundingClientRect.top;
|
|
471
|
+
const popupTop = popupBoundingClientRect.top;
|
|
472
|
+
this.calcIsDropDownContentUp();
|
|
473
|
+
// check screen position to check whether the popup should be moved above or below the trigger element
|
|
474
|
+
if (this.isDropDownContentUp && inputTop < popupTop) {
|
|
475
|
+
// move popup above input field if timepicker is at bottom of screen
|
|
476
|
+
this.popup.style.top = `${popupTop - popupBoundingClientRect.height - inputBoundingClientRect.height}px`;
|
|
477
|
+
}
|
|
478
|
+
}, 0);
|
|
479
|
+
}
|
|
480
|
+
render() {
|
|
481
|
+
this.adjustPopupForHoisting();
|
|
482
|
+
return (h("div", { part: "container", ref: (el) => (this.wrapper = el), class: "timepicker__container" }, h("six-input", { ref: (el) => (this.inputElement = el), part: "input", onClick: () => this.openPopup(), value: this.value, placeholder: this.placeholder, readonly: this.readonly, disabled: this.disabled, size: this.size, name: this.name, label: this.label, required: this.required, "error-text": this.errorText, "error-on-blur": this.errorOnBlur, class: {
|
|
483
|
+
'input--empty': !this.value,
|
|
484
|
+
'input--hide': this.inline,
|
|
485
|
+
} }, this.renderCustomIcon(), this.renderClearable(), hasSlot(this.host, 'error-text') ? (h("span", { slot: "error-text" }, h("slot", { name: "error-text" }))) : null, hasSlot(this.host, 'label') ? (h("span", { slot: "label" }, h("slot", { name: "label" }))) : null), this.open && (h("div", { ref: (el) => (this.popup = el), part: "popup", class: {
|
|
486
|
+
timepicker__popup: true,
|
|
487
|
+
'timepicker__popup--is-up': this.placement ? this.placement === 'top' : this.isPopupContentUp,
|
|
488
|
+
'timepicker__popup--is-inline': this.inline,
|
|
489
|
+
} }, ...this.getContent(), this.getAmPmPicker()))));
|
|
490
|
+
}
|
|
491
|
+
get host() { return this; }
|
|
492
|
+
static get watchers() { return {
|
|
493
|
+
"debounce": ["debounceChanged"],
|
|
494
|
+
"value": ["valueChanged"]
|
|
495
|
+
}; }
|
|
496
|
+
static get style() { return sixTimepickerCss; }
|
|
497
|
+
}, [1, "six-timepicker", {
|
|
498
|
+
"format": [1],
|
|
499
|
+
"separator": [1],
|
|
500
|
+
"value": [1025],
|
|
501
|
+
"open": [1540],
|
|
502
|
+
"inline": [516],
|
|
503
|
+
"readonly": [4],
|
|
504
|
+
"disabled": [4],
|
|
505
|
+
"placement": [1],
|
|
506
|
+
"size": [1],
|
|
507
|
+
"required": [516],
|
|
508
|
+
"placeholder": [1],
|
|
509
|
+
"errorOnBlur": [4, "error-on-blur"],
|
|
510
|
+
"errorText": [1, "error-text"],
|
|
511
|
+
"label": [1],
|
|
512
|
+
"name": [513],
|
|
513
|
+
"clearable": [4],
|
|
514
|
+
"iconPosition": [1, "icon-position"],
|
|
515
|
+
"hoist": [4],
|
|
516
|
+
"timeout": [2],
|
|
517
|
+
"interval": [2],
|
|
518
|
+
"defaultTime": [1, "default-time"],
|
|
519
|
+
"debounce": [2],
|
|
520
|
+
"isPopupContentUp": [32],
|
|
521
|
+
"isDropDownContentUp": [32],
|
|
522
|
+
"internalValue": [32],
|
|
523
|
+
"reportValidity": [64],
|
|
524
|
+
"checkValidity": [64],
|
|
525
|
+
"setCustomValidity": [64],
|
|
526
|
+
"reset": [64]
|
|
527
|
+
}, [[9, "resize", "resizeHandler"], [9, "scroll", "scrollHandler"]]]);
|
|
528
|
+
function defineCustomElement() {
|
|
529
|
+
if (typeof customElements === "undefined") {
|
|
530
|
+
return;
|
|
531
|
+
}
|
|
532
|
+
const components = ["six-timepicker", "six-icon", "six-input", "six-item-picker"];
|
|
533
|
+
components.forEach(tagName => { switch (tagName) {
|
|
534
|
+
case "six-timepicker":
|
|
535
|
+
if (!customElements.get(tagName)) {
|
|
536
|
+
customElements.define(tagName, SixTimepicker);
|
|
537
|
+
}
|
|
538
|
+
break;
|
|
539
|
+
case "six-icon":
|
|
540
|
+
if (!customElements.get(tagName)) {
|
|
541
|
+
defineCustomElement$3();
|
|
542
|
+
}
|
|
543
|
+
break;
|
|
544
|
+
case "six-input":
|
|
545
|
+
if (!customElements.get(tagName)) {
|
|
546
|
+
defineCustomElement$2();
|
|
547
|
+
}
|
|
548
|
+
break;
|
|
549
|
+
case "six-item-picker":
|
|
550
|
+
if (!customElements.get(tagName)) {
|
|
551
|
+
defineCustomElement$1();
|
|
552
|
+
}
|
|
553
|
+
break;
|
|
554
|
+
} });
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
export { SixTimePropertyName as S, isNumber as a, isDate as b, isString as c, defineCustomElement as d, SixTimepicker as e, isNil as i };
|
|
558
|
+
|
|
559
|
+
//# sourceMappingURL=six-timepicker2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"six-timepicker2.js","mappings":"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","names":[],"sources":["./src/utils/type-check.ts","./src/components/six-timepicker/six-timepicker.types.tsx","./src/components/six-timepicker/six-time-format.tsx","./src/utils/time.util.ts","./src/components/six-timepicker/six-timepicker.scss?tag=six-timepicker&encapsulation=shadow","./src/components/six-timepicker/six-timepicker.tsx"],"sourcesContent":["export const isString = (value: any): value is string => typeof value === 'string';\n\n// only use '==' instead of '===' to also catch undefined and void\nexport const isNil = (value) => value == null;\n\nexport const isDate = (value): value is Date => value instanceof Date;\n\nexport const isNumber = (value): value is number => value === 'number';\n","/*\n * Defines the different time periods for the 12-hour-clock\n */\nexport enum SixTimePeriod {\n AM = 'AM',\n PM = 'PM',\n}\n\nexport enum SixTimePropertyName {\n HOURS = 'hours',\n MINUTES = 'minutes',\n SECONDS = 'seconds',\n MILLISECONDS = 'milliseconds',\n HAS_24_HOURS = 'has24Hours',\n PERIOD = 'period',\n}\n\n/*\n * Defines a format independent interface for time used internally in the six-timepicker\n */\nexport interface SixTime {\n [SixTimePropertyName.HOURS]?: number;\n [SixTimePropertyName.MINUTES]?: number;\n [SixTimePropertyName.SECONDS]?: number;\n [SixTimePropertyName.MILLISECONDS]?: number;\n [SixTimePropertyName.HAS_24_HOURS]?: boolean; // true => 24h, false => 12h\n [SixTimePropertyName.PERIOD]?: SixTimePeriod; // only needed for 12-hour clock\n}\n\n/*\n * Defines the different time units allowed to use in a timestring\n */\nexport enum TIME_FORMAT_CHAR {\n HOUR_24 = 'HH',\n HOUR_12 = 'hh',\n MINUTE = 'mm',\n SECOND = 'ss',\n MILLISECOND = 'ms',\n PERIOD = 'aa',\n}\n\n/*\n * Defines a mapping from the time format unit characters to the sixTime property name\n */\nexport const TIME_FORMAT_CHAR_TO_SIX_TIME_PROPERTY_MAP = {\n [TIME_FORMAT_CHAR.HOUR_24]: 'hours',\n [TIME_FORMAT_CHAR.HOUR_12]: 'hours',\n [TIME_FORMAT_CHAR.MINUTE]: 'minutes',\n [TIME_FORMAT_CHAR.SECOND]: 'seconds',\n [TIME_FORMAT_CHAR.MILLISECOND]: 'milliseconds',\n [TIME_FORMAT_CHAR.PERIOD]: 'period',\n};\n","export enum SixTimeFormat {\n HHmmss = 'HH:mm:ss', // 24 hour format\n hhmmssaa = 'hh:mm:ss:aa',\n HHmmssms = 'HH:mm:ss:ms',\n hhmmssmsaa = 'hh:mm:ss:ms:aa',\n HHmm = 'HH:mm',\n hhmmaa = 'hh:mm:aa',\n HH = 'HH',\n hhaa = 'hh:aa',\n mm = 'mm',\n ss = 'ss',\n ms = 'ms',\n}\n","/*\n * Returns the current time in the format of your choice\n */\nimport {\n SixTime,\n SixTimePeriod,\n TIME_FORMAT_CHAR,\n TIME_FORMAT_CHAR_TO_SIX_TIME_PROPERTY_MAP,\n} from '../components/six-timepicker/six-timepicker.types';\nimport { SixTimeFormat } from '../components/six-timepicker/six-time-format';\n\nexport const getCurrentTimeIn24Hours = (): SixTime => {\n const now = new Date();\n return {\n hours: now.getHours(),\n minutes: now.getMinutes(),\n seconds: now.getSeconds(),\n milliseconds: now.getMilliseconds(),\n has24Hours: true,\n };\n};\n\nconst HOURS_IN_12_HOUR_CLOCK_FORMAT = 12;\n\nexport const getHoursIn12HourFormat = (hours: number) =>\n hours > HOURS_IN_12_HOUR_CLOCK_FORMAT ? hours - HOURS_IN_12_HOUR_CLOCK_FORMAT : hours;\n\nexport const getCurrentTimeIn12Hours = (): SixTime => {\n const now = new Date();\n const hours = now.getHours();\n return {\n hours: getHoursIn12HourFormat(hours),\n minutes: now.getMinutes(),\n seconds: now.getSeconds(),\n milliseconds: now.getMilliseconds(),\n has24Hours: false,\n period: hours >= HOURS_IN_12_HOUR_CLOCK_FORMAT ? SixTimePeriod.PM : SixTimePeriod.AM,\n };\n};\n\nexport const getCurrentTime = (has24Hours: boolean = true): SixTime => {\n return has24Hours ? getCurrentTimeIn24Hours() : getCurrentTimeIn12Hours();\n};\n\nexport const TIME_FORMAT_SEPARATOR = ':';\nexport const isValidTimeString = (timeStr: string, format: SixTimeFormat) => {\n const timeStringParts = timeStr.split(TIME_FORMAT_SEPARATOR);\n const timeFormatParts = format.split(TIME_FORMAT_SEPARATOR);\n return timeStringParts.length === timeFormatParts.length;\n};\n\nexport const parseTimeString = (timeStr: string, format: SixTimeFormat): SixTime => {\n const timeStringParts = timeStr.split(TIME_FORMAT_SEPARATOR);\n const timeFormatParts = format.split(TIME_FORMAT_SEPARATOR);\n\n if (!isValidTimeString(timeStr, format)) {\n console.error(\n `Timestring did not match expected format.\\nExpected format: ${format}\\nReceived timestring: ${timeStr}`\n );\n }\n\n const sixTime: SixTime = {};\n\n timeStringParts.forEach((timeStringPart, i) => {\n const formatStringPart = timeFormatParts[i];\n const sixTimePropertyName = TIME_FORMAT_CHAR_TO_SIX_TIME_PROPERTY_MAP[formatStringPart];\n\n if (sixTimePropertyName !== undefined) {\n if (formatStringPart === TIME_FORMAT_CHAR.PERIOD) {\n sixTime.period = timeStringPart.toUpperCase() === SixTimePeriod.PM ? SixTimePeriod.PM : SixTimePeriod.AM;\n } else {\n sixTime[sixTimePropertyName] = Number(timeStringPart);\n }\n }\n\n if (formatStringPart === TIME_FORMAT_CHAR.HOUR_24) {\n sixTime.has24Hours = true;\n } else if (formatStringPart === TIME_FORMAT_CHAR.HOUR_12) {\n sixTime.has24Hours = false;\n }\n });\n\n return sixTime;\n};\n\nexport const createTimeString = (time: SixTime, format: SixTimeFormat) => {\n return format\n .split(TIME_FORMAT_SEPARATOR)\n .map((timeFormatPart) => {\n const sixTimePropertyName = TIME_FORMAT_CHAR_TO_SIX_TIME_PROPERTY_MAP[timeFormatPart];\n const paddingLength = timeFormatPart === TIME_FORMAT_CHAR.MILLISECOND ? 3 : 2;\n return String(time[sixTimePropertyName]).padStart(paddingLength, '0');\n })\n .join(TIME_FORMAT_SEPARATOR);\n};\n","@import 'src/global/component';\n\n:host {\n display: block;\n font-family: var(--six-font-family);\n}\n\n.timepicker {\n &_clear {\n display: inline-flex;\n align-items: center;\n font-size: inherit;\n color: var(--six-input-icon-color);\n border: none;\n background: none;\n padding: 0;\n transition: var(--six-transition-fast) color;\n cursor: pointer;\n\n &:hover {\n color: var(--six-input-icon-color-hover);\n }\n\n &:focus {\n outline: none;\n }\n\n &--right {\n right: 0;\n position: absolute;\n }\n\n &--left {\n right: 35px;\n position: absolute;\n }\n }\n\n &__container {\n position: relative;\n }\n\n &__popup {\n display: flex;\n justify-content: center;\n min-width: min-content;\n min-height: 145px;\n background-color: white;\n padding: 0.5em 0.5em 1.5em;\n box-shadow: 0 2px 4px -1px rgb(0 0 0 / 20%), 0 4px 5px 0 rgb(0 0 0 / 14%), 0 1px 10px 0 rgb(0 0 0 / 12%);\n user-select: none;\n position: absolute;\n z-index: var(--six-z-index-dropdown);\n right: 0;\n left: 0;\n\n &--is-up {\n bottom: 100%;\n }\n\n &--is-inline {\n position: initial;\n box-shadow: none;\n border: 1px solid var(--six-color-web-rock-400);\n }\n }\n\n &__separator {\n display: flex;\n align-items: center;\n }\n\n &__item {\n &--wide {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n }\n }\n}\n\n.input--empty .timepicker_clear {\n visibility: hidden;\n}\n\n.input--hide {\n display: none;\n}\n\n// Icon position\n.prefix {\n cursor: pointer;\n\n &--right {\n right: 0;\n display: inline-flex;\n position: absolute;\n font-size: inherit;\n color: var(--six-input-icon-color);\n border: none;\n background: none;\n margin-right: var(--six-input-spacing-medium);\n transition: var(--six-transition-fast) color;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport { ItemPickerType } from '../six-item-picker/types';\nimport { SixTimeFormat } from './six-time-format';\nimport { SixTime, SixTimePropertyName, TIME_FORMAT_CHAR } from './six-timepicker.types';\nimport {\n createTimeString,\n getCurrentTime,\n isValidTimeString,\n parseTimeString,\n TIME_FORMAT_SEPARATOR,\n} from '../../utils/time.util';\nimport { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';\nimport { SixItemPickerChangePayload } from '../six-item-picker/six-item-picker';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { isNil } from '../../utils/type-check';\n\ninterface SixTimepickerBasePayload {\n value: SixTime;\n valueAsString: string;\n}\n\nexport interface SixTimepickerChange extends SixTimepickerBasePayload {\n changedProperty?: string;\n}\n\nexport interface SixTimepickerInput extends SixTimepickerBasePayload {}\n\nexport interface SixTimepickerBlur extends SixTimepickerBasePayload {}\n\ninterface SixTimeUnitPickerParams {\n min?: number;\n max?: number;\n items?: string[];\n type?: ItemPickerType;\n class?: string;\n paddingLength?: number;\n propertyName: string;\n}\n\nconst TAG = `[SIX-TIMEPICKER]`;\nconst DEBOUNCE_TIMEPICKER_LISTENER = 'debounced-timepicker';\nconst MIN_POPUP_HEIGHT = 145;\n\n/**\n * @since 2.0.0\n * @status experimental\n *\n * @part input - The input field\n * @part container - The container of whole component\n * @part popup - The popup of the timepicker component\n *\n */\n@Component({\n tag: 'six-timepicker',\n styleUrl: 'six-timepicker.scss',\n shadow: true,\n})\nexport class SixTimepicker {\n private readonly eventListeners = new EventListeners();\n\n private popup: HTMLElement;\n\n private wrapper: HTMLElement;\n\n private inputElement: HTMLSixInputElement;\n\n @Element() host: HTMLSixTimepickerElement;\n\n /**\n * Define the time format. Valid formats are:\n *\n * HH:mm:ss\n * hh:mm:ss:aa\n * HH:mm:ss:ms\n * hh:mm:ss:ms:aa\n * HH:mm\n * hh:mm:aa\n * HH\n * hh:aa\n * mm\n * ss\n * ms\n *\n * where HH is the 24 hour format\n * and hh is the 12 hour format\n *\n * Please notice that when using the 12-hour-clock (hh)\n * you always need a period indicator (aa). So the time can be parsed as either am or pm\n * */\n @Prop() format: SixTimeFormat = SixTimeFormat.HHmmss;\n\n /**\n * Define the separator to be shown between the time unit pickers.\n * Please be aware that this property will modify the displayed separator only.\n * The separator for a timestring is always expected to be a colon (eg. '13:52:20')\n * */\n @Prop() separator = TIME_FORMAT_SEPARATOR;\n\n /**\n * The value of the timepicker provided as a string. The string mast match the provided format (or default format)\n */\n @Prop({ mutable: true }) value?: string | null;\n\n /** Indicates whether or not the timepicker dropdown is open on startup. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Indicates whether or not the timepicker should be shown as an inline (always open) component */\n @Prop({ reflect: true }) inline = false;\n\n /**\n * If `true` the user can only select a time via the timepicker but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * The enforced placement of the dropdown panel.\n */\n @Prop() placement: 'top' | 'bottom';\n\n /** Timepicker size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to make the input a required field. */\n @Prop({ reflect: true }) required: boolean;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string | null;\n\n /** Set to display the error text on blur and not when typing */\n @Prop() errorOnBlur = false;\n\n /** The input's error text. Alternatively, you can use the error-text slot. */\n @Prop() errorText = '';\n\n /** The input's label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Set the position of the icon */\n @Prop() iconPosition: 'left' | 'right' = 'left';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger faster switching between timeunits (e.g. hours).\n */\n @Prop() timeout = DEFAULT_DEBOUNCE_FAST;\n\n /**\n * Set the amount of time, in milliseconds, to wait between switching to next timeunit (e.g. next hour) when mouse button is held pressed.\n */\n @Prop() interval = DEFAULT_DEBOUNCE_INSANELY_FAST;\n\n /**\n * The defaultTime defines the default setting for the timepicker when you open the popup. Default time must match the provided format.\n */\n @Prop() defaultTime?: string | null;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `six-timepicker-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 /**\n * Emitted when the timepicker's value changes\n */\n @Event({ eventName: 'six-timepicker-change' }) sixChange: EventEmitter<SixTimepickerChange>;\n\n /**\n * Emitted when the timepicker's value changes, but debounced\n */\n @Event({ eventName: 'six-timepicker-change-debounced' })\n sixChangeDebounced: EventEmitter<SixTimepickerChange>;\n\n /**\n * Emitted when the clear button is activated.\n */\n @Event({ eventName: 'six-timepicker-clear' }) sixClear: EventEmitter<EmptyPayload>;\n\n @State() isPopupContentUp = false;\n\n @State() isDropDownContentUp = false;\n\n @Listen('resize', { target: 'window' })\n async resizeHandler() {\n this.calcIsPopupContentUp();\n this.moveOpenHoistedPopup();\n }\n\n @Listen('scroll', { target: 'window' })\n async scrollHandler() {\n this.calcIsPopupContentUp();\n this.moveOpenHoistedPopup();\n }\n\n @Watch('debounce')\n protected debounceChanged() {\n this.eventListeners.removeByIdentifier(DEBOUNCE_TIMEPICKER_LISTENER);\n this.eventListeners.add(\n this.host,\n 'six-timepicker-change',\n debounce(this.handleSixTimepickerChangeDebounced, this.debounce),\n DEBOUNCE_TIMEPICKER_LISTENER\n );\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged(newValue: string) {\n if (this.value !== newValue) {\n this.value = newValue;\n }\n this.setupInternalTime();\n this.sixChange.emit({\n value: this.internalValue,\n valueAsString: createTimeString(this.internalValue, this.format),\n });\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n @Method()\n async reportValidity() {\n return this.inputElement.reportValidity();\n }\n\n /** Checks for validity. */\n @Method()\n async checkValidity() {\n return this.inputElement.checkValidity();\n }\n\n /** Sets a custom validation message. If `message` is not empty, the field will be considered invalid. */\n @Method()\n async setCustomValidity(message: string) {\n await this.inputElement.setCustomValidity(message);\n }\n\n /** Resets the formcontrol */\n @Method()\n async reset() {\n this.internalValue = this.defaultValue;\n this.inputElement.value = createTimeString(this.internalValue, this.format);\n await this.inputElement.reset();\n }\n\n /*\n * Internally the six-timepicker uses a standardized representation of time, so we don't have a mess,\n * when switching between formats\n */\n @State()\n private internalValue: SixTime;\n\n private defaultValue: SixTime = null;\n\n componentWillLoad() {\n this.setupInternalTime();\n\n if (this.inline) {\n this.open = true;\n }\n\n if (this.open) {\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n }\n\n componentDidLoad() {\n this.eventListeners.add(\n this.host,\n 'six-timepicker-change',\n debounce(this.handleSixTimepickerChangeDebounced, this.debounce),\n DEBOUNCE_TIMEPICKER_LISTENER\n );\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private handleInputChange = (event: Event) => {\n event.stopPropagation();\n const inputValue = this.inputElement.value;\n\n if (!isValidTimeString(inputValue, this.format)) {\n this.sixChange.emit({\n value: {},\n valueAsString: '',\n });\n return;\n }\n\n this.internalValue = parseTimeString(inputValue, this.format);\n this.sixChange.emit({\n value: this.internalValue,\n valueAsString: createTimeString(this.internalValue, this.format),\n });\n };\n\n private calcIsPopupContentUp() {\n if (!this.inputElement || !this.wrapper) {\n return;\n }\n\n const inputBoundingRect = this.inputElement.getBoundingClientRect();\n const wrapperBoundingRect = this.wrapper.getBoundingClientRect();\n const minPopupHeight = Math.max(wrapperBoundingRect.height, MIN_POPUP_HEIGHT);\n\n const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;\n this.isPopupContentUp = moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + minPopupHeight;\n }\n\n /*\n * The position of the hoisted timepicker needs to be correctly calculated since the position changes to fixed.\n * Thus if the user scrolls or adjusts the screen size we need to recalculate the timepicker position.\n */\n private moveOpenHoistedPopup() {\n if (!this.hoist || !this.open) {\n return;\n }\n\n const popupBoundingClientRect = this.popup.getBoundingClientRect();\n const popupHeight = popupBoundingClientRect.height;\n const inputBoundingClientRect = this.inputElement.getBoundingClientRect();\n const inputTop = inputBoundingClientRect.top;\n const inputHeight = inputBoundingClientRect.height;\n\n this.calcIsPopupContentUp();\n\n if (this.isPopupContentUp) {\n this.popup.style.top = `${inputTop - popupHeight}px`;\n } else {\n this.popup.style.top = `${inputTop + inputHeight}px`;\n }\n }\n\n private handleSixTimepickerChangeDebounced = ({ detail }) => {\n this.sixChangeDebounced.emit(detail);\n };\n\n private handleChange = (event: CustomEvent<SixItemPickerChangePayload>, property: string) => {\n // stop propagation, since the timepicker should not expose the events of the underlying item-picker\n event.stopPropagation();\n\n // update the internal state\n this.internalValue[property] = event.detail;\n\n const timeString = createTimeString(this.internalValue, this.format);\n\n // fire timepicker's own event\n this.sixChange.emit({\n changedProperty: property,\n value: this.internalValue,\n valueAsString: timeString,\n });\n\n // update the input value\n this.value = timeString;\n };\n\n private getSixTimeUnitPicker(params: SixTimeUnitPickerParams) {\n return (\n <six-item-picker\n class={params.class}\n timeout={this.timeout}\n interval={this.interval}\n padded\n min={params.min}\n max={params.max}\n value={this.internalValue[params.propertyName]}\n items={params.items}\n type={params.type || ItemPickerType.NUMBER}\n padding-length={params.paddingLength}\n onSix-item-picker-change={(event) => this.handleChange(event, params.propertyName)}\n ></six-item-picker>\n );\n }\n\n private setupInternalTime() {\n if (this.is12HourClock() && !this.format.includes(TIME_FORMAT_CHAR.PERIOD)) {\n console.error(\n `${TAG} You provided a 12-hour-clock format but are missing the period (am or pm) in the time-format-string!`\n );\n }\n\n if (this.value === null || this.value === undefined) {\n this.internalValue = isNil(this.defaultTime)\n ? getCurrentTime(this.is24HourClock())\n : parseTimeString(this.defaultTime, this.format);\n } else {\n this.internalValue = parseTimeString(this.value, this.format);\n }\n\n this.defaultValue = this.internalValue;\n }\n\n private getHour24Picker() {\n if (!this.is24HourClock()) {\n return;\n }\n\n return this.getSixTimeUnitPicker({ min: 0, max: 23, propertyName: SixTimePropertyName.HOURS });\n }\n\n private is24HourClock() {\n return this.format.includes(TIME_FORMAT_CHAR.HOUR_24);\n }\n\n private getHour12Picker() {\n if (!this.is12HourClock()) {\n return;\n }\n\n return this.getSixTimeUnitPicker({ min: 0, max: 11, propertyName: SixTimePropertyName.HOURS });\n }\n\n private is12HourClock() {\n return this.format.includes(TIME_FORMAT_CHAR.HOUR_12);\n }\n\n private getAmPmPicker() {\n if (!this.is12HourClock()) {\n return;\n }\n\n const items = ['AM', 'PM'];\n return this.getSixTimeUnitPicker({\n items,\n type: ItemPickerType.CUSTOM,\n propertyName: SixTimePropertyName.PERIOD,\n });\n }\n\n private getMinutePicker() {\n if (!this.format.includes(TIME_FORMAT_CHAR.MINUTE)) {\n return;\n }\n\n return this.getSixTimeUnitPicker({ min: 0, max: 59, propertyName: SixTimePropertyName.MINUTES });\n }\n\n private getSecondsPicker() {\n if (!this.format.includes(TIME_FORMAT_CHAR.SECOND)) {\n return;\n }\n\n return this.getSixTimeUnitPicker({ min: 0, max: 59, propertyName: SixTimePropertyName.SECONDS });\n }\n\n private getMillisecondsPicker() {\n if (!this.format.includes(TIME_FORMAT_CHAR.MILLISECOND)) {\n return;\n }\n\n return this.getSixTimeUnitPicker({\n min: 0,\n max: 999,\n class: 'timepicker__item--wide',\n paddingLength: 3,\n propertyName: SixTimePropertyName.MILLISECONDS,\n });\n }\n\n private getSeparator() {\n return (\n <div class=\"timepicker__separator\">\n <span>{this.separator}</span>\n </div>\n );\n }\n\n private getContent() {\n const elementsInOrder = [\n this.getHour24Picker(),\n this.getHour12Picker(),\n this.getMinutePicker(),\n this.getSecondsPicker(),\n this.getMillisecondsPicker(),\n ];\n\n const visibleElements = elementsInOrder.filter((el) => el !== undefined);\n\n return visibleElements.map((el, idx) => {\n if (idx === visibleElements.length - 1) {\n return [el];\n }\n\n return [el, this.getSeparator()];\n });\n }\n\n private openPopup() {\n if (!this.open && !this.disabled) {\n this.open = true;\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n }\n\n private closePopup() {\n if (this.inline) {\n return;\n }\n\n this.open = false;\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private handleDocumentMouseDown = (event: MouseEvent) => {\n // Close when clicking outside of the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.host)) {\n this.closePopup();\n return;\n }\n };\n\n private handleClearClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.value = undefined;\n this.sixClear.emit();\n };\n\n private renderClearable() {\n return (\n this.clearable && (\n <button\n slot=\"suffix\"\n class={{\n timepicker_clear: true,\n 'timepicker_clear--right': this.iconPosition === 'left',\n 'timepicker_clear--left': this.iconPosition === 'right',\n }}\n type=\"button\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n >\n <six-icon size=\"small\">clear</six-icon>\n </button>\n )\n );\n }\n\n private renderCustomIcon() {\n const icon = hasSlot(this.host, 'custom-icon') ? (\n <slot name=\"custom-icon\"></slot>\n ) : (\n <six-icon size={this.size === 'large' ? 'medium' : this.size}>watch_later</six-icon>\n );\n\n return (\n <span\n slot=\"prefix\"\n part=\"icon\"\n class={{\n prefix: true,\n 'prefix--right': this.iconPosition === 'right',\n }}\n >\n {icon}\n </span>\n );\n }\n\n private calcIsDropDownContentUp() {\n if (!this.inputElement || !this.wrapper) {\n return;\n }\n\n const inputBoundingRect = this.inputElement.getBoundingClientRect();\n const wrapperBoundingRect = this.wrapper.getBoundingClientRect();\n const minPopupHeight = Math.max(wrapperBoundingRect.height, MIN_POPUP_HEIGHT);\n\n const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;\n this.isDropDownContentUp = moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + minPopupHeight;\n }\n\n /*\n * If the popup is hoisted we popup is hoisted its position will change to fix to not be clipped of by a containing container.\n * To render the popup correctly we render it normally, and then assign this screenposition to the fixed popup\n */\n private adjustPopupForHoisting() {\n if (!this.hoist) {\n return;\n }\n\n // execute after dropdown has been rendered to make sure the popup reference is correctly set\n setTimeout(() => {\n if (!this.popup) {\n return;\n }\n\n // take a snapshot of normally rendered popup\n const popupBoundingClientRect = this.popup.getBoundingClientRect();\n\n // apply screen position to fixed popup\n this.popup.style.position = 'fixed';\n ['top', 'left', 'width', 'height'].forEach((property) => {\n this.popup.style[property] = `${popupBoundingClientRect[property]}px`;\n });\n\n const inputBoundingClientRect = this.inputElement.getBoundingClientRect();\n const inputTop = inputBoundingClientRect.top;\n const popupTop = popupBoundingClientRect.top;\n\n this.calcIsDropDownContentUp();\n // check screen position to check whether the popup should be moved above or below the trigger element\n if (this.isDropDownContentUp && inputTop < popupTop) {\n // move popup above input field if timepicker is at bottom of screen\n this.popup.style.top = `${popupTop - popupBoundingClientRect.height - inputBoundingClientRect.height}px`;\n }\n }, 0);\n }\n\n render() {\n this.adjustPopupForHoisting();\n\n return (\n <div part=\"container\" ref={(el) => (this.wrapper = el)} class=\"timepicker__container\">\n <six-input\n ref={(el) => (this.inputElement = el)}\n part=\"input\"\n onClick={() => this.openPopup()}\n value={this.value}\n placeholder={this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n size={this.size}\n name={this.name}\n label={this.label}\n required={this.required}\n error-text={this.errorText}\n error-on-blur={this.errorOnBlur}\n class={{\n 'input--empty': !this.value,\n 'input--hide': this.inline,\n }}\n >\n {this.renderCustomIcon()}\n {this.renderClearable()}\n {hasSlot(this.host, 'error-text') ? (\n <span slot=\"error-text\">\n <slot name=\"error-text\" />\n </span>\n ) : null}\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n </six-input>\n {this.open && (\n <div\n ref={(el) => (this.popup = el)}\n part=\"popup\"\n class={{\n timepicker__popup: true,\n 'timepicker__popup--is-up': this.placement ? this.placement === 'top' : this.isPopupContentUp,\n 'timepicker__popup--is-inline': this.inline,\n }}\n >\n {...this.getContent()}\n {this.getAmPmPicker()}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
|