@postnord/pn-marketweb-components 3.5.2 → 3.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/alert_exclamation_circle-24f29a5b.js +8 -0
- package/cjs/alert_exclamation_circle-24f29a5b.js.map +1 -0
- package/cjs/loader.cjs.js +1 -1
- package/cjs/pn-address-autofill.cjs.entry.js +47 -72
- package/cjs/pn-address-autofill.cjs.entry.js.map +1 -1
- package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js +18 -6
- package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js.map +1 -1
- package/cjs/pn-market-web-components.cjs.js +1 -1
- package/cjs/pn-marketweb-input.cjs.entry.js +2 -4
- package/cjs/pn-marketweb-input.cjs.entry.js.map +1 -1
- package/collection/components/input/pn-address-autofill/pn-address-autofill.css +6 -1
- package/collection/components/input/pn-address-autofill/pn-address-autofill.js +58 -68
- package/collection/components/input/pn-address-autofill/pn-address-autofill.js.map +1 -1
- package/collection/components/input/pn-address-autofill/pn-address-autofill.stories.js +2 -1
- package/collection/components/input/pn-address-autofill/translations.js +6 -3
- package/collection/components/input/pn-address-autofill/translations.js.map +1 -1
- package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js +18 -6
- package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js.map +1 -1
- package/components/alert_exclamation_circle.js +6 -0
- package/components/alert_exclamation_circle.js.map +1 -0
- package/components/pn-address-autofill.js +48 -72
- package/components/pn-address-autofill.js.map +1 -1
- package/components/pn-dropdown-choice-adds-row.js +18 -6
- package/components/pn-dropdown-choice-adds-row.js.map +1 -1
- package/components/pn-marketweb-input2.js +1 -3
- package/components/pn-marketweb-input2.js.map +1 -1
- package/esm/alert_exclamation_circle-f0fe7c7b.js +6 -0
- package/esm/alert_exclamation_circle-f0fe7c7b.js.map +1 -0
- package/esm/loader.js +1 -1
- package/esm/pn-address-autofill.entry.js +47 -72
- package/esm/pn-address-autofill.entry.js.map +1 -1
- package/esm/pn-dropdown-choice-adds-row.entry.js +18 -6
- package/esm/pn-dropdown-choice-adds-row.entry.js.map +1 -1
- package/esm/pn-market-web-components.js +1 -1
- package/esm/pn-marketweb-input.entry.js +1 -3
- package/esm/pn-marketweb-input.entry.js.map +1 -1
- package/package.json +1 -1
- package/pn-market-web-components/p-0ac30ee9.entry.js +2 -0
- package/pn-market-web-components/p-0ac30ee9.entry.js.map +1 -0
- package/pn-market-web-components/p-15d70aaf.entry.js +2 -0
- package/pn-market-web-components/p-15d70aaf.entry.js.map +1 -0
- package/pn-market-web-components/p-76c2c01f.js +2 -0
- package/pn-market-web-components/p-76c2c01f.js.map +1 -0
- package/pn-market-web-components/p-a11fdf9f.entry.js +2 -0
- package/pn-market-web-components/p-a11fdf9f.entry.js.map +1 -0
- package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/pn-market-web-components/pn-market-web-components.esm.js.map +1 -1
- package/types/components/input/pn-address-autofill/pn-address-autofill.d.ts +2 -3
- package/types/components/input/pn-address-autofill/translations.d.ts +3 -0
- package/types/components.d.ts +2 -0
- package/umd/modules/@postnord/web-components/cjs/{angle_down-0b63ebde.js → chevron_down-83e72319.js} +3 -3
- package/umd/modules/@postnord/web-components/cjs/chevron_down-83e72319.js.map +1 -0
- package/umd/modules/@postnord/web-components/cjs/{angle_right-c8c55b43.js → chevron_right-aeb6aef3.js} +5 -5
- package/umd/modules/@postnord/web-components/cjs/chevron_right-aeb6aef3.js.map +1 -0
- package/umd/modules/@postnord/web-components/cjs/loader.cjs.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-accordion-row.cjs.entry.js +2 -2
- package/umd/modules/@postnord/web-components/cjs/pn-accordion-row.cjs.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-action-menu.cjs.entry.js +42 -12
- package/umd/modules/@postnord/web-components/cjs/pn-action-menu.cjs.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-button_2.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-card.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-checkbox.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-choice-chip.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-counter.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-date-picker.cjs.entry.js +22 -6
- package/umd/modules/@postnord/web-components/cjs/pn-date-picker.cjs.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-fieldset.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-file-upload.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-footer.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-header.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-input.cjs.entry.js +2 -2
- package/umd/modules/@postnord/web-components/cjs/pn-modal.cjs.entry.js +21 -7
- package/umd/modules/@postnord/web-components/cjs/pn-modal.cjs.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-multiselect.cjs.entry.js +2 -2
- package/umd/modules/@postnord/web-components/cjs/pn-multiselect.cjs.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-ocr-search.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-page-nav-dropdown-item.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-page-nav-item.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-page-nav.cjs.entry.js +2 -2
- package/umd/modules/@postnord/web-components/cjs/pn-page-nav.cjs.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-pagination.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-progress-bar.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-progress-indicator-step.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-progress-indicator-step.cjs.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-progress-indicator.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-progress-indicator.cjs.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-progress-stepper.cjs.entry.js +26 -41
- package/umd/modules/@postnord/web-components/cjs/pn-progress-stepper.cjs.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-radio-button.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-search-field.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-segment.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-segmented-control.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-select.cjs.entry.js +2 -2
- package/umd/modules/@postnord/web-components/cjs/pn-select.cjs.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-tab.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-tablist.cjs.entry.js +2 -2
- package/umd/modules/@postnord/web-components/cjs/pn-tablist.cjs.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-text-link.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-textarea.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-tile.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-toast.cjs.entry.js +25 -16
- package/umd/modules/@postnord/web-components/cjs/pn-toast.cjs.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-toggle-switch.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-tooltip.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/pn-zipcode-search.cjs.entry.js +1 -1
- package/umd/modules/@postnord/web-components/cjs/postnord-web-components.cjs.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/buttons/pn-action-menu/pn-action-menu.js +41 -11
- package/umd/modules/@postnord/web-components/collection/components/buttons/pn-action-menu/pn-action-menu.js.map +1 -1
- package/umd/modules/@postnord/web-components/collection/components/content/pn-accordion/row/pn-accordion-row.js +2 -2
- package/umd/modules/@postnord/web-components/collection/components/content/pn-accordion/row/pn-accordion-row.js.map +1 -1
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-modal/pn-modal.css +92 -40
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-modal/pn-modal.js +35 -9
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-modal/pn-modal.js.map +1 -1
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-bar/pn-progress-bar.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-indicator/pn-progress-indicator-step/pn-progress-indicator-step.js +5 -1
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-indicator/pn-progress-indicator-step/pn-progress-indicator-step.js.map +1 -1
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-indicator/pn-progress-indicator.js +5 -1
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-indicator/pn-progress-indicator.js.map +1 -1
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-stepper/pn-progress-stepper.css +85 -9
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-stepper/pn-progress-stepper.js +100 -97
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-progress-stepper/pn-progress-stepper.js.map +1 -1
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-spinner/pn-spinner.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-toast/pn-toast.css +0 -1
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-toast/pn-toast.js +24 -15
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-toast/pn-toast.js.map +1 -1
- package/umd/modules/@postnord/web-components/collection/components/feedback/pn-tooltip/pn-tooltip.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-checkbox/pn-checkbox.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-choice-chip/pn-choice-chip.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-counter/pn-counter.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-date-picker/pn-date-picker.css +2 -3
- package/umd/modules/@postnord/web-components/collection/components/input/pn-date-picker/pn-date-picker.js +22 -6
- package/umd/modules/@postnord/web-components/collection/components/input/pn-date-picker/pn-date-picker.js.map +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-fieldset/pn-fieldset.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-file-upload/pn-file-upload.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-input/pn-input.js +2 -2
- package/umd/modules/@postnord/web-components/collection/components/input/pn-multiselect/pn-multiselect.js +2 -2
- package/umd/modules/@postnord/web-components/collection/components/input/pn-multiselect/pn-multiselect.js.map +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-radio-button/pn-radio-button.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-search-field/pn-search-field.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-segmented-control/pn-segmented-control.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-segmented-control/segment/pn-segment.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-select/pn-select.js +2 -2
- package/umd/modules/@postnord/web-components/collection/components/input/pn-select/pn-select.js.map +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-textarea/pn-textarea.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/input/pn-toggle-switch/pn-toggle-switch.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/layout/pn-header/pn-header.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-card/pn-card.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-footer/pn-footer.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-page-nav/dropdown-item/pn-page-nav-dropdown-item.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-page-nav/item/pn-page-nav-item.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-page-nav/menu/pn-page-nav.js +2 -2
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-page-nav/menu/pn-page-nav.js.map +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-pagination/pn-pagination.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-tablist/pn-tablist.js +2 -2
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-tablist/pn-tablist.js.map +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-tablist/tab/pn-tab.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-text-link/pn-text-link.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/navigation/pn-tile/pn-tile.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/web-components/pn-ocr-search/pn-ocr-search.js +1 -1
- package/umd/modules/@postnord/web-components/collection/components/web-components/pn-zipcode-search/pn-zipcode-search.js +1 -1
- package/umd/modules/@postnord/web-components/collection/globals/types.js.map +1 -1
- package/umd/modules/@postnord/web-components/components/{angle_down.js → chevron_down.js} +3 -3
- package/umd/modules/@postnord/web-components/components/chevron_down.js.map +1 -0
- package/umd/modules/@postnord/web-components/{esm/angle_right-b52095c9.js → components/chevron_right.js} +4 -4
- package/umd/modules/@postnord/web-components/components/chevron_right.js.map +1 -0
- package/umd/modules/@postnord/web-components/components/pn-accordion-row.js +2 -2
- package/umd/modules/@postnord/web-components/components/pn-accordion-row.js.map +1 -1
- package/umd/modules/@postnord/web-components/components/pn-action-menu.js +42 -12
- package/umd/modules/@postnord/web-components/components/pn-action-menu.js.map +1 -1
- package/umd/modules/@postnord/web-components/components/pn-card.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-checkbox.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-choice-chip.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-counter.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-date-picker.js +23 -7
- package/umd/modules/@postnord/web-components/components/pn-date-picker.js.map +1 -1
- package/umd/modules/@postnord/web-components/components/pn-fieldset.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-file-upload.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-footer.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-header.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-input.js +2 -2
- package/umd/modules/@postnord/web-components/components/pn-modal.js +25 -10
- package/umd/modules/@postnord/web-components/components/pn-modal.js.map +1 -1
- package/umd/modules/@postnord/web-components/components/pn-multiselect.js +2 -2
- package/umd/modules/@postnord/web-components/components/pn-multiselect.js.map +1 -1
- package/umd/modules/@postnord/web-components/components/pn-ocr-search.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-page-nav-dropdown-item.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-page-nav-item.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-page-nav.js +2 -2
- package/umd/modules/@postnord/web-components/components/pn-page-nav.js.map +1 -1
- package/umd/modules/@postnord/web-components/components/pn-pagination.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-progress-bar2.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-progress-indicator-step.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-progress-indicator-step.js.map +1 -1
- package/umd/modules/@postnord/web-components/components/pn-progress-indicator.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-progress-indicator.js.map +1 -1
- package/umd/modules/@postnord/web-components/components/pn-progress-stepper.js +34 -48
- package/umd/modules/@postnord/web-components/components/pn-progress-stepper.js.map +1 -1
- package/umd/modules/@postnord/web-components/components/pn-radio-button.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-search-field2.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-segment.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-segmented-control.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-select2.js +2 -2
- package/umd/modules/@postnord/web-components/components/pn-select2.js.map +1 -1
- package/umd/modules/@postnord/web-components/components/pn-spinner2.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-tab.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-tablist.js +2 -2
- package/umd/modules/@postnord/web-components/components/pn-tablist.js.map +1 -1
- package/umd/modules/@postnord/web-components/components/pn-text-link2.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-textarea.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-tile.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-toast.js +25 -16
- package/umd/modules/@postnord/web-components/components/pn-toast.js.map +1 -1
- package/umd/modules/@postnord/web-components/components/pn-toggle-switch.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-tooltip.js +1 -1
- package/umd/modules/@postnord/web-components/components/pn-zipcode-search.js +1 -1
- package/umd/modules/@postnord/web-components/esm/{angle_down-d788f691.js → chevron_down-6e3fb42f.js} +3 -3
- package/umd/modules/@postnord/web-components/esm/chevron_down-6e3fb42f.js.map +1 -0
- package/umd/modules/@postnord/web-components/{components/angle_right.js → esm/chevron_right-9d9305e8.js} +4 -4
- package/umd/modules/@postnord/web-components/esm/chevron_right-9d9305e8.js.map +1 -0
- package/umd/modules/@postnord/web-components/esm/loader.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-accordion-row.entry.js +2 -2
- package/umd/modules/@postnord/web-components/esm/pn-accordion-row.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-action-menu.entry.js +42 -12
- package/umd/modules/@postnord/web-components/esm/pn-action-menu.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-button_2.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-card.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-checkbox.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-choice-chip.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-counter.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-date-picker.entry.js +23 -7
- package/umd/modules/@postnord/web-components/esm/pn-date-picker.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-fieldset.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-file-upload.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-footer.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-header.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-input.entry.js +2 -2
- package/umd/modules/@postnord/web-components/esm/pn-modal.entry.js +22 -8
- package/umd/modules/@postnord/web-components/esm/pn-modal.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-multiselect.entry.js +2 -2
- package/umd/modules/@postnord/web-components/esm/pn-multiselect.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-ocr-search.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-page-nav-dropdown-item.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-page-nav-item.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-page-nav.entry.js +2 -2
- package/umd/modules/@postnord/web-components/esm/pn-page-nav.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-pagination.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-progress-bar.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-progress-indicator-step.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-progress-indicator-step.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-progress-indicator.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-progress-indicator.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-progress-stepper.entry.js +26 -41
- package/umd/modules/@postnord/web-components/esm/pn-progress-stepper.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-radio-button.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-search-field.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-segment.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-segmented-control.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-select.entry.js +2 -2
- package/umd/modules/@postnord/web-components/esm/pn-select.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-tab.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-tablist.entry.js +2 -2
- package/umd/modules/@postnord/web-components/esm/pn-tablist.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-text-link.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-textarea.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-tile.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-toast.entry.js +25 -16
- package/umd/modules/@postnord/web-components/esm/pn-toast.entry.js.map +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-toggle-switch.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-tooltip.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/pn-zipcode-search.entry.js +1 -1
- package/umd/modules/@postnord/web-components/esm/postnord-web-components.js +1 -1
- package/umd/modules/@postnord/web-components/hydrate/index.js +204 -137
- package/umd/modules/@postnord/web-components/hydrate/index.mjs +204 -137
- package/umd/modules/@postnord/web-components/package.json +16 -14
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-7e88df1f.entry.js → p-01472170.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-ed4271af.entry.js → p-06c7e91b.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-06c7e91b.entry.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-8773152d.entry.js → p-10532427.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-ffe79fa4.entry.js → p-11ef58ab.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-16fb83d9.entry.js +6 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/p-16fb83d9.entry.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-d74ccbb2.entry.js → p-1cd57319.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-adc6404b.entry.js → p-1e7c31ed.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-1e7c31ed.entry.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-c2bbbcaa.entry.js → p-1fe6fc61.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-203ad7de.entry.js → p-23fdc4b6.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-23fdc4b6.entry.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/p-240f6613.entry.js +6 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-7ae9c053.entry.js.map → p-240f6613.entry.js.map} +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-4f67fffa.entry.js → p-28357e12.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-28357e12.entry.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-c96ff403.js → p-2f7bb5e8.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-2f7bb5e8.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-5b0000e9.entry.js → p-363f578a.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-c0d19737.entry.js → p-37297b9a.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-49a39ea1.entry.js +6 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/p-49a39ea1.entry.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-bc95d4b0.entry.js → p-49f5fdd2.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-49f5fdd2.entry.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-b556b835.entry.js → p-4d371963.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-ab29b9c0.entry.js → p-4eaab357.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-da713fc1.entry.js → p-5ed7e9b7.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-617a946d.entry.js +6 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/p-617a946d.entry.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-e087c5c5.entry.js → p-63aa3911.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-65ae6360.entry.js +6 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/p-65ae6360.entry.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-bf015c0f.entry.js → p-699b7bde.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-9bc1d14f.entry.js → p-6f9a21be.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-75c5fb41.entry.js +6 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/p-75c5fb41.entry.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-bd14cdca.entry.js → p-8e07bc17.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-7bd6d804.entry.js → p-8eaa2540.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-bf967b50.js → p-99600bc7.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-99600bc7.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-ff068744.entry.js → p-9cecd28d.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-605d99df.entry.js → p-a440734f.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-b9a494ae.entry.js → p-ab553e80.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-936ed2a1.entry.js → p-ae04e001.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-ae04e001.entry.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-a4df55c4.entry.js → p-b202a599.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/p-b83e6373.entry.js +6 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/p-b83e6373.entry.js.map +1 -0
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-fcd5028f.entry.js → p-bdb9bdc3.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-81f9f367.entry.js → p-cebe3a25.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-76b020f0.entry.js → p-d2f7b4a9.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-c45dc75d.entry.js → p-e8050420.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-412fc8d6.entry.js → p-eee2d131.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/{p-d3521b5d.entry.js → p-fb5d6d47.entry.js} +2 -2
- package/umd/modules/@postnord/web-components/postnord-web-components/postnord-web-components.esm.js +1 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/postnord-web-components.esm.js.map +1 -1
- package/umd/modules/@postnord/web-components/types/components/buttons/pn-action-menu/pn-action-menu.d.ts +3 -0
- package/umd/modules/@postnord/web-components/types/components/feedback/pn-modal/pn-modal.d.ts +12 -2
- package/umd/modules/@postnord/web-components/types/components/feedback/pn-progress-indicator/pn-progress-indicator-step/pn-progress-indicator-step.d.ts +4 -0
- package/umd/modules/@postnord/web-components/types/components/feedback/pn-progress-indicator/pn-progress-indicator.d.ts +4 -0
- package/umd/modules/@postnord/web-components/types/components/feedback/pn-progress-stepper/pn-progress-stepper.d.ts +27 -22
- package/umd/modules/@postnord/web-components/types/components/feedback/pn-toast/pn-toast.d.ts +2 -1
- package/umd/modules/@postnord/web-components/types/components.d.ts +60 -12
- package/umd/modules/@postnord/web-components/types/globals/types.d.ts +2 -1
- package/umd/modules/@postnord/web-components/vscode-data.json +7 -3
- package/vscode-data.json +4 -0
- package/pn-market-web-components/p-59cb7166.entry.js +0 -2
- package/pn-market-web-components/p-59cb7166.entry.js.map +0 -1
- package/pn-market-web-components/p-7c3091eb.entry.js +0 -2
- package/pn-market-web-components/p-7c3091eb.entry.js.map +0 -1
- package/pn-market-web-components/p-94a69959.entry.js +0 -2
- package/pn-market-web-components/p-94a69959.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/cjs/angle_down-0b63ebde.js.map +0 -1
- package/umd/modules/@postnord/web-components/cjs/angle_right-c8c55b43.js.map +0 -1
- package/umd/modules/@postnord/web-components/components/angle_down.js.map +0 -1
- package/umd/modules/@postnord/web-components/components/angle_right.js.map +0 -1
- package/umd/modules/@postnord/web-components/esm/angle_down-d788f691.js.map +0 -1
- package/umd/modules/@postnord/web-components/esm/angle_right-b52095c9.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-203ad7de.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-2615282e.entry.js +0 -6
- package/umd/modules/@postnord/web-components/postnord-web-components/p-2615282e.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-3bd59ac8.entry.js +0 -6
- package/umd/modules/@postnord/web-components/postnord-web-components/p-3bd59ac8.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-4f67fffa.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-514107a5.entry.js +0 -6
- package/umd/modules/@postnord/web-components/postnord-web-components/p-514107a5.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-6a30576b.entry.js +0 -6
- package/umd/modules/@postnord/web-components/postnord-web-components/p-6a30576b.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-7ae9c053.entry.js +0 -6
- package/umd/modules/@postnord/web-components/postnord-web-components/p-8bc8f614.entry.js +0 -6
- package/umd/modules/@postnord/web-components/postnord-web-components/p-8bc8f614.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-936ed2a1.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-adc6404b.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-bc95d4b0.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-bf967b50.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-c96ff403.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-ed4271af.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/postnord-web-components/p-fc5f9092.entry.js +0 -6
- package/umd/modules/@postnord/web-components/postnord-web-components/p-fc5f9092.entry.js.map +0 -1
- package/umd/modules/@postnord/web-components/readme.md +0 -32
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-7e88df1f.entry.js.map → p-01472170.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-8773152d.entry.js.map → p-10532427.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-ffe79fa4.entry.js.map → p-11ef58ab.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-d74ccbb2.entry.js.map → p-1cd57319.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-c2bbbcaa.entry.js.map → p-1fe6fc61.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-5b0000e9.entry.js.map → p-363f578a.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-c0d19737.entry.js.map → p-37297b9a.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-b556b835.entry.js.map → p-4d371963.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-ab29b9c0.entry.js.map → p-4eaab357.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-da713fc1.entry.js.map → p-5ed7e9b7.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-e087c5c5.entry.js.map → p-63aa3911.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-bf015c0f.entry.js.map → p-699b7bde.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-9bc1d14f.entry.js.map → p-6f9a21be.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-bd14cdca.entry.js.map → p-8e07bc17.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-7bd6d804.entry.js.map → p-8eaa2540.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-ff068744.entry.js.map → p-9cecd28d.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-605d99df.entry.js.map → p-a440734f.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-b9a494ae.entry.js.map → p-ab553e80.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-a4df55c4.entry.js.map → p-b202a599.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-fcd5028f.entry.js.map → p-bdb9bdc3.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-81f9f367.entry.js.map → p-cebe3a25.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-76b020f0.entry.js.map → p-d2f7b4a9.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-c45dc75d.entry.js.map → p-e8050420.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-412fc8d6.entry.js.map → p-eee2d131.entry.js.map} +0 -0
- /package/umd/modules/@postnord/web-components/postnord-web-components/{p-d3521b5d.entry.js.map → p-fb5d6d47.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"pn-date-picker.js","mappings":"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AS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CA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CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAA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AC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SA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AC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CA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","names":["icon","this","require$$0","PnDatePicker","en"],"sources":["node_modules/pn-design-assets/pn-assets/icons/calendar.js","node_modules/pn-design-assets/pn-assets/icons/pn_return.js","src/components/input/pn-date-picker/translations.ts","node_modules/dayjs/dayjs.min.js","node_modules/dayjs/plugin/weekOfYear.js","node_modules/dayjs/plugin/customParseFormat.js","node_modules/dayjs/plugin/isSameOrBefore.js","node_modules/dayjs/plugin/isSameOrAfter.js","node_modules/dayjs/plugin/toObject.js","node_modules/dayjs/locale/sv.js","node_modules/dayjs/locale/en.js","node_modules/dayjs/locale/da.js","node_modules/dayjs/locale/fi.js","node_modules/dayjs/locale/nb.js","src/globals/date/index.ts","src/components/input/pn-date-picker/pn-date-picker.scss?tag=pn-date-picker","src/components/input/pn-date-picker/pn-date-picker.tsx"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M9 3.5a1 1 0 0 1 1 1V5h4v-.5a1 1 0 1 1 2 0V5h2a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h2v-.5a1 1 0 0 1 1-1M8 7H6a1 1 0 0 0-1 1v1.5h14V8a1 1 0 0 0-1-1h-2v.5a1 1 0 1 1-2 0V7h-4v.5a1 1 0 0 1-2 0zm11 4.5H5V17a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z\" clip-rule=\"evenodd\"/></svg>';\nexport const calendar = icon;\n","const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M11.707 21.707a1 1 0 0 0 0-1.414L8.414 17H11.5a7.5 7.5 0 0 0 0-15H11a1 1 0 1 0 0 2h.5a5.5 5.5 0 1 1 0 11H8.414l3.293-3.293a1 1 0 0 0-1.414-1.414l-5 5a1 1 0 0 0 0 1.414l5 5a1 1 0 0 0 1.414 0M7 3a1 1 0 0 0 1 1h.01a1 1 0 0 0 0-2H8a1 1 0 0 0-1 1\" clip-rule=\"evenodd\"/></svg>';\nexport const pn_return = icon;\nexport const pnReturn = icon;\n","export const translations = {\n CALENDAR_NAVIGATION: {\n en: 'Calendar',\n sv: 'Kalender',\n da: 'Kalender',\n fi: 'Kalenteri',\n no: 'Kalender',\n },\n NEXT_YEAR: {\n en: 'Scroll forward',\n sv: 'Bläddra framåt',\n da: 'Rul frem',\n fi: 'Vieritä eteenpäin',\n no: 'Rull fremover',\n },\n PREVIOUS_YEAR: {\n en: 'Scroll backwards',\n sv: 'Bläddra bakåt',\n da: 'Rul baglæns',\n fi: 'Vieritä taaksepäin',\n no: 'Bla bakover',\n },\n NEXT_DATE: {\n en: 'Next month',\n sv: 'Nästa månad',\n da: 'Næste måned',\n fi: 'Ensi kuussa',\n no: 'Neste måned',\n },\n PREVIOUS_DATE: {\n en: 'Previous month',\n sv: 'Föregående månad',\n da: 'Forrige måned',\n fi: 'Edellinen kuukausi',\n no: 'Forrige måned',\n },\n SELECT_YEAR: {\n en: 'Choose year',\n sv: 'Välj år',\n da: 'Vælg år',\n fi: 'Valitse vuosi',\n no: 'Velg år',\n },\n SELECT_MONTH: {\n en: 'Choose month',\n sv: 'Välj månad',\n da: 'Vælg måned',\n fi: 'Valitse kuukausi',\n no: 'Velg måned',\n },\n SELECT_DATE: {\n en: 'Choose date',\n sv: 'Välj datum',\n da: 'Vælg dato',\n fi: 'Valitse päivämäärä',\n no: 'Velg dato',\n },\n SELECTED_DATE: {\n en: 'selected date is {date}.',\n sv: 'valt datum är {date}.',\n da: 'den valgte dato er {date}.',\n fi: 'valittu päivämäärä on {date}.',\n no: 'valgt dato er {date}.',\n },\n SELECTED_START_DATE: {\n en: 'selected start date is {date}.',\n sv: 'valt startdatum är {date}.',\n da: 'den valgte startdato er {date}.',\n fi: 'valittu aloituspäivä on {date}.',\n no: 'valgt startdato er {date}.',\n },\n SELECTED_END_DATE: {\n en: 'selected end date is {date}.',\n sv: 'valt slutdatum är {date}.',\n da: 'den valgte slutdato er {date}.',\n fi: 'valittu lopetuspäivä on {date}.',\n no: 'valgt sluttdato er {date}.',\n },\n WEEK_NAME: {\n en: 'Week',\n sv: 'Vecka',\n da: 'Uge',\n fi: 'Viikko',\n no: 'Uke',\n },\n GO_CALENDAR: {\n en: 'Calendar view',\n sv: 'Kalendervyn',\n da: 'Kalendervisning',\n fi: 'Kalenterinäkymä',\n no: 'Kalendervisning',\n },\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){\"use strict\";var e=\"week\",t=\"year\";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),\"day\");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d/,r=/\\d\\d/,i=/\\d\\d?/,o=/\\d*[^-_:/,()\\s\\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f<a;f+=1){var h=o[f],u=c[h],d=u&&u[0],l=u&&u[1];o[f]=l?{regex:d,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=o[n];if(\"string\"==typeof i)r+=i.length;else{var s=i.regex,f=i.parser,h=e.slice(r),u=s.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(a=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,o=e.args;this.$u=r;var a=o[1];if(\"string\"==typeof a){var f=!0===o[2],h=!0===o[3],u=f||h,d=o[2];h&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=function(e,t,n,r){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrBefore=i()}(this,(function(){\"use strict\";return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrAfter=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_toObject=e()}(this,(function(){\"use strict\";return function(t,e){e.prototype.toObject=function(){return{years:this.$y,months:this.$M,date:this.$D,hours:this.$H,minutes:this.$m,seconds:this.$s,milliseconds:this.$ms}}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_sv=t(e.dayjs)}(this,(function(e){\"use strict\";function t(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var a=t(e),d={name:\"sv\",weekdays:\"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag\".split(\"_\"),weekdaysShort:\"sön_mån_tis_ons_tor_fre_lör\".split(\"_\"),weekdaysMin:\"sö_må_ti_on_to_fr_lö\".split(\"_\"),months:\"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),weekStart:1,yearStart:4,ordinal:function(e){var t=e%10;return\"[\"+e+(1===t||2===t?\"a\":\"e\")+\"]\"},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [kl.] HH:mm\",LLLL:\"dddd D MMMM YYYY [kl.] HH:mm\",lll:\"D MMM YYYY HH:mm\",llll:\"ddd D MMM YYYY HH:mm\"},relativeTime:{future:\"om %s\",past:\"för %s sedan\",s:\"några sekunder\",m:\"en minut\",mm:\"%d minuter\",h:\"en timme\",hh:\"%d timmar\",d:\"en dag\",dd:\"%d dagar\",M:\"en månad\",MM:\"%d månader\",y:\"ett år\",yy:\"%d år\"}};return a.default.locale(d,null,!0),d}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_en=n()}(this,(function(){\"use strict\";return{name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(e){var n=[\"th\",\"st\",\"nd\",\"rd\"],t=e%100;return\"[\"+e+(n[(t-20)%10]||n[t]||n[0])+\"]\"}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_da=t(e.dayjs)}(this,(function(e){\"use strict\";function t(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var d=t(e),a={name:\"da\",weekdays:\"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag\".split(\"_\"),weekdaysShort:\"søn._man._tirs._ons._tors._fre._lør.\".split(\"_\"),weekdaysMin:\"sø._ma._ti._on._to._fr._lø.\".split(\"_\"),months:\"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj_juni_juli_aug._sept._okt._nov._dec.\".split(\"_\"),weekStart:1,yearStart:4,ordinal:function(e){return e+\".\"},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd [d.] D. MMMM YYYY [kl.] HH:mm\"},relativeTime:{future:\"om %s\",past:\"%s siden\",s:\"få sekunder\",m:\"et minut\",mm:\"%d minutter\",h:\"en time\",hh:\"%d timer\",d:\"en dag\",dd:\"%d dage\",M:\"en måned\",MM:\"%d måneder\",y:\"et år\",yy:\"%d år\"}};return d.default.locale(a,null,!0),a}));","!function(u,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],e):(u=\"undefined\"!=typeof globalThis?globalThis:u||self).dayjs_locale_fi=e(u.dayjs)}(this,(function(u){\"use strict\";function e(u){return u&&\"object\"==typeof u&&\"default\"in u?u:{default:u}}var t=e(u);function n(u,e,t,n){var i={s:\"muutama sekunti\",m:\"minuutti\",mm:\"%d minuuttia\",h:\"tunti\",hh:\"%d tuntia\",d:\"päivä\",dd:\"%d päivää\",M:\"kuukausi\",MM:\"%d kuukautta\",y:\"vuosi\",yy:\"%d vuotta\",numbers:\"nolla_yksi_kaksi_kolme_neljä_viisi_kuusi_seitsemän_kahdeksan_yhdeksän\".split(\"_\")},a={s:\"muutaman sekunnin\",m:\"minuutin\",mm:\"%d minuutin\",h:\"tunnin\",hh:\"%d tunnin\",d:\"päivän\",dd:\"%d päivän\",M:\"kuukauden\",MM:\"%d kuukauden\",y:\"vuoden\",yy:\"%d vuoden\",numbers:\"nollan_yhden_kahden_kolmen_neljän_viiden_kuuden_seitsemän_kahdeksan_yhdeksän\".split(\"_\")},s=n&&!e?a:i,_=s[t];return u<10?_.replace(\"%d\",s.numbers[u]):_.replace(\"%d\",u)}var i={name:\"fi\",weekdays:\"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai\".split(\"_\"),weekdaysShort:\"su_ma_ti_ke_to_pe_la\".split(\"_\"),weekdaysMin:\"su_ma_ti_ke_to_pe_la\".split(\"_\"),months:\"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu\".split(\"_\"),monthsShort:\"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu\".split(\"_\"),ordinal:function(u){return u+\".\"},weekStart:1,yearStart:4,relativeTime:{future:\"%s päästä\",past:\"%s sitten\",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},formats:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM[ta] YYYY\",LLL:\"D. MMMM[ta] YYYY, [klo] HH.mm\",LLLL:\"dddd, D. MMMM[ta] YYYY, [klo] HH.mm\",l:\"D.M.YYYY\",ll:\"D. MMM YYYY\",lll:\"D. MMM YYYY, [klo] HH.mm\",llll:\"ddd, D. MMM YYYY, [klo] HH.mm\"}};return t.default.locale(i,null,!0),i}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_nb=t(e.dayjs)}(this,(function(e){\"use strict\";function t(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var n=t(e),a={name:\"nb\",weekdays:\"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag\".split(\"_\"),weekdaysShort:\"sø._ma._ti._on._to._fr._lø.\".split(\"_\"),weekdaysMin:\"sø_ma_ti_on_to_fr_lø\".split(\"_\"),months:\"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.\".split(\"_\"),ordinal:function(e){return e+\".\"},weekStart:1,yearStart:4,formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY [kl.] HH:mm\",LLLL:\"dddd D. MMMM YYYY [kl.] HH:mm\"},relativeTime:{future:\"om %s\",past:\"%s siden\",s:\"noen sekunder\",m:\"ett minutt\",mm:\"%d minutter\",h:\"en time\",hh:\"%d timer\",d:\"en dag\",dd:\"%d dager\",M:\"en måned\",MM:\"%d måneder\",y:\"ett år\",yy:\"%d år\"}};return n.default.locale(a,null,!0),a}));","import dayjs from 'dayjs';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\nimport toObject from 'dayjs/plugin/toObject';\nimport 'dayjs/locale/sv.js';\nimport 'dayjs/locale/en.js';\nimport 'dayjs/locale/da.js';\nimport 'dayjs/locale/fi.js';\nimport 'dayjs/locale/nb.js';\n\nimport { PnLanguages } from '../types';\n\ndayjs.extend(weekOfYear);\ndayjs.extend(customParseFormat);\ndayjs.extend(isSameOrBefore);\ndayjs.extend(isSameOrAfter);\ndayjs.extend(toObject);\n\nconst CALENDAR = 'calendar';\nconst MONTHS = 'months';\nconst YEARS = 'years';\n\nexport type DateType = 'date' | 'month' | 'year';\n\ntype GridDay = {\n day: number;\n date?: number;\n blank?: boolean;\n};\n\ntype GridWeek = {\n week: string;\n list: GridDay[];\n};\n\nexport type GridDate = GridWeek[];\n\nexport type DateObject = {\n year?: number;\n month?: number;\n date?: number;\n day?: number;\n};\n\nexport type DateObjectStrict = {\n year: number;\n month: number;\n date: number;\n day?: number;\n};\n\nexport type CalendarView = typeof CALENDAR | typeof MONTHS | typeof YEARS;\n\nexport type PnDatePickerSelectEvent = { start: string; end?: string; days?: number };\nexport type PnDatePickerFocusOptions = {\n /** Select the first focusable element. */\n first?: boolean;\n /** Select the focusable element in the grid view. */\n grid?: boolean;\n};\n\nexport { CALENDAR, MONTHS, YEARS };\n\nexport function getToday(): dayjs.Dayjs {\n return dayjs();\n}\n\nexport function getDayjsObject({ year, month, date }: DateObjectStrict) {\n return dayjs().set('year', year).set('month', month).set('date', date);\n}\n\n/** Validate the date. */\nexport function validateDate(value: string | DateObjectStrict, format: string): boolean {\n if (!value) return false;\n const val = typeof value === 'string' ? value : getDayjsObject(value);\n return dayjs(val, format, true).isValid();\n}\n\n/**\n * Get the Dayjs object with the value & format param.\n **/\nexport function getDate(value: string | DateObjectStrict, format: string): dayjs.Dayjs {\n const val = typeof value === 'string' ? value : getDayjsObject(value);\n return dayjs(val, format);\n}\n\n/** Get a readable i18n format of the date. */\nexport function getReadableDate(date: DateObjectStrict, lang: PnLanguages, format: string): string {\n const data = getDateJs(date);\n return data.locale(lang === 'no' ? 'nb' : lang).format(format);\n}\n\nexport function getDateJs({ year, month, date, day }: DateObjectStrict): dayjs.Dayjs {\n const dateObject = dayjs().set('y', year).set('M', month).set('D', date);\n if (typeof day === 'number') return dateObject.set('d', day);\n return dateObject;\n}\n\nexport function getDateObject(data: dayjs.Dayjs | string, format?: string): DateObjectStrict {\n const dateObj = typeof data === 'string' ? getDate(data, format) : data;\n\n const year = dateObj.get('year');\n const month = dateObj.get('month');\n const date = dateObj.get('date');\n const day = dateObj.get('day');\n\n return {\n year,\n month,\n date,\n day,\n };\n}\n\nexport function getDiff(from: string | DateObjectStrict, to: string | DateObjectStrict, format: string) {\n const dateFrom = getDate(from, format);\n const dateTo = getDate(to, format);\n return dateTo.diff(dateFrom, 'd');\n}\n\nexport function isBefore(\n data: string | DateObjectStrict,\n max: string | DateObjectStrict,\n format: string,\n type: DateType,\n) {\n const date = getDate(data, format);\n const dateMax = getDate(max, format);\n\n return date.isSameOrBefore(dateMax, type);\n}\n\nexport function isAfter(\n data: string | DateObjectStrict,\n min: string | DateObjectStrict,\n format: string,\n type: DateType,\n) {\n const date = getDate(data, format);\n const dateMin = getDate(min, format);\n\n return date.isSameOrAfter(dateMin, type);\n}\n\nexport function selectedDate(\n dateOne: string | DateObjectStrict,\n dateTwo: string | DateObjectStrict,\n format: string,\n type: DateType,\n): boolean {\n if (!validateDate(dateOne, format) || !validateDate(dateTwo, format)) return false;\n\n let date = getDate(dateOne, format);\n let compare = getDate(dateTwo, format);\n\n if (type === 'month') {\n date = date.set('year', 2000);\n compare = compare.set('year', 2000);\n }\n\n return date.isSame(compare, type);\n}\n\nexport function modifyDate({\n data,\n amount = 1,\n unit,\n minus,\n plus,\n}: {\n data: dayjs.Dayjs;\n amount?: number;\n unit: dayjs.ManipulateType;\n minus?: boolean;\n plus?: boolean;\n}) {\n if (minus) return data.subtract(amount, unit);\n if (plus) return data.add(amount, unit);\n return data;\n}\n\n/** Set another year for the value. */\nexport function setYear({\n year,\n minus = false,\n plus = false,\n}: {\n year: number;\n minus?: boolean;\n plus?: boolean;\n}): number {\n const data = dayjs().set('year', year);\n return modifyDate({ data, unit: 'y', plus, minus }).year();\n}\n\n/**\n * You select a month you wish to decrease or increase by 1.\n */\nexport function setMonth({\n month,\n minus = false,\n plus = false,\n}: {\n month: number;\n minus?: boolean;\n plus?: boolean;\n}): number {\n const data = dayjs().set('month', month);\n return modifyDate({ data, unit: 'M', plus, minus }).month();\n}\n\nexport function setDay(\n date: DateObjectStrict,\n {\n minus = false,\n plus = false,\n }: {\n minus?: boolean;\n plus?: boolean;\n },\n): number {\n const data = getDayjsObject(date);\n return modifyDate({ data, unit: 'D', plus, minus }).date();\n}\n\nexport function navigateGrid(code: string, data: DateObjectStrict, disableWeekends: boolean, type: DateType) {\n if (type === 'date') return navDate(code, data, disableWeekends);\n return navList(code, data, type);\n}\n\nexport function navDate(code: string, data: DateObjectStrict, disableWeekend: boolean): dayjs.Dayjs {\n const date = getDayjsObject(data);\n\n const { space, enter, next, down, previous, upwards, pageDown, pageUp, end, home } = getCode(code);\n\n if (space || enter) return date;\n\n if (next || down) return date.add(next ? 1 : 7, 'day');\n if (previous || upwards) return date.subtract(previous ? 1 : 7, 'day');\n\n if (pageDown) return date.add(1, 'month');\n if (pageUp) return date.subtract(1, 'month');\n\n const day = date.get('day');\n\n const endDay = disableWeekend ? 5 : 7;\n const startDay = day === 0 ? -6 : 1;\n\n if (end && day !== 0) return date.set('day', endDay);\n if (home && day !== 1) return date.set('day', startDay);\n\n return date;\n}\n\nexport function navList(key: string, data: DateObjectStrict, type: DateType): dayjs.Dayjs {\n const date = getDayjsObject(data);\n\n const enter = key.match(/^(Enter|Space)$/);\n if (enter) return date;\n\n // Add one day\n const next = key === 'ArrowRight';\n // Minus one day\n const previous = key === 'ArrowLeft';\n // Add one week\n const down = key === 'ArrowDown';\n // Minus one week\n const upwards = key === 'ArrowUp';\n\n const setNumber = next || previous ? 1 : 3;\n\n const { years, months } = date.toObject();\n\n const dateValue = type === 'year' ? years : months;\n const oppositeType = type === 'year' ? 'month' : 'year';\n\n if (next || down) return date.set(type, dateValue + setNumber).set(oppositeType, data[oppositeType]);\n if (previous || upwards) return date.set(type, dateValue - setNumber).set(oppositeType, data[oppositeType]);\n\n return date;\n}\n\nexport function getGrid(year: number, month: number): GridDate {\n const allDays = [];\n\n const grid: GridDate = [];\n\n const date = dayjs().set('year', year).set('month', month);\n\n const numberOfDays = date.daysInMonth();\n\n for (let i = 0; numberOfDays > i; i++) {\n const day = date.set('date', i);\n const week = day.week();\n\n allDays.push({\n week,\n day: day.day() + 1,\n date: i + 1,\n });\n }\n\n const weeks = [...new Set(allDays.map(({ week }) => week))];\n\n weeks.forEach((week, index) => {\n const list = allDays.filter(day => day.week === week);\n\n if (index === 0 && list.length !== 7) {\n const numberOfDaysOutsideWeek = 7 - list.length;\n for (let i = 0; numberOfDaysOutsideWeek > i; i++) {\n list.unshift({ week, blank: true });\n }\n }\n\n if (index + 1 === weeks.length && list.length !== 7) {\n const numberOfDaysOutsideWeek = 7 - list.length;\n for (let i = 0; numberOfDaysOutsideWeek > i; i++) {\n list.push({ week, blank: true });\n }\n }\n\n grid.push({ week: week, list });\n });\n\n return grid;\n}\n\nexport function getCode(code: string) {\n const enter = code === 'Enter';\n const space = code === 'Space';\n // Add/sub one day\n const next = code === 'ArrowRight';\n const previous = code === 'ArrowLeft';\n // Add/sub one week\n const down = code === 'ArrowDown';\n const upwards = code === 'ArrowUp';\n // Add/sub one month\n const pageDown = code === 'PageDown';\n const pageUp = code === 'PageUp';\n // Go the first/last day of the week\n const end = code === 'End';\n const home = code === 'Home';\n return {\n enter,\n space,\n next,\n previous,\n down,\n upwards,\n pageDown,\n pageUp,\n end,\n home,\n };\n}\n","@use 'src/globals/main';\n@use 'sass:string';\n\n@mixin date-today {\n font-weight: 500;\n &::after {\n content: '';\n position: absolute;\n bottom: 0.25em;\n left: calc(50% - 0.125em);\n height: 0.25em;\n width: 0.25em;\n background-color: main.$blue700;\n border-radius: 50%;\n }\n}\n\npn-date-picker {\n position: relative;\n display: block;\n}\n\npn-date-picker .pn-date-picker {\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n gap: 0.25em;\n\n container-type: inline-size;\n\n @container (max-width: 24em) {\n .pn-date-picker-container {\n flex: 1 1 20em;\n }\n .pn-date-picker-range-icon {\n display: none;\n }\n }\n\n &-container {\n display: block;\n flex: 1 1 11em;\n\n &[data-error] {\n > .pn-date-picker-label {\n color: main.$warning;\n }\n > .pn-date-picker-field .pn-date-picker-input {\n @include main.pn-input-field-error;\n }\n }\n }\n\n &-label {\n @include main.pn-input-label;\n }\n\n &-field {\n position: relative;\n display: flex;\n }\n\n &-input {\n @include main.pn-input-field;\n padding-right: 3em;\n flex: auto;\n width: 100%;\n\n &::-webkit-calendar-picker-indicator {\n visibility: hidden;\n inline-size: 0;\n }\n\n &::-webkit-textfield-decoration-container,\n &::-webkit-search-cancel-button,\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button,\n &::-webkit-search-decoration {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n }\n\n &[data-active] {\n border-color: main.$border-color-default-active;\n }\n &:read-only {\n @include main.pn-readonly;\n }\n }\n\n &-range-icon {\n width: 1.5em;\n margin-bottom: 0.8125em;\n align-self: end;\n }\n\n &-helpertext,\n &-error {\n @include main.pn-input-helpertext;\n text-align: left;\n &[hidden] {\n display: none;\n }\n }\n\n &-error {\n color: main.$warning;\n }\n\n &-toggle {\n position: absolute;\n top: 0.5em;\n right: 0.5em;\n border-radius: 50%;\n }\n\n &-button {\n cursor: pointer;\n font-size: 1em;\n background-color: transparent;\n border: main.$input-border;\n border-color: transparent;\n padding: 0.25em;\n margin: 0;\n flex: auto;\n border-radius: 3em;\n\n &:first-child,\n &:last-child {\n flex: 0 0 auto;\n }\n\n @include main.pn-transition('outline-color, background-color, border-color');\n @include main.pn-focus-base();\n\n &:focus {\n background-color: main.$white;\n @include main.pn-focus-visible();\n }\n\n &:hover {\n background-color: main.$input-button-background-hover;\n }\n\n &[data-active],\n &[data-range] {\n background-color: main.$input-button-background-active;\n border-color: main.$blue700;\n }\n\n &:disabled {\n cursor: not-allowed;\n &:hover {\n background-color: transparent;\n }\n }\n }\n\n &-month {\n text-transform: capitalize;\n &[data-full] {\n display: none;\n @media (min-width: 25em) {\n display: inline;\n }\n }\n &[data-abbr] {\n display: inline;\n @media (min-width: 25em) {\n display: none;\n }\n }\n }\n\n @include main.pn-sr-only-class();\n\n /** The calendar dropdown */\n &-calendar {\n position: absolute;\n z-index: 4;\n top: calc(100% + 0.5em);\n\n left: var(--pn-calendar-offset-left);\n width: clamp(100%, 95vw, 20em);\n max-width: 20em;\n\n text-align: center;\n\n border-radius: main.$border-radius;\n background-color: main.$white;\n\n overflow: hidden;\n visibility: hidden;\n box-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.1);\n\n &[data-range] {\n width: 100%;\n max-width: unset;\n }\n\n &[data-open],\n &[data-moving] {\n visibility: visible;\n }\n\n &[data-direction='top'] {\n top: unset;\n bottom: calc(100% + 0.5em);\n transform-origin: bottom left;\n }\n\n pn-button[hidden] {\n display: none;\n }\n\n pn-button span {\n text-transform: capitalize;\n }\n }\n\n &-wrapper {\n padding: 0.5em;\n }\n\n &-title {\n margin: 0.5em auto 0;\n font-size: 0.875em;\n font-weight: 500;\n color: main.$gray900;\n }\n\n &-nav {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n margin-bottom: 1em;\n }\n\n &-table {\n width: 100%;\n table-layout: fixed;\n border-spacing: 0;\n border: 0;\n margin: 0 0 0.5em;\n }\n\n &-th {\n font-size: 0.75em;\n font-weight: 500;\n color: main.$helpertext-color;\n padding: 0.25em;\n border: 0;\n text-transform: capitalize;\n }\n\n &-td {\n cursor: pointer;\n position: relative;\n padding: 0.25em;\n outline: 0;\n border: 0;\n line-height: 0;\n width: 2em;\n height: 2em;\n -webkit-tap-highlight-color: transparent;\n\n &-text {\n position: relative;\n display: block;\n line-height: 1.5em;\n border-radius: main.$border-radius;\n color: main.$input-color;\n padding: 0.25em;\n\n @include main.pn-transition('color, background-color, outline-color');\n @include main.pn-focus-base;\n }\n\n &[data-blank] {\n cursor: auto;\n .pn-date-picker-td-text {\n background-color: transparent;\n }\n }\n\n &-week {\n font-size: 0.75em;\n color: main.$gray700;\n display: block;\n }\n\n &:before {\n content: '';\n position: absolute;\n left: 0;\n top: 0.25em;\n height: calc(100% - 0.5em);\n width: 100%;\n background-color: transparent;\n border: 0.0625em solid transparent;\n border-radius: main.$border-radius;\n @include main.pn-transition('border-color, background-color, width, transform, left');\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n pointer-events: none;\n > .pn-date-picker-td-text {\n color: main.$input-color-disabled;\n background-color: main.$input-background-disabled;\n }\n &:focus > .pn-date-picker-td-text {\n @include main.pn-focus-visible(main.$warning);\n }\n &:hover,\n &:focus {\n > .pn-date-picker-td-text {\n background-color: main.$input-background-disabled;\n }\n }\n }\n\n &[aria-selected='true'] {\n .pn-date-picker-td-text {\n font-weight: 500;\n }\n &:before {\n border-color: main.$blue700;\n background-color: main.$blue25;\n }\n &[data-single]:before {\n width: 2em;\n left: 50%;\n transform: translateX(-50%);\n }\n &[data-range]:before {\n border-radius: 0;\n border-left: 0;\n border-right: 0;\n }\n &[data-range-from]:before {\n border-radius: main.$border-radius 0 0 main.$border-radius;\n border-right-width: 0;\n border-left-width: 0.0625em;\n }\n &[data-range-to]:before {\n border-radius: 0 main.$border-radius main.$border-radius 0;\n border-right-width: 0.0625em;\n border-left-width: 0;\n }\n &[aria-disabled='true'] {\n &:before {\n border-color: main.$warning;\n background-color: main.$coral50;\n }\n > .pn-date-picker-td-text {\n background-color: unset;\n }\n &:focus > .pn-date-picker-td-text {\n background-color: main.$input-background-disabled;\n }\n }\n }\n\n &[aria-selected='false']:hover > .pn-date-picker-td-text {\n background-color: main.$input-button-background-hover;\n }\n\n &[data-today] > .pn-date-picker-td-text {\n @include date-today;\n &:after {\n bottom: 0.15em;\n }\n }\n\n &[data-active][data-today] > .pn-date-picker-td-text:after {\n background-color: main.$blue700;\n }\n\n &:focus-visible > .pn-date-picker-td-text {\n @include main.pn-focus-visible(main.$blue700);\n }\n }\n\n /* Month list */\n &-list {\n margin: 0 0 1em;\n padding: 0;\n list-style: none;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-gap: 0.5em;\n }\n\n &-item {\n > .pn-date-picker-button {\n display: block;\n width: 100%;\n border-radius: main.$border-radius;\n padding: 0.5em 0.25em;\n &[data-today] {\n position: relative;\n @include date-today;\n }\n }\n }\n\n &-chips > [slot='chips'] {\n display: flex;\n justify-content: flex-start;\n flex-wrap: wrap;\n gap: 0.5em;\n margin-bottom: 0.5em;\n &:empty {\n display: none;\n }\n }\n\n &-bottom {\n display: flex;\n justify-content: flex-end;\n gap: 0.5em;\n &[hidden] {\n display: none;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch, Listen } from '@stencil/core';\nimport { PnLanguages, awaitTopbar, uuidv4, en, getTotalHeightOffset, reduceMotion } from '@/index';\n\nimport { translations } from './translations';\n\nimport type {\n DateType,\n GridDate,\n DateObject,\n DateObjectStrict,\n CalendarView,\n PnDatePickerSelectEvent,\n PnDatePickerFocusOptions,\n} from '@/globals/date';\nimport {\n CALENDAR,\n MONTHS,\n YEARS,\n validateDate,\n isBefore,\n isAfter,\n selectedDate,\n getDateObject,\n getDiff,\n getToday,\n getDate,\n getReadableDate,\n getGrid,\n setYear,\n setMonth,\n navigateGrid,\n} from '@/globals/date';\nimport { calendar, arrow_left, arrow_right, pn_return } from 'pn-design-assets/pn-assets/icons.js';\n\nimport type { Dayjs } from 'dayjs';\n\n/**\n * The date picker allows a single or a range of dates to be selected.\n *\n * Based on the `format` prop, separators will automatically be added if you type the date.\n *\n * You can navigate the calendar grid with your keyboard.\n *\n * @nativeInput Use the `input` event to listen to content being modified by the user. It is emitted everytime a user writes or removes content in the input.\n * @nativeChange The `change` event is emitted when the input loses focus, the user clicks `Enter` or makes a selection (such as auto complete or suggestions).\n *\n * @slot chips - Introduce some quick date selectors underneath the calendar grid. Use the `pn-choice-chip` component.\n * @slot helpertext - You can use this slot instead of the prop `helpertext`. Recommended, only if you need to include additional HTML markup. Such as a `pn-text-link`. Use a `span` element to wrap the text and link.\n * @slot error - You can use this slot instead of the prop `error`. Recommended, only if you need to include additional HTML markup. Such as a `pn-text-link`. Use a `span` element to wrap the text and link.\n */\n@Component({\n tag: 'pn-date-picker',\n styleUrl: 'pn-date-picker.scss',\n})\nexport class PnDatePicker {\n id: string = `pn-date-picker-${uuidv4()}`;\n\n idFrom: string = `${this.id}-from`;\n idTo: string = `${this.id}-to`;\n idFromButton: string = `${this.id}-from-button`;\n idToButton: string = `${this.id}-to-button`;\n idHelper: string = `${this.id}-helper`;\n idError: string = `${this.id}-error`;\n idCalendar: string = `${this.id}-calendar`;\n\n calendarElement: HTMLDivElement;\n\n today: Dayjs = getToday();\n animation: Animation;\n\n animationDurationDefault: number = 400;\n animationDuration: number = this.animationDurationDefault;\n\n separators: { index: number; name: string }[] = [];\n separatorRegex: RegExp = /[^a-zA-Z\\d\\s:]/g;\n\n listMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n listWeek = [1, 2, 3, 4, 5, 6, 0];\n\n @Element() hostElement: HTMLElement;\n\n @State() open: boolean = false;\n @State() openUp: boolean = false;\n\n @State() selectingTo: boolean = false;\n\n @State() grid: GridDate;\n\n @State() viewYearStart: number = null;\n\n @State() dateViewYear: number;\n @State() dateViewMonth: number;\n @State() dateViewDate: number;\n\n @State() showHelperSlot: boolean;\n @State() showErrorSlot: boolean;\n\n @State() isClosing = false;\n @State() isExpanding = false;\n\n /** Set a label for the from date. */\n @Prop() labelFrom!: string;\n /** Set a label for the to date. @see {@link range} */\n @Prop() labelTo?: string;\n /** Provide a helpertext for the date input. */\n @Prop() helpertext?: string;\n /** Set a predefined value for the from date. @see {@link format} */\n @Prop({ mutable: true }) start: string = '';\n /**\n * Set a predefined value for the from date.\n *\n * @see {@link range}\n * @see {@link format}\n */\n @Prop({ mutable: true }) end: string = '';\n /**\n * Set the date format of the value.\n *\n * While you can set any date value from the Dayjs documentation,\n * we strongly recommend you pick a simple format that you can also type manually.\n *\n * @see {@link https://day.js.org/docs/en/display/format Day.js format documentation.}\n */\n @Prop() format: string = 'YYYY-MM-DD';\n /** Manually set language; this will be inherited from the topbar. */\n @Prop() language?: PnLanguages = null;\n\n /** Set a custom ID for the calendar. @category HTML attributes */\n @Prop() dateId: string = this.id;\n /** HTML input name @category HTML attributes */\n @Prop() name?: string;\n /**\n * Placeholder for the input field (defaults to the format prop).\n * @see {@link format}\n * @category HTML attributes\n **/\n @Prop() placeholder?: string = this.format;\n /**\n * Placeholder for end date (defaults to the format prop).\n * @see {@link format}\n * @category HTML attributes\n **/\n @Prop() endPlaceholder?: string = this.format;\n /** Set the input `autocomplete` attribute. @category HTML attributes */\n @Prop() autocomplete?: string;\n /** Set the input `list` attribute for the first date input. @category HTML attributes */\n @Prop() list?: string;\n /** Set the input `list` attribute for the second date input. @category HTML attributes */\n @Prop() listEnd?: string;\n /** Set the HTML pattern prop on the input elements. Make sure it matches the format. @category HTML attributes */\n @Prop() pattern?: string;\n\n /** Allow the selection of a date range. @category Features */\n @Prop() range: boolean = false;\n /**\n * Set a limit on how many days one may select.\n * By default, you can select an unlimited range.\n *\n * @todo Create a range limit function.\n * @see {@link range}\n *\n * @category Features\n * @hide true\n **/\n @Prop() rangeLimit?: number;\n /** The calendar grid is shown as default. You can set either `months` or `years` as your first choice. @category Features */\n @Prop({ mutable: true }) view: CalendarView = CALENDAR;\n /** Make the calendar open upwards by default. Opens downwards if there is not enough space. @category Features */\n @Prop() calendarUp: boolean = false;\n /** Show weekend numbers to the left of the calendar grid. @category Features */\n @Prop() weekNumbers: boolean = false;\n /** Disable the automatic insertion of separators when typing in the input. @category Features */\n @Prop() disableTypeAhead: boolean = false;\n /** Remove the option to select dates on weekends. @category Features */\n @Prop() disableWeekends: boolean = false;\n /**\n * Individual dates you want to disable. Use a comma separated string.\n *\n * Remember to use the same format that you have in the `format` prop.\n * @see {@link format}\n * @example \"YYYY-MM-DD,YYYY-MM-DD\"\n * @category Features\n **/\n @Prop() disabledDates?: string;\n /** If you use a format with an unknown length, disable the max length. @category Features */\n @Prop() disableMaxLength?: boolean = false;\n\n /** Set the date picker as required. @category State */\n @Prop() required: boolean = false;\n /** Set the date picker as readonly. @category State */\n @Prop() readonly: boolean = false;\n /** Set the date picker as disabled. @category State */\n @Prop() disabled: boolean = false;\n\n /** Set an error message for the date picker. Overwrites the helpertext if used at the same time. @category Validation */\n @Prop() error?: string;\n /** Trigger the invalid state without an error message. @category Validation */\n @Prop() invalid: boolean = false;\n\n /**\n * Earliest date possible, this will determine how many years back the date picker will show.\n *\n * Remember to use the same format that you have in the `format` prop.\n * @see {@link format}\n * @example \"2024-05-25\"\n * @category Min/max date\n **/\n @Prop({ mutable: true }) minDate?: string = null;\n @Watch('minDate')\n watchMin() {\n if (this.minDate === null) return;\n if (!validateDate(this.minDate, this.format)) this.minDate = null;\n }\n\n /**\n * Latest date possible, this will determine how many years forward the date picker will show.\n *\n * Remember to use the same format that you have in the `format` prop.\n * @see {@link format}\n * @example \"2024-06-25\"\n * @category Min/max date\n **/\n @Prop({ mutable: true }) maxDate?: string = null;\n @Watch('maxDate')\n watchMax() {\n if (this.maxDate === null) return;\n if (!validateDate(this.maxDate, this.format)) this.maxDate = null;\n }\n\n @Watch('start')\n watchValue() {\n if (!validateDate(this.start, this.format)) return this.dateInvalid.emit({ start: this.start });\n\n const { year, month, date } = getDateObject(this.start, this.format);\n\n this.setViewYear({ year });\n this.setViewMonth({ month });\n this.setViewDate({ date });\n\n if (this.range && isAfter(this.start, this.end, this.format, 'date')) {\n this.end = '';\n }\n\n this.emitSelection();\n }\n\n @Watch('end')\n watchValueTo() {\n if (!this.range) return;\n if (!validateDate(this.end, this.format)) return this.dateInvalid.emit({ end: this.end });\n\n const date = getDate(this.end, this.format);\n\n this.setViewYear({ year: date.year() });\n this.setViewMonth({ month: date.month() });\n this.setViewDate({ date: date.date() });\n\n if (isAfter(this.start, this.end, this.format, 'date')) {\n const value = this.start;\n this.start = this.end;\n this.end = value;\n }\n\n this.emitSelection();\n }\n\n @Watch('format')\n handleFormat() {\n this.separators.length = 0;\n this.format\n .split('')\n .forEach((item, index) => this.separatorRegex.exec(item) && this.separators.push({ name: item, index }));\n }\n\n @Watch('id')\n watchId() {\n this.idFrom = `${this.dateId}-from`;\n this.idTo = `${this.dateId}-to`;\n this.idFromButton = `${this.id}-from-button`;\n this.idToButton = `${this.id}-to-button`;\n this.idHelper = `${this.dateId}-helper`;\n this.idError = `${this.dateId}-error`;\n this.idCalendar = `${this.dateId}-calendar`;\n }\n\n @Watch('dateViewYear')\n @Watch('dateViewMonth')\n @Watch('dateViewDate')\n watchView() {\n const data = this.getCurrentDateObject();\n if (validateDate(data, this.format)) this.updateGrid();\n }\n\n @Watch('open')\n watchOpen() {\n this.toggleCalendar.emit(this.open);\n\n this.gridHandler();\n\n if (this.open) this.addGlobalEventListeners();\n else return this.removeGlobalEventListeners();\n\n this.calendarElement.style.removeProperty('--pn-calendar-offset-left');\n\n this.openUp = this.calendarUp;\n\n requestAnimationFrame(() => {\n const rectHost = this.getRect(this.hostElement);\n\n const { scrollHeight } = this.calendarElement;\n const { innerHeight, innerWidth } = window;\n\n const offsetTop = getTotalHeightOffset();\n\n const spaceUpwards = rectHost.y - offsetTop;\n const spaceDownwards = innerHeight - rectHost.bottom;\n\n const fitUpwards = spaceUpwards > scrollHeight;\n const fitDownwards = spaceDownwards > scrollHeight;\n\n const openTop = (this.openUp && (fitUpwards || spaceUpwards > spaceDownwards)) || (!fitDownwards && fitUpwards);\n\n this.openUp = openTop;\n\n // Calc y-axis\n\n const rectCal = this.getRect(this.calendarElement);\n const widthMinusRight = innerWidth - rectCal.right;\n\n const offset = 0 > widthMinusRight ? widthMinusRight - 8 : 0;\n\n this.calendarElement.style.setProperty('--pn-calendar-offset-left', `${Math.floor(offset)}px`);\n });\n }\n\n @Watch('helpertext')\n @Watch('error')\n handleMessage() {\n this.checkSlottedHelper();\n this.checkSlottedError();\n }\n\n @Watch('view')\n handleView() {\n this.currentView.emit(this.view);\n }\n\n /**\n * Use the new `dateSelection`. Its here for compatibility. Will be removed in v8.\n * @deprecated Use the new `dateSelection`. Will be removed in v8.\n **/\n @Event() dateselection: EventEmitter<PnDatePickerSelectEvent>;\n\n /** Emits on valid date selection. Either if the user selects a date in the calendar or writes it manually. */\n @Event() dateSelection: EventEmitter<PnDatePickerSelectEvent>;\n emitSelection() {\n const data: PnDatePickerSelectEvent = {\n start: this.start,\n };\n\n if (this.range) {\n const days = getDiff(this.start, this.end, this.format);\n data.end = this.end;\n data.days = typeof days === 'number' ? days + 1 : null;\n }\n\n this.dateSelection.emit(data);\n this.dateselection.emit(data);\n }\n\n /** Emitted when an invalid value is set. This can only be done if the user writes in the input itself. */\n @Event() dateInvalid: EventEmitter<{ start?: string; end?: string }>;\n\n /** Emitted when the calendar is toggled. */\n @Event() toggleCalendar: EventEmitter<boolean>;\n /** Emmitted when you select a new view. */\n @Event() currentView: EventEmitter<CalendarView>;\n\n /**\n * If the select is open and you resize the window.\n * Remove all css props and disable the animations entierly.\n **/\n @Listen('resize', { target: 'window' })\n handleResize() {\n if (!this.open) return;\n this.toggleGrid(false);\n }\n\n async componentWillLoad() {\n this.watchMin();\n this.watchMax();\n this.watchId();\n\n this.handleFormat();\n this.handleMessage();\n\n const valid = validateDate(this.start || this.end, this.format);\n const data = valid && getDateObject(this.start || this.end, this.format);\n\n const { year, month, date } = getDateObject(this.today);\n\n this.setViewDate({ date: data.date || date });\n this.setViewMonth({ month: data.month || month });\n this.setViewYear({ year: data.year || year });\n\n if (this.language === null) await awaitTopbar(this.hostElement);\n }\n\n // Animation\n\n private gridHandler() {\n if (this.open) this.openGrid();\n else this.closeGrid();\n }\n\n private openGrid() {\n requestAnimationFrame(() => {\n const { clientHeight, scrollHeight } = this.calendarElement;\n const height = this.isClosing ? clientHeight : 0;\n this.calendarElement.style.height = `${scrollHeight}px`;\n\n this.isExpanding = true;\n this.animateGrid(true, `${height}px`, `${this.calendarElement.scrollHeight}px`);\n });\n }\n\n private closeGrid() {\n const { scrollHeight, clientHeight } = this.calendarElement;\n const height = this.isExpanding ? clientHeight : scrollHeight;\n this.calendarElement.style.height = `0px`;\n\n this.isClosing = true;\n this.animateGrid(false, `${height}px`, `0px`);\n }\n\n private animateGrid(open: boolean, startHeight: string, endHeight: string) {\n this.cancelAnimations();\n\n if (reduceMotion()) this.animationDuration = 0;\n else this.animationDuration = this.animationDurationDefault;\n\n this.animation = this.calendarElement.animate(\n {\n height: [startHeight, endHeight],\n },\n {\n duration: this.animationDuration,\n easing: 'cubic-bezier(0.6, 0, 0.2, 1)',\n },\n );\n this.animation.onfinish = () => this.animationFinish();\n this.animation.oncancel = () => (open ? (this.isExpanding = false) : (this.isClosing = false));\n }\n\n private animationFinish() {\n this.cancelAnimations();\n this.calendarElement.style.height = this.isClosing ? '0px' : '';\n this.isClosing = false;\n this.isExpanding = false;\n }\n\n private cancelAnimations() {\n if (this.animation) this.animation.cancel();\n }\n // End of Animation\n\n private globalEvents = (event: PointerEvent | KeyboardEvent) => {\n const target = event.target as HTMLElement;\n const isWithinCalendar = target?.closest(this.hostElement.localName);\n if (!isWithinCalendar) this.toggleGrid(false);\n };\n\n private addGlobalEventListeners() {\n const root: Document = this.hostElement.getRootNode() as Document;\n\n root.addEventListener('click', this.globalEvents);\n }\n\n private removeGlobalEventListeners() {\n const root: Document = this.hostElement.getRootNode() as Document;\n\n root.removeEventListener('click', this.globalEvents);\n }\n\n private translate(prop: string): string {\n return translations?.[prop?.toUpperCase()]?.[this.language || en] || prop?.toUpperCase();\n }\n\n private translateDateText(customDate: DateObject, format: string): string {\n return getReadableDate({ ...this.getCurrentDateObject(), ...customDate }, this.language, format);\n }\n\n private getRect(element: HTMLElement): DOMRect {\n return element.getBoundingClientRect();\n }\n\n private toggleGrid(state?: boolean, selecting?: boolean) {\n this.open = state ?? !this.open;\n this.selectingTo = selecting;\n }\n\n private hasHelperText(): boolean {\n return this.helpertext?.length > 0 || this.showHelperSlot;\n }\n\n /** If any `error` text is present, either via prop/slot. */\n private hasErrorMessage(): boolean {\n return this.error?.length > 0 || this.showErrorSlot;\n }\n\n /** If any `error` is active, either via the prop `invalid` or `error` prop/slot. */\n private hasError(): boolean {\n return this.hasErrorMessage() || this.invalid || this.showErrorSlot;\n }\n\n private checkSlottedHelper() {\n const slottedHelper = this.hostElement.querySelector<HTMLElement>('[slot=helpertext]')?.textContent;\n this.showHelperSlot = !!slottedHelper?.length;\n }\n\n private checkSlottedError() {\n const slottedError = this.hostElement.querySelector<HTMLElement>('[slot=error]')?.textContent;\n this.showErrorSlot = !!slottedError?.length;\n }\n\n private viewingCalendar(): boolean {\n return this.view === CALENDAR;\n }\n\n private viewingMonth(): boolean {\n return this.view === MONTHS;\n }\n\n private viewingYears(): boolean {\n return this.view === YEARS;\n }\n\n private viewType(): DateType {\n return this.viewingCalendar() ? 'date' : this.viewingMonth() ? 'month' : 'year';\n }\n\n private isBeforeMax(data: DateObjectStrict): boolean {\n if (this.maxDate) return isBefore(data, this.maxDate, this.format, this.viewType());\n return true;\n }\n\n private isAfterMin(data: DateObjectStrict): boolean {\n if (this.minDate) return isAfter(data, this.minDate, this.format, this.viewType());\n return true;\n }\n\n private isDisabledWeekend(day: number): boolean {\n if (!this.viewingCalendar()) return false;\n return this.disableWeekends ? day >= 6 : false;\n }\n\n private isDisabledDate(data: DateObjectStrict): boolean {\n if (!this.disabledDates?.length || !this.viewingCalendar()) return false;\n const list = this.disabledDates.split(',');\n return !!list.find(disabledDate => selectedDate(disabledDate, data, this.format, this.viewType()));\n }\n\n private isDisabled(data: DateObjectStrict): {\n disabled: boolean;\n manualDisable: boolean;\n weekendDisable: boolean;\n minMaxDisable: boolean;\n } {\n const isAfterMaxDate = !this.isBeforeMax(data);\n const isBeforeMinDate = !this.isAfterMin(data);\n\n const weekendDisable = this.viewingCalendar() && this.isDisabledWeekend(data.day);\n\n const manualDisable = this.isDisabledDate(data);\n\n const disabled = isAfterMaxDate || isBeforeMinDate || weekendDisable || manualDisable;\n\n return {\n disabled,\n manualDisable,\n weekendDisable,\n minMaxDisable: isAfterMaxDate || isBeforeMinDate,\n };\n }\n\n private updateGrid() {\n this.grid = getGrid(this.dateViewYear, this.dateViewMonth);\n }\n\n private getCurrentViewDate(data: DateObjectStrict = this.getCurrentDateObject()): string {\n return getReadableDate(data, this.language, 'MMMM YYYY');\n }\n\n private isSelected(data: DateObject, to: boolean = false): boolean {\n const value = to ? this.end : this.start;\n return selectedDate(value, this.getCurrentDateObject(data), this.format, this.viewType());\n }\n\n private isToday(data: DateObject): boolean {\n return selectedDate(this.today.format(this.format), this.getCurrentDateObject(data), this.format, this.viewType());\n }\n\n private getCurrentDateObject({\n year = this.dateViewYear,\n month = this.dateViewMonth,\n date = this.dateViewDate,\n day,\n }: DateObject = {}) {\n return {\n year,\n month,\n date,\n day,\n };\n }\n\n /** Handle keyboard navigation in the calendar grid. */\n private calendarKeyboardNavigation(event: KeyboardEvent, data: DateObjectStrict, disabled: boolean = false) {\n const validCodes = [\n 'Enter',\n 'Space',\n 'ArrowRight',\n 'ArrowLeft',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n 'PageDown',\n 'PageUp',\n 'Escape',\n ];\n\n if (!validCodes.includes(event.code)) return;\n\n event.preventDefault();\n if (event.code === 'Escape') return this.toggleGrid(false);\n\n const select = !disabled && event.code.match(/^(Enter|Space)$/);\n\n if (select && this.viewingYears()) return this.setViewYear({ year: data.year, reset: true });\n if (select && this.viewingMonth()) return this.setViewMonth({ month: data.month, grid: true, reset: true });\n if (select && this.viewingCalendar()) return this.setValue(data.date);\n\n const goToDate = this.navDirection(event, data);\n\n if (!goToDate) return;\n\n const { year, month, date } = goToDate;\n\n this.setViewYear({ year });\n this.setViewMonth({ month, grid: true });\n this.setViewDate({ date });\n\n this.resetFocus();\n }\n\n private navDirection(event: KeyboardEvent, data: DateObjectStrict): DateObjectStrict {\n const { code } = event;\n\n const nextDate = navigateGrid(code, data, this.disableWeekends, this.viewType());\n const date = getDateObject(nextDate);\n\n return date;\n }\n\n private getYearGrid(): number[] {\n const list = [];\n\n let oldestInList = this.viewYearStart - 7;\n\n for (let i = 0; 15 > i; i++) {\n list.push(oldestInList++);\n }\n\n return list;\n }\n\n /** Defaults to the calendar view. */\n private setView(view: CalendarView) {\n this.view = view;\n requestAnimationFrame(() => this.focusCalendar());\n }\n\n private setNavView(data: { minus?: boolean; plus?: boolean; grid?: boolean }) {\n if (this.viewingYears()) return this.setViewYear({ ...data, grid: true });\n return this.setViewMonth(data);\n }\n\n private setViewYear({\n year = this.dateViewYear,\n minus = false,\n plus = false,\n reset = false,\n grid = false,\n }: {\n year?: number;\n minus?: boolean;\n plus?: boolean;\n reset?: boolean;\n grid?: boolean;\n }) {\n const nextYear = setYear({ year, minus, plus });\n\n const start = this.viewYearStart;\n const max = start + 7;\n const min = start - 7;\n\n if (grid) {\n const minusVal = this.viewYearStart - 15;\n const plusVal = this.viewYearStart + 15;\n this.viewYearStart = minus ? minusVal : plusVal;\n this.dateViewYear = this.viewYearStart;\n } else this.dateViewYear = nextYear;\n\n if (start === null || nextYear > max || min > nextYear) this.viewYearStart = nextYear;\n\n if (reset) this.setView(CALENDAR);\n }\n\n private setViewMonth({\n month = this.dateViewMonth,\n minus = false,\n plus = false,\n reset = false,\n grid = false,\n }: {\n month?: number;\n minus?: boolean;\n plus?: boolean;\n reset?: boolean;\n grid?: boolean;\n }) {\n const nextMonth = setMonth({ month, minus, plus });\n\n this.dateViewMonth = nextMonth;\n\n if (!grid && month === 0 && minus) this.setViewYear({ minus: true });\n if (!grid && month === 11 && plus) this.setViewYear({ plus: true });\n\n if (reset) this.setView(CALENDAR);\n }\n\n private setViewDate({ date }: { date: number }) {\n this.dateViewDate = date;\n }\n\n private handleSeparator(event: InputEvent) {\n let value = (event.target as HTMLInputElement).value;\n\n const foundSeparator = this.separators.find(({ index }) => index === value.length);\n if (foundSeparator?.name) {\n value += foundSeparator.name;\n }\n\n return value;\n }\n\n private inputHandler(event: InputEvent, to: boolean = false) {\n const propName = to ? 'end' : 'start';\n const value = this.disableTypeAhead ? (event.target as HTMLInputElement).value : this.handleSeparator(event);\n\n this[propName] = value;\n }\n\n private setValue(date: number) {\n const value = getReadableDate(this.getCurrentDateObject({ date }), this.language, this.format);\n\n if (this.selectingTo) this.end = value;\n else this.start = value;\n\n this.setViewDate({ date });\n\n if (!this.range || this.selectingTo) {\n this.toggleGrid(false);\n this.focusToggleCalendarButton();\n }\n\n if (this.range && !this.selectingTo) this.selectingTo = true;\n }\n\n private getDayAttributes(dateObject: DateObject, blank: boolean): { [a: string]: any } {\n const data = this.getCurrentDateObject(dateObject);\n const { disabled } = this.isDisabled(data);\n\n if (blank) return { 'data-blank': true };\n\n function capitalize(text: string) {\n return text.charAt(0).toUpperCase() + text.slice(1);\n }\n\n const type = this.viewType();\n const value = data[type];\n\n const disabledProp = type !== 'date' ? 'disabled' : 'aria-disabled';\n const selectedProp = type !== 'date' ? 'aria-pressed' : 'aria-selected';\n\n const selectedFrom = this.isSelected(data);\n const selectedTo = this.isSelected(data, true);\n\n const selected = selectedFrom || selectedTo;\n\n const after = this.range && isAfter(data, this.start, this.format, this.viewType());\n const before = this.range && isBefore(data, this.end, this.format, this.viewType());\n const isBetween = after && before;\n\n const isDisabled = disabled && (type === 'date' || !selected);\n\n const tabbable = this[`dateView${capitalize(type)}`] === value;\n\n const props: { [a: string]: any } = {\n 'onKeyDown': (e: KeyboardEvent) => this.calendarKeyboardNavigation(e, data, isDisabled),\n 'tabindex': tabbable ? '0' : '-1',\n [selectedProp]: (selected || isBetween)?.toString(),\n 'aria-current': this.isToday(data) ? 'date' : null,\n 'data-active': isDisabled ? null : selected,\n 'data-today': this.isToday(data),\n 'data-option': 'true',\n [`data-${type}`]: value,\n [disabledProp]: isDisabled ? 'true' : null,\n };\n\n const singleDate = selectedDate(this.start, this.end, this.format, 'date');\n\n if (this.range && !singleDate) {\n props['data-range'] = isBetween;\n props['data-range-from'] = selectedFrom && this.end !== '';\n props['data-range-to'] = selectedTo && this.start !== '';\n } else {\n props['data-single'] = true;\n }\n\n if (this.viewingCalendar()) props.onClick = () => this.setValue(data.date);\n if (this.viewingMonth()) props.onClick = () => this.setViewMonth({ month: data.month, reset: true });\n if (this.viewingYears()) props.onClick = () => this.setViewYear({ year: data.year, reset: true });\n\n if (isDisabled) delete props.onClick;\n\n return props;\n }\n\n /** Focus the button toggling the calendar. Handles the start/from date on its own. */\n private focusToggleCalendarButton() {\n requestAnimationFrame(() => {\n const id = this.range ? this.idToButton : this.idFromButton;\n this.hostElement.querySelector<HTMLButtonElement>(`#${id}`).focus({ preventScroll: true });\n });\n }\n\n private focusCalendar() {\n requestAnimationFrame(() => {\n const element = this.calendarTabElement({ first: true, grid: true });\n\n element?.focus({ preventScroll: true });\n });\n }\n\n private resetFocus() {\n if (this.open) return this.focusCalendar();\n else this.focusToggleCalendarButton();\n }\n\n private handleButtonBlur(event: KeyboardEvent) {\n if (event.code === 'Escape') {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n if (this.open && event.key === 'Tab') return this.focusCalendar();\n }\n\n /**\n * This function queries all tabbable elements inside the calendar popup.\n * Since we allow slotted content it important that we have a function that takes all elements into account.\n * With the `first` and `grid` argument, you can decide which one you want to get.\n * There are fallbacks so you should never get an empty list of elements.\n */\n private calendarTabElement({ first, grid }: PnDatePickerFocusOptions): HTMLElement {\n const focusableElements = ':is(input, select, button:not([tabindex=\"-1\"]), td[tabindex=\"0\"])';\n const elements = this.calendarElement.querySelectorAll<HTMLElement>(focusableElements);\n const list = Array.from(elements).filter(\n ({ localName, offsetParent }) => focusableElements.includes(localName) && offsetParent !== null,\n );\n\n const gridEl = list.find(({ dataset, tabIndex }) => dataset.option && tabIndex === 0);\n if (grid && gridEl) return gridEl;\n if (first) return list.shift();\n else return list.pop();\n }\n\n /**\n * We need to listen to the `Esc` and `Tab` key for the entire calendar popup.\n * Regardless if you focus the grid, the nav buttons or slotted content,\n * the popup will close if you press `Esc`. We also need to reset the focus when the user tabs.\n */\n private handleCalendarTabEsc(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n const tabElement = this.calendarTabElement({ first: event.shiftKey });\n\n event.stopImmediatePropagation();\n\n if (event.code === 'Escape') {\n event.preventDefault();\n\n this.toggleGrid(false);\n this.focusToggleCalendarButton();\n return;\n }\n\n if (event.code === 'Tab' && target.isEqualNode(tabElement)) {\n event.preventDefault();\n this.calendarTabElement({ first: !event.shiftKey }).focus({ preventScroll: true });\n }\n }\n\n private ariaDescribedby(): string {\n const list = [];\n if (this.hasErrorMessage()) list.push(this.idError);\n else if (this.hasHelperText()) list.push(this.idHelper);\n return list.length ? list.join(' ') : null;\n }\n\n /** Renders the date calendar grid. */\n private renderDateGrid(): HTMLTableElement {\n return (\n <table role=\"grid\" class=\"pn-date-picker-table\" aria-multiselectable={this.range ? 'true' : null}>\n <caption class=\"pn-date-picker-sr-only\" key={this.getCurrentViewDate()}>\n {this.getCurrentViewDate()}\n </caption>\n <thead class=\"pn-date-picker-thead\">\n <tr class=\"pn-date-picker-tr\">\n {this.weekNumbers && <th class=\"pn-date-picker-th\" scope=\"col\" aria-hidden=\"true\"></th>}\n {this.listWeek.map(index => (\n <th class=\"pn-date-picker-th\" scope=\"col\" abbr={this.translateDateText({ day: index }, 'dddd')}>\n {this.translateDateText({ day: index }, 'ddd')}\n </th>\n ))}\n </tr>\n </thead>\n <tbody class=\"pn-date-picker-tbody\">\n {this.grid?.map(({ week, list }) => (\n <tr key={`${this.dateViewYear}-${week}`} class=\"pn-date-picker-tr\">\n {this.weekNumbers && (\n <td\n class=\"pn-date-picker-td\"\n data-blank\n data-week\n title={`${this.translate('WEEK_NAME')} ${week}`}\n aria-hidden=\"true\"\n >\n <span class=\"pn-date-picker-td-week\">{week}</span>\n </td>\n )}\n {list.map(({ day, date, blank }) => (\n <td\n key={`${this.dateViewYear}-${this.dateViewMonth}-${date}`}\n class=\"pn-date-picker-td\"\n {...this.getDayAttributes({ date, day }, blank)}\n >\n <span class=\"pn-date-picker-td-text\">{date}</span>\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n }\n\n /** Renders the month calendar grid. */\n private renderMonthGrid(): HTMLTableElement {\n return (\n <ul class=\"pn-date-picker-list\">\n {this.listMonths.map(month => (\n <li key={month} class=\"pn-date-picker-item\" data-item=\"month\">\n <button type=\"button\" class=\"pn-date-picker-button\" {...this.getDayAttributes({ month }, false)}>\n <span class=\"pn-date-picker-month\" data-full>\n {this.translateDateText({ month }, 'MMMM')}\n </span>\n <span class=\"pn-date-picker-month\" data-abbr>\n {this.translateDateText({ month }, 'MMM')}\n </span>\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n /** Renders the year calendar grid. */\n private renderYearGrid(): HTMLTableElement {\n return (\n <ul class=\"pn-date-picker-list\">\n {this.getYearGrid()?.map(year => (\n <li key={year} class=\"pn-date-picker-item\" data-item=\"year\">\n <button type=\"button\" class=\"pn-date-picker-button\" {...this.getDayAttributes({ year }, false)}>\n <span>{year}</span>\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n private renderInput({ to = false }: { to?: boolean } = {}) {\n const id = to ? this.idTo : this.idFrom;\n const idButton = to ? this.idToButton : this.idFromButton;\n const label = to ? this.labelTo : this.labelFrom;\n const value = to ? this.end : this.start;\n const placeholder = to ? this.endPlaceholder : this.placeholder;\n const list = to ? this.listEnd : this.list;\n\n const editing = this.open ? (this.selectingTo ? to : !to) : false;\n\n const defaultText = this.translate('SELECT_DATE') as string;\n\n const textProp = this.range ? (to ? 'END_' : 'START_') : '';\n const dateText = this.translate(`SELECTED_${textProp}DATE`) as string;\n\n let textButton = defaultText;\n if (value) {\n textButton += `, ${dateText.replace('{date}', value)}`;\n }\n\n const showButton = !(this.disabled || this.readonly);\n\n return (\n <div class=\"pn-date-picker-container\" data-error={this.hasError()}>\n <label class=\"pn-date-picker-label\" htmlFor={id}>\n <span>{label}</span>\n </label>\n <div class=\"pn-date-picker-field\">\n <input\n type=\"text\"\n id={id}\n class=\"pn-date-picker-input\"\n name={this.name}\n placeholder={placeholder}\n autocomplete={this.autocomplete}\n maxlength={this.disableMaxLength ? null : this.format.length}\n list={list}\n pattern={this.pattern}\n value={value}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n aria-describedby={this.ariaDescribedby()}\n aria-invalid={this.hasError()?.toString()}\n onInput={e => this.inputHandler(e, to)}\n data-active={editing}\n />\n {showButton && (\n <pn-button\n class=\"pn-date-picker-toggle\"\n buttonId={idButton}\n icon={calendar}\n iconOnly={true}\n appearance=\"light\"\n arialabel={textButton}\n ariaexpanded={this.open.toString()}\n ariacontrols={this.idCalendar}\n data-active={this.open}\n data-input\n small\n onPnClick={() => this.toggleGrid(null, to)}\n onKeyDown={e => this.handleButtonBlur(e)}\n />\n )}\n </div>\n </div>\n );\n }\n\n render() {\n return (\n <Host>\n <div class=\"pn-date-picker\">\n {this.renderInput()}\n\n {this.range && (\n <div class=\"pn-date-picker-range-icon test\">\n <pn-icon icon={arrow_right} />\n </div>\n )}\n\n {this.range && this.renderInput({ to: this.range })}\n </div>\n\n <div\n id={this.idCalendar}\n class=\"pn-date-picker-calendar\"\n role=\"dialog\"\n aria-label={this.translate('CALENDAR_NAVIGATION')}\n data-open={this.open}\n data-moving={this.isClosing || this.isExpanding}\n data-direction={this.openUp ? 'top' : 'bottom'}\n data-range={this.range}\n style={{ height: '0px' }}\n ref={el => (this.calendarElement = el)}\n onKeyDown={e => this.handleCalendarTabEsc(e)}\n >\n <div class=\"pn-date-picker-wrapper\">\n <nav class=\"pn-date-picker-nav\" aria-labelledby={this.idCalendar}>\n <pn-button\n hidden={this.viewingMonth()}\n small\n appearance=\"light\"\n arialabel={this.translate(`PREVIOUS_${this.viewType().toUpperCase()}`) as string}\n icon={arrow_left}\n iconOnly={true}\n onPnClick={() => this.setNavView({ minus: true })}\n />\n\n <pn-button\n hidden={!this.viewingCalendar()}\n small\n appearance=\"light\"\n onPnClick={() => this.setView(MONTHS)}\n >\n <span class=\"pn-date-picker-month\" data-full>\n {this.translateDateText({ date: 1 }, 'MMMM')}\n </span>\n <span class=\"pn-date-picker-month\" data-abbr>\n {this.translateDateText({ date: 1 }, 'MMM')}\n </span>\n </pn-button>\n\n <h2 hidden={this.viewingCalendar()} class=\"pn-date-picker-title\">\n {this.translate(`SELECT_${this.viewType().toUpperCase()}`)}\n </h2>\n\n <pn-button\n hidden={!this.viewingCalendar()}\n small\n appearance=\"light\"\n onPnClick={() => this.setView(YEARS)}\n >\n <span>{this.dateViewYear}</span>\n </pn-button>\n\n <pn-button\n hidden={this.viewingMonth()}\n small\n appearance=\"light\"\n arialabel={this.translate(`NEXT_${this.viewType().toUpperCase()}`) as string}\n icon={arrow_right}\n iconOnly={true}\n onPnClick={() => this.setNavView({ plus: true })}\n />\n </nav>\n\n {this.viewingYears() && this.renderYearGrid()}\n {this.viewingMonth() && this.renderMonthGrid()}\n {this.viewingCalendar() && this.renderDateGrid()}\n\n <aside class=\"pn-date-picker-chips\">\n <slot name=\"chips\"></slot>\n </aside>\n\n <nav class=\"pn-date-picker-bottom\" hidden={this.viewingCalendar()}>\n <pn-button\n appearance=\"light\"\n variant=\"outlined\"\n small\n icon={pn_return}\n onPnClick={() => this.setView(CALENDAR)}\n >\n <span>{this.translate('GO_CALENDAR')}</span>\n </pn-button>\n </nav>\n </div>\n </div>\n\n <p id={this.idHelper} class=\"pn-date-picker-helpertext\" hidden={!this.hasHelperText() || this.hasError()}>\n <span>{this.helpertext}</span>\n <slot name=\"helpertext\" />\n </p>\n\n <p id={this.idError} class=\"pn-date-picker-error\" role=\"alert\" hidden={!this.hasErrorMessage()}>\n <span>{this.error}</span>\n <slot name=\"error\" />\n </p>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"pn-date-picker.js","mappings":"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AS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CA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CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAA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AC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SA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AC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CA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","names":["icon","this","require$$0","PnDatePicker","en"],"sources":["node_modules/pn-design-assets/pn-assets/icons/calendar.js","node_modules/pn-design-assets/pn-assets/icons/pn_return.js","src/components/input/pn-date-picker/translations.ts","node_modules/dayjs/dayjs.min.js","node_modules/dayjs/plugin/weekOfYear.js","node_modules/dayjs/plugin/customParseFormat.js","node_modules/dayjs/plugin/isSameOrBefore.js","node_modules/dayjs/plugin/isSameOrAfter.js","node_modules/dayjs/plugin/toObject.js","node_modules/dayjs/locale/sv.js","node_modules/dayjs/locale/en.js","node_modules/dayjs/locale/da.js","node_modules/dayjs/locale/fi.js","node_modules/dayjs/locale/nb.js","src/globals/date/index.ts","src/components/input/pn-date-picker/pn-date-picker.scss?tag=pn-date-picker","src/components/input/pn-date-picker/pn-date-picker.tsx"],"sourcesContent":["const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M9 3.5a1 1 0 0 1 1 1V5h4v-.5a1 1 0 1 1 2 0V5h2a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V8a3 3 0 0 1 3-3h2v-.5a1 1 0 0 1 1-1M8 7H6a1 1 0 0 0-1 1v1.5h14V8a1 1 0 0 0-1-1h-2v.5a1 1 0 1 1-2 0V7h-4v.5a1 1 0 0 1-2 0zm11 4.5H5V17a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z\" clip-rule=\"evenodd\"/></svg>';\nexport const calendar = icon;\n","const icon = '<svg class=\"pn-icon-svg\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\"><path fill=\"#000\" fill-rule=\"evenodd\" d=\"M11.707 21.707a1 1 0 0 0 0-1.414L8.414 17H11.5a7.5 7.5 0 0 0 0-15H11a1 1 0 1 0 0 2h.5a5.5 5.5 0 1 1 0 11H8.414l3.293-3.293a1 1 0 0 0-1.414-1.414l-5 5a1 1 0 0 0 0 1.414l5 5a1 1 0 0 0 1.414 0M7 3a1 1 0 0 0 1 1h.01a1 1 0 0 0 0-2H8a1 1 0 0 0-1 1\" clip-rule=\"evenodd\"/></svg>';\nexport const pn_return = icon;\nexport const pnReturn = icon;\n","export const translations = {\n CALENDAR_NAVIGATION: {\n en: 'Calendar',\n sv: 'Kalender',\n da: 'Kalender',\n fi: 'Kalenteri',\n no: 'Kalender',\n },\n NEXT_YEAR: {\n en: 'Scroll forward',\n sv: 'Bläddra framåt',\n da: 'Rul frem',\n fi: 'Vieritä eteenpäin',\n no: 'Rull fremover',\n },\n PREVIOUS_YEAR: {\n en: 'Scroll backwards',\n sv: 'Bläddra bakåt',\n da: 'Rul baglæns',\n fi: 'Vieritä taaksepäin',\n no: 'Bla bakover',\n },\n NEXT_DATE: {\n en: 'Next month',\n sv: 'Nästa månad',\n da: 'Næste måned',\n fi: 'Ensi kuussa',\n no: 'Neste måned',\n },\n PREVIOUS_DATE: {\n en: 'Previous month',\n sv: 'Föregående månad',\n da: 'Forrige måned',\n fi: 'Edellinen kuukausi',\n no: 'Forrige måned',\n },\n SELECT_YEAR: {\n en: 'Choose year',\n sv: 'Välj år',\n da: 'Vælg år',\n fi: 'Valitse vuosi',\n no: 'Velg år',\n },\n SELECT_MONTH: {\n en: 'Choose month',\n sv: 'Välj månad',\n da: 'Vælg måned',\n fi: 'Valitse kuukausi',\n no: 'Velg måned',\n },\n SELECT_DATE: {\n en: 'Choose date',\n sv: 'Välj datum',\n da: 'Vælg dato',\n fi: 'Valitse päivämäärä',\n no: 'Velg dato',\n },\n SELECTED_DATE: {\n en: 'selected date is {date}.',\n sv: 'valt datum är {date}.',\n da: 'den valgte dato er {date}.',\n fi: 'valittu päivämäärä on {date}.',\n no: 'valgt dato er {date}.',\n },\n SELECTED_START_DATE: {\n en: 'selected start date is {date}.',\n sv: 'valt startdatum är {date}.',\n da: 'den valgte startdato er {date}.',\n fi: 'valittu aloituspäivä on {date}.',\n no: 'valgt startdato er {date}.',\n },\n SELECTED_END_DATE: {\n en: 'selected end date is {date}.',\n sv: 'valt slutdatum är {date}.',\n da: 'den valgte slutdato er {date}.',\n fi: 'valittu lopetuspäivä on {date}.',\n no: 'valgt sluttdato er {date}.',\n },\n WEEK_NAME: {\n en: 'Week',\n sv: 'Vecka',\n da: 'Uge',\n fi: 'Viikko',\n no: 'Uke',\n },\n GO_CALENDAR: {\n en: 'Calendar view',\n sv: 'Kalendervyn',\n da: 'Kalendervisning',\n fi: 'Kalenterinäkymä',\n no: 'Kalendervisning',\n },\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){\"use strict\";var e=\"week\",t=\"year\";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),\"day\");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d/,r=/\\d\\d/,i=/\\d\\d?/,o=/\\d*[^-_:/,()\\s\\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f<a;f+=1){var h=o[f],u=c[h],d=u&&u[0],l=u&&u[1];o[f]=l?{regex:d,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=o[n];if(\"string\"==typeof i)r+=i.length;else{var s=i.regex,f=i.parser,h=e.slice(r),u=s.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(a=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,o=e.args;this.$u=r;var a=o[1];if(\"string\"==typeof a){var f=!0===o[2],h=!0===o[3],u=f||h,d=o[2];h&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=function(e,t,n,r){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrBefore=i()}(this,(function(){\"use strict\";return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isSameOrAfter=t()}(this,(function(){\"use strict\";return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_toObject=e()}(this,(function(){\"use strict\";return function(t,e){e.prototype.toObject=function(){return{years:this.$y,months:this.$M,date:this.$D,hours:this.$H,minutes:this.$m,seconds:this.$s,milliseconds:this.$ms}}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_sv=t(e.dayjs)}(this,(function(e){\"use strict\";function t(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var a=t(e),d={name:\"sv\",weekdays:\"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag\".split(\"_\"),weekdaysShort:\"sön_mån_tis_ons_tor_fre_lör\".split(\"_\"),weekdaysMin:\"sö_må_ti_on_to_fr_lö\".split(\"_\"),months:\"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),weekStart:1,yearStart:4,ordinal:function(e){var t=e%10;return\"[\"+e+(1===t||2===t?\"a\":\"e\")+\"]\"},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [kl.] HH:mm\",LLLL:\"dddd D MMMM YYYY [kl.] HH:mm\",lll:\"D MMM YYYY HH:mm\",llll:\"ddd D MMM YYYY HH:mm\"},relativeTime:{future:\"om %s\",past:\"för %s sedan\",s:\"några sekunder\",m:\"en minut\",mm:\"%d minuter\",h:\"en timme\",hh:\"%d timmar\",d:\"en dag\",dd:\"%d dagar\",M:\"en månad\",MM:\"%d månader\",y:\"ett år\",yy:\"%d år\"}};return a.default.locale(d,null,!0),d}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_en=n()}(this,(function(){\"use strict\";return{name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(e){var n=[\"th\",\"st\",\"nd\",\"rd\"],t=e%100;return\"[\"+e+(n[(t-20)%10]||n[t]||n[0])+\"]\"}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_da=t(e.dayjs)}(this,(function(e){\"use strict\";function t(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var d=t(e),a={name:\"da\",weekdays:\"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag\".split(\"_\"),weekdaysShort:\"søn._man._tirs._ons._tors._fre._lør.\".split(\"_\"),weekdaysMin:\"sø._ma._ti._on._to._fr._lø.\".split(\"_\"),months:\"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj_juni_juli_aug._sept._okt._nov._dec.\".split(\"_\"),weekStart:1,yearStart:4,ordinal:function(e){return e+\".\"},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd [d.] D. MMMM YYYY [kl.] HH:mm\"},relativeTime:{future:\"om %s\",past:\"%s siden\",s:\"få sekunder\",m:\"et minut\",mm:\"%d minutter\",h:\"en time\",hh:\"%d timer\",d:\"en dag\",dd:\"%d dage\",M:\"en måned\",MM:\"%d måneder\",y:\"et år\",yy:\"%d år\"}};return d.default.locale(a,null,!0),a}));","!function(u,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],e):(u=\"undefined\"!=typeof globalThis?globalThis:u||self).dayjs_locale_fi=e(u.dayjs)}(this,(function(u){\"use strict\";function e(u){return u&&\"object\"==typeof u&&\"default\"in u?u:{default:u}}var t=e(u);function n(u,e,t,n){var i={s:\"muutama sekunti\",m:\"minuutti\",mm:\"%d minuuttia\",h:\"tunti\",hh:\"%d tuntia\",d:\"päivä\",dd:\"%d päivää\",M:\"kuukausi\",MM:\"%d kuukautta\",y:\"vuosi\",yy:\"%d vuotta\",numbers:\"nolla_yksi_kaksi_kolme_neljä_viisi_kuusi_seitsemän_kahdeksan_yhdeksän\".split(\"_\")},a={s:\"muutaman sekunnin\",m:\"minuutin\",mm:\"%d minuutin\",h:\"tunnin\",hh:\"%d tunnin\",d:\"päivän\",dd:\"%d päivän\",M:\"kuukauden\",MM:\"%d kuukauden\",y:\"vuoden\",yy:\"%d vuoden\",numbers:\"nollan_yhden_kahden_kolmen_neljän_viiden_kuuden_seitsemän_kahdeksan_yhdeksän\".split(\"_\")},s=n&&!e?a:i,_=s[t];return u<10?_.replace(\"%d\",s.numbers[u]):_.replace(\"%d\",u)}var i={name:\"fi\",weekdays:\"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai\".split(\"_\"),weekdaysShort:\"su_ma_ti_ke_to_pe_la\".split(\"_\"),weekdaysMin:\"su_ma_ti_ke_to_pe_la\".split(\"_\"),months:\"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu\".split(\"_\"),monthsShort:\"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu\".split(\"_\"),ordinal:function(u){return u+\".\"},weekStart:1,yearStart:4,relativeTime:{future:\"%s päästä\",past:\"%s sitten\",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},formats:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM[ta] YYYY\",LLL:\"D. MMMM[ta] YYYY, [klo] HH.mm\",LLLL:\"dddd, D. MMMM[ta] YYYY, [klo] HH.mm\",l:\"D.M.YYYY\",ll:\"D. MMM YYYY\",lll:\"D. MMM YYYY, [klo] HH.mm\",llll:\"ddd, D. MMM YYYY, [klo] HH.mm\"}};return t.default.locale(i,null,!0),i}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_nb=t(e.dayjs)}(this,(function(e){\"use strict\";function t(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var n=t(e),a={name:\"nb\",weekdays:\"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag\".split(\"_\"),weekdaysShort:\"sø._ma._ti._on._to._fr._lø.\".split(\"_\"),weekdaysMin:\"sø_ma_ti_on_to_fr_lø\".split(\"_\"),months:\"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.\".split(\"_\"),ordinal:function(e){return e+\".\"},weekStart:1,yearStart:4,formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY [kl.] HH:mm\",LLLL:\"dddd D. MMMM YYYY [kl.] HH:mm\"},relativeTime:{future:\"om %s\",past:\"%s siden\",s:\"noen sekunder\",m:\"ett minutt\",mm:\"%d minutter\",h:\"en time\",hh:\"%d timer\",d:\"en dag\",dd:\"%d dager\",M:\"en måned\",MM:\"%d måneder\",y:\"ett år\",yy:\"%d år\"}};return n.default.locale(a,null,!0),a}));","import dayjs from 'dayjs';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter';\nimport toObject from 'dayjs/plugin/toObject';\nimport 'dayjs/locale/sv.js';\nimport 'dayjs/locale/en.js';\nimport 'dayjs/locale/da.js';\nimport 'dayjs/locale/fi.js';\nimport 'dayjs/locale/nb.js';\n\nimport { PnLanguages } from '../types';\n\ndayjs.extend(weekOfYear);\ndayjs.extend(customParseFormat);\ndayjs.extend(isSameOrBefore);\ndayjs.extend(isSameOrAfter);\ndayjs.extend(toObject);\n\nconst CALENDAR = 'calendar';\nconst MONTHS = 'months';\nconst YEARS = 'years';\n\nexport type DateType = 'date' | 'month' | 'year';\n\ntype GridDay = {\n day: number;\n date?: number;\n blank?: boolean;\n};\n\ntype GridWeek = {\n week: string;\n list: GridDay[];\n};\n\nexport type GridDate = GridWeek[];\n\nexport type DateObject = {\n year?: number;\n month?: number;\n date?: number;\n day?: number;\n};\n\nexport type DateObjectStrict = {\n year: number;\n month: number;\n date: number;\n day?: number;\n};\n\nexport type CalendarView = typeof CALENDAR | typeof MONTHS | typeof YEARS;\n\nexport type PnDatePickerSelectEvent = { start: string; end?: string; days?: number };\nexport type PnDatePickerFocusOptions = {\n /** Select the first focusable element. */\n first?: boolean;\n /** Select the focusable element in the grid view. */\n grid?: boolean;\n};\n\nexport { CALENDAR, MONTHS, YEARS };\n\nexport function getToday(): dayjs.Dayjs {\n return dayjs();\n}\n\nexport function getDayjsObject({ year, month, date }: DateObjectStrict) {\n return dayjs().set('year', year).set('month', month).set('date', date);\n}\n\n/** Validate the date. */\nexport function validateDate(value: string | DateObjectStrict, format: string): boolean {\n if (!value) return false;\n const val = typeof value === 'string' ? value : getDayjsObject(value);\n return dayjs(val, format, true).isValid();\n}\n\n/**\n * Get the Dayjs object with the value & format param.\n **/\nexport function getDate(value: string | DateObjectStrict, format: string): dayjs.Dayjs {\n const val = typeof value === 'string' ? value : getDayjsObject(value);\n return dayjs(val, format);\n}\n\n/** Get a readable i18n format of the date. */\nexport function getReadableDate(date: DateObjectStrict, lang: PnLanguages, format: string): string {\n const data = getDateJs(date);\n return data.locale(lang === 'no' ? 'nb' : lang).format(format);\n}\n\nexport function getDateJs({ year, month, date, day }: DateObjectStrict): dayjs.Dayjs {\n const dateObject = dayjs().set('y', year).set('M', month).set('D', date);\n if (typeof day === 'number') return dateObject.set('d', day);\n return dateObject;\n}\n\nexport function getDateObject(data: dayjs.Dayjs | string, format?: string): DateObjectStrict {\n const dateObj = typeof data === 'string' ? getDate(data, format) : data;\n\n const year = dateObj.get('year');\n const month = dateObj.get('month');\n const date = dateObj.get('date');\n const day = dateObj.get('day');\n\n return {\n year,\n month,\n date,\n day,\n };\n}\n\nexport function getDiff(from: string | DateObjectStrict, to: string | DateObjectStrict, format: string) {\n const dateFrom = getDate(from, format);\n const dateTo = getDate(to, format);\n return dateTo.diff(dateFrom, 'd');\n}\n\nexport function isBefore(\n data: string | DateObjectStrict,\n max: string | DateObjectStrict,\n format: string,\n type: DateType,\n) {\n const date = getDate(data, format);\n const dateMax = getDate(max, format);\n\n return date.isSameOrBefore(dateMax, type);\n}\n\nexport function isAfter(\n data: string | DateObjectStrict,\n min: string | DateObjectStrict,\n format: string,\n type: DateType,\n) {\n const date = getDate(data, format);\n const dateMin = getDate(min, format);\n\n return date.isSameOrAfter(dateMin, type);\n}\n\nexport function selectedDate(\n dateOne: string | DateObjectStrict,\n dateTwo: string | DateObjectStrict,\n format: string,\n type: DateType,\n): boolean {\n if (!validateDate(dateOne, format) || !validateDate(dateTwo, format)) return false;\n\n let date = getDate(dateOne, format);\n let compare = getDate(dateTwo, format);\n\n if (type === 'month') {\n date = date.set('year', 2000);\n compare = compare.set('year', 2000);\n }\n\n return date.isSame(compare, type);\n}\n\nexport function modifyDate({\n data,\n amount = 1,\n unit,\n minus,\n plus,\n}: {\n data: dayjs.Dayjs;\n amount?: number;\n unit: dayjs.ManipulateType;\n minus?: boolean;\n plus?: boolean;\n}) {\n if (minus) return data.subtract(amount, unit);\n if (plus) return data.add(amount, unit);\n return data;\n}\n\n/** Set another year for the value. */\nexport function setYear({\n year,\n minus = false,\n plus = false,\n}: {\n year: number;\n minus?: boolean;\n plus?: boolean;\n}): number {\n const data = dayjs().set('year', year);\n return modifyDate({ data, unit: 'y', plus, minus }).year();\n}\n\n/**\n * You select a month you wish to decrease or increase by 1.\n */\nexport function setMonth({\n month,\n minus = false,\n plus = false,\n}: {\n month: number;\n minus?: boolean;\n plus?: boolean;\n}): number {\n const data = dayjs().set('month', month);\n return modifyDate({ data, unit: 'M', plus, minus }).month();\n}\n\nexport function setDay(\n date: DateObjectStrict,\n {\n minus = false,\n plus = false,\n }: {\n minus?: boolean;\n plus?: boolean;\n },\n): number {\n const data = getDayjsObject(date);\n return modifyDate({ data, unit: 'D', plus, minus }).date();\n}\n\nexport function navigateGrid(code: string, data: DateObjectStrict, disableWeekends: boolean, type: DateType) {\n if (type === 'date') return navDate(code, data, disableWeekends);\n return navList(code, data, type);\n}\n\nexport function navDate(code: string, data: DateObjectStrict, disableWeekend: boolean): dayjs.Dayjs {\n const date = getDayjsObject(data);\n\n const { space, enter, next, down, previous, upwards, pageDown, pageUp, end, home } = getCode(code);\n\n if (space || enter) return date;\n\n if (next || down) return date.add(next ? 1 : 7, 'day');\n if (previous || upwards) return date.subtract(previous ? 1 : 7, 'day');\n\n if (pageDown) return date.add(1, 'month');\n if (pageUp) return date.subtract(1, 'month');\n\n const day = date.get('day');\n\n const endDay = disableWeekend ? 5 : 7;\n const startDay = day === 0 ? -6 : 1;\n\n if (end && day !== 0) return date.set('day', endDay);\n if (home && day !== 1) return date.set('day', startDay);\n\n return date;\n}\n\nexport function navList(key: string, data: DateObjectStrict, type: DateType): dayjs.Dayjs {\n const date = getDayjsObject(data);\n\n const enter = key.match(/^(Enter|Space)$/);\n if (enter) return date;\n\n // Add one day\n const next = key === 'ArrowRight';\n // Minus one day\n const previous = key === 'ArrowLeft';\n // Add one week\n const down = key === 'ArrowDown';\n // Minus one week\n const upwards = key === 'ArrowUp';\n\n const setNumber = next || previous ? 1 : 3;\n\n const { years, months } = date.toObject();\n\n const dateValue = type === 'year' ? years : months;\n const oppositeType = type === 'year' ? 'month' : 'year';\n\n if (next || down) return date.set(type, dateValue + setNumber).set(oppositeType, data[oppositeType]);\n if (previous || upwards) return date.set(type, dateValue - setNumber).set(oppositeType, data[oppositeType]);\n\n return date;\n}\n\nexport function getGrid(year: number, month: number): GridDate {\n const allDays = [];\n\n const grid: GridDate = [];\n\n const date = dayjs().set('year', year).set('month', month);\n\n const numberOfDays = date.daysInMonth();\n\n for (let i = 0; numberOfDays > i; i++) {\n const day = date.set('date', i);\n const week = day.week();\n\n allDays.push({\n week,\n day: day.day() + 1,\n date: i + 1,\n });\n }\n\n const weeks = [...new Set(allDays.map(({ week }) => week))];\n\n weeks.forEach((week, index) => {\n const list = allDays.filter(day => day.week === week);\n\n if (index === 0 && list.length !== 7) {\n const numberOfDaysOutsideWeek = 7 - list.length;\n for (let i = 0; numberOfDaysOutsideWeek > i; i++) {\n list.unshift({ week, blank: true });\n }\n }\n\n if (index + 1 === weeks.length && list.length !== 7) {\n const numberOfDaysOutsideWeek = 7 - list.length;\n for (let i = 0; numberOfDaysOutsideWeek > i; i++) {\n list.push({ week, blank: true });\n }\n }\n\n grid.push({ week: week, list });\n });\n\n return grid;\n}\n\nexport function getCode(code: string) {\n const enter = code === 'Enter';\n const space = code === 'Space';\n // Add/sub one day\n const next = code === 'ArrowRight';\n const previous = code === 'ArrowLeft';\n // Add/sub one week\n const down = code === 'ArrowDown';\n const upwards = code === 'ArrowUp';\n // Add/sub one month\n const pageDown = code === 'PageDown';\n const pageUp = code === 'PageUp';\n // Go the first/last day of the week\n const end = code === 'End';\n const home = code === 'Home';\n return {\n enter,\n space,\n next,\n previous,\n down,\n upwards,\n pageDown,\n pageUp,\n end,\n home,\n };\n}\n","@use 'src/globals/main';\n@use 'sass:string';\n\n@mixin date-today {\n font-weight: 500;\n &::after {\n content: '';\n position: absolute;\n bottom: 0.25em;\n left: calc(50% - 0.125em);\n height: 0.25em;\n width: 0.25em;\n background-color: main.$blue700;\n border-radius: 50%;\n }\n}\n\npn-date-picker {\n position: relative;\n display: block;\n}\n\npn-date-picker .pn-date-picker {\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n gap: 0.25em;\n\n container-type: inline-size;\n\n @container (max-width: 24em) {\n .pn-date-picker-container {\n flex: 1 1 20em;\n }\n .pn-date-picker-range-icon {\n display: none;\n }\n }\n\n &-container {\n display: block;\n flex: 1 1 11em;\n\n &[data-error] {\n > .pn-date-picker-label {\n color: main.$warning;\n }\n > .pn-date-picker-field .pn-date-picker-input {\n @include main.pn-input-field-error;\n }\n }\n }\n\n &-label {\n @include main.pn-input-label;\n }\n\n &-field {\n position: relative;\n display: flex;\n }\n\n &-input {\n @include main.pn-input-field;\n padding-right: 3em;\n flex: auto;\n width: 100%;\n\n &::-webkit-calendar-picker-indicator {\n visibility: hidden;\n inline-size: 0;\n }\n\n &::-webkit-textfield-decoration-container,\n &::-webkit-search-cancel-button,\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button,\n &::-webkit-search-decoration {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n }\n\n &[data-active] {\n border-color: main.$border-color-default-active;\n }\n &:read-only {\n @include main.pn-readonly;\n }\n }\n\n &-range-icon {\n width: 1.5em;\n margin-bottom: 0.8125em;\n align-self: end;\n }\n\n &-helpertext,\n &-error {\n @include main.pn-input-helpertext;\n text-align: left;\n &[hidden] {\n display: none;\n }\n }\n\n &-error {\n color: main.$warning;\n }\n\n &-toggle {\n position: absolute;\n top: 0.5em;\n right: 0.5em;\n border-radius: 50%;\n }\n\n &-button {\n cursor: pointer;\n font-size: 1em;\n background-color: transparent;\n border: main.$input-border;\n border-color: transparent;\n padding: 0.25em;\n margin: 0;\n flex: auto;\n border-radius: 3em;\n\n &:first-child,\n &:last-child {\n flex: 0 0 auto;\n }\n\n @include main.pn-transition('outline-color, background-color, border-color');\n @include main.pn-focus-base();\n\n &:focus {\n background-color: main.$white;\n @include main.pn-focus-visible();\n }\n\n &:hover {\n background-color: main.$input-button-background-hover;\n }\n\n &[data-active],\n &[data-range] {\n background-color: main.$input-button-background-active;\n border-color: main.$blue700;\n }\n\n &:disabled {\n cursor: not-allowed;\n &:hover {\n background-color: transparent;\n }\n }\n }\n\n &-month {\n text-transform: capitalize;\n &[data-full] {\n display: none;\n @media (min-width: 25em) {\n display: inline;\n }\n }\n &[data-abbr] {\n display: inline;\n @media (min-width: 25em) {\n display: none;\n }\n }\n }\n\n @include main.pn-sr-only-class();\n\n /** The calendar dropdown */\n &-calendar {\n position: absolute;\n z-index: 4;\n top: calc(100% + 0.5em);\n\n left: var(--pn-calendar-offset-left);\n width: clamp(100%, 95vw, 20em);\n max-width: 20em;\n\n text-align: center;\n\n border-radius: main.$border-radius;\n background-color: main.$white;\n\n overflow: hidden;\n visibility: hidden;\n box-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.1);\n\n &[data-range] {\n max-width: unset;\n }\n\n &[data-open],\n &[data-moving] {\n visibility: visible;\n }\n\n &[data-direction='top'] {\n top: unset;\n bottom: calc(100% + 0.5em);\n transform-origin: bottom left;\n }\n\n pn-button[hidden] {\n display: none;\n }\n\n pn-button span {\n text-transform: capitalize;\n }\n }\n\n &-wrapper {\n padding: 0.5em;\n }\n\n &-title {\n margin: 0.5em auto 0;\n font-size: 0.875em;\n font-weight: 500;\n color: main.$gray900;\n }\n\n &-nav {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n margin-bottom: 1em;\n }\n\n &-table {\n width: 100%;\n table-layout: fixed;\n border-spacing: 0;\n border: 0;\n margin: 0 0 0.5em;\n }\n\n &-th {\n font-size: 0.75em;\n font-weight: 500;\n color: main.$helpertext-color;\n padding: 0.25em;\n border: 0;\n text-transform: capitalize;\n }\n\n &-td {\n cursor: pointer;\n position: relative;\n padding: 0.25em;\n outline: 0;\n border: 0;\n line-height: 0;\n width: 2em;\n height: 2em;\n -webkit-tap-highlight-color: transparent;\n\n &-text {\n position: relative;\n display: block;\n line-height: 1.5em;\n border-radius: main.$border-radius;\n color: main.$input-color;\n padding: 0.25em;\n\n @include main.pn-transition('color, background-color, outline-color');\n @include main.pn-focus-base;\n }\n\n &[data-blank] {\n cursor: auto;\n .pn-date-picker-td-text {\n background-color: transparent;\n }\n }\n\n &-week {\n font-size: 0.75em;\n color: main.$gray700;\n display: block;\n }\n\n &:before {\n content: '';\n position: absolute;\n left: 0;\n top: 0.25em;\n height: calc(100% - 0.5em);\n width: 100%;\n background-color: transparent;\n border: 0.0625em solid transparent;\n border-radius: main.$border-radius;\n @include main.pn-transition('border-color, background-color, width, transform, left');\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n pointer-events: none;\n > .pn-date-picker-td-text {\n color: main.$input-color-disabled;\n background-color: main.$input-background-disabled;\n }\n &:focus > .pn-date-picker-td-text {\n @include main.pn-focus-visible(main.$warning);\n }\n &:hover,\n &:focus {\n > .pn-date-picker-td-text {\n background-color: main.$input-background-disabled;\n }\n }\n }\n\n &[aria-selected='true'] {\n .pn-date-picker-td-text {\n font-weight: 500;\n }\n &:before {\n border-color: main.$blue700;\n background-color: main.$blue25;\n }\n &[data-single]:before {\n width: 2em;\n left: 50%;\n transform: translateX(-50%);\n }\n &[data-range]:before {\n border-radius: 0;\n border-left-width: 0;\n border-right-width: 0;\n }\n &[data-range-from]:before {\n border-radius: main.$border-radius 0 0 main.$border-radius;\n border-right-width: 0;\n border-left-width: 0.0625em;\n }\n &[data-range-to]:before {\n border-radius: 0 main.$border-radius main.$border-radius 0;\n border-right-width: 0.0625em;\n border-left-width: 0;\n }\n &[aria-disabled='true'] {\n &:before {\n border-color: main.$warning;\n background-color: main.$coral50;\n }\n > .pn-date-picker-td-text {\n background-color: unset;\n }\n &:focus > .pn-date-picker-td-text {\n background-color: main.$input-background-disabled;\n }\n }\n }\n\n &[aria-selected='false']:hover > .pn-date-picker-td-text {\n background-color: main.$input-button-background-hover;\n }\n\n &[data-today] > .pn-date-picker-td-text {\n @include date-today;\n &:after {\n bottom: 0.15em;\n }\n }\n\n &[data-active][data-today] > .pn-date-picker-td-text:after {\n background-color: main.$blue700;\n }\n\n &:focus-visible > .pn-date-picker-td-text {\n @include main.pn-focus-visible(main.$blue700);\n }\n }\n\n /* Month list */\n &-list {\n margin: 0 0 1em;\n padding: 0;\n list-style: none;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-gap: 0.5em;\n }\n\n &-item {\n > .pn-date-picker-button {\n display: block;\n width: 100%;\n border-radius: main.$border-radius;\n padding: 0.5em 0.25em;\n &[data-today] {\n position: relative;\n @include date-today;\n }\n }\n }\n\n &-chips > [slot='chips'] {\n display: flex;\n justify-content: flex-start;\n flex-wrap: wrap;\n gap: 0.5em;\n margin-bottom: 0.5em;\n &:empty {\n display: none;\n }\n }\n\n &-bottom {\n display: flex;\n justify-content: flex-end;\n gap: 0.5em;\n &[hidden] {\n display: none;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch, Listen } from '@stencil/core';\nimport { PnLanguages, awaitTopbar, uuidv4, en, getTotalHeightOffset, reduceMotion, getMenuWidth } from '@/index';\n\nimport { translations } from './translations';\n\nimport type {\n DateType,\n GridDate,\n DateObject,\n DateObjectStrict,\n CalendarView,\n PnDatePickerSelectEvent,\n PnDatePickerFocusOptions,\n} from '@/globals/date';\nimport {\n CALENDAR,\n MONTHS,\n YEARS,\n validateDate,\n isBefore,\n isAfter,\n selectedDate,\n getDateObject,\n getDiff,\n getToday,\n getDate,\n getReadableDate,\n getGrid,\n setYear,\n setMonth,\n navigateGrid,\n} from '@/globals/date';\nimport { calendar, arrow_left, arrow_right, pn_return } from 'pn-design-assets/pn-assets/icons.js';\n\nimport type { Dayjs } from 'dayjs';\n\n/**\n * The date picker allows a single or a range of dates to be selected.\n *\n * Based on the `format` prop, separators will automatically be added if you type the date.\n *\n * You can navigate the calendar grid with your keyboard.\n *\n * @nativeInput Use the `input` event to listen to content being modified by the user. It is emitted everytime a user writes or removes content in the input.\n * @nativeChange The `change` event is emitted when the input loses focus, the user clicks `Enter` or makes a selection (such as auto complete or suggestions).\n *\n * @slot chips - Introduce some quick date selectors underneath the calendar grid. Use the `pn-choice-chip` component.\n * @slot helpertext - You can use this slot instead of the prop `helpertext`. Recommended, only if you need to include additional HTML markup. Such as a `pn-text-link`. Use a `span` element to wrap the text and link.\n * @slot error - You can use this slot instead of the prop `error`. Recommended, only if you need to include additional HTML markup. Such as a `pn-text-link`. Use a `span` element to wrap the text and link.\n */\n@Component({\n tag: 'pn-date-picker',\n styleUrl: 'pn-date-picker.scss',\n})\nexport class PnDatePicker {\n id: string = `pn-date-picker-${uuidv4()}`;\n\n idFrom: string = `${this.id}-from`;\n idTo: string = `${this.id}-to`;\n idFromButton: string = `${this.id}-from-button`;\n idToButton: string = `${this.id}-to-button`;\n idHelper: string = `${this.id}-helper`;\n idError: string = `${this.id}-error`;\n idCalendar: string = `${this.id}-calendar`;\n\n calendarElement: HTMLDivElement;\n\n today: Dayjs = getToday();\n animation: Animation;\n\n animationDurationDefault: number = 400;\n animationDuration: number = this.animationDurationDefault;\n\n separators: { index: number; name: string }[] = [];\n separatorRegex: RegExp = /[^a-zA-Z\\d\\s:]/g;\n\n listMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n listWeek = [1, 2, 3, 4, 5, 6, 0];\n\n @Element() hostElement: HTMLElement;\n\n @State() open: boolean = false;\n @State() openUp: boolean = false;\n\n @State() selectingTo: boolean = false;\n\n @State() grid: GridDate;\n\n @State() viewYearStart: number = null;\n\n @State() dateViewYear: number;\n @State() dateViewMonth: number;\n @State() dateViewDate: number;\n\n @State() showHelperSlot: boolean;\n @State() showErrorSlot: boolean;\n\n @State() isClosing = false;\n @State() isExpanding = false;\n\n /** Set a label for the from date. */\n @Prop() labelFrom!: string;\n /** Set a label for the to date. @see {@link range} */\n @Prop() labelTo?: string;\n /** Provide a helpertext for the date input. */\n @Prop() helpertext?: string;\n /** Set a predefined value for the from date. @see {@link format} */\n @Prop({ mutable: true }) start: string = '';\n /**\n * Set a predefined value for the from date.\n *\n * @see {@link range}\n * @see {@link format}\n */\n @Prop({ mutable: true }) end: string = '';\n /**\n * Set the date format of the value.\n *\n * While you can set any date value from the Dayjs documentation,\n * we strongly recommend you pick a simple format that you can also type manually.\n *\n * @see {@link https://day.js.org/docs/en/display/format Day.js format documentation.}\n */\n @Prop() format: string = 'YYYY-MM-DD';\n /** Manually set language; this will be inherited from the topbar. */\n @Prop() language?: PnLanguages = null;\n\n /** Set a custom ID for the calendar. @category HTML attributes */\n @Prop() dateId: string = this.id;\n /** HTML input name @category HTML attributes */\n @Prop() name?: string;\n /**\n * Placeholder for the input field (defaults to the format prop).\n * @see {@link format}\n * @category HTML attributes\n **/\n @Prop() placeholder?: string = this.format;\n /**\n * Placeholder for end date (defaults to the format prop).\n * @see {@link format}\n * @category HTML attributes\n **/\n @Prop() endPlaceholder?: string = this.format;\n /** Set the input `autocomplete` attribute. @category HTML attributes */\n @Prop() autocomplete?: string;\n /** Set the input `list` attribute for the first date input. @category HTML attributes */\n @Prop() list?: string;\n /** Set the input `list` attribute for the second date input. @category HTML attributes */\n @Prop() listEnd?: string;\n /** Set the HTML pattern prop on the input elements. Make sure it matches the format. @category HTML attributes */\n @Prop() pattern?: string;\n\n /** Allow the selection of a date range. @category Features */\n @Prop() range: boolean = false;\n /**\n * Set a limit on how many days one may select.\n * By default, you can select an unlimited range.\n *\n * @todo Create a range limit function.\n * @see {@link range}\n *\n * @category Features\n * @hide true\n **/\n @Prop() rangeLimit?: number;\n /** The calendar grid is shown as default. You can set either `months` or `years` as your first choice. @category Features */\n @Prop({ mutable: true }) view: CalendarView = CALENDAR;\n /** Make the calendar open upwards by default. Opens downwards if there is not enough space. @category Features */\n @Prop() calendarUp: boolean = false;\n /** Show weekend numbers to the left of the calendar grid. @category Features */\n @Prop() weekNumbers: boolean = false;\n /** Disable the automatic insertion of separators when typing in the input. @category Features */\n @Prop() disableTypeAhead: boolean = false;\n /** Remove the option to select dates on weekends. @category Features */\n @Prop() disableWeekends: boolean = false;\n /**\n * Individual dates you want to disable. Use a comma separated string.\n *\n * Remember to use the same format that you have in the `format` prop.\n * @see {@link format}\n * @example \"YYYY-MM-DD,YYYY-MM-DD\"\n * @category Features\n **/\n @Prop() disabledDates?: string;\n /** If you use a format with an unknown length, disable the max length. @category Features */\n @Prop() disableMaxLength?: boolean = false;\n\n /** Set the date picker as required. @category State */\n @Prop() required: boolean = false;\n /** Set the date picker as readonly. @category State */\n @Prop() readonly: boolean = false;\n /** Set the date picker as disabled. @category State */\n @Prop() disabled: boolean = false;\n\n /** Set an error message for the date picker. Overwrites the helpertext if used at the same time. @category Validation */\n @Prop() error?: string;\n /** Trigger the invalid state without an error message. @category Validation */\n @Prop() invalid: boolean = false;\n\n /**\n * Earliest date possible, this will determine how many years back the date picker will show.\n *\n * Remember to use the same format that you have in the `format` prop.\n * @see {@link format}\n * @example \"2024-05-25\"\n * @category Min/max date\n **/\n @Prop({ mutable: true }) minDate?: string = null;\n @Watch('minDate')\n watchMin() {\n if (this.minDate === null) return;\n if (!validateDate(this.minDate, this.format)) this.minDate = null;\n }\n\n /**\n * Latest date possible, this will determine how many years forward the date picker will show.\n *\n * Remember to use the same format that you have in the `format` prop.\n * @see {@link format}\n * @example \"2024-06-25\"\n * @category Min/max date\n **/\n @Prop({ mutable: true }) maxDate?: string = null;\n @Watch('maxDate')\n watchMax() {\n if (this.maxDate === null) return;\n if (!validateDate(this.maxDate, this.format)) this.maxDate = null;\n }\n\n @Watch('start')\n watchValue() {\n if (!validateDate(this.start, this.format)) return this.dateInvalid.emit({ start: this.start });\n\n const { year, month, date } = getDateObject(this.start, this.format);\n\n this.setViewYear({ year });\n this.setViewMonth({ month });\n this.setViewDate({ date });\n\n if (this.range && isAfter(this.start, this.end, this.format, 'date')) {\n this.end = '';\n }\n\n this.emitSelection();\n }\n\n @Watch('end')\n watchValueTo() {\n if (!this.range) return;\n if (!validateDate(this.end, this.format)) return this.dateInvalid.emit({ end: this.end });\n\n const date = getDate(this.end, this.format);\n\n this.setViewYear({ year: date.year() });\n this.setViewMonth({ month: date.month() });\n this.setViewDate({ date: date.date() });\n\n if (isAfter(this.start, this.end, this.format, 'date')) {\n const value = this.start;\n this.start = this.end;\n this.end = value;\n }\n\n this.emitSelection();\n }\n\n @Watch('format')\n handleFormat() {\n this.separators.length = 0;\n this.format\n .split('')\n .forEach((item, index) => this.separatorRegex.exec(item) && this.separators.push({ name: item, index }));\n }\n\n @Watch('id')\n watchId() {\n this.idFrom = `${this.dateId}-from`;\n this.idTo = `${this.dateId}-to`;\n this.idFromButton = `${this.id}-from-button`;\n this.idToButton = `${this.id}-to-button`;\n this.idHelper = `${this.dateId}-helper`;\n this.idError = `${this.dateId}-error`;\n this.idCalendar = `${this.dateId}-calendar`;\n }\n\n @Watch('dateViewYear')\n @Watch('dateViewMonth')\n @Watch('dateViewDate')\n watchView() {\n const data = this.getCurrentDateObject();\n if (validateDate(data, this.format)) this.updateGrid();\n }\n\n @Watch('open')\n watchOpen() {\n this.toggleCalendar.emit(this.open);\n\n this.gridHandler();\n\n if (this.open) this.addGlobalEventListeners();\n else return this.removeGlobalEventListeners();\n\n this.calendarElement.style.removeProperty('--pn-calendar-offset-left');\n\n this.openUp = this.calendarUp;\n\n requestAnimationFrame(() => {\n const rectHost = this.getRect(this.hostElement);\n\n const { scrollHeight } = this.calendarElement;\n const { innerHeight, innerWidth } = window;\n\n const offsetTop = getTotalHeightOffset();\n\n const spaceUpwards = rectHost.y - offsetTop;\n const spaceDownwards = innerHeight - rectHost.bottom;\n\n const fitUpwards = spaceUpwards > scrollHeight;\n const fitDownwards = spaceDownwards > scrollHeight;\n\n const openTop = (this.openUp && (fitUpwards || spaceUpwards > spaceDownwards)) || (!fitDownwards && fitUpwards);\n\n this.openUp = openTop;\n\n // Calc horizontal positioning - center calendar relative to host element\n const rectCal = this.getRect(this.calendarElement);\n const menuWidth = getMenuWidth();\n\n // Calculate center position: host center minus half of calendar width\n const hostCenterX = rectHost.x + rectHost.width / 2;\n const calendarHalfWidth = rectCal.width / 2;\n const idealCenterOffset = hostCenterX - calendarHalfWidth - rectCal.x;\n\n // Check boundaries, accounting for menu width on the left\n const calendarLeftEdge = rectCal.x + idealCenterOffset;\n const calendarRightEdge = calendarLeftEdge + rectCal.width;\n const leftBoundary = menuWidth + 16; // Menu width + buffer\n\n let finalOffset = idealCenterOffset;\n\n // Adjust if calendar would go beyond left edge of viewport or over the menu\n if (calendarLeftEdge < leftBoundary) {\n finalOffset = leftBoundary - rectCal.x;\n }\n // Adjust if calendar would go beyond right edge of viewport\n else if (calendarRightEdge > innerWidth - 16) {\n finalOffset = innerWidth - 16 - rectCal.width - rectCal.x;\n }\n\n this.calendarElement.style.setProperty('--pn-calendar-offset-left', `${Math.floor(finalOffset)}px`);\n });\n }\n\n @Watch('helpertext')\n @Watch('error')\n handleMessage() {\n this.checkSlottedHelper();\n this.checkSlottedError();\n }\n\n @Watch('view')\n handleView() {\n this.currentView.emit(this.view);\n }\n\n /**\n * Use the new `dateSelection`. Its here for compatibility. Will be removed in v8.\n * @deprecated Use the new `dateSelection`. Will be removed in v8.\n **/\n @Event() dateselection: EventEmitter<PnDatePickerSelectEvent>;\n\n /** Emits on valid date selection. Either if the user selects a date in the calendar or writes it manually. */\n @Event() dateSelection: EventEmitter<PnDatePickerSelectEvent>;\n emitSelection() {\n const data: PnDatePickerSelectEvent = {\n start: this.start,\n };\n\n if (this.range) {\n const days = getDiff(this.start, this.end, this.format);\n data.end = this.end;\n data.days = typeof days === 'number' ? days + 1 : null;\n }\n\n this.dateSelection.emit(data);\n this.dateselection.emit(data);\n }\n\n /** Emitted when an invalid value is set. This can only be done if the user writes in the input itself. */\n @Event() dateInvalid: EventEmitter<{ start?: string; end?: string }>;\n\n /** Emitted when the calendar is toggled. */\n @Event() toggleCalendar: EventEmitter<boolean>;\n /** Emmitted when you select a new view. */\n @Event() currentView: EventEmitter<CalendarView>;\n\n /**\n * If the select is open and you resize the window.\n * Remove all css props and disable the animations entierly.\n **/\n @Listen('resize', { target: 'window' })\n handleResize() {\n if (!this.open) return;\n this.toggleGrid(false);\n }\n\n async componentWillLoad() {\n this.watchMin();\n this.watchMax();\n this.watchId();\n\n this.handleFormat();\n this.handleMessage();\n\n const valid = validateDate(this.start || this.end, this.format);\n const data = valid && getDateObject(this.start || this.end, this.format);\n\n const { year, month, date } = getDateObject(this.today);\n\n this.setViewDate({ date: data.date || date });\n this.setViewMonth({ month: data.month || month });\n this.setViewYear({ year: data.year || year });\n\n if (this.language === null) await awaitTopbar(this.hostElement);\n }\n\n // Animation\n\n private gridHandler() {\n if (this.open) this.openGrid();\n else this.closeGrid();\n }\n\n private openGrid() {\n requestAnimationFrame(() => {\n const { clientHeight, scrollHeight } = this.calendarElement;\n const height = this.isClosing ? clientHeight : 0;\n this.calendarElement.style.height = `${scrollHeight}px`;\n\n this.isExpanding = true;\n this.animateGrid(true, `${height}px`, `${this.calendarElement.scrollHeight}px`);\n });\n }\n\n private closeGrid() {\n const { scrollHeight, clientHeight } = this.calendarElement;\n const height = this.isExpanding ? clientHeight : scrollHeight;\n this.calendarElement.style.height = `0px`;\n\n this.isClosing = true;\n this.animateGrid(false, `${height}px`, `0px`);\n }\n\n private animateGrid(open: boolean, startHeight: string, endHeight: string) {\n this.cancelAnimations();\n\n if (reduceMotion()) this.animationDuration = 0;\n else this.animationDuration = this.animationDurationDefault;\n\n this.animation = this.calendarElement.animate(\n {\n height: [startHeight, endHeight],\n },\n {\n duration: this.animationDuration,\n easing: 'cubic-bezier(0.6, 0, 0.2, 1)',\n },\n );\n this.animation.onfinish = () => this.animationFinish();\n this.animation.oncancel = () => (open ? (this.isExpanding = false) : (this.isClosing = false));\n }\n\n private animationFinish() {\n this.cancelAnimations();\n this.calendarElement.style.height = this.isClosing ? '0px' : '';\n this.isClosing = false;\n this.isExpanding = false;\n }\n\n private cancelAnimations() {\n if (this.animation) this.animation.cancel();\n }\n // End of Animation\n\n private globalEvents = (event: PointerEvent | KeyboardEvent) => {\n const target = event.target as HTMLElement;\n const isWithinCalendar = target?.closest(this.hostElement.localName);\n if (!isWithinCalendar) this.toggleGrid(false);\n };\n\n private addGlobalEventListeners() {\n const root: Document = this.hostElement.getRootNode() as Document;\n\n root.addEventListener('click', this.globalEvents);\n }\n\n private removeGlobalEventListeners() {\n const root: Document = this.hostElement.getRootNode() as Document;\n\n root.removeEventListener('click', this.globalEvents);\n }\n\n private translate(prop: string): string {\n return translations?.[prop?.toUpperCase()]?.[this.language || en] || prop?.toUpperCase();\n }\n\n private translateDateText(customDate: DateObject, format: string): string {\n return getReadableDate({ ...this.getCurrentDateObject(), ...customDate }, this.language, format);\n }\n\n private getRect(element: HTMLElement): DOMRect {\n return element.getBoundingClientRect();\n }\n\n private toggleGrid(state?: boolean, selecting?: boolean) {\n this.open = state ?? !this.open;\n this.selectingTo = selecting;\n }\n\n private hasHelperText(): boolean {\n return this.helpertext?.length > 0 || this.showHelperSlot;\n }\n\n /** If any `error` text is present, either via prop/slot. */\n private hasErrorMessage(): boolean {\n return this.error?.length > 0 || this.showErrorSlot;\n }\n\n /** If any `error` is active, either via the prop `invalid` or `error` prop/slot. */\n private hasError(): boolean {\n return this.hasErrorMessage() || this.invalid || this.showErrorSlot;\n }\n\n private checkSlottedHelper() {\n const slottedHelper = this.hostElement.querySelector<HTMLElement>('[slot=helpertext]')?.textContent;\n this.showHelperSlot = !!slottedHelper?.length;\n }\n\n private checkSlottedError() {\n const slottedError = this.hostElement.querySelector<HTMLElement>('[slot=error]')?.textContent;\n this.showErrorSlot = !!slottedError?.length;\n }\n\n private viewingCalendar(): boolean {\n return this.view === CALENDAR;\n }\n\n private viewingMonth(): boolean {\n return this.view === MONTHS;\n }\n\n private viewingYears(): boolean {\n return this.view === YEARS;\n }\n\n private viewType(): DateType {\n return this.viewingCalendar() ? 'date' : this.viewingMonth() ? 'month' : 'year';\n }\n\n private isBeforeMax(data: DateObjectStrict): boolean {\n if (this.maxDate) return isBefore(data, this.maxDate, this.format, this.viewType());\n return true;\n }\n\n private isAfterMin(data: DateObjectStrict): boolean {\n if (this.minDate) return isAfter(data, this.minDate, this.format, this.viewType());\n return true;\n }\n\n private isDisabledWeekend(day: number): boolean {\n if (!this.viewingCalendar()) return false;\n return this.disableWeekends ? day >= 6 : false;\n }\n\n private isDisabledDate(data: DateObjectStrict): boolean {\n if (!this.disabledDates?.length || !this.viewingCalendar()) return false;\n const list = this.disabledDates.split(',');\n return !!list.find(disabledDate => selectedDate(disabledDate, data, this.format, this.viewType()));\n }\n\n private isDisabled(data: DateObjectStrict): {\n disabled: boolean;\n manualDisable: boolean;\n weekendDisable: boolean;\n minMaxDisable: boolean;\n } {\n const isAfterMaxDate = !this.isBeforeMax(data);\n const isBeforeMinDate = !this.isAfterMin(data);\n\n const weekendDisable = this.viewingCalendar() && this.isDisabledWeekend(data.day);\n\n const manualDisable = this.isDisabledDate(data);\n\n const disabled = isAfterMaxDate || isBeforeMinDate || weekendDisable || manualDisable;\n\n return {\n disabled,\n manualDisable,\n weekendDisable,\n minMaxDisable: isAfterMaxDate || isBeforeMinDate,\n };\n }\n\n private updateGrid() {\n this.grid = getGrid(this.dateViewYear, this.dateViewMonth);\n }\n\n private getCurrentViewDate(data: DateObjectStrict = this.getCurrentDateObject()): string {\n return getReadableDate(data, this.language, 'MMMM YYYY');\n }\n\n private isSelected(data: DateObject, to: boolean = false): boolean {\n const value = to ? this.end : this.start;\n return selectedDate(value, this.getCurrentDateObject(data), this.format, this.viewType());\n }\n\n private isToday(data: DateObject): boolean {\n return selectedDate(this.today.format(this.format), this.getCurrentDateObject(data), this.format, this.viewType());\n }\n\n private getCurrentDateObject({\n year = this.dateViewYear,\n month = this.dateViewMonth,\n date = this.dateViewDate,\n day,\n }: DateObject = {}) {\n return {\n year,\n month,\n date,\n day,\n };\n }\n\n /** Handle keyboard navigation in the calendar grid. */\n private calendarKeyboardNavigation(event: KeyboardEvent, data: DateObjectStrict, disabled: boolean = false) {\n const validCodes = [\n 'Enter',\n 'Space',\n 'ArrowRight',\n 'ArrowLeft',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n 'PageDown',\n 'PageUp',\n 'Escape',\n ];\n\n if (!validCodes.includes(event.code)) return;\n\n event.preventDefault();\n if (event.code === 'Escape') return this.toggleGrid(false);\n\n const select = !disabled && event.code.match(/^(Enter|Space)$/);\n\n if (select && this.viewingYears()) return this.setViewYear({ year: data.year, reset: true });\n if (select && this.viewingMonth()) return this.setViewMonth({ month: data.month, grid: true, reset: true });\n if (select && this.viewingCalendar()) return this.setValue(data.date);\n\n const goToDate = this.navDirection(event, data);\n\n if (!goToDate) return;\n\n const { year, month, date } = goToDate;\n\n this.setViewYear({ year });\n this.setViewMonth({ month, grid: true });\n this.setViewDate({ date });\n\n this.resetFocus();\n }\n\n private navDirection(event: KeyboardEvent, data: DateObjectStrict): DateObjectStrict {\n const { code } = event;\n\n const nextDate = navigateGrid(code, data, this.disableWeekends, this.viewType());\n const date = getDateObject(nextDate);\n\n return date;\n }\n\n private getYearGrid(): number[] {\n const list = [];\n\n let oldestInList = this.viewYearStart - 7;\n\n for (let i = 0; 15 > i; i++) {\n list.push(oldestInList++);\n }\n\n return list;\n }\n\n /** Defaults to the calendar view. */\n private setView(view: CalendarView) {\n this.view = view;\n requestAnimationFrame(() => this.focusCalendar());\n }\n\n private setNavView(data: { minus?: boolean; plus?: boolean; grid?: boolean }) {\n if (this.viewingYears()) return this.setViewYear({ ...data, grid: true });\n return this.setViewMonth(data);\n }\n\n private setViewYear({\n year = this.dateViewYear,\n minus = false,\n plus = false,\n reset = false,\n grid = false,\n }: {\n year?: number;\n minus?: boolean;\n plus?: boolean;\n reset?: boolean;\n grid?: boolean;\n }) {\n const nextYear = setYear({ year, minus, plus });\n\n const start = this.viewYearStart;\n const max = start + 7;\n const min = start - 7;\n\n if (grid) {\n const minusVal = this.viewYearStart - 15;\n const plusVal = this.viewYearStart + 15;\n this.viewYearStart = minus ? minusVal : plusVal;\n this.dateViewYear = this.viewYearStart;\n } else this.dateViewYear = nextYear;\n\n if (start === null || nextYear > max || min > nextYear) this.viewYearStart = nextYear;\n\n if (reset) this.setView(CALENDAR);\n }\n\n private setViewMonth({\n month = this.dateViewMonth,\n minus = false,\n plus = false,\n reset = false,\n grid = false,\n }: {\n month?: number;\n minus?: boolean;\n plus?: boolean;\n reset?: boolean;\n grid?: boolean;\n }) {\n const nextMonth = setMonth({ month, minus, plus });\n\n this.dateViewMonth = nextMonth;\n\n if (!grid && month === 0 && minus) this.setViewYear({ minus: true });\n if (!grid && month === 11 && plus) this.setViewYear({ plus: true });\n\n if (reset) this.setView(CALENDAR);\n }\n\n private setViewDate({ date }: { date: number }) {\n this.dateViewDate = date;\n }\n\n private handleSeparator(event: InputEvent) {\n let value = (event.target as HTMLInputElement).value;\n\n const foundSeparator = this.separators.find(({ index }) => index === value.length);\n if (foundSeparator?.name) {\n value += foundSeparator.name;\n }\n\n return value;\n }\n\n private inputHandler(event: InputEvent, to: boolean = false) {\n const propName = to ? 'end' : 'start';\n const value = this.disableTypeAhead ? (event.target as HTMLInputElement).value : this.handleSeparator(event);\n\n this[propName] = value;\n }\n\n private setValue(date: number) {\n const value = getReadableDate(this.getCurrentDateObject({ date }), this.language, this.format);\n\n if (this.selectingTo) this.end = value;\n else this.start = value;\n\n this.setViewDate({ date });\n\n if (!this.range || this.selectingTo) {\n this.toggleGrid(false);\n this.focusToggleCalendarButton();\n }\n\n if (this.range && !this.selectingTo) this.selectingTo = true;\n }\n\n private getDayAttributes(dateObject: DateObject, blank: boolean): { [a: string]: any } {\n const data = this.getCurrentDateObject(dateObject);\n const { disabled } = this.isDisabled(data);\n\n if (blank) return { 'data-blank': true };\n\n function capitalize(text: string) {\n return text.charAt(0).toUpperCase() + text.slice(1);\n }\n\n const type = this.viewType();\n const value = data[type];\n\n const disabledProp = type !== 'date' ? 'disabled' : 'aria-disabled';\n const selectedProp = type !== 'date' ? 'aria-pressed' : 'aria-selected';\n\n const selectedFrom = this.isSelected(data);\n const selectedTo = this.isSelected(data, true);\n\n const selected = selectedFrom || selectedTo;\n\n const after = this.range && isAfter(data, this.start, this.format, this.viewType());\n const before = this.range && isBefore(data, this.end, this.format, this.viewType());\n const isBetween = after && before;\n\n const isDisabled = disabled && (type === 'date' || !selected);\n\n const tabbable = this[`dateView${capitalize(type)}`] === value;\n\n const props: { [a: string]: any } = {\n 'onKeyDown': (e: KeyboardEvent) => this.calendarKeyboardNavigation(e, data, isDisabled),\n 'tabindex': tabbable ? '0' : '-1',\n [selectedProp]: (selected || isBetween)?.toString(),\n 'aria-current': this.isToday(data) ? 'date' : null,\n 'data-active': isDisabled ? null : selected,\n 'data-today': this.isToday(data),\n 'data-option': 'true',\n [`data-${type}`]: value,\n [disabledProp]: isDisabled ? 'true' : null,\n };\n\n const singleDate = selectedDate(this.start, this.end, this.format, 'date');\n\n if (this.range && !singleDate) {\n props['data-range'] = isBetween;\n props['data-range-from'] = selectedFrom && this.end !== '';\n props['data-range-to'] = selectedTo && this.start !== '';\n } else {\n props['data-single'] = true;\n }\n\n if (this.viewingCalendar()) props.onClick = () => this.setValue(data.date);\n if (this.viewingMonth()) props.onClick = () => this.setViewMonth({ month: data.month, reset: true });\n if (this.viewingYears()) props.onClick = () => this.setViewYear({ year: data.year, reset: true });\n\n if (isDisabled) delete props.onClick;\n\n return props;\n }\n\n /** Focus the button toggling the calendar. Handles the start/from date on its own. */\n private focusToggleCalendarButton() {\n requestAnimationFrame(() => {\n const id = this.range ? this.idToButton : this.idFromButton;\n this.hostElement.querySelector<HTMLButtonElement>(`#${id}`).focus({ preventScroll: true });\n });\n }\n\n private focusCalendar() {\n requestAnimationFrame(() => {\n const element = this.calendarTabElement({ first: true, grid: true });\n\n element?.focus({ preventScroll: true });\n });\n }\n\n private resetFocus() {\n if (this.open) return this.focusCalendar();\n else this.focusToggleCalendarButton();\n }\n\n private handleButtonBlur(event: KeyboardEvent) {\n if (event.code === 'Escape') {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n if (this.open && event.key === 'Tab') return this.focusCalendar();\n }\n\n /**\n * This function queries all tabbable elements inside the calendar popup.\n * Since we allow slotted content it important that we have a function that takes all elements into account.\n * With the `first` and `grid` argument, you can decide which one you want to get.\n * There are fallbacks so you should never get an empty list of elements.\n */\n private calendarTabElement({ first, grid }: PnDatePickerFocusOptions): HTMLElement {\n const focusableElements = ':is(input, select, button:not([tabindex=\"-1\"]), td[tabindex=\"0\"])';\n const elements = this.calendarElement.querySelectorAll<HTMLElement>(focusableElements);\n const list = Array.from(elements).filter(\n ({ localName, offsetParent }) => focusableElements.includes(localName) && offsetParent !== null,\n );\n\n const gridEl = list.find(({ dataset, tabIndex }) => dataset.option && tabIndex === 0);\n if (grid && gridEl) return gridEl;\n if (first) return list.shift();\n else return list.pop();\n }\n\n /**\n * We need to listen to the `Esc` and `Tab` key for the entire calendar popup.\n * Regardless if you focus the grid, the nav buttons or slotted content,\n * the popup will close if you press `Esc`. We also need to reset the focus when the user tabs.\n */\n private handleCalendarTabEsc(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n const tabElement = this.calendarTabElement({ first: event.shiftKey });\n\n event.stopImmediatePropagation();\n\n if (event.code === 'Escape') {\n event.preventDefault();\n\n this.toggleGrid(false);\n this.focusToggleCalendarButton();\n return;\n }\n\n if (event.code === 'Tab' && target.isEqualNode(tabElement)) {\n event.preventDefault();\n this.calendarTabElement({ first: !event.shiftKey }).focus({ preventScroll: true });\n }\n }\n\n private ariaDescribedby(): string {\n const list = [];\n if (this.hasErrorMessage()) list.push(this.idError);\n else if (this.hasHelperText()) list.push(this.idHelper);\n return list.length ? list.join(' ') : null;\n }\n\n /** Renders the date calendar grid. */\n private renderDateGrid(): HTMLTableElement {\n return (\n <table role=\"grid\" class=\"pn-date-picker-table\" aria-multiselectable={this.range ? 'true' : null}>\n <caption class=\"pn-date-picker-sr-only\" key={this.getCurrentViewDate()}>\n {this.getCurrentViewDate()}\n </caption>\n <thead class=\"pn-date-picker-thead\">\n <tr class=\"pn-date-picker-tr\">\n {this.weekNumbers && <th class=\"pn-date-picker-th\" scope=\"col\" aria-hidden=\"true\"></th>}\n {this.listWeek.map(index => (\n <th class=\"pn-date-picker-th\" scope=\"col\" abbr={this.translateDateText({ day: index }, 'dddd')}>\n {this.translateDateText({ day: index }, 'ddd')}\n </th>\n ))}\n </tr>\n </thead>\n <tbody class=\"pn-date-picker-tbody\">\n {this.grid?.map(({ week, list }) => (\n <tr key={`${this.dateViewYear}-${week}`} class=\"pn-date-picker-tr\">\n {this.weekNumbers && (\n <td\n class=\"pn-date-picker-td\"\n data-blank\n data-week\n title={`${this.translate('WEEK_NAME')} ${week}`}\n aria-hidden=\"true\"\n >\n <span class=\"pn-date-picker-td-week\">{week}</span>\n </td>\n )}\n {list.map(({ day, date, blank }) => (\n <td\n key={`${this.dateViewYear}-${this.dateViewMonth}-${date}`}\n class=\"pn-date-picker-td\"\n {...this.getDayAttributes({ date, day }, blank)}\n >\n <span class=\"pn-date-picker-td-text\">{date}</span>\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n }\n\n /** Renders the month calendar grid. */\n private renderMonthGrid(): HTMLTableElement {\n return (\n <ul class=\"pn-date-picker-list\">\n {this.listMonths.map(month => (\n <li key={month} class=\"pn-date-picker-item\" data-item=\"month\">\n <button type=\"button\" class=\"pn-date-picker-button\" {...this.getDayAttributes({ month }, false)}>\n <span class=\"pn-date-picker-month\" data-full>\n {this.translateDateText({ month }, 'MMMM')}\n </span>\n <span class=\"pn-date-picker-month\" data-abbr>\n {this.translateDateText({ month }, 'MMM')}\n </span>\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n /** Renders the year calendar grid. */\n private renderYearGrid(): HTMLTableElement {\n return (\n <ul class=\"pn-date-picker-list\">\n {this.getYearGrid()?.map(year => (\n <li key={year} class=\"pn-date-picker-item\" data-item=\"year\">\n <button type=\"button\" class=\"pn-date-picker-button\" {...this.getDayAttributes({ year }, false)}>\n <span>{year}</span>\n </button>\n </li>\n ))}\n </ul>\n );\n }\n\n private renderInput({ to = false }: { to?: boolean } = {}) {\n const id = to ? this.idTo : this.idFrom;\n const idButton = to ? this.idToButton : this.idFromButton;\n const label = to ? this.labelTo : this.labelFrom;\n const value = to ? this.end : this.start;\n const placeholder = to ? this.endPlaceholder : this.placeholder;\n const list = to ? this.listEnd : this.list;\n\n const editing = this.open ? (this.selectingTo ? to : !to) : false;\n\n const defaultText = this.translate('SELECT_DATE') as string;\n\n const textProp = this.range ? (to ? 'END_' : 'START_') : '';\n const dateText = this.translate(`SELECTED_${textProp}DATE`) as string;\n\n let textButton = defaultText;\n if (value) {\n textButton += `, ${dateText.replace('{date}', value)}`;\n }\n\n const showButton = !(this.disabled || this.readonly);\n\n return (\n <div class=\"pn-date-picker-container\" data-error={this.hasError()}>\n <label class=\"pn-date-picker-label\" htmlFor={id}>\n <span>{label}</span>\n </label>\n <div class=\"pn-date-picker-field\">\n <input\n type=\"text\"\n id={id}\n class=\"pn-date-picker-input\"\n name={this.name}\n placeholder={placeholder}\n autocomplete={this.autocomplete}\n maxlength={this.disableMaxLength ? null : this.format.length}\n list={list}\n pattern={this.pattern}\n value={value}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n aria-describedby={this.ariaDescribedby()}\n aria-invalid={this.hasError()?.toString()}\n onInput={e => this.inputHandler(e, to)}\n data-active={editing}\n />\n {showButton && (\n <pn-button\n class=\"pn-date-picker-toggle\"\n buttonId={idButton}\n icon={calendar}\n iconOnly={true}\n appearance=\"light\"\n arialabel={textButton}\n ariaexpanded={this.open.toString()}\n ariacontrols={this.idCalendar}\n data-active={this.open}\n data-input\n small\n onPnClick={() => this.toggleGrid(null, to)}\n onKeyDown={e => this.handleButtonBlur(e)}\n />\n )}\n </div>\n </div>\n );\n }\n\n render() {\n return (\n <Host>\n <div class=\"pn-date-picker\">\n {this.renderInput()}\n\n {this.range && (\n <div class=\"pn-date-picker-range-icon test\">\n <pn-icon icon={arrow_right} />\n </div>\n )}\n\n {this.range && this.renderInput({ to: this.range })}\n </div>\n\n <div\n id={this.idCalendar}\n class=\"pn-date-picker-calendar\"\n role=\"dialog\"\n aria-label={this.translate('CALENDAR_NAVIGATION')}\n data-open={this.open}\n data-moving={this.isClosing || this.isExpanding}\n data-direction={this.openUp ? 'top' : 'bottom'}\n data-range={this.range}\n style={{ height: '0px' }}\n ref={el => (this.calendarElement = el)}\n onKeyDown={e => this.handleCalendarTabEsc(e)}\n >\n <div class=\"pn-date-picker-wrapper\">\n <nav class=\"pn-date-picker-nav\" aria-labelledby={this.idCalendar}>\n <pn-button\n hidden={this.viewingMonth()}\n small\n appearance=\"light\"\n arialabel={this.translate(`PREVIOUS_${this.viewType().toUpperCase()}`) as string}\n icon={arrow_left}\n iconOnly={true}\n onPnClick={() => this.setNavView({ minus: true })}\n />\n\n <pn-button\n hidden={!this.viewingCalendar()}\n small\n appearance=\"light\"\n onPnClick={() => this.setView(MONTHS)}\n >\n <span class=\"pn-date-picker-month\" data-full>\n {this.translateDateText({ date: 1 }, 'MMMM')}\n </span>\n <span class=\"pn-date-picker-month\" data-abbr>\n {this.translateDateText({ date: 1 }, 'MMM')}\n </span>\n </pn-button>\n\n <h2 hidden={this.viewingCalendar()} class=\"pn-date-picker-title\">\n {this.translate(`SELECT_${this.viewType().toUpperCase()}`)}\n </h2>\n\n <pn-button\n hidden={!this.viewingCalendar()}\n small\n appearance=\"light\"\n onPnClick={() => this.setView(YEARS)}\n >\n <span>{this.dateViewYear}</span>\n </pn-button>\n\n <pn-button\n hidden={this.viewingMonth()}\n small\n appearance=\"light\"\n arialabel={this.translate(`NEXT_${this.viewType().toUpperCase()}`) as string}\n icon={arrow_right}\n iconOnly={true}\n onPnClick={() => this.setNavView({ plus: true })}\n />\n </nav>\n\n {this.viewingYears() && this.renderYearGrid()}\n {this.viewingMonth() && this.renderMonthGrid()}\n {this.viewingCalendar() && this.renderDateGrid()}\n\n <aside class=\"pn-date-picker-chips\">\n <slot name=\"chips\"></slot>\n </aside>\n\n <nav class=\"pn-date-picker-bottom\" hidden={this.viewingCalendar()}>\n <pn-button\n appearance=\"light\"\n variant=\"outlined\"\n small\n icon={pn_return}\n onPnClick={() => this.setView(CALENDAR)}\n >\n <span>{this.translate('GO_CALENDAR')}</span>\n </pn-button>\n </nav>\n </div>\n </div>\n\n <p id={this.idHelper} class=\"pn-date-picker-helpertext\" hidden={!this.hasHelperText() || this.hasError()}>\n <span>{this.helpertext}</span>\n <slot name=\"helpertext\" />\n </p>\n\n <p id={this.idError} class=\"pn-date-picker-error\" role=\"alert\" hidden={!this.hasErrorMessage()}>\n <span>{this.error}</span>\n <slot name=\"error\" />\n </p>\n </Host>\n );\n }\n}\n"],"version":3}
|