@six-group/ui-library 4.0.0-beta.1 → 4.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/event-listeners-fdfe838c.js +61 -0
- package/dist/cjs/event-listeners-fdfe838c.js.map +1 -0
- package/dist/cjs/{execution-control-46f388e0.js → execution-control-b4707294.js} +6 -3
- package/dist/cjs/execution-control-b4707294.js.map +1 -0
- package/dist/cjs/{focus-visible-0b352c74.js → focus-visible-ae2470dd.js} +3 -3
- package/dist/cjs/focus-visible-ae2470dd.js.map +1 -0
- package/dist/cjs/form-2df8c5bb.js +20 -0
- package/dist/cjs/form-2df8c5bb.js.map +1 -0
- package/dist/cjs/{form-control-2c17c573.js → form-control-d369af14.js} +10 -11
- package/dist/cjs/form-control-d369af14.js.map +1 -0
- package/dist/cjs/{index-2f6daa5b.js → index-900437fc.js} +186 -53
- package/dist/cjs/index-900437fc.js.map +1 -0
- package/dist/cjs/index.cjs.js +94 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +3 -12
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/{modal-48d42228.js → modal-d5f074c7.js} +4 -3
- package/dist/cjs/modal-d5f074c7.js.map +1 -0
- package/dist/cjs/{popover-f743f62b.js → popover-2df7e154.js} +39 -31
- package/dist/cjs/popover-2df7e154.js.map +1 -0
- package/dist/cjs/popup-f1d9910f.js +103 -0
- package/dist/cjs/popup-f1d9910f.js.map +1 -0
- package/dist/cjs/{scroll-76e6f5d7.js → scroll-03678de1.js} +1 -1
- package/dist/cjs/scroll-03678de1.js.map +1 -0
- package/dist/cjs/set-attributes_2.cjs.entry.js +4 -2
- package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
- package/dist/cjs/six-alert.cjs.entry.js +18 -23
- package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/six-avatar.cjs.entry.js +5 -8
- package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-badge.cjs.entry.js +2 -2
- package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/six-button.cjs.entry.js +36 -34
- package/dist/cjs/six-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-card.cjs.entry.js +1 -1
- package/dist/cjs/six-card.cjs.entry.js.map +1 -1
- package/dist/cjs/six-checkbox.cjs.entry.js +50 -85
- package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/six-datepicker.cjs.entry.js +154 -280
- package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-details.cjs.entry.js +48 -47
- package/dist/cjs/six-details.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dialog.cjs.entry.js +37 -41
- package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/six-drawer.cjs.entry.js +34 -38
- package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dropdown_2.cjs.entry.js +215 -196
- package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/six-error-page.cjs.entry.js +20 -22
- package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-list-item.cjs.entry.js +2 -2
- package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-list.cjs.entry.js +1 -1
- package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-upload.cjs.entry.js +21 -21
- package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/six-footer.cjs.entry.js +1 -1
- package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-group-label.cjs.entry.js +12 -11
- package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-header.cjs.entry.js +66 -44
- package/dist/cjs/six-header.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon-button.cjs.entry.js +4 -4
- package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon.cjs.entry.js +1 -1
- package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/six-input.cjs.entry.js +95 -128
- package/dist/cjs/six-input.cjs.entry.js.map +1 -1
- package/dist/cjs/six-item-picker.cjs.entry.js +62 -81
- package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
- package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
- package/dist/cjs/six-layout-grid.cjs.entry.js +5 -3
- package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/six-main-container.cjs.entry.js +1 -1
- package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
- package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-item.cjs.entry.js +9 -7
- package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
- package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-picto.cjs.entry.js +5 -2
- package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
- package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-progress-ring.cjs.entry.js +4 -4
- package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
- package/dist/cjs/six-radio.cjs.entry.js +63 -72
- package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/six-range.cjs.entry.js +107 -106
- package/dist/cjs/six-range.cjs.entry.js.map +1 -1
- package/dist/cjs/six-root.cjs.entry.js +2 -2
- package/dist/cjs/six-root.cjs.entry.js.map +1 -1
- package/dist/cjs/six-search-field.cjs.entry.js +11 -6
- package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/six-select.cjs.entry.js +190 -223
- package/dist/cjs/six-select.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js +10 -6
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
- package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar.cjs.entry.js +41 -20
- package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-spinner.cjs.entry.js +1 -1
- package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/six-switch.cjs.entry.js +58 -64
- package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab-group.cjs.entry.js +132 -114
- package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab.cjs.entry.js +5 -3
- package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tag.cjs.entry.js +6 -9
- package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/six-textarea.cjs.entry.js +82 -108
- package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tile.cjs.entry.js +14 -17
- package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
- package/dist/cjs/six-timepicker.cjs.entry.js +159 -215
- package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tooltip.cjs.entry.js +54 -57
- package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{slot-ad537f24.js → slot-6e6a400f.js} +11 -10
- package/dist/cjs/slot-6e6a400f.js.map +1 -0
- package/dist/cjs/{types-64878648.js → types-47199040.js} +1 -1
- package/dist/cjs/types-47199040.js.map +1 -0
- package/dist/cjs/ui-library.cjs.js +3 -6
- package/dist/cjs/ui-library.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +54 -55
- package/dist/collection/components/six-alert/six-alert.js +32 -30
- package/dist/collection/components/six-alert/six-alert.js.map +1 -1
- package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
- package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
- package/dist/collection/components/six-avatar/six-avatar.js +5 -8
- package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
- package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
- package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
- package/dist/collection/components/six-badge/six-badge.js +2 -2
- package/dist/collection/components/six-badge/six-badge.js.map +1 -1
- package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
- package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
- package/dist/collection/components/six-button/six-button.js +56 -47
- package/dist/collection/components/six-button/six-button.js.map +1 -1
- package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
- package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
- package/dist/collection/components/six-card/six-card.js +1 -1
- package/dist/collection/components/six-card/six-card.js.map +1 -1
- package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
- package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
- package/dist/collection/components/six-checkbox/six-checkbox.js +81 -194
- package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
- package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +79 -0
- package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
- package/dist/collection/components/six-datepicker/components/day-selection.js +3 -3
- package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
- package/dist/collection/components/six-datepicker/components/month-selection.js +6 -5
- package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
- package/dist/collection/components/six-datepicker/components/year-selection.js +11 -8
- package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
- package/dist/collection/components/six-datepicker/six-datepicker.js +219 -395
- package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
- package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
- package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
- package/dist/collection/components/six-details/six-details.js +65 -58
- package/dist/collection/components/six-details/six-details.js.map +1 -1
- package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
- package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
- package/dist/collection/components/six-dialog/six-dialog.js +55 -51
- package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
- package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
- package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
- package/dist/collection/components/six-drawer/six-drawer.js +52 -48
- package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
- package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
- package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
- package/dist/collection/components/six-dropdown/six-dropdown.js +215 -191
- package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
- package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
- package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
- package/dist/collection/components/six-error-page/six-error-page.js +26 -28
- package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
- package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
- package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
- package/dist/collection/components/six-file-list/six-file-list.js +1 -1
- package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
- package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
- package/dist/collection/components/six-file-list-item/six-file-list-item.js +8 -6
- package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
- package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
- package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
- package/dist/collection/components/six-file-upload/six-file-upload.js +37 -35
- package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
- package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
- package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
- package/dist/collection/components/six-footer/six-footer.js +1 -1
- package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
- package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
- package/dist/collection/components/six-group-label/six-group-label.js +15 -13
- package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
- package/dist/collection/components/six-group-label/test/six-group-label.spec.js +43 -0
- package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
- package/dist/collection/components/six-header/six-header.js +82 -52
- package/dist/collection/components/six-header/six-header.js.map +1 -1
- package/dist/collection/components/six-header/test/six-header.spec.js +133 -0
- package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
- package/dist/collection/components/six-icon/six-icon.js +1 -1
- package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
- package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
- package/dist/collection/components/six-icon-button/six-icon-button.js +10 -10
- package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
- package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
- package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
- package/dist/collection/components/six-input/six-input.css +1 -1
- package/dist/collection/components/six-input/six-input.js +189 -362
- package/dist/collection/components/six-input/six-input.js.map +1 -1
- package/dist/collection/components/six-input/test/six-input.spec.js +37 -0
- package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
- package/dist/collection/components/six-item-picker/six-item-picker.js +79 -94
- package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
- package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
- package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
- package/dist/collection/components/six-language-switcher/six-language-switcher.js +7 -5
- package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
- package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
- package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
- package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
- package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
- package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
- package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
- package/dist/collection/components/six-main-container/six-main-container.js +1 -1
- package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
- package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
- package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
- package/dist/collection/components/six-menu/six-menu.js +41 -31
- package/dist/collection/components/six-menu/six-menu.js.map +1 -1
- package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
- package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
- package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
- package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
- package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
- package/dist/collection/components/six-menu-item/six-menu-item.js +17 -11
- package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
- package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
- package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
- package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
- package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
- package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
- package/dist/collection/components/six-picto/six-picto.js +5 -2
- package/dist/collection/components/six-picto/six-picto.js.map +1 -1
- package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
- package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
- package/dist/collection/components/six-progress-bar/six-progress-bar.js +1 -1
- package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
- package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
- package/dist/collection/components/six-progress-ring/six-progress-ring.js +6 -5
- package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
- package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
- package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
- package/dist/collection/components/six-radio/six-radio.js +82 -148
- package/dist/collection/components/six-radio/six-radio.js.map +1 -1
- package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
- package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
- package/dist/collection/components/six-range/six-range.js +149 -190
- package/dist/collection/components/six-range/six-range.js.map +1 -1
- package/dist/collection/components/six-range/test/six-range.spec.js +32 -0
- package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
- package/dist/collection/components/six-root/six-root.js +9 -7
- package/dist/collection/components/six-root/six-root.js.map +1 -1
- package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
- package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
- package/dist/collection/components/six-search-field/six-search-field.js +15 -9
- package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
- package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
- package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
- package/dist/collection/components/six-select/six-select.css +6 -9
- package/dist/collection/components/six-select/six-select.js +235 -349
- package/dist/collection/components/six-select/six-select.js.map +1 -1
- package/dist/collection/components/six-select/test/six-select.spec.js +82 -0
- package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
- package/dist/collection/components/six-select/test/util.spec.js +81 -0
- package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
- package/dist/collection/components/six-select/util.js +52 -0
- package/dist/collection/components/six-select/util.js.map +1 -0
- package/dist/collection/components/six-sidebar/six-sidebar.js +66 -33
- package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
- package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
- package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
- package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +1 -1
- package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
- package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +14 -10
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
- package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
- package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
- package/dist/collection/components/six-spinner/six-spinner.js +1 -1
- package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
- package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
- package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +4 -3
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
- package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
- package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
- package/dist/collection/components/six-switch/six-switch.css +77 -0
- package/dist/collection/components/six-switch/six-switch.js +108 -139
- package/dist/collection/components/six-switch/six-switch.js.map +1 -1
- package/dist/collection/components/six-switch/test/six-switch.spec.js +69 -0
- package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
- package/dist/collection/components/six-tab/six-tab.js +13 -7
- package/dist/collection/components/six-tab/six-tab.js.map +1 -1
- package/dist/collection/components/six-tab/test/six-tab.spec.js +20 -0
- package/dist/collection/components/six-tab/test/six-tab.spec.js.map +1 -0
- package/dist/collection/components/six-tab-group/six-tab-group.js +140 -119
- package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
- package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js +45 -0
- package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js.map +1 -0
- package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
- package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
- package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
- package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
- package/dist/collection/components/six-tag/six-tag.css +6 -0
- package/dist/collection/components/six-tag/six-tag.js +7 -9
- package/dist/collection/components/six-tag/six-tag.js.map +1 -1
- package/dist/collection/components/six-tag/test/six-tag.spec.js +42 -0
- package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
- package/dist/collection/components/six-textarea/six-textarea.js +167 -282
- package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
- package/dist/collection/components/six-textarea/test/six-textarea.spec.js +117 -0
- package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
- package/dist/collection/components/six-tile/six-tile.js +26 -25
- package/dist/collection/components/six-tile/six-tile.js.map +1 -1
- package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
- package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
- package/dist/collection/components/six-timepicker/six-timepicker.js +169 -264
- package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
- package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
- package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
- package/dist/collection/components/six-tooltip/six-tooltip.js +69 -66
- package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
- package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
- package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
- package/dist/collection/functional-components/form-control/form-control.js +9 -10
- package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/testUtil/delay.js.map +1 -1
- package/dist/collection/utils/date-util.js +25 -16
- package/dist/collection/utils/date-util.js.map +1 -1
- package/dist/collection/utils/date-util.spec.js +995 -0
- package/dist/collection/utils/date-util.spec.js.map +1 -0
- package/dist/collection/utils/error-messages.js +91 -0
- package/dist/collection/utils/error-messages.js.map +1 -0
- package/dist/collection/utils/event-listeners.js +22 -6
- package/dist/collection/utils/event-listeners.js.map +1 -1
- package/dist/collection/utils/execution-control.js +5 -4
- package/dist/collection/utils/execution-control.js.map +1 -1
- package/dist/collection/utils/focus-visible.js +2 -2
- package/dist/collection/utils/focus-visible.js.map +1 -1
- package/dist/collection/utils/form.js +15 -0
- package/dist/collection/utils/form.js.map +1 -0
- package/dist/collection/utils/modal.js +3 -2
- package/dist/collection/utils/modal.js.map +1 -1
- package/dist/collection/utils/popover.js +33 -19
- package/dist/collection/utils/popover.js.map +1 -1
- package/dist/collection/utils/popup.js +95 -0
- package/dist/collection/utils/popup.js.map +1 -0
- package/dist/collection/utils/scroll.js +1 -1
- package/dist/collection/utils/scroll.spec.js +122 -0
- package/dist/collection/utils/scroll.spec.js.map +1 -0
- package/dist/collection/utils/slot.js +9 -24
- package/dist/collection/utils/slot.js.map +1 -1
- package/dist/collection/utils/tabbable.js +6 -6
- package/dist/collection/utils/tabbable.js.map +1 -1
- package/dist/collection/utils/time.util.js +48 -34
- package/dist/collection/utils/time.util.js.map +1 -1
- package/dist/collection/utils/time.util.spec.js +368 -0
- package/dist/collection/utils/time.util.spec.js.map +1 -0
- package/dist/collection/utils/type-check.js +0 -1
- package/dist/collection/utils/type-check.js.map +1 -1
- package/dist/collection/wrappers/set-attributes/set-attributes.js +4 -2
- package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
- package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
- package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
- package/dist/components/event-listeners.js +22 -6
- package/dist/components/event-listeners.js.map +1 -1
- package/dist/components/execution-control.js +5 -2
- package/dist/components/execution-control.js.map +1 -1
- package/dist/components/focus-visible.js +2 -2
- package/dist/components/focus-visible.js.map +1 -1
- package/dist/components/form-control.js +8 -9
- package/dist/components/form-control.js.map +1 -1
- package/dist/components/form.js +18 -0
- package/dist/components/form.js.map +1 -0
- package/dist/components/index.js +92 -3
- package/dist/components/index.js.map +1 -1
- package/dist/components/modal.js +3 -2
- package/dist/components/modal.js.map +1 -1
- package/dist/components/popover.js +38 -30
- package/dist/components/popover.js.map +1 -1
- package/dist/components/scroll.js.map +1 -1
- package/dist/components/set-attributes2.js +3 -1
- package/dist/components/set-attributes2.js.map +1 -1
- package/dist/components/six-alert.js +17 -22
- package/dist/components/six-alert.js.map +1 -1
- package/dist/components/six-avatar.js +4 -7
- package/dist/components/six-avatar.js.map +1 -1
- package/dist/components/six-badge.js +1 -1
- package/dist/components/six-badge.js.map +1 -1
- package/dist/components/six-button.js +34 -32
- package/dist/components/six-button.js.map +1 -1
- package/dist/components/six-card.js.map +1 -1
- package/dist/components/six-checkbox.js +48 -89
- package/dist/components/six-checkbox.js.map +1 -1
- package/dist/components/six-datepicker.js +153 -282
- package/dist/components/six-datepicker.js.map +1 -1
- package/dist/components/six-details2.js +46 -45
- package/dist/components/six-details2.js.map +1 -1
- package/dist/components/six-dialog.js +33 -37
- package/dist/components/six-dialog.js.map +1 -1
- package/dist/components/six-drawer.js +30 -34
- package/dist/components/six-drawer.js.map +1 -1
- package/dist/components/six-dropdown2.js +185 -173
- package/dist/components/six-dropdown2.js.map +1 -1
- package/dist/components/six-error-page.js +19 -21
- package/dist/components/six-error-page.js.map +1 -1
- package/dist/components/six-file-list-item.js +1 -1
- package/dist/components/six-file-list-item.js.map +1 -1
- package/dist/components/six-file-list.js.map +1 -1
- package/dist/components/six-file-upload.js +20 -20
- package/dist/components/six-file-upload.js.map +1 -1
- package/dist/components/six-footer.js.map +1 -1
- package/dist/components/six-group-label.js +10 -9
- package/dist/components/six-group-label.js.map +1 -1
- package/dist/components/six-header.js +64 -42
- package/dist/components/six-header.js.map +1 -1
- package/dist/components/six-icon-button2.js +2 -2
- package/dist/components/six-icon-button2.js.map +1 -1
- package/dist/components/six-icon2.js.map +1 -1
- package/dist/components/six-input2.js +96 -138
- package/dist/components/six-input2.js.map +1 -1
- package/dist/components/six-item-picker2.js +58 -77
- package/dist/components/six-item-picker2.js.map +1 -1
- package/dist/components/six-language-switcher.js +1 -1
- package/dist/components/six-language-switcher.js.map +1 -1
- package/dist/components/six-layout-grid.js +5 -3
- package/dist/components/six-layout-grid.js.map +1 -1
- package/dist/components/six-main-container.js.map +1 -1
- package/dist/components/six-menu-divider.js.map +1 -1
- package/dist/components/six-menu-item2.js +7 -5
- package/dist/components/six-menu-item2.js.map +1 -1
- package/dist/components/six-menu-label.js.map +1 -1
- package/dist/components/six-menu2.js +25 -18
- package/dist/components/six-menu2.js.map +1 -1
- package/dist/components/six-picto2.js +4 -1
- package/dist/components/six-picto2.js.map +1 -1
- package/dist/components/six-progress-bar.js.map +1 -1
- package/dist/components/six-progress-ring.js +3 -3
- package/dist/components/six-progress-ring.js.map +1 -1
- package/dist/components/six-radio.js +65 -78
- package/dist/components/six-radio.js.map +1 -1
- package/dist/components/six-range.js +108 -111
- package/dist/components/six-range.js.map +1 -1
- package/dist/components/six-root.js +1 -1
- package/dist/components/six-root.js.map +1 -1
- package/dist/components/six-search-field.js +8 -3
- package/dist/components/six-search-field.js.map +1 -1
- package/dist/components/six-select.js +190 -229
- package/dist/components/six-select.js.map +1 -1
- package/dist/components/six-sidebar-item-group.js +8 -4
- package/dist/components/six-sidebar-item-group.js.map +1 -1
- package/dist/components/six-sidebar-item.js.map +1 -1
- package/dist/components/six-sidebar.js +39 -18
- package/dist/components/six-sidebar.js.map +1 -1
- package/dist/components/six-spinner2.js.map +1 -1
- package/dist/components/six-stage-indicator2.js.map +1 -1
- package/dist/components/six-switch.js +61 -69
- package/dist/components/six-switch.js.map +1 -1
- package/dist/components/six-tab-group.js +129 -111
- package/dist/components/six-tab-group.js.map +1 -1
- package/dist/components/six-tab-panel.js +1 -1
- package/dist/components/six-tab-panel.js.map +1 -1
- package/dist/components/six-tab.js +4 -2
- package/dist/components/six-tab.js.map +1 -1
- package/dist/components/six-tag2.js +5 -8
- package/dist/components/six-tag2.js.map +1 -1
- package/dist/components/six-textarea.js +83 -115
- package/dist/components/six-textarea.js.map +1 -1
- package/dist/components/six-tile.js +14 -17
- package/dist/components/six-tile.js.map +1 -1
- package/dist/components/six-timepicker.js +1 -1
- package/dist/components/six-timepicker2.js +247 -258
- package/dist/components/six-timepicker2.js.map +1 -1
- package/dist/components/six-tooltip2.js +52 -55
- package/dist/components/six-tooltip2.js.map +1 -1
- package/dist/components/slot.js +10 -9
- package/dist/components/slot.js.map +1 -1
- package/dist/components.d.ts +361 -88
- package/dist/components.json +4265 -1020
- package/dist/esm/event-listeners-f6e5b0ab.js +59 -0
- package/dist/esm/event-listeners-f6e5b0ab.js.map +1 -0
- package/dist/esm/{execution-control-1a60d709.js → execution-control-e0892a05.js} +6 -3
- package/dist/esm/execution-control-e0892a05.js.map +1 -0
- package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fc6ac671.js} +3 -3
- package/dist/esm/focus-visible-fc6ac671.js.map +1 -0
- package/dist/esm/form-81252534.js +18 -0
- package/dist/esm/form-81252534.js.map +1 -0
- package/dist/esm/{form-control-3b440ea1.js → form-control-32cb533f.js} +10 -11
- package/dist/esm/form-control-32cb533f.js.map +1 -0
- package/dist/esm/{index-5c0f6628.js → index-8a74f992.js} +186 -53
- package/dist/esm/index-8a74f992.js.map +1 -0
- package/dist/esm/index.js +91 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +4 -13
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/{modal-5ebdc320.js → modal-7d32e141.js} +4 -3
- package/dist/esm/modal-7d32e141.js.map +1 -0
- package/dist/esm/{popover-bd2c2fca.js → popover-136d1f73.js} +39 -31
- package/dist/esm/popover-136d1f73.js.map +1 -0
- package/dist/esm/popup-7f89a001.js +98 -0
- package/dist/esm/popup-7f89a001.js.map +1 -0
- package/dist/esm/{scroll-180b53fd.js → scroll-3fb087a2.js} +1 -1
- package/dist/esm/scroll-3fb087a2.js.map +1 -0
- package/dist/esm/set-attributes_2.entry.js +4 -2
- package/dist/esm/set-attributes_2.entry.js.map +1 -1
- package/dist/esm/six-alert.entry.js +18 -23
- package/dist/esm/six-alert.entry.js.map +1 -1
- package/dist/esm/six-avatar.entry.js +5 -8
- package/dist/esm/six-avatar.entry.js.map +1 -1
- package/dist/esm/six-badge.entry.js +2 -2
- package/dist/esm/six-badge.entry.js.map +1 -1
- package/dist/esm/six-button.entry.js +36 -34
- package/dist/esm/six-button.entry.js.map +1 -1
- package/dist/esm/six-card.entry.js +1 -1
- package/dist/esm/six-card.entry.js.map +1 -1
- package/dist/esm/six-checkbox.entry.js +50 -85
- package/dist/esm/six-checkbox.entry.js.map +1 -1
- package/dist/esm/six-datepicker.entry.js +152 -278
- package/dist/esm/six-datepicker.entry.js.map +1 -1
- package/dist/esm/six-details.entry.js +48 -47
- package/dist/esm/six-details.entry.js.map +1 -1
- package/dist/esm/six-dialog.entry.js +37 -41
- package/dist/esm/six-dialog.entry.js.map +1 -1
- package/dist/esm/six-drawer.entry.js +34 -38
- package/dist/esm/six-drawer.entry.js.map +1 -1
- package/dist/esm/six-dropdown_2.entry.js +215 -196
- package/dist/esm/six-dropdown_2.entry.js.map +1 -1
- package/dist/esm/six-error-page.entry.js +20 -22
- package/dist/esm/six-error-page.entry.js.map +1 -1
- package/dist/esm/six-file-list-item.entry.js +2 -2
- package/dist/esm/six-file-list-item.entry.js.map +1 -1
- package/dist/esm/six-file-list.entry.js +1 -1
- package/dist/esm/six-file-list.entry.js.map +1 -1
- package/dist/esm/six-file-upload.entry.js +21 -21
- package/dist/esm/six-file-upload.entry.js.map +1 -1
- package/dist/esm/six-footer.entry.js +1 -1
- package/dist/esm/six-footer.entry.js.map +1 -1
- package/dist/esm/six-group-label.entry.js +12 -11
- package/dist/esm/six-group-label.entry.js.map +1 -1
- package/dist/esm/six-header.entry.js +66 -44
- package/dist/esm/six-header.entry.js.map +1 -1
- package/dist/esm/six-icon-button.entry.js +4 -4
- package/dist/esm/six-icon-button.entry.js.map +1 -1
- package/dist/esm/six-icon.entry.js +1 -1
- package/dist/esm/six-icon.entry.js.map +1 -1
- package/dist/esm/six-input.entry.js +95 -128
- package/dist/esm/six-input.entry.js.map +1 -1
- package/dist/esm/six-item-picker.entry.js +62 -81
- package/dist/esm/six-item-picker.entry.js.map +1 -1
- package/dist/esm/six-language-switcher.entry.js +2 -2
- package/dist/esm/six-language-switcher.entry.js.map +1 -1
- package/dist/esm/six-layout-grid.entry.js +5 -3
- package/dist/esm/six-layout-grid.entry.js.map +1 -1
- package/dist/esm/six-main-container.entry.js +1 -1
- package/dist/esm/six-main-container.entry.js.map +1 -1
- package/dist/esm/six-menu-divider.entry.js +1 -1
- package/dist/esm/six-menu-divider.entry.js.map +1 -1
- package/dist/esm/six-menu-item.entry.js +9 -7
- package/dist/esm/six-menu-item.entry.js.map +1 -1
- package/dist/esm/six-menu-label.entry.js +1 -1
- package/dist/esm/six-menu-label.entry.js.map +1 -1
- package/dist/esm/six-picto.entry.js +5 -2
- package/dist/esm/six-picto.entry.js.map +1 -1
- package/dist/esm/six-progress-bar.entry.js +1 -1
- package/dist/esm/six-progress-bar.entry.js.map +1 -1
- package/dist/esm/six-progress-ring.entry.js +4 -4
- package/dist/esm/six-progress-ring.entry.js.map +1 -1
- package/dist/esm/six-radio.entry.js +63 -72
- package/dist/esm/six-radio.entry.js.map +1 -1
- package/dist/esm/six-range.entry.js +107 -106
- package/dist/esm/six-range.entry.js.map +1 -1
- package/dist/esm/six-root.entry.js +2 -2
- package/dist/esm/six-root.entry.js.map +1 -1
- package/dist/esm/six-search-field.entry.js +11 -6
- package/dist/esm/six-search-field.entry.js.map +1 -1
- package/dist/esm/six-select.entry.js +190 -223
- package/dist/esm/six-select.entry.js.map +1 -1
- package/dist/esm/six-sidebar-item-group.entry.js +10 -6
- package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
- package/dist/esm/six-sidebar-item.entry.js +1 -1
- package/dist/esm/six-sidebar-item.entry.js.map +1 -1
- package/dist/esm/six-sidebar.entry.js +41 -20
- package/dist/esm/six-sidebar.entry.js.map +1 -1
- package/dist/esm/six-spinner.entry.js +1 -1
- package/dist/esm/six-spinner.entry.js.map +1 -1
- package/dist/esm/six-switch.entry.js +58 -64
- package/dist/esm/six-switch.entry.js.map +1 -1
- package/dist/esm/six-tab-group.entry.js +132 -114
- package/dist/esm/six-tab-group.entry.js.map +1 -1
- package/dist/esm/six-tab-panel.entry.js +2 -2
- package/dist/esm/six-tab-panel.entry.js.map +1 -1
- package/dist/esm/six-tab.entry.js +5 -3
- package/dist/esm/six-tab.entry.js.map +1 -1
- package/dist/esm/six-tag.entry.js +6 -9
- package/dist/esm/six-tag.entry.js.map +1 -1
- package/dist/esm/six-textarea.entry.js +82 -108
- package/dist/esm/six-textarea.entry.js.map +1 -1
- package/dist/esm/six-tile.entry.js +14 -17
- package/dist/esm/six-tile.entry.js.map +1 -1
- package/dist/esm/six-timepicker.entry.js +159 -215
- package/dist/esm/six-timepicker.entry.js.map +1 -1
- package/dist/esm/six-tooltip.entry.js +54 -57
- package/dist/esm/six-tooltip.entry.js.map +1 -1
- package/dist/esm/{slot-6f3984c7.js → slot-ad36df3a.js} +11 -10
- package/dist/esm/slot-ad36df3a.js.map +1 -0
- package/dist/esm/{types-4b10b413.js → types-59b455aa.js} +1 -1
- package/dist/esm/types-59b455aa.js.map +1 -0
- package/dist/esm/ui-library.js +4 -7
- package/dist/esm/ui-library.js.map +1 -1
- package/dist/types/components/six-alert/six-alert.d.ts +5 -7
- package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
- package/dist/types/components/six-badge/six-badge.d.ts +0 -1
- package/dist/types/components/six-button/six-button.d.ts +8 -9
- package/dist/types/components/six-checkbox/six-checkbox.d.ts +23 -35
- package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
- package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
- package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
- package/dist/types/components/six-datepicker/six-datepicker.d.ts +41 -52
- package/dist/types/components/six-details/six-details.d.ts +12 -12
- package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
- package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
- package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
- package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
- package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
- package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
- package/dist/types/components/six-group-label/six-group-label.d.ts +5 -5
- package/dist/types/components/six-header/six-header.d.ts +16 -27
- package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
- package/dist/types/components/six-input/six-input.d.ts +32 -67
- package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
- package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
- package/dist/types/components/six-menu/six-menu.d.ts +10 -11
- package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
- package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
- package/dist/types/components/six-radio/six-radio.d.ts +14 -25
- package/dist/types/components/six-range/six-range.d.ts +27 -38
- package/dist/types/components/six-root/six-root.d.ts +3 -3
- package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
- package/dist/types/components/six-select/six-select.d.ts +41 -58
- package/dist/types/components/six-select/util.d.ts +7 -0
- package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
- package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
- package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
- package/dist/types/components/six-switch/six-switch.d.ts +18 -21
- package/dist/types/components/six-tab/six-tab.d.ts +3 -3
- package/dist/types/components/six-tab-group/six-tab-group.d.ts +20 -21
- package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
- package/dist/types/components/six-tag/six-tag.d.ts +1 -3
- package/dist/types/components/six-textarea/six-textarea.d.ts +27 -55
- package/dist/types/components/six-tile/six-tile.d.ts +2 -3
- package/dist/types/components/six-timepicker/six-timepicker.d.ts +26 -43
- package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
- package/dist/types/components.d.ts +209 -452
- package/dist/types/functional-components/form-control/form-control.d.ts +5 -6
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +15 -2
- package/dist/types/testUtil/delay.d.ts +1 -1
- package/dist/types/types.d.ts +2 -0
- package/dist/types/utils/date-util.d.ts +18 -10
- package/dist/types/utils/error-messages.d.ts +42 -0
- package/dist/types/utils/event-listeners.d.ts +4 -3
- package/dist/types/utils/execution-control.d.ts +1 -3
- package/dist/types/utils/form.d.ts +1 -0
- package/dist/types/utils/modal.d.ts +2 -2
- package/dist/types/utils/popover.d.ts +5 -5
- package/dist/types/utils/popup.d.ts +9 -0
- package/dist/types/utils/slot.d.ts +2 -7
- package/dist/types/utils/tabbable.d.ts +1 -1
- package/dist/types/utils/time.util.d.ts +18 -9
- package/dist/types/utils/type-check.d.ts +3 -4
- package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
- package/dist/ui-library/index.esm.js +1 -1
- package/dist/ui-library/index.esm.js.map +1 -1
- package/dist/ui-library/p-02981b91.entry.js +2 -0
- package/dist/ui-library/p-02981b91.entry.js.map +1 -0
- package/dist/ui-library/{p-25a3bf57.js → p-0f510624.js} +1 -1
- package/dist/ui-library/p-0f510624.js.map +1 -0
- package/dist/ui-library/p-0fdb185d.js +2 -0
- package/dist/ui-library/p-0fdb185d.js.map +1 -0
- package/dist/ui-library/{p-611e1978.entry.js → p-1256cc0a.entry.js} +2 -2
- package/dist/ui-library/p-1256cc0a.entry.js.map +1 -0
- package/dist/ui-library/{p-19364560.entry.js → p-13b43e04.entry.js} +2 -2
- package/dist/ui-library/p-13b43e04.entry.js.map +1 -0
- package/dist/ui-library/p-15559d38.js +2 -0
- package/dist/ui-library/p-15559d38.js.map +1 -0
- package/dist/ui-library/p-19ed7a4c.entry.js +2 -0
- package/dist/ui-library/p-19ed7a4c.entry.js.map +1 -0
- package/dist/ui-library/{p-97323ad7.entry.js → p-1d5ee1a0.entry.js} +2 -2
- package/dist/ui-library/p-1d5ee1a0.entry.js.map +1 -0
- package/dist/ui-library/{p-eb8f05a9.js → p-1f18768a.js} +1 -1
- package/dist/ui-library/p-1f18768a.js.map +1 -0
- package/dist/ui-library/p-21b3b321.entry.js +2 -0
- package/dist/ui-library/p-21b3b321.entry.js.map +1 -0
- package/dist/ui-library/p-264d4ea8.entry.js +2 -0
- package/dist/ui-library/p-264d4ea8.entry.js.map +1 -0
- package/dist/ui-library/{p-c30f9e0b.entry.js → p-29ac3d7d.entry.js} +2 -2
- package/dist/ui-library/p-29ac3d7d.entry.js.map +1 -0
- package/dist/ui-library/p-314b2096.entry.js +2 -0
- package/dist/ui-library/p-314b2096.entry.js.map +1 -0
- package/dist/ui-library/p-330a4988.entry.js +2 -0
- package/dist/ui-library/p-330a4988.entry.js.map +1 -0
- package/dist/ui-library/{p-21859bca.entry.js → p-346f9557.entry.js} +2 -2
- package/dist/ui-library/p-346f9557.entry.js.map +1 -0
- package/dist/ui-library/p-37557787.entry.js +2 -0
- package/dist/ui-library/p-37557787.entry.js.map +1 -0
- package/dist/ui-library/{p-baa03951.entry.js → p-3cc5addb.entry.js} +2 -2
- package/dist/ui-library/p-3cc5addb.entry.js.map +1 -0
- package/dist/ui-library/p-3d9de119.entry.js +2 -0
- package/dist/ui-library/p-3d9de119.entry.js.map +1 -0
- package/dist/ui-library/p-411ed539.entry.js +2 -0
- package/dist/ui-library/p-411ed539.entry.js.map +1 -0
- package/dist/ui-library/p-4705a51e.entry.js +2 -0
- package/dist/ui-library/p-4705a51e.entry.js.map +1 -0
- package/dist/ui-library/p-4abed9df.entry.js +2 -0
- package/dist/ui-library/p-4abed9df.entry.js.map +1 -0
- package/dist/ui-library/p-5654e4c7.js +2 -0
- package/dist/ui-library/p-5654e4c7.js.map +1 -0
- package/dist/ui-library/p-59210f0b.js +2 -0
- package/dist/ui-library/p-59210f0b.js.map +1 -0
- package/dist/ui-library/{p-19b50b5a.entry.js → p-5af44076.entry.js} +2 -2
- package/dist/ui-library/p-5af44076.entry.js.map +1 -0
- package/dist/ui-library/p-5d6b7353.entry.js +2 -0
- package/dist/ui-library/p-5d6b7353.entry.js.map +1 -0
- package/dist/ui-library/{p-097cced4.entry.js → p-613283a7.entry.js} +2 -2
- package/dist/ui-library/p-613283a7.entry.js.map +1 -0
- package/dist/ui-library/p-6153045b.js +3 -0
- package/dist/ui-library/p-6153045b.js.map +1 -0
- package/dist/ui-library/{p-e19a6c95.entry.js → p-6197fe2f.entry.js} +2 -2
- package/dist/ui-library/p-6197fe2f.entry.js.map +1 -0
- package/dist/ui-library/p-698bb2c8.js +2 -0
- package/dist/ui-library/p-698bb2c8.js.map +1 -0
- package/dist/ui-library/{p-d5633a29.entry.js → p-72254eef.entry.js} +2 -2
- package/dist/ui-library/p-72254eef.entry.js.map +1 -0
- package/dist/ui-library/p-724875b0.entry.js +2 -0
- package/dist/ui-library/p-724875b0.entry.js.map +1 -0
- package/dist/ui-library/{p-dd3c76f1.entry.js → p-7afafb9d.entry.js} +2 -2
- package/dist/ui-library/p-7afafb9d.entry.js.map +1 -0
- package/dist/ui-library/p-7d95def3.js +2 -0
- package/dist/ui-library/p-7d95def3.js.map +1 -0
- package/dist/ui-library/{p-63703ba3.entry.js → p-7e3ad38a.entry.js} +2 -2
- package/dist/ui-library/p-7e3ad38a.entry.js.map +1 -0
- package/dist/ui-library/p-83864cfe.entry.js +2 -0
- package/dist/ui-library/p-83864cfe.entry.js.map +1 -0
- package/dist/ui-library/{p-9328e5bc.entry.js → p-878226a0.entry.js} +2 -2
- package/dist/ui-library/p-878226a0.entry.js.map +1 -0
- package/dist/ui-library/p-8c0971e0.js +2 -0
- package/dist/ui-library/p-8c0971e0.js.map +1 -0
- package/dist/ui-library/p-91b51800.entry.js +2 -0
- package/dist/ui-library/p-91b51800.entry.js.map +1 -0
- package/dist/ui-library/p-95fbdd0b.entry.js +2 -0
- package/dist/ui-library/p-95fbdd0b.entry.js.map +1 -0
- package/dist/ui-library/p-99e24daf.entry.js +2 -0
- package/dist/ui-library/p-99e24daf.entry.js.map +1 -0
- package/dist/ui-library/{p-4f8394d7.js → p-9ace84c7.js} +2 -2
- package/dist/ui-library/p-9ace84c7.js.map +1 -0
- package/dist/ui-library/p-9b354f5d.entry.js +2 -0
- package/dist/ui-library/p-9b354f5d.entry.js.map +1 -0
- package/dist/ui-library/{p-c349d1d4.entry.js → p-9c1be3fb.entry.js} +2 -2
- package/dist/ui-library/p-9c1be3fb.entry.js.map +1 -0
- package/dist/ui-library/p-9f0b43f9.entry.js +2 -0
- package/dist/ui-library/p-9f0b43f9.entry.js.map +1 -0
- package/dist/ui-library/{p-af793d04.entry.js → p-a0f290d0.entry.js} +2 -2
- package/dist/ui-library/p-a0f290d0.entry.js.map +1 -0
- package/dist/ui-library/p-a55c7258.entry.js +2 -0
- package/dist/ui-library/p-a55c7258.entry.js.map +1 -0
- package/dist/ui-library/{p-6d75f216.entry.js → p-a6a9ee96.entry.js} +2 -2
- package/dist/ui-library/p-a6a9ee96.entry.js.map +1 -0
- package/dist/ui-library/{p-73597d13.entry.js → p-ac099e6b.entry.js} +2 -2
- package/dist/ui-library/p-ac099e6b.entry.js.map +1 -0
- package/dist/ui-library/p-ae601a0f.entry.js +2 -0
- package/dist/ui-library/p-ae601a0f.entry.js.map +1 -0
- package/dist/ui-library/p-b351f889.entry.js +2 -0
- package/dist/ui-library/p-b351f889.entry.js.map +1 -0
- package/dist/ui-library/{p-6433c0da.entry.js → p-b550a258.entry.js} +2 -2
- package/dist/ui-library/p-b550a258.entry.js.map +1 -0
- package/dist/ui-library/{p-90dc6af4.entry.js → p-bf87464b.entry.js} +2 -2
- package/dist/ui-library/p-bf87464b.entry.js.map +1 -0
- package/dist/ui-library/p-c03ebf7d.entry.js +2 -0
- package/dist/ui-library/p-c03ebf7d.entry.js.map +1 -0
- package/dist/ui-library/{p-a1d4f6cf.entry.js → p-cd67da3d.entry.js} +2 -2
- package/dist/ui-library/p-cd67da3d.entry.js.map +1 -0
- package/dist/ui-library/p-cdaed936.entry.js +2 -0
- package/dist/ui-library/p-cdaed936.entry.js.map +1 -0
- package/dist/ui-library/{p-8a970a40.entry.js → p-d367f4f9.entry.js} +2 -2
- package/dist/ui-library/p-d367f4f9.entry.js.map +1 -0
- package/dist/ui-library/p-d42c2025.js +2 -0
- package/dist/ui-library/p-d42c2025.js.map +1 -0
- package/dist/ui-library/{p-820c23f0.entry.js → p-dfed33c5.entry.js} +2 -2
- package/dist/ui-library/p-dfed33c5.entry.js.map +1 -0
- package/dist/ui-library/p-ed381ad9.entry.js +2 -0
- package/dist/ui-library/p-ed381ad9.entry.js.map +1 -0
- package/dist/ui-library/p-ee8342e1.entry.js +2 -0
- package/dist/ui-library/p-ee8342e1.entry.js.map +1 -0
- package/dist/ui-library/p-ee950ce2.entry.js +2 -0
- package/dist/ui-library/p-ee950ce2.entry.js.map +1 -0
- package/dist/ui-library/{p-7e0cc4ae.entry.js → p-ff90ffd1.entry.js} +2 -2
- package/dist/ui-library/p-ff90ffd1.entry.js.map +1 -0
- package/dist/ui-library/ui-library.esm.js +1 -1
- package/dist/ui-library/ui-library.esm.js.map +1 -1
- package/loader/index.d.ts +1 -1
- package/package.json +19 -20
- package/dist/cjs/event-listeners-74715e62.js +0 -45
- package/dist/cjs/event-listeners-74715e62.js.map +0 -1
- package/dist/cjs/execution-control-46f388e0.js.map +0 -1
- package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
- package/dist/cjs/form-control-2c17c573.js.map +0 -1
- package/dist/cjs/index-2f6daa5b.js.map +0 -1
- package/dist/cjs/modal-48d42228.js.map +0 -1
- package/dist/cjs/popover-f743f62b.js.map +0 -1
- package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
- package/dist/cjs/six-form.cjs.entry.js +0 -231
- package/dist/cjs/six-form.cjs.entry.js.map +0 -1
- package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
- package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
- package/dist/cjs/slot-ad537f24.js.map +0 -1
- package/dist/cjs/types-64878648.js.map +0 -1
- package/dist/collection/components/six-form/six-form.css +0 -11
- package/dist/collection/components/six-form/six-form.js +0 -419
- package/dist/collection/components/six-form/six-form.js.map +0 -1
- package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
- package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
- package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
- package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
- package/dist/collection/utils/as-array.js +0 -2
- package/dist/collection/utils/as-array.js.map +0 -1
- package/dist/collection/utils/matchers.js +0 -3
- package/dist/collection/utils/matchers.js.map +0 -1
- package/dist/collection/utils/testing.js +0 -39
- package/dist/collection/utils/testing.js.map +0 -1
- package/dist/components/six-form.d.ts +0 -11
- package/dist/components/six-form.js +0 -252
- package/dist/components/six-form.js.map +0 -1
- package/dist/esm/event-listeners-570a24ea.js +0 -43
- package/dist/esm/event-listeners-570a24ea.js.map +0 -1
- package/dist/esm/execution-control-1a60d709.js.map +0 -1
- package/dist/esm/focus-visible-97933ea9.js.map +0 -1
- package/dist/esm/form-control-3b440ea1.js.map +0 -1
- package/dist/esm/index-5c0f6628.js.map +0 -1
- package/dist/esm/modal-5ebdc320.js.map +0 -1
- package/dist/esm/polyfills/css-shim.js +0 -1
- package/dist/esm/popover-bd2c2fca.js.map +0 -1
- package/dist/esm/scroll-180b53fd.js.map +0 -1
- package/dist/esm/six-form.entry.js +0 -227
- package/dist/esm/six-form.entry.js.map +0 -1
- package/dist/esm/six-timepicker.types-e161a447.js +0 -50
- package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
- package/dist/esm/slot-6f3984c7.js.map +0 -1
- package/dist/esm/types-4b10b413.js.map +0 -1
- package/dist/types/components/six-form/six-form.d.ts +0 -69
- package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
- package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
- package/dist/types/utils/as-array.d.ts +0 -1
- package/dist/types/utils/matchers.d.ts +0 -2
- package/dist/types/utils/popper.d.ts +0 -33
- package/dist/types/utils/testing.d.ts +0 -2
- package/dist/ui-library/p-054e12cc.entry.js +0 -2
- package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
- package/dist/ui-library/p-0786fa7c.js +0 -2
- package/dist/ui-library/p-0786fa7c.js.map +0 -1
- package/dist/ui-library/p-097cced4.entry.js.map +0 -1
- package/dist/ui-library/p-0d79b0c6.entry.js +0 -2
- package/dist/ui-library/p-0d79b0c6.entry.js.map +0 -1
- package/dist/ui-library/p-14f20bbb.entry.js +0 -2
- package/dist/ui-library/p-14f20bbb.entry.js.map +0 -1
- package/dist/ui-library/p-18e5f772.entry.js +0 -2
- package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
- package/dist/ui-library/p-18ea0c56.js +0 -2
- package/dist/ui-library/p-18ea0c56.js.map +0 -1
- package/dist/ui-library/p-19364560.entry.js.map +0 -1
- package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
- package/dist/ui-library/p-21859bca.entry.js.map +0 -1
- package/dist/ui-library/p-25a3bf57.js.map +0 -1
- package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
- package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
- package/dist/ui-library/p-308261c4.entry.js +0 -2
- package/dist/ui-library/p-308261c4.entry.js.map +0 -1
- package/dist/ui-library/p-33f7e22b.entry.js +0 -2
- package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
- package/dist/ui-library/p-4ae91795.entry.js +0 -2
- package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
- package/dist/ui-library/p-4f8394d7.js.map +0 -1
- package/dist/ui-library/p-53a13db5.entry.js +0 -2
- package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
- package/dist/ui-library/p-559c87f0.entry.js +0 -2
- package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
- package/dist/ui-library/p-611e1978.entry.js.map +0 -1
- package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
- package/dist/ui-library/p-6403fd87.entry.js +0 -2
- package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
- package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
- package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
- package/dist/ui-library/p-73597d13.entry.js.map +0 -1
- package/dist/ui-library/p-79eee01b.js +0 -2
- package/dist/ui-library/p-79eee01b.js.map +0 -1
- package/dist/ui-library/p-7e0cc4ae.entry.js.map +0 -1
- package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
- package/dist/ui-library/p-835c3ff7.entry.js +0 -2
- package/dist/ui-library/p-835c3ff7.entry.js.map +0 -1
- package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
- package/dist/ui-library/p-90824648.entry.js +0 -2
- package/dist/ui-library/p-90824648.entry.js.map +0 -1
- package/dist/ui-library/p-90dc6af4.entry.js.map +0 -1
- package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
- package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
- package/dist/ui-library/p-9a860acc.js +0 -2
- package/dist/ui-library/p-9a860acc.js.map +0 -1
- package/dist/ui-library/p-9d1d222f.entry.js +0 -2
- package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
- package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
- package/dist/ui-library/p-ac4f4d45.js +0 -3
- package/dist/ui-library/p-ac4f4d45.js.map +0 -1
- package/dist/ui-library/p-af793d04.entry.js.map +0 -1
- package/dist/ui-library/p-b0e5658f.entry.js +0 -2
- package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
- package/dist/ui-library/p-b1e66136.js +0 -2
- package/dist/ui-library/p-b1e66136.js.map +0 -1
- package/dist/ui-library/p-b4dfb7cf.js +0 -2
- package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
- package/dist/ui-library/p-b997e43c.entry.js +0 -2
- package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
- package/dist/ui-library/p-baa03951.entry.js.map +0 -1
- package/dist/ui-library/p-c0cb6436.entry.js +0 -2
- package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
- package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
- package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
- package/dist/ui-library/p-c53a63f9.entry.js +0 -2
- package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
- package/dist/ui-library/p-c640c2d8.entry.js +0 -2
- package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
- package/dist/ui-library/p-c94d0b07.entry.js +0 -2
- package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
- package/dist/ui-library/p-d12c6092.js +0 -2
- package/dist/ui-library/p-d12c6092.js.map +0 -1
- package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
- package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
- package/dist/ui-library/p-df655bc9.entry.js +0 -2
- package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
- package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
- package/dist/ui-library/p-eb8f05a9.js.map +0 -1
- package/dist/ui-library/p-edc96efc.entry.js +0 -2
- package/dist/ui-library/p-edc96efc.entry.js.map +0 -1
- package/dist/ui-library/p-f18ba86f.entry.js +0 -2
- package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
- package/dist/ui-library/p-f4938771.entry.js +0 -2
- package/dist/ui-library/p-f4938771.entry.js.map +0 -1
- package/dist/ui-library/p-f70e2403.entry.js +0 -2
- package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
- package/dist/ui-library/p-f9d345e0.entry.js +0 -2
- package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
- package/dist/ui-library/p-fed07a1f.entry.js +0 -2
- package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
- package/dist/ui-library/p-ff0257bf.entry.js +0 -2
- package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const s=s=>typeof s==="string";const n=s=>s==null;const o=s=>s instanceof Date;const a=s=>s==="number";var t;(function(s){s["AM"]="AM";s["PM"]="PM"})(t||(t={}));var c;(function(s){s["HOURS"]="hours";s["MINUTES"]="minutes";s["SECONDS"]="seconds";s["MILLISECONDS"]="milliseconds";s["HAS_24_HOURS"]="has24Hours";s["PERIOD"]="period"})(c||(c={}));var e;(function(s){s["HOUR_24"]="HH";s["HOUR_12"]="hh";s["MINUTE"]="mm";s["SECOND"]="ss";s["MILLISECOND"]="ms";s["PERIOD"]="aa"})(e||(e={}));const i={[e.HOUR_24]:"hours",[e.HOUR_12]:"hours",[e.MINUTE]:"minutes",[e.SECOND]:"seconds",[e.MILLISECOND]:"milliseconds",[e.PERIOD]:"period"};export{c as S,e as T,a,o as b,s as c,t as d,i as e,n as i};
|
|
2
|
-
//# sourceMappingURL=p-d12c6092.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["isString","value","isNil","isDate","Date","isNumber","SixTimePeriod","SixTimePropertyName","TIME_FORMAT_CHAR","TIME_FORMAT_CHAR_TO_SIX_TIME_PROPERTY_MAP","HOUR_24","HOUR_12","MINUTE","SECOND","MILLISECOND","PERIOD"],"sources":["./src/utils/type-check.ts","./src/components/six-timepicker/six-timepicker.types.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"],"mappings":"MAAaA,EAAYC,UAAuCA,IAAU,S,MAG7DC,EAASD,GAAUA,GAAS,K,MAE5BE,EAAUF,GAAyBA,aAAiBG,K,MAEpDC,EAAYJ,GAA2BA,IAAU,S,ICJlDK,GAAZ,SAAYA,GACVA,EAAA,WACAA,EAAA,UACD,EAHD,CAAYA,MAAa,K,IAKbC,GAAZ,SAAYA,GACVA,EAAA,iBACAA,EAAA,qBACAA,EAAA,qBACAA,EAAA,+BACAA,EAAA,6BACAA,EAAA,kBACD,EAPD,CAAYA,MAAmB,K,IAwBnBC,GAAZ,SAAYA,GACVA,EAAA,gBACAA,EAAA,gBACAA,EAAA,eACAA,EAAA,eACAA,EAAA,oBACAA,EAAA,cACD,EAPD,CAAYA,MAAgB,K,MAYfC,EAA4C,CACvD,CAACD,EAAiBE,SAAU,QAC5B,CAACF,EAAiBG,SAAU,QAC5B,CAACH,EAAiBI,QAAS,UAC3B,CAACJ,EAAiBK,QAAS,UAC3B,CAACL,EAAiBM,aAAc,eAChC,CAACN,EAAiBO,QAAS,iB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["sixTooltipCss","id","SixTooltip","this","componentId","isVisible","handleOpenChange","open","show","hide","connectedCallback","handleBlur","bind","handleClick","handleFocus","handleKeyDown","handleMouseOver","handleMouseOut","handleSlotChange","componentDidLoad","target","getTarget","popover","Popover","tooltipPositioner","syncOptions","host","addEventListener","hidden","componentDidUpdate","disconnectedCallback","destroy","removeEventListener","async","disabled","sixShow","emit","defaultPrevented","sixHide","children","find","el","tagName","toLowerCase","getAttribute","Error","hasTrigger","event","key","stopPropagation","oldTarget","newTarget","removeAttribute","setAttribute","triggerType","triggers","trigger","split","includes","setOptions","placement","distance","skidding","transitionElement","tooltip","onAfterHide","sixAfterHide","onAfterShow","sixAfterShow","render","h","Host","onKeyDown","onMouseOver","onMouseOut","onSlotchange","ref","class","part","role","name","content"],"sources":["./src/components/six-tooltip/six-tooltip.scss?tag=six-tooltip&encapsulation=shadow","./src/components/six-tooltip/six-tooltip.tsx"],"sourcesContent":["@import 'src/global/component';\n\n/**\n * @prop --hide-delay: The amount of time to wait before hiding the tooltip.\n * @prop --hide-duration: The amount of time the hide transition takes to complete.\n * @prop --hide-timing-function: The timing function (easing) to use for the hide transition.\n * @prop --max-width: The maximum width of the tooltip.\n * @prop --show-delay: The amount of time to wait before showing the tooltip.\n * @prop --show-duration: The amount of time the show transition takes to complete.\n * @prop --show-timing-function: The timing function (easing) to use for the show transition.\n */\n:host {\n --max-width: 20rem;\n --hide-delay: 0s;\n --hide-duration: 0.125s;\n --hide-timing-function: ease;\n --show-delay: 0.125s;\n --show-duration: 0.125s;\n --show-timing-function: ease;\n\n display: contents;\n}\n\n.tooltip-positioner {\n position: absolute;\n z-index: var(--six-z-index-tooltip);\n pointer-events: none;\n}\n\n.tooltip {\n max-width: var(--max-width);\n border-radius: var(--six-border-radius-medium);\n background-color: var(--six-tooltip-background-color);\n font-family: var(--six-font-family);\n font-size: var(--six-tooltip-font-size);\n font-weight: var(--six-tooltip-font-weight);\n line-height: var(--six-tooltip-line-height);\n color: var(--six-tooltip-color);\n opacity: 0;\n padding: var(--six-spacing-xxx-small) var(--six-spacing-x-small);\n transform: scale(0.8);\n transform-origin: bottom;\n transition-property: opacity, transform;\n transition-delay: var(--hide-delay);\n transition-duration: var(--hide-duration);\n transition-timing-function: var(--hide-timing-function);\n\n &::after {\n content: '';\n position: absolute;\n width: 0;\n height: 0;\n }\n}\n\n.tooltip-positioner {\n &[data-popper-placement^='top'] .tooltip {\n transform-origin: bottom;\n }\n\n &[data-popper-placement^='bottom'] .tooltip {\n transform-origin: top;\n }\n\n &[data-popper-placement^='left'] .tooltip {\n transform-origin: right;\n }\n\n &[data-popper-placement^='right'] .tooltip {\n transform-origin: left;\n }\n\n &.popover-visible .tooltip {\n opacity: 1;\n transform: none;\n transition-delay: var(--show-delay);\n transition-duration: var(--show-duration);\n transition-timing-function: var(--show-timing-function);\n }\n}\n\n// Arrow + bottom\n.tooltip-positioner[data-popper-placement^='bottom'] .tooltip::after {\n bottom: 100%;\n left: calc(50% - var(--six-tooltip-arrow-size));\n border-bottom: var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);\n border-left: var(--six-tooltip-arrow-size) solid transparent;\n border-right: var(--six-tooltip-arrow-size) solid transparent;\n}\n\n.tooltip-positioner[data-popper-placement='bottom-start'] .tooltip::after {\n left: var(--six-tooltip-arrow-start-end-offset);\n}\n\n.tooltip-positioner[data-popper-placement='bottom-end'] .tooltip::after {\n right: var(--six-tooltip-arrow-start-end-offset);\n left: auto;\n}\n\n// Arrow + top\n.tooltip-positioner[data-popper-placement^='top'] .tooltip::after {\n top: 100%;\n left: calc(50% - var(--six-tooltip-arrow-size));\n border-top: var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);\n border-left: var(--six-tooltip-arrow-size) solid transparent;\n border-right: var(--six-tooltip-arrow-size) solid transparent;\n}\n\n.tooltip-positioner[data-popper-placement='top-start'] .tooltip::after {\n left: var(--six-tooltip-arrow-start-end-offset);\n}\n\n.tooltip-positioner[data-popper-placement='top-end'] .tooltip::after {\n right: var(--six-tooltip-arrow-start-end-offset);\n left: auto;\n}\n\n// Arrow + left\n.tooltip-positioner[data-popper-placement^='left'] .tooltip::after {\n top: calc(50% - var(--six-tooltip-arrow-size));\n left: 100%;\n border-left: var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);\n border-top: var(--six-tooltip-arrow-size) solid transparent;\n border-bottom: var(--six-tooltip-arrow-size) solid transparent;\n}\n\n.tooltip-positioner[data-popper-placement='left-start'] .tooltip::after {\n top: var(--six-tooltip-arrow-start-end-offset);\n}\n\n.tooltip-positioner[data-popper-placement='left-end'] .tooltip::after {\n top: auto;\n bottom: var(--six-tooltip-arrow-start-end-offset);\n}\n\n// Arrow + right\n.tooltip-positioner[data-popper-placement^='right'] .tooltip::after {\n top: calc(50% - var(--six-tooltip-arrow-size));\n right: 100%;\n border-right: var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);\n border-top: var(--six-tooltip-arrow-size) solid transparent;\n border-bottom: var(--six-tooltip-arrow-size) solid transparent;\n}\n\n.tooltip-positioner[data-popper-placement='right-start'] .tooltip::after {\n top: var(--six-tooltip-arrow-start-end-offset);\n}\n\n.tooltip-positioner[data-popper-placement='right-end'] .tooltip::after {\n top: auto;\n bottom: var(--six-tooltip-arrow-start-end-offset);\n}\n","import { Component, Element, Event, EventEmitter, Host, Method, Prop, Watch, h } from '@stencil/core';\nimport Popover from '../../utils/popover';\nimport { EmptyPayload } from '../../utils/types';\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The tooltip's target element. Only the first element will be used as the target.\n * @slot content - The tooltip's content. Alternatively, you can use the content prop.\n *\n * @part base - The component's base wrapper.\n */\n\n@Component({\n tag: 'six-tooltip',\n styleUrl: 'six-tooltip.scss',\n shadow: true,\n})\nexport class SixTooltip {\n componentId = `tooltip-${++id}`;\n isVisible = false;\n popover: Popover;\n tooltipPositioner: HTMLElement;\n target: HTMLElement;\n tooltip: any;\n\n @Element() host: HTMLSixTooltipElement;\n\n /** The tooltip's content. Alternatively, you can use the content slot. */\n @Prop() content = '';\n\n /**\n * The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\n * inside of the viewport.\n */\n @Prop() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n\n /** Set to true to disable the tooltip so it won't show when triggered. */\n @Prop() disabled = false;\n\n /** The distance in pixels from which to offset the tooltip away from its target. */\n @Prop() distance = 10;\n\n /** Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** The distance in pixels from which to offset the tooltip along its target. */\n @Prop() skidding = 0;\n\n /**\n * Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\n * options can be passed by separating them with a space. When manual is used, the tooltip must be activated\n * programmatically.\n */\n @Prop() trigger = 'hover focus';\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Emitted when the tooltip begins to show. Calling `event.preventDefault()` will prevent it from being shown. */\n @Event({ eventName: 'six-tooltip-show' }) sixShow: EventEmitter<EmptyPayload>;\n\n /** Emitted after the tooltip has shown and all transitions are complete. */\n @Event({ eventName: 'six-tooltip-after-show' }) sixAfterShow: EventEmitter<EmptyPayload>;\n\n /** Emitted when the tooltip begins to hide. Calling `event.preventDefault()` will prevent it from being hidden. */\n @Event({ eventName: 'six-tooltip-hide' }) sixHide: EventEmitter<EmptyPayload>;\n\n /** Emitted after the tooltip has hidden and all transitions are complete. */\n @Event({ eventName: 'six-tooltip-after-hide' }) sixAfterHide: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleBlur = this.handleBlur.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleMouseOver = this.handleMouseOver.bind(this);\n this.handleMouseOut = this.handleMouseOut.bind(this);\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n componentDidLoad() {\n this.target = this.getTarget();\n this.popover = new Popover(this.target, this.tooltipPositioner);\n this.syncOptions();\n\n this.host.addEventListener('blur', this.handleBlur, true);\n this.host.addEventListener('click', this.handleClick, true);\n this.host.addEventListener('focus', this.handleFocus, true);\n\n // Show on init if open\n this.tooltipPositioner.hidden = !this.open;\n if (this.open) {\n this.show();\n }\n }\n\n componentDidUpdate() {\n this.syncOptions();\n }\n\n disconnectedCallback() {\n if (this.popover) {\n this.popover.destroy();\n }\n\n this.host.removeEventListener('blur', this.handleBlur, true);\n this.host.removeEventListener('click', this.handleClick, true);\n this.host.removeEventListener('focus', this.handleFocus, true);\n }\n\n /** Shows the tooltip. */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible || this.disabled) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.isVisible = true;\n this.open = true;\n this.popover.show();\n }\n\n /** Shows the tooltip. */\n @Method()\n async hide() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible || this.disabled) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.isVisible = false;\n this.open = false;\n this.popover.hide();\n }\n\n getTarget() {\n // Get the first child that isn't a <style> or content slot\n const target = [...this.host.children].find(\n (el) => el.tagName.toLowerCase() !== 'style' && el.getAttribute('slot') !== 'content'\n ) as HTMLElement;\n\n if (!target) {\n throw new Error('Invalid tooltip target: no child element was found.');\n }\n\n return target;\n }\n\n handleBlur() {\n if (this.hasTrigger('focus')) {\n this.hide();\n }\n }\n\n handleClick() {\n if (this.hasTrigger('click')) {\n this.open ? this.hide() : this.show();\n }\n }\n\n handleFocus() {\n if (this.hasTrigger('focus')) {\n this.show();\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n // Pressing escape when the target element has focus should dismiss the tooltip\n if (this.open && event.key === 'Escape') {\n event.stopPropagation();\n this.hide();\n }\n }\n\n handleMouseOver() {\n if (this.hasTrigger('hover')) {\n this.show();\n }\n }\n\n handleMouseOut() {\n if (this.hasTrigger('hover')) {\n this.hide();\n }\n }\n\n handleSlotChange() {\n const oldTarget = this.target;\n const newTarget = this.getTarget();\n\n if (newTarget !== oldTarget) {\n if (oldTarget) {\n oldTarget.removeAttribute('aria-describedby');\n }\n newTarget.setAttribute('aria-describedby', this.componentId);\n }\n }\n\n hasTrigger(triggerType: string) {\n const triggers = this.trigger.split(' ');\n return triggers.includes(triggerType);\n }\n\n syncOptions() {\n this.popover.setOptions({\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n transitionElement: this.tooltip,\n onAfterHide: () => this.sixAfterHide.emit(),\n onAfterShow: () => this.sixAfterShow.emit(),\n });\n }\n\n render() {\n return (\n <Host onKeyDown={this.handleKeyDown} onMouseOver={this.handleMouseOver} onMouseOut={this.handleMouseOut}>\n <slot onSlotchange={this.handleSlotChange} />\n <div ref={(el) => (this.tooltipPositioner = el)} class=\"tooltip-positioner\">\n <div\n part=\"base\"\n ref={(el) => (this.tooltip = el)}\n id={this.componentId}\n class={{\n tooltip: true,\n 'tooltip--open': this.open,\n }}\n role=\"tooltip\"\n aria-hidden={this.open ? 'false' : 'true'}\n >\n <slot name=\"content\">{this.content}</slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["sixIconCss","SixIcon","render","h","class","this","filled","size"],"sources":["./src/components/six-icon/six-icon.scss?tag=six-icon&encapsulation=shadow","./src/components/six-icon/six-icon.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: inline;\n}\n\n.material-icons {\n vertical-align: middle;\n font-weight: normal;\n font-style: normal;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: normal;\n white-space: nowrap;\n direction: ltr;\n\n /* Support for all WebKit browsers. */\n -webkit-font-smoothing: antialiased;\n /* Support for Safari and Chrome. */\n text-rendering: optimizeLegibility;\n\n /* Support for Firefox. */\n -moz-osx-font-smoothing: grayscale;\n\n /* Support for IE. */\n font-feature-settings: 'liga';\n}\n\n.material-icons-filled {\n font-family: 'Material Icons';\n}\n\n.material-icons-outlined {\n font-family: 'Material Icons Outlined';\n}\n\n.icon {\n &--xsmall {\n font-size: 12px;\n }\n\n &--small {\n font-size: 18px;\n }\n\n &--medium {\n font-size: 24px;\n }\n\n &--large {\n font-size: 36px;\n }\n\n &--xlarge {\n font-size: 48px;\n }\n\n &--xxlarge {\n font-size: 72px;\n }\n\n &--xxxlarge {\n font-size: 96px;\n }\n\n &--inherit {\n font-size: 1.5em;\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the material icon name.\n */\n\n@Component({\n tag: 'six-icon',\n styleUrls: ['six-icon.scss'],\n shadow: true,\n})\nexport class SixIcon {\n /** The icon's size. */\n @Prop({ reflect: true }) size:\n | 'inherit'\n | 'xSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'xLarge'\n | 'xxLarge'\n | 'xxxLarge' = 'inherit';\n\n /** If set to true the default material outlined icons are not used. */\n @Prop() filled = false;\n\n render() {\n return (\n <i\n class={{\n 'material-icons': true,\n 'material-icons-outlined': !this.filled,\n 'material-icons-filled': this.filled,\n 'icon--xsmall': this.size === 'xSmall',\n 'icon--small': this.size === 'small',\n 'icon--medium': this.size === 'medium',\n 'icon--large': this.size === 'large',\n 'icon--xlarge': this.size === 'xLarge',\n 'icon--xxlarge': this.size === 'xxLarge',\n 'icon--xxxlarge': this.size === 'xxxLarge',\n 'icon--inherit': this.size === 'inherit',\n }}\n >\n <slot></slot>\n </i>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAa,uwB,MCcNC,EAAO,M,mCAUD,U,YAGA,K,CAEjBC,SACE,OACEC,EAAA,KACEC,MAAO,CACL,iBAAkB,KAClB,2BAA4BC,KAAKC,OACjC,wBAAyBD,KAAKC,OAC9B,eAAgBD,KAAKE,OAAS,SAC9B,cAAeF,KAAKE,OAAS,QAC7B,eAAgBF,KAAKE,OAAS,SAC9B,cAAeF,KAAKE,OAAS,QAC7B,eAAgBF,KAAKE,OAAS,SAC9B,gBAAiBF,KAAKE,OAAS,UAC/B,iBAAkBF,KAAKE,OAAS,WAChC,gBAAiBF,KAAKE,OAAS,YAGjCJ,EAAA,a"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,h as t,H as n,g as o}from"./p-ac4f4d45.js";const r=":host{display:grid;grid-template-columns:repeat(var(--no-of-columns), 1fr);grid-column-gap:1rem}";const e=class{constructor(t){s(this,t);this.columns=undefined}handleColumnsChange(){const s=this.columns?this.columns:12;this.host.style.setProperty("--no-of-columns",String(s))}componentWillLoad(){this.handleColumnsChange()}render(){return t(n,null,t("slot",null))}get host(){return o(this)}static get watchers(){return{columns:["handleColumnsChange"]}}};e.style=r;export{e as six_layout_grid};
|
|
2
|
-
//# sourceMappingURL=p-df655bc9.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["sixLayoutGridCss","SixLayoutGrid","handleColumnsChange","columns","this","host","style","setProperty","String","componentWillLoad","render","h","Host"],"sources":["./src/components/six-layout-grid/six-layout-grid.scss?tag=six-layout-grid&encapsulation=shadow","./src/components/six-layout-grid/six-layout-grid.tsx"],"sourcesContent":[":host {\n display: grid;\n grid-template-columns: repeat(var(--no-of-columns), 1fr);\n grid-column-gap: 1rem;\n}\n","import { Component, Element, Host, h, Prop, Watch } from '@stencil/core';\n\n/**\n * @since 1.01\n * @status stable\n *\n * @slot - The grid's content\n */\n\n@Component({\n tag: 'six-layout-grid',\n styleUrl: 'six-layout-grid.scss',\n shadow: true,\n})\nexport class SixLayoutGrid {\n @Element() host: HTMLSixLayoutGridElement;\n\n /** Set the number of grid columns */\n @Prop() columns;\n\n @Watch('columns')\n handleColumnsChange() {\n const columns = this.columns ? this.columns : 12;\n this.host.style.setProperty('--no-of-columns', String(columns));\n }\n\n componentWillLoad() {\n this.handleColumnsChange();\n }\n\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAmB,mG,MCcZC,EAAa,M,gDAOxBC,sBACE,MAAMC,EAAUC,KAAKD,QAAUC,KAAKD,QAAU,GAC9CC,KAAKC,KAAKC,MAAMC,YAAY,kBAAmBC,OAAOL,G,CAGxDM,oBACEL,KAAKF,qB,CAGPQ,SACE,OACEC,EAACC,EAAI,KACHD,EAAA,a"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["sixSidebarItemCss","SixSidebarItem","render","h","class","this","selected","disabled","role"],"sources":["./src/components/six-sidebar-item/six-sidebar-item.scss?tag=six-sidebar-item&encapsulation=shadow","./src/components/six-sidebar-item/six-sidebar-item.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.sidebar-item {\n font-size: 0.9rem;\n color: var(--six-sidebar-color);\n cursor: pointer;\n padding: 8px 8px 16px 16px;\n font-family: var(--six-font-family);\n\n &:hover:not(.sidebar-item--disabled) {\n color: var(--six-color-web-rock-600);\n }\n\n &.sidebar-item--disabled {\n outline: none;\n color: var(--six-input-color-disabled);\n cursor: not-allowed;\n }\n\n &.sidebar-item--selected {\n font-weight: var(--six-font-weight-bold);\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the nested displayed text of the item.\n */\n\n@Component({\n tag: 'six-sidebar-item',\n styleUrl: 'six-sidebar-item.scss',\n shadow: true,\n})\nexport class SixSidebarItem {\n /** A unique value to store in the sidebar item. This can be used as a way to identify sidebar items when selected. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to draw the item in a selected state. */\n @Prop({ reflect: true }) selected = false;\n\n /** Set to true to draw the sidebar item in a disabled state. */\n @Prop({ reflect: true }) disabled = false;\n\n render() {\n return (\n <div\n class={{\n 'sidebar-item': true,\n 'sidebar-item--selected': this.selected,\n 'sidebar-item--disabled': this.disabled,\n }}\n role=\"menuitem\"\n aria-selected={this.selected ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n >\n <slot></slot>\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAoB,8a,MCcbC,EAAc,M,oCAEQ,G,cAGG,M,cAGA,K,CAEpCC,SACE,OACEC,EAAA,OACEC,MAAO,CACL,eAAgB,KAChB,yBAA0BC,KAAKC,SAC/B,yBAA0BD,KAAKE,UAEjCC,KAAK,WAAU,gBACAH,KAAKC,SAAW,OAAS,QAAO,gBAChCD,KAAKE,SAAW,OAAS,SAExCJ,EAAA,a"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getOffset","element","parent","top","Math","round","getBoundingClientRect","left","locks","Set","lockBodyScrolling","lockingEl","add","document","body","classList","unlockBodyScrolling","delete","size","remove","scrollIntoView","container","direction","behavior","offset","offsetTop","scrollTop","offsetLeft","scrollLeft","minX","maxX","offsetWidth","minY","maxY","offsetHeight","scrollTo","clientWidth","clientHeight"],"sources":["./src/utils/offset.ts","./src/utils/scroll.ts"],"sourcesContent":["//\n// Returns an element's offset relative to its parent. Similar to element.offsetTop and element.offsetLeft, except the\n// parent doesn't have to be positioned relative or absolute.\n//\n// NOTE: This was created to work around what appears to be a bug in Chrome where a slotted element's offsetParent\n// seems to ignore elements inside the surrounding shadow DOM: https://bugs.chromium.org/p/chromium/issues/detail?id=920069\n//\nexport function getOffset(element: HTMLElement, parent: HTMLElement) {\n return {\n top: Math.round(element.getBoundingClientRect().top - parent.getBoundingClientRect().top),\n left: Math.round(element.getBoundingClientRect().left - parent.getBoundingClientRect().left),\n };\n}\n","import { getOffset } from './offset';\n\nconst locks = new Set();\n\n//\n// Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n// without premature unlocking.\n//\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n document.body.classList.add('six-scroll-lock');\n}\n\n//\n// Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n//\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove('six-scroll-lock');\n }\n}\n\n//\n// Scrolls an element into view of its container. If the element is already in view, nothing will happen.\n//\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: 'horizontal' | 'vertical' | 'both' = 'vertical',\n behavior: 'smooth' | 'auto' = 'smooth'\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === 'horizontal' || direction === 'both') {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === 'vertical' || direction === 'both') {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n"],"mappings":"SAOgBA,EAAUC,EAAsBC,GAC9C,MAAO,CACLC,IAAKC,KAAKC,MAAMJ,EAAQK,wBAAwBH,IAAMD,EAAOI,wBAAwBH,KACrFI,KAAMH,KAAKC,MAAMJ,EAAQK,wBAAwBC,KAAOL,EAAOI,wBAAwBC,MAE3F,CCVA,MAAMC,EAAQ,IAAIC,I,SAMFC,EAAkBC,GAChCH,EAAMI,IAAID,GACVE,SAASC,KAAKC,UAAUH,IAAI,kBAC9B,C,SAKgBI,EAAoBL,GAClCH,EAAMS,OAAON,GAEb,GAAIH,EAAMU,OAAS,EAAG,CACpBL,SAASC,KAAKC,UAAUI,OAAO,kB,CAEnC,C,SAKgBC,EACdnB,EACAoB,EACAC,EAAgD,WAChDC,EAA8B,UAE9B,MAAMC,EAASxB,EAAUC,EAASoB,GAClC,MAAMI,EAAYD,EAAOrB,IAAMkB,EAAUK,UACzC,MAAMC,EAAaH,EAAOjB,KAAOc,EAAUO,WAC3C,MAAMC,EAAOR,EAAUO,WACvB,MAAME,EAAOT,EAAUO,WAAaP,EAAUU,YAC9C,MAAMC,EAAOX,EAAUK,UACvB,MAAMO,EAAOZ,EAAUK,UAAYL,EAAUa,aAE7C,GAAIZ,IAAc,cAAgBA,IAAc,OAAQ,CACtD,GAAIK,EAAaE,EAAM,CACrBR,EAAUc,SAAS,CAAE5B,KAAMoB,EAAYJ,Y,MAClC,GAAII,EAAa1B,EAAQmC,YAAcN,EAAM,CAClDT,EAAUc,SAAS,CAAE5B,KAAMoB,EAAaN,EAAUU,YAAc9B,EAAQmC,YAAab,Y,EAIzF,GAAID,IAAc,YAAcA,IAAc,OAAQ,CACpD,GAAIG,EAAYO,EAAM,CACpBX,EAAUc,SAAS,CAAEhC,IAAKsB,EAAWF,Y,MAChC,GAAIE,EAAYxB,EAAQoC,aAAeJ,EAAM,CAClDZ,EAAUc,SAAS,CAAEhC,IAAKsB,EAAYJ,EAAUa,aAAejC,EAAQoC,aAAcd,Y,EAG3F,Q"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as o,h as t,g as s}from"./p-ac4f4d45.js";const r=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:inline-block}.radio{display:inline-flex;align-items:center;font-family:var(--six-font-family);font-size:var(--six-input-font-size-medium);font-weight:var(--six-input-font-weight);color:var(--six-input-color);vertical-align:middle;cursor:pointer}.radio__icon{display:inline-flex;width:var(--six-selection-control-toggle-size);height:var(--six-selection-control-toggle-size)}.radio__icon svg{width:100%;height:100%}.radio__control{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--six-selection-control-toggle-size);height:var(--six-selection-control-toggle-size);border:solid var(--six-border-width) var(--six-input-border-color);border-radius:50%;background-color:var(--six-input-background-color);color:transparent;transition:var(--six-transition-fast) border-color, var(--six-transition-fast) background-color, var(--six-transition-fast) color, var(--six-transition-fast) box-shadow}.radio__control input[type=radio]{position:absolute;opacity:0;padding:0;margin:0;pointer-events:none}.radio:not(.radio--checked):not(.radio--disabled) .radio__control:hover{border-color:var(--six-input-border-color-hover)}.radio--checked .radio__control{color:var(--six-selection-control-color);border-color:var(--six-selection-control-color)}.radio.radio--checked:not(.radio--disabled) .radio__control:hover{color:var(--six-input-border-color-focus);border-color:var(--six-input-border-color-focus)}.radio--disabled{cursor:not-allowed;color:var(--six-input-color-disabled)}.radio--disabled .radio__control{border-color:var(--six-input-border-color-disabled)}.radio--disabled.radio--checked .radio__control{color:var(--six-selection-control-color-disabled)}.radio__label{line-height:var(--six-selection-control-toggle-size);margin-left:0.5em;user-select:none}";let e=0;const a=class{constructor(t){i(this,t);this.sixBlur=o(this,"six-radio-blur",7);this.sixChange=o(this,"six-radio-change",7);this.sixFocus=o(this,"six-radio-focus",7);this.inputId=`radio-${++e}`;this.labelId=`radio-label-${e}`;this.defaultState=false;this.hasFocus=false;this.name=undefined;this.value=undefined;this.disabled=false;this.checked=false;this.invalid=false}handleCheckedChange(){if(this.checked){this.getSiblingRadios().map((i=>i.checked=false))}if(this.input){this.input.checked=this.checked;this.sixChange.emit()}}connectedCallback(){this.handleClick=this.handleClick.bind(this);this.handleBlur=this.handleBlur.bind(this);this.handleFocus=this.handleFocus.bind(this);this.handleKeyDown=this.handleKeyDown.bind(this);this.handleMouseDown=this.handleMouseDown.bind(this)}componentWillLoad(){this.defaultState=this.checked}async setFocus(i){this.input.focus(i)}async removeFocus(){this.input.blur()}async reportValidity(){return this.input.reportValidity()}async checkValidity(){return this.input.validity.valid}async setCustomValidity(i){this.input.setCustomValidity(i);this.invalid=!this.input.checkValidity()}async reset(){this.checked=this.defaultState;this.input.setCustomValidity("");this.invalid=false}getAllRadios(){const i=this.host.closest("six-form, form")||document.body;if(!this.name)return[];return[...i.querySelectorAll("six-radio")].filter((i=>i.name===this.name))}getSiblingRadios(){return this.getAllRadios().filter((i=>i!==this.host))}handleClick(){this.checked=this.input.checked}handleBlur(){this.hasFocus=false;this.sixBlur.emit()}handleFocus(){this.hasFocus=true;this.sixFocus.emit()}handleKeyDown(i){if(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(i.key)){const o=this.getAllRadios().filter((i=>!i.disabled));const t=["ArrowUp","ArrowLeft"].includes(i.key)?-1:1;let s=o.indexOf(this.host)+t;if(s<0)s=o.length-1;if(s>o.length-1)s=0;this.getAllRadios().map((i=>i.checked=false));o[s].setFocus();o[s].checked=true;i.preventDefault()}}handleMouseDown(i){i.preventDefault();this.input.focus()}render(){return t("label",{part:"base",class:{radio:true,"radio--checked":this.checked,"radio--disabled":this.disabled,"radio--focused":this.hasFocus},htmlFor:this.inputId,onKeyDown:this.handleKeyDown,onMouseDown:this.handleMouseDown},t("span",{part:"control",class:"radio__control"},t("span",{part:"checked-icon",class:"radio__icon"},t("svg",{viewBox:"0 0 16 16"},t("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},t("g",{fill:"currentColor"},t("circle",{cx:"8",cy:"8",r:"5"}))))),t("input",{ref:i=>this.input=i,id:this.inputId,type:"radio",name:this.name,value:this.value,checked:this.checked,disabled:this.disabled,role:"radio","aria-checked":this.checked?"true":"false","aria-labelledby":this.labelId,onClick:this.handleClick,onBlur:this.handleBlur,onFocus:this.handleFocus})),t("span",{part:"label",id:this.labelId,class:"radio__label"},t("slot",null)))}get host(){return s(this)}static get watchers(){return{checked:["handleCheckedChange"]}}};a.style=r;export{a as six_radio};
|
|
2
|
-
//# sourceMappingURL=p-edc96efc.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["sixRadioCss","id","SixRadio","this","inputId","labelId","defaultState","handleCheckedChange","checked","getSiblingRadios","map","radio","input","sixChange","emit","connectedCallback","handleClick","bind","handleBlur","handleFocus","handleKeyDown","handleMouseDown","componentWillLoad","async","options","focus","blur","reportValidity","validity","valid","message","setCustomValidity","invalid","checkValidity","getAllRadios","form","host","closest","document","body","name","querySelectorAll","filter","hasFocus","sixBlur","sixFocus","event","includes","key","radios","disabled","incr","index","indexOf","length","setFocus","preventDefault","render","h","part","class","htmlFor","onKeyDown","onMouseDown","viewBox","stroke","fill","cx","cy","r","ref","el","type","value","role","onClick","onBlur","onFocus"],"sources":["./src/components/six-radio/six-radio.scss?tag=six-radio&encapsulation=shadow","./src/components/six-radio/six-radio.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: inline-block;\n}\n\n.radio {\n display: inline-flex;\n align-items: center;\n font-family: var(--six-font-family);\n font-size: var(--six-input-font-size-medium);\n font-weight: var(--six-input-font-weight);\n color: var(--six-input-color);\n vertical-align: middle;\n cursor: pointer;\n}\n\n.radio__icon {\n display: inline-flex;\n width: var(--six-selection-control-toggle-size);\n height: var(--six-selection-control-toggle-size);\n\n svg {\n width: 100%;\n height: 100%;\n }\n}\n\n.radio__control {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--six-selection-control-toggle-size);\n height: var(--six-selection-control-toggle-size);\n border: solid var(--six-border-width) var(--six-input-border-color);\n border-radius: 50%;\n background-color: var(--six-input-background-color);\n color: transparent;\n transition: var(--six-transition-fast) border-color, var(--six-transition-fast) background-color,\n var(--six-transition-fast) color, var(--six-transition-fast) box-shadow;\n\n input[type='radio'] {\n position: absolute;\n opacity: 0;\n padding: 0;\n margin: 0;\n pointer-events: none;\n }\n}\n\n// Hover\n.radio:not(.radio--checked):not(.radio--disabled) .radio__control:hover {\n border-color: var(--six-input-border-color-hover);\n}\n\n// Checked\n.radio--checked .radio__control {\n color: var(--six-selection-control-color);\n border-color: var(--six-selection-control-color);\n}\n\n// Checked + hover\n.radio.radio--checked:not(.radio--disabled) .radio__control:hover {\n color: var(--six-input-border-color-focus);\n border-color: var(--six-input-border-color-focus);\n}\n\n// Disabled\n.radio--disabled {\n cursor: not-allowed;\n color: var(--six-input-color-disabled);\n\n .radio__control {\n border-color: var(--six-input-border-color-disabled);\n }\n\n &.radio--checked .radio__control {\n color: var(--six-selection-control-color-disabled);\n }\n}\n\n.radio__label {\n line-height: var(--six-selection-control-toggle-size);\n margin-left: 0.5em;\n user-select: none;\n}\n","import { Component, Element, Event, EventEmitter, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The radio's label.\n *\n * @part base - The component's base wrapper.\n * @part control - The radio control.\n * @part checked-icon - The container the wraps the checked icon.\n * @part label - The radio label.\n */\n\n@Component({\n tag: 'six-radio',\n styleUrl: 'six-radio.scss',\n shadow: true,\n})\nexport class SixRadio {\n inputId = `radio-${++id}`;\n labelId = `radio-label-${id}`;\n input: HTMLInputElement;\n\n @Element() host: HTMLSixRadioElement;\n\n @State() hasFocus = false;\n\n /** The radio's name attribute. */\n @Prop() name: string;\n\n /** The radio's value attribute. */\n @Prop() value: string;\n\n /** Set to true to disable the radio. */\n @Prop() disabled = false;\n\n /** Set to true to draw the radio in a checked state. */\n @Prop({ mutable: true, reflect: true }) checked = false;\n\n /**\n * This will be true when the control is in an invalid state. Validity in range inputs is determined by the message\n * provided by the `setCustomValidity` method.\n */\n @Prop({ mutable: true, reflect: true }) invalid = false;\n\n @Watch('checked')\n handleCheckedChange() {\n if (this.checked) {\n this.getSiblingRadios().map((radio) => (radio.checked = false));\n }\n if (this.input) {\n this.input.checked = this.checked;\n this.sixChange.emit();\n }\n }\n\n /** Emitted when the control loses focus. */\n @Event({ eventName: 'six-radio-blur' }) sixBlur: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control's checked state changes. */\n @Event({ eventName: 'six-radio-change' }) sixChange: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-radio-focus' }) sixFocus: EventEmitter<EmptyPayload>;\n\n /** default state whether the radio button should be checked or not when resetting */\n private defaultState = false;\n\n connectedCallback() {\n this.handleClick = this.handleClick.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleMouseDown = this.handleMouseDown.bind(this);\n }\n\n componentWillLoad() {\n this.defaultState = this.checked;\n }\n\n /** Sets focus on the radio. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the radio. */\n @Method()\n async removeFocus() {\n this.input.blur();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n @Method()\n async reportValidity() {\n return this.input.reportValidity();\n }\n\n /** Checks for validity. */\n @Method()\n async checkValidity() {\n return this.input.validity.valid;\n }\n\n /** Sets a custom validation message. If `message` is not empty, the field will be considered invalid. */\n @Method()\n async setCustomValidity(message: string) {\n this.input.setCustomValidity(message);\n this.invalid = !this.input.checkValidity();\n }\n\n /** Resets the formcontrol */\n @Method()\n async reset() {\n this.checked = this.defaultState;\n this.input.setCustomValidity('');\n this.invalid = false;\n }\n\n getAllRadios() {\n const form = this.host.closest('six-form, form') || document.body;\n\n if (!this.name) return [];\n\n return [...form.querySelectorAll('six-radio')].filter(\n (radio: HTMLSixRadioElement) => radio.name === this.name\n ) as HTMLSixRadioElement[];\n }\n\n getSiblingRadios() {\n return this.getAllRadios().filter((radio) => radio !== this.host) as HTMLSixRadioElement[];\n }\n\n handleClick() {\n this.checked = this.input.checked;\n }\n\n handleBlur() {\n this.hasFocus = false;\n this.sixBlur.emit();\n }\n\n handleFocus() {\n this.hasFocus = true;\n this.sixFocus.emit();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {\n const radios = this.getAllRadios().filter((radio) => !radio.disabled);\n const incr = ['ArrowUp', 'ArrowLeft'].includes(event.key) ? -1 : 1;\n let index = radios.indexOf(this.host) + incr;\n if (index < 0) index = radios.length - 1;\n if (index > radios.length - 1) index = 0;\n\n this.getAllRadios().map((radio) => (radio.checked = false));\n radios[index].setFocus();\n radios[index].checked = true;\n\n event.preventDefault();\n }\n }\n\n handleMouseDown(event: MouseEvent) {\n // Prevent clicks on the label from briefly blurring the input\n event.preventDefault();\n this.input.focus();\n }\n\n render() {\n return (\n <label\n part=\"base\"\n class={{\n radio: true,\n 'radio--checked': this.checked,\n 'radio--disabled': this.disabled,\n 'radio--focused': this.hasFocus,\n }}\n htmlFor={this.inputId}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n >\n <span part=\"control\" class=\"radio__control\">\n <span part=\"checked-icon\" class=\"radio__icon\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <g fill=\"currentColor\">\n <circle cx=\"8\" cy=\"8\" r=\"5\"></circle>\n </g>\n </g>\n </svg>\n </span>\n\n <input\n ref={(el) => (this.input = el)}\n id={this.inputId}\n type=\"radio\"\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n role=\"radio\"\n aria-checked={this.checked ? 'true' : 'false'}\n aria-labelledby={this.labelId}\n onClick={this.handleClick}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n />\n </span>\n\n <span part=\"label\" id={this.labelId} class=\"radio__label\">\n <slot />\n </span>\n </label>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{h as t,r as e,c as i,g as s}from"./p-ac4f4d45.js";import{i as r,a as n,b as o,c as a,S as h}from"./p-d12c6092.js";import{E as l}from"./p-9a860acc.js";import{D as d,d as c,a as u}from"./p-0786fa7c.js";import{h as p}from"./p-b4dfb7cf.js";const m={en:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],monthsShortGrouped:[["Jan","Feb","Mar","Apr"],["May","Jun","Jul","Aug"],["Sep","Oct","Nov","Dec"]],weekdays:["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],weekdaysShort:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],weekdaysMin:["Mo","Tu","We","Th","Fr","Sa","Su"]},de:{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthsShort:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],monthsShortGrouped:[["Jan.","Feb.","März","Apr."],["Mai","Juni","Juli","Aug."],["Sep.","Okt.","Nov.","Dez."]],weekdays:["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"],weekdaysShort:["Mo.","Di.","Mi.","Do.","Fr.","Sa.","So."],weekdaysMin:["Mo","Di","Mi","Do","Fr","Sa","So"]},fr:{months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthsShort:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],monthsShortGrouped:[["janv.","févr.","mars","avr."],["mai","juin","juil.","août"],["sept.","oct.","nov.","déc."]],weekdays:["lundi","mardi","mercredi","jeudi","vendredi","samedi","dimanche"],weekdaysShort:["lun.","mar.","mer.","jeu.","ven.","sam.","dim."],weekdaysMin:["lu","ma","me","je","ve","sa","di"]},it:{months:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],monthsShort:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],monthsShortGrouped:[["gen","feb","mar","apr"],["mag","giu","lug","ago"],["set","ott","nov","dic"]],weekdays:["lunedì","martedì","mercoledì","giovedì","venerdì","sabato","domenica"],weekdaysShort:["lun","mar","mer","gio","ven","sab","dom"],weekdaysMin:["lu","ma","me","gi","ve","sa","do"]}};const f=()=>new Date;const y=t=>{if(r(t)){return false}if(n(t)){return false}if(o(t)){return!isNaN(t.getTime())}return new Date(t).toString()!=="Invalid Date"};const b=t=>{if(t&&y(t)){return t.getFullYear()}throw new Error("Not a valid date")};const v=t=>{if(t&&y(t)){return t.getMonth()}throw new Error("Not a valid date")};const k=t=>{if(t&&y(t)){return t.getDate()}throw new Error("Not a valid date")};const g=t=>{if(t&&y(t)){return t.getHours()}throw new Error("Not a valid date")};const w=t=>{if(t&&y(t)){return t.getMinutes()}throw new Error("Not a valid date")};const x=t=>{if(t&&y(t)){return t.getSeconds()}throw new Error("Not a valid date")};const _=t=>{const e=[6,0,1,2,3,4,5];const i=new Date(t);i.setDate(i.getDate()-e[i.getDay()]);return i};const M=(t,e)=>(t===null||t===void 0?void 0:t.getFullYear())===(e===null||e===void 0?void 0:e.getFullYear());const D=(t,e)=>M(t,e)&&(t===null||t===void 0?void 0:t.getMonth())===(e===null||e===void 0?void 0:e.getMonth());const S=(t,e)=>D(t,e)&&(t===null||t===void 0?void 0:t.getDate())===(e===null||e===void 0?void 0:e.getDate());const j=(t,e)=>S(_(t),_(e));const C=(t,e)=>{if(!a(t)||!a(e)){return false}if(t.length<6||e.length<6){return false}const{day:i,month:s}=R(t,e);if(i>31||s>11||i<=0||s<0){return false}const n=K(t,e);if(r(n)){return false}return n.toString()!=="Invalid Date"};const O=(t,e,i)=>{if(!t){return true}if(e&&t<e){return false}if(i&&i<t){return false}return true};const F=(t,e,i,s=2)=>{const r=s-1;const n=e.charAt(t+r)===i;const o=t+r<e.length;return o&&n};const z=(t,e)=>{let i=String(t);while(i.length<e){i="0"+i}return i};const J=(t,e)=>{if(!t){return""}let i="";for(let s=0;s<e.length;s++){switch(e.charAt(s)){case"d":if(F(s,e,"d")){i+=z(t.getDate(),2);s++}else{i+=String(t.getDate())}break;case"m":if(F(s,e,"m")){i+=z(t.getMonth()+1,2);s++}else{i+=String(t.getMonth()+1)}break;case"y":if(F(s,e,"y",4)){s+=3;i+=t.getFullYear()}else{i+=(t.getFullYear()%100<10?"0":"")+t.getFullYear()%100;s++}break;case"h":if(F(s,e,"h")){i+=z(t.getHours(),2);s++}else{i+=String(t.getHours())}break;case"M":if(F(s,e,"M")){i+=z(t.getMinutes(),2);s++}else{i+=String(t.getMinutes())}break;case"s":if(F(s,e,"s")){i+=z(t.getSeconds(),2);s++}else{i+=String(t.getSeconds())}break;default:i+=e.charAt(s)}}return i};const N=/(\[[^\[]*\])|(mm|dd|yyyy|yy|hh|MM|ss|.)/g;const A=/\d\d/;const E=/\d{4}/;const P=/[^0-9]/g;const I="year";const T="month";const G="day";const B="hour";const L="minute";const $="second";const U={};const V=(t,e,i)=>{const s=Array.isArray(t)?t:[t];let r;if(typeof i==="string"){r=t=>{const e=parseInt(t,10);return{[i]:e}}}else{r=i}s.forEach((t=>{U[t]=[e,r]}))};V("yy",A,(t=>{const e=(new Date).getFullYear();const i=Math.floor(e/100);let s=parseInt(t,10);s=(s>68?i-1:i)*100+s;return{[I]:s}}));V("yyyy",E,I);V("mm",A,(t=>({[T]:parseInt(t,10)-1})));V("dd",A,G);V("hh",A,B);V("MM",A,L);V("ss",A,$);const Y=(t,e=new Date)=>{const i=[0,0,1,0,0,0];const s=[e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds()];let r=true;for(let e=0;e<7;e++){if(t[e]===undefined){i[e]=r?s[e]:i[e]}else{i[e]=t[e];r=false}}return i};const H=(t,e,i,s,r,n)=>{if(!(t<100&&t>=0)){return new Date(t,e,i,s,r,n)}const o=new Date(t+400,e,i,s,r,n);if(isFinite(o.getFullYear())){o.setFullYear(t)}return o};const W=(t,e)=>{const i=e.match(N);if(!i){throw new Error}const{length:s}=i;let r={};for(let e=0;e<s;e+=1){const s=i[e];const n=U[s];if(!n){const e=s.replace(/^\[|\]$/g,"");if(t.indexOf(e)===0){t=t.substr(e.length)}else{throw new Error("not match")}}else{const e=n[0];const i=n[1];const s=(e.exec(t)||[])[0];const o=i(s);r=Object.assign(Object.assign({},r),o);t=t.replace(s,"")}}return r};const q=(t,e)=>{if(t.length===e.length){return t}const i=t.match(P)[0];return t.split(i).map((t=>t.length===1?"0"+t:t)).join(i)};const R=(t,e)=>{const i=q(t,e);return W(i,e)};const K=(t,e)=>{try{const{backupDate:i=new Date}={};const{year:s,month:r,day:n,hour:o,minute:a,second:h,date:l}=R(t,e);if(l){return l}const d=[s,r,n,o,a,h];let c;const u=Y(d,i);c=H(...u);return c}catch(t){return new Date(NaN)}};const Q=t=>{const{firstDateOfBox:e,allowedDates:i,dateFormat:s,selectedDate:r,minDate:n,maxDate:o,pointerDate:a}=t;const h=new Date(e);const l=new Date(e);let d=[];do{let t=[];do{t=[...t,{date:new Date(l),display:J(l,s),dateString:J(l,s),label:k(l).toString(),isToday:S(l,f()),isSelected:r&&S(l,r),isDisabled:!i(l)||!O(l,n,o),isOutdated:a.month!==l.getMonth()||!O(l,n,o)}];l.setDate(l.getDate()+1)}while(j(l,h));d=[...d,t];h.setDate(h.getDate()+7)}while(D(new Date(a.year,a.month,a.day),l));return d};var X;(function(t){t["DDMMYYY_DOT"]="dd.mm.yyyy";t["YYYYMMDD_DASH"]="yyyy-mm-dd";t["DDMMYYYY_DASH"]="dd-mm-yyyy";t["DDMMYYYY_SLASH"]="dd/mm/yyyy";t["YYYYMMDD_SLASH"]="yyyy/mm/dd";t["DDMMYY_DOT"]="dd.mm.yy";t["YYMMDD_DASH"]="yy-mm-dd";t["DDMMYY_DASH"]="dd-mm-yy";t["DDMMYY_SLASH"]="dd/mm/yy";t["YYMMDD_SLASH"]="yy/mm/dd";t["DDMMYYY_DOT_TIME"]="dd.mm.yyyy hh:MM:ss";t["YYYYMMDD_DASH_TIME"]="yyyy-mm-dd hh:MM:ss";t["DDMMYYYY_DASH_TIME"]="dd-mm-yyyy hh:MM:ss";t["DDMMYYYY_SLASH_TIME"]="dd/mm/yyyy hh:MM:ss";t["YYYYMMDD_SLASH_TIME"]="yyyy/mm/dd hh:MM:ss";t["DDMMYY_DOT_TIME"]="dd.mm.yy hh:MM:ss";t["YYMMDD_DASH_TIME"]="yy-mm-dd hh:MM:ss";t["DDMMYY_DASH_TIME"]="dd-mm-yy hh:MM:ss";t["DDMMYY_SLASH_TIME"]="dd/mm/yy hh:MM:ss";t["YYMMDD_SLASH_TIME"]="yy/mm/dd hh:MM:ss"})(X||(X={}));const Z=({locale:e,selectedDate:i,onClickMonthCell:s})=>{const r=t=>e.monthsShort[f().getMonth()]===t;const n=t=>(i===null||i===void 0?void 0:i.getMonth())===e.monthsShort.findIndex((e=>e===t));return t("table",{class:"datepicker-table",part:"month-selection"},t("tbody",null,e.monthsShortGrouped.map((e=>t("tr",{class:"datepicker-table__row"},e.map((e=>t("td",{onClick:()=>s(e),class:{"datepicker-table__cell":true,"datepicker-table__cell--is-today":r(e),"datepicker-table__cell--is-selected":n(e)}},e))))))))};const tt=({locale:e,calendarGrid:i,onClickDateCell:s})=>t("table",{class:"datepicker-table",part:"day-selection"},t("thead",{part:"weekday-header"},e.weekdaysMin.map((e=>t("th",{class:"datepicker__cell"},e)))),t("tbody",null,i.map((e=>t("tr",{class:"datepicker-table__row"},e.map((e=>t("td",{"data-date":e.dateString,onClick:()=>s(e),class:{"datepicker-table__cell":true,"datepicker-table__cell--is-today":e.isToday,"datepicker-table__cell--is-selected":e.isSelected,"datepicker-table__cell--is-outdated":e.isOutdated,"datepicker-table__cell--is-disabled":e.isDisabled,"datepicker-table__cell--is-selectable":!e.isDisabled}},e.label))))))));const et=({selectedDate:e,yearSelection:i,onClickYearCell:s})=>t("table",{class:"datepicker-table",part:"year-selection"},t("tbody",null,i.map((i=>t("tr",{class:"datepicker-table__row"},i.map((i=>t("td",{onClick:()=>s(i),class:{"datepicker-table__cell":true,"datepicker-table__cell--is-today":f().getFullYear()===i,"datepicker-table__cell--is-selected":(e===null||e===void 0?void 0:e.getFullYear())===i}},i))))))));const it=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block;font-family:var(--six-font-family)}.datepicker__container{position:relative}.datepicker__popup{min-width:400px;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}.datepicker__popup--is-up{bottom:100%;min-height:382px}.datepicker__popup--is-inline{position:initial;box-shadow:none;border:1px solid var(--six-color-web-rock-400)}.datepicker-header{display:flex;justify-content:space-between;border-bottom:1px solid var(--six-color-web-rock-400);padding:0.5em;margin-bottom:1em}.datepicker-header svg{fill:var(--six-color-web-rock-900);stroke:none}.datepicker-header__btn{cursor:pointer;width:2.5em;height:2.5em;display:flex;vertical-align:middle;align-items:center;justify-content:center}.datepicker-header__btn:hover{background-color:var(--six-color-web-rock-100);border-radius:100%}.datepicker-header__label{display:flex}.datepicker-header__label>div{cursor:pointer;padding:0.5em;display:flex;vertical-align:middle;align-items:center;justify-content:center}.datepicker-header__label>div:hover{background-color:var(--six-color-web-rock-100)}.datepicker-table{width:100%}.datepicker-table__cell{text-align:center;width:2.5rem;height:2.5rem;cursor:pointer}.datepicker-table__cell:hover{background-color:var(--six-color-web-rock-100)}.datepicker-table__cell--is-today{border:1px solid var(--six-color-web-rock-400)}.datepicker-table__cell--is-selected{background-color:var(--six-color-red);color:var(--six-color-white)}.datepicker-table__cell--is-disabled{background-color:var(--six-color-web-rock-200);cursor:initial}.datepicker-table__cell--is-disabled:hover{background-color:var(--six-color-web-rock-200)}.datepicker-table__cell--is-outdated{color:var(--six-color-web-rock-400)}.datepicker-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}.datepicker-clear:hover{color:var(--six-input-icon-color-hover)}.datepicker-clear:focus{outline:none}.datepicker-clear--right{right:0;position:absolute}.datepicker-clear--left{right:35px;position:absolute}.input--empty .datepicker-clear{visibility:hidden}.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}six-timepicker::part(popup){border:none;padding:0.5em 0.5em 0;min-height:0}";const st=25;const rt=400;var nt;(function(t){t["DAY"]="day";t["MONTH"]="month";t["YEAR"]="year"})(nt||(nt={}));const ot=t=>{const e=5;return Array.from(new Array(st).keys()).map((e=>e+t-Math.floor(st/2))).reduce(((t,i,s)=>{if(s%e===0){t.push([])}t[t.length-1].push(i);return t}),[])};const at=class{constructor(t){e(this,t);this.sixSelect=i(this,"six-datepicker-select",7);this.sixClear=i(this,"six-datepicker-clear",7);this.sixBlur=i(this,"six-datepicker-blur",7);this.eventListeners=new l;this.selectedDate=null;this.defaultValue=null;this.handleDocumentKeyDown=t=>{if(this.open&&t.key==="Escape"){t.stopPropagation();this.closePopup();void this.inputElement.setFocus()}if(t.key==="Tab"){this.closePopup()}};this.handleDocumentMouseDown=t=>{const e=t.composedPath();if(!e.includes(this.container)){this.closePopup();return}};this.onTimepickerChange=t=>{const e=t.detail.value;const i=new Date;if(this.selectedDate){i.setFullYear(this.selectedDate.getFullYear(),this.selectedDate.getMonth(),this.selectedDate.getDate())}i.setHours(e[h.HOURS],e[h.MINUTES],e[h.SECONDS]);this.updateValue(i);this.updatePointerDates()};this.onClickDateCell=t=>{if(!t.isDisabled){void this.select(t.dateString)}};this.onClickMonthCell=t=>{const e=m[this.locale].monthsShort.findIndex((e=>e===t));this.pointerDate=Object.assign(Object.assign({},this.pointerDate),{month:e});this.selectionMode=nt.DAY};this.onClickYearCell=t=>{this.pointerDate=Object.assign(Object.assign({},this.pointerDate),{year:t});this.selectionMode=nt.DAY};this.handleInputChange=t=>{const e=this.inputElement.value;if(!C(e,this.dateFormat)){return}const i=K(e,this.dateFormat);if(i===undefined){return}if(this.min&&this.min.getTime()>i.getTime()){return}if(this.max&&this.max.getTime()<i.getTime()){return}this.updateIfChanged(i);t.stopPropagation();const s=e.replace(/[^\d]/g,"");let r=!e;if(e&&s.length>=6){const t=K(e,this.dateFormat);const i=J(t,this.dateFormat);if(C(i,this.dateFormat)){this.selectedDate=K(i,this.dateFormat);this.updatePointerDates();this.updateValue(this.selectedDate);r=true}}this.displayCustomMessage(r)};this.handleOnBlur=t=>{if(this.inputElement.value===""&&y(this.value)){this.value=undefined}t.stopPropagation();const e=this.inputElement.value;const i=K(e,this.dateFormat);const s=J(this.value,this.dateFormat);if(i&&e!==s){this.inputElement.value=s}this.sixBlur.emit(this.value)};this.pointerDate=at.getCurrentDateAsPointer();this.selectionMode=nt.DAY;this.isDropDownContentUp=false;this.type="date";this.locale="en";this.open=false;this.inline=false;this.readonly=false;this.disabled=false;this.allowedDates=()=>true;this.min=null;this.max=null;this.closeOnSelect=this.type==="date";this.placement=undefined;this.size="medium";this.required=undefined;this.defaultDate=undefined;this.placeholder=undefined;this.value=null;this.containingElement=undefined;this.dateFormat=X.DDMMYYY_DOT;this.debounce=d;this.errorOnBlur=false;this.errorText="";this.label="";this.name="";this.clearable=false;this.iconPosition="left";this.hoist=false}debounceChanged(){this.sixSelect=c(this.sixSelect,this.debounce)}valueChanged(){if(this.isValidValue()){console.warn("Encountered unreadable date, will map to undefined. Received value",this.value);this.value=undefined;return}this.selectedDate=this.value;this.updatePointerDates();this.sixSelect.emit(this.value)}async resizeHandler(){this.calcIsDropDownContentUp();this.moveOpenHoistedPopup();this.adjustPopupPosition()}async scrollHandler(){this.calcIsDropDownContentUp();this.moveOpenHoistedPopup()}get container(){return this.containingElement||this.host}get firstDateOfBox(){const t=new Date(this.pointerDate.year,this.pointerDate.month,1);return _(t)}async reportValidity(){return this.inputElement.reportValidity()}async checkValidity(){return this.inputElement.checkValidity()}async setCustomValidity(t){await this.inputElement.setCustomValidity(t)}async reset(){this.value=this.defaultValue;this.inputElement.value=J(this.defaultValue,this.dateFormat);await this.inputElement.reset()}isValidValue(){if(this.value===undefined||this.value===null){return false}if(!(this.value instanceof Date)){return true}return this.value instanceof Date&&isNaN(this.value)}get calendarGrid(){return Q({firstDateOfBox:this.firstDateOfBox,allowedDates:this.allowedDates,dateFormat:this.dateFormat,locale:this.locale,selectedDate:this.selectedDate,minDate:this.min,maxDate:this.max,pointerDate:this.pointerDate})}calcIsDropDownContentUp(){if(!this.inputElement||!this.wrapper){return}const t=this.inputElement.getBoundingClientRect();const e=this.wrapper.getBoundingClientRect();const i=Math.max(e.height,rt);const s=t.y>window.innerHeight/2;this.isDropDownContentUp=s&&window.innerHeight<t.bottom+i}getMonthStringForIndex(t){return m[this.locale].months[t]}previousUnit(){if(this.selectionMode===nt.DAY){this.previousMonth()}else if(this.selectionMode===nt.MONTH){this.previousYear()}else if(this.selectionMode===nt.YEAR){this.previousYearGroup()}}previousYear(){this.pointerDate=Object.assign(Object.assign({},this.pointerDate),{year:this.pointerDate.year-1})}previousYearGroup(){this.pointerDate=Object.assign(Object.assign({},this.pointerDate),{year:this.pointerDate.year-st})}previousMonth(){if(this.pointerDate.month===0){this.pointerDate={year:this.pointerDate.year-1,month:11,day:1,hours:0,minutes:0,seconds:0}}else{this.pointerDate={year:this.pointerDate.year,month:this.pointerDate.month-1,day:1,hours:0,minutes:0,seconds:0}}}nextUnit(){if(this.selectionMode===nt.DAY){this.nextMonth()}else if(this.selectionMode===nt.MONTH){this.nextYear()}else if(this.selectionMode===nt.YEAR){this.nextYearGroup()}}nextMonth(){if(this.pointerDate.month===11){this.pointerDate={year:this.pointerDate.year+1,month:0,day:1,hours:0,minutes:0,seconds:0}}else{this.pointerDate={year:this.pointerDate.year,month:this.pointerDate.month+1,day:1,hours:0,minutes:0,seconds:0}}}nextYear(){this.pointerDate=Object.assign(Object.assign({},this.pointerDate),{year:this.pointerDate.year+1})}nextYearGroup(){this.pointerDate=Object.assign(Object.assign({},this.pointerDate),{year:this.pointerDate.year+st})}openCalendar(){if(!this.open&&!this.disabled){this.open=true;this.setupEventListenersForOpenPopup()}}setupEventListenersForOpenPopup(){this.eventListeners.add(document,"keydown",this.handleDocumentKeyDown);this.eventListeners.add(document,"mousedown",this.handleDocumentMouseDown)}handleClearClick(t){t.stopPropagation();void this.select(undefined);this.sixClear.emit()}closePopup(){if(this.inline){return}this.open=false;this.eventListeners.remove(document,"keydown",this.handleDocumentKeyDown);this.eventListeners.remove(document,"mousedown",this.handleDocumentMouseDown);this.selectionMode=nt.DAY}updatePointerDates(){const t=this.getPointerDate();if(this.differsFromPointerDate(t)){this.pointerDate={year:b(t),month:v(t),day:k(t),hours:g(t),minutes:w(t),seconds:x(t)}}}differsFromPointerDate(t){return this.pointerDate.day!==k(t)||this.pointerDate.month!==v(t)||this.pointerDate.year!==b(t)||this.pointerDate.hours!==g(t)||this.pointerDate.minutes!==w(t)||this.pointerDate.seconds!==x(t)}getPointerDate(){if(this.selectedDate!==undefined&&this.selectedDate!==null){return this.selectedDate}if(r(this.defaultDate)){return f()}else{return this.defaultDate&&K(this.defaultDate,this.dateFormat)}}updateValue(t){this.displayCustomMessage(true);this.updateIfChanged(t)}updateIfChanged(t){var e;if(((e=this.value)===null||e===void 0?void 0:e.getTime())===(t===null||t===void 0?void 0:t.getTime())){return}this.value=t}async select(t){if(!t){this.updateValue(undefined)}else{const e=K(t,this.dateFormat);e.setHours(this.pointerDate.hours,this.pointerDate.minutes,this.pointerDate.seconds);this.updateValue(e)}this.updatePointerDates();if(this.closeOnSelect){this.closePopup()}}componentWillLoad(){this.validateProps();this.defaultValue=this.value;this.selectedDate=this.value;this.updatePointerDates();this.updateValue(this.value);if(this.inline){this.open=true}if(this.open){this.setupEventListenersForOpenPopup()}}validateProps(){if(this.value!==null&&this.value!==undefined&&!(this.value instanceof Date)){throw new Error("Datepicker no longer supports strings as value. Use a date object instead!")}if(this.min!==null&&this.min!==undefined&&!(this.min instanceof Date)){throw new Error("Datepicker no longer supports strings as min. Use a date object instead!")}if(this.max!==null&&this.max!==undefined&&!(this.max instanceof Date)){throw new Error("Datepicker no longer supports strings as min. Use a date object instead!")}}componentDidLoad(){this.eventListeners.add(this.inputElement,"six-input-input",u(this.handleInputChange,this.debounce));this.eventListeners.add(this.inputElement,"six-input-blur",this.handleOnBlur)}renderHeader(){return t("header",{class:"datepicker-header",part:"header"},t("div",{class:"datepicker-header__btn prev",onClick:()=>this.previousUnit()},t("svg",{viewBox:"0 5 13 13",width:"14",height:"23"},t("path",{d:"M11.67 3.87L9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z"}))),t("div",{class:"datepicker-header__label"},this.selectionMode===nt.DAY&&t("div",{onClick:()=>this.selectionMode=nt.MONTH},t("span",{class:"datepicker-header__label-month"},this.getMonthStringForIndex(this.pointerDate.month)),t("span",null,t("svg",{viewBox:"-3 -4 24 24",width:"20",height:"20"},t("polyline",{points:"6 9 12 15 18 9"})))),this.selectionMode!==nt.YEAR&&t("div",{onClick:()=>this.selectionMode=nt.YEAR},t("span",{class:"datepicker-header__label-year"},this.pointerDate.year),t("span",null,t("svg",{viewBox:"-3 -4 24 24",width:"20",height:"20"},t("polyline",{points:"6 9 12 15 18 9"})))),this.selectionMode===nt.YEAR&&t("div",null,this.pointerDate.year-Math.floor(st/2)," –"," ",this.pointerDate.year+Math.floor(st/2))),t("div",{class:"datepicker-header__btn next",onClick:()=>this.nextUnit()},t("svg",{viewBox:"5 5 13 13",width:"14",height:"23"},t("path",{d:"M5.88 4.12L13.76 12l-7.88 7.88L8 22l10-10L8 2z"}))))}renderBody(){switch(this.selectionMode){case nt.DAY:return t(tt,{locale:m[this.locale],calendarGrid:this.calendarGrid,onClickDateCell:this.onClickDateCell});case nt.MONTH:return t(Z,{locale:m[this.locale],selectedDate:this.selectedDate,onClickMonthCell:this.onClickMonthCell});case nt.YEAR:return t(et,{selectedDate:this.selectedDate,yearSelection:ot(this.pointerDate.year),onClickYearCell:this.onClickYearCell})}}renderCustomIcon(){const e=p(this.host,"custom-icon")?t("slot",{name:"custom-icon"}):t("six-icon",{size:this.size==="large"?"medium":this.size},"today");return t("span",{slot:"prefix",part:"icon",class:{prefix:true,"prefix--right":this.iconPosition==="right"}},e)}renderClearable(){return this.clearable&&t("button",{slot:"suffix",class:{"datepicker-clear":true,"datepicker-clear--right":this.iconPosition==="left","datepicker-clear--left":this.iconPosition==="right"},type:"button",onClick:this.handleClearClick,tabindex:"-1"},t("six-icon",{size:"small"},"clear"))}render(){var e,i,s;this.adjustPopupPosition();return t("div",{ref:t=>this.wrapper=t,class:"datepicker__container"},t("six-input",{part:"base",value:J(this.value,this.dateFormat),ref:t=>this.inputElement=t,placeholder:this.placeholder,readonly:this.readonly,disabled:this.disabled,name:this.name,label:this.label,required:this.required,"error-text":this.errorText,"error-on-blur":this.errorOnBlur,onClick:()=>this.openCalendar(),size:this.size,class:{"input--empty":!this.value}},this.renderCustomIcon(),this.renderClearable(),p(this.host,"error-text")?t("span",{slot:"error-text"},t("slot",{name:"error-text"})):null,p(this.host,"label")?t("span",{slot:"label"},t("slot",{name:"label"})):null),this.open&&t("div",{part:"popup",ref:t=>this.popup=t,class:{datepicker__popup:true,"datepicker__popup--is-up":this.placement?this.placement==="top":this.isDropDownContentUp,"datepicker__popup--is-inline":this.inline}},this.renderHeader(),this.renderBody(),this.type==="date-time"&&t("six-timepicker",{inline:true,"onSix-timepicker-change-debounced":t=>this.onTimepickerChange(t),value:((e=this.selectedDate)===null||e===void 0?void 0:e.getHours())+":"+((i=this.selectedDate)===null||i===void 0?void 0:i.getMinutes())+":"+((s=this.selectedDate)===null||s===void 0?void 0:s.getSeconds())}),t("div",{class:"datepicker__footer"},t("slot",null))))}adjustPopupPosition(){this.adjustPopupForHoisting();this.adjustPopupForSmallScreens()}moveOpenHoistedPopup(){if(!this.hoist||!this.open){return}const t=this.popup.getBoundingClientRect();const e=t.height;const i=this.inputElement.getBoundingClientRect();const s=i.top;const r=i.height;this.calcIsDropDownContentUp();if(this.isDropDownContentUp){this.popup.style.top=`${s-e}px`}else{this.popup.style.top=`${s+r}px`}}adjustPopupForSmallScreens(){setTimeout((()=>{if(!this.popup){return}const t=this.popup.getBoundingClientRect();const e=()=>{this.popup.style.position="fixed";["top","left","width","height"].forEach((e=>{this.popup.style[e]=`${t[e]}px`}))};if(t.y<0&&window.innerHeight-t.height>0&&Math.abs(t.y)<=t.height){e();this.popup.style.top="0px"}else if(window.innerHeight<t.y+t.height&&window.innerHeight>t.height&&Math.abs(t.y-window.innerHeight)<=t.height){e();this.popup.style.top=`${window.innerHeight-t.height}px`}if(window.innerWidth<t.x+t.width&&window.innerWidth>t.width&&Math.abs(t.x-window.innerWidth)<=t.width){e();this.popup.style.left=`${window.innerWidth-t.width}px`}}),0)}adjustPopupForHoisting(){if(!this.hoist){return}setTimeout((()=>{if(!this.popup){return}const t=this.popup.getBoundingClientRect();this.popup.style.position="fixed";["top","left","width","height"].forEach((e=>{this.popup.style[e]=`${t[e]}px`}));const e=this.inputElement.getBoundingClientRect();const i=e.top;const s=t.top;this.calcIsDropDownContentUp();if(this.isDropDownContentUp&&i<s){this.popup.style.top=`${s-t.height-e.height}px`}}),0)}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this)}disconnectedCallback(){this.eventListeners.removeAll()}displayCustomMessage(t){if(!this.inputElement){return}if(t){void this.setCustomValidity("")}else{const t=this.errorText?this.errorText:"Invalid date format";void this.setCustomValidity(t)}}static getCurrentDateAsPointer(){return{year:b(f()),month:v(f()),day:k(f()),hours:g(f()),minutes:w(f()),seconds:x(f())}}get host(){return s(this)}static get watchers(){return{debounce:["debounceChanged"],value:["valueChanged"]}}};at.style=it;export{at as six_datepicker};
|
|
2
|
-
//# sourceMappingURL=p-f18ba86f.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["i18nDate","en","months","monthsShort","monthsShortGrouped","weekdays","weekdaysShort","weekdaysMin","de","fr","it","now","Date","isValidDate","value","isNil","isNumber","isDate","isNaN","getTime","toString","year","date","getFullYear","Error","month","getMonth","day","getDate","hours","getHours","minutes","getMinutes","seconds","getSeconds","getFirstDayOfTheWeek","weekdayDiff","setDate","getDay","isSameYear","a","b","isSameMonth","isSameDay","isSameWeek","isValidDateString","datestring","format","isString","length","getDateParts","toDate","isInRange","minDate","maxDate","lookAhead","iFormat","match","increment","followingCharacterMatches","charAt","hasProperLength","formatNumber","len","num","String","formatDate","output","FORMATTING_TOKENS","TWO_NUMERICS_REGEX","FOUR_NUMERICS_REGEX","NON_NUMERIC_REGEX","YEAR","MONTH","DAY","HOUR","MINUTE","SECOND","parseFlags","addParseFlag","token","regex","callback","tokens","Array","isArray","func","input","parseInt","forEach","key","cent","Math","floor","getFullInputArray","backupDate","result","backupArr","useBackup","i","undefined","createDate","hour","minute","second","isFinite","setFullYear","makeParser","dateString","mark","parseTo","word","replace","indexOf","substr","parser","exec","obj","Object","assign","getCleanDateString","dirtyDateString","separator","split","map","s","join","inputArray","parsedDate","e","NaN","createCalendarGrid","calendarGridArguments","firstDateOfBox","allowedDates","dateFormat","selectedDate","pointerDate","weekDatePointer","dayDatePointer","calendar","row","display","label","isToday","isSelected","isDisabled","isOutdated","SixDateFormats","MonthSelection","locale","onClickMonthCell","isSelectedMonth","findIndex","m","h","class","part","onClick","DaySelection","calendarGrid","onClickDateCell","weekday","cell","YearSelection","yearSelection","onClickYearCell","sixDatepickerCss","NUMBER_OF_YEARS_SHOWN","MIN_POPUP_HEIGHT","SelectionMode","getYearSelectionAroundYear","numberOfElementsPerRow","from","keys","n","reduce","curr","item","index","push","SixDatepicker","this","eventListeners","EventListeners","defaultValue","handleDocumentKeyDown","event","open","stopPropagation","closePopup","inputElement","setFocus","handleDocumentMouseDown","path","composedPath","includes","container","onTimepickerChange","sixTimepickerChange","time","detail","newDate","setHours","SixTimePropertyName","HOURS","MINUTES","SECONDS","updateValue","updatePointerDates","select","selectedMonth","monthShort","selectionMode","handleInputChange","inputValue","inputValueDate","min","max","updateIfChanged","datesOnly","isDateValid","displayCustomMessage","handleOnBlur","formattedDate","sixBlur","emit","getCurrentDateAsPointer","type","DDMMYYY_DOT","DEFAULT_DEBOUNCE_FAST","debounceChanged","sixSelect","debounceEvent","debounce","valueChanged","isValidValue","console","warn","async","calcIsDropDownContentUp","moveOpenHoistedPopup","adjustPopupPosition","containingElement","host","reportValidity","checkValidity","message","setCustomValidity","reset","wrapper","inputBoundingRect","getBoundingClientRect","wrapperBoundingRect","minPopupHeight","height","moreSpaceInTop","y","window","innerHeight","isDropDownContentUp","bottom","getMonthStringForIndex","previousUnit","previousMonth","previousYear","previousYearGroup","nextUnit","nextMonth","nextYear","nextYearGroup","openCalendar","disabled","setupEventListenersForOpenPopup","add","document","handleClearClick","sixClear","inline","remove","getPointerDate","differsFromPointerDate","defaultDate","_a","closeOnSelect","componentWillLoad","validateProps","componentDidLoad","renderHeader","viewBox","width","d","points","renderBody","renderCustomIcon","icon","hasSlot","name","size","slot","prefix","iconPosition","renderClearable","clearable","tabindex","render","ref","el","placeholder","readonly","required","errorText","errorOnBlur","popup","datepicker__popup","placement","_b","_c","adjustPopupForHoisting","adjustPopupForSmallScreens","hoist","popupBoundingClientRect","popupHeight","inputBoundingClientRect","inputTop","top","inputHeight","style","setTimeout","setPopupAsFixPosition","position","property","abs","innerWidth","x","left","popupTop","connectedCallback","bind","disconnectedCallback","removeAll","valid","static"],"sources":["./src/utils/date-util.ts","./src/components/six-datepicker/six-date-formats.tsx","./src/components/six-datepicker/components/month-selection.tsx","./src/components/six-datepicker/components/day-selection.tsx","./src/components/six-datepicker/components/year-selection.tsx","./src/components/six-datepicker/six-datepicker.scss?tag=six-datepicker&encapsulation=shadow","./src/components/six-datepicker/six-datepicker.tsx"],"sourcesContent":["import { isDate, isNil, isNumber, isString } from './type-check';\nimport { SixDateFormats } from '../components/six-datepicker/six-date-formats';\nimport { CalendarCell } from '../components/six-datepicker/six-datepicker';\n\nexport const i18nDate = {\n en: {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n monthsShortGrouped: [\n ['Jan', 'Feb', 'Mar', 'Apr'],\n ['May', 'Jun', 'Jul', 'Aug'],\n ['Sep', 'Oct', 'Nov', 'Dec'],\n ],\n weekdays: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],\n weekdaysShort: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n weekdaysMin: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],\n },\n de: {\n months: [\n 'Januar',\n 'Februar',\n 'März',\n 'April',\n 'Mai',\n 'Juni',\n 'Juli',\n 'August',\n 'September',\n 'Oktober',\n 'November',\n 'Dezember',\n ],\n monthsShort: ['Jan.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni', 'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'],\n monthsShortGrouped: [\n ['Jan.', 'Feb.', 'März', 'Apr.'],\n ['Mai', 'Juni', 'Juli', 'Aug.'],\n ['Sep.', 'Okt.', 'Nov.', 'Dez.'],\n ],\n weekdays: ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag'],\n weekdaysShort: ['Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.', 'So.'],\n weekdaysMin: ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'],\n },\n fr: {\n months: [\n 'janvier',\n 'février',\n 'mars',\n 'avril',\n 'mai',\n 'juin',\n 'juillet',\n 'août',\n 'septembre',\n 'octobre',\n 'novembre',\n 'décembre',\n ],\n monthsShort: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],\n monthsShortGrouped: [\n ['janv.', 'févr.', 'mars', 'avr.'],\n ['mai', 'juin', 'juil.', 'août'],\n ['sept.', 'oct.', 'nov.', 'déc.'],\n ],\n weekdays: ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'],\n weekdaysShort: ['lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.', 'dim.'],\n weekdaysMin: ['lu', 'ma', 'me', 'je', 've', 'sa', 'di'],\n },\n it: {\n months: [\n 'gennaio',\n 'febbraio',\n 'marzo',\n 'aprile',\n 'maggio',\n 'giugno',\n 'luglio',\n 'agosto',\n 'settembre',\n 'ottobre',\n 'novembre',\n 'dicembre',\n ],\n monthsShort: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'],\n monthsShortGrouped: [\n ['gen', 'feb', 'mar', 'apr'],\n ['mag', 'giu', 'lug', 'ago'],\n ['set', 'ott', 'nov', 'dic'],\n ],\n weekdays: ['lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato', 'domenica'],\n weekdaysShort: ['lun', 'mar', 'mer', 'gio', 'ven', 'sab', 'dom'],\n weekdaysMin: ['lu', 'ma', 'me', 'gi', 've', 'sa', 'do'],\n },\n};\n\n/**\n * Returns a JS Date instance of the exact moment\n *\n * ```typescript\n * const date = now()\n * // Wed Mar 10 2021 20:30:32 GMT+0100 (Central European Standard Time)\n * ```\n */\nexport const now = () => new Date();\n\nexport const pad = (value: number) => String(value).padStart(2, '0');\n\n/**\n * Returns `true` if the given date is valid\n */\nexport const isValidDate = (value: any): boolean => {\n if (isNil(value)) {\n return false;\n }\n\n if (isNumber(value)) {\n return false;\n }\n\n if (isDate(value)) {\n return !isNaN(value.getTime());\n }\n\n return new Date(value).toString() !== 'Invalid Date';\n};\n\n/**\n * Returns the year number of the given date\n *\n * ```typescript\n * year(new Date(2020, 0, 1)) // 2020\n * ```\n */\nexport const year = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getFullYear();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the month number of the given date\n *\n * ```typescript\n * month(new Date(2020, 0, 1)) // 0\n * ```\n */\nexport const month = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getMonth();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the day number of the given date\n *\n * ```typescript\n * day(new Date(2020, 0, 1)) // 1\n * ```\n */\nexport const day = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getDate();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the hours of the given date\n */\nexport const hours = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getHours();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the minutes of the given date\n */\nexport const minutes = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getMinutes();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the seconds of the given date\n */\nexport const seconds = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getSeconds();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the first day of the week of the given date.\n */\nexport const getFirstDayOfTheWeek = (date: Date) => {\n const weekdayDiff = [6, 0, 1, 2, 3, 4, 5];\n const day = new Date(date);\n day.setDate(day.getDate() - weekdayDiff[day.getDay()]);\n return day;\n};\n\n/**\n * Returns `true` when the year of the dates are the same\n */\nexport const isSameYear = (a: Date, b: Date) => a?.getFullYear() === b?.getFullYear();\n\n/**\n * Returns `true` when the month of the dates are the same\n */\nexport const isSameMonth = (a: Date, b: Date) => isSameYear(a, b) && a?.getMonth() === b?.getMonth();\n\n/**\n * Returns `true` when the day of the dates are the same\n */\nexport const isSameDay = (a: Date, b: Date) => isSameMonth(a, b) && a?.getDate() === b?.getDate();\n\n/**\n * Returns `true` when the week of the dates are the same\n */\nexport const isSameWeek = (a: Date, b: Date) => isSameDay(getFirstDayOfTheWeek(a), getFirstDayOfTheWeek(b));\n\nconst localDatetime = (date: Date) => new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\n\n/**\n * Returns the ISO string `yyyy-mm-dd` of the given date\n *\n * ```typescript\n * isoString(new Date(2020, 0, 13)) // '2020-01-13'\n * ```\n */\nexport const isoString = (date: Date | undefined): string => {\n if (isNil(date) || Date.toString() === 'Invalid Date') {\n return '';\n }\n\n return `${year(date)}-${pad(month(date) + 1)}-${pad(day(date))}`;\n};\n\n/**\n * Returns the ISO string `yyyy-mm-dd` of the given parameters year, month and day\n *\n * ```typescript\n * newDateString(2020, 0, 13) // '2020-01-13'\n * or\n * newDateString(new Date(2020, 0, 13)) // '2020-01-13'\n * ```\n */\nexport const newDateString = (yearOrDate: Date | number, month?: number, day?: number): string => {\n let date;\n if (isDate(yearOrDate)) {\n date = localDatetime(yearOrDate);\n } else {\n date = new Date(Date.UTC(yearOrDate, (month as number) - 1, day as number));\n }\n\n return isoString(date);\n};\n\n/**\n * Returns `true` if the given datestring is valid\n */\nexport const isValidDateString = (datestring: string, format: string) => {\n if (!isString(datestring) || !isString(format)) {\n return false;\n }\n\n if (datestring.length < 6 || format.length < 6) {\n return false;\n }\n\n const { day, month } = getDateParts(datestring, format);\n\n if (day > 31 || month > 11 || day <= 0 || month < 0) {\n return false;\n }\n\n const date = toDate(datestring, format);\n\n if (isNil(date)) {\n return false;\n }\n\n return date.toString() !== 'Invalid Date';\n};\n\n/**\n * Returns `true` when the given date is not smaller than the minDate and not bigger than the maxDate.\n *\n * ```typescript\n * isInRange(new Date(2020, 1, 1), new Date(2020, 0, 1), new Date(2020, 2, 1)) // true\n * ```\n */\nexport const isInRange = (date: Date | undefined, minDate: Date | undefined, maxDate: Date | undefined): boolean => {\n if (!date) {\n return true;\n }\n\n if (minDate && date < minDate) {\n return false;\n }\n\n if (maxDate && maxDate < date) {\n return false;\n }\n\n return true;\n};\n\nconst validateTwoDates = (\n first: any,\n second: Date | string | undefined,\n validateFn: (irst: Date, second: Date) => boolean\n) => {\n if (isNil(first) && isNil(second)) {\n return false;\n }\n\n const _first: Date = new Date(first as string | Date);\n const _second: Date = new Date(second as string | Date);\n\n if (!isValidDate(_first) || !isValidDate(_second)) {\n return false;\n }\n\n return validateFn(_first, _second);\n};\n\n/**\n * Returns `true` when the given date is not smaller than the before date.\n *\n * ```typescript\n * isBefore(new Date(2020, 1, 1), new Date(2020, 3, 1)) // true\n * ```\n */\nexport const isBefore = (date: any, beforeDate: Date | string | undefined): boolean =>\n validateTwoDates(date, beforeDate, (first, second) => first < second);\n\n/**\n * Returns `true` when the given date is not smaller than the before date.\n *\n * ```typescript\n * isAfter(new Date(2020, 5, 1), new Date(2020, 3, 1)) // true\n * ```\n */\nexport const isAfter = (date: any, afterDate: Date | string | undefined): boolean =>\n validateTwoDates(date, afterDate, (first, second) => first > second);\n\n/**\n * Increases the year of a date and retunrs the result\n *\n * ```typescript\n * increaseYear(new Date(2020, 0, 1), 1) // 2021\n * ```\n */\nexport const increaseYear = (date: Date, years: number): number => year(date) + years;\n\n/**\n * Decreases the year of a date and retunrs the result\n *\n * ```typescript\n * decreaseYear(new Date(2020, 0, 1), 1) // 2019\n * ```\n */\nexport const decreaseYear = (date: Date, years: number): number => year(date) - years;\n\nconst lookAhead = (iFormat: number, format: string, match: string, length = 2) => {\n const increment = length - 1;\n const followingCharacterMatches = format.charAt(iFormat + increment) === match;\n const hasProperLength = iFormat + increment < format.length;\n return hasProperLength && followingCharacterMatches;\n};\n\nconst formatNumber = (value, len) => {\n let num = String(value);\n\n while (num.length < len) {\n num = '0' + num;\n }\n\n return num;\n};\n\nexport const formatDate = (date: Date, format: string) => {\n if (!date) {\n return '';\n }\n\n let output = '';\n\n for (let iFormat = 0; iFormat < format.length; iFormat++) {\n switch (format.charAt(iFormat)) {\n case 'd':\n if (lookAhead(iFormat, format, 'd')) {\n output += formatNumber(date.getDate(), 2);\n iFormat++;\n } else {\n output += String(date.getDate());\n }\n break;\n case 'm':\n if (lookAhead(iFormat, format, 'm')) {\n output += formatNumber(date.getMonth() + 1, 2);\n iFormat++;\n } else {\n output += String(date.getMonth() + 1);\n }\n break;\n case 'y':\n if (lookAhead(iFormat, format, 'y', 4)) {\n iFormat += 3;\n output += date.getFullYear();\n } else {\n output += (date.getFullYear() % 100 < 10 ? '0' : '') + (date.getFullYear() % 100);\n iFormat++;\n }\n break;\n case 'h':\n if (lookAhead(iFormat, format, 'h')) {\n output += formatNumber(date.getHours(), 2);\n iFormat++;\n } else {\n output += String(date.getHours());\n }\n break;\n case 'M':\n if (lookAhead(iFormat, format, 'M')) {\n output += formatNumber(date.getMinutes(), 2);\n iFormat++;\n } else {\n output += String(date.getMinutes());\n }\n break;\n case 's':\n if (lookAhead(iFormat, format, 's')) {\n output += formatNumber(date.getSeconds(), 2);\n iFormat++;\n } else {\n output += String(date.getSeconds());\n }\n break;\n default:\n output += format.charAt(iFormat);\n }\n }\n return output;\n};\n\nconst daylightSavingAdjust = (date): Date => {\n if (!date) {\n return null;\n }\n\n date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);\n\n return date;\n};\n\nconst getDaysCountInMonth = (month: number, year: number) =>\n 32 - daylightSavingAdjust(new Date(year, month, 32)).getDate();\n\nexport const parseDate = (value: any, format: string, locale: string): Date => {\n if (format == null || value == null) {\n throw 'Invalid arguments';\n }\n\n value = typeof value === 'object' ? value.toString() : value + '';\n if (value === '') {\n return null;\n }\n\n let iFormat;\n let dim;\n let extra;\n let iValue = 0;\n let shortYearCutoff = 100;\n let year = -1;\n let month = -1;\n let day = -1;\n let doy = -1;\n let literal = false;\n let date: Date;\n let lookAhead = (match: string, len = 2) => {\n const increment = len - 1;\n let matches = iFormat + increment < format.length && format.charAt(iFormat + increment) === match;\n if (matches) {\n iFormat += increment;\n }\n return matches;\n };\n let getNumber = (match, len = 2) => {\n let isDoubled = lookAhead(match, len),\n size = match === '@' ? 14 : match === '!' ? 20 : match === 'y' && isDoubled ? 4 : match === 'o' ? 3 : 2,\n minSize = match === 'y' ? size : 1,\n digits = new RegExp('^\\\\d{' + minSize + ',' + size + '}'),\n num = value.substring(iValue).match(digits);\n if (!num) {\n throw 'Missing number at position ' + iValue;\n }\n iValue += num[0].length;\n return parseInt(num[0], 10);\n };\n let getName = (match, shortNames, longNames) => {\n let index = -1;\n let arr = lookAhead(match) ? longNames : shortNames;\n let names = [];\n\n for (let i = 0; i < arr.length; i++) {\n names.push([i, arr[i]]);\n }\n names.sort((a, b) => {\n return -(a[1].length - b[1].length);\n });\n\n for (let i = 0; i < names.length; i++) {\n let name = names[i][1];\n if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {\n index = names[i][0];\n iValue += name.length;\n break;\n }\n }\n\n if (index !== -1) {\n return index + 1;\n } else {\n throw 'Unknown name at position ' + iValue;\n }\n };\n let checkLiteral = () => {\n if (value.charAt(iValue) !== format.charAt(iFormat)) {\n throw 'Unexpected literal at position ' + iValue;\n }\n iValue++;\n };\n\n for (iFormat = 0; iFormat < format.length; iFormat++) {\n if (literal) {\n if (format.charAt(iFormat) === \"'\" && !lookAhead(\"'\")) {\n literal = false;\n } else {\n checkLiteral();\n }\n } else {\n switch (format.charAt(iFormat)) {\n case 'd':\n day = getNumber('d');\n break;\n case 'D':\n getName('D', i18nDate[locale].weekdaysShort, i18nDate[locale].weekdays);\n break;\n case 'm':\n month = getNumber('m');\n break;\n case 'M':\n month = getName('M', i18nDate[locale].monthsShort, i18nDate[locale].months);\n break;\n case 'y':\n year = getNumber('y', 4);\n break;\n default:\n checkLiteral();\n }\n }\n }\n\n if (iValue < value.length) {\n extra = value.substr(iValue);\n if (!/^\\s+/.test(extra)) {\n throw 'Extra/unparsed characters found in date: ' + extra;\n }\n }\n\n if (year === -1) {\n year = new Date().getFullYear();\n } else if (year < 100) {\n year += new Date().getFullYear() - (new Date().getFullYear() % 100) + (year <= shortYearCutoff ? 0 : -100);\n }\n\n if (doy > -1) {\n month = 1;\n day = doy;\n do {\n dim = getDaysCountInMonth(year, month - 1);\n if (day <= dim) {\n break;\n }\n month++;\n day -= dim;\n } while (true);\n }\n\n date = daylightSavingAdjust(new Date(year, month - 1, day));\n if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {\n throw 'Invalid date'; // E.g. 31/02/00\n }\n\n return date;\n};\n\nconst FORMATTING_TOKENS = /(\\[[^\\[]*\\])|(mm|dd|yyyy|yy|hh|MM|ss|.)/g;\n\nconst TWO_NUMERICS_REGEX = /\\d\\d/; // 00 - 99\nconst FOUR_NUMERICS_REGEX = /\\d{4}/; // 0000 - 9999\nconst NON_NUMERIC_REGEX = /[^0-9]/g;\n\nconst YEAR = 'year';\nconst MONTH = 'month';\nconst DAY = 'day';\nconst HOUR = 'hour';\nconst MINUTE = 'minute';\nconst SECOND = 'second';\n\ninterface ParseFlagMark {\n year: number;\n month: number;\n day: number;\n hour: number;\n minute: number;\n second: number;\n date: Date;\n}\n\ntype ParseFlagCallBackReturn = any;\n\ntype ParseFlagRegExp = RegExp | ((locale: any) => RegExp);\ntype ParseFlagCallBack = (input: string) => ParseFlagCallBackReturn;\n\ninterface ParseFlag {\n [key: string]: [ParseFlagRegExp, ParseFlagCallBack];\n}\n\nconst parseFlags: ParseFlag = {};\n\nconst addParseFlag = (token: string | string[], regex: ParseFlagRegExp, callback) => {\n const tokens = Array.isArray(token) ? token : [token];\n let func: ParseFlagCallBack;\n if (typeof callback === 'string') {\n func = (input) => {\n const value = parseInt(input, 10);\n return { [callback]: value };\n };\n } else {\n func = callback;\n }\n tokens.forEach((key) => {\n parseFlags[key] = [regex, func];\n });\n};\n\naddParseFlag('yy', TWO_NUMERICS_REGEX, (input) => {\n const year = new Date().getFullYear();\n const cent = Math.floor(year / 100);\n let value = parseInt(input, 10);\n value = (value > 68 ? cent - 1 : cent) * 100 + value;\n return { [YEAR]: value };\n});\naddParseFlag('yyyy', FOUR_NUMERICS_REGEX, YEAR);\naddParseFlag('mm', TWO_NUMERICS_REGEX, (input) => ({ [MONTH]: parseInt(input, 10) - 1 }));\naddParseFlag('dd', TWO_NUMERICS_REGEX, DAY);\naddParseFlag('hh', TWO_NUMERICS_REGEX, HOUR);\naddParseFlag('MM', TWO_NUMERICS_REGEX, MINUTE);\naddParseFlag('ss', TWO_NUMERICS_REGEX, SECOND);\n\ntype DateArgs = [number, number, number, number, number, number];\n\nconst getFullInputArray = (input: Array<number | undefined>, backupDate = new Date()) => {\n const result: DateArgs = [0, 0, 1, 0, 0, 0];\n const backupArr = [\n backupDate.getFullYear(),\n backupDate.getMonth(),\n backupDate.getDate(),\n backupDate.getHours(),\n backupDate.getMinutes(),\n backupDate.getSeconds(),\n ];\n\n let useBackup = true;\n for (let i = 0; i < 7; i++) {\n if (input[i] === undefined) {\n result[i] = useBackup ? backupArr[i] : result[i];\n } else {\n result[i] = input[i]!;\n useBackup = false;\n }\n }\n return result;\n};\n\nconst createDate = (year: number, month: number, day: number, hour: number, minute: number, second: number) => {\n if (!(year < 100 && year >= 0)) {\n return new Date(year, month, day, hour, minute, second);\n }\n\n const date = new Date(year + 400, month, day, hour, minute, second);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(year);\n }\n return date;\n};\n\nconst makeParser = (dateString: string, format: string) => {\n const tokens = format.match(FORMATTING_TOKENS);\n if (!tokens) {\n throw new Error();\n }\n const { length } = tokens;\n let mark: Partial<ParseFlagMark> = {};\n for (let i = 0; i < length; i += 1) {\n const token = tokens[i];\n const parseTo = parseFlags[token];\n if (!parseTo) {\n const word = token.replace(/^\\[|\\]$/g, '');\n if (dateString.indexOf(word) === 0) {\n dateString = dateString.substr(word.length);\n } else {\n throw new Error('not match');\n }\n } else {\n const regex = parseTo[0] as RegExp;\n const parser = parseTo[1];\n const value = (regex.exec(dateString) || [])[0];\n const obj = parser(value);\n mark = { ...mark, ...obj };\n dateString = dateString.replace(value, '');\n }\n }\n return mark;\n};\n\nconst getCleanDateString = (dirtyDateString: string, format: string) => {\n if (dirtyDateString.length === format.length) {\n return dirtyDateString;\n }\n\n const separator = dirtyDateString.match(NON_NUMERIC_REGEX)[0];\n\n // pad signle digits to follow supported dateformats\n return dirtyDateString\n .split(separator)\n .map((s) => (s.length === 1 ? '0' + s : s))\n .join(separator);\n};\n\nconst getDateParts = (dirtyDateString: string, format: string) => {\n const dateString = getCleanDateString(dirtyDateString, format);\n\n return makeParser(dateString, format);\n};\n\nexport const toDate = (dirtyDateString: string, format: string) => {\n try {\n const { backupDate = new Date() } = {};\n const { year, month, day, hour, minute, second, date } = getDateParts(dirtyDateString, format);\n\n if (date) {\n return date;\n }\n\n const inputArray = [year, month, day, hour, minute, second];\n\n let parsedDate: Date;\n\n const result = getFullInputArray(inputArray, backupDate);\n\n parsedDate = createDate(...result);\n\n return parsedDate;\n } catch (e) {\n return new Date(NaN);\n }\n};\n\nexport interface PointerDate {\n year: number;\n month: number;\n day: number;\n hours: number;\n minutes: number;\n seconds: number;\n}\n\nexport interface CalendarGridArgs {\n firstDateOfBox: Date;\n minDate: Date;\n dateFormat: SixDateFormats;\n pointerDate: { month: number; year: number; day: number };\n allowedDates: (date: Date) => boolean;\n maxDate: Date;\n locale: 'en' | 'de' | 'fr' | 'it';\n selectedDate: Date;\n}\n\nexport const createCalendarGrid = (calendarGridArguments: CalendarGridArgs) => {\n const { firstDateOfBox, allowedDates, dateFormat, selectedDate, minDate, maxDate, pointerDate } =\n calendarGridArguments;\n\n const weekDatePointer = new Date(firstDateOfBox);\n const dayDatePointer = new Date(firstDateOfBox);\n\n let calendar: CalendarCell[][] = [];\n\n do {\n let row: CalendarCell[] = [];\n do {\n row = [\n ...row,\n {\n date: new Date(dayDatePointer),\n display: formatDate(dayDatePointer, dateFormat),\n dateString: formatDate(dayDatePointer, dateFormat),\n label: day(dayDatePointer).toString(),\n isToday: isSameDay(dayDatePointer, now()),\n isSelected: selectedDate && isSameDay(dayDatePointer, selectedDate),\n isDisabled: !allowedDates(dayDatePointer) || !isInRange(dayDatePointer, minDate, maxDate),\n isOutdated: pointerDate.month !== dayDatePointer.getMonth() || !isInRange(dayDatePointer, minDate, maxDate),\n },\n ];\n dayDatePointer.setDate(dayDatePointer.getDate() + 1);\n } while (isSameWeek(dayDatePointer, weekDatePointer));\n calendar = [...calendar, row];\n weekDatePointer.setDate(weekDatePointer.getDate() + 7);\n } while (isSameMonth(new Date(pointerDate.year, pointerDate.month, pointerDate.day), dayDatePointer));\n return calendar;\n};\n","export enum SixDateFormats {\n DDMMYYY_DOT = 'dd.mm.yyyy',\n YYYYMMDD_DASH = 'yyyy-mm-dd',\n DDMMYYYY_DASH = 'dd-mm-yyyy',\n DDMMYYYY_SLASH = 'dd/mm/yyyy',\n YYYYMMDD_SLASH = 'yyyy/mm/dd',\n DDMMYY_DOT = 'dd.mm.yy',\n YYMMDD_DASH = 'yy-mm-dd',\n DDMMYY_DASH = 'dd-mm-yy',\n DDMMYY_SLASH = 'dd/mm/yy',\n YYMMDD_SLASH = 'yy/mm/dd',\n\n DDMMYYY_DOT_TIME = 'dd.mm.yyyy hh:MM:ss',\n YYYYMMDD_DASH_TIME = 'yyyy-mm-dd hh:MM:ss',\n DDMMYYYY_DASH_TIME = 'dd-mm-yyyy hh:MM:ss',\n DDMMYYYY_SLASH_TIME = 'dd/mm/yyyy hh:MM:ss',\n YYYYMMDD_SLASH_TIME = 'yyyy/mm/dd hh:MM:ss',\n DDMMYY_DOT_TIME = 'dd.mm.yy hh:MM:ss',\n YYMMDD_DASH_TIME = 'yy-mm-dd hh:MM:ss',\n DDMMYY_DASH_TIME = 'dd-mm-yy hh:MM:ss',\n DDMMYY_SLASH_TIME = 'dd/mm/yy hh:MM:ss',\n YYMMDD_SLASH_TIME = 'yy/mm/dd hh:MM:ss',\n}\n","import { h } from '@stencil/core';\nimport { now } from '../../../utils/date-util';\n\nexport const MonthSelection = ({ locale, selectedDate, onClickMonthCell }) => {\n const isToday = (value: string) => locale.monthsShort[now().getMonth()] === value;\n\n const isSelectedMonth = (value: string) =>\n selectedDate?.getMonth() === locale.monthsShort.findIndex((m) => m === value);\n\n return (\n <table class=\"datepicker-table\" part=\"month-selection\">\n <tbody>\n {locale.monthsShortGrouped.map((row) => (\n <tr class=\"datepicker-table__row\">\n {row.map((month) => (\n <td\n onClick={() => onClickMonthCell(month)}\n class={{\n 'datepicker-table__cell': true,\n 'datepicker-table__cell--is-today': isToday(month),\n 'datepicker-table__cell--is-selected': isSelectedMonth(month),\n }}\n >\n {month}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n","import { h } from '@stencil/core';\n\nexport const DaySelection = ({ locale, calendarGrid, onClickDateCell }) => {\n return (\n <table class=\"datepicker-table\" part=\"day-selection\">\n <thead part=\"weekday-header\">\n {locale.weekdaysMin.map((weekday) => (\n <th class=\"datepicker__cell\">{weekday}</th>\n ))}\n </thead>\n <tbody>\n {calendarGrid.map((row) => (\n <tr class=\"datepicker-table__row\">\n {row.map((cell) => (\n <td\n data-date={cell.dateString}\n onClick={() => onClickDateCell(cell)}\n class={{\n 'datepicker-table__cell': true,\n 'datepicker-table__cell--is-today': cell.isToday,\n 'datepicker-table__cell--is-selected': cell.isSelected,\n 'datepicker-table__cell--is-outdated': cell.isOutdated,\n 'datepicker-table__cell--is-disabled': cell.isDisabled,\n 'datepicker-table__cell--is-selectable': !cell.isDisabled,\n }}\n >\n {cell.label}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n","import { now } from '../../../utils/date-util';\nimport { h } from '@stencil/core';\n\nexport const YearSelection = ({ selectedDate, yearSelection, onClickYearCell }) => {\n return (\n <table class=\"datepicker-table\" part=\"year-selection\">\n <tbody>\n {yearSelection.map((row) => (\n <tr class=\"datepicker-table__row\">\n {row.map((year) => (\n <td\n onClick={() => onClickYearCell(year)}\n class={{\n 'datepicker-table__cell': true,\n 'datepicker-table__cell--is-today': now().getFullYear() === year,\n 'datepicker-table__cell--is-selected': selectedDate?.getFullYear() === year,\n }}\n >\n {year}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n","@import 'src/global/component';\n\n:host {\n display: block;\n font-family: var(--six-font-family);\n}\n\n.datepicker {\n &__container {\n position: relative;\n }\n\n &__popup {\n min-width: 400px;\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 // fix problem where you would need to jump around with the cursor when switching months and\n // its a dropup since not all months have the same height\n min-height: 382px;\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\n.datepicker-header {\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid var(--six-color-web-rock-400);\n padding: 0.5em;\n margin-bottom: 1em;\n\n & svg {\n fill: var(--six-color-web-rock-900);\n stroke: none;\n }\n\n &__btn {\n cursor: pointer;\n width: 2.5em;\n height: 2.5em;\n display: flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n border-radius: 100%;\n }\n }\n\n &__label {\n display: flex;\n\n & > div {\n cursor: pointer;\n padding: 0.5em;\n display: flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n }\n }\n }\n}\n\n.datepicker-table {\n width: 100%;\n\n &__cell {\n text-align: center;\n width: 2.5rem;\n height: 2.5rem;\n cursor: pointer;\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n }\n\n &--is-today {\n border: 1px solid var(--six-color-web-rock-400);\n }\n\n &--is-selected {\n background-color: var(--six-color-red);\n color: var(--six-color-white);\n }\n\n &--is-disabled {\n background-color: var(--six-color-web-rock-200);\n cursor: initial;\n\n &:hover {\n background-color: var(--six-color-web-rock-200);\n }\n }\n\n &--is-outdated {\n color: var(--six-color-web-rock-400);\n }\n }\n}\n\n// Clearable\n.datepicker-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.input--empty .datepicker-clear {\n visibility: hidden;\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\n// time-picker\nsix-timepicker::part(popup) {\n border: none;\n padding: 0.5em 0.5em 0;\n min-height: 0;\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport {\n createCalendarGrid,\n day,\n formatDate,\n getFirstDayOfTheWeek,\n hours,\n i18nDate,\n isValidDate,\n isValidDateString,\n minutes,\n month,\n now,\n PointerDate,\n seconds,\n toDate,\n year,\n} from '../../utils/date-util';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { isNil } from '../../utils/type-check';\nimport { debounce, debounceEvent, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { SixDateFormats } from './six-date-formats';\nimport { MonthSelection } from './components/month-selection';\nimport { DaySelection } from './components/day-selection';\nimport { YearSelection } from './components/year-selection';\nimport { SixTimepickerChange } from '../six-timepicker/six-timepicker';\nimport { SixTimePropertyName } from '../six-timepicker/six-timepicker.types';\n\nconst NUMBER_OF_YEARS_SHOWN = 25;\n\nconst MIN_POPUP_HEIGHT = 400;\n\nexport type SixDatepickerSelectPayload = Date | undefined | null;\n\nexport interface CalendarCell {\n date: Date;\n dateString: string;\n display: string;\n isDisabled: boolean;\n isOutdated: boolean;\n isSelected: boolean;\n isToday: boolean;\n label: string;\n}\n\nenum SelectionMode {\n DAY = 'day',\n MONTH = 'month',\n YEAR = 'year',\n}\n\nconst getYearSelectionAroundYear = (year: number): number[][] => {\n const numberOfElementsPerRow = 5;\n return Array.from(new Array(NUMBER_OF_YEARS_SHOWN).keys())\n .map((n) => n + year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2))\n .reduce((curr, item, index) => {\n if (index % numberOfElementsPerRow === 0) {\n curr.push([]);\n }\n\n curr[curr.length - 1].push(item);\n\n return curr;\n }, []);\n};\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define a footer for the date picker.\n */\n@Component({\n tag: 'six-datepicker',\n styleUrl: 'six-datepicker.scss',\n shadow: true,\n})\nexport class SixDatepicker {\n private readonly eventListeners = new EventListeners();\n\n private inputElement: HTMLSixInputElement;\n\n private popup: HTMLElement;\n\n private wrapper: HTMLElement;\n\n @Element()\n readonly host: HTMLSixDatepickerElement;\n\n private selectedDate: Date | null = null;\n\n @State() private pointerDate = SixDatepicker.getCurrentDateAsPointer();\n @State() selectionMode: SelectionMode = SelectionMode.DAY;\n @State() isDropDownContentUp = false;\n\n /**\n * Set the type.\n */\n @Prop() type: 'date' | 'date-time' = 'date';\n\n /**\n * The language used to render the weekdays and months.\n */\n @Prop() locale: 'en' | 'de' | 'fr' | 'it' = 'en';\n\n /** Indicates whether or not the calendar 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 calendar 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 date via the component in the popup, 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 * Callback to determine which date in the datepicker should be selectable.\n * the callback function will get a datestring as an argument, e.g. '2021-07-04'\n *\n * Usage e.g.:\n * const datepicker = document.getElementById('allowed-date-picker');\n * datepicker.allowedDates = datestring => parseInt(datestring.split('-')[2], 10) % 2 === 0;\n */\n @Prop() allowedDates: (date: Date) => boolean = () => true;\n\n /**\n * The minimum datetime allowed. Value must be a date object\n */\n @Prop() min?: Date | null = null;\n\n /**\n * The maximum datetime allowed. Value must be a date object\n */\n @Prop() max?: Date | null = null;\n\n /**\n * Closes the datepicker dropdown after selection\n */\n @Prop() closeOnSelect = this.type === 'date';\n\n /**\n * The enforced placement of the dropdown panel.\n */\n @Prop() placement: 'top' | 'bottom';\n\n /** Datepicker 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 date to defines where the datepicker popup starts. The prop accepts ISO 8601 date strings (YYYY-MM-DD).\n */\n @Prop() defaultDate?: string | null;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string | null;\n\n /**\n * The value of the form field, which accepts a date object.\n */\n @Prop({ mutable: true }) value?: Date | null = null;\n\n /** The dropdown will close when the user interacts outside of this element (e.g. clicking). */\n @Prop() containingElement: HTMLElement;\n\n /** Define the dateFormat. Valid formats are:\n * 'dd.mm.yyyy'\n * 'yyyy-mm-dd'\n * 'dd-mm-yyyy'\n * 'dd/mm/yyyy'\n * 'yyyy/mm/dd'\n * 'dd.mm.yy'\n * 'yy-mm-dd'\n * 'dd-mm-yy'\n * 'dd/mm/yy'\n * 'yy/mm/dd'\n * */\n @Prop() dateFormat: SixDateFormats = SixDateFormats.DDMMYYY_DOT;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `dateChange` event after each keystroke.\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\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 @Watch('debounce')\n protected debounceChanged() {\n this.sixSelect = debounceEvent(this.sixSelect, this.debounce);\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n // map unreadable values to undefined to make the datepicker fault-tolerant\n if (this.isValidValue()) {\n console.warn('Encountered unreadable date, will map to undefined. Received value', this.value);\n this.value = undefined;\n return;\n }\n\n this.selectedDate = this.value;\n this.updatePointerDates();\n this.sixSelect.emit(this.value);\n }\n\n /**\n * Emitted when a option got selected.\n */\n @Event({ eventName: 'six-datepicker-select' }) sixSelect: EventEmitter<SixDatepickerSelectPayload>;\n\n /**\n * Emitted when the clear button is activated.\n */\n @Event({ eventName: 'six-datepicker-clear' }) sixClear: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when a option got selected.\n */\n @Event({ eventName: 'six-datepicker-blur' }) sixBlur: EventEmitter<SixDatepickerSelectPayload>;\n\n @Listen('resize', { target: 'window' })\n async resizeHandler() {\n this.calcIsDropDownContentUp();\n this.moveOpenHoistedPopup();\n this.adjustPopupPosition();\n }\n\n @Listen('scroll', { target: 'window' })\n async scrollHandler() {\n this.calcIsDropDownContentUp();\n this.moveOpenHoistedPopup();\n }\n\n private defaultValue: Date = null;\n\n get container() {\n return this.containingElement || this.host;\n }\n\n get firstDateOfBox(): Date {\n const date = new Date(this.pointerDate.year, this.pointerDate.month, 1);\n return getFirstDayOfTheWeek(date);\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.value = this.defaultValue;\n this.inputElement.value = formatDate(this.defaultValue, this.dateFormat);\n await this.inputElement.reset();\n }\n\n private isValidValue() {\n if (this.value === undefined || this.value === null) {\n return false;\n }\n\n if (!(this.value instanceof Date)) {\n return true;\n }\n\n return this.value instanceof Date && isNaN(this.value as any);\n }\n\n get calendarGrid() {\n return createCalendarGrid({\n firstDateOfBox: this.firstDateOfBox,\n allowedDates: this.allowedDates,\n dateFormat: this.dateFormat,\n locale: this.locale,\n selectedDate: this.selectedDate,\n minDate: this.min,\n maxDate: this.max,\n pointerDate: this.pointerDate,\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 private getMonthStringForIndex(index: number) {\n return i18nDate[this.locale].months[index];\n }\n\n private previousUnit() {\n if (this.selectionMode === SelectionMode.DAY) {\n this.previousMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.previousYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.previousYearGroup();\n }\n }\n\n private previousYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - 1 };\n }\n\n private previousYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - NUMBER_OF_YEARS_SHOWN };\n }\n\n private previousMonth() {\n if (this.pointerDate.month === 0) {\n this.pointerDate = { year: this.pointerDate.year - 1, month: 11, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month - 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextUnit() {\n if (this.selectionMode === SelectionMode.DAY) {\n this.nextMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.nextYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.nextYearGroup();\n }\n }\n\n private nextMonth() {\n if (this.pointerDate.month === 11) {\n this.pointerDate = { year: this.pointerDate.year + 1, month: 0, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month + 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + 1 };\n }\n\n private nextYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + NUMBER_OF_YEARS_SHOWN };\n }\n\n openCalendar() {\n if (!this.open && !this.disabled) {\n this.open = true;\n this.setupEventListenersForOpenPopup();\n }\n }\n\n private setupEventListenersForOpenPopup() {\n this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n handleDocumentKeyDown = (event: KeyboardEvent) => {\n // Close when escape is pressed\n if (this.open && event.key === 'Escape') {\n event.stopPropagation();\n this.closePopup();\n void this.inputElement.setFocus();\n }\n\n // Handle tabbing\n if (event.key === 'Tab') {\n this.closePopup();\n }\n };\n\n handleDocumentMouseDown = (event: MouseEvent) => {\n // Close when clicking outside of the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.container)) {\n this.closePopup();\n return;\n }\n };\n\n handleClearClick(event: MouseEvent) {\n event.stopPropagation();\n void this.select(undefined);\n this.sixClear.emit();\n }\n\n private closePopup() {\n if (this.inline) {\n return;\n }\n\n this.open = false;\n this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n this.selectionMode = SelectionMode.DAY;\n }\n\n private updatePointerDates() {\n const date = this.getPointerDate();\n if (this.differsFromPointerDate(date)) {\n this.pointerDate = {\n year: year(date),\n month: month(date),\n day: day(date),\n hours: hours(date),\n minutes: minutes(date),\n seconds: seconds(date),\n };\n }\n }\n\n private differsFromPointerDate(date: Date): boolean {\n return (\n this.pointerDate.day !== day(date) ||\n this.pointerDate.month !== month(date) ||\n this.pointerDate.year !== year(date) ||\n this.pointerDate.hours !== hours(date) ||\n this.pointerDate.minutes !== minutes(date) ||\n this.pointerDate.seconds !== seconds(date)\n );\n }\n\n private getPointerDate() {\n if (this.selectedDate !== undefined && this.selectedDate !== null) {\n return this.selectedDate;\n }\n\n if (isNil(this.defaultDate)) {\n return now();\n } else {\n return this.defaultDate && toDate(this.defaultDate, this.dateFormat);\n }\n }\n\n private updateValue(newDate: Date | undefined | null) {\n this.displayCustomMessage(true);\n this.updateIfChanged(newDate);\n }\n\n updateIfChanged(newDate: Date) {\n if (this.value?.getTime() === newDate?.getTime()) {\n return;\n }\n\n this.value = newDate;\n }\n\n /**\n * Selects an option\n */\n @Method()\n async select(datestring: string) {\n if (!datestring) {\n this.updateValue(undefined);\n } else {\n const newDate = toDate(datestring, this.dateFormat);\n newDate.setHours(this.pointerDate.hours, this.pointerDate.minutes, this.pointerDate.seconds);\n this.updateValue(newDate);\n }\n\n this.updatePointerDates();\n\n if (this.closeOnSelect) {\n this.closePopup();\n }\n }\n\n onTimepickerChange = (sixTimepickerChange: CustomEvent<SixTimepickerChange>) => {\n const time = sixTimepickerChange.detail.value;\n const newDate = new Date();\n\n if (this.selectedDate) {\n newDate.setFullYear(this.selectedDate.getFullYear(), this.selectedDate.getMonth(), this.selectedDate.getDate());\n }\n\n newDate.setHours(\n time[SixTimePropertyName.HOURS],\n time[SixTimePropertyName.MINUTES],\n time[SixTimePropertyName.SECONDS]\n );\n\n this.updateValue(newDate);\n this.updatePointerDates();\n };\n\n onClickDateCell = (cell: CalendarCell) => {\n if (!cell.isDisabled) {\n void this.select(cell.dateString);\n }\n };\n\n onClickMonthCell = (selectedMonth: string) => {\n const month = i18nDate[this.locale].monthsShort.findIndex((monthShort) => monthShort === selectedMonth);\n this.pointerDate = { ...this.pointerDate, month };\n this.selectionMode = SelectionMode.DAY;\n };\n\n onClickYearCell = (year: number) => {\n this.pointerDate = { ...this.pointerDate, year };\n this.selectionMode = SelectionMode.DAY;\n };\n\n handleInputChange = (event: Event) => {\n const inputValue = this.inputElement.value;\n\n if (!isValidDateString(inputValue, this.dateFormat)) {\n return;\n }\n\n const inputValueDate = toDate(inputValue, this.dateFormat);\n\n if (inputValueDate === undefined) {\n return;\n }\n\n if (this.min && this.min.getTime() > inputValueDate.getTime()) {\n return;\n }\n\n if (this.max && this.max.getTime() < inputValueDate.getTime()) {\n return;\n }\n\n this.updateIfChanged(inputValueDate);\n event.stopPropagation();\n\n const datesOnly = inputValue.replace(/[^\\d]/g, '');\n\n let isDateValid = !inputValue;\n\n if (inputValue && datesOnly.length >= 6) {\n const date = toDate(inputValue, this.dateFormat);\n const datestring = formatDate(date, this.dateFormat);\n if (isValidDateString(datestring, this.dateFormat)) {\n this.selectedDate = toDate(datestring, this.dateFormat);\n this.updatePointerDates();\n this.updateValue(this.selectedDate);\n isDateValid = true;\n }\n }\n this.displayCustomMessage(isDateValid);\n };\n\n handleOnBlur = (event: Event) => {\n // clear the value if the user deleted the date\n if (this.inputElement.value === '' && isValidDate(this.value)) {\n this.value = undefined;\n }\n\n event.stopPropagation();\n const inputValue = this.inputElement.value;\n const inputValueDate = toDate(inputValue, this.dateFormat);\n const formattedDate = formatDate(this.value, this.dateFormat);\n\n if (inputValueDate && inputValue !== formattedDate) {\n // properly format date if necessary\n this.inputElement.value = formattedDate;\n }\n\n this.sixBlur.emit(this.value);\n };\n\n componentWillLoad() {\n this.validateProps();\n\n this.defaultValue = this.value;\n this.selectedDate = this.value;\n this.updatePointerDates();\n this.updateValue(this.value);\n\n if (this.inline) {\n this.open = true;\n }\n\n if (this.open) {\n this.setupEventListenersForOpenPopup();\n }\n }\n\n private validateProps() {\n if (this.value !== null && this.value !== undefined && !(this.value instanceof Date)) {\n throw new Error('Datepicker no longer supports strings as value. Use a date object instead!');\n }\n\n if (this.min !== null && this.min !== undefined && !(this.min instanceof Date)) {\n throw new Error('Datepicker no longer supports strings as min. Use a date object instead!');\n }\n\n if (this.max !== null && this.max !== undefined && !(this.max instanceof Date)) {\n throw new Error('Datepicker no longer supports strings as min. Use a date object instead!');\n }\n }\n\n componentDidLoad() {\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'six-input-blur', this.handleOnBlur);\n }\n\n renderHeader() {\n return (\n <header class=\"datepicker-header\" part=\"header\">\n <div class=\"datepicker-header__btn prev\" onClick={() => this.previousUnit()}>\n <svg viewBox=\"0 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M11.67 3.87L9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z\" />\n </svg>\n </div>\n\n <div class=\"datepicker-header__label\">\n {this.selectionMode === SelectionMode.DAY && (\n <div onClick={() => (this.selectionMode = SelectionMode.MONTH)}>\n <span class=\"datepicker-header__label-month\">{this.getMonthStringForIndex(this.pointerDate.month)}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode !== SelectionMode.YEAR && (\n <div onClick={() => (this.selectionMode = SelectionMode.YEAR)}>\n <span class=\"datepicker-header__label-year\">{this.pointerDate.year}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode === SelectionMode.YEAR && (\n <div>\n {this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2)} –{' '}\n {this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2)}\n </div>\n )}\n </div>\n\n <div class=\"datepicker-header__btn next\" onClick={() => this.nextUnit()}>\n <svg viewBox=\"5 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M5.88 4.12L13.76 12l-7.88 7.88L8 22l10-10L8 2z\" />\n </svg>\n </div>\n </header>\n );\n }\n\n renderBody() {\n switch (this.selectionMode) {\n case SelectionMode.DAY:\n return (\n <DaySelection\n locale={i18nDate[this.locale]}\n calendarGrid={this.calendarGrid}\n onClickDateCell={this.onClickDateCell}\n />\n );\n case SelectionMode.MONTH:\n return (\n <MonthSelection\n locale={i18nDate[this.locale]}\n selectedDate={this.selectedDate}\n onClickMonthCell={this.onClickMonthCell}\n />\n );\n case SelectionMode.YEAR:\n return (\n <YearSelection\n selectedDate={this.selectedDate}\n yearSelection={getYearSelectionAroundYear(this.pointerDate.year)}\n onClickYearCell={this.onClickYearCell}\n />\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}>today</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 renderClearable() {\n return (\n this.clearable && (\n <button\n slot=\"suffix\"\n class={{\n 'datepicker-clear': true,\n 'datepicker-clear--right': this.iconPosition === 'left',\n 'datepicker-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 render() {\n this.adjustPopupPosition();\n\n return (\n <div ref={(el) => (this.wrapper = el)} class=\"datepicker__container\">\n <six-input\n part=\"base\"\n value={formatDate(this.value, this.dateFormat)}\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n name={this.name}\n label={this.label}\n required={this.required}\n error-text={this.errorText}\n error-on-blur={this.errorOnBlur}\n onClick={() => this.openCalendar()}\n size={this.size}\n class={{ 'input--empty': !this.value }}\n >\n {this.renderCustomIcon()}\n {this.renderClearable()}\n\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 part=\"popup\"\n ref={(el) => (this.popup = el)}\n class={{\n datepicker__popup: true,\n 'datepicker__popup--is-up': this.placement ? this.placement === 'top' : this.isDropDownContentUp,\n 'datepicker__popup--is-inline': this.inline,\n }}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.type === 'date-time' && (\n <six-timepicker\n inline={true}\n onSix-timepicker-change-debounced={(event) => this.onTimepickerChange(event)}\n value={\n this.selectedDate?.getHours() +\n ':' +\n this.selectedDate?.getMinutes() +\n ':' +\n this.selectedDate?.getSeconds()\n }\n ></six-timepicker>\n )}\n <div class=\"datepicker__footer\">\n <slot />\n </div>\n </div>\n )}\n </div>\n );\n }\n\n private adjustPopupPosition() {\n this.adjustPopupForHoisting();\n this.adjustPopupForSmallScreens();\n }\n\n /*\n * The position of the hoisted datepicker 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 datepicker 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.calcIsDropDownContentUp();\n\n if (this.isDropDownContentUp) {\n this.popup.style.top = `${inputTop - popupHeight}px`;\n } else {\n this.popup.style.top = `${inputTop + inputHeight}px`;\n }\n }\n\n /*\n * For small screens the datepicker popup could be cut-off even though there might still be space within the viewport.\n * This is because the popup is always aligned with the trigger input field. However in the scenario of small screens\n * we should reposition the popup to use the space available.\n */\n private adjustPopupForSmallScreens() {\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 const popupBoundingClientRect = this.popup.getBoundingClientRect();\n\n const setPopupAsFixPosition = () => {\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\n if (\n popupBoundingClientRect.y < 0 &&\n window.innerHeight - popupBoundingClientRect.height > 0 &&\n Math.abs(popupBoundingClientRect.y) <= popupBoundingClientRect.height\n ) {\n // handle case where popup is cut-off on top but there is still space available\n\n setPopupAsFixPosition();\n this.popup.style.top = '0px';\n } else if (\n window.innerHeight < popupBoundingClientRect.y + popupBoundingClientRect.height &&\n window.innerHeight > popupBoundingClientRect.height &&\n Math.abs(popupBoundingClientRect.y - window.innerHeight) <= popupBoundingClientRect.height\n ) {\n // handle case where popup is cut-off at the bottom but there is still space available above\n // apply screen position to fixed popup\n setPopupAsFixPosition();\n this.popup.style.top = `${window.innerHeight - popupBoundingClientRect.height}px`;\n }\n\n if (\n window.innerWidth < popupBoundingClientRect.x + popupBoundingClientRect.width &&\n window.innerWidth > popupBoundingClientRect.width &&\n Math.abs(popupBoundingClientRect.x - window.innerWidth) <= popupBoundingClientRect.width\n ) {\n // handle case where popup is cut-off to the right\n setPopupAsFixPosition();\n this.popup.style.left = `${window.innerWidth - popupBoundingClientRect.width}px`;\n }\n }, 0);\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 datepicker is at bottom of screen\n this.popup.style.top = `${popupTop - popupBoundingClientRect.height - inputBoundingClientRect.height}px`;\n }\n }, 0);\n }\n\n connectedCallback() {\n this.handleClearClick = this.handleClearClick.bind(this);\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private displayCustomMessage(valid: boolean) {\n if (!this.inputElement) {\n return;\n }\n if (valid) {\n void this.setCustomValidity('');\n } else {\n const message = this.errorText ? this.errorText : 'Invalid date format';\n void this.setCustomValidity(message);\n }\n }\n\n private static getCurrentDateAsPointer(): PointerDate {\n return {\n year: year(now()),\n month: month(now()),\n day: day(now()),\n hours: hours(now()),\n minutes: minutes(now()),\n seconds: seconds(now()),\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as o,g as i}from"./p-ac4f4d45.js";const r=class{constructor(o){t(this,o);this.value={}}componentWillLoad(){this.injectAttrs()}attrsUpdated(){this.injectAttrs()}injectAttrs(){const t=this.host.firstElementChild;if(typeof(t===null||t===void 0?void 0:t.assignedElements)!=="function"){return}const o=t.assignedElements().pop();if(!o){return}const i={undefined:t=>o.removeAttribute(t),boolean:(t,i)=>{if(i){o.setAttribute(t,"")}else{o.removeAttribute(t)}},number:(t,i)=>o.setAttribute(t,i),string:(t,i)=>o.setAttribute(t,i),object:(t,i)=>o.setAttribute(t,JSON.stringify(i))};for(const[t,o]of Object.entries(this.value)){i[typeof o](t,o)}}render(){return o("slot",null)}get host(){return i(this)}static get watchers(){return{value:["attrsUpdated"]}}};const s=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:grid}.center-content{display:grid;align-self:center;justify-self:center;grid-gap:5px;grid-auto-flow:column}.align-item{margin:auto}.indicator,.indicator--acceptance,.indicator--etu,.indicator--dev,.indicator--itu{font-family:var(--six-font-family);font-size:14px;font-weight:var(--six-font-weight-bold);display:grid;align-content:center;width:100%;height:24px}.indicator--itu{background-color:var(--six-color-success-600);color:var(--six-color-web-rock-900)}.indicator--dev{background-color:var(--six-color-web-rock-900);color:var(--six-color-white)}.indicator--etu{background-color:var(--six-color-action-600);color:var(--six-color-white)}.indicator--acceptance{background-color:var(--six-color-warning-800);color:var(--six-color-web-rock-900)}";const n=class{constructor(o){t(this,o);this.stage=null}render(){return this.stage==null||this.stage=="PROD"?null:o("div",{class:`indicator--${this.stage.toLowerCase()}`},o("div",{class:"center-content"},o("six-icon",{class:"align-item",size:"small"},"error_outline"),o("span",{class:"align-item"},o("slot",null))))}};n.style=s;export{r as set_attributes,n as six_stage_indicator};
|
|
2
|
-
//# sourceMappingURL=p-f4938771.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["SetAttributes","componentWillLoad","this","injectAttrs","attrsUpdated","slot","host","firstElementChild","assignedElements","child","pop","types","undefined","key","removeAttribute","boolean","value","setAttribute","number","string","object","JSON","stringify","Object","entries","render","h","sixStageIndicatorCss","SixStageIndicator","stage","class","toLowerCase","size"],"sources":["./src/wrappers/set-attributes/set-attributes.tsx","./src/components/six-stage-indicator/six-stage-indicator.scss?tag=six-stage-indicator&encapsulation=shadow","./src/components/six-stage-indicator/six-stage-indicator.tsx"],"sourcesContent":["import { Component, Element, Watch, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'set-attributes',\n})\nexport class SetAttributes {\n @Element() host: HTMLSetAttributesElement;\n\n /** Attributes map */\n @Prop() value = {};\n\n componentWillLoad() {\n this.injectAttrs();\n }\n\n @Watch('value')\n attrsUpdated() {\n this.injectAttrs();\n }\n\n injectAttrs() {\n const slot = this.host.firstElementChild as HTMLSlotElement;\n\n if (typeof slot?.assignedElements !== 'function') {\n return;\n }\n\n const child = slot.assignedElements().pop();\n\n if (!child) {\n return;\n }\n\n const types = {\n // no need for function and bigint\n undefined: (key) => child.removeAttribute(key),\n boolean: (key, value) => {\n if (value) {\n child.setAttribute(key, '');\n } else {\n child.removeAttribute(key);\n }\n },\n number: (key, value) => child.setAttribute(key, value),\n string: (key, value) => child.setAttribute(key, value),\n object: (key, value) => child.setAttribute(key, JSON.stringify(value)),\n };\n\n for (const [key, value] of Object.entries(this.value)) {\n types[typeof value](key, value);\n }\n }\n\n render() {\n return <slot />;\n }\n}\n","@import 'src/global/component';\n\n:host {\n display: grid;\n}\n\n.center-content {\n display: grid;\n align-self: center;\n justify-self: center;\n grid-gap: 5px;\n grid-auto-flow: column;\n}\n\n.align-item {\n margin: auto;\n}\n\n.indicator {\n font-family: var(--six-font-family);\n font-size: 14px;\n font-weight: var(--six-font-weight-bold);\n display: grid;\n align-content: center;\n width: 100%;\n height: 24px;\n\n &--itu {\n @extend .indicator;\n background-color: var(--six-color-success-600);\n color: var(--six-color-web-rock-900);\n }\n\n &--dev {\n @extend .indicator;\n background-color: var(--six-color-web-rock-900);\n color: var(--six-color-white);\n }\n\n &--etu {\n @extend .indicator;\n background-color: var(--six-color-action-600);\n color: var(--six-color-white);\n }\n\n &--acceptance {\n @extend .indicator;\n background-color: var(--six-color-warning-800);\n color: var(--six-color-web-rock-900);\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\nexport type StageType = 'DEV' | 'ITU' | 'ETU' | 'ACCEPTANCE' | 'PROD' | null;\n\n@Component({\n tag: 'six-stage-indicator',\n styleUrl: 'six-stage-indicator.scss',\n shadow: true,\n})\nexport class SixStageIndicator {\n /** The indicators value attribute */\n @Prop() stage: StageType = null;\n\n render() {\n return this.stage == null || this.stage == 'PROD' ? null : (\n <div class={`indicator--${this.stage.toLowerCase()}`}>\n <div class=\"center-content\">\n <six-icon class=\"align-item\" size=\"small\">\n error_outline\n </six-icon>\n <span class={'align-item'}>\n <slot />\n </span>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"wDAKaA,EAAa,M,oCAIR,E,CAEhBC,oBACEC,KAAKC,a,CAIPC,eACEF,KAAKC,a,CAGPA,cACE,MAAME,EAAOH,KAAKI,KAAKC,kBAEvB,UAAWF,IAAI,MAAJA,SAAI,SAAJA,EAAMG,oBAAqB,WAAY,CAChD,M,CAGF,MAAMC,EAAQJ,EAAKG,mBAAmBE,MAEtC,IAAKD,EAAO,CACV,M,CAGF,MAAME,EAAQ,CAEZC,UAAYC,GAAQJ,EAAMK,gBAAgBD,GAC1CE,QAAS,CAACF,EAAKG,KACb,GAAIA,EAAO,CACTP,EAAMQ,aAAaJ,EAAK,G,KACnB,CACLJ,EAAMK,gBAAgBD,E,GAG1BK,OAAQ,CAACL,EAAKG,IAAUP,EAAMQ,aAAaJ,EAAKG,GAChDG,OAAQ,CAACN,EAAKG,IAAUP,EAAMQ,aAAaJ,EAAKG,GAChDI,OAAQ,CAACP,EAAKG,IAAUP,EAAMQ,aAAaJ,EAAKQ,KAAKC,UAAUN,KAGjE,IAAK,MAAOH,EAAKG,KAAUO,OAAOC,QAAQtB,KAAKc,OAAQ,CACrDL,SAAaK,GAAOH,EAAKG,E,EAI7BS,SACE,OAAOC,EAAA,Y,kFCtDX,MAAMC,EAAuB,g2B,MCShBC,EAAiB,M,oCAED,I,CAE3BH,SACE,OAAOvB,KAAK2B,OAAS,MAAQ3B,KAAK2B,OAAS,OAAS,KAClDH,EAAA,OAAKI,MAAO,cAAc5B,KAAK2B,MAAME,iBACnCL,EAAA,OAAKI,MAAM,kBACTJ,EAAA,YAAUI,MAAM,aAAaE,KAAK,SAAO,iBAGzCN,EAAA,QAAMI,MAAO,cACXJ,EAAA,e"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as i,g as s}from"./p-ac4f4d45.js";import{I as n,a as r}from"./p-25a3bf57.js";import{D as h,b as o,a as u}from"./p-0786fa7c.js";import{E as c}from"./p-9a860acc.js";const l=".item_picker__container{width:2.5em;display:flex;flex-wrap:wrap;justify-content:center}.item_picker__content{font-size:1.5rem}.item_picker__btn{cursor:pointer;width:2.5em;height:2.5em;display:flex;vertical-align:middle;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--six-color-web-rock-500)}.item_picker__btn:hover{background-color:var(--six-color-web-rock-100);border-radius:100%}.item_picker__btn:active{color:var(--six-color-web-rock-400)}.item_picker__btn--disabled{color:var(--six-color-web-rock-300);cursor:not-allowed}.item_picker__btn--disabled:hover{background-color:initial}.item_picker__btn--disabled:active{color:var(--six-color-web-rock-300)}";const a=65;const d=26;const m=(()=>{const t=Array.from(Array(d)).map(((t,e)=>e+a));const e={};const i=t.map(((t,i)=>{const s=String.fromCharCode(t);e[s]=i;return s}));return{alphabet:i,letterIndexes:e}})();const p=(()=>{const t=[];const e={};for(let i=0;i<m.alphabet.length;i++){const s=m.alphabet[i].toLowerCase();e[s]=t.length;t.push(s)}return{alphabet:t,letterIndexes:e}})();const f=(()=>{const t=[];const e={};for(let i=0;i<m.alphabet.length;i++){const s=m.alphabet[i];e[s]=t.length;t.push(s);const n=p.alphabet[i];e[n]=t.length;t.push(n)}return{alphabet:t,letterIndexes:e}})();const b=t=>{const e={};for(let i=0;i<(t===null||t===void 0?void 0:t.length);i++){e[t[i]]=i}return e};const g=`[SIX-ITEM-PICKER]`;const v=(t,e)=>t-e;const x=(t,e)=>t+e;const _="debounced-item-picker";const I=class{constructor(i){t(this,i);this.sixChange=e(this,"six-item-picker-change",7);this.sixChangeDebounced=e(this,"six-item-picker-change-debounced",7);this.eventListeners=new c;this.handleSixItemPickerChangeDebounced=()=>{this.sixChangeDebounced.emit(this.value)};this.value="";this.type=n.NUMBER;this.min=undefined;this.max=undefined;this.roundtrip=true;this.step=1;this.items=undefined;this.padded=false;this.paddingLength=2;this.paddingChar="0";this.paddingDirection=r.BEFORE;this.timeout=h;this.interval=o;this.debounce=h;this._items=[];this._itemIndexes=undefined}handleValueChange(){this.setup()}debounceChanged(){this.eventListeners.removeByIdentifier(_);this.eventListeners.add(this.host,"six-item-picker-change",u(this.handleSixItemPickerChangeDebounced,this.debounce),_)}handleSetChange(){this.setup();this.min=this._items[0];this.max=this.getLastStringItem()}componentWillLoad(){this.setup()}componentDidLoad(){this.eventListeners.add(this.host,"six-item-picker-change",u(this.handleSixItemPickerChangeDebounced,this.debounce),_)}disconnectedCallback(){this.eventListeners.removeAll()}setup(){if(this.isNumber()){this.setupNumberItems()}else{this.setUpStringItems()}}setupNumberItems(){var t;if(this.isInvalidNumber()){console.warn(`${g} Expected number but value is not a number: "${this.value}"`);console.info(`${g} Will set value to either minimum or if not provided to zero.`);this.value=(t=this.min)!==null&&t!==void 0?t:0}}setUpStringItems(){this._items=this.getItems();if(!this._items){console.warn(`${g}: abort setup because no items were found.`);return}this._itemIndexes=this.getItemIndexes();const t=this._items.find((t=>String(t)===String(this.value)))===undefined;if(t){console.warn(`${g} Expected item from item set but value was not found in set: "${this.value}"`);console.info(`${g} Will set value to either minimum or if not provided to "${this._items[0]}".`);this.value=this._items[0]}if(this.min===undefined){if(!this.roundtrip){console.warn(`${g} Expected a min value`);console.info(`${g} Will set min value to ${this._items[0]}`)}this.min=this._items[0]}if(this.max===undefined){const t=this.getLastStringItem();if(!this.roundtrip){console.warn(`${g} Expected a min value if roundtrip is enabled`);console.info(`${g} Will set min value to ${t}`)}this.max=t}}getLastStringItem(){return this._items[this._items.length-1]}getItems(){return{[n.LETTER]:f.alphabet,[n.CAPITAL_LETTER]:m.alphabet,[n.LOWER_LETTER]:p.alphabet,[n.CUSTOM]:this.items}[this.type]}getItemIndexes(){if(this.type===n.CUSTOM){return b(this.items)}return{[n.LETTER]:f.letterIndexes,[n.CAPITAL_LETTER]:m.letterIndexes,[n.LOWER_LETTER]:p.letterIndexes}[this.type]}previousItem(){if(this.isNumber()){this.previousNumber()}else{this.previousStringItem()}this.sixChange.emit(this.value)}previousNumber(){this.changeValue({isNextItemAllowed:()=>!this.isPreviousNumberDisabled(),getNextItem:()=>Number(this.value)-this.step,getRoundtripItem:()=>Number(this.max),isRoundtripPossible:()=>this.max===undefined&&this.roundtrip})}previousStringItem(){const t=this.value;const e=this.min;this.changeValue({isNextItemAllowed:()=>e===undefined||this.getStringItemIndex(t)>this.getStringItemIndex(e),getNextItem:()=>this.getNextItemByOperation(v),getRoundtripItem:()=>this.max,isRoundtripPossible:()=>this.max===undefined&&this.roundtrip})}nextItem(){if(this.isNumber()){this.nextNumber()}else{this.nextStringItem()}this.sixChange.emit(this.value)}nextNumber(){this.changeValue({isNextItemAllowed:()=>!this.isNextNumberDisabled(),getNextItem:()=>Number(this.value)+this.step,getRoundtripItem:()=>Number(this.min),isRoundtripPossible:()=>this.min===undefined&&this.roundtrip})}getStringItemIndex(t){return this._itemIndexes[t]}nextStringItem(){const t=this.value;const e=this.max;this.changeValue({isNextItemAllowed:()=>e===undefined||this.getStringItemIndex(t)<this.getStringItemIndex(e),getNextItem:()=>this.getNextItemByOperation(x),getRoundtripItem:()=>this.min,isRoundtripPossible:()=>this.min===undefined&&this.roundtrip})}getNextItemByOperation(t){const e=this.value;const i=t(this.getStringItemIndex(e),this.step);const s=this._items.length;const n=(i%s+s)%s;return this._items[n]}changeValue(t){if(t.isNextItemAllowed()){this.value=t.getNextItem();return}if(t.isRoundtripPossible()){console.error(`${g} Item picker is expected to perform a roundtrip, but either max or min value is missing so a roundtrip is not possible`);return}if(this.roundtrip){this.value=t.getRoundtripItem();return}console.warn(`${g} Roundtrip is not allowed, but was still triggered, please report this issue to the developer of six-item-picker`)}isNumber(){return this.type===n.NUMBER}isInvalidNumber(){return this.value===""||!!isNaN(this.value)}isNextDisabled(){if(this.roundtrip){return false}if(this.isNumber()){return this.isNextNumberDisabled()}else{if(!this._itemIndexes){return true}return this._itemIndexes[String(this.value)]+this.step>this._itemIndexes[String(this.max)]}}isNextNumberDisabled(){var t;return Number(this.value)+this.step>((t=this.max)!==null&&t!==void 0?t:Infinity)}isPrevDisabled(){if(this.roundtrip){return false}if(this.isNumber()){return this.isPreviousNumberDisabled()}else{if(!this._itemIndexes){return true}return this._itemIndexes[String(this.value)]-this.step<this._itemIndexes[String(this.min)]}}isPreviousNumberDisabled(){var t;return Number(this.value)-this.step<((t=this.min)!==null&&t!==void 0?t:-Infinity)}onMouseDownNext(){if(this.isNextDisabled()){return}this.nextItem();this._timeoutNext=setTimeout((()=>{this._intervalNext=setInterval((()=>{this.nextItem()}),this.interval)}),this.timeout)}onMouseUpNext(){clearTimeout(this._timeoutNext);clearInterval(this._intervalNext)}onMouseDownPrev(){if(this.isPrevDisabled()){return}this.previousItem();this._timeoutPrev=setTimeout((()=>{this._intervalPrev=setInterval((()=>{this.previousItem()}),this.interval)}),this.timeout)}onMouseUpPrev(){clearTimeout(this._timeoutPrev);clearInterval(this._intervalPrev)}getFormattedValue(){if(this.value===undefined||this.value===null){return this.value}if(!this.padded){return this.value}if(this.paddingDirection===r.BEFORE){return String(this.value).padStart(this.paddingLength,this.paddingChar)}else if(this.paddingDirection===r.AFTER){return String(this.value).padEnd(this.paddingLength,this.paddingChar)}return this.value}render(){return i("div",{part:"container",class:"item_picker__container"},i("div",{part:"up",class:{item_picker__btn:true,"item_picker__btn--disabled":this.isNextDisabled()},onMouseDown:()=>this.onMouseDownNext(),onMouseUp:()=>this.onMouseUpNext()},i("six-icon",{size:"large"},"expand_less")),i("div",{part:"content",class:"item_picker__content"},this.getFormattedValue()),i("div",{part:"down",class:{item_picker__btn:true,"item_picker__btn--disabled":this.isPrevDisabled()},onMouseDown:()=>this.onMouseDownPrev(),onMouseUp:()=>this.onMouseUpPrev()},i("six-icon",{size:"large"},"expand_more")))}get host(){return s(this)}static get watchers(){return{value:["handleValueChange"],debounce:["debounceChanged"],items:["handleSetChange"]}}};I.style=l;export{I as six_item_picker};
|
|
2
|
-
//# sourceMappingURL=p-f70e2403.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["sixItemPickerCss","A_CHARCODE","NUMBER_OF_LETTERS","CAPITAL_ALPHABET","alphabetCodes","Array","from","map","_","i","letterIndexes","alphabet","charCode","index","character","String","fromCharCode","LOWERCASE_ALPHABET","length","lowercaseCharacter","toLowerCase","push","ALPHABET","capitalCharacter","lowerCharacter","createItemIndexes","arr","itemIndexes","TAG","subtract","a","b","add","DEBOUNCE_ITEM_PICKER_LISTENER","SixItemPicker","this","eventListeners","EventListeners","handleSixItemPickerChangeDebounced","sixChangeDebounced","emit","value","ItemPickerType","NUMBER","ItemPickerPaddingDirection","BEFORE","DEFAULT_DEBOUNCE_FAST","DEFAULT_DEBOUNCE_INSANELY_FAST","handleValueChange","setup","debounceChanged","removeByIdentifier","host","debounce","handleSetChange","min","_items","max","getLastStringItem","componentWillLoad","componentDidLoad","disconnectedCallback","removeAll","isNumber","setupNumberItems","setUpStringItems","isInvalidNumber","console","warn","info","_a","getItems","_itemIndexes","getItemIndexes","itemsMissValue","find","undefined","roundtrip","maxItem","LETTER","CAPITAL_LETTER","LOWER_LETTER","CUSTOM","items","type","previousItem","previousNumber","previousStringItem","sixChange","changeValue","isNextItemAllowed","isPreviousNumberDisabled","getNextItem","Number","step","getRoundtripItem","isRoundtripPossible","minLetter","getStringItemIndex","getNextItemByOperation","nextItem","nextNumber","nextStringItem","isNextNumberDisabled","char","maxLetter","operation","nextIndexCandidate","numberOfItems","nextIndex","params","error","isNaN","isNextDisabled","Infinity","isPrevDisabled","onMouseDownNext","_timeoutNext","setTimeout","_intervalNext","setInterval","interval","timeout","onMouseUpNext","clearTimeout","clearInterval","onMouseDownPrev","_timeoutPrev","_intervalPrev","onMouseUpPrev","getFormattedValue","padded","paddingDirection","padStart","paddingLength","paddingChar","AFTER","padEnd","render","h","part","class","item_picker__btn","onMouseDown","onMouseUp","size"],"sources":["./src/components/six-item-picker/six-item-picker.scss?tag=six-item-picker&encapsulation=shadow","./src/components/six-item-picker/six-item-picker.tsx"],"sourcesContent":[".item_picker {\n &__container {\n width: 2.5em;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n }\n\n &__content {\n font-size: 1.5rem;\n }\n\n &__btn {\n cursor: pointer;\n width: 2.5em;\n height: 2.5em;\n display: flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n color: var(--six-color-web-rock-500);\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n border-radius: 100%;\n }\n\n &:active {\n color: var(--six-color-web-rock-400);\n }\n\n &--disabled {\n color: var(--six-color-web-rock-300);\n cursor: not-allowed;\n\n &:hover {\n background-color: initial;\n }\n\n &:active {\n color: var(--six-color-web-rock-300);\n }\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { ItemPickerPaddingDirection, ItemPickerType } from './types';\nimport { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\n\ntype StringItemIndex = { [key: string]: number };\n\ninterface Alphabet {\n alphabet: string[];\n letterIndexes: StringItemIndex;\n}\n\nconst A_CHARCODE = 65;\nconst NUMBER_OF_LETTERS = 26;\n\nconst CAPITAL_ALPHABET: Alphabet = (() => {\n const alphabetCodes = Array.from(Array(NUMBER_OF_LETTERS)).map((_, i) => i + A_CHARCODE);\n const letterIndexes = {};\n const alphabet = alphabetCodes.map((charCode, index) => {\n const character = String.fromCharCode(charCode);\n letterIndexes[character] = index;\n return character;\n });\n return { alphabet, letterIndexes };\n})();\n\nconst LOWERCASE_ALPHABET: Alphabet = (() => {\n const alphabet = [];\n const letterIndexes = {};\n\n for (let i = 0; i < CAPITAL_ALPHABET.alphabet.length; i++) {\n const lowercaseCharacter = CAPITAL_ALPHABET.alphabet[i].toLowerCase();\n letterIndexes[lowercaseCharacter] = alphabet.length;\n alphabet.push(lowercaseCharacter);\n }\n\n return { alphabet, letterIndexes };\n})();\n\nconst ALPHABET: Alphabet = (() => {\n const alphabet = [];\n const letterIndexes = {};\n\n for (let i = 0; i < CAPITAL_ALPHABET.alphabet.length; i++) {\n const capitalCharacter = CAPITAL_ALPHABET.alphabet[i];\n letterIndexes[capitalCharacter] = alphabet.length;\n alphabet.push(capitalCharacter);\n\n const lowerCharacter = LOWERCASE_ALPHABET.alphabet[i];\n letterIndexes[lowerCharacter] = alphabet.length;\n alphabet.push(lowerCharacter);\n }\n\n return { alphabet, letterIndexes };\n})();\n\nconst createItemIndexes = (arr: string[]): StringItemIndex => {\n const itemIndexes = {};\n\n for (let i = 0; i < arr?.length; i++) {\n itemIndexes[arr[i]] = i;\n }\n\n return itemIndexes;\n};\n\nconst TAG = `[SIX-ITEM-PICKER]`;\n\nconst subtract = (a: number, b: number) => a - b;\nconst add = (a: number, b: number) => a + b;\n\nexport type SixItemPickerChangePayload = number | string;\n\nconst DEBOUNCE_ITEM_PICKER_LISTENER = 'debounced-item-picker';\n\n/**\n * @since 2.0.0\n * @status experimental\n * @part container - The whole component container\n * @part up - The up button\n * @part content - The content area\n * @part down - The down button\n *\n */\n@Component({\n tag: 'six-item-picker',\n styleUrl: 'six-item-picker.scss',\n shadow: true,\n})\nexport class SixItemPicker {\n private readonly eventListeners = new EventListeners();\n\n @Element() host: HTMLSixItemPickerElement;\n\n /** The item picker's value attribute. */\n @Prop({ mutable: true, reflect: true }) value: number | string = '';\n\n /** The type of items you want to rotate through. */\n @Prop() type: ItemPickerType = ItemPickerType.NUMBER;\n\n /** The minimum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) min: number | string;\n\n /** The maximum value allowed to pick. */\n @Prop({ reflect: true, mutable: true }) max: number | string;\n\n /** Define whether the picker should to a roundtrip i.e. start at max when reaching min and vice versa. */\n @Prop({ reflect: true }) roundtrip = true;\n\n /** Defines how many steps should be taken when navigating */\n @Prop({ reflect: true }) step: number = 1;\n\n /** Defines a custom list of items you can iterate through */\n @Prop() items: string[];\n\n /** Defines whether the items should be padded */\n @Prop() padded = false;\n\n /** Defines the length of the padded area */\n @Prop() paddingLength = 2;\n\n /** Defines the character used for padding */\n @Prop() paddingChar = '0';\n\n /** Defines whether the padding should be before or after the value. You can either use 'before' or 'after'. By default\n * before is selected */\n @Prop() paddingDirection: ItemPickerPaddingDirection = ItemPickerPaddingDirection.BEFORE;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger faster switching between items.\n */\n @Prop() timeout = DEFAULT_DEBOUNCE_FAST;\n\n /**\n * Set the amount of time, in milliseconds, to wait between switching to next item when mouse button is held pressed.\n */\n @Prop() interval = DEFAULT_DEBOUNCE_INSANELY_FAST;\n\n /**\n * Emitted when the item picker's value changes\n */\n @Event({ eventName: 'six-item-picker-change' }) sixChange: EventEmitter<SixItemPickerChangePayload>;\n\n /**\n * Emitted when the item picker's value changes, but debounced\n */\n @Event({ eventName: 'six-item-picker-change-debounced' })\n sixChangeDebounced: EventEmitter<SixItemPickerChangePayload>;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `six-item-picker-change-debounced` event.\n * If you want your change debounce event to not trigger when keeping the nav button pressed before, make sure debounce\n * is a bit bigger than timeout, otherwise keeping the button pressed will trigger the event twice: once you click\n * (and keep pressed) and once you release\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n @Watch('value')\n handleValueChange() {\n this.setup();\n }\n\n @Watch('debounce')\n protected debounceChanged() {\n this.eventListeners.removeByIdentifier(DEBOUNCE_ITEM_PICKER_LISTENER);\n this.eventListeners.add(\n this.host,\n 'six-item-picker-change',\n debounce(this.handleSixItemPickerChangeDebounced, this.debounce),\n DEBOUNCE_ITEM_PICKER_LISTENER\n );\n }\n\n @Watch('items')\n handleSetChange() {\n this.setup();\n this.min = this._items[0];\n this.max = this.getLastStringItem();\n }\n\n @State() _items: string[] = [];\n @State() _itemIndexes: StringItemIndex;\n\n // used for fast increasing when keeping the mouse button held down\n _timeoutNext: ReturnType<typeof setTimeout>;\n _intervalNext: ReturnType<typeof setInterval>;\n\n _timeoutPrev: ReturnType<typeof setTimeout>;\n _intervalPrev: ReturnType<typeof setInterval>;\n\n componentWillLoad() {\n this.setup();\n }\n\n componentDidLoad() {\n this.eventListeners.add(\n this.host,\n 'six-item-picker-change',\n debounce(this.handleSixItemPickerChangeDebounced, this.debounce),\n DEBOUNCE_ITEM_PICKER_LISTENER\n );\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n handleSixItemPickerChangeDebounced = () => {\n this.sixChangeDebounced.emit(this.value);\n };\n\n private setup() {\n if (this.isNumber()) {\n this.setupNumberItems();\n } else {\n this.setUpStringItems();\n }\n }\n\n private setupNumberItems() {\n if (this.isInvalidNumber()) {\n console.warn(`${TAG} Expected number but value is not a number: \"${this.value}\"`);\n console.info(`${TAG} Will set value to either minimum or if not provided to zero.`);\n this.value = this.min ?? 0;\n }\n }\n\n private setUpStringItems() {\n this._items = this.getItems();\n\n if (!this._items) {\n console.warn(`${TAG}: abort setup because no items were found.`);\n return;\n }\n\n this._itemIndexes = this.getItemIndexes();\n const itemsMissValue = this._items.find((i) => String(i) === String(this.value)) === undefined;\n if (itemsMissValue) {\n console.warn(`${TAG} Expected item from item set but value was not found in set: \"${this.value}\"`);\n console.info(`${TAG} Will set value to either minimum or if not provided to \"${this._items[0]}\".`);\n this.value = this._items[0];\n }\n\n if (this.min === undefined) {\n if (!this.roundtrip) {\n console.warn(`${TAG} Expected a min value`);\n console.info(`${TAG} Will set min value to ${this._items[0]}`);\n }\n this.min = this._items[0];\n }\n\n if (this.max === undefined) {\n const maxItem = this.getLastStringItem();\n if (!this.roundtrip) {\n console.warn(`${TAG} Expected a min value if roundtrip is enabled`);\n console.info(`${TAG} Will set min value to ${maxItem}`);\n }\n this.max = maxItem;\n }\n }\n\n private getLastStringItem() {\n return this._items[this._items.length - 1];\n }\n\n private getItems() {\n return {\n [ItemPickerType.LETTER]: ALPHABET.alphabet,\n [ItemPickerType.CAPITAL_LETTER]: CAPITAL_ALPHABET.alphabet,\n [ItemPickerType.LOWER_LETTER]: LOWERCASE_ALPHABET.alphabet,\n [ItemPickerType.CUSTOM]: this.items,\n }[this.type];\n }\n\n private getItemIndexes() {\n if (this.type === ItemPickerType.CUSTOM) {\n return createItemIndexes(this.items);\n }\n\n return {\n [ItemPickerType.LETTER]: ALPHABET.letterIndexes,\n [ItemPickerType.CAPITAL_LETTER]: CAPITAL_ALPHABET.letterIndexes,\n [ItemPickerType.LOWER_LETTER]: LOWERCASE_ALPHABET.letterIndexes,\n }[this.type];\n }\n\n private previousItem() {\n if (this.isNumber()) {\n this.previousNumber();\n } else {\n this.previousStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private previousNumber() {\n this.changeValue({\n isNextItemAllowed: () => !this.isPreviousNumberDisabled(),\n getNextItem: () => Number(this.value) - this.step,\n getRoundtripItem: () => Number(this.max),\n isRoundtripPossible: () => this.max === undefined && this.roundtrip,\n });\n }\n\n private previousStringItem() {\n const value = this.value as string;\n const minLetter = this.min as string;\n\n this.changeValue({\n isNextItemAllowed: () =>\n minLetter === undefined || this.getStringItemIndex(value) > this.getStringItemIndex(minLetter),\n getNextItem: () => this.getNextItemByOperation(subtract),\n getRoundtripItem: () => this.max,\n isRoundtripPossible: () => this.max === undefined && this.roundtrip,\n });\n }\n\n private nextItem() {\n if (this.isNumber()) {\n this.nextNumber();\n } else {\n this.nextStringItem();\n }\n\n this.sixChange.emit(this.value);\n }\n\n private nextNumber() {\n this.changeValue({\n isNextItemAllowed: () => !this.isNextNumberDisabled(),\n getNextItem: () => Number(this.value) + this.step,\n getRoundtripItem: () => Number(this.min),\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n\n private getStringItemIndex(char: string): number {\n return this._itemIndexes[char];\n }\n\n private nextStringItem() {\n const value = this.value as string;\n const maxLetter = this.max as string;\n\n this.changeValue({\n isNextItemAllowed: () =>\n maxLetter === undefined || this.getStringItemIndex(value) < this.getStringItemIndex(maxLetter),\n getNextItem: () => this.getNextItemByOperation(add),\n getRoundtripItem: () => this.min,\n isRoundtripPossible: () => this.min === undefined && this.roundtrip,\n });\n }\n\n private getNextItemByOperation(operation: (a: number, b: number) => number) {\n const value = this.value as string;\n const nextIndexCandidate = operation(this.getStringItemIndex(value), this.step);\n const numberOfItems = this._items.length;\n const nextIndex = ((nextIndexCandidate % numberOfItems) + numberOfItems) % numberOfItems;\n return this._items[nextIndex];\n }\n\n private changeValue(params: {\n getNextItem: () => any;\n isNextItemAllowed: () => boolean;\n getRoundtripItem: () => number | string;\n isRoundtripPossible: () => boolean;\n }) {\n if (params.isNextItemAllowed()) {\n this.value = params.getNextItem();\n return;\n }\n\n if (params.isRoundtripPossible()) {\n console.error(\n `${TAG} Item picker is expected to perform a roundtrip, but either max or min value is missing so a roundtrip is not possible`\n );\n return;\n }\n\n if (this.roundtrip) {\n this.value = params.getRoundtripItem();\n return;\n }\n\n console.warn(\n `${TAG} Roundtrip is not allowed, but was still triggered, please report this issue to the developer of six-item-picker`\n );\n }\n\n private isNumber() {\n return this.type === ItemPickerType.NUMBER;\n }\n\n private isInvalidNumber() {\n return this.value === '' || !!isNaN(this.value as number);\n }\n\n private isNextDisabled() {\n if (this.roundtrip) {\n return false;\n }\n\n if (this.isNumber()) {\n return this.isNextNumberDisabled();\n } else {\n if (!this._itemIndexes) {\n return true;\n }\n\n return this._itemIndexes[String(this.value)] + this.step > this._itemIndexes[String(this.max)];\n }\n }\n\n private isNextNumberDisabled() {\n return Number(this.value) + this.step > (this.max ?? Infinity);\n }\n\n private isPrevDisabled() {\n if (this.roundtrip) {\n return false;\n }\n\n if (this.isNumber()) {\n return this.isPreviousNumberDisabled();\n } else {\n if (!this._itemIndexes) {\n return true;\n }\n\n return this._itemIndexes[String(this.value)] - this.step < this._itemIndexes[String(this.min)];\n }\n }\n\n private isPreviousNumberDisabled() {\n return Number(this.value) - this.step < (this.min ?? -Infinity);\n }\n\n private onMouseDownNext() {\n if (this.isNextDisabled()) {\n return;\n }\n\n this.nextItem();\n\n this._timeoutNext = setTimeout(() => {\n this._intervalNext = setInterval(() => {\n this.nextItem();\n }, this.interval);\n }, this.timeout);\n }\n\n private onMouseUpNext() {\n clearTimeout(this._timeoutNext);\n clearInterval(this._intervalNext);\n }\n\n private onMouseDownPrev() {\n if (this.isPrevDisabled()) {\n return;\n }\n\n this.previousItem();\n\n this._timeoutPrev = setTimeout(() => {\n this._intervalPrev = setInterval(() => {\n this.previousItem();\n }, this.interval);\n }, this.timeout);\n }\n\n private onMouseUpPrev() {\n clearTimeout(this._timeoutPrev);\n clearInterval(this._intervalPrev);\n }\n\n private getFormattedValue() {\n if (this.value === undefined || this.value === null) {\n return this.value;\n }\n\n if (!this.padded) {\n return this.value;\n }\n\n if (this.paddingDirection === ItemPickerPaddingDirection.BEFORE) {\n return String(this.value).padStart(this.paddingLength, this.paddingChar);\n } else if (this.paddingDirection === ItemPickerPaddingDirection.AFTER) {\n return String(this.value).padEnd(this.paddingLength, this.paddingChar);\n }\n\n return this.value;\n }\n\n render() {\n return (\n <div part=\"container\" class=\"item_picker__container\">\n <div\n part=\"up\"\n class={{\n item_picker__btn: true,\n 'item_picker__btn--disabled': this.isNextDisabled(),\n }}\n onMouseDown={() => this.onMouseDownNext()}\n onMouseUp={() => this.onMouseUpNext()}\n >\n <six-icon size=\"large\">expand_less</six-icon>\n </div>\n <div part=\"content\" class=\"item_picker__content\">\n {this.getFormattedValue()}\n </div>\n <div\n part=\"down\"\n class={{\n item_picker__btn: true,\n 'item_picker__btn--disabled': this.isPrevDisabled(),\n }}\n onMouseDown={() => this.onMouseDownPrev()}\n onMouseUp={() => this.onMouseUpPrev()}\n >\n <six-icon size=\"large\">expand_more</six-icon>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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"}
|