@six-group/ui-library 3.0.0-beta.1.8 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/event-listeners-74715e62.js +2 -0
- package/dist/cjs/event-listeners-74715e62.js.map +1 -0
- package/dist/cjs/execution-control-46f388e0.js +2 -0
- package/dist/cjs/execution-control-46f388e0.js.map +1 -0
- package/dist/cjs/focus-visible-0b352c74.js +2 -0
- package/dist/cjs/focus-visible-0b352c74.js.map +1 -0
- package/dist/cjs/{form-control-866bbece.js → form-control-2c17c573.js} +3 -1
- package/dist/cjs/form-control-2c17c573.js.map +1 -0
- package/dist/cjs/{index-341df120.js → index-2f6daa5b.js} +602 -280
- package/dist/cjs/index-2f6daa5b.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +6 -3
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/modal-48d42228.js +2 -0
- package/dist/cjs/modal-48d42228.js.map +1 -0
- package/dist/cjs/{popover-1d2a037c.js → popover-f743f62b.js} +5 -4
- package/dist/cjs/popover-f743f62b.js.map +1 -0
- package/dist/cjs/scroll-76e6f5d7.js +2 -0
- package/dist/cjs/scroll-76e6f5d7.js.map +1 -0
- package/dist/cjs/set-attributes_2.cjs.entry.js +5 -5
- package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -0
- package/dist/cjs/six-alert.cjs.entry.js +4 -9
- package/dist/cjs/six-alert.cjs.entry.js.map +1 -0
- package/dist/cjs/six-avatar.cjs.entry.js +4 -6
- package/dist/cjs/six-avatar.cjs.entry.js.map +1 -0
- package/dist/cjs/six-badge.cjs.entry.js +4 -5
- package/dist/cjs/six-badge.cjs.entry.js.map +1 -0
- package/dist/cjs/six-button.cjs.entry.js +9 -11
- package/dist/cjs/six-button.cjs.entry.js.map +1 -0
- package/dist/cjs/six-card.cjs.entry.js +4 -2
- package/dist/cjs/six-card.cjs.entry.js.map +1 -0
- package/dist/cjs/six-checkbox.cjs.entry.js +9 -13
- package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/six-datepicker.cjs.entry.js +34 -87
- package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -0
- package/dist/cjs/six-details.cjs.entry.js +6 -9
- package/dist/cjs/six-details.cjs.entry.js.map +1 -0
- package/dist/cjs/six-dialog.cjs.entry.js +4 -11
- package/dist/cjs/six-dialog.cjs.entry.js.map +1 -0
- package/dist/cjs/six-drawer.cjs.entry.js +4 -16
- package/dist/cjs/six-drawer.cjs.entry.js.map +1 -0
- package/dist/cjs/{six-dropdown_3.cjs.entry.js → six-dropdown_2.cjs.entry.js} +31 -130
- package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -0
- package/dist/cjs/six-error-page.cjs.entry.js +8 -5
- package/dist/cjs/six-error-page.cjs.entry.js.map +1 -0
- package/dist/cjs/six-file-list-item.cjs.entry.js +10 -12
- package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -0
- package/dist/cjs/six-file-list.cjs.entry.js +4 -2
- package/dist/cjs/six-file-list.cjs.entry.js.map +1 -0
- package/dist/cjs/six-file-upload.cjs.entry.js +30 -17
- package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -0
- package/dist/cjs/six-footer.cjs.entry.js +4 -2
- package/dist/cjs/six-footer.cjs.entry.js.map +1 -0
- package/dist/cjs/six-form.cjs.entry.js +4 -3
- package/dist/cjs/six-form.cjs.entry.js.map +1 -0
- package/dist/cjs/six-group-label.cjs.entry.js +6 -7
- package/dist/cjs/six-group-label.cjs.entry.js.map +1 -0
- package/dist/cjs/six-header.cjs.entry.js +11 -11
- package/dist/cjs/six-header.cjs.entry.js.map +1 -0
- package/dist/cjs/six-icon-button.cjs.entry.js +9 -6
- package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -0
- package/dist/cjs/six-icon.cjs.entry.js +4 -4
- package/dist/cjs/six-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/six-input.cjs.entry.js +21 -23
- package/dist/cjs/six-input.cjs.entry.js.map +1 -0
- package/dist/cjs/six-item-picker.cjs.entry.js +11 -26
- package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/six-language-switcher.cjs.entry.js +6 -4
- package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -0
- package/dist/cjs/six-layout-grid.cjs.entry.js +5 -2
- package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/six-main-container.cjs.entry.js +4 -3
- package/dist/cjs/six-main-container.cjs.entry.js.map +1 -0
- package/dist/cjs/six-menu-divider.cjs.entry.js +4 -2
- package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -0
- package/dist/cjs/six-menu-item.cjs.entry.js +61 -0
- package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -0
- package/dist/cjs/six-menu-label.cjs.entry.js +4 -2
- package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -0
- package/dist/cjs/six-picto.cjs.entry.js +4 -5
- package/dist/cjs/six-picto.cjs.entry.js.map +1 -0
- package/dist/cjs/six-progress-bar.cjs.entry.js +4 -4
- package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/six-progress-ring.cjs.entry.js +5 -4
- package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -0
- package/dist/cjs/six-radio.cjs.entry.js +8 -10
- package/dist/cjs/six-radio.cjs.entry.js.map +1 -0
- package/dist/cjs/six-range.cjs.entry.js +9 -20
- package/dist/cjs/six-range.cjs.entry.js.map +1 -0
- package/dist/cjs/six-root.cjs.entry.js +9 -10
- package/dist/cjs/six-root.cjs.entry.js.map +1 -0
- package/dist/cjs/six-search-field.cjs.entry.js +9 -10
- package/dist/cjs/six-search-field.cjs.entry.js.map +1 -0
- package/dist/cjs/six-select.cjs.entry.js +31 -57
- package/dist/cjs/six-select.cjs.entry.js.map +1 -0
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js +11 -10
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -0
- package/dist/cjs/six-sidebar-item.cjs.entry.js +4 -5
- package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -0
- package/dist/cjs/six-sidebar.cjs.entry.js +9 -11
- package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -0
- package/dist/cjs/six-spinner.cjs.entry.js +4 -3
- package/dist/cjs/six-spinner.cjs.entry.js.map +1 -0
- package/dist/cjs/six-switch.cjs.entry.js +8 -8
- package/dist/cjs/six-switch.cjs.entry.js.map +1 -0
- package/dist/cjs/six-tab-group.cjs.entry.js +4 -4
- package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -0
- package/dist/cjs/six-tab-panel.cjs.entry.js +4 -4
- package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -0
- package/dist/cjs/six-tab.cjs.entry.js +4 -6
- package/dist/cjs/six-tab.cjs.entry.js.map +1 -0
- package/dist/cjs/six-tag.cjs.entry.js +4 -6
- package/dist/cjs/six-tag.cjs.entry.js.map +1 -0
- package/dist/cjs/six-textarea.cjs.entry.js +17 -20
- package/dist/cjs/six-textarea.cjs.entry.js.map +1 -0
- package/dist/cjs/six-tile.cjs.entry.js +12 -15
- package/dist/cjs/six-tile.cjs.entry.js.map +1 -0
- package/dist/cjs/six-timepicker.cjs.entry.js +29 -78
- package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -0
- package/dist/cjs/six-timepicker.types-c19ebff3.js +2 -0
- package/dist/cjs/six-timepicker.types-c19ebff3.js.map +1 -0
- package/dist/cjs/six-tooltip.cjs.entry.js +8 -18
- package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -0
- package/dist/cjs/slot-ad537f24.js +2 -0
- package/dist/cjs/slot-ad537f24.js.map +1 -0
- package/dist/cjs/types-64878648.js +2 -0
- package/dist/cjs/types-64878648.js.map +1 -0
- package/dist/cjs/ui-library.cjs.js +12 -3
- package/dist/cjs/ui-library.cjs.js.map +1 -0
- package/dist/collection/collection-manifest.json +2 -7
- package/dist/collection/components/six-alert/six-alert.js +221 -219
- package/dist/collection/components/six-alert/six-alert.js.map +1 -0
- package/dist/collection/components/six-avatar/six-avatar.js +91 -91
- package/dist/collection/components/six-avatar/six-avatar.js.map +1 -0
- package/dist/collection/components/six-badge/six-badge.js +69 -66
- package/dist/collection/components/six-badge/six-badge.js.map +1 -0
- package/dist/collection/components/six-button/six-button.js +377 -379
- package/dist/collection/components/six-button/six-button.js.map +1 -0
- package/dist/collection/components/six-card/six-card.js +13 -9
- package/dist/collection/components/six-card/six-card.js.map +1 -0
- package/dist/collection/components/six-checkbox/six-checkbox.js +372 -381
- package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -0
- package/dist/collection/components/six-datepicker/components/day-selection.js +9 -10
- package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -0
- package/dist/collection/components/six-datepicker/components/month-selection.js +6 -6
- package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -0
- package/dist/collection/components/six-datepicker/components/year-selection.js +6 -6
- package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -0
- package/dist/collection/components/six-datepicker/six-date-formats.js +1 -0
- package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -0
- package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
- package/dist/collection/components/six-datepicker/six-datepicker.js +670 -742
- package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -0
- package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +1 -0
- package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js.map +1 -0
- package/dist/collection/components/six-details/six-details.js +276 -274
- package/dist/collection/components/six-details/six-details.js.map +1 -0
- package/dist/collection/components/six-dialog/six-dialog.js +224 -228
- package/dist/collection/components/six-dialog/six-dialog.js.map +1 -0
- package/dist/collection/components/six-drawer/six-drawer.js +258 -267
- package/dist/collection/components/six-drawer/six-drawer.js.map +1 -0
- package/dist/collection/components/six-dropdown/six-dropdown.js +514 -534
- package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -0
- package/dist/collection/components/six-error-page/six-error-page.js +100 -96
- package/dist/collection/components/six-error-page/six-error-page.js.map +1 -0
- package/dist/collection/components/six-file-list/six-file-list.js +13 -9
- package/dist/collection/components/six-file-list/six-file-list.js.map +1 -0
- package/dist/collection/components/six-file-list-item/six-file-list-item.js +170 -169
- package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -0
- package/dist/collection/components/six-file-upload/six-file-upload.js +221 -186
- package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -0
- package/dist/collection/components/six-footer/six-footer.js +13 -9
- package/dist/collection/components/six-footer/six-footer.js.map +1 -0
- package/dist/collection/components/six-form/six-form.js +174 -163
- package/dist/collection/components/six-form/six-form.js.map +1 -0
- package/dist/collection/components/six-group-label/six-group-label.js +118 -111
- package/dist/collection/components/six-group-label/six-group-label.js.map +1 -0
- package/dist/collection/components/six-header/six-header.js +260 -268
- package/dist/collection/components/six-header/six-header.js.map +1 -0
- package/dist/collection/components/six-icon/six-icon.js +52 -48
- package/dist/collection/components/six-icon/six-icon.js.map +1 -0
- package/dist/collection/components/six-icon-button/six-icon-button.js +108 -104
- package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -0
- package/dist/collection/components/six-input/six-input.js +895 -896
- package/dist/collection/components/six-input/six-input.js.map +1 -0
- package/dist/collection/components/six-item-picker/six-item-picker.js +329 -336
- package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -0
- package/dist/collection/components/six-item-picker/types.js +1 -0
- package/dist/collection/components/six-item-picker/types.js.map +1 -0
- package/dist/collection/components/six-language-switcher/six-language-switcher.js +85 -74
- package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -0
- package/dist/collection/components/six-layout-grid/six-layout-grid.js +43 -32
- package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -0
- package/dist/collection/components/six-main-container/six-main-container.js +35 -33
- package/dist/collection/components/six-main-container/six-main-container.js.map +1 -0
- package/dist/collection/components/six-menu/six-menu.js +176 -184
- package/dist/collection/components/six-menu/six-menu.js.map +1 -0
- package/dist/collection/components/six-menu-divider/six-menu-divider.js +12 -7
- package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -0
- package/dist/collection/components/six-menu-item/six-menu-item.js +131 -110
- package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -0
- package/dist/collection/components/six-menu-label/six-menu-label.js +13 -9
- package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -0
- package/dist/collection/components/six-picto/six-picto.js +35 -32
- package/dist/collection/components/six-picto/six-picto.js.map +1 -0
- package/dist/collection/components/six-progress-bar/six-progress-bar.js +54 -51
- package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -0
- package/dist/collection/components/six-progress-ring/six-progress-ring.js +75 -72
- package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -0
- package/dist/collection/components/six-radio/six-radio.js +269 -267
- package/dist/collection/components/six-radio/six-radio.js.map +1 -0
- package/dist/collection/components/six-range/six-range.js +426 -427
- package/dist/collection/components/six-range/six-range.js.map +1 -0
- package/dist/collection/components/six-root/six-root.js +127 -129
- package/dist/collection/components/six-root/six-root.js.map +1 -0
- package/dist/collection/components/six-search-field/six-search-field.js +134 -128
- package/dist/collection/components/six-search-field/six-search-field.js.map +1 -0
- package/dist/collection/components/six-select/six-select.css +1 -2
- package/dist/collection/components/six-select/six-select.js +665 -689
- package/dist/collection/components/six-select/six-select.js.map +1 -0
- package/dist/collection/components/six-sidebar/six-sidebar.js +288 -279
- package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -0
- package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +69 -66
- package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -0
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +116 -115
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -0
- package/dist/collection/components/six-spinner/six-spinner.js +35 -32
- package/dist/collection/components/six-spinner/six-spinner.js.map +1 -0
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +39 -36
- package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -0
- package/dist/collection/components/six-switch/six-switch.js +279 -271
- package/dist/collection/components/six-switch/six-switch.js.map +1 -0
- package/dist/collection/components/six-tab/six-tab.js +150 -146
- package/dist/collection/components/six-tab/six-tab.js.map +1 -0
- package/dist/collection/components/six-tab-group/six-tab-group.js +126 -120
- package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -0
- package/dist/collection/components/six-tab-panel/six-tab-panel.js +52 -49
- package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -0
- package/dist/collection/components/six-tag/six-tag.js +107 -105
- package/dist/collection/components/six-tag/six-tag.js.map +1 -0
- package/dist/collection/components/six-textarea/six-textarea.js +708 -700
- package/dist/collection/components/six-textarea/six-textarea.js.map +1 -0
- package/dist/collection/components/six-tile/six-tile.js +237 -238
- package/dist/collection/components/six-tile/six-tile.js.map +1 -0
- package/dist/collection/components/six-timepicker/six-time-format.js +1 -0
- package/dist/collection/components/six-timepicker/six-time-format.js.map +1 -0
- package/dist/collection/components/six-timepicker/six-timepicker.js +597 -641
- package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -0
- package/dist/collection/components/six-timepicker/six-timepicker.types.js +1 -0
- package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +1 -0
- package/dist/collection/components/six-tooltip/six-tooltip.js +256 -259
- package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -0
- package/dist/collection/functional-components/form-control/form-control.js +5 -10
- package/dist/collection/functional-components/form-control/form-control.js.map +1 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/testUtil/delay.js +1 -0
- package/dist/collection/testUtil/delay.js.map +1 -0
- package/dist/collection/utils/as-array.js +1 -0
- package/dist/collection/utils/as-array.js.map +1 -0
- package/dist/collection/utils/date-util.js +1 -0
- package/dist/collection/utils/date-util.js.map +1 -0
- package/dist/collection/utils/event-listeners.js +1 -0
- package/dist/collection/utils/event-listeners.js.map +1 -0
- package/dist/collection/utils/execution-control.js +1 -0
- package/dist/collection/utils/execution-control.js.map +1 -0
- package/dist/collection/utils/focus-visible.js +1 -0
- package/dist/collection/utils/focus-visible.js.map +1 -0
- package/dist/collection/utils/matchers.js +1 -0
- package/dist/collection/utils/matchers.js.map +1 -0
- package/dist/collection/utils/modal.js +1 -0
- package/dist/collection/utils/modal.js.map +1 -0
- package/dist/collection/utils/offset.js +1 -0
- package/dist/collection/utils/offset.js.map +1 -0
- package/dist/collection/utils/popover.js +1 -0
- package/dist/collection/utils/popover.js.map +1 -0
- package/dist/collection/utils/scroll.js +1 -0
- package/dist/collection/utils/scroll.js.map +1 -0
- package/dist/collection/utils/slot.js +1 -0
- package/dist/collection/utils/slot.js.map +1 -0
- package/dist/collection/utils/support.js +1 -0
- package/dist/collection/utils/support.js.map +1 -0
- package/dist/collection/utils/tabbable.js +1 -0
- package/dist/collection/utils/tabbable.js.map +1 -0
- package/dist/collection/utils/testing.js +1 -0
- package/dist/collection/utils/testing.js.map +1 -0
- package/dist/collection/utils/time.util.js +1 -0
- package/dist/collection/utils/time.util.js.map +1 -0
- package/dist/collection/utils/type-check.js +1 -0
- package/dist/collection/utils/type-check.js.map +1 -0
- package/dist/collection/utils/types.js +1 -0
- package/dist/collection/utils/types.js.map +1 -0
- package/dist/collection/wrappers/set-attributes/set-attributes.js +28 -24
- package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -0
- package/dist/components/event-listeners.js +43 -0
- package/dist/components/event-listeners.js.map +1 -0
- package/dist/components/execution-control.js +40 -0
- package/dist/components/execution-control.js.map +1 -0
- package/dist/components/focus-visible.js +45 -0
- package/dist/components/focus-visible.js.map +1 -0
- package/dist/components/form-control.js +32 -0
- package/dist/components/form-control.js.map +1 -0
- package/dist/components/index.d.ts +39 -0
- package/dist/components/index.js +122 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/modal.js +48 -0
- package/dist/components/modal.js.map +1 -0
- package/dist/{esm/popover-1c7a1139.js → components/popover.js} +5 -4
- package/dist/components/popover.js.map +1 -0
- package/dist/components/scroll.js +64 -0
- package/dist/components/scroll.js.map +1 -0
- package/dist/components/set-attributes.d.ts +11 -0
- package/dist/components/set-attributes.js +8 -0
- package/dist/components/set-attributes.js.map +1 -0
- package/dist/components/set-attributes2.js +69 -0
- package/dist/components/set-attributes2.js.map +1 -0
- package/dist/components/six-alert.d.ts +11 -0
- package/dist/components/six-alert.js +172 -0
- package/dist/components/six-alert.js.map +1 -0
- package/dist/components/six-avatar.d.ts +11 -0
- package/dist/components/six-avatar.js +63 -0
- package/dist/components/six-avatar.js.map +1 -0
- package/dist/components/six-badge.d.ts +11 -0
- package/dist/components/six-badge.js +54 -0
- package/dist/components/six-badge.js.map +1 -0
- package/dist/components/six-button.d.ts +11 -0
- package/dist/components/six-button.js +147 -0
- package/dist/components/six-button.js.map +1 -0
- package/dist/components/six-card.d.ts +11 -0
- package/dist/components/six-card.js +35 -0
- package/dist/components/six-card.js.map +1 -0
- package/dist/components/six-checkbox.d.ts +11 -0
- package/dist/components/six-checkbox.js +193 -0
- package/dist/components/six-checkbox.js.map +1 -0
- package/dist/components/six-datepicker.d.ts +11 -0
- package/dist/components/six-datepicker.js +1229 -0
- package/dist/components/six-datepicker.js.map +1 -0
- package/dist/components/six-details.d.ts +11 -0
- package/dist/components/six-details.js +8 -0
- package/dist/components/six-details.js.map +1 -0
- package/dist/components/six-details2.js +176 -0
- package/dist/components/six-details2.js.map +1 -0
- package/dist/components/six-dialog.d.ts +11 -0
- package/dist/components/six-dialog.js +190 -0
- package/dist/components/six-dialog.js.map +1 -0
- package/dist/components/six-drawer.d.ts +11 -0
- package/dist/components/six-drawer.js +209 -0
- package/dist/components/six-drawer.js.map +1 -0
- package/dist/components/six-dropdown.d.ts +11 -0
- package/dist/components/six-dropdown.js +8 -0
- package/dist/components/six-dropdown.js.map +1 -0
- package/dist/components/six-dropdown2.js +499 -0
- package/dist/components/six-dropdown2.js.map +1 -0
- package/dist/components/six-error-page.d.ts +11 -0
- package/dist/components/six-error-page.js +134 -0
- package/dist/components/six-error-page.js.map +1 -0
- package/dist/components/six-file-list-item.d.ts +11 -0
- package/dist/components/six-file-list-item.js +74 -0
- package/dist/components/six-file-list-item.js.map +1 -0
- package/dist/components/six-file-list.d.ts +11 -0
- package/dist/components/six-file-list.js +35 -0
- package/dist/components/six-file-list.js.map +1 -0
- package/dist/components/six-file-upload.d.ts +11 -0
- package/dist/components/six-file-upload.js +147 -0
- package/dist/components/six-file-upload.js.map +1 -0
- package/dist/components/six-footer.d.ts +11 -0
- package/dist/components/six-footer.js +35 -0
- package/dist/components/six-footer.js.map +1 -0
- package/dist/components/six-form.d.ts +11 -0
- package/dist/components/six-form.js +252 -0
- package/dist/components/six-form.js.map +1 -0
- package/dist/components/six-group-label.d.ts +11 -0
- package/dist/components/six-group-label.js +78 -0
- package/dist/components/six-group-label.js.map +1 -0
- package/dist/components/six-header.d.ts +11 -0
- package/dist/components/six-header.js +219 -0
- package/dist/components/six-header.js.map +1 -0
- package/dist/components/six-icon-button.d.ts +11 -0
- package/dist/components/six-icon-button.js +8 -0
- package/dist/components/six-icon-button.js.map +1 -0
- package/dist/components/six-icon-button2.js +70 -0
- package/dist/components/six-icon-button2.js.map +1 -0
- package/dist/components/six-icon.d.ts +11 -0
- package/dist/components/six-icon.js +8 -0
- package/dist/components/six-icon.js.map +1 -0
- package/dist/components/six-icon2.js +49 -0
- package/dist/components/six-icon2.js.map +1 -0
- package/dist/components/six-input.d.ts +11 -0
- package/dist/components/six-input.js +8 -0
- package/dist/components/six-input.js.map +1 -0
- package/dist/components/six-input2.js +303 -0
- package/dist/components/six-input2.js.map +1 -0
- package/dist/components/six-item-picker.d.ts +11 -0
- package/dist/components/six-item-picker.js +8 -0
- package/dist/components/six-item-picker.js.map +1 -0
- package/dist/components/six-item-picker2.js +404 -0
- package/dist/components/six-item-picker2.js.map +1 -0
- package/dist/components/six-language-switcher.d.ts +11 -0
- package/dist/components/six-language-switcher.js +82 -0
- package/dist/components/six-language-switcher.js.map +1 -0
- package/dist/components/six-layout-grid.d.ts +11 -0
- package/dist/components/six-layout-grid.js +49 -0
- package/dist/components/six-layout-grid.js.map +1 -0
- package/dist/components/six-main-container.d.ts +11 -0
- package/dist/components/six-main-container.js +39 -0
- package/dist/components/six-main-container.js.map +1 -0
- package/dist/components/six-menu-divider.d.ts +11 -0
- package/dist/components/six-menu-divider.js +35 -0
- package/dist/components/six-menu-divider.js.map +1 -0
- package/dist/components/six-menu-item.d.ts +11 -0
- package/dist/components/six-menu-item.js +8 -0
- package/dist/components/six-menu-item.js.map +1 -0
- package/dist/components/six-menu-item2.js +86 -0
- package/dist/components/six-menu-item2.js.map +1 -0
- package/dist/components/six-menu-label.d.ts +11 -0
- package/dist/components/six-menu-label.js +35 -0
- package/dist/components/six-menu-label.js.map +1 -0
- package/dist/components/six-menu.d.ts +11 -0
- package/dist/components/six-menu.js +8 -0
- package/dist/components/six-menu.js.map +1 -0
- package/dist/components/six-menu2.js +252 -0
- package/dist/components/six-menu2.js.map +1 -0
- package/dist/components/six-picto.d.ts +11 -0
- package/dist/components/six-picto.js +8 -0
- package/dist/components/six-picto.js.map +1 -0
- package/dist/{custom-elements/index.js → components/six-picto2.js} +21 -9740
- package/dist/components/six-picto2.js.map +1 -0
- package/dist/components/six-progress-bar.d.ts +11 -0
- package/dist/components/six-progress-bar.js +45 -0
- package/dist/components/six-progress-bar.js.map +1 -0
- package/dist/components/six-progress-ring.d.ts +11 -0
- package/dist/components/six-progress-ring.js +61 -0
- package/dist/components/six-progress-ring.js.map +1 -0
- package/dist/components/six-radio.d.ts +11 -0
- package/dist/components/six-radio.js +157 -0
- package/dist/components/six-radio.js.map +1 -0
- package/dist/components/six-range.d.ts +11 -0
- package/dist/components/six-range.js +236 -0
- package/dist/components/six-range.js.map +1 -0
- package/dist/components/six-root.d.ts +11 -0
- package/dist/components/six-root.js +82 -0
- package/dist/components/six-root.js.map +1 -0
- package/dist/components/six-search-field.d.ts +11 -0
- package/dist/components/six-search-field.js +85 -0
- package/dist/components/six-search-field.js.map +1 -0
- package/dist/components/six-select.d.ts +11 -0
- package/dist/components/six-select.js +526 -0
- package/dist/components/six-select.js.map +1 -0
- package/dist/components/six-sidebar-item-group.d.ts +11 -0
- package/dist/components/six-sidebar-item-group.js +88 -0
- package/dist/components/six-sidebar-item-group.js.map +1 -0
- package/dist/components/six-sidebar-item.d.ts +11 -0
- package/dist/components/six-sidebar-item.js +46 -0
- package/dist/components/six-sidebar-item.js.map +1 -0
- package/dist/components/six-sidebar.d.ts +11 -0
- package/dist/components/six-sidebar.js +205 -0
- package/dist/components/six-sidebar.js.map +1 -0
- package/dist/components/six-spinner.d.ts +11 -0
- package/dist/components/six-spinner.js +8 -0
- package/dist/components/six-spinner.js.map +1 -0
- package/dist/components/six-spinner2.js +41 -0
- package/dist/components/six-spinner2.js.map +1 -0
- package/dist/components/six-stage-indicator.d.ts +11 -0
- package/dist/components/six-stage-indicator.js +8 -0
- package/dist/components/six-stage-indicator.js.map +1 -0
- package/dist/components/six-stage-indicator2.js +41 -0
- package/dist/components/six-stage-indicator2.js.map +1 -0
- package/dist/components/six-switch.d.ts +11 -0
- package/dist/components/six-switch.js +139 -0
- package/dist/components/six-switch.js.map +1 -0
- package/dist/components/six-tab-group.d.ts +11 -0
- package/dist/components/six-tab-group.js +268 -0
- package/dist/components/six-tab-group.js.map +1 -0
- package/dist/components/six-tab-panel.d.ts +11 -0
- package/dist/components/six-tab-panel.js +45 -0
- package/dist/components/six-tab-panel.js.map +1 -0
- package/dist/components/six-tab.d.ts +11 -0
- package/dist/components/six-tab.js +84 -0
- package/dist/components/six-tab.js.map +1 -0
- package/dist/components/six-tag.d.ts +11 -0
- package/dist/components/six-tag.js +8 -0
- package/dist/components/six-tag.js.map +1 -0
- package/dist/components/six-tag2.js +77 -0
- package/dist/components/six-tag2.js.map +1 -0
- package/dist/components/six-textarea.d.ts +11 -0
- package/dist/components/six-textarea.js +269 -0
- package/dist/components/six-textarea.js.map +1 -0
- package/dist/components/six-tile.d.ts +11 -0
- package/dist/components/six-tile.js +142 -0
- package/dist/components/six-tile.js.map +1 -0
- package/dist/components/six-timepicker.d.ts +11 -0
- package/dist/components/six-timepicker.js +8 -0
- package/dist/components/six-timepicker.js.map +1 -0
- package/dist/components/six-timepicker2.js +559 -0
- package/dist/components/six-timepicker2.js.map +1 -0
- package/dist/components/six-tooltip.d.ts +11 -0
- package/dist/components/six-tooltip.js +8 -0
- package/dist/components/six-tooltip.js.map +1 -0
- package/dist/components/six-tooltip2.js +194 -0
- package/dist/components/six-tooltip2.js.map +1 -0
- package/dist/components/slot.js +47 -0
- package/dist/components/slot.js.map +1 -0
- package/dist/components.d.ts +27 -0
- package/dist/components.json +47 -499
- package/dist/esm/event-listeners-570a24ea.js +2 -0
- package/dist/esm/event-listeners-570a24ea.js.map +1 -0
- package/dist/esm/execution-control-1a60d709.js +2 -0
- package/dist/esm/execution-control-1a60d709.js.map +1 -0
- package/dist/esm/focus-visible-97933ea9.js +2 -0
- package/dist/esm/focus-visible-97933ea9.js.map +1 -0
- package/dist/esm/{form-control-24f446af.js → form-control-3b440ea1.js} +3 -1
- package/dist/esm/form-control-3b440ea1.js.map +1 -0
- package/dist/esm/{index-a2605a62.js → index-5c0f6628.js} +602 -279
- package/dist/esm/index-5c0f6628.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +6 -3
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/modal-5ebdc320.js +2 -0
- package/dist/esm/modal-5ebdc320.js.map +1 -0
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/popover-bd2c2fca.js +1897 -0
- package/dist/esm/popover-bd2c2fca.js.map +1 -0
- package/dist/esm/scroll-180b53fd.js +2 -0
- package/dist/esm/scroll-180b53fd.js.map +1 -0
- package/dist/esm/set-attributes_2.entry.js +5 -5
- package/dist/esm/set-attributes_2.entry.js.map +1 -0
- package/dist/esm/six-alert.entry.js +4 -9
- package/dist/esm/six-alert.entry.js.map +1 -0
- package/dist/esm/six-avatar.entry.js +4 -6
- package/dist/esm/six-avatar.entry.js.map +1 -0
- package/dist/esm/six-badge.entry.js +4 -5
- package/dist/esm/six-badge.entry.js.map +1 -0
- package/dist/esm/six-button.entry.js +9 -11
- package/dist/esm/six-button.entry.js.map +1 -0
- package/dist/esm/six-card.entry.js +4 -2
- package/dist/esm/six-card.entry.js.map +1 -0
- package/dist/esm/six-checkbox.entry.js +9 -13
- package/dist/esm/six-checkbox.entry.js.map +1 -0
- package/dist/esm/six-datepicker.entry.js +34 -87
- package/dist/esm/six-datepicker.entry.js.map +1 -0
- package/dist/esm/six-details.entry.js +6 -9
- package/dist/esm/six-details.entry.js.map +1 -0
- package/dist/esm/six-dialog.entry.js +4 -11
- package/dist/esm/six-dialog.entry.js.map +1 -0
- package/dist/esm/six-drawer.entry.js +4 -16
- package/dist/esm/six-drawer.entry.js.map +1 -0
- package/dist/esm/{six-dropdown_3.entry.js → six-dropdown_2.entry.js} +31 -129
- package/dist/esm/six-dropdown_2.entry.js.map +1 -0
- package/dist/esm/six-error-page.entry.js +8 -5
- package/dist/esm/six-error-page.entry.js.map +1 -0
- package/dist/esm/six-file-list-item.entry.js +10 -12
- package/dist/esm/six-file-list-item.entry.js.map +1 -0
- package/dist/esm/six-file-list.entry.js +4 -2
- package/dist/esm/six-file-list.entry.js.map +1 -0
- package/dist/esm/six-file-upload.entry.js +30 -17
- package/dist/esm/six-file-upload.entry.js.map +1 -0
- package/dist/esm/six-footer.entry.js +4 -2
- package/dist/esm/six-footer.entry.js.map +1 -0
- package/dist/esm/six-form.entry.js +4 -3
- package/dist/esm/six-form.entry.js.map +1 -0
- package/dist/esm/six-group-label.entry.js +6 -7
- package/dist/esm/six-group-label.entry.js.map +1 -0
- package/dist/esm/six-header.entry.js +11 -11
- package/dist/esm/six-header.entry.js.map +1 -0
- package/dist/esm/six-icon-button.entry.js +9 -6
- package/dist/esm/six-icon-button.entry.js.map +1 -0
- package/dist/esm/six-icon.entry.js +4 -4
- package/dist/esm/six-icon.entry.js.map +1 -0
- package/dist/esm/six-input.entry.js +21 -23
- package/dist/esm/six-input.entry.js.map +1 -0
- package/dist/esm/six-item-picker.entry.js +11 -26
- package/dist/esm/six-item-picker.entry.js.map +1 -0
- package/dist/esm/six-language-switcher.entry.js +6 -4
- package/dist/esm/six-language-switcher.entry.js.map +1 -0
- package/dist/esm/six-layout-grid.entry.js +5 -2
- package/dist/esm/six-layout-grid.entry.js.map +1 -0
- package/dist/esm/six-main-container.entry.js +4 -3
- package/dist/esm/six-main-container.entry.js.map +1 -0
- package/dist/esm/six-menu-divider.entry.js +4 -2
- package/dist/esm/six-menu-divider.entry.js.map +1 -0
- package/dist/esm/six-menu-item.entry.js +57 -0
- package/dist/esm/six-menu-item.entry.js.map +1 -0
- package/dist/esm/six-menu-label.entry.js +4 -2
- package/dist/esm/six-menu-label.entry.js.map +1 -0
- package/dist/esm/six-picto.entry.js +4 -5
- package/dist/esm/six-picto.entry.js.map +1 -0
- package/dist/esm/six-progress-bar.entry.js +4 -4
- package/dist/esm/six-progress-bar.entry.js.map +1 -0
- package/dist/esm/six-progress-ring.entry.js +5 -4
- package/dist/esm/six-progress-ring.entry.js.map +1 -0
- package/dist/esm/six-radio.entry.js +8 -10
- package/dist/esm/six-radio.entry.js.map +1 -0
- package/dist/esm/six-range.entry.js +9 -20
- package/dist/esm/six-range.entry.js.map +1 -0
- package/dist/esm/six-root.entry.js +9 -10
- package/dist/esm/six-root.entry.js.map +1 -0
- package/dist/esm/six-search-field.entry.js +9 -10
- package/dist/esm/six-search-field.entry.js.map +1 -0
- package/dist/esm/six-select.entry.js +31 -57
- package/dist/esm/six-select.entry.js.map +1 -0
- package/dist/esm/six-sidebar-item-group.entry.js +11 -10
- package/dist/esm/six-sidebar-item-group.entry.js.map +1 -0
- package/dist/esm/six-sidebar-item.entry.js +4 -5
- package/dist/esm/six-sidebar-item.entry.js.map +1 -0
- package/dist/esm/six-sidebar.entry.js +9 -11
- package/dist/esm/six-sidebar.entry.js.map +1 -0
- package/dist/esm/six-spinner.entry.js +4 -3
- package/dist/esm/six-spinner.entry.js.map +1 -0
- package/dist/esm/six-switch.entry.js +8 -8
- package/dist/esm/six-switch.entry.js.map +1 -0
- package/dist/esm/six-tab-group.entry.js +4 -4
- package/dist/esm/six-tab-group.entry.js.map +1 -0
- package/dist/esm/six-tab-panel.entry.js +4 -4
- package/dist/esm/six-tab-panel.entry.js.map +1 -0
- package/dist/esm/six-tab.entry.js +4 -6
- package/dist/esm/six-tab.entry.js.map +1 -0
- package/dist/esm/six-tag.entry.js +4 -6
- package/dist/esm/six-tag.entry.js.map +1 -0
- package/dist/esm/six-textarea.entry.js +17 -20
- package/dist/esm/six-textarea.entry.js.map +1 -0
- package/dist/esm/six-tile.entry.js +12 -15
- package/dist/esm/six-tile.entry.js.map +1 -0
- package/dist/esm/six-timepicker.entry.js +29 -78
- package/dist/esm/six-timepicker.entry.js.map +1 -0
- package/dist/esm/six-timepicker.types-e161a447.js +2 -0
- package/dist/esm/six-timepicker.types-e161a447.js.map +1 -0
- package/dist/esm/six-tooltip.entry.js +8 -18
- package/dist/esm/six-tooltip.entry.js.map +1 -0
- package/dist/esm/slot-6f3984c7.js +2 -0
- package/dist/esm/slot-6f3984c7.js.map +1 -0
- package/dist/esm/types-4b10b413.js +2 -0
- package/dist/esm/types-4b10b413.js.map +1 -0
- package/dist/esm/ui-library.js +9 -3
- package/dist/esm/ui-library.js.map +1 -0
- package/dist/types/components/six-datepicker/six-datepicker.d.ts +1 -1
- package/dist/types/components/six-file-upload/six-file-upload.d.ts +8 -1
- package/dist/types/components/six-item-picker/six-item-picker.d.ts +2 -2
- package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +1 -1
- package/dist/types/components/six-menu-item/six-menu-item.d.ts +3 -0
- package/dist/types/components/six-select/six-select.d.ts +2 -1
- package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +1 -1
- package/dist/types/components.d.ts +1154 -238
- package/dist/types/stencil-public-runtime.d.ts +91 -19
- package/dist/types/utils/slot.d.ts +1 -1
- package/dist/types/utils/types.d.ts +1 -1
- package/dist/ui-library/index.esm.js +2 -0
- package/dist/ui-library/index.esm.js.map +1 -0
- package/dist/ui-library/p-054e12cc.entry.js +2 -0
- package/dist/ui-library/p-054e12cc.entry.js.map +1 -0
- package/dist/ui-library/p-0786fa7c.js +2 -1
- package/dist/ui-library/p-0786fa7c.js.map +1 -0
- package/dist/ui-library/p-097cced4.entry.js +2 -0
- package/dist/ui-library/p-097cced4.entry.js.map +1 -0
- package/dist/ui-library/p-0d79b0c6.entry.js +2 -0
- package/dist/ui-library/p-0d79b0c6.entry.js.map +1 -0
- package/dist/ui-library/p-14f20bbb.entry.js +2 -0
- package/dist/ui-library/p-14f20bbb.entry.js.map +1 -0
- package/dist/ui-library/p-18e5f772.entry.js +2 -0
- package/dist/ui-library/p-18e5f772.entry.js.map +1 -0
- package/dist/ui-library/p-18ea0c56.js +2 -0
- package/dist/ui-library/p-18ea0c56.js.map +1 -0
- package/dist/ui-library/p-19364560.entry.js +2 -0
- package/dist/ui-library/p-19364560.entry.js.map +1 -0
- package/dist/ui-library/p-19b50b5a.entry.js +2 -0
- package/dist/ui-library/p-19b50b5a.entry.js.map +1 -0
- package/dist/ui-library/p-21859bca.entry.js +2 -0
- package/dist/ui-library/p-21859bca.entry.js.map +1 -0
- package/dist/ui-library/p-25a3bf57.js +2 -1
- package/dist/ui-library/p-25a3bf57.js.map +1 -0
- package/dist/ui-library/p-2e48c8d2.entry.js +2 -0
- package/dist/ui-library/p-2e48c8d2.entry.js.map +1 -0
- package/dist/ui-library/p-308261c4.entry.js +2 -0
- package/dist/ui-library/p-308261c4.entry.js.map +1 -0
- package/dist/ui-library/p-33f7e22b.entry.js +2 -0
- package/dist/ui-library/p-33f7e22b.entry.js.map +1 -0
- package/dist/ui-library/p-4ae91795.entry.js +2 -0
- package/dist/ui-library/p-4ae91795.entry.js.map +1 -0
- package/dist/ui-library/p-4f8394d7.js +2 -1
- package/dist/ui-library/p-4f8394d7.js.map +1 -0
- package/dist/ui-library/p-53a13db5.entry.js +2 -0
- package/dist/ui-library/p-53a13db5.entry.js.map +1 -0
- package/dist/ui-library/p-559c87f0.entry.js +2 -0
- package/dist/ui-library/p-559c87f0.entry.js.map +1 -0
- package/dist/ui-library/p-611e1978.entry.js +2 -0
- package/dist/ui-library/p-611e1978.entry.js.map +1 -0
- package/dist/ui-library/p-63703ba3.entry.js +2 -0
- package/dist/ui-library/p-63703ba3.entry.js.map +1 -0
- package/dist/ui-library/p-6403fd87.entry.js +2 -0
- package/dist/ui-library/p-6403fd87.entry.js.map +1 -0
- package/dist/ui-library/p-6433c0da.entry.js +2 -0
- package/dist/ui-library/p-6433c0da.entry.js.map +1 -0
- package/dist/ui-library/p-6d75f216.entry.js +2 -0
- package/dist/ui-library/p-6d75f216.entry.js.map +1 -0
- package/dist/ui-library/p-73597d13.entry.js +2 -0
- package/dist/ui-library/p-73597d13.entry.js.map +1 -0
- package/dist/ui-library/p-79eee01b.js +2 -0
- package/dist/ui-library/p-79eee01b.js.map +1 -0
- package/dist/ui-library/p-7e0cc4ae.entry.js +2 -0
- package/dist/ui-library/p-7e0cc4ae.entry.js.map +1 -0
- package/dist/ui-library/p-820c23f0.entry.js +2 -0
- package/dist/ui-library/p-820c23f0.entry.js.map +1 -0
- package/dist/ui-library/p-835c3ff7.entry.js +2 -0
- package/dist/ui-library/p-835c3ff7.entry.js.map +1 -0
- package/dist/ui-library/p-8a970a40.entry.js +2 -0
- package/dist/ui-library/p-8a970a40.entry.js.map +1 -0
- package/dist/ui-library/p-90824648.entry.js +2 -0
- package/dist/ui-library/p-90824648.entry.js.map +1 -0
- package/dist/ui-library/p-90dc6af4.entry.js +2 -0
- package/dist/ui-library/p-90dc6af4.entry.js.map +1 -0
- package/dist/ui-library/p-9328e5bc.entry.js +2 -0
- package/dist/ui-library/p-9328e5bc.entry.js.map +1 -0
- package/dist/ui-library/p-97323ad7.entry.js +2 -0
- package/dist/ui-library/p-97323ad7.entry.js.map +1 -0
- package/dist/ui-library/p-9a860acc.js +2 -1
- package/dist/ui-library/p-9a860acc.js.map +1 -0
- package/dist/ui-library/p-9d1d222f.entry.js +2 -0
- package/dist/ui-library/p-9d1d222f.entry.js.map +1 -0
- package/dist/ui-library/p-a1d4f6cf.entry.js +2 -0
- package/dist/ui-library/p-a1d4f6cf.entry.js.map +1 -0
- package/dist/ui-library/p-ac4f4d45.js +3 -0
- package/dist/ui-library/p-ac4f4d45.js.map +1 -0
- package/dist/ui-library/p-af793d04.entry.js +2 -0
- package/dist/ui-library/p-af793d04.entry.js.map +1 -0
- package/dist/ui-library/p-b0e5658f.entry.js +2 -0
- package/dist/ui-library/p-b0e5658f.entry.js.map +1 -0
- package/dist/ui-library/p-b1e66136.js +2 -1
- package/dist/ui-library/p-b1e66136.js.map +1 -0
- package/dist/ui-library/p-b4dfb7cf.js +2 -1
- package/dist/ui-library/p-b4dfb7cf.js.map +1 -0
- package/dist/ui-library/p-b997e43c.entry.js +2 -0
- package/dist/ui-library/p-b997e43c.entry.js.map +1 -0
- package/dist/ui-library/p-baa03951.entry.js +2 -0
- package/dist/ui-library/p-baa03951.entry.js.map +1 -0
- package/dist/ui-library/p-c0cb6436.entry.js +2 -0
- package/dist/ui-library/p-c0cb6436.entry.js.map +1 -0
- package/dist/ui-library/p-c30f9e0b.entry.js +2 -0
- package/dist/ui-library/p-c30f9e0b.entry.js.map +1 -0
- package/dist/ui-library/p-c349d1d4.entry.js +2 -0
- package/dist/ui-library/p-c349d1d4.entry.js.map +1 -0
- package/dist/ui-library/p-c53a63f9.entry.js +2 -0
- package/dist/ui-library/p-c53a63f9.entry.js.map +1 -0
- package/dist/ui-library/p-c640c2d8.entry.js +2 -0
- package/dist/ui-library/p-c640c2d8.entry.js.map +1 -0
- package/dist/ui-library/p-c94d0b07.entry.js +2 -0
- package/dist/ui-library/p-c94d0b07.entry.js.map +1 -0
- package/dist/ui-library/p-d12c6092.js +2 -1
- package/dist/ui-library/p-d12c6092.js.map +1 -0
- package/dist/ui-library/p-d5633a29.entry.js +2 -0
- package/dist/ui-library/p-d5633a29.entry.js.map +1 -0
- package/dist/ui-library/p-dd3c76f1.entry.js +2 -0
- package/dist/ui-library/p-dd3c76f1.entry.js.map +1 -0
- package/dist/ui-library/p-df655bc9.entry.js +2 -0
- package/dist/ui-library/p-df655bc9.entry.js.map +1 -0
- package/dist/ui-library/p-e19a6c95.entry.js +2 -0
- package/dist/ui-library/p-e19a6c95.entry.js.map +1 -0
- package/dist/ui-library/p-eb8f05a9.js +2 -1
- package/dist/ui-library/p-eb8f05a9.js.map +1 -0
- package/dist/ui-library/p-edc96efc.entry.js +2 -0
- package/dist/ui-library/p-edc96efc.entry.js.map +1 -0
- package/dist/ui-library/p-f18ba86f.entry.js +2 -0
- package/dist/ui-library/p-f18ba86f.entry.js.map +1 -0
- package/dist/ui-library/p-f4938771.entry.js +2 -0
- package/dist/ui-library/p-f4938771.entry.js.map +1 -0
- package/dist/ui-library/p-f70e2403.entry.js +2 -0
- package/dist/ui-library/p-f70e2403.entry.js.map +1 -0
- package/dist/ui-library/p-f9d345e0.entry.js +2 -0
- package/dist/ui-library/p-f9d345e0.entry.js.map +1 -0
- package/dist/ui-library/p-fed07a1f.entry.js +2 -0
- package/dist/ui-library/p-fed07a1f.entry.js.map +1 -0
- package/dist/ui-library/p-ff0257bf.entry.js +2 -0
- package/dist/ui-library/p-ff0257bf.entry.js.map +1 -0
- package/dist/ui-library/ui-library.css +2 -2
- package/dist/ui-library/ui-library.esm.js +2 -1
- package/dist/ui-library/ui-library.esm.js.map +1 -0
- package/loader/index.d.ts +9 -0
- package/loader/package.json +1 -0
- package/package.json +8 -12
- package/readme.md +41 -39
- package/dist/cjs/six-table-cell_4.cjs.entry.js +0 -102
- package/dist/cjs/six-table.cjs.entry.js +0 -168
- package/dist/cjs/types-581e8ff0.js +0 -15
- package/dist/collection/components/six-table/six-table.css +0 -44
- package/dist/collection/components/six-table/six-table.js +0 -209
- package/dist/collection/components/six-table/test/helpers.js +0 -13
- package/dist/collection/components/six-table/types.js +0 -8
- package/dist/collection/components/six-table/util/filter-by.js +0 -34
- package/dist/collection/components/six-table/util/from-data.js +0 -33
- package/dist/collection/components/six-table/util/is.js +0 -3
- package/dist/collection/components/six-table/util/quick-filter-by.js +0 -13
- package/dist/collection/components/six-table/util/sort-by.js +0 -25
- package/dist/collection/components/six-table-cell/six-table-cell.css +0 -13
- package/dist/collection/components/six-table-cell/six-table-cell.js +0 -21
- package/dist/collection/components/six-table-header/six-table-header.css +0 -17
- package/dist/collection/components/six-table-header/six-table-header.js +0 -21
- package/dist/collection/components/six-table-header-cell/get-next-state.js +0 -7
- package/dist/collection/components/six-table-header-cell/icons.js +0 -12
- package/dist/collection/components/six-table-header-cell/six-table-header-cell.css +0 -37
- package/dist/collection/components/six-table-header-cell/six-table-header-cell.js +0 -174
- package/dist/collection/components/six-table-header-cell/types.js +0 -13
- package/dist/collection/components/six-table-header-cell/util/create-model.js +0 -6
- package/dist/collection/components/six-table-header-cell/util/get-next-state.js +0 -7
- package/dist/collection/components/six-table-row/six-table-row.css +0 -16
- package/dist/collection/components/six-table-row/six-table-row.js +0 -21
- package/dist/custom-elements/index.d.ts +0 -387
- package/dist/esm/six-table-cell_4.entry.js +0 -95
- package/dist/esm/six-table.entry.js +0 -164
- package/dist/esm/types-ed860f7c.js +0 -15
- package/dist/types/components/six-table/six-table.d.ts +0 -30
- package/dist/types/components/six-table/test/helpers.d.ts +0 -2
- package/dist/types/components/six-table/types.d.ts +0 -33
- package/dist/types/components/six-table/util/filter-by.d.ts +0 -2
- package/dist/types/components/six-table/util/from-data.d.ts +0 -8
- package/dist/types/components/six-table/util/is.d.ts +0 -3
- package/dist/types/components/six-table/util/quick-filter-by.d.ts +0 -2
- package/dist/types/components/six-table/util/sort-by.d.ts +0 -2
- package/dist/types/components/six-table-cell/six-table-cell.d.ts +0 -9
- package/dist/types/components/six-table-header/six-table-header.d.ts +0 -9
- package/dist/types/components/six-table-header-cell/get-next-state.d.ts +0 -2
- package/dist/types/components/six-table-header-cell/icons.d.ts +0 -3
- package/dist/types/components/six-table-header-cell/six-table-header-cell.d.ts +0 -32
- package/dist/types/components/six-table-header-cell/types.d.ts +0 -11
- package/dist/types/components/six-table-header-cell/util/create-model.d.ts +0 -4
- package/dist/types/components/six-table-header-cell/util/get-next-state.d.ts +0 -3
- package/dist/types/components/six-table-row/six-table-row.d.ts +0 -9
- package/dist/ui-library/p-007bc8e8.entry.js +0 -1
- package/dist/ui-library/p-044b784e.entry.js +0 -1
- package/dist/ui-library/p-0493c926.entry.js +0 -1
- package/dist/ui-library/p-07d1e830.js +0 -1
- package/dist/ui-library/p-09cb13fa.entry.js +0 -1
- package/dist/ui-library/p-0c596054.entry.js +0 -1
- package/dist/ui-library/p-1005d1a8.entry.js +0 -1
- package/dist/ui-library/p-19ff1079.entry.js +0 -1
- package/dist/ui-library/p-1b8dc7b7.entry.js +0 -1
- package/dist/ui-library/p-2053c61a.entry.js +0 -1
- package/dist/ui-library/p-281e8c2d.entry.js +0 -1
- package/dist/ui-library/p-2924f82f.entry.js +0 -1
- package/dist/ui-library/p-2d7ed407.entry.js +0 -1
- package/dist/ui-library/p-30ebc1e7.js +0 -1
- package/dist/ui-library/p-354704e5.entry.js +0 -1
- package/dist/ui-library/p-376b8f30.entry.js +0 -1
- package/dist/ui-library/p-3a7daff8.entry.js +0 -1
- package/dist/ui-library/p-3f577392.entry.js +0 -1
- package/dist/ui-library/p-4162dcdd.entry.js +0 -1
- package/dist/ui-library/p-4d3a4e93.entry.js +0 -1
- package/dist/ui-library/p-4ed023b8.entry.js +0 -1
- package/dist/ui-library/p-530ea6ec.entry.js +0 -1
- package/dist/ui-library/p-531ab886.entry.js +0 -1
- package/dist/ui-library/p-54c48654.entry.js +0 -1
- package/dist/ui-library/p-55c64cbc.entry.js +0 -1
- package/dist/ui-library/p-5f1c6a5f.js +0 -1
- package/dist/ui-library/p-6494e92d.entry.js +0 -1
- package/dist/ui-library/p-66601906.entry.js +0 -1
- package/dist/ui-library/p-675a8243.entry.js +0 -1
- package/dist/ui-library/p-6a4f0542.entry.js +0 -1
- package/dist/ui-library/p-6d622ed0.entry.js +0 -1
- package/dist/ui-library/p-75297ad7.js +0 -1
- package/dist/ui-library/p-76bfa55f.entry.js +0 -1
- package/dist/ui-library/p-7fe09462.entry.js +0 -1
- package/dist/ui-library/p-88e1e390.entry.js +0 -1
- package/dist/ui-library/p-8e8e922b.entry.js +0 -1
- package/dist/ui-library/p-90b26447.entry.js +0 -1
- package/dist/ui-library/p-93945629.entry.js +0 -1
- package/dist/ui-library/p-a98198bd.entry.js +0 -1
- package/dist/ui-library/p-aa37e45a.entry.js +0 -1
- package/dist/ui-library/p-b391f704.entry.js +0 -1
- package/dist/ui-library/p-b9377445.entry.js +0 -1
- package/dist/ui-library/p-bf110ea9.entry.js +0 -1
- package/dist/ui-library/p-c24292b3.entry.js +0 -1
- package/dist/ui-library/p-c4b22513.entry.js +0 -1
- package/dist/ui-library/p-c536792e.entry.js +0 -1
- package/dist/ui-library/p-cd79de73.entry.js +0 -1
- package/dist/ui-library/p-ce02c34f.entry.js +0 -1
- package/dist/ui-library/p-d28ac80a.entry.js +0 -1
- package/dist/ui-library/p-d724bbc9.entry.js +0 -1
- package/dist/ui-library/p-d837e5a8.entry.js +0 -1
- package/dist/ui-library/p-dd3cae68.entry.js +0 -1
- package/dist/ui-library/p-ea781e94.entry.js +0 -1
- package/dist/ui-library/p-eae232c3.entry.js +0 -1
- package/dist/ui-library/p-eb0956d2.entry.js +0 -1
- package/dist/ui-library/p-f00c1783.entry.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as i,c as s,h as t}from"./p-ac4f4d45.js";import{s as e}from"./p-eb8f05a9.js";const r=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block;height:100%}.sidebar__container{height:100%;overflow:auto}.sidebar__container.sidebar--open{box-shadow:var(--six-elevation-1dp)}.sidebar__container:not(.sidebar--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.sidebar--left{color:var(--six-sidebar-color);background-color:var(--six-sidebar-background-color);transition:var(--six-transition-medium) margin-left;background-size:300vw 70%;background-position:bottom;background-repeat:no-repeat}.sidebar--right{transition:var(--six-transition-medium) margin-right}.sidebar--open.sidebar--left{margin-right:2px}.sidebar--open.sidebar--right{margin-left:2px}";const a=i=>i.tagName.toLowerCase()==="six-sidebar-item-group";const n=class{constructor(t){i(this,t);this.sixShow=s(this,"six-sidebar-show",7);this.sixAfterShow=s(this,"six-sidebar-after-show",7);this.sixHide=s(this,"six-sidebar-hide",7);this.sixAfterHide=s(this,"six-sidebar-after-hide",7);this.sixInitialFocus=s(this,"six-sidebar-initial-focus",7);this.willShow=false;this.willHide=false;this.handleTransitionEnd=i=>{const s=i.target;if(i.type==="transitionend"&&s.classList.contains("sidebar__container")){this.resetTransitionVariables()}};this.closeSiblingDetailsOnShow=i=>{const s=i.target;e(s,this.sidebar);const t=i=>{let t=s;while(i(t)!==null){t=i(t);if(a(t)){t.shadowRoot.querySelector("six-details").open=false}}};t((i=>i.previousElementSibling));t((i=>i.nextElementSibling))};this.isVisible=false;this.position="left";this.open=false;this.width="16rem";this.toggled=false}handleOpenChange(){this.open?this.show():this.hide()}componentWillLoad(){if(this.open){void this.show();this.resetTransitionVariables()}}componentDidRender(){this.setupTogglableMenuItems()}disconnectedCallback(){this.sidebar.removeEventListener("six-details-show",this.closeSiblingDetailsOnShow)}setupTogglableMenuItems(){if(!this.toggled){return}this.markAllMenuItemsAsSelectableEmpty();this.sidebar.addEventListener("six-details-show",this.closeSiblingDetailsOnShow)}markAllMenuItemsAsSelectableEmpty(){const i=this.sidebar.querySelector("slot");const s=i.assignedElements();const t=[];while(s.length>0){const i=s.pop();const e=i.shadowRoot.querySelectorAll("six-details");t.push(...e);const r=Array.from(i.children).filter(a);s.push(...r)}t.forEach((i=>i.selectableEmpty=true))}async toggle(){if(this.willShow||this.willHide){return}if(this.open){await this.hide()}else{await this.show()}}async show(){if(this.willShow){return}const i=this.sixShow.emit();if(i.defaultPrevented){this.open=false;return}this.willShow=true;this.isVisible=true;this.open=true}async hide(){if(this.willHide){return}const i=this.sixHide.emit();if(i.defaultPrevented){this.open=true;return}this.willHide=true;this.open=false}async selectItemByIndex(i){const s=this.sidebar.querySelector("slot");const t=s.assignedElements().map((i=>i.shadowRoot.querySelector("six-details")));if(i<0||i>t.length-1){console.error(`Tried to access sidebar menu item by index, but provided index out of range. Provided index: ${i}`);return}await t[i].show()}async selectItemByName(i){const s=this.sidebar.querySelector("slot");const t=s.assignedElements();const e=t.findIndex((s=>(s===null||s===void 0?void 0:s.name)===i));const r=t[e].shadowRoot.querySelector("six-details");await r.show()}resetTransitionVariables(){this.isVisible=this.open;this.willShow=false;this.willHide=false;this.open?this.sixAfterShow.emit():this.sixAfterHide.emit()}render(){return t("host",{class:"six-sidebar"},t("div",{class:{sidebar__container:true,"sidebar--visible":this.isVisible,"sidebar--open":this.open,"sidebar--left":this.position==="left","sidebar--right":this.position==="right"},style:{width:this.width,[`margin-${this.position}`]:this.open?"0":`calc(1rem - ${this.width})`},ref:i=>this.sidebar=i,"aria-hidden":this.open?"false":"true",onTransitionEnd:this.handleTransitionEnd},t("slot",null)))}static get watchers(){return{open:["handleOpenChange"]}}};n.style=r;export{n as six_sidebar};
|
|
2
|
+
//# sourceMappingURL=p-f9d345e0.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["sixSidebarCss","isSidebarItemGroup","node","tagName","toLowerCase","SixSidebar","this","willShow","willHide","handleTransitionEnd","event","target","type","classList","contains","resetTransitionVariables","closeSiblingDetailsOnShow","clickedMenuItem","scrollIntoView","sidebar","closeAllSiblingsBySiblingProperty","getSibling","shadowRoot","querySelector","open","previousElementSibling","nextElementSibling","handleOpenChange","show","hide","componentWillLoad","componentDidRender","setupTogglableMenuItems","disconnectedCallback","removeEventListener","toggled","markAllMenuItemsAsSelectableEmpty","addEventListener","slot","nodes","assignedElements","menuItems","length","pop","menuItemsForCurrentNode","querySelectorAll","push","newItemGroups","Array","from","children","filter","forEach","details","selectableEmpty","async","sixShow","emit","defaultPrevented","isVisible","sixHide","index","menuItemsOnRootLevel","map","el","console","error","value","sidebarItemGroups","indexOfSelectedElement","findIndex","name","selectedItem","sixAfterShow","sixAfterHide","render","h","class","sidebar__container","position","style","width","ref","onTransitionEnd"],"sources":["./src/components/six-sidebar/six-sidebar.scss?tag=six-sidebar&encapsulation=shadow","./src/components/six-sidebar/six-sidebar.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n@import 'src/global/mixins/scrollbar';\n\n:host {\n display: block;\n height: 100%;\n}\n\n.sidebar {\n &__container {\n // scroll\n height: 100%;\n overflow: auto;\n\n &.sidebar--open {\n box-shadow: var(--six-elevation-1dp);\n }\n\n &:not(.sidebar--visible) {\n @include hidden;\n }\n }\n\n &--left {\n color: var(--six-sidebar-color);\n background-color: var(--six-sidebar-background-color);\n // collapse\n transition: var(--six-transition-medium) margin-left;\n // six background\n background-size: 300vw 70%;\n background-position: bottom;\n background-repeat: no-repeat;\n }\n\n &--right {\n // collapse\n transition: var(--six-transition-medium) margin-right;\n }\n\n // if the sidebar is embedded within six-root it cuts-off the border styling, for thus we need to guarante a margin\n &--open {\n &.sidebar--left {\n margin-right: 2px;\n }\n\n &.sidebar--right {\n margin-left: 2px;\n }\n }\n}\n","import { Component, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\nimport { scrollIntoView } from '../../utils/scroll';\n\nconst isSidebarItemGroup = (node: Element) => node.tagName.toLowerCase() === 'six-sidebar-item-group';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the nested side bar [group] items.\n */\n\n@Component({\n tag: 'six-sidebar',\n styleUrl: 'six-sidebar.scss',\n shadow: true,\n})\nexport class SixSidebar {\n willShow = false;\n willHide = false;\n\n sidebar: HTMLElement;\n\n @State() isVisible = false;\n\n /** Sidebar position */\n @Prop() position: 'left' | 'right' = 'left';\n\n /** Indicates whether or not the sidebar is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Sidebar width */\n @Prop() width: string = '16rem';\n\n /** Define whether sidebar is toggled meaning only one menu can be open at the same time*/\n @Prop() toggled: boolean = false;\n\n /** Emitted when the sidebar opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-sidebar-show' }) sixShow: EventEmitter<EmptyPayload>;\n\n /** Emitted after the sidebar opens and all transitions are complete. */\n @Event({ eventName: 'six-sidebar-after-show' }) sixAfterShow: EventEmitter<EmptyPayload>;\n\n /** Emitted when the sidebar closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-sidebar-hide' }) sixHide: EventEmitter<EmptyPayload>;\n\n /** Emitted after the sidebar closes and all transitions are complete. */\n @Event({ eventName: 'six-sidebar-after-hide' }) sixAfterHide: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when the sidebar opens and the panel gains focus. Calling `event.preventDefault()` will prevent focus and\n * allow you to set it on a different element in the sidebar, such as an input or button.\n */\n @Event({ eventName: 'six-sidebar-initial-focus' }) sixInitialFocus: EventEmitter<EmptyPayload>;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n handleTransitionEnd = (event: TransitionEvent) => {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.type === 'transitionend' && target.classList.contains('sidebar__container')) {\n this.resetTransitionVariables();\n }\n };\n\n componentWillLoad() {\n // Show on init if open\n if (this.open) {\n void this.show();\n // if the sidebar is open by default we need to manually reset the\n // transition variables since there will be no transition event\n this.resetTransitionVariables();\n }\n }\n\n componentDidRender() {\n this.setupTogglableMenuItems();\n }\n\n disconnectedCallback() {\n this.sidebar.removeEventListener('six-details-show', this.closeSiblingDetailsOnShow);\n }\n\n private closeSiblingDetailsOnShow = (event: CustomEvent<EmptyPayload>) => {\n const clickedMenuItem = event.target as HTMLElement;\n scrollIntoView(clickedMenuItem, this.sidebar);\n\n const closeAllSiblingsBySiblingProperty = (getSibling: (node: Element) => Element) => {\n let node: Element = clickedMenuItem;\n\n while (getSibling(node) !== null) {\n node = getSibling(node);\n if (isSidebarItemGroup(node)) {\n node.shadowRoot.querySelector('six-details').open = false;\n }\n }\n };\n\n // close all previous siblings\n closeAllSiblingsBySiblingProperty((node) => node.previousElementSibling);\n // close all further siblings\n closeAllSiblingsBySiblingProperty((node) => node.nextElementSibling);\n };\n\n private setupTogglableMenuItems() {\n if (!this.toggled) {\n return;\n }\n\n this.markAllMenuItemsAsSelectableEmpty();\n\n this.sidebar.addEventListener('six-details-show', this.closeSiblingDetailsOnShow);\n }\n\n private markAllMenuItemsAsSelectableEmpty() {\n // when you have a toggled menu you also want to close other menu items when you click on an item without children\n // nice benefit this item will then also be highlighted\n const slot = this.sidebar.querySelector('slot');\n const nodes = slot.assignedElements();\n\n // since we don't just want to make the top level empty menuItems selectable in toggled mode,\n // but also nested items we need to traverse the whole menu item tree\n const menuItems = [];\n while (nodes.length > 0) {\n const node = nodes.pop();\n\n // collect six-details in the current shadowDOM\n const menuItemsForCurrentNode = node.shadowRoot.querySelectorAll('six-details');\n menuItems.push(...menuItemsForCurrentNode);\n\n // collect all six-sidebar-item-group children of the current node to afterwards check their shadowDOM too\n const newItemGroups = Array.from(node.children).filter(isSidebarItemGroup);\n nodes.push(...newItemGroups);\n }\n\n menuItems.forEach((details) => (details.selectableEmpty = true));\n }\n\n /** Toggles whether the sidebar should be shown or hidden */\n @Method()\n async toggle() {\n if (this.willShow || this.willHide) {\n return;\n }\n\n if (this.open) {\n await this.hide();\n } else {\n await this.show();\n }\n }\n\n /** Shows the sidebar */\n @Method()\n async show() {\n if (this.willShow) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.willShow = true;\n this.isVisible = true;\n this.open = true;\n }\n\n /** Hides the sidebar */\n @Method()\n async hide() {\n if (this.willHide) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.willHide = true;\n this.open = false;\n }\n\n /** Allows to select a menu item programmatically by index */\n @Method()\n async selectItemByIndex(index: number) {\n const slot = this.sidebar.querySelector('slot');\n const menuItemsOnRootLevel: HTMLSixDetailsElement[] = slot\n .assignedElements()\n .map((el) => el.shadowRoot.querySelector('six-details'));\n\n if (index < 0 || index > menuItemsOnRootLevel.length - 1) {\n console.error(\n `Tried to access sidebar menu item by index, but provided index out of range. Provided index: ${index}`\n );\n return;\n }\n\n await menuItemsOnRootLevel[index].show();\n }\n\n /** Allows to select a menu item programmatically by name */\n @Method()\n async selectItemByName(value: string) {\n const slot = this.sidebar.querySelector('slot');\n const sidebarItemGroups = slot.assignedElements() as HTMLSixSidebarItemGroupElement[];\n const indexOfSelectedElement = sidebarItemGroups.findIndex((el) => el?.name === value);\n const selectedItem = sidebarItemGroups[indexOfSelectedElement].shadowRoot.querySelector('six-details');\n await selectedItem.show();\n }\n\n private resetTransitionVariables() {\n this.isVisible = this.open;\n this.willShow = false;\n this.willHide = false;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n\n render() {\n return (\n <host class=\"six-sidebar\">\n <div\n class={{\n sidebar__container: true,\n 'sidebar--visible': this.isVisible,\n 'sidebar--open': this.open,\n 'sidebar--left': this.position === 'left',\n 'sidebar--right': this.position === 'right',\n }}\n style={{\n width: this.width,\n [`margin-${this.position}`]: this.open ? '0' : `calc(1rem - ${this.width})`,\n }}\n ref={(el) => (this.sidebar = el)}\n aria-hidden={this.open ? 'false' : 'true'}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <slot />\n </div>\n </host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,h as i}from"./p-ac4f4d45.js";const t=".six-error-page__title{display:flex;justify-content:center;font-size:var(--six-font-size-xx-large);font-weight:bold;margin-bottom:var(--six-spacing-large)}.six-error-page__description>*{text-align:center}.six-error-page__icon-container{display:flex;justify-content:center}.six-error-page__icon::part(icon){background-color:var(--six-color-web-rock-300)}";var n;(function(e){e[e["FORBIDDEN"]=403]="FORBIDDEN";e[e["NOT_FOUND"]=404]="NOT_FOUND";e[e["INTERNAL_SERVER_ERROR"]=500]="INTERNAL_SERVER_ERROR"})(n||(n={}));const r={[n.FORBIDDEN]:{en:"Access Denied",de:"Kein Zugriff"},[n.NOT_FOUND]:{en:"Not Found",de:"Seite nicht gefunden"},[n.INTERNAL_SERVER_ERROR]:{en:"Ooops!",de:"Ups!"}};const s={[n.FORBIDDEN]:{en:["You don’t have permission to access this page. ","Please contact an administrator or click the SIX logo on top left."],de:["Sie haben keine Zugriffsberechtigung auf diese Seite.","Bitte wenden Sie sich an einen Administrator oder klicken Sie auf das SIX-Logo oben links."]},[n.NOT_FOUND]:{en:["We have not found the page you requested.","Please click the SIX logo on top left."],de:["Wir haben die angeforderte Seite nicht gefunden.","Bitte klicken Sie auf das SIX-Logo oben links."]},[n.INTERNAL_SERVER_ERROR]:{en:["Sorry, we messed up! We try to fix this.","Please click the SIX logo on top left."],de:["Sorry, das war unser Fehler! Wir versuchen das zu beheben.","Bitte klicken Sie auf das SIX-Logo oben links."]}};const o=class{constructor(i){e(this,i);this.errorCode=undefined;this.language="en";this.customTitle=undefined;this.customDescription=undefined;this.customIcon=undefined}getIconName(){if(this.customIcon!==undefined){return this.customIcon}if(this.errorCode===undefined){return}if(this.errorCode===n.FORBIDDEN){return"lock"}if(this.errorCode===n.NOT_FOUND){return"find-in-page"}if(this.errorCode===n.INTERNAL_SERVER_ERROR){return"sentiment-dissatisfied"}}getErrorTitle(){if(this.customTitle!==undefined){return this.customTitle}if(this.errorCode===undefined){return}return r[this.errorCode][this.language]}getErrorDescription(){if(this.errorCode===undefined&&this.customDescription===undefined){return}const e=this.getDescriptions();return e.map((e=>i("div",null,e)))}getDescriptions(){if(this.customDescription!==undefined){return this.customDescription}return s[this.errorCode][this.language]}render(){return i("div",{part:"container"},i("div",{class:"six-error-page__icon-container",part:"icon-container"},i("six-picto",{size:"4xl",class:"six-error-page__icon",part:"icon"},this.getIconName())),i("div",{class:"six-error-page__title",part:"title"},this.getErrorTitle()),i("div",{class:"six-error-page__description",part:"description"},this.getErrorDescription()))}};o.style=t;export{o as six_error_page};
|
|
2
|
+
//# sourceMappingURL=p-fed07a1f.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["sixErrorPageCss","ERROR_CODE","TITLE_PER_ERROR_CODE","FORBIDDEN","en","de","NOT_FOUND","INTERNAL_SERVER_ERROR","DESCRIPTION_PER_ERROR_CODE","SixErrorPage","getIconName","this","customIcon","undefined","errorCode","getErrorTitle","customTitle","language","getErrorDescription","customDescription","descriptions","getDescriptions","map","errorMessage","h","render","part","class","size"],"sources":["./src/components/six-error-page/six-error-page.scss?tag=six-error-page&encapsulation=shadow","./src/components/six-error-page/six-error-page.tsx"],"sourcesContent":[".six-error-page {\n &__title {\n display: flex;\n justify-content: center;\n font-size: var(--six-font-size-xx-large);\n font-weight: bold;\n margin-bottom: var(--six-spacing-large);\n }\n\n &__description {\n & > * {\n text-align: center;\n }\n }\n\n &__icon-container {\n display: flex;\n justify-content: center;\n }\n\n &__icon::part(icon) {\n background-color: var(--six-color-web-rock-300);\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\nenum ERROR_CODE {\n FORBIDDEN = 403,\n NOT_FOUND = 404,\n INTERNAL_SERVER_ERROR = 500,\n}\nconst TITLE_PER_ERROR_CODE = {\n [ERROR_CODE.FORBIDDEN]: {\n en: 'Access Denied',\n de: 'Kein Zugriff',\n },\n [ERROR_CODE.NOT_FOUND]: {\n en: 'Not Found',\n de: 'Seite nicht gefunden',\n },\n [ERROR_CODE.INTERNAL_SERVER_ERROR]: {\n en: 'Ooops!',\n de: 'Ups!',\n },\n};\n\nconst DESCRIPTION_PER_ERROR_CODE = {\n [ERROR_CODE.FORBIDDEN]: {\n en: [\n 'You don’t have permission to access this page. ',\n 'Please contact an administrator or click the SIX logo on top left.',\n ],\n de: [\n 'Sie haben keine Zugriffsberechtigung auf diese Seite.',\n 'Bitte wenden Sie sich an einen Administrator oder klicken Sie auf das SIX-Logo oben links.',\n ],\n },\n [ERROR_CODE.NOT_FOUND]: {\n en: ['We have not found the page you requested.', 'Please click the SIX logo on top left.'],\n de: ['Wir haben die angeforderte Seite nicht gefunden.', 'Bitte klicken Sie auf das SIX-Logo oben links.'],\n },\n [ERROR_CODE.INTERNAL_SERVER_ERROR]: {\n en: ['Sorry, we messed up! We try to fix this.', 'Please click the SIX logo on top left.'],\n de: [\n 'Sorry, das war unser Fehler! Wir versuchen das zu beheben.',\n 'Bitte klicken Sie auf das SIX-Logo oben links.',\n ],\n },\n};\n/*\n * @since 2.2.0\n * @status experimental\n * @part container - The whole component container\n * @part label - The language label\n * @part separator - The separator between the language labels\n */\n\n@Component({\n tag: 'six-error-page',\n styleUrl: 'six-error-page.scss',\n shadow: true,\n})\nexport class SixErrorPage {\n /**\n * Defines error Code and thus displays the proper error page.\n */\n @Prop() errorCode: number;\n\n /**\n * Defines language and thus displays the proper error page in the selected language.\n */\n @Prop() language: 'en' | 'de' = 'en';\n\n /**\n * Defines a custom title.\n */\n @Prop() customTitle?: string;\n\n /**\n * Defines a custom description.\n */\n @Prop() customDescription?: string[];\n\n /**\n * Defines a custom icon.\n */\n @Prop() customIcon?: string;\n\n private getIconName() {\n if (this.customIcon !== undefined) {\n return this.customIcon;\n }\n\n if (this.errorCode === undefined) {\n return;\n }\n\n if (this.errorCode === ERROR_CODE.FORBIDDEN) {\n return 'lock';\n }\n\n if (this.errorCode === ERROR_CODE.NOT_FOUND) {\n return 'find-in-page';\n }\n\n if (this.errorCode === ERROR_CODE.INTERNAL_SERVER_ERROR) {\n return 'sentiment-dissatisfied';\n }\n }\n\n private getErrorTitle() {\n if (this.customTitle !== undefined) {\n return this.customTitle;\n }\n\n if (this.errorCode === undefined) {\n return;\n }\n\n return TITLE_PER_ERROR_CODE[this.errorCode][this.language];\n }\n\n private getErrorDescription() {\n if (this.errorCode === undefined && this.customDescription === undefined) {\n return;\n }\n\n const descriptions = this.getDescriptions();\n return descriptions.map((errorMessage) => <div>{errorMessage}</div>);\n }\n\n private getDescriptions() {\n if (this.customDescription !== undefined) {\n return this.customDescription;\n }\n\n return DESCRIPTION_PER_ERROR_CODE[this.errorCode][this.language];\n }\n\n render() {\n return (\n <div part=\"container\">\n <div class=\"six-error-page__icon-container\" part=\"icon-container\">\n <six-picto size=\"4xl\" class=\"six-error-page__icon\" part=\"icon\">\n {this.getIconName()}\n </six-picto>\n </div>\n <div class=\"six-error-page__title\" part=\"title\">\n {this.getErrorTitle()}\n </div>\n <div class=\"six-error-page__description\" part=\"description\">\n {this.getErrorDescription()}\n </div>\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAkB,oWCExB,IAAKC,GAAL,SAAKA,GACHA,IAAA,8BACAA,IAAA,8BACAA,IAAA,qDACD,EAJD,CAAKA,MAAU,KAKf,MAAMC,EAAuB,CAC3B,CAACD,EAAWE,WAAY,CACtBC,GAAI,gBACJC,GAAI,gBAEN,CAACJ,EAAWK,WAAY,CACtBF,GAAI,YACJC,GAAI,wBAEN,CAACJ,EAAWM,uBAAwB,CAClCH,GAAI,SACJC,GAAI,SAIR,MAAMG,EAA6B,CACjC,CAACP,EAAWE,WAAY,CACtBC,GAAI,CACF,kDACA,sEAEFC,GAAI,CACF,wDACA,+FAGJ,CAACJ,EAAWK,WAAY,CACtBF,GAAI,CAAC,4CAA6C,0CAClDC,GAAI,CAAC,mDAAoD,mDAE3D,CAACJ,EAAWM,uBAAwB,CAClCH,GAAI,CAAC,2CAA4C,0CACjDC,GAAI,CACF,6DACA,oD,MAiBOI,EAAY,M,gEASS,K,sFAiBxBC,cACN,GAAIC,KAAKC,aAAeC,UAAW,CACjC,OAAOF,KAAKC,U,CAGd,GAAID,KAAKG,YAAcD,UAAW,CAChC,M,CAGF,GAAIF,KAAKG,YAAcb,EAAWE,UAAW,CAC3C,MAAO,M,CAGT,GAAIQ,KAAKG,YAAcb,EAAWK,UAAW,CAC3C,MAAO,c,CAGT,GAAIK,KAAKG,YAAcb,EAAWM,sBAAuB,CACvD,MAAO,wB,EAIHQ,gBACN,GAAIJ,KAAKK,cAAgBH,UAAW,CAClC,OAAOF,KAAKK,W,CAGd,GAAIL,KAAKG,YAAcD,UAAW,CAChC,M,CAGF,OAAOX,EAAqBS,KAAKG,WAAWH,KAAKM,S,CAG3CC,sBACN,GAAIP,KAAKG,YAAcD,WAAaF,KAAKQ,oBAAsBN,UAAW,CACxE,M,CAGF,MAAMO,EAAeT,KAAKU,kBAC1B,OAAOD,EAAaE,KAAKC,GAAiBC,EAAA,WAAMD,I,CAG1CF,kBACN,GAAIV,KAAKQ,oBAAsBN,UAAW,CACxC,OAAOF,KAAKQ,iB,CAGd,OAAOX,EAA2BG,KAAKG,WAAWH,KAAKM,S,CAGzDQ,SACE,OACED,EAAA,OAAKE,KAAK,aACRF,EAAA,OAAKG,MAAM,iCAAiCD,KAAK,kBAC/CF,EAAA,aAAWI,KAAK,MAAMD,MAAM,uBAAuBD,KAAK,QACrDf,KAAKD,gBAGVc,EAAA,OAAKG,MAAM,wBAAwBD,KAAK,SACrCf,KAAKI,iBAERS,EAAA,OAAKG,MAAM,8BAA8BD,KAAK,eAC3Cf,KAAKO,uB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as i,c as s,h as e,g as l}from"./p-ac4f4d45.js";const o=".sc-six-file-upload-h{position:relative;box-sizing:border-box}.sc-six-file-upload-h *.sc-six-file-upload,.sc-six-file-upload-h *.sc-six-file-upload:before,.sc-six-file-upload-h *.sc-six-file-upload:after{box-sizing:inherit}.sc-six-file-upload-h{position:static;display:block}.six-file-upload.sc-six-file-upload six-card.sc-six-file-upload{box-shadow:none;padding:0;width:100%}.six-file-upload.sc-six-file-upload six-card.kyc-file-upload__container--compact.sc-six-file-upload{width:inherit}.six-file-upload__label--highlighted.sc-six-file-upload{color:var(--six-color-action-600)}.six-file-upload__container--full.sc-six-file-upload{border:dashed 1px var(--six-color-web-rock-500)}.six-file-upload__label-icon.sc-six-file-upload{margin-right:0.5rem}.six-file-upload__drop-zone.sc-six-file-upload{padding:2rem 0;display:flex;justify-content:center;width:100%;transition:background-color 0.3s}.six-file-upload__drop-zone--compact.sc-six-file-upload{padding:0}.six-file-upload__input.sc-six-file-upload{cursor:pointer;position:absolute;top:0;left:0;width:100%;user-select:none;height:100%;opacity:0;outline:none}.six-file-upload--disabled.sc-six-file-upload .six-file-upload__drop-zone.sc-six-file-upload{background-color:var(--six-color-inactive)}.six-file-upload.sc-six-file-upload:not(.six-file-upload--disabled) .six-file-upload__drop-zone.sc-six-file-upload:hover,.six-file-upload__drop-zone--hover.sc-six-file-upload{background-color:var(--six-color-action-light-to-be-defined)}.six-file-upload.sc-six-file-upload:not(.six-file-upload--disabled) .six-file-upload__drop-zone.sc-six-file-upload:hover.six-file-upload__drop-zone--compact,.six-file-upload__drop-zone--hover.six-file-upload__drop-zone--compact.sc-six-file-upload{background-color:inherit}.six-file-upload--disabled.sc-six-file-upload .six-file-upload__input.sc-six-file-upload{cursor:not-allowed}";const a=class{constructor(e){i(this,e);this.fileUploadSuccessEvent=s(this,"six-file-upload-success",7);this.fileUploadFailureEvent=s(this,"six-file-upload-failure",7);this.handleFiles=i=>{if(this.disabled){return}if(i.length===0){return}if(!this.multiple&&i.length>1){return this.fileUploadFailureEvent.emit({reason:"Only one file is allowed."})}for(const s of i){if(!s){return}const e=this.accept&&this.accept.replace(/\s/g,"").split(",");if(this.accept&&e.indexOf(s.type)===-1){const s=i.length>1?"One or more files have invalid MIME type.":"File has invalid MIME type.";return this.fileUploadFailureEvent.emit({reason:s})}if(this.maxFileSize&&s.size>this.maxFileSize){const s=i.length>1?"One or more files are too big":"File is too big.";return this.fileUploadFailureEvent.emit({reason:s})}}const s=this.multiple?{files:i}:{file:i.item(0)};this.fileUploadSuccessEvent.emit(s)};this.onChange=()=>{var i;if((i=this.fileInput)===null||i===void 0?void 0:i.files){const i=this.fileInput.files;this.handleFiles(i);this.fileInput.value=""}};this.isOver=false;this.compact=false;this.label=undefined;this.disabled=false;this.accept=undefined;this.multiple=undefined;this.maxFileSize=undefined}dragenterHandler(){if(!this.disabled){this.isOver=true}}dragoverHandler(){if(!this.disabled){this.isOver=true}}dragleaveHandler(){if(!this.disabled){this.isOver=false}}dropHandler({dataTransfer:i}){if(!this.disabled){this.isOver=false;if(i){this.handleFiles(i.files)}}}componentDidLoad(){["dragenter","dragover","dragleave","drop"].forEach((i=>{this.host.addEventListener(i,this.preventDefaults,false);document.body.addEventListener(i,this.preventDefaults,false)}))}disconnectedCallback(){["dragenter","dragover","dragleave","drop"].forEach((i=>{this.host.removeEventListener(i,this.preventDefaults,false);document.body.removeEventListener(i,this.preventDefaults,false)}))}preventDefaults(i){i.preventDefault();i.stopPropagation()}renderLabel(){return this.label||(this.compact?"Upload":e("span",null,"Drop files to upload, or ",e("span",{class:"six-file-upload__label--highlighted"},"browse")))}render(){const i=this.compact?"six-button":"six-card";return e("div",{class:{"six-file-upload":true,"six-file-upload--disabled":this.disabled}},e(i,{class:{"six-file-upload__container--compact":this.compact,"six-file-upload__container--full":!this.compact}},this.compact&&e("span",{slot:"prefix"},e("six-icon",{class:"six-file-upload__label-icon"},"arrow_circle_up")),e("div",{class:{"six-file-upload__drop-zone":true,"six-file-upload__drop-zone--hover":this.isOver,"six-file-upload__drop-zone--compact":this.compact}},e("span",null,this.renderLabel()),e("input",{class:"six-file-upload__input",type:"file",name:"resume",disabled:this.disabled,accept:this.accept,multiple:this.multiple,onChange:this.onChange,ref:i=>this.fileInput=i}))))}get host(){return l(this)}};a.style=o;export{a as six_file_upload};
|
|
2
|
+
//# sourceMappingURL=p-ff0257bf.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["sixFileUploadCss","SixFileUpload","this","handleFiles","files","disabled","length","multiple","fileUploadFailureEvent","emit","reason","file","acceptedTypesList","accept","replace","split","indexOf","type","maxFileSize","size","objectToEmit","item","fileUploadSuccessEvent","onChange","_a","fileInput","value","undefined","dragenterHandler","isOver","dragoverHandler","dragleaveHandler","dropHandler","dataTransfer","componentDidLoad","forEach","eventName","host","addEventListener","preventDefaults","document","body","disconnectedCallback","removeEventListener","e","preventDefault","stopPropagation","renderLabel","label","compact","h","class","render","Container","slot","name","ref","el"],"sources":["./src/components/six-file-upload/six-file-upload.scss?tag=six-file-upload&encapsulation=scoped","./src/components/six-file-upload/six-file-upload.tsx"],"sourcesContent":["@import 'src/global/component';\n\n$over-color: var(--six-color-action-light-to-be-defined);\n$disabled-color: var(--six-color-inactive);\n$transition: 0.3s;\n$margin: 1rem;\n\n:host {\n position: static;\n display: block;\n}\n\n.six-file-upload {\n six-card {\n box-shadow: none;\n padding: 0;\n width: 100%;\n\n &.kyc-file-upload__container--compact {\n width: inherit;\n }\n }\n\n &__label {\n &--highlighted {\n color: var(--six-color-action-600);\n }\n }\n\n &__container {\n &--full {\n border: dashed 1px var(--six-color-web-rock-500);\n }\n }\n\n &__label-icon {\n margin-right: 0.5rem;\n }\n\n &__drop-zone {\n padding: 2rem 0;\n display: flex;\n justify-content: center;\n width: 100%;\n transition: background-color $transition;\n\n &--compact {\n padding: 0;\n }\n }\n\n &__input {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n user-select: none;\n height: 100%;\n opacity: 0;\n outline: none;\n }\n\n &--disabled &__drop-zone {\n background-color: $disabled-color;\n }\n\n &:not(.six-file-upload--disabled) &__drop-zone:hover,\n &__drop-zone--hover {\n background-color: $over-color;\n\n &.six-file-upload__drop-zone--compact {\n background-color: inherit;\n }\n }\n\n &--disabled &__input {\n cursor: not-allowed;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\n\ninterface ISingleFile {\n file: File;\n}\n\ninterface IMultipleFiles {\n files: FileList;\n}\n\nexport type SixFileUploadSuccessPayload = ISingleFile | IMultipleFiles;\n\nexport interface SixFileUploadFailurePayload {\n reason: string;\n}\n\n/**\n * @since 2.0.0\n * @status experimental\n *\n */\n@Component({\n tag: 'six-file-upload',\n styleUrl: 'six-file-upload.scss',\n scoped: true,\n shadow: false,\n})\nexport class SixFileUpload {\n @Element() readonly host: HTMLSixFileUploadElement;\n\n fileInput: HTMLInputElement;\n\n @State() isOver = false;\n\n /** Set to true if file control should be small. */\n @Prop() readonly compact: boolean = false;\n\n /** Label of the drop area. */\n @Prop() readonly label: string;\n\n /** Set when button is disabled. */\n @Prop() readonly disabled: boolean = false;\n\n /** Accepted MIME-Types. */\n @Prop() readonly accept: string;\n\n /** More than one file allowed. */\n @Prop() readonly multiple: boolean;\n\n /** Allowed max file size in bytes. */\n @Prop() readonly maxFileSize: number | undefined = undefined;\n\n /** Triggers when a file is added. */\n @Event({ eventName: 'six-file-upload-success' })\n readonly fileUploadSuccessEvent: EventEmitter<SixFileUploadSuccessPayload>;\n\n /** Triggers when an uploaded file doesn't match MIME type or max file size. */\n @Event({ eventName: 'six-file-upload-failure' })\n readonly fileUploadFailureEvent: EventEmitter<SixFileUploadFailurePayload>;\n\n @Listen('dragenter', { capture: false })\n dragenterHandler() {\n if (!this.disabled) {\n this.isOver = true;\n }\n }\n\n @Listen('dragover', { capture: false })\n dragoverHandler() {\n if (!this.disabled) {\n this.isOver = true;\n }\n }\n\n @Listen('dragleave', { capture: false })\n dragleaveHandler() {\n if (!this.disabled) {\n this.isOver = false;\n }\n }\n\n @Listen('drop', { capture: false })\n dropHandler({ dataTransfer }: DragEvent) {\n if (!this.disabled) {\n this.isOver = false;\n if (dataTransfer) {\n this.handleFiles(dataTransfer.files);\n }\n }\n }\n\n handleFiles = (files: FileList) => {\n if (this.disabled) {\n return;\n }\n\n if (files.length === 0) {\n return;\n }\n\n if (!this.multiple && files.length > 1) {\n return this.fileUploadFailureEvent.emit({ reason: 'Only one file is allowed.' });\n }\n\n for (const file of files) {\n if (!file) {\n return;\n }\n\n const acceptedTypesList = this.accept && this.accept.replace(/\\s/g, '').split(',');\n\n if (this.accept && acceptedTypesList.indexOf(file.type) === -1) {\n const reason = files.length > 1 ? 'One or more files have invalid MIME type.' : 'File has invalid MIME type.';\n return this.fileUploadFailureEvent.emit({ reason });\n }\n\n if (this.maxFileSize && file.size > this.maxFileSize) {\n const reason = files.length > 1 ? 'One or more files are too big' : 'File is too big.';\n return this.fileUploadFailureEvent.emit({ reason });\n }\n }\n\n const objectToEmit: SixFileUploadSuccessPayload = this.multiple ? { files } : { file: files.item(0) };\n\n this.fileUploadSuccessEvent.emit(objectToEmit);\n };\n\n componentDidLoad() {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.host.addEventListener(eventName, this.preventDefaults, false);\n document.body.addEventListener(eventName, this.preventDefaults, false);\n });\n }\n\n disconnectedCallback() {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.host.removeEventListener(eventName, this.preventDefaults, false);\n document.body.removeEventListener(eventName, this.preventDefaults, false);\n });\n }\n\n preventDefaults(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n onChange = () => {\n if (this.fileInput?.files) {\n const files = this.fileInput.files;\n this.handleFiles(files);\n this.fileInput.value = '';\n }\n };\n\n private renderLabel() {\n return (\n this.label ||\n (this.compact ? (\n 'Upload'\n ) : (\n <span>\n Drop files to upload, or <span class=\"six-file-upload__label--highlighted\">browse</span>\n </span>\n ))\n );\n }\n\n render() {\n const Container = this.compact ? 'six-button' : 'six-card';\n\n return (\n <div\n class={{\n 'six-file-upload': true,\n 'six-file-upload--disabled': this.disabled,\n }}\n >\n <Container\n class={{\n 'six-file-upload__container--compact': this.compact,\n 'six-file-upload__container--full': !this.compact,\n }}\n >\n {this.compact && (\n <span slot=\"prefix\">\n <six-icon class=\"six-file-upload__label-icon\">arrow_circle_up</six-icon>\n </span>\n )}\n <div\n class={{\n 'six-file-upload__drop-zone': true,\n 'six-file-upload__drop-zone--hover': this.isOver,\n 'six-file-upload__drop-zone--compact': this.compact,\n }}\n >\n <span>{this.renderLabel()}</span>\n <input\n class=\"six-file-upload__input\"\n type=\"file\"\n name=\"resume\"\n disabled={this.disabled}\n accept={this.accept}\n multiple={this.multiple}\n onChange={this.onChange}\n ref={(el) => (this.fileInput = el)}\n />\n </div>\n </Container>\n </div>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAmB,w0D,MC2BZC,EAAa,M,yJAgExBC,KAAAC,YAAeC,IACb,GAAIF,KAAKG,SAAU,CACjB,M,CAGF,GAAID,EAAME,SAAW,EAAG,CACtB,M,CAGF,IAAKJ,KAAKK,UAAYH,EAAME,OAAS,EAAG,CACtC,OAAOJ,KAAKM,uBAAuBC,KAAK,CAAEC,OAAQ,6B,CAGpD,IAAK,MAAMC,KAAQP,EAAO,CACxB,IAAKO,EAAM,CACT,M,CAGF,MAAMC,EAAoBV,KAAKW,QAAUX,KAAKW,OAAOC,QAAQ,MAAO,IAAIC,MAAM,KAE9E,GAAIb,KAAKW,QAAUD,EAAkBI,QAAQL,EAAKM,SAAW,EAAG,CAC9D,MAAMP,EAASN,EAAME,OAAS,EAAI,4CAA8C,8BAChF,OAAOJ,KAAKM,uBAAuBC,KAAK,CAAEC,U,CAG5C,GAAIR,KAAKgB,aAAeP,EAAKQ,KAAOjB,KAAKgB,YAAa,CACpD,MAAMR,EAASN,EAAME,OAAS,EAAI,gCAAkC,mBACpE,OAAOJ,KAAKM,uBAAuBC,KAAK,CAAEC,U,EAI9C,MAAMU,EAA4ClB,KAAKK,SAAW,CAAEH,SAAU,CAAEO,KAAMP,EAAMiB,KAAK,IAEjGnB,KAAKoB,uBAAuBb,KAAKW,EAAa,EAsBhDlB,KAAAqB,SAAW,K,MACT,IAAIC,EAAAtB,KAAKuB,aAAS,MAAAD,SAAA,SAAAA,EAAEpB,MAAO,CACzB,MAAMA,EAAQF,KAAKuB,UAAUrB,MAC7BF,KAAKC,YAAYC,GACjBF,KAAKuB,UAAUC,MAAQ,E,eAtHT,M,aAGkB,M,mCAMC,M,+DAScC,S,CAWnDC,mBACE,IAAK1B,KAAKG,SAAU,CAClBH,KAAK2B,OAAS,I,EAKlBC,kBACE,IAAK5B,KAAKG,SAAU,CAClBH,KAAK2B,OAAS,I,EAKlBE,mBACE,IAAK7B,KAAKG,SAAU,CAClBH,KAAK2B,OAAS,K,EAKlBG,aAAYC,aAAEA,IACZ,IAAK/B,KAAKG,SAAU,CAClBH,KAAK2B,OAAS,MACd,GAAII,EAAc,CAChB/B,KAAKC,YAAY8B,EAAa7B,M,GAyCpC8B,mBACE,CAAC,YAAa,WAAY,YAAa,QAAQC,SAASC,IACtDlC,KAAKmC,KAAKC,iBAAiBF,EAAWlC,KAAKqC,gBAAiB,OAC5DC,SAASC,KAAKH,iBAAiBF,EAAWlC,KAAKqC,gBAAiB,MAAM,G,CAI1EG,uBACE,CAAC,YAAa,WAAY,YAAa,QAAQP,SAASC,IACtDlC,KAAKmC,KAAKM,oBAAoBP,EAAWlC,KAAKqC,gBAAiB,OAC/DC,SAASC,KAAKE,oBAAoBP,EAAWlC,KAAKqC,gBAAiB,MAAM,G,CAI7EA,gBAAgBK,GACdA,EAAEC,iBACFD,EAAEE,iB,CAWIC,cACN,OACE7C,KAAK8C,QACJ9C,KAAK+C,QAAO,SAGXC,EAAA,wCAC2BA,EAAA,QAAMC,MAAM,uCAAqC,W,CAMlFC,SACE,MAAMC,EAAYnD,KAAK+C,QAAU,aAAe,WAEhD,OACEC,EAAA,OACEC,MAAO,CACL,kBAAmB,KACnB,4BAA6BjD,KAAKG,WAGpC6C,EAACG,EAAS,CACRF,MAAO,CACL,sCAAuCjD,KAAK+C,QAC5C,oCAAqC/C,KAAK+C,UAG3C/C,KAAK+C,SACJC,EAAA,QAAMI,KAAK,UACTJ,EAAA,YAAUC,MAAM,+BAA6B,oBAGjDD,EAAA,OACEC,MAAO,CACL,6BAA8B,KAC9B,oCAAqCjD,KAAK2B,OAC1C,sCAAuC3B,KAAK+C,UAG9CC,EAAA,YAAOhD,KAAK6C,eACZG,EAAA,SACEC,MAAM,yBACNlC,KAAK,OACLsC,KAAK,SACLlD,SAAUH,KAAKG,SACfQ,OAAQX,KAAKW,OACbN,SAAUL,KAAKK,SACfgB,SAAUrB,KAAKqB,SACfiC,IAAMC,GAAQvD,KAAKuB,UAAYgC,M"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@font-face{font-family:"Material Icons";font-style:normal;font-weight:400;font-display:block;src:url("./material-icons.woff2") format("woff2"), url("./material-icons.woff") format("woff")}.material-icons{font-family:"Material Icons";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:"Material Icons Outlined";font-style:normal;font-weight:400;font-display:block;src:url("./material-icons-outlined.woff2") format("woff2"), url("./material-icons-outlined.woff") format("woff")}.material-icons-outlined{font-family:"Material Icons Outlined";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:"Material Icons Round";font-style:normal;font-weight:400;font-display:block;src:url("./material-icons-round.woff2") format("woff2"), url("./material-icons-round.woff") format("woff")}.material-icons-round{font-family:"Material Icons Round";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:"Material Icons Sharp";font-style:normal;font-weight:400;font-display:block;src:url("./material-icons-sharp.woff2") format("woff2"), url("./material-icons-sharp.woff") format("woff")}.material-icons-sharp{font-family:"Material Icons Sharp";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:"Material Icons Two Tone";font-style:normal;font-weight:400;font-display:block;src:url("./material-icons-two-tone.woff2") format("woff2"), url("./material-icons-two-tone.woff") format("woff")}.material-icons-two-tone{font-family:"Material Icons Two Tone";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:100;src:url('./files/noto-sans-latin-100-normal.woff2') format('woff2'), url('./files/noto-sans-latin-100-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:200;src:url('./files/noto-sans-latin-200-normal.woff2') format('woff2'), url('./files/noto-sans-latin-200-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:300;src:url('./files/noto-sans-latin-300-normal.woff2') format('woff2'), url('./files/noto-sans-latin-300-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:400;src:url('./files/noto-sans-latin-400-normal.woff2') format('woff2'), url('./files/noto-sans-latin-400-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:500;src:url('./files/noto-sans-latin-500-normal.woff2') format('woff2'), url('./files/noto-sans-latin-500-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:600;src:url('./files/noto-sans-latin-600-normal.woff2') format('woff2'), url('./files/noto-sans-latin-600-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:700;src:url('./files/noto-sans-latin-700-normal.woff2') format('woff2'), url('./files/noto-sans-latin-700-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:800;src:url('./files/noto-sans-latin-800-normal.woff2') format('woff2'), url('./files/noto-sans-latin-800-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:900;src:url('./files/noto-sans-latin-900-normal.woff2') format('woff2'), url('./files/noto-sans-latin-900-normal.woff') format('woff')}:root{--six-color-red:#de3919;--six-color-black:#000;--six-color-white:#fff;--six-color-web-rock-900:#262626;--six-color-web-rock-800:#484848;--six-color-web-rock-700:#676767;--six-color-web-rock-600:#7b7b7b;--six-color-web-rock-500:#a5a5a5;--six-color-web-rock-400:#c3c3c3;--six-color-web-rock-300:#e5e5e5;--six-color-web-rock-200:#f1f1f1;--six-color-web-rock-100:#f6f6f6;--six-color-web-rock-50:#fbfbfb;--six-color-clay-200:#ada398;--six-color-clay-50:#ebe8e7;--six-color-danger-900:#c52c0f;--six-color-danger-800:#de3919;--six-color-danger-light-to-be-defined:#f58c78;--six-color-warning-800:#ef9f25;--six-color-warning-700:#f2b72c;--six-color-warning-light-to-be-defined:#f9deb4;--six-color-success-600:#58d200;--six-color-success-500:#6ae300;--six-color-success-light-to-be-defined:#aaff6c;--six-color-action-600:#1f87e5;--six-color-action-500:#2196f3;--six-color-action-light-to-be-defined:#a8d0f5;--six-color-inactive:#c3c3c3;--six-focus-ring-color:var(--six-color-web-rock-400)
|
|
1
|
+
@font-face{font-family:"Material Icons";font-style:normal;font-weight:400;font-display:block;src:url("./material-icons.woff2") format("woff2"), url("./material-icons.woff") format("woff")}.material-icons{font-family:"Material Icons";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:"Material Icons Outlined";font-style:normal;font-weight:400;font-display:block;src:url("./material-icons-outlined.woff2") format("woff2"), url("./material-icons-outlined.woff") format("woff")}.material-icons-outlined{font-family:"Material Icons Outlined";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:"Material Icons Round";font-style:normal;font-weight:400;font-display:block;src:url("./material-icons-round.woff2") format("woff2"), url("./material-icons-round.woff") format("woff")}.material-icons-round{font-family:"Material Icons Round";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:"Material Icons Sharp";font-style:normal;font-weight:400;font-display:block;src:url("./material-icons-sharp.woff2") format("woff2"), url("./material-icons-sharp.woff") format("woff")}.material-icons-sharp{font-family:"Material Icons Sharp";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:"Material Icons Two Tone";font-style:normal;font-weight:400;font-display:block;src:url("./material-icons-two-tone.woff2") format("woff2"), url("./material-icons-two-tone.woff") format("woff")}.material-icons-two-tone{font-family:"Material Icons Two Tone";font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:100;src:url('./files/noto-sans-latin-100-normal.woff2') format('woff2'), url('./files/noto-sans-latin-100-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:200;src:url('./files/noto-sans-latin-200-normal.woff2') format('woff2'), url('./files/noto-sans-latin-200-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:300;src:url('./files/noto-sans-latin-300-normal.woff2') format('woff2'), url('./files/noto-sans-latin-300-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:400;src:url('./files/noto-sans-latin-400-normal.woff2') format('woff2'), url('./files/noto-sans-latin-400-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:500;src:url('./files/noto-sans-latin-500-normal.woff2') format('woff2'), url('./files/noto-sans-latin-500-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:600;src:url('./files/noto-sans-latin-600-normal.woff2') format('woff2'), url('./files/noto-sans-latin-600-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:700;src:url('./files/noto-sans-latin-700-normal.woff2') format('woff2'), url('./files/noto-sans-latin-700-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:800;src:url('./files/noto-sans-latin-800-normal.woff2') format('woff2'), url('./files/noto-sans-latin-800-normal.woff') format('woff')}@font-face{font-family:'Noto Sans';font-style:normal;font-display:swap;font-weight:900;src:url('./files/noto-sans-latin-900-normal.woff2') format('woff2'), url('./files/noto-sans-latin-900-normal.woff') format('woff')}:root{--six-color-red:#de3919;--six-color-black:#000;--six-color-white:#fff;--six-color-web-rock-900:#262626;--six-color-web-rock-800:#484848;--six-color-web-rock-700:#676767;--six-color-web-rock-600:#7b7b7b;--six-color-web-rock-500:#a5a5a5;--six-color-web-rock-400:#c3c3c3;--six-color-web-rock-300:#e5e5e5;--six-color-web-rock-200:#f1f1f1;--six-color-web-rock-100:#f6f6f6;--six-color-web-rock-50:#fbfbfb;--six-color-clay-200:#ada398;--six-color-clay-50:#ebe8e7;--six-color-danger-900:#c52c0f;--six-color-danger-800:#de3919;--six-color-danger-light-to-be-defined:#f58c78;--six-color-warning-800:#ef9f25;--six-color-warning-700:#f2b72c;--six-color-warning-light-to-be-defined:#f9deb4;--six-color-success-600:#58d200;--six-color-success-500:#6ae300;--six-color-success-light-to-be-defined:#aaff6c;--six-color-action-600:#1f87e5;--six-color-action-500:#2196f3;--six-color-action-light-to-be-defined:#a8d0f5;--six-color-inactive:#c3c3c3;--six-focus-ring-color:var(--six-color-web-rock-400)}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}html,body{margin:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:'Noto Sans', sans-serif}code{background:rgba(0, 0, 0, 0.04);padding:0.2rem;border-radius:3px;font-weight:bold}.warn{border-left:solid 3px var(--six-color-warning-700);background:rgba(0, 0, 0, 0.02);padding:1rem}body>div.container{margin:1rem}:root{--six-border-radius-small:0rem;--six-border-radius-medium:0rem;--six-border-radius-large:0.5rem;--six-border-radius-x-large:1rem;--six-border-radius-circle:50%;--six-border-radius-pill:9999px;--six-shadow-x-small:0 1px 0 #00000029;--six-shadow-small:0 6px 12px 0px #00000029;--six-shadow-medium:0 12px 24px 0 #00000029;--six-shadow-large:0 2px 8px #0d131e1a;--six-shadow-x-large:0 4px 16px #0d131e1a;--six-shadow-x-large-top:0 -4px 16px #0d131e1a;--six-spacing-xxx-small:0.125rem;--six-spacing-xx-small:0.25rem;--six-spacing-x-small:0.5rem;--six-spacing-small:0.75rem;--six-spacing-medium:1rem;--six-spacing-large:1.25rem;--six-spacing-x-large:1.75rem;--six-spacing-xx-large:2.25rem;--six-spacing-xxx-large:3rem;--six-spacing-xxxx-large:4.5rem;--six-transition-x-slow:1000ms;--six-transition-slow:500ms;--six-transition-medium:250ms;--six-transition-fast:150ms;--six-transition-x-fast:50ms;--six-font-mono:SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;--six-font-sans:'Noto Sans', sans-serif;--six-font-family:var(--six-font-sans);--six-font-serif:Georgia, 'Times New Roman', serif;--six-font-size-xxx-small:0.5rem;--six-font-size-xx-small:0.625rem;--six-font-size-x-small:0.75rem;--six-font-size-small:0.875rem;--six-font-size-medium:1rem;--six-font-size-large:1.25rem;--six-font-size-x-large:1.5rem;--six-font-size-xx-large:2.25rem;--six-font-size-xxx-large:3rem;--six-font-size-xxxx-large:4.5rem;--six-font-weight-light:300;--six-font-weight-normal:400;--six-font-weight-semibold:500;--six-font-weight-bold:700;--six-letter-spacing-dense:-0.015em;--six-letter-spacing-normal:normal;--six-letter-spacing-loose:0.075em;--six-line-height-dense:1.4;--six-line-height-normal:1.8;--six-line-height-loose:2.2;--six-z-index-header:500;--six-z-index-search-field:500;--six-z-index-drawer:600;--six-z-index-dropdown:700;--six-z-index-toast:800;--six-z-index-tooltip:900;--six-z-index-dialog:1000;--six-elevation-1dp:0 2px 3px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.12);--six-elevation-2dp:0 2px 3px 0 rgba(0, 0, 0, 0.2), 0 3px 1px -2px rgba(0, 0, 0, 0.14),
|
|
2
2
|
0 2px 2px 0 rgba(0, 0, 0, 0.12);--six-elevation-3dp:0 1px 8px 0 rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14),
|
|
3
3
|
0 3px 3px -2px rgba(0, 0, 0, 0.12);--six-elevation-4dp:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14),
|
|
4
4
|
0 1px 10px -2px rgba(0, 0, 0, 0.12);--six-elevation-6dp:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14),
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
0 3px 16px 2px rgba(0, 0, 0, 0.12);--six-elevation-12dp:0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14),
|
|
8
8
|
0 5px 22px 4px rgba(0, 0, 0, 0.12);--six-elevation-16dp:0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14),
|
|
9
9
|
0 6px 30px 5px rgba(0, 0, 0, 0.12);--six-elevation-24dp:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14),
|
|
10
|
-
0 9px 46px 8px rgba(0, 0, 0, 0.12);--six-height-small:1.875rem;--six-height-medium:2.5rem;--six-height-large:3.125rem;--six-border-width:1px;--six-focus-ring-width:1px;--six-focus-shadow:0 0 0 var(--six-focus-ring-width);--six-button-font-size-small:var(--six-font-size-small);--six-button-font-size-medium:var(--six-font-size-medium);--six-button-font-size-large:var(--six-font-size-large);--six-button-focus-shadow:var(--six-focus-shadow) var(--six-color-web-rock-400);--six-input-focus-shadow:var(--six-focus-shadow) var(--six-input-border-color-focus);--six-input-background-color:var(--six-color-white);--six-input-background-color-hover:var(--six-color-white);--six-input-background-color-focus:var(--six-color-white);--six-input-background-color-disabled:var(--six-color-web-rock-100);--six-input-border-color:var(--six-color-web-rock-400);--six-input-border-color-hover:var(--six-color-web-rock-600);--six-input-border-color-focus:var(--six-color-action-600);--six-input-border-color-danger:var(--six-color-danger-800);--six-input-border-color-disabled:var(--six-color-web-rock-400);--six-input-border-radius-small:var(--six-border-radius-medium);--six-input-border-radius-medium:var(--six-border-radius-medium);--six-input-border-radius-large:var(--six-border-radius-medium);--six-input-font-weight:var(--six-font-weight-normal);--six-input-font-size-small:var(--six-font-size-x-small);--six-input-font-size-medium:var(--six-font-size-small);--six-input-font-size-large:var(--six-font-size-medium);--six-input-letter-spacing:var(--six-letter-spacing-normal);--six-input-color:var(--six-color-web-rock-900);--six-input-color-hover:var(--six-color-web-rock-900);--six-input-color-focus:var(--six-color-web-rock-900);--six-input-color-disabled:var(--six-color-web-rock-600);--six-input-icon-color:var(--six-color-web-rock-900);--six-input-icon-color-hover:var(--six-color-web-rock-600);--six-input-icon-color-focus:var(--six-color-web-rock-900);--six-input-placeholder-color:var(--six-color-web-rock-500);--six-input-placeholder-color-disabled:var(--six-color-web-rock-500);--six-input-spacing-small:var(--six-spacing-small);--six-input-spacing-medium:var(--six-spacing-medium);--six-input-spacing-large:var(--six-spacing-large);--six-input-prefix-spacing-small:var(--six-spacing-xx-small);--six-input-prefix-spacing-medium:var(--six-spacing-x-small);--six-input-prefix-spacing-large:var(--six-spacing-small);--six-input-label-font-size-small:var(--six-font-size-xx-small);--six-input-label-font-size-medium:var(--six-font-size-x-small);--six-input-label-font-size-large:var(--six-font-size-small);--six-input-label-color:var(--six-color-web-rock-900);--six-input-label-color-disabled:var(--six-color-web-rock-600);--six-input-help-text-font-size-small:var(--six-font-size-xx-small);--six-input-help-text-font-size-medium:var(--six-font-size-x-small);--six-input-help-text-font-size-large:var(--six-font-size-small);--six-input-help-text-color:var(--six-color-web-rock-600);--six-input-help-text-color-disabled:var(--six-color-web-rock-600);--six-overlay-background-color:var(--six-color-web-rock-900);--six-panel-background-color:var(--six-color-white);--six-panel-border-color:var(--six-color-clay-50);--six-progress-track-color:var(--six-color-web-rock-300);--six-progress-indicator-color:var(--six-color-danger-800);--six-progress-label-color:var(--six-color-white);--six-tooltip-background-color:var(--six-color-web-rock-900);--six-tooltip-color:var(--six-color-white);--six-tooltip-arrow-size:5px;--six-tooltip-arrow-start-end-offset:8px;--six-tooltip-font-size:var(--six-font-size-small);--six-tooltip-font-weight:var(--six-font-weight-normal);--six-tooltip-line-height:var(--six-line-height-dense);--six-avatar-color:var(--six-color-white);--six-avatar-background-color:var(--six-color-web-rock-300);--six-checkbox-color:var(--six-color-white);--six-selection-control-color:var(--six-color-action-500);--six-selection-control-color-disabled:var(--six-color-web-rock-400);--six-selection-control-toggle-size:1rem;--six-details-color:var(--six-color-web-rock-600);--six-drawer-color:var(--six-color-web-rock-900);--six-drawer-background-color:var(--six-color-clay-50);--six-footer-background-color:var(--six-color-white);--six-header-background-color:var(--six-color-white);--six-header-border-color:var(--six-color-web-rock-300);--six-header-border-color-open:var(--six-color-web-rock-900);--six-header-border-with:1px;--six-header-selected-app-color-hover:var(--six-color-web-rock-600);--six-menu-divider-color:var(--six-color-clay-50);--six-menu-item-background-color:var(--six-color-clay-50);--six-search-color:var(--six-color-action-600);--six-sidebar-color:var(--six-color-web-rock-900);--six-sidebar-background-color:var(--six-color-white);--six-sidebar-hover-background-color:var(--six-color-clay-50);--six-sidebar-header-background-color:var(--six-color-clay-50);--six-sidebar-item-background-color:var(--six-color-web-rock-50);--six-tab-color:var(--six-color-web-rock-900);--six-tab-color-active:var(--six-color-web-rock-900);--six-tab-color-hover:var(--six-color-web-rock-700);--six-tab-color-disabled:var(--six-color-web-rock-400);--six-tab-border-color:var(--six-color-white);--six-tab-border-width:2px;--six-tab-border-color-active:var(--six-color-web-rock-900);--six-tab-border-width-active:3px
|
|
10
|
+
0 9px 46px 8px rgba(0, 0, 0, 0.12);--six-height-small:1.875rem;--six-height-medium:2.5rem;--six-height-large:3.125rem;--six-border-width:1px;--six-focus-ring-width:1px;--six-focus-shadow:0 0 0 var(--six-focus-ring-width);--six-button-font-size-small:var(--six-font-size-small);--six-button-font-size-medium:var(--six-font-size-medium);--six-button-font-size-large:var(--six-font-size-large);--six-button-focus-shadow:var(--six-focus-shadow) var(--six-color-web-rock-400);--six-input-focus-shadow:var(--six-focus-shadow) var(--six-input-border-color-focus);--six-input-background-color:var(--six-color-white);--six-input-background-color-hover:var(--six-color-white);--six-input-background-color-focus:var(--six-color-white);--six-input-background-color-disabled:var(--six-color-web-rock-100);--six-input-border-color:var(--six-color-web-rock-400);--six-input-border-color-hover:var(--six-color-web-rock-600);--six-input-border-color-focus:var(--six-color-action-600);--six-input-border-color-danger:var(--six-color-danger-800);--six-input-border-color-disabled:var(--six-color-web-rock-400);--six-input-border-radius-small:var(--six-border-radius-medium);--six-input-border-radius-medium:var(--six-border-radius-medium);--six-input-border-radius-large:var(--six-border-radius-medium);--six-input-font-weight:var(--six-font-weight-normal);--six-input-font-size-small:var(--six-font-size-x-small);--six-input-font-size-medium:var(--six-font-size-small);--six-input-font-size-large:var(--six-font-size-medium);--six-input-letter-spacing:var(--six-letter-spacing-normal);--six-input-color:var(--six-color-web-rock-900);--six-input-color-hover:var(--six-color-web-rock-900);--six-input-color-focus:var(--six-color-web-rock-900);--six-input-color-disabled:var(--six-color-web-rock-600);--six-input-icon-color:var(--six-color-web-rock-900);--six-input-icon-color-hover:var(--six-color-web-rock-600);--six-input-icon-color-focus:var(--six-color-web-rock-900);--six-input-placeholder-color:var(--six-color-web-rock-500);--six-input-placeholder-color-disabled:var(--six-color-web-rock-500);--six-input-spacing-small:var(--six-spacing-small);--six-input-spacing-medium:var(--six-spacing-medium);--six-input-spacing-large:var(--six-spacing-large);--six-input-prefix-spacing-small:var(--six-spacing-xx-small);--six-input-prefix-spacing-medium:var(--six-spacing-x-small);--six-input-prefix-spacing-large:var(--six-spacing-small);--six-input-label-font-size-small:var(--six-font-size-xx-small);--six-input-label-font-size-medium:var(--six-font-size-x-small);--six-input-label-font-size-large:var(--six-font-size-small);--six-input-label-color:var(--six-color-web-rock-900);--six-input-label-color-disabled:var(--six-color-web-rock-600);--six-input-help-text-font-size-small:var(--six-font-size-xx-small);--six-input-help-text-font-size-medium:var(--six-font-size-x-small);--six-input-help-text-font-size-large:var(--six-font-size-small);--six-input-help-text-color:var(--six-color-web-rock-600);--six-input-help-text-color-disabled:var(--six-color-web-rock-600);--six-overlay-background-color:var(--six-color-web-rock-900);--six-panel-background-color:var(--six-color-white);--six-panel-border-color:var(--six-color-clay-50);--six-progress-track-color:var(--six-color-web-rock-300);--six-progress-indicator-color:var(--six-color-danger-800);--six-progress-label-color:var(--six-color-white);--six-tooltip-background-color:var(--six-color-web-rock-900);--six-tooltip-color:var(--six-color-white);--six-tooltip-arrow-size:5px;--six-tooltip-arrow-start-end-offset:8px;--six-tooltip-font-size:var(--six-font-size-small);--six-tooltip-font-weight:var(--six-font-weight-normal);--six-tooltip-line-height:var(--six-line-height-dense);--six-avatar-color:var(--six-color-white);--six-avatar-background-color:var(--six-color-web-rock-300);--six-checkbox-color:var(--six-color-white);--six-selection-control-color:var(--six-color-action-500);--six-selection-control-color-disabled:var(--six-color-web-rock-400);--six-selection-control-toggle-size:1rem;--six-details-color:var(--six-color-web-rock-600);--six-drawer-color:var(--six-color-web-rock-900);--six-drawer-background-color:var(--six-color-clay-50);--six-footer-background-color:var(--six-color-white);--six-header-background-color:var(--six-color-white);--six-header-border-color:var(--six-color-web-rock-300);--six-header-border-color-open:var(--six-color-web-rock-900);--six-header-border-with:1px;--six-header-selected-app-color-hover:var(--six-color-web-rock-600);--six-menu-divider-color:var(--six-color-clay-50);--six-menu-item-background-color:var(--six-color-clay-50);--six-search-color:var(--six-color-action-600);--six-sidebar-color:var(--six-color-web-rock-900);--six-sidebar-background-color:var(--six-color-white);--six-sidebar-hover-background-color:var(--six-color-clay-50);--six-sidebar-header-background-color:var(--six-color-clay-50);--six-sidebar-item-background-color:var(--six-color-web-rock-50);--six-tab-color:var(--six-color-web-rock-900);--six-tab-color-active:var(--six-color-web-rock-900);--six-tab-color-hover:var(--six-color-web-rock-700);--six-tab-color-disabled:var(--six-color-web-rock-400);--six-tab-border-color:var(--six-color-white);--six-tab-border-width:2px;--six-tab-border-color-active:var(--six-color-web-rock-900);--six-tab-border-width-active:3px}[hidden]{display:none !important}.six-scroll-lock{overflow:hidden !important}
|