@six-group/ui-library 4.1.2 → 4.2.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/app-globals-3a1e7e63.js +7 -0
- package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
- package/dist/cjs/{form-control-8d64e974.js → form-control-73ff961d.js} +2 -2
- package/dist/cjs/{form-control-8d64e974.js.map → form-control-73ff961d.js.map} +1 -1
- package/dist/cjs/{index-d7748d51.js → index-b288f7d9.js} +70 -28
- package/dist/cjs/index-b288f7d9.js.map +1 -0
- package/dist/cjs/loader.cjs.js +5 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/{modal-3ce015be.js → modal-bd7fc5bc.js} +1 -18
- package/dist/cjs/modal-bd7fc5bc.js.map +1 -0
- package/dist/cjs/six-alert.cjs.entry.js +5 -4
- package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/six-avatar.cjs.entry.js +4 -3
- package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-badge.cjs.entry.js +5 -4
- package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/six-button.cjs.entry.js +5 -4
- package/dist/cjs/six-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-card.cjs.entry.js +4 -3
- package/dist/cjs/six-card.cjs.entry.js.map +1 -1
- package/dist/cjs/six-checkbox_2.cjs.entry.js +10 -8
- package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -1
- package/dist/cjs/six-datepicker.cjs.entry.js +4 -3
- package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-details.cjs.entry.js +6 -5
- package/dist/cjs/six-details.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dialog.cjs.entry.js +12 -30
- package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/six-drawer.cjs.entry.js +13 -30
- package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-dropdown_2.cjs.entry.js +12 -10
- package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/six-error-page.cjs.entry.js +4 -3
- package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
- package/dist/cjs/six-error.cjs.entry.js +4 -3
- package/dist/cjs/six-error.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-list-item.cjs.entry.js +5 -4
- package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-list.cjs.entry.js +4 -3
- package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
- package/dist/cjs/six-file-upload.cjs.entry.js +11 -9
- package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/six-footer.cjs.entry.js +4 -3
- package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/six-group-label.cjs.entry.js +5 -4
- package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-header.cjs.entry.js +13 -12
- package/dist/cjs/six-header.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon-button.cjs.entry.js +6 -5
- package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/six-icon.cjs.entry.js +5 -4
- package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/six-input.cjs.entry.js +7 -6
- package/dist/cjs/six-input.cjs.entry.js.map +1 -1
- package/dist/cjs/six-item-picker.cjs.entry.js +6 -5
- package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-language-switcher.cjs.entry.js +6 -5
- package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
- package/dist/cjs/six-layout-grid.cjs.entry.js +4 -3
- package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/six-main-container.cjs.entry.js +4 -3
- package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-divider.cjs.entry.js +4 -3
- package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/six-menu-label.cjs.entry.js +4 -3
- package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
- package/dist/cjs/six-picto.cjs.entry.js +4 -3
- package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
- package/dist/cjs/six-progress-bar.cjs.entry.js +5 -4
- package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-progress-ring.cjs.entry.js +4 -3
- package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
- package/dist/cjs/six-radio.cjs.entry.js +5 -4
- package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/six-range.cjs.entry.js +17 -6
- package/dist/cjs/six-range.cjs.entry.js.map +1 -1
- package/dist/cjs/six-root.cjs.entry.js +4 -3
- package/dist/cjs/six-root.cjs.entry.js.map +1 -1
- package/dist/cjs/six-search-field.cjs.entry.js +4 -3
- package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/six-select.cjs.entry.js +10 -9
- package/dist/cjs/six-select.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js +3 -2
- package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar-item.cjs.entry.js +5 -4
- package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
- package/dist/cjs/six-sidebar.cjs.entry.js +5 -4
- package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/six-spinner.cjs.entry.js +3 -2
- package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/six-stage-indicator.cjs.entry.js +3 -2
- package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/six-switch.cjs.entry.js +6 -5
- package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab-group.cjs.entry.js +34 -8
- package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab-panel.cjs.entry.js +4 -3
- package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tab.cjs.entry.js +5 -4
- package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tag.cjs.entry.js +5 -4
- package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/six-textarea.cjs.entry.js +6 -5
- package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tile.cjs.entry.js +6 -5
- package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
- package/dist/cjs/six-timepicker.cjs.entry.js +4 -3
- package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-tooltip.cjs.entry.js +5 -4
- package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/ui-library.cjs.js +6 -4
- package/dist/cjs/ui-library.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/six-alert/six-alert.js +2 -2
- package/dist/collection/components/six-alert/six-alert.js.map +1 -1
- package/dist/collection/components/six-avatar/six-avatar.js +1 -1
- package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
- package/dist/collection/components/six-badge/six-badge.js +2 -2
- package/dist/collection/components/six-badge/six-badge.js.map +1 -1
- package/dist/collection/components/six-button/six-button.js +2 -2
- package/dist/collection/components/six-button/six-button.js.map +1 -1
- package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -1
- package/dist/collection/components/six-card/six-card.js +1 -1
- package/dist/collection/components/six-card/six-card.js.map +1 -1
- package/dist/collection/components/six-checkbox/six-checkbox.js +2 -2
- package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
- package/dist/collection/components/six-datepicker/six-datepicker.js +1 -1
- package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
- package/dist/collection/components/six-details/six-details.js +3 -3
- package/dist/collection/components/six-details/six-details.js.map +1 -1
- package/dist/collection/components/six-dialog/six-dialog.js +8 -28
- package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
- package/dist/collection/components/six-drawer/six-drawer.js +9 -28
- package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
- package/dist/collection/components/six-dropdown/six-dropdown.js +5 -5
- package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
- package/dist/collection/components/six-error/six-error.js +1 -1
- package/dist/collection/components/six-error/six-error.js.map +1 -1
- package/dist/collection/components/six-error-page/six-error-page.js +1 -1
- package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
- package/dist/collection/components/six-file-list/six-file-list.js +1 -1
- package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
- package/dist/collection/components/six-file-list-item/six-file-list-item.js +2 -2
- package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
- package/dist/collection/components/six-file-upload/six-file-upload.css +8 -0
- package/dist/collection/components/six-file-upload/six-file-upload.js +25 -6
- package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
- package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +76 -21
- package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -1
- package/dist/collection/components/six-footer/six-footer.js +1 -1
- package/dist/collection/components/six-footer/six-footer.js.map +1 -1
- package/dist/collection/components/six-group-label/six-group-label.js +1 -1
- package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
- package/dist/collection/components/six-header/six-header.js +10 -10
- package/dist/collection/components/six-header/six-header.js.map +1 -1
- package/dist/collection/components/six-icon/six-icon.js +2 -2
- package/dist/collection/components/six-icon/six-icon.js.map +1 -1
- package/dist/collection/components/six-icon-button/six-icon-button.js +3 -3
- package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
- package/dist/collection/components/six-input/six-input.js +3 -3
- package/dist/collection/components/six-input/six-input.js.map +1 -1
- package/dist/collection/components/six-item-picker/six-item-picker.js +3 -3
- package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
- package/dist/collection/components/six-language-switcher/six-language-switcher.css +3 -2
- package/dist/collection/components/six-language-switcher/six-language-switcher.js +2 -2
- package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
- package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +8 -8
- package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -1
- package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
- package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
- package/dist/collection/components/six-main-container/six-main-container.js +1 -1
- package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
- package/dist/collection/components/six-menu/six-menu.js +2 -2
- package/dist/collection/components/six-menu/six-menu.js.map +1 -1
- package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -1
- package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
- package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
- package/dist/collection/components/six-menu-item/six-menu-item.js +2 -2
- package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
- package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
- package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
- package/dist/collection/components/six-picto/six-picto.js +1 -1
- package/dist/collection/components/six-picto/six-picto.js.map +1 -1
- package/dist/collection/components/six-progress-bar/six-progress-bar.js +2 -2
- package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
- package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
- package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
- package/dist/collection/components/six-radio/six-radio.js +2 -2
- package/dist/collection/components/six-radio/six-radio.js.map +1 -1
- package/dist/collection/components/six-range/six-range.css +1 -1
- package/dist/collection/components/six-range/six-range.js +12 -2
- package/dist/collection/components/six-range/six-range.js.map +1 -1
- package/dist/collection/components/six-root/six-root.js +1 -1
- package/dist/collection/components/six-root/six-root.js.map +1 -1
- package/dist/collection/components/six-search-field/six-search-field.js +1 -1
- package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
- package/dist/collection/components/six-select/six-select.js +6 -6
- package/dist/collection/components/six-select/six-select.js.map +1 -1
- package/dist/collection/components/six-select/util.js.map +1 -1
- package/dist/collection/components/six-sidebar/six-sidebar.js +2 -2
- package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
- package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +2 -2
- package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
- package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
- package/dist/collection/components/six-switch/six-switch.js +2 -2
- package/dist/collection/components/six-switch/six-switch.js.map +1 -1
- package/dist/collection/components/six-tab/six-tab.js +2 -2
- package/dist/collection/components/six-tab/six-tab.js.map +1 -1
- package/dist/collection/components/six-tab-group/six-tab-group.js +33 -7
- package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
- package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
- package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
- package/dist/collection/components/six-tag/six-tag.js +2 -2
- package/dist/collection/components/six-tag/six-tag.js.map +1 -1
- package/dist/collection/components/six-textarea/six-textarea.js +2 -2
- package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
- package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -1
- package/dist/collection/components/six-tile/six-tile.js +3 -3
- package/dist/collection/components/six-tile/six-tile.js.map +1 -1
- package/dist/collection/components/six-timepicker/six-timepicker.js +1 -1
- package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
- package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -1
- package/dist/collection/components/six-tooltip/six-tooltip.js +2 -2
- package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
- package/dist/collection/utils/alert.js.map +1 -1
- package/dist/collection/utils/date-util.js.map +1 -1
- package/dist/collection/utils/date-util.spec.js.map +1 -1
- package/dist/collection/utils/error-messages.js.map +1 -1
- package/dist/collection/utils/event-listeners.js.map +1 -1
- package/dist/collection/utils/focus-visible.js.map +1 -1
- package/dist/collection/utils/form.js.map +1 -1
- package/dist/collection/utils/modal.js.map +1 -1
- package/dist/collection/utils/popover.js.map +1 -1
- package/dist/collection/utils/popup.js.map +1 -1
- package/dist/collection/utils/scroll.js.map +1 -1
- package/dist/collection/utils/slot.js.map +1 -1
- package/dist/collection/utils/tabbable.js.map +1 -1
- package/dist/collection/utils/time.util.js.map +1 -1
- package/dist/collection/utils/time.util.spec.js.map +1 -1
- package/dist/components/modal.js +1 -17
- package/dist/components/modal.js.map +1 -1
- package/dist/components/six-alert.js +4 -3
- package/dist/components/six-alert.js.map +1 -1
- package/dist/components/six-avatar.js +3 -2
- package/dist/components/six-avatar.js.map +1 -1
- package/dist/components/six-badge.js +4 -3
- package/dist/components/six-badge.js.map +1 -1
- package/dist/components/six-button2.js +4 -3
- package/dist/components/six-button2.js.map +1 -1
- package/dist/components/six-card.js +3 -2
- package/dist/components/six-card.js.map +1 -1
- package/dist/components/six-checkbox2.js +4 -3
- package/dist/components/six-checkbox2.js.map +1 -1
- package/dist/components/six-datepicker.js +3 -2
- package/dist/components/six-datepicker.js.map +1 -1
- package/dist/components/six-details2.js +5 -4
- package/dist/components/six-details2.js.map +1 -1
- package/dist/components/six-dialog.js +11 -29
- package/dist/components/six-dialog.js.map +1 -1
- package/dist/components/six-drawer.js +12 -29
- package/dist/components/six-drawer.js.map +1 -1
- package/dist/components/six-dropdown2.js +7 -6
- package/dist/components/six-dropdown2.js.map +1 -1
- package/dist/components/six-error-page.js +3 -2
- package/dist/components/six-error-page.js.map +1 -1
- package/dist/components/six-error2.js +3 -2
- package/dist/components/six-error2.js.map +1 -1
- package/dist/components/six-file-list-item.js +4 -3
- package/dist/components/six-file-list-item.js.map +1 -1
- package/dist/components/six-file-list.js +3 -2
- package/dist/components/six-file-list.js.map +1 -1
- package/dist/components/six-file-upload.js +19 -10
- package/dist/components/six-file-upload.js.map +1 -1
- package/dist/components/six-footer.js +3 -2
- package/dist/components/six-footer.js.map +1 -1
- package/dist/components/six-group-label.js +3 -2
- package/dist/components/six-group-label.js.map +1 -1
- package/dist/components/six-header.js +12 -11
- package/dist/components/six-header.js.map +1 -1
- package/dist/components/six-icon-button2.js +5 -4
- package/dist/components/six-icon-button2.js.map +1 -1
- package/dist/components/six-icon2.js +4 -3
- package/dist/components/six-icon2.js.map +1 -1
- package/dist/components/six-input2.js +5 -4
- package/dist/components/six-input2.js.map +1 -1
- package/dist/components/six-item-picker2.js +5 -4
- package/dist/components/six-item-picker2.js.map +1 -1
- package/dist/components/six-language-switcher.js +5 -4
- package/dist/components/six-language-switcher.js.map +1 -1
- package/dist/components/six-layout-grid.js +3 -2
- package/dist/components/six-layout-grid.js.map +1 -1
- package/dist/components/six-main-container.js +3 -2
- package/dist/components/six-main-container.js.map +1 -1
- package/dist/components/six-menu-divider.js +3 -2
- package/dist/components/six-menu-divider.js.map +1 -1
- package/dist/components/six-menu-item2.js +4 -3
- package/dist/components/six-menu-item2.js.map +1 -1
- package/dist/components/six-menu-label.js +3 -2
- package/dist/components/six-menu-label.js.map +1 -1
- package/dist/components/six-menu2.js +4 -3
- package/dist/components/six-menu2.js.map +1 -1
- package/dist/components/six-picto2.js +3 -2
- package/dist/components/six-picto2.js.map +1 -1
- package/dist/components/six-progress-bar.js +4 -3
- package/dist/components/six-progress-bar.js.map +1 -1
- package/dist/components/six-progress-ring.js +3 -2
- package/dist/components/six-progress-ring.js.map +1 -1
- package/dist/components/six-radio.js +4 -3
- package/dist/components/six-radio.js.map +1 -1
- package/dist/components/six-range.js +15 -4
- package/dist/components/six-range.js.map +1 -1
- package/dist/components/six-root.js +3 -2
- package/dist/components/six-root.js.map +1 -1
- package/dist/components/six-search-field.js +3 -2
- package/dist/components/six-search-field.js.map +1 -1
- package/dist/components/six-select.js +8 -7
- package/dist/components/six-select.js.map +1 -1
- package/dist/components/six-sidebar-item-group.js +2 -1
- package/dist/components/six-sidebar-item-group.js.map +1 -1
- package/dist/components/six-sidebar-item.js +4 -3
- package/dist/components/six-sidebar-item.js.map +1 -1
- package/dist/components/six-sidebar.js +4 -3
- package/dist/components/six-sidebar.js.map +1 -1
- package/dist/components/six-spinner2.js +2 -1
- package/dist/components/six-spinner2.js.map +1 -1
- package/dist/components/six-stage-indicator2.js +2 -1
- package/dist/components/six-stage-indicator2.js.map +1 -1
- package/dist/components/six-switch.js +4 -3
- package/dist/components/six-switch.js.map +1 -1
- package/dist/components/six-tab-group.js +35 -8
- package/dist/components/six-tab-group.js.map +1 -1
- package/dist/components/six-tab-panel.js +3 -2
- package/dist/components/six-tab-panel.js.map +1 -1
- package/dist/components/six-tab.js +4 -3
- package/dist/components/six-tab.js.map +1 -1
- package/dist/components/six-tag.js +4 -3
- package/dist/components/six-tag.js.map +1 -1
- package/dist/components/six-textarea.js +4 -3
- package/dist/components/six-textarea.js.map +1 -1
- package/dist/components/six-tile.js +5 -4
- package/dist/components/six-tile.js.map +1 -1
- package/dist/components/six-timepicker2.js +3 -2
- package/dist/components/six-timepicker2.js.map +1 -1
- package/dist/components/six-tooltip2.js +4 -3
- package/dist/components/six-tooltip2.js.map +1 -1
- package/dist/components.json +34 -6
- package/dist/esm/app-globals-0f993ce5.js +5 -0
- package/dist/esm/app-globals-0f993ce5.js.map +1 -0
- package/dist/esm/{form-control-d403a9cf.js → form-control-40c37714.js} +2 -2
- package/dist/esm/{form-control-d403a9cf.js.map → form-control-40c37714.js.map} +1 -1
- package/dist/esm/{index-79d4ef67.js → index-52a755dc.js} +70 -28
- package/dist/esm/index-52a755dc.js.map +1 -0
- package/dist/esm/loader.js +6 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/{modal-96526245.js → modal-6c1288e3.js} +2 -18
- package/dist/esm/modal-6c1288e3.js.map +1 -0
- package/dist/esm/six-alert.entry.js +5 -4
- package/dist/esm/six-alert.entry.js.map +1 -1
- package/dist/esm/six-avatar.entry.js +4 -3
- package/dist/esm/six-avatar.entry.js.map +1 -1
- package/dist/esm/six-badge.entry.js +5 -4
- package/dist/esm/six-badge.entry.js.map +1 -1
- package/dist/esm/six-button.entry.js +5 -4
- package/dist/esm/six-button.entry.js.map +1 -1
- package/dist/esm/six-card.entry.js +4 -3
- package/dist/esm/six-card.entry.js.map +1 -1
- package/dist/esm/six-checkbox_2.entry.js +10 -8
- package/dist/esm/six-checkbox_2.entry.js.map +1 -1
- package/dist/esm/six-datepicker.entry.js +4 -3
- package/dist/esm/six-datepicker.entry.js.map +1 -1
- package/dist/esm/six-details.entry.js +6 -5
- package/dist/esm/six-details.entry.js.map +1 -1
- package/dist/esm/six-dialog.entry.js +12 -30
- package/dist/esm/six-dialog.entry.js.map +1 -1
- package/dist/esm/six-drawer.entry.js +13 -30
- package/dist/esm/six-drawer.entry.js.map +1 -1
- package/dist/esm/six-dropdown_2.entry.js +12 -10
- package/dist/esm/six-dropdown_2.entry.js.map +1 -1
- package/dist/esm/six-error-page.entry.js +4 -3
- package/dist/esm/six-error-page.entry.js.map +1 -1
- package/dist/esm/six-error.entry.js +4 -3
- package/dist/esm/six-error.entry.js.map +1 -1
- package/dist/esm/six-file-list-item.entry.js +5 -4
- package/dist/esm/six-file-list-item.entry.js.map +1 -1
- package/dist/esm/six-file-list.entry.js +4 -3
- package/dist/esm/six-file-list.entry.js.map +1 -1
- package/dist/esm/six-file-upload.entry.js +11 -9
- package/dist/esm/six-file-upload.entry.js.map +1 -1
- package/dist/esm/six-footer.entry.js +4 -3
- package/dist/esm/six-footer.entry.js.map +1 -1
- package/dist/esm/six-group-label.entry.js +5 -4
- package/dist/esm/six-group-label.entry.js.map +1 -1
- package/dist/esm/six-header.entry.js +13 -12
- package/dist/esm/six-header.entry.js.map +1 -1
- package/dist/esm/six-icon-button.entry.js +6 -5
- package/dist/esm/six-icon-button.entry.js.map +1 -1
- package/dist/esm/six-icon.entry.js +5 -4
- package/dist/esm/six-icon.entry.js.map +1 -1
- package/dist/esm/six-input.entry.js +7 -6
- package/dist/esm/six-input.entry.js.map +1 -1
- package/dist/esm/six-item-picker.entry.js +6 -5
- package/dist/esm/six-item-picker.entry.js.map +1 -1
- package/dist/esm/six-language-switcher.entry.js +6 -5
- package/dist/esm/six-language-switcher.entry.js.map +1 -1
- package/dist/esm/six-layout-grid.entry.js +4 -3
- package/dist/esm/six-layout-grid.entry.js.map +1 -1
- package/dist/esm/six-main-container.entry.js +4 -3
- package/dist/esm/six-main-container.entry.js.map +1 -1
- package/dist/esm/six-menu-divider.entry.js +4 -3
- package/dist/esm/six-menu-divider.entry.js.map +1 -1
- package/dist/esm/six-menu-label.entry.js +4 -3
- package/dist/esm/six-menu-label.entry.js.map +1 -1
- package/dist/esm/six-picto.entry.js +4 -3
- package/dist/esm/six-picto.entry.js.map +1 -1
- package/dist/esm/six-progress-bar.entry.js +5 -4
- package/dist/esm/six-progress-bar.entry.js.map +1 -1
- package/dist/esm/six-progress-ring.entry.js +4 -3
- package/dist/esm/six-progress-ring.entry.js.map +1 -1
- package/dist/esm/six-radio.entry.js +5 -4
- package/dist/esm/six-radio.entry.js.map +1 -1
- package/dist/esm/six-range.entry.js +17 -6
- package/dist/esm/six-range.entry.js.map +1 -1
- package/dist/esm/six-root.entry.js +4 -3
- package/dist/esm/six-root.entry.js.map +1 -1
- package/dist/esm/six-search-field.entry.js +4 -3
- package/dist/esm/six-search-field.entry.js.map +1 -1
- package/dist/esm/six-select.entry.js +10 -9
- package/dist/esm/six-select.entry.js.map +1 -1
- package/dist/esm/six-sidebar-item-group.entry.js +3 -2
- package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
- package/dist/esm/six-sidebar-item.entry.js +5 -4
- package/dist/esm/six-sidebar-item.entry.js.map +1 -1
- package/dist/esm/six-sidebar.entry.js +5 -4
- package/dist/esm/six-sidebar.entry.js.map +1 -1
- package/dist/esm/six-spinner.entry.js +3 -2
- package/dist/esm/six-spinner.entry.js.map +1 -1
- package/dist/esm/six-stage-indicator.entry.js +3 -2
- package/dist/esm/six-stage-indicator.entry.js.map +1 -1
- package/dist/esm/six-switch.entry.js +6 -5
- package/dist/esm/six-switch.entry.js.map +1 -1
- package/dist/esm/six-tab-group.entry.js +34 -8
- package/dist/esm/six-tab-group.entry.js.map +1 -1
- package/dist/esm/six-tab-panel.entry.js +4 -3
- package/dist/esm/six-tab-panel.entry.js.map +1 -1
- package/dist/esm/six-tab.entry.js +5 -4
- package/dist/esm/six-tab.entry.js.map +1 -1
- package/dist/esm/six-tag.entry.js +5 -4
- package/dist/esm/six-tag.entry.js.map +1 -1
- package/dist/esm/six-textarea.entry.js +6 -5
- package/dist/esm/six-textarea.entry.js.map +1 -1
- package/dist/esm/six-tile.entry.js +6 -5
- package/dist/esm/six-tile.entry.js.map +1 -1
- package/dist/esm/six-timepicker.entry.js +4 -3
- package/dist/esm/six-timepicker.entry.js.map +1 -1
- package/dist/esm/six-tooltip.entry.js +5 -4
- package/dist/esm/six-tooltip.entry.js.map +1 -1
- package/dist/esm/ui-library.js +7 -5
- package/dist/esm/ui-library.js.map +1 -1
- package/dist/types/components/six-file-upload/six-file-upload.d.ts +2 -0
- package/dist/types/components/six-range/six-range.d.ts +2 -0
- package/dist/types/components/six-tab-group/six-tab-group.d.ts +4 -1
- package/dist/types/components.d.ts +8 -0
- package/dist/ui-library/{p-870b988d.entry.js → p-01853739.entry.js} +2 -2
- package/dist/ui-library/p-01853739.entry.js.map +1 -0
- package/dist/ui-library/{p-da7f3dbd.entry.js → p-03900e17.entry.js} +2 -2
- package/dist/ui-library/p-03900e17.entry.js.map +1 -0
- package/dist/ui-library/p-0a094514.entry.js +2 -0
- package/dist/ui-library/p-0a094514.entry.js.map +1 -0
- package/dist/ui-library/p-0cca70c0.entry.js +2 -0
- package/dist/ui-library/p-0cca70c0.entry.js.map +1 -0
- package/dist/ui-library/p-19a1d34c.entry.js +2 -0
- package/dist/ui-library/p-19a1d34c.entry.js.map +1 -0
- package/dist/ui-library/p-19ca3bd1.entry.js +2 -0
- package/dist/ui-library/p-19ca3bd1.entry.js.map +1 -0
- package/dist/ui-library/p-1f1224ae.entry.js +2 -0
- package/dist/ui-library/p-1f1224ae.entry.js.map +1 -0
- package/dist/ui-library/p-21002de1.entry.js +2 -0
- package/dist/ui-library/p-21002de1.entry.js.map +1 -0
- package/dist/ui-library/{p-8888a367.entry.js → p-29b75db4.entry.js} +2 -2
- package/dist/ui-library/p-29b75db4.entry.js.map +1 -0
- package/dist/ui-library/p-338205f4.entry.js +2 -0
- package/dist/ui-library/p-338205f4.entry.js.map +1 -0
- package/dist/ui-library/p-3827f9e0.entry.js +2 -0
- package/dist/ui-library/p-3827f9e0.entry.js.map +1 -0
- package/dist/ui-library/p-38a9a590.entry.js +2 -0
- package/dist/ui-library/p-38a9a590.entry.js.map +1 -0
- package/dist/ui-library/p-3e9324c8.entry.js +2 -0
- package/dist/ui-library/p-3e9324c8.entry.js.map +1 -0
- package/dist/ui-library/p-3eed2287.entry.js +2 -0
- package/dist/ui-library/p-3eed2287.entry.js.map +1 -0
- package/dist/ui-library/p-45960b56.entry.js +2 -0
- package/dist/ui-library/p-45960b56.entry.js.map +1 -0
- package/dist/ui-library/{p-0440335d.entry.js → p-49e5d8bb.entry.js} +2 -2
- package/dist/ui-library/p-49e5d8bb.entry.js.map +1 -0
- package/dist/ui-library/p-4af73ea9.entry.js +2 -0
- package/dist/ui-library/p-4af73ea9.entry.js.map +1 -0
- package/dist/ui-library/{p-ed279165.entry.js → p-50dbe99f.entry.js} +2 -2
- package/dist/ui-library/p-50dbe99f.entry.js.map +1 -0
- package/dist/ui-library/p-52c04973.entry.js +2 -0
- package/dist/ui-library/p-52c04973.entry.js.map +1 -0
- package/dist/ui-library/{p-caea1eb6.entry.js → p-5f810571.entry.js} +2 -2
- package/dist/ui-library/p-5f810571.entry.js.map +1 -0
- package/dist/ui-library/p-651293e7.js +2 -0
- package/dist/ui-library/p-651293e7.js.map +1 -0
- package/dist/ui-library/p-6c96b62e.entry.js +2 -0
- package/dist/ui-library/p-6c96b62e.entry.js.map +1 -0
- package/dist/ui-library/p-724d0458.entry.js +2 -0
- package/dist/ui-library/p-724d0458.entry.js.map +1 -0
- package/dist/ui-library/p-7562d5f5.entry.js +2 -0
- package/dist/ui-library/p-7562d5f5.entry.js.map +1 -0
- package/dist/ui-library/{p-8ced18d8.entry.js → p-756f4acf.entry.js} +2 -2
- package/dist/ui-library/p-756f4acf.entry.js.map +1 -0
- package/dist/ui-library/p-775e6891.entry.js +2 -0
- package/dist/ui-library/p-775e6891.entry.js.map +1 -0
- package/dist/ui-library/{p-50dae789.entry.js → p-7a722a13.entry.js} +2 -2
- package/dist/ui-library/p-7a722a13.entry.js.map +1 -0
- package/dist/ui-library/{p-884c5cf9.entry.js → p-7a9dcb16.entry.js} +2 -2
- package/dist/ui-library/p-7a9dcb16.entry.js.map +1 -0
- package/dist/ui-library/{p-04cc397c.entry.js → p-7fc0bf6b.entry.js} +2 -2
- package/dist/ui-library/p-7fc0bf6b.entry.js.map +1 -0
- package/dist/ui-library/p-803915da.entry.js +2 -0
- package/dist/ui-library/p-803915da.entry.js.map +1 -0
- package/dist/ui-library/p-80476b0f.entry.js +2 -0
- package/dist/ui-library/p-80476b0f.entry.js.map +1 -0
- package/dist/ui-library/{p-961bd001.entry.js → p-8644f970.entry.js} +2 -2
- package/dist/ui-library/p-8644f970.entry.js.map +1 -0
- package/dist/ui-library/{p-9c79341d.entry.js → p-8938e9bd.entry.js} +2 -2
- package/dist/ui-library/p-8938e9bd.entry.js.map +1 -0
- package/dist/ui-library/p-8dff4dcb.entry.js +2 -0
- package/dist/ui-library/p-8dff4dcb.entry.js.map +1 -0
- package/dist/ui-library/{p-d95e292e.entry.js → p-8f307b55.entry.js} +2 -2
- package/dist/ui-library/p-8f307b55.entry.js.map +1 -0
- package/dist/ui-library/{p-ac57ba5c.entry.js → p-93ab2efc.entry.js} +2 -2
- package/dist/ui-library/p-93ab2efc.entry.js.map +1 -0
- package/dist/ui-library/p-9426a37b.entry.js +2 -0
- package/dist/ui-library/p-9426a37b.entry.js.map +1 -0
- package/dist/ui-library/p-a2a6aaea.entry.js +2 -0
- package/dist/ui-library/p-a2a6aaea.entry.js.map +1 -0
- package/dist/ui-library/p-a2b8aca7.entry.js +2 -0
- package/dist/ui-library/p-a2b8aca7.entry.js.map +1 -0
- package/dist/ui-library/{p-61e66671.js → p-aa99a393.js} +2 -2
- package/dist/ui-library/p-acc487ec.entry.js +2 -0
- package/dist/ui-library/p-acc487ec.entry.js.map +1 -0
- package/dist/ui-library/p-ba7424b3.entry.js +2 -0
- package/dist/ui-library/p-ba7424b3.entry.js.map +1 -0
- package/dist/ui-library/p-be0c0ec9.entry.js +2 -0
- package/dist/ui-library/p-be0c0ec9.entry.js.map +1 -0
- package/dist/ui-library/p-c948cf70.entry.js +2 -0
- package/dist/ui-library/p-c948cf70.entry.js.map +1 -0
- package/dist/ui-library/p-d55db23a.entry.js +2 -0
- package/dist/ui-library/p-d55db23a.entry.js.map +1 -0
- package/dist/ui-library/p-d717a2f2.entry.js +2 -0
- package/dist/ui-library/p-d717a2f2.entry.js.map +1 -0
- package/dist/ui-library/p-d7739200.entry.js +2 -0
- package/dist/ui-library/p-d7739200.entry.js.map +1 -0
- package/dist/ui-library/p-e1255160.js +2 -0
- package/dist/ui-library/p-e1255160.js.map +1 -0
- package/dist/ui-library/p-e3766acb.entry.js +2 -0
- package/dist/ui-library/p-e3766acb.entry.js.map +1 -0
- package/dist/ui-library/p-e43e5e45.entry.js +2 -0
- package/dist/ui-library/p-e43e5e45.entry.js.map +1 -0
- package/dist/ui-library/p-e798314b.entry.js +2 -0
- package/dist/ui-library/p-e798314b.entry.js.map +1 -0
- package/dist/ui-library/p-f1bb5648.entry.js +2 -0
- package/dist/ui-library/p-f1bb5648.entry.js.map +1 -0
- package/dist/ui-library/p-f8572492.entry.js +2 -0
- package/dist/ui-library/p-f8572492.entry.js.map +1 -0
- package/dist/ui-library/p-f93d8a4e.js +3 -0
- package/dist/ui-library/p-f93d8a4e.js.map +1 -0
- package/dist/ui-library/ui-library.esm.js +1 -1
- package/dist/ui-library/ui-library.esm.js.map +1 -1
- package/package.json +5 -5
- package/dist/cjs/index-d7748d51.js.map +0 -1
- package/dist/cjs/modal-3ce015be.js.map +0 -1
- package/dist/collection/utils/support.js +0 -16
- package/dist/collection/utils/support.js.map +0 -1
- package/dist/esm/index-79d4ef67.js.map +0 -1
- package/dist/esm/modal-96526245.js.map +0 -1
- package/dist/types/utils/support.d.ts +0 -1
- package/dist/ui-library/p-0440335d.entry.js.map +0 -1
- package/dist/ui-library/p-04cc397c.entry.js.map +0 -1
- package/dist/ui-library/p-0edd3091.entry.js +0 -2
- package/dist/ui-library/p-0edd3091.entry.js.map +0 -1
- package/dist/ui-library/p-150b7664.entry.js +0 -2
- package/dist/ui-library/p-150b7664.entry.js.map +0 -1
- package/dist/ui-library/p-1f5840b5.entry.js +0 -2
- package/dist/ui-library/p-1f5840b5.entry.js.map +0 -1
- package/dist/ui-library/p-28cc013e.entry.js +0 -2
- package/dist/ui-library/p-28cc013e.entry.js.map +0 -1
- package/dist/ui-library/p-3424bbc0.entry.js +0 -2
- package/dist/ui-library/p-3424bbc0.entry.js.map +0 -1
- package/dist/ui-library/p-348c68a8.entry.js +0 -2
- package/dist/ui-library/p-348c68a8.entry.js.map +0 -1
- package/dist/ui-library/p-3723ca06.entry.js +0 -2
- package/dist/ui-library/p-3723ca06.entry.js.map +0 -1
- package/dist/ui-library/p-37aeac5e.entry.js +0 -2
- package/dist/ui-library/p-37aeac5e.entry.js.map +0 -1
- package/dist/ui-library/p-3d7fb086.entry.js +0 -2
- package/dist/ui-library/p-3d7fb086.entry.js.map +0 -1
- package/dist/ui-library/p-457f7373.entry.js +0 -2
- package/dist/ui-library/p-457f7373.entry.js.map +0 -1
- package/dist/ui-library/p-4a667f31.entry.js +0 -2
- package/dist/ui-library/p-4a667f31.entry.js.map +0 -1
- package/dist/ui-library/p-50dae789.entry.js.map +0 -1
- package/dist/ui-library/p-546e33d9.entry.js +0 -2
- package/dist/ui-library/p-546e33d9.entry.js.map +0 -1
- package/dist/ui-library/p-5db3a705.entry.js +0 -2
- package/dist/ui-library/p-5db3a705.entry.js.map +0 -1
- package/dist/ui-library/p-6296779b.entry.js +0 -2
- package/dist/ui-library/p-6296779b.entry.js.map +0 -1
- package/dist/ui-library/p-64b4755d.entry.js +0 -2
- package/dist/ui-library/p-64b4755d.entry.js.map +0 -1
- package/dist/ui-library/p-6c1b046e.entry.js +0 -2
- package/dist/ui-library/p-6c1b046e.entry.js.map +0 -1
- package/dist/ui-library/p-7115316e.entry.js +0 -2
- package/dist/ui-library/p-7115316e.entry.js.map +0 -1
- package/dist/ui-library/p-73dd493f.entry.js +0 -2
- package/dist/ui-library/p-73dd493f.entry.js.map +0 -1
- package/dist/ui-library/p-870b988d.entry.js.map +0 -1
- package/dist/ui-library/p-884c5cf9.entry.js.map +0 -1
- package/dist/ui-library/p-8888a367.entry.js.map +0 -1
- package/dist/ui-library/p-8ced18d8.entry.js.map +0 -1
- package/dist/ui-library/p-935c78a7.entry.js +0 -2
- package/dist/ui-library/p-935c78a7.entry.js.map +0 -1
- package/dist/ui-library/p-961bd001.entry.js.map +0 -1
- package/dist/ui-library/p-998de05d.js +0 -2
- package/dist/ui-library/p-998de05d.js.map +0 -1
- package/dist/ui-library/p-9b08068d.entry.js +0 -2
- package/dist/ui-library/p-9b08068d.entry.js.map +0 -1
- package/dist/ui-library/p-9c79341d.entry.js.map +0 -1
- package/dist/ui-library/p-a9c159f2.entry.js +0 -2
- package/dist/ui-library/p-a9c159f2.entry.js.map +0 -1
- package/dist/ui-library/p-ac57ba5c.entry.js.map +0 -1
- package/dist/ui-library/p-af15381b.js +0 -3
- package/dist/ui-library/p-af15381b.js.map +0 -1
- package/dist/ui-library/p-b1a5f3cd.entry.js +0 -2
- package/dist/ui-library/p-b1a5f3cd.entry.js.map +0 -1
- package/dist/ui-library/p-b385a241.entry.js +0 -2
- package/dist/ui-library/p-b385a241.entry.js.map +0 -1
- package/dist/ui-library/p-b74c5d6b.entry.js +0 -2
- package/dist/ui-library/p-b74c5d6b.entry.js.map +0 -1
- package/dist/ui-library/p-bf2fb53f.entry.js +0 -2
- package/dist/ui-library/p-bf2fb53f.entry.js.map +0 -1
- package/dist/ui-library/p-c2c7370b.entry.js +0 -2
- package/dist/ui-library/p-c2c7370b.entry.js.map +0 -1
- package/dist/ui-library/p-caea1eb6.entry.js.map +0 -1
- package/dist/ui-library/p-d3f5b9a8.entry.js +0 -2
- package/dist/ui-library/p-d3f5b9a8.entry.js.map +0 -1
- package/dist/ui-library/p-d42b18eb.entry.js +0 -2
- package/dist/ui-library/p-d42b18eb.entry.js.map +0 -1
- package/dist/ui-library/p-d95e292e.entry.js.map +0 -1
- package/dist/ui-library/p-da7f3dbd.entry.js.map +0 -1
- package/dist/ui-library/p-dfb89b6a.entry.js +0 -2
- package/dist/ui-library/p-dfb89b6a.entry.js.map +0 -1
- package/dist/ui-library/p-e6032375.entry.js +0 -2
- package/dist/ui-library/p-e6032375.entry.js.map +0 -1
- package/dist/ui-library/p-e60d2324.entry.js +0 -2
- package/dist/ui-library/p-e60d2324.entry.js.map +0 -1
- package/dist/ui-library/p-e8298c6e.entry.js +0 -2
- package/dist/ui-library/p-e8298c6e.entry.js.map +0 -1
- package/dist/ui-library/p-ed279165.entry.js.map +0 -1
- package/dist/ui-library/p-ed61b75c.entry.js +0 -2
- package/dist/ui-library/p-ed61b75c.entry.js.map +0 -1
- package/dist/ui-library/p-f1ab3384.entry.js +0 -2
- package/dist/ui-library/p-f1ab3384.entry.js.map +0 -1
- package/dist/ui-library/p-f4ef481c.entry.js +0 -2
- package/dist/ui-library/p-f4ef481c.entry.js.map +0 -1
- package/dist/ui-library/p-f8cbb8da.entry.js +0 -2
- package/dist/ui-library/p-f8cbb8da.entry.js.map +0 -1
- /package/dist/ui-library/{p-61e66671.js.map → p-aa99a393.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-util.spec.js","sourceRoot":"","sources":["../../src/utils/date-util.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CalendarGridArgs,\n createCalendarGrid,\n day,\n decreaseYear,\n formatDate,\n getFirstDayOfTheWeek,\n increaseYear,\n isAfter,\n isBefore,\n isInRange,\n isoString,\n isSameDay,\n isSameMonth,\n isSameWeek,\n isSameYear,\n isValidDateString,\n month,\n newDateString,\n pad,\n parseDate,\n rangeAround,\n toDate,\n year,\n} from './date-util';\nimport { SixDateFormats } from '../components/six-datepicker/six-date-formats';\nimport { CalendarCell } from '../components/six-datepicker/six-datepicker';\n\ndescribe('date-util helpers', () => {\n describe('rangeAround', () => {\n it('returns range around 2023', () => {\n expect(rangeAround(2023, 25)).toStrictEqual([\n [2011, 2012, 2013, 2014, 2015],\n [2016, 2017, 2018, 2019, 2020],\n [2021, 2022, 2023, 2024, 2025],\n [2026, 2027, 2028, 2029, 2030],\n [2031, 2032, 2033, 2034, 2035],\n ]);\n });\n\n it('returns range around 0', () => {\n expect(rangeAround(0, 6)).toStrictEqual([[-3, -2, -1, 0, 1], [2]]);\n });\n });\n\n describe('pad', () => {\n it('should properly pad a single digit', async () => {\n // given\n const input = 2;\n\n // when\n const padded = pad(input);\n\n // then\n expect(padded).toEqual('02');\n });\n });\n});\n\ndescribe('parseDate', () => {\n describe('isoString', () => {\n it('should correctly handle undefined', async () => {\n // given\n const date = undefined;\n\n // when\n const isoDateString = isoString(date);\n\n // then\n expect(isoDateString).toBe('');\n });\n\n it('should correctly handle beginning of year', async () => {\n // given\n const date = new Date(2022, 0, 1);\n\n // when\n const isoDateString = isoString(date);\n\n // then\n expect(isoDateString).toBe('2022-01-01');\n });\n\n it('should correctly handle end of year', async () => {\n // given\n const date = new Date(2022, 11, 31);\n\n // when\n const isoDateString = isoString(date);\n\n // then\n expect(isoDateString).toBe('2022-12-31');\n });\n });\n\n describe('newDateString', () => {\n it('should correctly handle date separated into parameters', async () => {\n // given\n const year = 2033;\n const month = 3;\n const day = 2;\n\n // when\n const datestring = newDateString(year, month, day);\n\n // then\n expect(datestring).toBe('2033-03-02');\n });\n\n it('should correctly handle date object', async () => {\n // given\n const date = new Date(2022, 1, 1);\n\n // when\n const dateString = newDateString(date);\n\n // then\n expect(dateString).toBe('2022-02-01');\n });\n });\n\n describe('isValidDateString', () => {\n it('should correctly handle valid date with dashes', () => {\n // given\n const datestring = '1900-01-01';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(true);\n });\n\n it('should correctly handle date with periods', () => {\n // given\n const datestring = '01.01.1900';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'dd.mm.yyyy');\n\n // then\n expect(isValidDateStringOutput).toBe(true);\n });\n\n it('should correctly handle reversed date with periods', () => {\n // given\n const datestring = '1900.01.01';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy.mm.dd');\n\n // then\n expect(isValidDateStringOutput).toBe(true);\n });\n\n it('should correctly handle very old date with dashes', () => {\n // given\n const datestring = '1899-02-07';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(true);\n });\n\n it('should correctly handle date with dashes where month and year switched', () => {\n // given\n const datestring = '1999-15-07';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(false);\n });\n\n it('should correctly handle invalid day and month', () => {\n // given\n const datestring = '1999-00-32';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(false);\n });\n\n it('should correctly handle zero day', () => {\n // given\n const datestring = '1999-01-00';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(false);\n });\n\n it('should correctly handle exceeding day', () => {\n // given\n const datestring = '1999-01-32';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(false);\n });\n\n it('should correctly handle empty string', () => {\n // given\n const datestring = '';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(false);\n });\n\n it('should correctly handle undefined', () => {\n // given\n const datestring = undefined;\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(false);\n });\n\n it('should correctly handle undefined', () => {\n // given\n const datestring = '1800-01-01';\n\n // when\n const isValidDatestring = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDatestring).toBe(true);\n });\n });\n\n describe('isBefore', () => {\n it('should correctly handle different date objects', () => {\n // given\n const date = new Date(2020, 0, 1);\n const beforeDate = new Date(2020, 0, 2);\n\n // when\n const isBeforeOutput = isBefore(date, beforeDate);\n\n // then\n expect(isBeforeOutput).toBe(true);\n });\n\n it('should correctly handle same date objects', () => {\n // given\n const date = new Date(2020, 0, 1);\n const beforeDate = new Date(2020, 0, 1);\n\n // when\n const isBeforeOutput = isBefore(date, beforeDate);\n\n // then\n expect(isBeforeOutput).toBe(false);\n });\n\n it('should correctly handle different date strings', () => {\n // given\n const date = '2000-01-01';\n const beforeDate = '2000-01-02';\n\n // when\n const isBeforeOutput = isBefore(date, beforeDate);\n\n // then\n expect(isBeforeOutput).toBe(true);\n });\n\n it('should correctly handle same date string', () => {\n // given\n const date = '2000-01-01';\n const beforeDate = '2000-01-01';\n\n // when\n const isBeforeOutput = isBefore(date, beforeDate);\n\n // then\n expect(isBeforeOutput).toBe(false);\n });\n });\n\n describe('isAfter', () => {\n it('should correctly handle different date objects', () => {\n // given\n const date = new Date(2020, 0, 2);\n const afterDate = new Date(2020, 0, 1);\n\n // when\n const isAfterOutput = isAfter(date, afterDate);\n\n // then\n expect(isAfterOutput).toBe(true);\n });\n\n it('should correctly handle same objects', () => {\n // given\n const date = new Date(2020, 0, 1);\n const afterDate = new Date(2020, 0, 1);\n\n // when\n const isAfterOutput = isAfter(date, afterDate);\n\n // then\n expect(isAfterOutput).toBe(false);\n });\n\n it('should correctly handle different datestrings', () => {\n // given\n const date = '2000-01-02';\n const afterDate = '2000-01-01';\n\n // when\n const isAfterOutput = isAfter(date, afterDate);\n\n // then\n expect(isAfterOutput).toBe(true);\n });\n\n it('should correctly handle same datestrings', () => {\n // given\n const date = '2000-01-01';\n const afterDate = '2000-01-01';\n\n // when\n const isAfterOutput = isAfter(date, afterDate);\n\n // then\n expect(isAfterOutput).toBe(false);\n });\n });\n\n describe('year', () => {\n it('should correctly handle date object', () => {\n // given\n const yearInput = new Date(2020, 0, 1);\n\n // when\n const yearOutput = year(yearInput);\n\n // then\n expect(yearOutput).toBe(2020);\n });\n\n it('should correctly handle undefined', () => {\n // given\n const yearInput = undefined;\n\n // when\n const yearOutput = () => year(yearInput);\n\n // then\n expect(yearOutput).toThrow(Error);\n });\n\n it('should correctly handle invalid date', () => {\n // given\n const yearInput = new Date('adsf');\n\n // when\n const yearOutput = () => year(yearInput);\n\n // then\n expect(yearOutput).toThrow(Error);\n });\n });\n\n describe('month', () => {\n it('should correctly handle date object', () => {\n // given\n const monthInput = new Date(2020, 0, 1);\n\n // when\n const monthOutput = month(monthInput);\n\n // then\n expect(monthOutput).toBe(0);\n });\n\n it('should correctly handle undefined', () => {\n // given\n const monthInput = undefined;\n\n // when\n const monthOutput = () => month(monthInput);\n\n // then\n expect(monthOutput).toThrow(Error);\n });\n\n it('should correctly handle invalid date', () => {\n // given\n const monthInput = new Date('adsf');\n\n // when\n const monthOutput = () => month(monthInput);\n\n // then\n expect(monthOutput).toThrow(Error);\n });\n });\n\n describe('day', () => {\n it('should correctly handle valid date object', () => {\n // given\n const dayInput = new Date(2020, 0, 1);\n\n // when\n const dayOutput = day(dayInput);\n\n // then\n expect(dayOutput).toBe(1);\n });\n\n it('should correctly handle undefined', () => {\n // given\n const dayInput = undefined;\n\n // when\n const dayOutput = () => day(dayInput);\n\n // then\n expect(dayOutput).toThrow(Error);\n });\n\n it('should correctly handle invalid date object', () => {\n // given\n const dayInput = new Date('adsf');\n\n // when\n const dayOutput = () => day(dayInput);\n\n // then\n expect(dayOutput).toThrow(Error);\n });\n });\n\n describe('increase year', () => {\n it('should properly increase year', async () => {\n // given\n const year = new Date(2020, 0, 1);\n const increment = 1;\n\n // when\n const increasedYear = increaseYear(year, increment);\n\n // then\n expect(increasedYear).toBe(2021);\n });\n });\n\n describe('decrease year', () => {\n it('should properly decrease year', () => {\n // given\n const year = new Date(2020, 0, 1);\n const decrement = 1;\n\n // when\n const decreasedYear = decreaseYear(year, decrement);\n\n // then\n expect(decreasedYear).toBe(2019);\n });\n });\n\n describe('isInRange', () => {\n it('should correctly handle lower than min range', () => {\n // given\n const date = new Date(2020, 0, 4);\n const minDate = new Date(2020, 0, 5);\n const maxDate = new Date(2020, 0, 10);\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(false);\n });\n\n it('should correctly handle lower than min range when only min date defined', () => {\n // given\n const date = new Date(2020, 0, 4);\n const minDate = new Date(2020, 0, 5);\n const maxDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(false);\n });\n\n it('should correctly handle equal to min range', () => {\n // given\n const date = new Date(2020, 0, 5);\n const minDate = new Date(2020, 0, 5);\n const maxDate = new Date(2020, 0, 10);\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle equal to min range when only minDate defined', () => {\n // given\n const date = new Date(2020, 0, 5);\n const minDate = new Date(2020, 0, 5);\n const maxDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle in range', () => {\n // given\n const date = new Date(2020, 0, 6);\n const minDate = new Date(2020, 0, 5);\n const maxDate = new Date(2020, 0, 10);\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle in range when only minDate defined', () => {\n // given\n const date = new Date(2020, 0, 6);\n const minDate = new Date(2020, 0, 5);\n const maxDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle in range when only maxDate is defined', () => {\n // given\n const date = new Date(2020, 0, 6);\n const maxDate = new Date(2020, 0, 10);\n const minDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle just below max range', () => {\n // given\n const date = new Date(2020, 0, 9);\n const minDate = new Date(2020, 0, 5);\n const maxDate = new Date(2020, 0, 10);\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle just below max range when only maxDate is defined', () => {\n // given\n const date = new Date(2020, 0, 9);\n const maxDate = new Date(2020, 0, 10);\n const minDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle equal to max range', () => {\n // given\n const date = new Date(2020, 0, 10);\n const minDate = new Date(2020, 0, 5);\n const maxDate = new Date(2020, 0, 10);\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle equal to max range when only maxDate defined', () => {\n // given\n const date = new Date(2020, 0, 10);\n const maxDate = new Date(2020, 0, 10);\n const minDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle higher than max range', () => {\n // given\n const date = new Date(2020, 0, 11);\n const minDate = new Date(2020, 0, 5);\n const maxDate = new Date(2020, 0, 10);\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(false);\n });\n\n it('should correctly handle higher than max range when only maxDate defined', () => {\n // given\n const date = new Date(2020, 0, 11);\n const maxDate = new Date(2020, 0, 10);\n const minDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(false);\n });\n });\n\n describe('getFirstDayOfTheWeek', () => {\n it('should return correct day', () => {\n // given\n const date = new Date(2021, 1, 26);\n\n // when\n const firstDayOfTheWeek = getFirstDayOfTheWeek(date).getDay();\n\n // then\n expect(firstDayOfTheWeek).toBe(1);\n });\n\n it('should return correct date', () => {\n // given\n const date = new Date(2021, 1, 26);\n\n // when\n const firstDayOfTheWeek = getFirstDayOfTheWeek(date).getDate();\n\n // then\n expect(firstDayOfTheWeek).toBe(22);\n });\n });\n\n describe('isSameYear', () => {\n it('should correctly handle same year', () => {\n // given\n const year1 = new Date(2021, 1, 26);\n const year2 = new Date(2021, 2, 2);\n\n // when\n const isSameYearOutput = isSameYear(year1, year2);\n\n // then\n expect(isSameYearOutput).toBe(true);\n });\n\n it('should correctly handle different year', () => {\n // given\n const year1 = new Date(2021, 1, 26);\n const year2 = new Date(2022, 2, 2);\n\n // when\n const isSameYearOutput = isSameYear(year1, year2);\n\n // then\n expect(isSameYearOutput).toBe(false);\n });\n\n it('should handle null values', () => {\n // given\n const year1 = new Date(2021, 1, 26);\n\n // when\n const isSameYearOutput = isSameYear(year1, undefined);\n\n // then\n expect(isSameYearOutput).toBe(false);\n });\n });\n\n describe('isSameMonth', () => {\n it('should correctly handle same month', () => {\n // given\n const month1 = new Date(2021, 1, 26);\n const month2 = new Date(2021, 1, 2);\n\n // when\n const isSameMonthOutput = isSameMonth(month1, month2);\n\n // then\n expect(isSameMonthOutput).toBe(true);\n });\n\n it('should correctly handle different month', () => {\n // given\n const month1 = new Date(2021, 1, 26);\n const month2 = new Date(2021, 2, 2);\n\n // when\n const isSameMonthOutput = isSameMonth(month1, month2);\n\n // then\n expect(isSameMonthOutput).toBe(false);\n });\n\n it('should handle null values', () => {\n // given\n const month1 = new Date(2021, 1, 26);\n\n // when\n const isSameMonthOutput = isSameMonth(month1, undefined);\n\n // then\n expect(isSameMonthOutput).toBe(false);\n });\n });\n\n describe('isSameWeek', () => {\n it('should correctly handle', () => {\n // given\n const week1 = new Date(2021, 1, 26);\n // when\n const isSameWeekOutput = isSameWeek(week1, week1);\n\n // then\n expect(isSameWeekOutput).toBe(true);\n });\n\n it('should correctly handle', () => {\n // given\n const week1 = new Date(2021, 1, 26);\n const week2 = new Date(2021, 1, 21);\n\n // when\n const isSameWeekOutput = isSameWeek(week1, week2);\n\n // then\n expect(isSameWeekOutput).toBe(false);\n });\n\n it('should correctly handle', () => {\n // given\n const week1 = new Date(2021, 1, 26);\n const week2 = new Date(2021, 1, 22);\n\n // when\n const isSameWeekOutput = isSameWeek(week1, week2);\n\n // then\n expect(isSameWeekOutput).toBe(true);\n });\n\n it('should correctly handle', () => {\n // given\n const week1 = new Date(2021, 1, 26);\n const week2 = new Date(2021, 1, 28);\n\n // when\n const isSameWeekOutput = isSameWeek(week1, week2);\n\n // then\n expect(isSameWeekOutput).toBe(true);\n });\n\n it('should correctly handle', () => {\n // given\n const week1 = new Date(2021, 1, 26);\n const week2 = new Date(2021, 2, 1);\n\n // when\n const isSameWeekOutput = isSameWeek(week1, week2);\n\n // then\n expect(isSameWeekOutput).toBe(false);\n });\n });\n\n describe('isSameDay', () => {\n it('should correctly handle same day', () => {\n // given\n const day1 = new Date(2021, 1, 26);\n const day2 = new Date(2021, 1, 26);\n\n // when\n const isSameDayOutput = isSameDay(day1, day2);\n\n // then\n expect(isSameDayOutput).toBe(true);\n });\n\n it('should correctly handle different days', () => {\n // given\n const day1 = new Date(2021, 1, 26);\n const day2 = new Date(2021, 1, 25);\n\n // when\n const isSameDayOutput = isSameDay(day1, day2);\n\n // then\n expect(isSameDayOutput).toBe(false);\n });\n\n it('should correctly handle same day in different years', () => {\n // given\n const day1 = new Date(2021, 1, 25);\n const day2 = new Date(2022, 1, 25);\n\n // when\n const isSameDayOutput = isSameDay(day1, day2);\n\n // then\n expect(isSameDayOutput).toBe(false);\n });\n\n it('should handle null values', () => {\n // given\n const day1 = new Date(2021, 1, 25);\n\n // when\n const isSameDayOutput = isSameDay(day1, undefined);\n\n // then\n expect(isSameDayOutput).toBe(false);\n });\n });\n\n describe('formatDate', () => {\n it('should handle undefined date', async () => {\n // given\n const date = undefined;\n const format = 'dd/mm/yyyy';\n\n // when\n const formattedDate = formatDate(date, format);\n\n // then\n expect(formattedDate).toEqual('');\n });\n\n it('should correctly format dd/mm/yyyy', async () => {\n // given\n const date = new Date(2021, 1, 26);\n const format = 'dd/mm/yyyy';\n\n // when\n const formattedDate = formatDate(date, format);\n\n // then\n expect(formattedDate).toEqual('26/02/2021');\n });\n\n it('should correctly format d/m/yyyy', async () => {\n // given\n const date = new Date(2021, 1, 5);\n const format = 'd/m/yyyy';\n\n // when\n const formattedDate = formatDate(date, format);\n\n // then\n expect(formattedDate).toEqual('5/2/2021');\n });\n\n it('should correctly format yyyy/mm/dd', async () => {\n // given\n const date = new Date(2021, 1, 5);\n const format = 'yyyy/mm/dd';\n\n // when\n const formattedDate = formatDate(date, format);\n\n // then\n expect(formattedDate).toEqual('2021/02/05');\n });\n\n it('should correctly format dd.mm.yyyy', async () => {\n // given\n const date = new Date(2021, 1, 5);\n const format = 'dd.mm.yyyy';\n\n // when\n const formattedDate = formatDate(date, format);\n\n // then\n expect(formattedDate).toEqual('05.02.2021');\n });\n\n it('should correctly format dd-mm-yyyy', async () => {\n // given\n const date = new Date(2021, 1, 5);\n const format = 'dd-mm-yyyy';\n\n // when\n const formattedDate = formatDate(date, format);\n\n // then\n expect(formattedDate).toEqual('05-02-2021');\n });\n });\n\n describe('parseDate', () => {\n it('should properly parse yyyy-mm-dd', async () => {\n // given\n const datestring = '2021-05-22';\n const format = 'yyyy-mm-dd';\n const locale = 'en';\n\n // when\n const parsedDate = parseDate(datestring, format, locale);\n\n // then\n expect(parsedDate).toEqual(new Date(2021, 4, 22));\n });\n\n it('should properly parse dd-mm-yyyy', async () => {\n // given\n const datestring = '22-05-2021';\n const format = 'dd-mm-yyyy';\n const locale = 'en';\n\n // when\n const parsedDate = parseDate(datestring, format, locale);\n\n // then\n expect(parsedDate).toEqual(new Date(2021, 4, 22));\n });\n\n it('should properly parse dd/mm/yyyy', async () => {\n // given\n const datestring = '22/05/2021';\n const format = 'dd/mm/yyyy';\n const locale = 'en';\n\n // when\n const parsedDate = parseDate(datestring, format, locale);\n\n // then\n expect(parsedDate).toEqual(new Date(2021, 4, 22));\n });\n });\n\n describe('toDate', () => {\n const getRandomInt = (upperBound: number, lowerBound = 0) =>\n Math.floor(Math.random() * upperBound) + 1 + lowerBound;\n const addMissingZero = (numb: number): string => String(numb).padStart(2, '0');\n const addMissingZeroRandomly = (numb: number): string => {\n // add a leading zero in 50% of the cases\n if (Math.round(Math.random()) !== 0) {\n return String(numb);\n } else {\n return addMissingZero(numb);\n }\n };\n const getRandomYYYY = () => getRandomInt(1000, 1000);\n const getRandomYY = () => addMissingZero(getRandomInt(30));\n const getRandomMonth = () => addMissingZeroRandomly(getRandomInt(12));\n const getRandomDay = () => addMissingZeroRandomly(getRandomInt(31));\n\n it('should properly parse yyyy-mm-dd', async () => {\n // given\n const year = getRandomYYYY();\n const month = getRandomMonth();\n const day = getRandomDay();\n const dateString = `${year}-${month}-${day}`;\n const format = 'yyyy-mm-dd';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(year, Number(month) - 1, Number(day)));\n });\n\n it('should properly parse yy-mm-dd', async () => {\n // given\n const year = getRandomYY();\n const month = getRandomMonth();\n const day = getRandomDay();\n const dateString = `${year}-${month}-${day}`;\n const format = 'yy-mm-dd';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(Number(`20${year}`), Number(month) - 1, Number(day)));\n });\n\n it('should properly parse dd.mm.yyyy', async () => {\n // given\n const year = getRandomYYYY();\n const day = getRandomDay();\n const month = getRandomMonth();\n const dateString = `${day}.${month}.${year}`;\n const format = 'dd.mm.yyyy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(year, Number(month) - 1, Number(day)));\n });\n\n it('should properly parse dd.mm.yyyy with no leading zero', async () => {\n // given\n const dateString = '2.5.1990';\n const format = 'dd.mm.yyyy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(1990, 4, 2));\n });\n\n it('should properly parse dd.mm.yy', async () => {\n // given\n const day = getRandomDay();\n const month = getRandomMonth();\n const year = getRandomYY();\n const dateString = `${day}.${month}.${year}`;\n const format = 'dd.mm.yy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(Number(`20${year}`), Number(month) - 1, Number(day)));\n });\n\n it('should properly parse dd-mm-yyyy', async () => {\n // given\n const year = getRandomYYYY();\n const month = getRandomMonth();\n const day = getRandomDay();\n const dateString = `${day}-${month}-${year}`;\n const format = 'dd-mm-yyyy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(year, Number(month) - 1, Number(day)));\n });\n\n it('should properly parse dd-mm-yy', async () => {\n // given\n const month = getRandomMonth();\n const day = getRandomDay();\n const year = getRandomYY();\n const dateString = `${day}-${month}-${year}`;\n const format = 'dd-mm-yy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(Number(`20${year}`), Number(month) - 1, Number(day)));\n });\n\n it('should properly parse dd/mm/yyyy', async () => {\n // given\n const year = getRandomYYYY();\n const month = getRandomMonth();\n const day = getRandomDay();\n const dateString = `${day}/${month}/${year}`;\n const format = 'dd/mm/yyyy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(year, Number(month) - 1, Number(day)));\n });\n\n it('should properly parse dd/mm/yy', async () => {\n // given\n const day = getRandomDay();\n const month = getRandomMonth();\n const year = getRandomYY();\n const dateString = `${day}/${month}/${year}`;\n const format = 'dd/mm/yy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(Number(`20${year}`), Number(month) - 1, Number(day)));\n });\n\n it('should properly parse yyyy/mm/dd', async () => {\n // given\n const year = getRandomYYYY();\n const month = getRandomMonth();\n const day = getRandomDay();\n const dateString = `${year}/${month}/${day}`;\n const format = 'yyyy/mm/dd';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(year, Number(month) - 1, Number(day)));\n });\n\n it('should properly parse yy/mm/dd', async () => {\n // given\n const year = getRandomYY();\n const month = getRandomMonth();\n const day = getRandomDay();\n const dateString = `${year}/${month}/${day}`;\n const format = 'yy/mm/dd';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(Number(`20${year}`), Number(month) - 1, Number(day)));\n });\n });\n});\n\ndescribe('createCalendarGrid', () => {\n const mapGridToProperty = (grid: CalendarCell[][], property: keyof CalendarCell) =>\n grid.map((row) => row.map((cell) => cell[property]));\n const stringifyGrid = (grid: CalendarCell[][]) => mapGridToProperty(grid, 'label');\n const extractDisabledMapFromGrid = (grid: CalendarCell[][]) => mapGridToProperty(grid, 'isDisabled');\n const extractOutdatedMapFromGrid = (grid: CalendarCell[][]) => mapGridToProperty(grid, 'isOutdated');\n\n it('should correctly show some specific date', async () => {\n // given\n const args: CalendarGridArgs = {\n allowedDates: () => true,\n firstDateOfBox: new Date(2022, 1, 28),\n dateFormat: SixDateFormats.DDMMYY_DOT,\n locale: 'en',\n selectedDate: undefined,\n minDate: undefined,\n maxDate: undefined,\n pointerDate: {\n year: 2022,\n month: 2,\n day: 31,\n },\n };\n\n // when\n const calendarGrid = createCalendarGrid(args);\n\n // then\n expect(stringifyGrid(calendarGrid)).toEqual([\n ['28', '1', '2', '3', '4', '5', '6'],\n ['7', '8', '9', '10', '11', '12', '13'],\n ['14', '15', '16', '17', '18', '19', '20'],\n ['21', '22', '23', '24', '25', '26', '27'],\n ['28', '29', '30', '31', '1', '2', '3'],\n ]);\n\n expect(extractDisabledMapFromGrid(calendarGrid)).toEqual([\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n ]);\n\n expect(extractOutdatedMapFromGrid(calendarGrid)).toEqual([\n [true, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, true, true, true],\n ]);\n });\n\n it('should correctly show some box when today is first day of the month', async () => {\n // given\n const args: CalendarGridArgs = {\n allowedDates: () => true,\n firstDateOfBox: new Date(2022, 1, 28),\n dateFormat: SixDateFormats.DDMMYY_DOT,\n locale: 'en',\n selectedDate: undefined,\n minDate: undefined,\n maxDate: undefined,\n pointerDate: {\n year: 2022,\n month: 2,\n day: 1,\n },\n };\n\n // when\n const calendarGrid = createCalendarGrid(args);\n\n // then\n expect(stringifyGrid(calendarGrid)).toEqual([\n ['28', '1', '2', '3', '4', '5', '6'],\n ['7', '8', '9', '10', '11', '12', '13'],\n ['14', '15', '16', '17', '18', '19', '20'],\n ['21', '22', '23', '24', '25', '26', '27'],\n ['28', '29', '30', '31', '1', '2', '3'],\n ]);\n\n expect(extractDisabledMapFromGrid(calendarGrid)).toEqual([\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n ]);\n\n expect(extractOutdatedMapFromGrid(calendarGrid)).toEqual([\n [true, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, true, true, true],\n ]);\n });\n\n it('should correclty create calendargrid with non allowed dates', async () => {\n // given\n const args: CalendarGridArgs = {\n allowedDates: (date) => date.getDate() % 2 === 0,\n firstDateOfBox: new Date(2022, 1, 28),\n dateFormat: SixDateFormats.DDMMYY_DOT,\n locale: 'en',\n selectedDate: undefined,\n minDate: undefined,\n maxDate: undefined,\n pointerDate: {\n year: 2022,\n month: 2,\n day: 31,\n },\n };\n\n // when\n const calendarGrid = createCalendarGrid(args);\n\n // then\n expect(stringifyGrid(calendarGrid)).toEqual([\n ['28', '1', '2', '3', '4', '5', '6'],\n ['7', '8', '9', '10', '11', '12', '13'],\n ['14', '15', '16', '17', '18', '19', '20'],\n ['21', '22', '23', '24', '25', '26', '27'],\n ['28', '29', '30', '31', '1', '2', '3'],\n ]);\n\n expect(extractDisabledMapFromGrid(calendarGrid)).toEqual([\n [false, true, false, true, false, true, false],\n [true, false, true, false, true, false, true],\n [false, true, false, true, false, true, false],\n [true, false, true, false, true, false, true],\n [false, true, false, true, true, false, true],\n ]);\n\n expect(extractOutdatedMapFromGrid(calendarGrid)).toEqual([\n [true, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, true, true, true],\n ]);\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"date-util.spec.js","sourceRoot":"","sources":["../../src/utils/date-util.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CalendarGridArgs,\n createCalendarGrid,\n day,\n decreaseYear,\n formatDate,\n getFirstDayOfTheWeek,\n increaseYear,\n isAfter,\n isBefore,\n isInRange,\n isoString,\n isSameDay,\n isSameMonth,\n isSameWeek,\n isSameYear,\n isValidDateString,\n month,\n newDateString,\n pad,\n parseDate,\n rangeAround,\n toDate,\n year,\n} from './date-util';\nimport { SixDateFormats } from '../components/six-datepicker/six-date-formats';\nimport { CalendarCell } from '../components/six-datepicker/six-datepicker';\n\ndescribe('date-util helpers', () => {\n describe('rangeAround', () => {\n it('returns range around 2023', () => {\n expect(rangeAround(2023, 25)).toStrictEqual([\n [2011, 2012, 2013, 2014, 2015],\n [2016, 2017, 2018, 2019, 2020],\n [2021, 2022, 2023, 2024, 2025],\n [2026, 2027, 2028, 2029, 2030],\n [2031, 2032, 2033, 2034, 2035],\n ]);\n });\n\n it('returns range around 0', () => {\n expect(rangeAround(0, 6)).toStrictEqual([[-3, -2, -1, 0, 1], [2]]);\n });\n });\n\n describe('pad', () => {\n it('should properly pad a single digit', async () => {\n // given\n const input = 2;\n\n // when\n const padded = pad(input);\n\n // then\n expect(padded).toEqual('02');\n });\n });\n});\n\ndescribe('parseDate', () => {\n describe('isoString', () => {\n it('should correctly handle undefined', async () => {\n // given\n const date = undefined;\n\n // when\n const isoDateString = isoString(date);\n\n // then\n expect(isoDateString).toBe('');\n });\n\n it('should correctly handle beginning of year', async () => {\n // given\n const date = new Date(2022, 0, 1);\n\n // when\n const isoDateString = isoString(date);\n\n // then\n expect(isoDateString).toBe('2022-01-01');\n });\n\n it('should correctly handle end of year', async () => {\n // given\n const date = new Date(2022, 11, 31);\n\n // when\n const isoDateString = isoString(date);\n\n // then\n expect(isoDateString).toBe('2022-12-31');\n });\n });\n\n describe('newDateString', () => {\n it('should correctly handle date separated into parameters', async () => {\n // given\n const year = 2033;\n const month = 3;\n const day = 2;\n\n // when\n const datestring = newDateString(year, month, day);\n\n // then\n expect(datestring).toBe('2033-03-02');\n });\n\n it('should correctly handle date object', async () => {\n // given\n const date = new Date(2022, 1, 1);\n\n // when\n const dateString = newDateString(date);\n\n // then\n expect(dateString).toBe('2022-02-01');\n });\n });\n\n describe('isValidDateString', () => {\n it('should correctly handle valid date with dashes', () => {\n // given\n const datestring = '1900-01-01';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(true);\n });\n\n it('should correctly handle date with periods', () => {\n // given\n const datestring = '01.01.1900';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'dd.mm.yyyy');\n\n // then\n expect(isValidDateStringOutput).toBe(true);\n });\n\n it('should correctly handle reversed date with periods', () => {\n // given\n const datestring = '1900.01.01';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy.mm.dd');\n\n // then\n expect(isValidDateStringOutput).toBe(true);\n });\n\n it('should correctly handle very old date with dashes', () => {\n // given\n const datestring = '1899-02-07';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(true);\n });\n\n it('should correctly handle date with dashes where month and year switched', () => {\n // given\n const datestring = '1999-15-07';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(false);\n });\n\n it('should correctly handle invalid day and month', () => {\n // given\n const datestring = '1999-00-32';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(false);\n });\n\n it('should correctly handle zero day', () => {\n // given\n const datestring = '1999-01-00';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(false);\n });\n\n it('should correctly handle exceeding day', () => {\n // given\n const datestring = '1999-01-32';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(false);\n });\n\n it('should correctly handle empty string', () => {\n // given\n const datestring = '';\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(false);\n });\n\n it('should correctly handle undefined', () => {\n // given\n const datestring = undefined;\n\n // when\n const isValidDateStringOutput = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDateStringOutput).toBe(false);\n });\n\n it('should correctly handle undefined', () => {\n // given\n const datestring = '1800-01-01';\n\n // when\n const isValidDatestring = isValidDateString(datestring, 'yyyy-mm-dd');\n\n // then\n expect(isValidDatestring).toBe(true);\n });\n });\n\n describe('isBefore', () => {\n it('should correctly handle different date objects', () => {\n // given\n const date = new Date(2020, 0, 1);\n const beforeDate = new Date(2020, 0, 2);\n\n // when\n const isBeforeOutput = isBefore(date, beforeDate);\n\n // then\n expect(isBeforeOutput).toBe(true);\n });\n\n it('should correctly handle same date objects', () => {\n // given\n const date = new Date(2020, 0, 1);\n const beforeDate = new Date(2020, 0, 1);\n\n // when\n const isBeforeOutput = isBefore(date, beforeDate);\n\n // then\n expect(isBeforeOutput).toBe(false);\n });\n\n it('should correctly handle different date strings', () => {\n // given\n const date = '2000-01-01';\n const beforeDate = '2000-01-02';\n\n // when\n const isBeforeOutput = isBefore(date, beforeDate);\n\n // then\n expect(isBeforeOutput).toBe(true);\n });\n\n it('should correctly handle same date string', () => {\n // given\n const date = '2000-01-01';\n const beforeDate = '2000-01-01';\n\n // when\n const isBeforeOutput = isBefore(date, beforeDate);\n\n // then\n expect(isBeforeOutput).toBe(false);\n });\n });\n\n describe('isAfter', () => {\n it('should correctly handle different date objects', () => {\n // given\n const date = new Date(2020, 0, 2);\n const afterDate = new Date(2020, 0, 1);\n\n // when\n const isAfterOutput = isAfter(date, afterDate);\n\n // then\n expect(isAfterOutput).toBe(true);\n });\n\n it('should correctly handle same objects', () => {\n // given\n const date = new Date(2020, 0, 1);\n const afterDate = new Date(2020, 0, 1);\n\n // when\n const isAfterOutput = isAfter(date, afterDate);\n\n // then\n expect(isAfterOutput).toBe(false);\n });\n\n it('should correctly handle different datestrings', () => {\n // given\n const date = '2000-01-02';\n const afterDate = '2000-01-01';\n\n // when\n const isAfterOutput = isAfter(date, afterDate);\n\n // then\n expect(isAfterOutput).toBe(true);\n });\n\n it('should correctly handle same datestrings', () => {\n // given\n const date = '2000-01-01';\n const afterDate = '2000-01-01';\n\n // when\n const isAfterOutput = isAfter(date, afterDate);\n\n // then\n expect(isAfterOutput).toBe(false);\n });\n });\n\n describe('year', () => {\n it('should correctly handle date object', () => {\n // given\n const yearInput = new Date(2020, 0, 1);\n\n // when\n const yearOutput = year(yearInput);\n\n // then\n expect(yearOutput).toBe(2020);\n });\n\n it('should correctly handle undefined', () => {\n // given\n const yearInput = undefined;\n\n // when\n const yearOutput = () => year(yearInput);\n\n // then\n expect(yearOutput).toThrow(Error);\n });\n\n it('should correctly handle invalid date', () => {\n // given\n const yearInput = new Date('adsf');\n\n // when\n const yearOutput = () => year(yearInput);\n\n // then\n expect(yearOutput).toThrow(Error);\n });\n });\n\n describe('month', () => {\n it('should correctly handle date object', () => {\n // given\n const monthInput = new Date(2020, 0, 1);\n\n // when\n const monthOutput = month(monthInput);\n\n // then\n expect(monthOutput).toBe(0);\n });\n\n it('should correctly handle undefined', () => {\n // given\n const monthInput = undefined;\n\n // when\n const monthOutput = () => month(monthInput);\n\n // then\n expect(monthOutput).toThrow(Error);\n });\n\n it('should correctly handle invalid date', () => {\n // given\n const monthInput = new Date('adsf');\n\n // when\n const monthOutput = () => month(monthInput);\n\n // then\n expect(monthOutput).toThrow(Error);\n });\n });\n\n describe('day', () => {\n it('should correctly handle valid date object', () => {\n // given\n const dayInput = new Date(2020, 0, 1);\n\n // when\n const dayOutput = day(dayInput);\n\n // then\n expect(dayOutput).toBe(1);\n });\n\n it('should correctly handle undefined', () => {\n // given\n const dayInput = undefined;\n\n // when\n const dayOutput = () => day(dayInput);\n\n // then\n expect(dayOutput).toThrow(Error);\n });\n\n it('should correctly handle invalid date object', () => {\n // given\n const dayInput = new Date('adsf');\n\n // when\n const dayOutput = () => day(dayInput);\n\n // then\n expect(dayOutput).toThrow(Error);\n });\n });\n\n describe('increase year', () => {\n it('should properly increase year', async () => {\n // given\n const year = new Date(2020, 0, 1);\n const increment = 1;\n\n // when\n const increasedYear = increaseYear(year, increment);\n\n // then\n expect(increasedYear).toBe(2021);\n });\n });\n\n describe('decrease year', () => {\n it('should properly decrease year', () => {\n // given\n const year = new Date(2020, 0, 1);\n const decrement = 1;\n\n // when\n const decreasedYear = decreaseYear(year, decrement);\n\n // then\n expect(decreasedYear).toBe(2019);\n });\n });\n\n describe('isInRange', () => {\n it('should correctly handle lower than min range', () => {\n // given\n const date = new Date(2020, 0, 4);\n const minDate = new Date(2020, 0, 5);\n const maxDate = new Date(2020, 0, 10);\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(false);\n });\n\n it('should correctly handle lower than min range when only min date defined', () => {\n // given\n const date = new Date(2020, 0, 4);\n const minDate = new Date(2020, 0, 5);\n const maxDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(false);\n });\n\n it('should correctly handle equal to min range', () => {\n // given\n const date = new Date(2020, 0, 5);\n const minDate = new Date(2020, 0, 5);\n const maxDate = new Date(2020, 0, 10);\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle equal to min range when only minDate defined', () => {\n // given\n const date = new Date(2020, 0, 5);\n const minDate = new Date(2020, 0, 5);\n const maxDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle in range', () => {\n // given\n const date = new Date(2020, 0, 6);\n const minDate = new Date(2020, 0, 5);\n const maxDate = new Date(2020, 0, 10);\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle in range when only minDate defined', () => {\n // given\n const date = new Date(2020, 0, 6);\n const minDate = new Date(2020, 0, 5);\n const maxDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle in range when only maxDate is defined', () => {\n // given\n const date = new Date(2020, 0, 6);\n const maxDate = new Date(2020, 0, 10);\n const minDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle just below max range', () => {\n // given\n const date = new Date(2020, 0, 9);\n const minDate = new Date(2020, 0, 5);\n const maxDate = new Date(2020, 0, 10);\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle just below max range when only maxDate is defined', () => {\n // given\n const date = new Date(2020, 0, 9);\n const maxDate = new Date(2020, 0, 10);\n const minDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle equal to max range', () => {\n // given\n const date = new Date(2020, 0, 10);\n const minDate = new Date(2020, 0, 5);\n const maxDate = new Date(2020, 0, 10);\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle equal to max range when only maxDate defined', () => {\n // given\n const date = new Date(2020, 0, 10);\n const maxDate = new Date(2020, 0, 10);\n const minDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(true);\n });\n\n it('should correctly handle higher than max range', () => {\n // given\n const date = new Date(2020, 0, 11);\n const minDate = new Date(2020, 0, 5);\n const maxDate = new Date(2020, 0, 10);\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(false);\n });\n\n it('should correctly handle higher than max range when only maxDate defined', () => {\n // given\n const date = new Date(2020, 0, 11);\n const maxDate = new Date(2020, 0, 10);\n const minDate = undefined;\n\n // when\n const isInRangeOutput = isInRange(date, minDate, maxDate);\n\n // then\n expect(isInRangeOutput).toBe(false);\n });\n });\n\n describe('getFirstDayOfTheWeek', () => {\n it('should return correct day', () => {\n // given\n const date = new Date(2021, 1, 26);\n\n // when\n const firstDayOfTheWeek = getFirstDayOfTheWeek(date).getDay();\n\n // then\n expect(firstDayOfTheWeek).toBe(1);\n });\n\n it('should return correct date', () => {\n // given\n const date = new Date(2021, 1, 26);\n\n // when\n const firstDayOfTheWeek = getFirstDayOfTheWeek(date).getDate();\n\n // then\n expect(firstDayOfTheWeek).toBe(22);\n });\n });\n\n describe('isSameYear', () => {\n it('should correctly handle same year', () => {\n // given\n const year1 = new Date(2021, 1, 26);\n const year2 = new Date(2021, 2, 2);\n\n // when\n const isSameYearOutput = isSameYear(year1, year2);\n\n // then\n expect(isSameYearOutput).toBe(true);\n });\n\n it('should correctly handle different year', () => {\n // given\n const year1 = new Date(2021, 1, 26);\n const year2 = new Date(2022, 2, 2);\n\n // when\n const isSameYearOutput = isSameYear(year1, year2);\n\n // then\n expect(isSameYearOutput).toBe(false);\n });\n\n it('should handle null values', () => {\n // given\n const year1 = new Date(2021, 1, 26);\n\n // when\n const isSameYearOutput = isSameYear(year1, undefined);\n\n // then\n expect(isSameYearOutput).toBe(false);\n });\n });\n\n describe('isSameMonth', () => {\n it('should correctly handle same month', () => {\n // given\n const month1 = new Date(2021, 1, 26);\n const month2 = new Date(2021, 1, 2);\n\n // when\n const isSameMonthOutput = isSameMonth(month1, month2);\n\n // then\n expect(isSameMonthOutput).toBe(true);\n });\n\n it('should correctly handle different month', () => {\n // given\n const month1 = new Date(2021, 1, 26);\n const month2 = new Date(2021, 2, 2);\n\n // when\n const isSameMonthOutput = isSameMonth(month1, month2);\n\n // then\n expect(isSameMonthOutput).toBe(false);\n });\n\n it('should handle null values', () => {\n // given\n const month1 = new Date(2021, 1, 26);\n\n // when\n const isSameMonthOutput = isSameMonth(month1, undefined);\n\n // then\n expect(isSameMonthOutput).toBe(false);\n });\n });\n\n describe('isSameWeek', () => {\n it('should correctly handle', () => {\n // given\n const week1 = new Date(2021, 1, 26);\n // when\n const isSameWeekOutput = isSameWeek(week1, week1);\n\n // then\n expect(isSameWeekOutput).toBe(true);\n });\n\n it('should correctly handle', () => {\n // given\n const week1 = new Date(2021, 1, 26);\n const week2 = new Date(2021, 1, 21);\n\n // when\n const isSameWeekOutput = isSameWeek(week1, week2);\n\n // then\n expect(isSameWeekOutput).toBe(false);\n });\n\n it('should correctly handle', () => {\n // given\n const week1 = new Date(2021, 1, 26);\n const week2 = new Date(2021, 1, 22);\n\n // when\n const isSameWeekOutput = isSameWeek(week1, week2);\n\n // then\n expect(isSameWeekOutput).toBe(true);\n });\n\n it('should correctly handle', () => {\n // given\n const week1 = new Date(2021, 1, 26);\n const week2 = new Date(2021, 1, 28);\n\n // when\n const isSameWeekOutput = isSameWeek(week1, week2);\n\n // then\n expect(isSameWeekOutput).toBe(true);\n });\n\n it('should correctly handle', () => {\n // given\n const week1 = new Date(2021, 1, 26);\n const week2 = new Date(2021, 2, 1);\n\n // when\n const isSameWeekOutput = isSameWeek(week1, week2);\n\n // then\n expect(isSameWeekOutput).toBe(false);\n });\n });\n\n describe('isSameDay', () => {\n it('should correctly handle same day', () => {\n // given\n const day1 = new Date(2021, 1, 26);\n const day2 = new Date(2021, 1, 26);\n\n // when\n const isSameDayOutput = isSameDay(day1, day2);\n\n // then\n expect(isSameDayOutput).toBe(true);\n });\n\n it('should correctly handle different days', () => {\n // given\n const day1 = new Date(2021, 1, 26);\n const day2 = new Date(2021, 1, 25);\n\n // when\n const isSameDayOutput = isSameDay(day1, day2);\n\n // then\n expect(isSameDayOutput).toBe(false);\n });\n\n it('should correctly handle same day in different years', () => {\n // given\n const day1 = new Date(2021, 1, 25);\n const day2 = new Date(2022, 1, 25);\n\n // when\n const isSameDayOutput = isSameDay(day1, day2);\n\n // then\n expect(isSameDayOutput).toBe(false);\n });\n\n it('should handle null values', () => {\n // given\n const day1 = new Date(2021, 1, 25);\n\n // when\n const isSameDayOutput = isSameDay(day1, undefined);\n\n // then\n expect(isSameDayOutput).toBe(false);\n });\n });\n\n describe('formatDate', () => {\n it('should handle undefined date', async () => {\n // given\n const date = undefined;\n const format = 'dd/mm/yyyy';\n\n // when\n const formattedDate = formatDate(date, format);\n\n // then\n expect(formattedDate).toEqual('');\n });\n\n it('should correctly format dd/mm/yyyy', async () => {\n // given\n const date = new Date(2021, 1, 26);\n const format = 'dd/mm/yyyy';\n\n // when\n const formattedDate = formatDate(date, format);\n\n // then\n expect(formattedDate).toEqual('26/02/2021');\n });\n\n it('should correctly format d/m/yyyy', async () => {\n // given\n const date = new Date(2021, 1, 5);\n const format = 'd/m/yyyy';\n\n // when\n const formattedDate = formatDate(date, format);\n\n // then\n expect(formattedDate).toEqual('5/2/2021');\n });\n\n it('should correctly format yyyy/mm/dd', async () => {\n // given\n const date = new Date(2021, 1, 5);\n const format = 'yyyy/mm/dd';\n\n // when\n const formattedDate = formatDate(date, format);\n\n // then\n expect(formattedDate).toEqual('2021/02/05');\n });\n\n it('should correctly format dd.mm.yyyy', async () => {\n // given\n const date = new Date(2021, 1, 5);\n const format = 'dd.mm.yyyy';\n\n // when\n const formattedDate = formatDate(date, format);\n\n // then\n expect(formattedDate).toEqual('05.02.2021');\n });\n\n it('should correctly format dd-mm-yyyy', async () => {\n // given\n const date = new Date(2021, 1, 5);\n const format = 'dd-mm-yyyy';\n\n // when\n const formattedDate = formatDate(date, format);\n\n // then\n expect(formattedDate).toEqual('05-02-2021');\n });\n });\n\n describe('parseDate', () => {\n it('should properly parse yyyy-mm-dd', async () => {\n // given\n const datestring = '2021-05-22';\n const format = 'yyyy-mm-dd';\n const locale = 'en';\n\n // when\n const parsedDate = parseDate(datestring, format, locale);\n\n // then\n expect(parsedDate).toEqual(new Date(2021, 4, 22));\n });\n\n it('should properly parse dd-mm-yyyy', async () => {\n // given\n const datestring = '22-05-2021';\n const format = 'dd-mm-yyyy';\n const locale = 'en';\n\n // when\n const parsedDate = parseDate(datestring, format, locale);\n\n // then\n expect(parsedDate).toEqual(new Date(2021, 4, 22));\n });\n\n it('should properly parse dd/mm/yyyy', async () => {\n // given\n const datestring = '22/05/2021';\n const format = 'dd/mm/yyyy';\n const locale = 'en';\n\n // when\n const parsedDate = parseDate(datestring, format, locale);\n\n // then\n expect(parsedDate).toEqual(new Date(2021, 4, 22));\n });\n });\n\n describe('toDate', () => {\n const getRandomInt = (upperBound: number, lowerBound = 0) =>\n Math.floor(Math.random() * upperBound) + 1 + lowerBound;\n const addMissingZero = (numb: number): string => String(numb).padStart(2, '0');\n const addMissingZeroRandomly = (numb: number): string => {\n // add a leading zero in 50% of the cases\n if (Math.round(Math.random()) !== 0) {\n return String(numb);\n } else {\n return addMissingZero(numb);\n }\n };\n const getRandomYYYY = () => getRandomInt(1000, 1000);\n const getRandomYY = () => addMissingZero(getRandomInt(30));\n const getRandomMonth = () => addMissingZeroRandomly(getRandomInt(12));\n const getRandomDay = () => addMissingZeroRandomly(getRandomInt(31));\n\n it('should properly parse yyyy-mm-dd', async () => {\n // given\n const year = getRandomYYYY();\n const month = getRandomMonth();\n const day = getRandomDay();\n const dateString = `${year}-${month}-${day}`;\n const format = 'yyyy-mm-dd';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(year, Number(month) - 1, Number(day)));\n });\n\n it('should properly parse yy-mm-dd', async () => {\n // given\n const year = getRandomYY();\n const month = getRandomMonth();\n const day = getRandomDay();\n const dateString = `${year}-${month}-${day}`;\n const format = 'yy-mm-dd';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(Number(`20${year}`), Number(month) - 1, Number(day)));\n });\n\n it('should properly parse dd.mm.yyyy', async () => {\n // given\n const year = getRandomYYYY();\n const day = getRandomDay();\n const month = getRandomMonth();\n const dateString = `${day}.${month}.${year}`;\n const format = 'dd.mm.yyyy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(year, Number(month) - 1, Number(day)));\n });\n\n it('should properly parse dd.mm.yyyy with no leading zero', async () => {\n // given\n const dateString = '2.5.1990';\n const format = 'dd.mm.yyyy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(1990, 4, 2));\n });\n\n it('should properly parse dd.mm.yy', async () => {\n // given\n const day = getRandomDay();\n const month = getRandomMonth();\n const year = getRandomYY();\n const dateString = `${day}.${month}.${year}`;\n const format = 'dd.mm.yy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(Number(`20${year}`), Number(month) - 1, Number(day)));\n });\n\n it('should properly parse dd-mm-yyyy', async () => {\n // given\n const year = getRandomYYYY();\n const month = getRandomMonth();\n const day = getRandomDay();\n const dateString = `${day}-${month}-${year}`;\n const format = 'dd-mm-yyyy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(year, Number(month) - 1, Number(day)));\n });\n\n it('should properly parse dd-mm-yy', async () => {\n // given\n const month = getRandomMonth();\n const day = getRandomDay();\n const year = getRandomYY();\n const dateString = `${day}-${month}-${year}`;\n const format = 'dd-mm-yy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(Number(`20${year}`), Number(month) - 1, Number(day)));\n });\n\n it('should properly parse dd/mm/yyyy', async () => {\n // given\n const year = getRandomYYYY();\n const month = getRandomMonth();\n const day = getRandomDay();\n const dateString = `${day}/${month}/${year}`;\n const format = 'dd/mm/yyyy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(year, Number(month) - 1, Number(day)));\n });\n\n it('should properly parse dd/mm/yy', async () => {\n // given\n const day = getRandomDay();\n const month = getRandomMonth();\n const year = getRandomYY();\n const dateString = `${day}/${month}/${year}`;\n const format = 'dd/mm/yy';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(Number(`20${year}`), Number(month) - 1, Number(day)));\n });\n\n it('should properly parse yyyy/mm/dd', async () => {\n // given\n const year = getRandomYYYY();\n const month = getRandomMonth();\n const day = getRandomDay();\n const dateString = `${year}/${month}/${day}`;\n const format = 'yyyy/mm/dd';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(year, Number(month) - 1, Number(day)));\n });\n\n it('should properly parse yy/mm/dd', async () => {\n // given\n const year = getRandomYY();\n const month = getRandomMonth();\n const day = getRandomDay();\n const dateString = `${year}/${month}/${day}`;\n const format = 'yy/mm/dd';\n\n // when\n const date = toDate(dateString, format);\n\n // then\n expect(date).toEqual(new Date(Number(`20${year}`), Number(month) - 1, Number(day)));\n });\n });\n});\n\ndescribe('createCalendarGrid', () => {\n const mapGridToProperty = (grid: CalendarCell[][], property: keyof CalendarCell) =>\n grid.map((row) => row.map((cell) => cell[property]));\n const stringifyGrid = (grid: CalendarCell[][]) => mapGridToProperty(grid, 'label');\n const extractDisabledMapFromGrid = (grid: CalendarCell[][]) => mapGridToProperty(grid, 'isDisabled');\n const extractOutdatedMapFromGrid = (grid: CalendarCell[][]) => mapGridToProperty(grid, 'isOutdated');\n\n it('should correctly show some specific date', async () => {\n // given\n const args: CalendarGridArgs = {\n allowedDates: () => true,\n firstDateOfBox: new Date(2022, 1, 28),\n dateFormat: SixDateFormats.DDMMYY_DOT,\n locale: 'en',\n selectedDate: undefined,\n minDate: undefined,\n maxDate: undefined,\n pointerDate: {\n year: 2022,\n month: 2,\n day: 31,\n },\n };\n\n // when\n const calendarGrid = createCalendarGrid(args);\n\n // then\n expect(stringifyGrid(calendarGrid)).toEqual([\n ['28', '1', '2', '3', '4', '5', '6'],\n ['7', '8', '9', '10', '11', '12', '13'],\n ['14', '15', '16', '17', '18', '19', '20'],\n ['21', '22', '23', '24', '25', '26', '27'],\n ['28', '29', '30', '31', '1', '2', '3'],\n ]);\n\n expect(extractDisabledMapFromGrid(calendarGrid)).toEqual([\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n ]);\n\n expect(extractOutdatedMapFromGrid(calendarGrid)).toEqual([\n [true, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, true, true, true],\n ]);\n });\n\n it('should correctly show some box when today is first day of the month', async () => {\n // given\n const args: CalendarGridArgs = {\n allowedDates: () => true,\n firstDateOfBox: new Date(2022, 1, 28),\n dateFormat: SixDateFormats.DDMMYY_DOT,\n locale: 'en',\n selectedDate: undefined,\n minDate: undefined,\n maxDate: undefined,\n pointerDate: {\n year: 2022,\n month: 2,\n day: 1,\n },\n };\n\n // when\n const calendarGrid = createCalendarGrid(args);\n\n // then\n expect(stringifyGrid(calendarGrid)).toEqual([\n ['28', '1', '2', '3', '4', '5', '6'],\n ['7', '8', '9', '10', '11', '12', '13'],\n ['14', '15', '16', '17', '18', '19', '20'],\n ['21', '22', '23', '24', '25', '26', '27'],\n ['28', '29', '30', '31', '1', '2', '3'],\n ]);\n\n expect(extractDisabledMapFromGrid(calendarGrid)).toEqual([\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n ]);\n\n expect(extractOutdatedMapFromGrid(calendarGrid)).toEqual([\n [true, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, true, true, true],\n ]);\n });\n\n it('should correclty create calendargrid with non allowed dates', async () => {\n // given\n const args: CalendarGridArgs = {\n allowedDates: (date) => date.getDate() % 2 === 0,\n firstDateOfBox: new Date(2022, 1, 28),\n dateFormat: SixDateFormats.DDMMYY_DOT,\n locale: 'en',\n selectedDate: undefined,\n minDate: undefined,\n maxDate: undefined,\n pointerDate: {\n year: 2022,\n month: 2,\n day: 31,\n },\n };\n\n // when\n const calendarGrid = createCalendarGrid(args);\n\n // then\n expect(stringifyGrid(calendarGrid)).toEqual([\n ['28', '1', '2', '3', '4', '5', '6'],\n ['7', '8', '9', '10', '11', '12', '13'],\n ['14', '15', '16', '17', '18', '19', '20'],\n ['21', '22', '23', '24', '25', '26', '27'],\n ['28', '29', '30', '31', '1', '2', '3'],\n ]);\n\n expect(extractDisabledMapFromGrid(calendarGrid)).toEqual([\n [false, true, false, true, false, true, false],\n [true, false, true, false, true, false, true],\n [false, true, false, true, false, true, false],\n [true, false, true, false, true, false, true],\n [false, true, false, true, true, false, true],\n ]);\n\n expect(extractOutdatedMapFromGrid(calendarGrid)).toEqual([\n [true, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, false, false, false],\n [false, false, false, false, true, true, true],\n ]);\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-messages.js","sourceRoot":"","sources":["../../src/utils/error-messages.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAGjE,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAgBpD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAkB,EAAE,KAAsB;IACxE,IAAI;
|
|
1
|
+
{"version":3,"file":"error-messages.js","sourceRoot":"","sources":["../../src/utils/error-messages.ts"],"names":[],"mappings":"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","sourcesContent":["export const languages = ['de', 'fr', 'it', 'en', 'es'] as const;\nexport type Language = (typeof languages)[number];\n\nconst dateFormat = new Intl.DateTimeFormat('de-CH');\n\nexport type ValidationError =\n | { key: 'required' }\n | { key: 'requiredtrue' }\n | { key: 'email'; requiredPattern: string }\n | { key: 'minlength'; requiredLength: number }\n | { key: 'maxlength'; requiredLength: number }\n | { key: 'pattern'; requiredPattern: string }\n | { key: 'min'; min: number }\n | { key: 'max'; max: number }\n | { key: 'mindate'; mindate: Date; actual: Date }\n | { key: 'maxdate'; maxdate: Date; actual: Date }\n | { key: 'invaliddate'; actual: Date }\n | { key: 'custom'; text: string };\n\n/**\n * Returns an error message for the given language and error.\n */\nexport function getErrorMessage(language: Language, error: ValidationError): string | undefined {\n try {\n const message = translation[language][error.key];\n switch (error.key) {\n case 'required':\n case 'requiredtrue':\n case 'email':\n return message;\n case 'minlength':\n case 'maxlength':\n return message.replace('{requiredLength}', String(error.requiredLength));\n case 'pattern':\n return message.replace('{pattern}', String(error.requiredPattern));\n case 'min':\n return message.replace('{min}', String(error.min));\n case 'max':\n return message.replace('{max}', String(error.max));\n case 'mindate':\n return message.replace('{mindate}', dateFormat.format(error.mindate));\n case 'maxdate':\n return message.replace('{maxdate}', dateFormat.format(error.maxdate));\n case 'invaliddate':\n return message;\n case 'custom':\n return error.text;\n }\n } catch (e) {\n console.warn(`no error message in '${language}' for error:`, error);\n return undefined;\n }\n}\n\nexport function getLanguage(): Language {\n const documentLang = document.documentElement.lang as Language;\n if (languages.includes(documentLang)) {\n return documentLang;\n }\n return 'de';\n}\n\nconst translation: Record<Language, Record<string, string>> = {\n en: {\n required: 'Please fill out this field.',\n minlength: 'Please enter at least {requiredLength} characters.',\n maxlength: 'Please enter no more than {requiredLength} characters.',\n pattern: 'Please enter a value that matches the pattern: {pattern}.',\n email: 'Please enter a valid email address.',\n min: 'Please enter a value greater than or equal to {min}.',\n max: 'Please enter a value less than or equal to {max}.',\n requiredtrue: 'Please check this field.',\n mindate: 'Please enter a date on or after {mindate}.',\n maxdate: 'Please enter a date on or before {maxdate}.',\n invaliddate: 'Please enter a valid date.',\n },\n fr: {\n required: \"Veuillez remplir ce champ s'il vous plaît.\",\n minlength: 'Veuillez entrer au moins {requiredLength} caractères.',\n maxlength: 'Veuillez entrer au maximum {requiredLength} caractères.',\n pattern: 'Veuillez entrer une valeur qui correspond au format : {pattern}.',\n email: 'Veuillez entrer une adresse email valide.',\n min: 'Veuillez entrer une valeur supérieure ou égale à {min}.',\n max: 'Veuillez entrer une valeur inférieure ou égale à {max}.',\n requiredtrue: \"Veuillez cocher cette case s'il vous plaît.\",\n mindate: 'Veuillez entrer une date le {mindate} ou après.',\n maxdate: 'Veuillez entrer une date le {maxdate} ou avant.',\n invaliddate: 'Veuillez entrer une date valide.',\n },\n de: {\n required: 'Bitte füllen Sie dieses Feld aus.',\n minlength: 'Bitte geben Sie mindestens {requiredLength} Zeichen ein.',\n maxlength: 'Bitte geben Sie höchstens {requiredLength} Zeichen ein.',\n pattern: 'Bitte geben Sie einen Wert ein, der dem Muster entspricht: {pattern}.',\n email: 'Bitte geben Sie eine gültige E-Mail-Adresse ein.',\n min: 'Bitte geben Sie einen Wert größer oder gleich {min} ein.',\n max: 'Bitte geben Sie einen Wert kleiner oder gleich {max} ein.',\n requiredtrue: 'Bitte aktivieren Sie dieses Feld.',\n mindate: 'Bitte geben Sie ein Datum am oder nach dem {mindate} ein.',\n maxdate: 'Bitte geben Sie ein Datum am oder vor dem {maxdate} ein.',\n invaliddate: 'Bitte geben Sie ein gültiges Datum ein.',\n },\n it: {\n required: 'Si prega di compilare questo campo.',\n minlength: 'Si prega di inserire almeno {requiredLength} caratteri.',\n maxlength: 'Si prega di inserire al massimo {requiredLength} caratteri.',\n pattern: 'Si prega di inserire un valore che corrisponde al formato: {pattern}.',\n email: 'Si prega di inserire un indirizzo email valido.',\n min: 'Si prega di inserire un valore maggiore o uguale a {min}.',\n max: 'Si prega di inserire un valore minore o uguale a {max}.',\n requiredtrue: 'Si prega di spuntare questo campo.',\n mindate: 'Si prega di inserire una data il {mindate} o successiva.',\n maxdate: 'Si prega di inserire una data il {maxdate} o precedente.',\n invaliddate: 'Inserisci una data valida.',\n },\n\n es: {\n required: 'Por favor, rellene este campo.',\n minlength: 'Por favor, introduzca al menos {requiredLength} caracteres.',\n maxlength: 'Por favor, introduzca no más de {requiredLength} caracteres.',\n pattern: 'Por favor, introduzca un valor que coincida con el patrón: {pattern}.',\n email: 'Por favor, introduzca una dirección de correo electrónico válida.',\n min: 'Por favor, introduzca un valor mayor o igual a {min}.',\n max: 'Por favor, introduzca un valor menor o igual a {max}.',\n requiredtrue: 'Por favor, marque este campo.',\n mindate: 'Por favor, introduzca una fecha igual o posterior a {mindate}.',\n maxdate: 'Por favor, introduzca una fecha igual o anterior a {maxdate}.',\n invaliddate: 'Por favor, introduzca una fecha válida.',\n },\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-listeners.js","sourceRoot":"","sources":["../../src/utils/event-listeners.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,cAAc;IAA3B;QACE,mBAAc,GAAoB,EAAE,CAAC;QAErC,QAAG,GAAG,CACJ,EAAK,EACL,IAAY,EACZ,QAA4C,EAC5C,aAAwC,IAAI,EAC5C,EAAE;YACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YAC7D,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,WAAM,GAAG,CAAgC,EAAK,EAAE,IAAY,EAAE,QAA4C,EAAE,EAAE;YAC5G,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAClD,CAAC,aAA4B,EAAE,EAAE,CAC/B,aAAa,CAAC,QAAQ,IAAI,QAAQ,IAAI,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,aAAa,CAAC,IAAI,KAAK,IAAI,CAC/F,CAAC;QACJ,CAAC,CAAC;QAEF,uBAAkB,GAAG,CAAC,UAAkB,EAAE,EAAE;YAC1C,MAAM,QAAQ,GAAG,CAAC,EAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,KAAK,UAAU,CAAC;YACrE,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;YACvE,IAAI,CAAC,aAAa,EAAE;
|
|
1
|
+
{"version":3,"file":"event-listeners.js","sourceRoot":"","sources":["../../src/utils/event-listeners.ts"],"names":[],"mappings":"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","sourcesContent":["interface EventListener {\n el: GlobalEventHandlers;\n name: string;\n listener: EventListenerOrEventListenerObject;\n identifier?: string | null;\n}\n\nexport class EventListeners {\n eventListeners: EventListener[] = [];\n\n add = <T extends GlobalEventHandlers>(\n el: T,\n name: string,\n listener: EventListenerOrEventListenerObject,\n identifier: string | null | undefined = null\n ) => {\n this.eventListeners.push({ el, name, listener, identifier });\n el.addEventListener(name, listener);\n };\n\n remove = <T extends GlobalEventHandlers>(el: T, name: string, listener: EventListenerOrEventListenerObject) => {\n this.eventListeners = this.getFilteredEventListeners(\n (eventListener: EventListener) =>\n eventListener.listener == listener && eventListener.el === el && eventListener.name === name\n );\n };\n\n removeByIdentifier = (identifier: string) => {\n const sameItem = (el: EventListener) => el.identifier === identifier;\n const foundListener = this.eventListeners.find(sameItem) !== undefined;\n if (!foundListener) {\n return;\n }\n this.eventListeners = this.getFilteredEventListeners(sameItem);\n };\n\n private getFilteredEventListeners(sameItem: (el: EventListener) => boolean) {\n return this.eventListeners.filter((item) => {\n if (sameItem(item)) {\n item.el.removeEventListener(item.name, item.listener);\n return false;\n } else {\n return true;\n }\n });\n }\n\n removeAll = () => {\n while (this.eventListeners.length > 0) {\n const eventListener: EventListener | undefined = this.eventListeners.pop();\n if (eventListener != null) {\n eventListener.el.removeEventListener(eventListener.name, eventListener.listener);\n }\n }\n };\n\n forward(from: string, to: 'input' | 'change' | 'blur' | 'focus', host: HTMLElement) {\n switch (to) {\n case 'input':\n this.add(host, from, () => host.dispatchEvent(new InputEvent(to, { bubbles: true, cancelable: true })));\n break;\n case 'change':\n this.add(host, from, () => host.dispatchEvent(new InputEvent(to, { bubbles: true, cancelable: true })));\n break;\n case 'blur':\n this.add(host, from, () => host.dispatchEvent(new FocusEvent(to, { bubbles: true, cancelable: true })));\n break;\n case 'focus':\n this.add(host, from, () => host.dispatchEvent(new FocusEvent(to, { bubbles: true, cancelable: true })));\n break;\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-visible.js","sourceRoot":"","sources":["../../src/utils/focus-visible.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,uHAAuH;AACvH,0FAA0F;AAC1F,EAAE;AACF,mHAAmH;AACnH,EAAE;AACF,MAAM,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;AAEhC,MAAM,UAAU,OAAO,CAAC,EAAe;IACrC,IAAI,EAAE,IAAI,IAAI;QAAE,OAAO;IAEvB,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7G,MAAM,EAAE,GAAG,CAAC,KAAoB,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"focus-visible.js","sourceRoot":"","sources":["../../src/utils/focus-visible.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,uHAAuH;AACvH,0FAA0F;AAC1F,EAAE;AACF,mHAAmH;AACnH,EAAE;AACF,MAAM,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;AAEhC,MAAM,UAAU,OAAO,CAAC,EAAe;IACrC,IAAI,EAAE,IAAI,IAAI;QAAE,OAAO;IAEvB,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7G,MAAM,EAAE,GAAG,CAAC,KAAoB,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACzD,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACnC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjC,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACxC,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAe;IACvC,IAAI,EAAE,IAAI,IAAI;QAAE,OAAO;IAEvB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEnC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAE/B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACrC,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACtC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC3C,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO;IACP,SAAS;CACV,CAAC","sourcesContent":["//\n// Simulates :focus-visible behavior on an element by watching for certain keyboard and mouse heuristics and toggling a\n// `focus-visible` class. Works at the component level so no global polyfill is necessary.\n//\n// This will eventually be removed pending better :focus-visible support: https://caniuse.com/#search=focus-visible\n//\nconst listeners = new WeakMap();\n\nexport function observe(el: HTMLElement) {\n if (el == null) return;\n\n const keys = ['Tab', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'PageDown', 'PageUp'];\n const is = (event: KeyboardEvent) => {\n if (keys.includes(event.key)) {\n el.classList.add('focus-visible');\n }\n };\n const isNot = () => el.classList.remove('focus-visible');\n listeners.set(el, { is, isNot });\n\n el.addEventListener('keydown', is);\n el.addEventListener('keyup', is);\n el.addEventListener('mousedown', isNot);\n el.addEventListener('mousedown', isNot);\n}\n\nexport function unobserve(el: HTMLElement) {\n if (el == null) return;\n\n const listener = listeners.get(el);\n\n if (!listener) {\n return;\n }\n\n const { is, isNot } = listener;\n\n el.classList.remove('focus-visible');\n el.removeEventListener('keydown', is);\n el.removeEventListener('keyup', is);\n el.removeEventListener('mousedown', isNot);\n el.removeEventListener('mousedown', isNot);\n}\n\nexport const focusVisible = {\n observe,\n unobserve,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/utils/form.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,OAAoB;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,IAAI,IAAI,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/utils/form.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,OAAoB;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,iFAAiF;QACjF,+EAA+E;QAC/E,yDAAyD;QACzD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpD,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC3B,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7B,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,UAAU,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;AACH,CAAC","sourcesContent":["export function submitForm(element: HTMLElement) {\n const form = element.closest('form');\n if (form != null) {\n // Calling form.submit() would bypass the submit event and constraint validation.\n // To prevent this, we inject a native submit button into the form, \"click\" it,\n // then remove it to simulate a standard form submission.\n const fakeButton = document.createElement('button');\n fakeButton.type = 'submit';\n fakeButton.style.display = 'none';\n form.appendChild(fakeButton);\n fakeButton.click();\n fakeButton.remove();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/utils/modal.ts"],"names":[],"mappings":"AAIA,IAAI,YAAY,GAAkB,EAAE,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,KAAK;IAIxB,YAAY,OAAoB,EAAE,OAAsB;QACtD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ;QACN,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU;QACR,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;QACtE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED,QAAQ;QACN,yDAAyD;QACzD,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC;IAChE,CAAC;IAED,aAAa,CAAC,KAAY;;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAEnD,0EAA0E;QAC1E,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,OAAO,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAA,KAAK,UAAU,EAAE;
|
|
1
|
+
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/utils/modal.ts"],"names":[],"mappings":"AAIA,IAAI,YAAY,GAAkB,EAAE,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,KAAK;IAIxB,YAAY,OAAoB,EAAE,OAAsB;QACtD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ;QACN,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU;QACR,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;QACtE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED,QAAQ;QACN,yDAAyD;QACzD,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC;IAChE,CAAC;IAED,aAAa,CAAC,KAAY;;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAEnD,0EAA0E;QAC1E,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,OAAO,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAA,KAAK,UAAU,EAAE,CAAC;YAClH,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;CACF","sourcesContent":["interface ModalOptions {\n onFocusOut?: (event: Event) => void;\n}\n\nlet activeModals: HTMLElement[] = [];\n\nexport default class Modal {\n element: HTMLElement;\n options?: ModalOptions;\n\n constructor(element: HTMLElement, options?: ModalOptions) {\n this.element = element;\n this.options = options;\n this.handleFocusIn = this.handleFocusIn.bind(this);\n }\n\n activate() {\n activeModals.push(this.element);\n document.addEventListener('focusin', this.handleFocusIn);\n }\n\n deactivate() {\n activeModals = activeModals.filter((modal) => modal !== this.element);\n document.removeEventListener('focusin', this.handleFocusIn);\n }\n\n isActive() {\n // The \"active\" modal is always the most recent one shown\n return activeModals[activeModals.length - 1] === this.element;\n }\n\n handleFocusIn(event: Event) {\n const target = event.target as HTMLElement;\n const tagName = this.element.tagName.toLowerCase();\n\n // If focus is lost while the modal is active, run the onFocusOut callback\n if (this.isActive() && target.closest(tagName) !== this.element && typeof this.options?.onFocusOut === 'function') {\n this.options?.onFocusOut(event);\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.js","sourceRoot":"","sources":["../../src/utils/popover.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,wGAAwG;AACxG,EAAE;AACF,wBAAwB;AACxB,EAAE;AACF,QAAQ;AACR,EAAE;AACF,qHAAqH;AACrH,wHAAwH;AACxH,EAAE;AACF,wHAAwH;AACxH,+BAA+B;AAC/B,EAAE;AACF,mHAAmH;AACnH,+EAA+E;AAC/E,EAAE;AACF,OAAO,EAAE,YAAY,EAAY,MAAM,gBAAgB,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,OAAO;IAO1B,YAAY,MAAmB,EAAE,OAAoB,EAAE,OAAwB;QAC7E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAC1B;YACE,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,UAAU;YACpB,iBAAiB,EAAE,IAAI,CAAC,OAAO;YAC/B,YAAY,EAAE,iBAAiB;YAC/B,WAAW,EAAE,GAAG,EAAE,CAAC,OAAa;YAChC,WAAW,EAAE,GAAG,EAAE,CAAC,OAAa;YAChC,eAAe,EAAE,GAAG,EAAE,CAAC,OAAa;SACrC,EACD,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"popover.js","sourceRoot":"","sources":["../../src/utils/popover.ts"],"names":[],"mappings":"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","sourcesContent":["//\n// A positioning utility for popovers that handles show/hide/transitionEnd events with simple callbacks.\n//\n// Powered by Popper.js.\n//\n// NOTE:\n//\n// - The popover MUST have at least one property that transitions, otherwise transitionEnd won't fire and the popover\n// won't be hidden. If transitions are delegated to a child element, set the `transitionElement` property accordingly.\n//\n// - When the popover is shown, it's assigned `PopoverOptions.visibleClass`. You can use this class to provide different\n// transitions for show/hide.\n//\n// - Popper uses `translate3d` to position elements, so adding a transition to the `transform` property may have an\n// undesired effect when the element is shown and when its placement changes.\n//\nimport { createPopper, Instance } from '@popperjs/core';\n\nexport default class Popover {\n anchor: HTMLElement;\n isVisible: boolean;\n popover: HTMLElement;\n popper?: Instance;\n options: PopoverOptions;\n\n constructor(anchor: HTMLElement, popover: HTMLElement, options?: PopoverOptions) {\n this.handleTransitionEnd = this.handleTransitionEnd.bind(this);\n\n this.anchor = anchor;\n this.popover = popover;\n this.options = Object.assign(\n {\n skidding: 0,\n distance: 0,\n placement: 'bottom-start',\n strategy: 'absolute',\n transitionElement: this.popover,\n visibleClass: 'popover-visible',\n onAfterShow: () => Promise<void>,\n onAfterHide: () => Promise<void>,\n onTransitionEnd: () => Promise<void>,\n },\n options\n );\n\n this.isVisible = false;\n this.popover.hidden = true;\n if (this.options.visibleClass != null) {\n this.popover.classList.remove(this.options.visibleClass);\n }\n\n this.popover.addEventListener('transitionend', this.handleTransitionEnd);\n }\n\n private handleTransitionEnd(event: TransitionEvent) {\n const target = event.target as HTMLElement;\n\n // Make sure the transition event originates from from the correct element, and not one that has bubbled up\n if (target === this.options.transitionElement) {\n // This is called before the element is hidden so users can do things like reset scroll. It will fire once for\n // every transition property. Use `event.propertyName` to determine which property has finished transitioning.\n this.options.onTransitionEnd?.call(this, event);\n\n // Make sure we only do this once, since transitionend will fire for every transition\n if (!this.isVisible && !this.popover.hidden) {\n this.popover.hidden = true;\n if (this.options.visibleClass != null) {\n this.popover.classList.remove(this.options.visibleClass);\n }\n this.options.onAfterHide?.call(this);\n }\n }\n }\n\n destroy() {\n this.popover.removeEventListener('transitionend', this.handleTransitionEnd);\n\n if (this.popper) {\n this.popper.destroy();\n this.popper = undefined;\n }\n }\n\n show() {\n this.isVisible = true;\n this.popover.hidden = false;\n this.popover.clientWidth; // force reflow\n requestAnimationFrame(() => {\n if (this.options.visibleClass != null) {\n this.popover.classList.add(this.options.visibleClass);\n }\n });\n\n if (this.popper) {\n this.popper.destroy();\n }\n\n this.popper = createPopper(this.anchor, this.popover, {\n placement: this.options.placement,\n strategy: this.options.strategy,\n modifiers: [\n {\n name: 'flip',\n options: {\n boundary: 'viewport',\n },\n },\n {\n name: 'offset',\n options: {\n offset: [this.options.skidding, this.options.distance],\n },\n },\n ],\n });\n\n this.popover.addEventListener('transitionend', () => this.options.onAfterShow?.call(this), { once: true });\n\n // Reposition the menu after it appears in case a modifier kicked in\n requestAnimationFrame(() => this.popper?.update());\n }\n\n reposition() {\n this.popper?.update();\n }\n\n hide() {\n // Apply the hidden styles and wait for the transition before hiding completely\n this.isVisible = false;\n if (this.options.visibleClass != null) {\n this.popover.classList.remove(this.options.visibleClass);\n }\n }\n\n setOptions(options: PopoverOptions) {\n this.options = Object.assign(this.options, options);\n if (this.options.visibleClass != null) {\n this.isVisible\n ? this.popover.classList.add(this.options.visibleClass)\n : this.popover.classList.remove(this.options.visibleClass);\n }\n\n // Update popper options\n if (this.popper != null) {\n void this.popper.setOptions({\n placement: this.options.placement,\n strategy: this.options.strategy,\n });\n\n requestAnimationFrame(() => this.popper?.update());\n }\n }\n}\n\ninterface PopoverOptions {\n distance?: number;\n placement?:\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n skidding?: number;\n strategy?: 'absolute' | 'fixed';\n transitionElement?: HTMLElement;\n visibleClass?: string;\n onAfterShow?: () => void;\n onAfterHide?: () => void;\n onTransitionEnd?: (event: TransitionEvent) => void;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popup.js","sourceRoot":"","sources":["../../src/utils/popup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,KAA8B,EAC9B,YAAqC,EACrC,OAAgC,EAChC,cAAsB,EACtB,wBAAiD;IAEjD,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"popup.js","sourceRoot":"","sources":["../../src/utils/popup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\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 */\nexport function adjustPopupForHoisting(\n hoist: boolean,\n popup: HTMLElement | undefined,\n inputElement: HTMLElement | undefined,\n wrapper: HTMLElement | undefined,\n minPopupHeight: number,\n dropdownDirectionChanged: (isUp: boolean) => void\n) {\n if (!hoist || popup == null || inputElement == null || wrapper == null) {\n return;\n }\n // take a snapshot of normally rendered popup\n const popupDimensions = setPopupAsFixPosition(popup);\n const inputDimensions = inputElement.getBoundingClientRect();\n const inputTop = inputDimensions.top;\n const popupTop = popupDimensions.top;\n\n const isUp = calcIsDropDownContentUp(inputElement, wrapper, minPopupHeight);\n // check screen position to check whether the popup should be moved above or below the trigger element\n if (isUp && inputTop < popupTop) {\n // move popup above input field if datepicker is at bottom of screen\n popup.style.top = `${popupTop - popupDimensions.height - inputDimensions.height}px`;\n }\n dropdownDirectionChanged(isUp);\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 */\nexport function adjustPopupForSmallScreens(popup?: HTMLElement) {\n // execute after dropdown has been rendered to make sure the popup reference is correctly set\n setTimeout(() => {\n if (popup == null) {\n return;\n }\n const popupDimensions = popup.getBoundingClientRect();\n if (\n popupDimensions.y < 0 &&\n window.innerHeight - popupDimensions.height > 0 &&\n Math.abs(popupDimensions.y) <= popupDimensions.height\n ) {\n // handle case where popup is cut-off on top but there is still space available\n setPopupAsFixPosition(popup);\n popup.style.top = '0px';\n } else if (\n window.innerHeight < popupDimensions.y + popupDimensions.height &&\n window.innerHeight > popupDimensions.height &&\n Math.abs(popupDimensions.y - window.innerHeight) <= popupDimensions.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(popup);\n popup.style.top = `${window.innerHeight - popupDimensions.height}px`;\n }\n\n if (\n window.innerWidth < popupDimensions.x + popupDimensions.width &&\n window.innerWidth > popupDimensions.width &&\n Math.abs(popupDimensions.x - window.innerWidth) <= popupDimensions.width\n ) {\n // handle case where popup is cut-off to the right\n setPopupAsFixPosition(popup);\n popup.style.left = `${window.innerWidth - popupDimensions.width}px`;\n }\n }, 0);\n}\n\nexport function calcIsDropDownContentUp(\n inputElement: HTMLElement,\n wrapper: HTMLElement,\n minPopupHeight: number\n): boolean {\n const inputBoundingRect = inputElement.getBoundingClientRect();\n const wrapperBoundingRect = wrapper.getBoundingClientRect();\n const popupHeight = Math.max(wrapperBoundingRect.height, minPopupHeight);\n const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;\n return moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + popupHeight;\n}\n\nexport function setPopupAsFixPosition(popup: HTMLElement): DOMRect {\n const popupDimensions = popup.getBoundingClientRect();\n popup.style.position = 'fixed';\n popup.style.top = popupDimensions['top'] + 'px';\n popup.style.left = popupDimensions['left'] + 'px';\n popup.style.width = popupDimensions['width'] + 'px';\n popup.style.minHeight = 'fit-content';\n return popupDimensions;\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 */\nexport function movePopup(\n hoist: boolean,\n open: boolean,\n popup: HTMLElement | undefined,\n inputElement: HTMLElement | undefined,\n wrapper: HTMLElement | undefined,\n minPopupHeight: number\n) {\n if (!hoist || !open || popup == null || inputElement == null || wrapper == null) {\n return;\n }\n const popupBoundingClientRect = popup.getBoundingClientRect();\n const popupHeight = popupBoundingClientRect.height;\n const inputBoundingClientRect = inputElement.getBoundingClientRect();\n const inputTop = inputBoundingClientRect.top;\n const inputHeight = inputBoundingClientRect.height;\n\n const isUp = calcIsDropDownContentUp(inputElement, wrapper, minPopupHeight);\n\n if (isUp) {\n popup.style.top = `${inputTop - popupHeight}px`;\n } else {\n popup.style.top = `${inputTop + inputHeight}px`;\n }\n}\n"]}
|