@dnb/eufemia 10.73.2 → 10.74.0
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/CHANGELOG.md +28 -0
- package/cjs/components/autocomplete/Autocomplete.js +7 -4
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/autocomplete/AutocompleteDocs.d.ts +289 -3
- package/cjs/components/autocomplete/AutocompleteDocs.js +2 -2
- package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/cjs/components/button/style/dnb-button.css +1 -0
- package/cjs/components/button/style/dnb-button.min.css +1 -1
- package/cjs/components/button/style/dnb-button.scss +1 -0
- package/cjs/components/checkbox/Checkbox.d.ts +9 -1
- package/cjs/components/checkbox/Checkbox.js +59 -34
- package/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/cjs/components/checkbox/CheckboxDocs.js +6 -1
- package/cjs/components/checkbox/CheckboxDocs.js.map +1 -1
- package/cjs/components/date-picker/DatePicker.d.ts +4 -0
- package/cjs/components/date-picker/DatePicker.js +4 -3
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendar.d.ts +2 -16
- package/cjs/components/date-picker/DatePickerCalendar.js +27 -86
- package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendarNavigator.d.ts +37 -0
- package/cjs/components/date-picker/DatePickerCalendarNavigator.js +173 -0
- package/cjs/components/date-picker/DatePickerCalendarNavigator.js.map +1 -0
- package/cjs/components/date-picker/DatePickerContext.d.ts +3 -0
- package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
- package/cjs/components/date-picker/DatePickerDocs.js +6 -1
- package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
- package/cjs/components/date-picker/DatePickerFooter.js +20 -17
- package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
- package/cjs/components/date-picker/DatePickerProvider.js +7 -0
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/date-picker/DatePickerRange.js +2 -28
- package/cjs/components/date-picker/DatePickerRange.js.map +1 -1
- package/cjs/components/date-picker/hooks/useSubmittedDates.d.ts +7 -0
- package/cjs/components/date-picker/hooks/useSubmittedDates.js +19 -0
- package/cjs/components/date-picker/hooks/useSubmittedDates.js.map +1 -0
- package/cjs/components/date-picker/style/dnb-date-picker.css +1 -1
- package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/cjs/components/date-picker/style/dnb-date-picker.scss +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +17 -0
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +19 -0
- package/cjs/components/drawer/Drawer.js +1 -0
- package/cjs/components/drawer/Drawer.js.map +1 -1
- package/cjs/components/dropdown/Dropdown.js +6 -4
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/dropdown/DropdownDocs.d.ts +179 -3
- package/cjs/components/dropdown/DropdownDocs.js.map +1 -1
- package/cjs/components/heading/HeadingHelpers.js +9 -5
- package/cjs/components/heading/HeadingHelpers.js.map +1 -1
- package/cjs/components/icon/Icon.d.ts +2 -2
- package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
- package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedHooks.d.ts +1 -0
- package/cjs/components/input-masked/InputMaskedHooks.js +38 -6
- package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedUtils.js +5 -4
- package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/cjs/components/number-format/NumberUtils.js +6 -4
- package/cjs/components/number-format/NumberUtils.js.map +1 -1
- package/cjs/components/switch/SwitchDocs.js +2 -2
- package/cjs/components/switch/SwitchDocs.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +1 -1
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +9 -0
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +1 -0
- package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Field/Boolean/BooleanDocs.d.ts +1 -0
- package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js +8 -1
- package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/NumberDocs.js +1 -1
- package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +2 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +2 -2
- package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -0
- package/cjs/extensions/forms/Field/Selection/Selection.js +10 -9
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +7 -0
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +24 -8
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/ToggleDocs.d.ts +1 -0
- package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +8 -1
- package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.d.ts +4 -0
- package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js +64 -0
- package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +16 -0
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +39 -14
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationContext.d.ts +12 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationContext.js +11 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationContext.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +9 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js +31 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +15 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.d.ts +7 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js +112 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.d.ts +7 -0
- package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js +58 -0
- package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/useHandleStatus.d.ts +9 -0
- package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js +57 -0
- package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -0
- package/cjs/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.js +11 -9
- package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -0
- package/cjs/extensions/forms/Form/Snapshot/Snapshot.d.ts +2 -1
- package/cjs/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/index.d.ts +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/index.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +15 -56
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js +3 -3
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -1
- package/cjs/extensions/forms/constants/locales/index.d.ts +2 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -3
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +1 -1
- package/cjs/extensions/forms/constants/locales/sv-SE.js +3 -3
- package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataContext.js +5 -3
- package/cjs/extensions/forms/hooks/useDataContext.js.map +1 -1
- package/cjs/extensions/forms/hooks/useSnapshot.js +17 -14
- package/cjs/extensions/forms/hooks/useSnapshot.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.d.ts +176 -224
- package/cjs/fragments/drawer-list/DrawerList.js +70 -175
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListContext.d.ts +27 -2
- package/cjs/fragments/drawer-list/DrawerListContext.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListDocs.d.ts +211 -4
- package/cjs/fragments/drawer-list/DrawerListDocs.js +2 -2
- package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +85 -89
- package/cjs/fragments/drawer-list/DrawerListHelpers.js +52 -58
- package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListItem.d.ts +30 -0
- package/cjs/fragments/drawer-list/DrawerListItem.js +106 -0
- package/cjs/fragments/drawer-list/DrawerListItem.js.map +1 -0
- package/cjs/fragments/drawer-list/DrawerListPortal.d.ts +20 -30
- package/cjs/fragments/drawer-list/DrawerListPortal.js +93 -125
- package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.d.ts +217 -11
- package/cjs/fragments/drawer-list/DrawerListProvider.js +11 -18
- package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/component-helper.d.ts +45 -48
- package/cjs/shared/component-helper.js +72 -201
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/shared/helpers/withCamelCaseProps.d.ts +4 -5
- package/cjs/shared/helpers/withCamelCaseProps.js +7 -2
- package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/cjs/shared/legacy/component-helper-legacy.d.ts +19 -0
- package/cjs/shared/legacy/component-helper-legacy.js +202 -0
- package/cjs/shared/legacy/component-helper-legacy.js.map +1 -0
- package/cjs/shared/locales/en-GB.d.ts +1 -0
- package/cjs/shared/locales/en-GB.js +1 -0
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.js.map +1 -1
- package/cjs/shared/locales/index.d.ts +2 -0
- package/cjs/shared/locales/nb-NO.d.ts +1 -0
- package/cjs/shared/locales/nb-NO.js +2 -1
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/locales/sv-SE.d.ts +1 -0
- package/cjs/shared/locales/sv-SE.js +1 -0
- package/cjs/shared/locales/sv-SE.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +2 -1
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +19 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +19 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-components.css +19 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/components/autocomplete/Autocomplete.js +6 -3
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/autocomplete/AutocompleteDocs.d.ts +289 -3
- package/components/autocomplete/AutocompleteDocs.js +1 -1
- package/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/components/button/style/dnb-button.css +1 -0
- package/components/button/style/dnb-button.min.css +1 -1
- package/components/button/style/dnb-button.scss +1 -0
- package/components/checkbox/Checkbox.d.ts +9 -1
- package/components/checkbox/Checkbox.js +60 -35
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/checkbox/CheckboxDocs.js +6 -1
- package/components/checkbox/CheckboxDocs.js.map +1 -1
- package/components/date-picker/DatePicker.d.ts +4 -0
- package/components/date-picker/DatePicker.js +4 -3
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerCalendar.d.ts +2 -16
- package/components/date-picker/DatePickerCalendar.js +27 -86
- package/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/components/date-picker/DatePickerCalendarNavigator.d.ts +37 -0
- package/components/date-picker/DatePickerCalendarNavigator.js +162 -0
- package/components/date-picker/DatePickerCalendarNavigator.js.map +1 -0
- package/components/date-picker/DatePickerContext.d.ts +3 -0
- package/components/date-picker/DatePickerContext.js.map +1 -1
- package/components/date-picker/DatePickerDocs.js +6 -1
- package/components/date-picker/DatePickerDocs.js.map +1 -1
- package/components/date-picker/DatePickerFooter.js +20 -17
- package/components/date-picker/DatePickerFooter.js.map +1 -1
- package/components/date-picker/DatePickerProvider.js +7 -0
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/date-picker/DatePickerRange.js +2 -28
- package/components/date-picker/DatePickerRange.js.map +1 -1
- package/components/date-picker/hooks/useSubmittedDates.d.ts +7 -0
- package/components/date-picker/hooks/useSubmittedDates.js +14 -0
- package/components/date-picker/hooks/useSubmittedDates.js.map +1 -0
- package/components/date-picker/style/dnb-date-picker.css +1 -1
- package/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/components/date-picker/style/dnb-date-picker.scss +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +17 -0
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +19 -0
- package/components/drawer/Drawer.js +1 -0
- package/components/drawer/Drawer.js.map +1 -1
- package/components/dropdown/Dropdown.js +6 -4
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/dropdown/DropdownDocs.d.ts +179 -3
- package/components/dropdown/DropdownDocs.js.map +1 -1
- package/components/heading/HeadingHelpers.js +9 -5
- package/components/heading/HeadingHelpers.js.map +1 -1
- package/components/icon/Icon.d.ts +2 -2
- package/components/input-masked/InputMaskedDocs.js +1 -1
- package/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/components/input-masked/InputMaskedHooks.d.ts +1 -0
- package/components/input-masked/InputMaskedHooks.js +39 -7
- package/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/components/input-masked/InputMaskedUtils.js +6 -5
- package/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/components/number-format/NumberUtils.js +5 -4
- package/components/number-format/NumberUtils.js.map +1 -1
- package/components/switch/SwitchDocs.js +2 -2
- package/components/switch/SwitchDocs.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.js +6 -3
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/autocomplete/AutocompleteDocs.d.ts +289 -3
- package/es/components/autocomplete/AutocompleteDocs.js +1 -1
- package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/es/components/button/style/dnb-button.css +1 -0
- package/es/components/button/style/dnb-button.min.css +1 -1
- package/es/components/button/style/dnb-button.scss +1 -0
- package/es/components/checkbox/Checkbox.d.ts +9 -1
- package/es/components/checkbox/Checkbox.js +60 -35
- package/es/components/checkbox/Checkbox.js.map +1 -1
- package/es/components/checkbox/CheckboxDocs.js +6 -1
- package/es/components/checkbox/CheckboxDocs.js.map +1 -1
- package/es/components/date-picker/DatePicker.d.ts +4 -0
- package/es/components/date-picker/DatePicker.js +4 -3
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendar.d.ts +2 -16
- package/es/components/date-picker/DatePickerCalendar.js +23 -80
- package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendarNavigator.d.ts +37 -0
- package/es/components/date-picker/DatePickerCalendarNavigator.js +158 -0
- package/es/components/date-picker/DatePickerCalendarNavigator.js.map +1 -0
- package/es/components/date-picker/DatePickerContext.d.ts +3 -0
- package/es/components/date-picker/DatePickerContext.js.map +1 -1
- package/es/components/date-picker/DatePickerDocs.js +6 -1
- package/es/components/date-picker/DatePickerDocs.js.map +1 -1
- package/es/components/date-picker/DatePickerFooter.js +20 -17
- package/es/components/date-picker/DatePickerFooter.js.map +1 -1
- package/es/components/date-picker/DatePickerProvider.js +7 -0
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/date-picker/DatePickerRange.js +2 -27
- package/es/components/date-picker/DatePickerRange.js.map +1 -1
- package/es/components/date-picker/hooks/useSubmittedDates.d.ts +7 -0
- package/es/components/date-picker/hooks/useSubmittedDates.js +14 -0
- package/es/components/date-picker/hooks/useSubmittedDates.js.map +1 -0
- package/es/components/date-picker/style/dnb-date-picker.css +1 -1
- package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/es/components/date-picker/style/dnb-date-picker.scss +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +17 -0
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +19 -0
- package/es/components/drawer/Drawer.js +1 -0
- package/es/components/drawer/Drawer.js.map +1 -1
- package/es/components/dropdown/Dropdown.js +6 -4
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/dropdown/DropdownDocs.d.ts +179 -3
- package/es/components/dropdown/DropdownDocs.js.map +1 -1
- package/es/components/heading/HeadingHelpers.js +9 -5
- package/es/components/heading/HeadingHelpers.js.map +1 -1
- package/es/components/icon/Icon.d.ts +2 -2
- package/es/components/input-masked/InputMaskedDocs.js +1 -1
- package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/es/components/input-masked/InputMaskedHooks.d.ts +1 -0
- package/es/components/input-masked/InputMaskedHooks.js +39 -7
- package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/es/components/input-masked/InputMaskedUtils.js +6 -5
- package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/es/components/number-format/NumberUtils.js +5 -4
- package/es/components/number-format/NumberUtils.js.map +1 -1
- package/es/components/switch/SwitchDocs.js +2 -2
- package/es/components/switch/SwitchDocs.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +1 -1
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +9 -0
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/Boolean/Boolean.d.ts +1 -0
- package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Field/Boolean/BooleanDocs.d.ts +1 -0
- package/es/extensions/forms/Field/Boolean/BooleanDocs.js +7 -0
- package/es/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.d.ts +1 -1
- package/es/extensions/forms/Field/Date/Date.js +1 -1
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/Number/NumberDocs.js +1 -1
- package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +3 -3
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +3 -3
- package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -0
- package/es/extensions/forms/Field/Selection/Selection.js +9 -8
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.d.ts +7 -0
- package/es/extensions/forms/Field/Toggle/Toggle.js +24 -6
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/ToggleDocs.d.ts +1 -0
- package/es/extensions/forms/Field/Toggle/ToggleDocs.js +7 -0
- package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolatedContainer.d.ts +4 -0
- package/es/extensions/forms/Form/Isolation/IsolatedContainer.js +53 -0
- package/es/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/Isolation.d.ts +16 -0
- package/es/extensions/forms/Form/Isolation/Isolation.js +40 -14
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationContext.d.ts +12 -0
- package/es/extensions/forms/Form/Isolation/IsolationContext.js +6 -0
- package/es/extensions/forms/Form/Isolation/IsolationContext.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +9 -0
- package/es/extensions/forms/Form/Isolation/IsolationDataReference.js +25 -0
- package/es/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js +15 -0
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationResetButton.d.ts +7 -0
- package/es/extensions/forms/Form/Isolation/IsolationResetButton.js +99 -0
- package/es/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.d.ts +7 -0
- package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js +50 -0
- package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/useHandleStatus.d.ts +9 -0
- package/es/extensions/forms/Form/Isolation/useHandleStatus.js +48 -0
- package/es/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -0
- package/es/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.js +12 -10
- package/es/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -0
- package/es/extensions/forms/Form/Snapshot/Snapshot.d.ts +2 -1
- package/es/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/ResetButton.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/index.d.ts +1 -1
- package/es/extensions/forms/Iterate/EditContainer/index.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +16 -55
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -1
- package/es/extensions/forms/constants/locales/en-GB.js +3 -3
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +1 -1
- package/es/extensions/forms/constants/locales/index.d.ts +2 -2
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -1
- package/es/extensions/forms/constants/locales/nb-NO.js +3 -3
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/constants/locales/sv-SE.d.ts +1 -1
- package/es/extensions/forms/constants/locales/sv-SE.js +3 -3
- package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/es/extensions/forms/hooks/useDataContext.js +5 -3
- package/es/extensions/forms/hooks/useDataContext.js.map +1 -1
- package/es/extensions/forms/hooks/useSnapshot.js +18 -15
- package/es/extensions/forms/hooks/useSnapshot.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.d.ts +176 -224
- package/es/fragments/drawer-list/DrawerList.js +72 -173
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListContext.d.ts +27 -2
- package/es/fragments/drawer-list/DrawerListContext.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListDocs.d.ts +211 -4
- package/es/fragments/drawer-list/DrawerListDocs.js +2 -2
- package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.d.ts +85 -89
- package/es/fragments/drawer-list/DrawerListHelpers.js +45 -54
- package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListItem.d.ts +30 -0
- package/es/fragments/drawer-list/DrawerListItem.js +90 -0
- package/es/fragments/drawer-list/DrawerListItem.js.map +1 -0
- package/es/fragments/drawer-list/DrawerListPortal.d.ts +20 -30
- package/es/fragments/drawer-list/DrawerListPortal.js +88 -120
- package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListProvider.d.ts +217 -11
- package/es/fragments/drawer-list/DrawerListProvider.js +33 -19
- package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/component-helper.d.ts +45 -48
- package/es/shared/component-helper.js +20 -183
- package/es/shared/component-helper.js.map +1 -1
- package/es/shared/helpers/withCamelCaseProps.d.ts +4 -5
- package/es/shared/helpers/withCamelCaseProps.js +7 -2
- package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/es/shared/legacy/component-helper-legacy.d.ts +19 -0
- package/es/shared/legacy/component-helper-legacy.js +180 -0
- package/es/shared/legacy/component-helper-legacy.js.map +1 -0
- package/es/shared/locales/en-GB.d.ts +1 -0
- package/es/shared/locales/en-GB.js +1 -0
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.js.map +1 -1
- package/es/shared/locales/index.d.ts +2 -0
- package/es/shared/locales/nb-NO.d.ts +1 -0
- package/es/shared/locales/nb-NO.js +2 -1
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/locales/sv-SE.d.ts +1 -0
- package/es/shared/locales/sv-SE.js +1 -0
- package/es/shared/locales/sv-SE.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +2 -1
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +19 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +19 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-components.css +19 -1
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +2 -2
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +1 -1
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +9 -0
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/Boolean/Boolean.d.ts +1 -0
- package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Field/Boolean/BooleanDocs.d.ts +1 -0
- package/extensions/forms/Field/Boolean/BooleanDocs.js +7 -0
- package/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
- package/extensions/forms/Field/Date/Date.d.ts +1 -1
- package/extensions/forms/Field/Date/Date.js +1 -1
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/Number/NumberDocs.js +1 -1
- package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +3 -3
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +3 -3
- package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +2 -0
- package/extensions/forms/Field/Selection/Selection.js +10 -9
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.d.ts +7 -0
- package/extensions/forms/Field/Toggle/Toggle.js +26 -9
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Field/Toggle/ToggleDocs.d.ts +1 -0
- package/extensions/forms/Field/Toggle/ToggleDocs.js +7 -0
- package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolatedContainer.d.ts +4 -0
- package/extensions/forms/Form/Isolation/IsolatedContainer.js +54 -0
- package/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -0
- package/extensions/forms/Form/Isolation/Isolation.d.ts +16 -0
- package/extensions/forms/Form/Isolation/Isolation.js +40 -15
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -1
- package/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationContext.d.ts +12 -0
- package/extensions/forms/Form/Isolation/IsolationContext.js +6 -0
- package/extensions/forms/Form/Isolation/IsolationContext.js.map +1 -0
- package/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +9 -0
- package/extensions/forms/Form/Isolation/IsolationDataReference.js +25 -0
- package/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -0
- package/extensions/forms/Form/Isolation/IsolationDocs.js +15 -0
- package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationResetButton.d.ts +7 -0
- package/extensions/forms/Form/Isolation/IsolationResetButton.js +100 -0
- package/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -0
- package/extensions/forms/Form/Isolation/useDataContextSnapshot.d.ts +7 -0
- package/extensions/forms/Form/Isolation/useDataContextSnapshot.js +52 -0
- package/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -0
- package/extensions/forms/Form/Isolation/useHandleStatus.d.ts +9 -0
- package/extensions/forms/Form/Isolation/useHandleStatus.js +51 -0
- package/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -0
- package/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.js +12 -10
- package/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -0
- package/extensions/forms/Form/Snapshot/Snapshot.d.ts +2 -1
- package/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/ResetButton.js +1 -1
- package/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/index.d.ts +1 -1
- package/extensions/forms/Iterate/EditContainer/index.js +1 -1
- package/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -0
- package/extensions/forms/Iterate/PushContainer/PushContainer.js +16 -57
- package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +1 -1
- package/extensions/forms/constants/locales/en-GB.js +3 -3
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +1 -1
- package/extensions/forms/constants/locales/index.d.ts +2 -2
- package/extensions/forms/constants/locales/nb-NO.d.ts +1 -1
- package/extensions/forms/constants/locales/nb-NO.js +3 -3
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/constants/locales/sv-SE.d.ts +1 -1
- package/extensions/forms/constants/locales/sv-SE.js +3 -3
- package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/extensions/forms/hooks/useDataContext.js +5 -3
- package/extensions/forms/hooks/useDataContext.js.map +1 -1
- package/extensions/forms/hooks/useSnapshot.js +18 -15
- package/extensions/forms/hooks/useSnapshot.js.map +1 -1
- package/fragments/drawer-list/DrawerList.d.ts +176 -224
- package/fragments/drawer-list/DrawerList.js +71 -175
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListContext.d.ts +27 -2
- package/fragments/drawer-list/DrawerListContext.js.map +1 -1
- package/fragments/drawer-list/DrawerListDocs.d.ts +211 -4
- package/fragments/drawer-list/DrawerListDocs.js +2 -2
- package/fragments/drawer-list/DrawerListDocs.js.map +1 -1
- package/fragments/drawer-list/DrawerListHelpers.d.ts +85 -89
- package/fragments/drawer-list/DrawerListHelpers.js +45 -53
- package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/fragments/drawer-list/DrawerListItem.d.ts +30 -0
- package/fragments/drawer-list/DrawerListItem.js +91 -0
- package/fragments/drawer-list/DrawerListItem.js.map +1 -0
- package/fragments/drawer-list/DrawerListPortal.d.ts +20 -30
- package/fragments/drawer-list/DrawerListPortal.js +91 -121
- package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/fragments/drawer-list/DrawerListProvider.d.ts +217 -11
- package/fragments/drawer-list/DrawerListProvider.js +12 -19
- package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/component-helper.d.ts +45 -48
- package/shared/component-helper.js +23 -189
- package/shared/component-helper.js.map +1 -1
- package/shared/helpers/withCamelCaseProps.d.ts +4 -5
- package/shared/helpers/withCamelCaseProps.js +7 -2
- package/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/shared/legacy/component-helper-legacy.d.ts +19 -0
- package/shared/legacy/component-helper-legacy.js +185 -0
- package/shared/legacy/component-helper-legacy.js.map +1 -0
- package/shared/locales/en-GB.d.ts +1 -0
- package/shared/locales/en-GB.js +1 -0
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.js.map +1 -1
- package/shared/locales/index.d.ts +2 -0
- package/shared/locales/nb-NO.d.ts +1 -0
- package/shared/locales/nb-NO.js +2 -1
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/locales/sv-SE.d.ts +1 -0
- package/shared/locales/sv-SE.js +1 -0
- package/shared/locales/sv-SE.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +2 -1
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +19 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.css +19 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-components.css +19 -1
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +1 -1
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
- package/es/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
- package/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
- /package/cjs/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
- /package/es/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
- /package/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
|
@@ -5,12 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
require("core-js/modules/es.string.replace.js");
|
|
9
8
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
11
|
var _format = _interopRequireDefault(require("date-fns/format"));
|
|
13
|
-
var _subMonths = _interopRequireDefault(require("date-fns/subMonths"));
|
|
14
12
|
var _addMonths = _interopRequireDefault(require("date-fns/addMonths"));
|
|
15
13
|
var _addWeeks = _interopRequireDefault(require("date-fns/addWeeks"));
|
|
16
14
|
var _addDays = _interopRequireDefault(require("date-fns/addDays"));
|
|
@@ -24,8 +22,7 @@ var _setDate = _interopRequireDefault(require("date-fns/setDate"));
|
|
|
24
22
|
var _DatePickerCalc = require("./DatePickerCalc");
|
|
25
23
|
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
26
24
|
var _DatePickerContext = _interopRequireDefault(require("./DatePickerContext"));
|
|
27
|
-
var
|
|
28
|
-
var _Fragment;
|
|
25
|
+
var _DatePickerCalendarNavigator = require("./DatePickerCalendarNavigator");
|
|
29
26
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
30
27
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
31
28
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -49,10 +46,6 @@ const defaultProps = {
|
|
|
49
46
|
};
|
|
50
47
|
const arrowKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'];
|
|
51
48
|
const keysToHandle = ['Enter', 'Space', ...arrowKeys];
|
|
52
|
-
const titleFormat = {
|
|
53
|
-
month: 'long',
|
|
54
|
-
year: 'numeric'
|
|
55
|
-
};
|
|
56
49
|
function DatePickerCalendar(restOfProps) {
|
|
57
50
|
const props = _objectSpread(_objectSpread({}, defaultProps), restOfProps);
|
|
58
51
|
const {
|
|
@@ -66,13 +59,10 @@ function DatePickerCalendar(restOfProps) {
|
|
|
66
59
|
endMonth,
|
|
67
60
|
hoverDate,
|
|
68
61
|
setHoverDate,
|
|
69
|
-
|
|
70
|
-
DatePicker: {
|
|
71
|
-
selectedMonth
|
|
72
|
-
}
|
|
73
|
-
},
|
|
62
|
+
setSubmittedDates,
|
|
74
63
|
props: {
|
|
75
|
-
onDaysRender
|
|
64
|
+
onDaysRender,
|
|
65
|
+
yearNavigation
|
|
76
66
|
}
|
|
77
67
|
} = (0, _react.useContext)(_DatePickerContext.default);
|
|
78
68
|
const {
|
|
@@ -85,8 +75,6 @@ function DatePickerCalendar(restOfProps) {
|
|
|
85
75
|
hideNav,
|
|
86
76
|
locale,
|
|
87
77
|
hideDays,
|
|
88
|
-
onPrev,
|
|
89
|
-
onNext,
|
|
90
78
|
onSelect,
|
|
91
79
|
onKeyDown,
|
|
92
80
|
resetDate,
|
|
@@ -97,7 +85,6 @@ function DatePickerCalendar(restOfProps) {
|
|
|
97
85
|
onlyMonth
|
|
98
86
|
} = props;
|
|
99
87
|
const tableRef = (0, _react.useRef)();
|
|
100
|
-
const labelRef = (0, _react.useRef)();
|
|
101
88
|
const days = (0, _react.useRef)({});
|
|
102
89
|
const cache = (0, _react.useRef)({});
|
|
103
90
|
(0, _react.useEffect)(() => {
|
|
@@ -109,6 +96,12 @@ function DatePickerCalendar(restOfProps) {
|
|
|
109
96
|
}
|
|
110
97
|
}
|
|
111
98
|
}, [noAutoFocus, nr]);
|
|
99
|
+
(0, _react.useEffect)(() => {
|
|
100
|
+
setSubmittedDates({
|
|
101
|
+
startDate,
|
|
102
|
+
endDate
|
|
103
|
+
});
|
|
104
|
+
}, []);
|
|
112
105
|
const onMouseLeaveHandler = (0, _react.useCallback)(() => {
|
|
113
106
|
setHoverDate(undefined);
|
|
114
107
|
}, [setHoverDate]);
|
|
@@ -255,39 +248,23 @@ function DatePickerCalendar(restOfProps) {
|
|
|
255
248
|
lang: locale
|
|
256
249
|
}, !hideNav && _react.default.createElement("div", {
|
|
257
250
|
className: "dnb-date-picker__header"
|
|
258
|
-
}, _react.default.createElement(
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
type: "prev",
|
|
251
|
+
}, _react.default.createElement(_DatePickerCalendarNavigator.DatePickerCalendarNav, {
|
|
252
|
+
type: yearNavigation ? 'month' : 'both',
|
|
253
|
+
id: id,
|
|
262
254
|
nr: nr,
|
|
263
|
-
date:
|
|
264
|
-
month: month,
|
|
255
|
+
date: month,
|
|
265
256
|
locale: locale,
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
})
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
title: selectedMonth.replace(/%s/, (0, _DatePickerCalc.formatDate)(month, {
|
|
272
|
-
locale,
|
|
273
|
-
formatOptions: titleFormat
|
|
274
|
-
})),
|
|
275
|
-
tabIndex: -1,
|
|
276
|
-
ref: labelRef
|
|
277
|
-
}, (0, _DatePickerCalc.formatDate)(month, {
|
|
278
|
-
locale,
|
|
279
|
-
formatOptions: titleFormat
|
|
280
|
-
})), _react.default.createElement("div", {
|
|
281
|
-
className: "dnb-date-picker__header__nav"
|
|
282
|
-
}, _react.default.createElement(CalendarButton, {
|
|
283
|
-
type: "next",
|
|
257
|
+
showPreviousButton: prevBtn,
|
|
258
|
+
showNextButton: nextBtn
|
|
259
|
+
}), yearNavigation && _react.default.createElement(_DatePickerCalendarNavigator.DatePickerCalendarNav, {
|
|
260
|
+
type: "year",
|
|
261
|
+
id: id,
|
|
284
262
|
nr: nr,
|
|
285
|
-
date:
|
|
286
|
-
month: month,
|
|
263
|
+
date: month,
|
|
287
264
|
locale: locale,
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
}))
|
|
265
|
+
showPreviousButton: prevBtn,
|
|
266
|
+
showNextButton: nextBtn
|
|
267
|
+
})), _react.default.createElement("table", {
|
|
291
268
|
role: "grid",
|
|
292
269
|
className: "dnb-no-focus",
|
|
293
270
|
tabIndex: 0,
|
|
@@ -394,43 +371,7 @@ function DatePickerCalendar(restOfProps) {
|
|
|
394
371
|
}))));
|
|
395
372
|
}
|
|
396
373
|
var _default = exports.default = DatePickerCalendar;
|
|
397
|
-
function
|
|
398
|
-
let {
|
|
399
|
-
type,
|
|
400
|
-
nr,
|
|
401
|
-
date,
|
|
402
|
-
month,
|
|
403
|
-
locale,
|
|
404
|
-
showButton,
|
|
405
|
-
onClick,
|
|
406
|
-
onKeyDown
|
|
407
|
-
} = _ref2;
|
|
408
|
-
const tr = (0, _shared.useTranslation)().DatePicker;
|
|
409
|
-
if (!showButton) {
|
|
410
|
-
return _Fragment || (_Fragment = _react.default.createElement(_react.default.Fragment, null));
|
|
411
|
-
}
|
|
412
|
-
const disabled = date && (0, _isSameMonth.default)(month, date);
|
|
413
|
-
const title = tr[`${type}Month`].replace(/%s/, (0, _DatePickerCalc.formatDate)((0, _subMonths.default)(month, 1), {
|
|
414
|
-
locale,
|
|
415
|
-
formatOptions: {
|
|
416
|
-
month: 'long',
|
|
417
|
-
year: 'numeric'
|
|
418
|
-
}
|
|
419
|
-
}));
|
|
420
|
-
const icon = type === 'prev' ? 'chevron_left' : 'chevron_right';
|
|
421
|
-
return _react.default.createElement(_Button.default, {
|
|
422
|
-
className: `dnb-date-picker__${type}` + (disabled ? " disabled" : ""),
|
|
423
|
-
icon: icon,
|
|
424
|
-
size: "small",
|
|
425
|
-
"aria-label": title,
|
|
426
|
-
onClick: () => onClick && !disabled && onClick({
|
|
427
|
-
nr,
|
|
428
|
-
type
|
|
429
|
-
}),
|
|
430
|
-
onKeyDown: onKeyDown
|
|
431
|
-
});
|
|
432
|
-
}
|
|
433
|
-
function onSelectRange(_ref3) {
|
|
374
|
+
function onSelectRange(_ref2) {
|
|
434
375
|
let {
|
|
435
376
|
day,
|
|
436
377
|
isRange,
|
|
@@ -440,7 +381,7 @@ function onSelectRange(_ref3) {
|
|
|
440
381
|
resetDate,
|
|
441
382
|
event,
|
|
442
383
|
setHasClickedCalendarDay
|
|
443
|
-
} =
|
|
384
|
+
} = _ref2;
|
|
444
385
|
event.persist();
|
|
445
386
|
if (!isRange) {
|
|
446
387
|
return onSelect({
|
|
@@ -466,12 +407,12 @@ function onSelectRange(_ref3) {
|
|
|
466
407
|
event
|
|
467
408
|
});
|
|
468
409
|
}
|
|
469
|
-
function onHoverDay(
|
|
410
|
+
function onHoverDay(_ref3) {
|
|
470
411
|
let {
|
|
471
412
|
day,
|
|
472
413
|
hoverDate,
|
|
473
414
|
setHoverDate
|
|
474
|
-
} =
|
|
415
|
+
} = _ref3;
|
|
475
416
|
if (!(0, _isSameDay.default)(day.date, hoverDate)) {
|
|
476
417
|
setHoverDate === null || setHoverDate === void 0 ? void 0 : setHoverDate(day.date);
|
|
477
418
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerCalendar.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_format","_subMonths","_addMonths","_addWeeks","_addDays","_isSameDay","_isSameMonth","_startOfDay","_differenceInCalendarDays","_differenceInMonths","_lastDayOfMonth","_setDate","_DatePickerCalc","_Button","_DatePickerContext","_shared","_Fragment","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defaultProps","prevBtn","nextBtn","firstDayOfWeek","hideNav","hideDays","onlyMonth","hideNextMonthWeek","noAutoFocus","rtl","resetDate","arrowKeys","keysToHandle","titleFormat","month","year","DatePickerCalendar","restOfProps","props","updateDates","setHasClickedCalendarDay","startDate","endDate","maxDate","minDate","startMonth","endMonth","hoverDate","setHoverDate","translation","DatePicker","selectedMonth","onDaysRender","useContext","DatePickerContext","id","nr","isRange","locale","onPrev","onNext","onSelect","onKeyDown","tableRef","useRef","labelRef","days","cache","useEffect","current","focus","preventScroll","onMouseLeaveHandler","useCallback","undefined","callOnSelect","event","getDays","daysFromCalendar","getCalendar","Date","dayOffset","map","date","makeDayObject","changedDays","Array","isArray","format","keyNavCalc","keyCode","includes","dateHandler","test","addDays","addWeeks","shiftAmount","findValid","foundDate","find","cur","isSameDay","isDisabled","isSelectable","isInactive","nextDate","hasReachedEnd","onKeyDownHandler","pressedKey","code","preventDefault","persist","currentDates","dateType","currentDate","newDate","addMonths","hidePicker","dates","currentMonth","Math","abs","differenceInMonths","setDate","lastDayOfMonth","isSameMonth","cacheKey","useMemo","join","weekDays","count","reduce","acc","values","createElement","className","lang","CalendarButton","type","showButton","onClick","title","replace","formatDate","formatOptions","tabIndex","ref","role","onMouseLeave","getWeek","day","key","scope","weekday","substring","week","handleAsDisabled","isLastMonth","isNextMonth","isStartDate","isEndDate","isSelectedDate","paramsCell","paramsButton","classnames","buildDayClassNames","size","variant","text","getDate","bounding","disabled","on_click","_ref","onSelectRange","state","onMouseOver","onHoverDay","onFocus","_default","exports","_ref2","tr","useTranslation","Fragment","subMonths","icon","_ref3","startOfDay","daysToStartDate","differenceInCalendarDays","daysToEndDate","range","toRange","_ref4","isPreview","isWithinSelection","isToday"],"sources":["../../../../src/components/date-picker/DatePickerCalendar.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\n\n// date-fns\nimport format from 'date-fns/format'\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport addWeeks from 'date-fns/addWeeks'\nimport addDays from 'date-fns/addDays'\nimport isSameDay from 'date-fns/isSameDay'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport startOfDay from 'date-fns/startOfDay'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\nimport differenceInMonths from 'date-fns/differenceInMonths'\nimport lastDayOfMonth from 'date-fns/lastDayOfMonth'\nimport setDate from 'date-fns/setDate'\n\nimport {\n isDisabled,\n makeDayObject,\n toRange,\n getWeek,\n dayOffset,\n getCalendar,\n formatDate,\n} from './DatePickerCalc'\nimport Button, { ButtonProps } from '../button/Button'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport { useTranslation } from '../../shared'\nimport { InternalLocale } from '../../shared/Context'\nimport { DatePickerChangeEvent } from './DatePickerProvider'\nimport { DatePickerDates } from './hooks/useDates'\n\nexport type CalendarDay = {\n date: Date\n isDisabled?: boolean\n isEndDate?: boolean\n isInactive?: boolean\n isLastMonth?: boolean\n isNextMonth?: boolean\n isPreview?: boolean\n isSelectable?: boolean\n isStartDate?: boolean\n isToday?: boolean\n isWithinSelection?: boolean\n className?: string\n}\n\nexport type CalendarNavigationEvent = {\n nr: number\n type?: CalendarButtonProps['type']\n}\n\nexport type DatePickerCalendarProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onSelect' | 'onChange'\n> & {\n id?: string\n nr?: number\n /**\n * To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.\n */\n month?: Date\n hoverDate?: Date\n prevBtn?: boolean\n nextBtn?: boolean\n firstDayOfWeek?: string\n hideNav?: boolean\n hideDays?: boolean\n onlyMonth?: boolean\n hideNextMonthWeek?: boolean\n noAutoFocus?: boolean\n onSelect?: (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>\n >\n ) => void\n onPrev?: (event: CalendarNavigationEvent) => void\n onNext?: (event: CalendarNavigationEvent) => void\n onKeyDown?: (\n event: React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>,\n tableRef: React.MutableRefObject<HTMLTableElement>,\n nr: number\n ) => void\n /**\n * To define the locale used in the calendar. Needs to be an `date-fns` \"v2\" locale object, like `import enLocale from 'date-fns/locale/en-GB'`. Defaults to `nb-NO`.\n */\n locale?: InternalLocale\n rtl?: boolean\n isRange?: boolean\n resetDate?: boolean\n}\n\ntype DayObject = {\n date: Date\n isToday: boolean\n isLastMonth: boolean\n isNextMonth: boolean\n isStartDate: boolean\n isEndDate: boolean\n isWithinSelection: boolean\n isPreview: boolean\n isDisabled: boolean\n isSelectable: boolean\n isInactive: boolean\n className?: string\n}\n\nconst defaultProps: DatePickerCalendarProps = {\n prevBtn: true,\n nextBtn: true,\n firstDayOfWeek: 'monday',\n hideNav: false,\n hideDays: false,\n onlyMonth: false,\n hideNextMonthWeek: false,\n noAutoFocus: false,\n rtl: false,\n resetDate: true,\n}\n\nconst arrowKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']\nconst keysToHandle = ['Enter', 'Space', ...arrowKeys]\n\nconst titleFormat: Intl.DateTimeFormatOptions = {\n month: 'long',\n year: 'numeric',\n}\n\nfunction DatePickerCalendar(restOfProps: DatePickerCalendarProps) {\n const props = { ...defaultProps, ...restOfProps }\n\n const {\n updateDates,\n setHasClickedCalendarDay,\n startDate,\n endDate,\n maxDate,\n minDate,\n startMonth,\n endMonth,\n hoverDate,\n setHoverDate,\n translation: {\n DatePicker: { selectedMonth },\n },\n props: { onDaysRender },\n } = useContext(DatePickerContext)\n\n const {\n id,\n nr,\n rtl,\n month,\n isRange,\n firstDayOfWeek,\n hideNav,\n locale,\n hideDays,\n onPrev,\n onNext,\n onSelect,\n onKeyDown,\n resetDate,\n prevBtn,\n nextBtn,\n noAutoFocus,\n hideNextMonthWeek,\n onlyMonth,\n } = props\n\n const tableRef = useRef<React.ElementRef<'table'>>()\n const labelRef = useRef<HTMLLabelElement>()\n const days = useRef<Record<string, Array<CalendarDay>>>({})\n const cache = useRef<Record<string, CalendarDay[][]>>({})\n\n useEffect(() => {\n if (!noAutoFocus && nr === 0) {\n if (tableRef.current) {\n tableRef.current.focus({ preventScroll: true })\n }\n }\n }, [noAutoFocus, nr])\n\n const onMouseLeaveHandler = useCallback(() => {\n setHoverDate(undefined)\n }, [setHoverDate])\n\n const callOnSelect = useCallback(\n (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement>\n > &\n DatePickerDates\n ) => {\n onSelect?.(event)\n },\n [onSelect]\n )\n\n const getDays = useCallback(\n (month: Date): DayObject[] => {\n let daysFromCalendar = getCalendar(\n month || new Date(),\n dayOffset(firstDayOfWeek),\n {\n onlyMonth,\n hideNextMonthWeek,\n }\n ).map((date) =>\n makeDayObject(date, {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n })\n )\n\n if (onDaysRender) {\n const changedDays = onDaysRender(daysFromCalendar, nr)\n if (Array.isArray(changedDays)) {\n daysFromCalendar = changedDays\n }\n }\n\n // Save for later check against disabled days during key navigation\n days.current[format(month, 'yyyy-MM')] = daysFromCalendar\n\n return daysFromCalendar\n },\n [\n endDate,\n firstDayOfWeek,\n hideNextMonthWeek,\n hoverDate,\n maxDate,\n minDate,\n nr,\n onDaysRender,\n onlyMonth,\n startDate,\n ]\n )\n\n const keyNavCalc = useCallback((date: Date, keyCode: string) => {\n // Return date if arrow keys are not pressed\n if (!arrowKeys.includes(keyCode)) {\n return date\n }\n\n const dateHandler = /(ArrowLeft|ArrowRight)/g.test(keyCode)\n ? addDays\n : addWeeks\n const shiftAmount = /(ArrowLeft|ArrowUp)/g.test(keyCode) ? -1 : 1\n\n return dateHandler(date, shiftAmount)\n }, [])\n\n const findValid = useCallback(\n (date: Date, keyCode: string) => {\n if (!onDaysRender || !days.current) {\n return date\n }\n\n const month = format(date, 'yyyy-MM')\n\n // re-render with new month\n if (!days.current[month]) {\n getDays(date)\n }\n\n if (Array.isArray(days.current[month])) {\n const foundDate = days.current[month].find((cur) =>\n isSameDay(cur.date, date)\n )\n\n if (\n foundDate?.date &&\n (foundDate.isDisabled ||\n foundDate.isSelectable === false ||\n foundDate.isInactive)\n ) {\n const nextDate = keyNavCalc(foundDate.date, keyCode)\n return findValid(nextDate, keyCode)\n }\n\n if (foundDate?.date) {\n return foundDate.date\n }\n }\n\n return date\n },\n [onDaysRender, getDays, keyNavCalc]\n )\n\n const hasReachedEnd = useCallback(\n (date: Date) => isDisabled(date, minDate, maxDate),\n [minDate, maxDate]\n )\n\n const onKeyDownHandler = useCallback(\n (event: React.KeyboardEvent<HTMLTableElement>) => {\n const pressedKey = event.code\n\n // call onKeyDown prop if given\n if (typeof onKeyDown === 'function') {\n return onKeyDown(event, tableRef, nr)\n }\n\n // only continue of key is one of these\n if (!keysToHandle.includes(pressedKey)) {\n return\n }\n event.preventDefault()\n event.persist() // since we use the event after updateDates\n\n const currentDates = { startDate, endDate, startMonth, endMonth }\n const dateType = !isRange || nr === 0 ? 'start' : 'end'\n const currentDate = currentDates[`${dateType}Date`]\n\n let newDate = currentDate\n ? keyNavCalc(currentDate, pressedKey)\n : currentDates[`${dateType}Month`] ||\n (isRange && nr === 1 ? addMonths(new Date(), 1) : new Date())\n\n if (\n newDate === currentDate &&\n (pressedKey === 'Enter' || pressedKey === 'Space')\n ) {\n return callOnSelect({\n event,\n nr,\n hidePicker: true,\n })\n }\n\n const dates: {\n startDate?: Date\n endDate?: Date\n startMonth?: Date\n endMonth?: Date\n } = {}\n\n const currentMonth = currentDates[`${dateType}Month`]\n\n if (\n // in case we don't have a start/end date, then we use the current month date\n (currentMonth && !currentDate) ||\n // if we have a larger gap between the new date and the current month in the calendar\n (currentMonth &&\n Math.abs(differenceInMonths(newDate, currentMonth)) > 1)\n ) {\n newDate = !isRange\n ? currentMonth\n : nr === 0\n ? setDate(currentMonth, 1)\n : lastDayOfMonth(currentMonth)\n\n // only to make sure we navigate the calendar to the new date\n } else if (currentMonth && !isSameMonth(currentDate, currentMonth)) {\n dates[`${dateType}Month`] = newDate\n }\n\n newDate = findValid(newDate, pressedKey)\n\n if (hasReachedEnd(newDate)) {\n return // Stop here\n }\n\n dates[`${dateType}Date`] = newDate\n\n // set fallbacks\n if (!isRange) {\n dates.endDate = newDate\n } else {\n if (!startDate) {\n dates.startDate = newDate\n }\n if (!endDate) {\n dates.endDate = newDate\n }\n }\n\n // make sure we stay on the same month\n if (onlyMonth || hideNav) {\n if (\n !isSameMonth(dates.startDate, startDate) ||\n !isSameMonth(dates.endDate, startDate) // Heads up, should this not be context.endDate?\n ) {\n return\n }\n }\n\n updateDates(dates, () => {\n // call after state update, so the input get's the latest state as well\n callOnSelect({\n event,\n nr,\n hidePicker: false,\n ...dates,\n })\n })\n\n // and set the focus back again\n if (tableRef && tableRef.current) {\n tableRef.current.focus({ preventScroll: true })\n }\n },\n [\n callOnSelect,\n findValid,\n hasReachedEnd,\n onKeyDown,\n startDate,\n endDate,\n updateDates,\n hideNav,\n isRange,\n keyNavCalc,\n nr,\n onlyMonth,\n endMonth,\n startMonth,\n ]\n )\n\n const cacheKey = useMemo(() => {\n return [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ].join('|')\n }, [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ])\n\n const weekDays = useMemo(() => {\n // Cache the result, just because we then avoid at least double calc because of reconciliation,\n // but we do not avoid calculating every day during hover or select\n\n if (cache.current[cacheKey]) {\n return cache.current[cacheKey]\n }\n\n let count = 0\n\n const days = getDays(month).reduce((acc, cur, i) => {\n // Normalize the data for table consumption\n acc[count] = acc[count] || []\n acc[count].push(cur)\n if (i % 7 === 6) {\n count++\n }\n\n return acc\n }, {})\n\n cache.current[cacheKey] = Object.values(days)\n\n return cache.current[cacheKey]\n }, [cacheKey, getDays, month])\n\n return (\n <div\n className={classnames('dnb-date-picker__calendar', rtl && 'rtl')}\n lang={locale}\n >\n {!hideNav && (\n <div className=\"dnb-date-picker__header\">\n <div className=\"dnb-date-picker__header__nav\">\n <CalendarButton\n type=\"prev\"\n nr={nr}\n date={minDate}\n month={month}\n locale={locale}\n showButton={prevBtn}\n onClick={onPrev}\n />\n </div>\n <label\n id={`${id}--title`}\n className=\"dnb-date-picker__header__title dnb-no-focus\"\n title={selectedMonth.replace(\n /%s/,\n formatDate(month, {\n locale,\n formatOptions: titleFormat,\n })\n )}\n tabIndex={-1}\n ref={labelRef}\n >\n {formatDate(month, {\n locale,\n formatOptions: titleFormat,\n })}\n </label>\n <div className=\"dnb-date-picker__header__nav\">\n <CalendarButton\n type=\"next\"\n nr={nr}\n date={maxDate}\n month={month}\n locale={locale}\n showButton={nextBtn}\n onClick={onNext}\n />\n </div>\n </div>\n )}\n <table\n role=\"grid\"\n className=\"dnb-no-focus\"\n tabIndex={0}\n aria-labelledby={`${id}--title`}\n onKeyDown={onKeyDownHandler}\n onMouseLeave={onMouseLeaveHandler}\n ref={tableRef}\n >\n {!hideDays && (\n <thead aria-hidden>\n <tr role=\"row\" className=\"dnb-date-picker__labels\">\n {getWeek(dayOffset(firstDayOfWeek)).map((day, i) => (\n <th\n key={i}\n role=\"columnheader\"\n scope=\"col\"\n className=\"dnb-date-picker__labels__day\"\n aria-label={formatDate(day, {\n locale,\n formatOptions: { weekday: 'long' },\n })}\n >\n {formatDate(day, {\n locale,\n formatOptions: { weekday: 'short' },\n }).substring(0, 2)}\n </th>\n ))}\n </tr>\n </thead>\n )}\n <tbody>\n {weekDays.map((week, i) => {\n return (\n <tr\n key={'week' + i}\n role=\"row\"\n className=\"dnb-date-picker__days\"\n >\n {week.map((day: DayObject, i) => {\n const title = formatDate(day.date, {\n locale,\n formatOptions: {\n weekday: 'long',\n day: 'numeric',\n month: 'long',\n year: 'numeric',\n },\n })\n\n const handleAsDisabled =\n day.isLastMonth ||\n day.isNextMonth ||\n day.isDisabled ||\n day.isInactive\n\n const dateType = day.isStartDate\n ? 'start'\n : day.isEndDate\n ? 'end'\n : undefined\n const isSelectedDate =\n nr === 0 ? day.isStartDate : day.isEndDate\n\n // cell params\n const paramsCell = {\n tabIndex: -1,\n ...(dateType && { id: `${id}--button-${dateType}` }),\n ...(isSelectedDate && { ['aria-selected']: true }),\n } as React.HTMLProps<HTMLTableCellElement>\n\n // cell + button params\n const paramsButton = {\n ...(isSelectedDate && { ['aria-current']: 'date' }),\n } as ButtonProps\n\n return (\n <td\n key={'day' + i}\n role=\"gridcell\"\n className={classnames(\n 'dnb-date-picker__day',\n 'dnb-no-focus',\n buildDayClassNames(day)\n )}\n {...paramsCell}\n >\n <Button\n size=\"medium\"\n variant=\"secondary\"\n text={day.date.getDate()}\n bounding={true}\n disabled={handleAsDisabled}\n tabIndex={handleAsDisabled ? 0 : -1} // fix for NVDA\n aria-disabled={handleAsDisabled}\n aria-label={title}\n {...paramsButton}\n on_click={\n handleAsDisabled\n ? undefined\n : ({ event }) =>\n onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n resetDate,\n event,\n setHasClickedCalendarDay,\n onSelect: (state) => {\n updateDates(state, (dates) =>\n callOnSelect({\n ...dates,\n event,\n nr,\n hidePicker: !isRange,\n })\n )\n },\n })\n }\n onMouseOver={\n handleAsDisabled\n ? undefined\n : () =>\n onHoverDay({\n day,\n hoverDate,\n setHoverDate,\n })\n }\n onFocus={\n handleAsDisabled\n ? undefined\n : () =>\n onHoverDay({\n day,\n hoverDate,\n setHoverDate,\n })\n }\n />\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n}\n\nexport default DatePickerCalendar\n\nexport type CalendarButtonProps = {\n type: 'prev' | 'next'\n nr: number\n date: Date\n month: Date\n locale?: InternalLocale\n showButton: boolean\n onClick: ({\n nr,\n type,\n }: {\n nr: number\n type: CalendarButtonProps['type']\n }) => void\n onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>) => void\n}\n\nfunction CalendarButton({\n type,\n nr,\n date,\n month,\n locale,\n showButton,\n onClick,\n onKeyDown,\n}: CalendarButtonProps) {\n const tr = useTranslation().DatePicker\n\n if (!showButton) {\n return <></>\n }\n const disabled = date && isSameMonth(month, date)\n\n const title = tr[`${type}Month`].replace(\n /%s/,\n formatDate(subMonths(month, 1), {\n locale,\n formatOptions: {\n month: 'long',\n year: 'numeric',\n },\n })\n )\n\n const icon = type === 'prev' ? 'chevron_left' : 'chevron_right'\n\n return (\n <Button\n className={classnames(`dnb-date-picker__${type}`, { disabled })}\n icon={icon}\n size=\"small\"\n aria-label={title}\n onClick={() => onClick && !disabled && onClick({ nr, type })}\n onKeyDown={onKeyDown}\n />\n )\n}\n\ntype SelectRangeEvent = Pick<\n DatePickerContextValues,\n 'setHasClickedCalendarDay'\n> & {\n day: DayObject\n event?: React.MouseEvent<HTMLButtonElement>\n startDate?: Date\n endDate?: Date\n resetDate?: boolean\n isRange?: boolean\n onSelect?: DatePickerCalendarProps['onSelect']\n}\n\nfunction onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n onSelect,\n resetDate,\n event,\n setHasClickedCalendarDay,\n}: SelectRangeEvent) {\n event.persist()\n\n if (!isRange) {\n // set only date\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: startOfDay(day.date),\n event,\n })\n\n // for setting date new on every selection, do this here\n }\n\n // Set to true to stop calendar views from changing in range mode when clicking a day\n setHasClickedCalendarDay(true)\n\n if (!startDate || (resetDate && startDate && endDate)) {\n // set startDate\n // user is selecting startDate\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: undefined,\n event,\n })\n }\n\n // set either startDate or endDate\n const daysToStartDate = Math.abs(\n differenceInCalendarDays(startDate, day.date)\n )\n const daysToEndDate = Math.abs(\n differenceInCalendarDays(endDate, day.date)\n )\n\n const range = toRange(\n endDate && !resetDate && daysToStartDate < daysToEndDate\n ? endDate\n : startDate,\n day.date\n )\n\n return onSelect({\n startDate: startOfDay(range.startDate),\n endDate: startOfDay(range.endDate),\n event,\n })\n}\n\nfunction onHoverDay({\n day,\n hoverDate,\n setHoverDate,\n}: {\n day: CalendarDay\n hoverDate?: Date\n setHoverDate: (date: Date) => void\n}) {\n if (!isSameDay(day.date, hoverDate)) {\n setHoverDate?.(day.date)\n }\n}\n\nfunction buildDayClassNames(day: DayObject) {\n return classnames(\n {\n 'dnb-date-picker__day--start-date': day.isStartDate,\n 'dnb-date-picker__day--end-date': day.isEndDate,\n 'dnb-date-picker__day--preview': day.isPreview,\n 'dnb-date-picker__day--within-selection': day.isWithinSelection,\n 'dnb-date-picker__day--selectable': day.isSelectable,\n 'dnb-date-picker__day--inactive': day.isInactive,\n 'dnb-date-picker__day--disabled': day.isDisabled,\n 'dnb-date-picker__day--today': day.isToday,\n },\n day.className\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DatePickerCalendar.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_format","_addMonths","_addWeeks","_addDays","_isSameDay","_isSameMonth","_startOfDay","_differenceInCalendarDays","_differenceInMonths","_lastDayOfMonth","_setDate","_DatePickerCalc","_Button","_DatePickerContext","_DatePickerCalendarNavigator","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defaultProps","prevBtn","nextBtn","firstDayOfWeek","hideNav","hideDays","onlyMonth","hideNextMonthWeek","noAutoFocus","rtl","resetDate","arrowKeys","keysToHandle","DatePickerCalendar","restOfProps","props","updateDates","setHasClickedCalendarDay","startDate","endDate","maxDate","minDate","startMonth","endMonth","hoverDate","setHoverDate","setSubmittedDates","onDaysRender","yearNavigation","useContext","DatePickerContext","id","nr","month","isRange","locale","onSelect","onKeyDown","tableRef","useRef","days","cache","useEffect","current","focus","preventScroll","onMouseLeaveHandler","useCallback","undefined","callOnSelect","event","getDays","daysFromCalendar","getCalendar","Date","dayOffset","map","date","makeDayObject","changedDays","Array","isArray","format","keyNavCalc","keyCode","includes","dateHandler","test","addDays","addWeeks","shiftAmount","findValid","foundDate","find","cur","isSameDay","isDisabled","isSelectable","isInactive","nextDate","hasReachedEnd","onKeyDownHandler","pressedKey","code","preventDefault","persist","currentDates","dateType","currentDate","newDate","addMonths","hidePicker","dates","currentMonth","Math","abs","differenceInMonths","setDate","lastDayOfMonth","isSameMonth","cacheKey","useMemo","join","weekDays","count","reduce","acc","values","createElement","className","lang","DatePickerCalendarNav","type","showPreviousButton","showNextButton","role","tabIndex","onMouseLeave","ref","getWeek","day","key","scope","formatDate","formatOptions","weekday","substring","week","title","year","handleAsDisabled","isLastMonth","isNextMonth","isStartDate","isEndDate","isSelectedDate","paramsCell","paramsButton","classnames","buildDayClassNames","size","variant","text","getDate","bounding","disabled","on_click","_ref","onSelectRange","state","onMouseOver","onHoverDay","onFocus","_default","exports","_ref2","startOfDay","daysToStartDate","differenceInCalendarDays","daysToEndDate","range","toRange","_ref3","isPreview","isWithinSelection","isToday"],"sources":["../../../../src/components/date-picker/DatePickerCalendar.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\n\n// date-fns\nimport format from 'date-fns/format'\nimport addMonths from 'date-fns/addMonths'\nimport addWeeks from 'date-fns/addWeeks'\nimport addDays from 'date-fns/addDays'\nimport isSameDay from 'date-fns/isSameDay'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport startOfDay from 'date-fns/startOfDay'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\nimport differenceInMonths from 'date-fns/differenceInMonths'\nimport lastDayOfMonth from 'date-fns/lastDayOfMonth'\nimport setDate from 'date-fns/setDate'\n\nimport {\n isDisabled,\n makeDayObject,\n toRange,\n getWeek,\n dayOffset,\n getCalendar,\n formatDate,\n} from './DatePickerCalc'\nimport Button, { ButtonProps } from '../button/Button'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport { InternalLocale } from '../../shared/Context'\nimport { DatePickerChangeEvent } from './DatePickerProvider'\nimport { DatePickerDates } from './hooks/useDates'\nimport {\n CalendarNavButtonProps,\n DatePickerCalendarNav,\n} from './DatePickerCalendarNavigator'\n\nexport type CalendarDay = {\n date: Date\n isDisabled?: boolean\n isEndDate?: boolean\n isInactive?: boolean\n isLastMonth?: boolean\n isNextMonth?: boolean\n isPreview?: boolean\n isSelectable?: boolean\n isStartDate?: boolean\n isToday?: boolean\n isWithinSelection?: boolean\n className?: string\n}\n\nexport type CalendarNavigationEvent = {\n nr: number\n type?: CalendarNavButtonProps['type']\n}\n\nexport type DatePickerCalendarProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onSelect' | 'onChange'\n> & {\n id?: string\n nr?: number\n /**\n * To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.\n */\n month?: Date\n hoverDate?: Date\n // TODO: rename for clarity\n prevBtn?: boolean\n // TODO: rename for clarity\n nextBtn?: boolean\n firstDayOfWeek?: string\n hideNav?: boolean\n hideDays?: boolean\n onlyMonth?: boolean\n hideNextMonthWeek?: boolean\n noAutoFocus?: boolean\n onSelect?: (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>\n >\n ) => void\n onKeyDown?: (\n event: React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>,\n tableRef: React.MutableRefObject<HTMLTableElement>,\n nr: number\n ) => void\n /**\n * To define the locale used in the calendar. Needs to be an `date-fns` \"v2\" locale object, like `import enLocale from 'date-fns/locale/en-GB'`. Defaults to `nb-NO`.\n */\n locale?: InternalLocale\n rtl?: boolean\n isRange?: boolean\n resetDate?: boolean\n}\n\ntype DayObject = {\n date: Date\n isToday: boolean\n isLastMonth: boolean\n isNextMonth: boolean\n isStartDate: boolean\n isEndDate: boolean\n isWithinSelection: boolean\n isPreview: boolean\n isDisabled: boolean\n isSelectable: boolean\n isInactive: boolean\n className?: string\n}\n\nconst defaultProps: DatePickerCalendarProps = {\n prevBtn: true,\n nextBtn: true,\n firstDayOfWeek: 'monday',\n hideNav: false,\n hideDays: false,\n onlyMonth: false,\n hideNextMonthWeek: false,\n noAutoFocus: false,\n rtl: false,\n resetDate: true,\n}\n\nconst arrowKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']\nconst keysToHandle = ['Enter', 'Space', ...arrowKeys]\n\nfunction DatePickerCalendar(restOfProps: DatePickerCalendarProps) {\n const props = { ...defaultProps, ...restOfProps }\n\n const {\n updateDates,\n setHasClickedCalendarDay,\n startDate,\n endDate,\n maxDate,\n minDate,\n startMonth,\n endMonth,\n hoverDate,\n setHoverDate,\n setSubmittedDates,\n props: { onDaysRender, yearNavigation },\n } = useContext(DatePickerContext)\n\n const {\n id,\n nr,\n rtl,\n month,\n isRange,\n firstDayOfWeek,\n hideNav,\n locale,\n hideDays,\n onSelect,\n onKeyDown,\n resetDate,\n prevBtn,\n nextBtn,\n noAutoFocus,\n hideNextMonthWeek,\n onlyMonth,\n } = props\n\n const tableRef = useRef<React.ElementRef<'table'>>()\n const days = useRef<Record<string, Array<CalendarDay>>>({})\n const cache = useRef<Record<string, CalendarDay[][]>>({})\n\n useEffect(() => {\n if (!noAutoFocus && nr === 0) {\n if (tableRef.current) {\n tableRef.current.focus({ preventScroll: true })\n }\n }\n }, [noAutoFocus, nr])\n\n // Store the initial selected date on calendar render, to be used for `onCancel` in DatePickerFooter\n useEffect(() => {\n setSubmittedDates({ startDate, endDate })\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const onMouseLeaveHandler = useCallback(() => {\n setHoverDate(undefined)\n }, [setHoverDate])\n\n const callOnSelect = useCallback(\n (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement>\n > &\n DatePickerDates\n ) => {\n onSelect?.(event)\n },\n [onSelect]\n )\n\n const getDays = useCallback(\n (month: Date): DayObject[] => {\n let daysFromCalendar = getCalendar(\n month || new Date(),\n dayOffset(firstDayOfWeek),\n {\n onlyMonth,\n hideNextMonthWeek,\n }\n ).map((date) =>\n makeDayObject(date, {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n })\n )\n\n if (onDaysRender) {\n const changedDays = onDaysRender(daysFromCalendar, nr)\n if (Array.isArray(changedDays)) {\n daysFromCalendar = changedDays\n }\n }\n\n // Save for later check against disabled days during key navigation\n days.current[format(month, 'yyyy-MM')] = daysFromCalendar\n\n return daysFromCalendar\n },\n [\n endDate,\n firstDayOfWeek,\n hideNextMonthWeek,\n hoverDate,\n maxDate,\n minDate,\n nr,\n onDaysRender,\n onlyMonth,\n startDate,\n ]\n )\n\n const keyNavCalc = useCallback((date: Date, keyCode: string) => {\n // Return date if arrow keys are not pressed\n if (!arrowKeys.includes(keyCode)) {\n return date\n }\n\n const dateHandler = /(ArrowLeft|ArrowRight)/g.test(keyCode)\n ? addDays\n : addWeeks\n const shiftAmount = /(ArrowLeft|ArrowUp)/g.test(keyCode) ? -1 : 1\n\n return dateHandler(date, shiftAmount)\n }, [])\n\n const findValid = useCallback(\n (date: Date, keyCode: string) => {\n if (!onDaysRender || !days.current) {\n return date\n }\n\n const month = format(date, 'yyyy-MM')\n\n // re-render with new month\n if (!days.current[month]) {\n getDays(date)\n }\n\n if (Array.isArray(days.current[month])) {\n const foundDate = days.current[month].find((cur) =>\n isSameDay(cur.date, date)\n )\n\n if (\n foundDate?.date &&\n (foundDate.isDisabled ||\n foundDate.isSelectable === false ||\n foundDate.isInactive)\n ) {\n const nextDate = keyNavCalc(foundDate.date, keyCode)\n return findValid(nextDate, keyCode)\n }\n\n if (foundDate?.date) {\n return foundDate.date\n }\n }\n\n return date\n },\n [onDaysRender, getDays, keyNavCalc]\n )\n\n const hasReachedEnd = useCallback(\n (date: Date) => isDisabled(date, minDate, maxDate),\n [minDate, maxDate]\n )\n\n const onKeyDownHandler = useCallback(\n (event: React.KeyboardEvent<HTMLTableElement>) => {\n const pressedKey = event.code\n\n // call onKeyDown prop if given\n if (typeof onKeyDown === 'function') {\n return onKeyDown(event, tableRef, nr)\n }\n\n // only continue of key is one of these\n if (!keysToHandle.includes(pressedKey)) {\n return\n }\n event.preventDefault()\n event.persist() // since we use the event after updateDates\n\n const currentDates = { startDate, endDate, startMonth, endMonth }\n const dateType = !isRange || nr === 0 ? 'start' : 'end'\n const currentDate = currentDates[`${dateType}Date`]\n\n let newDate = currentDate\n ? keyNavCalc(currentDate, pressedKey)\n : currentDates[`${dateType}Month`] ||\n (isRange && nr === 1 ? addMonths(new Date(), 1) : new Date())\n\n if (\n newDate === currentDate &&\n (pressedKey === 'Enter' || pressedKey === 'Space')\n ) {\n return callOnSelect({\n event,\n nr,\n hidePicker: true,\n })\n }\n\n const dates: {\n startDate?: Date\n endDate?: Date\n startMonth?: Date\n endMonth?: Date\n } = {}\n\n const currentMonth = currentDates[`${dateType}Month`]\n\n if (\n // in case we don't have a start/end date, then we use the current month date\n (currentMonth && !currentDate) ||\n // if we have a larger gap between the new date and the current month in the calendar\n (currentMonth &&\n Math.abs(differenceInMonths(newDate, currentMonth)) > 1)\n ) {\n newDate = !isRange\n ? currentMonth\n : nr === 0\n ? setDate(currentMonth, 1)\n : lastDayOfMonth(currentMonth)\n\n // only to make sure we navigate the calendar to the new date\n } else if (currentMonth && !isSameMonth(currentDate, currentMonth)) {\n dates[`${dateType}Month`] = newDate\n }\n\n newDate = findValid(newDate, pressedKey)\n\n if (hasReachedEnd(newDate)) {\n return // Stop here\n }\n\n dates[`${dateType}Date`] = newDate\n\n // set fallbacks\n if (!isRange) {\n dates.endDate = newDate\n } else {\n if (!startDate) {\n dates.startDate = newDate\n }\n if (!endDate) {\n dates.endDate = newDate\n }\n }\n\n // make sure we stay on the same month\n if (onlyMonth || hideNav) {\n if (\n !isSameMonth(dates.startDate, startDate) ||\n !isSameMonth(dates.endDate, startDate) // Heads up, should this not be context.endDate?\n ) {\n return\n }\n }\n\n updateDates(dates, () => {\n // call after state update, so the input get's the latest state as well\n callOnSelect({\n event,\n nr,\n hidePicker: false,\n ...dates,\n })\n })\n\n // and set the focus back again\n if (tableRef && tableRef.current) {\n tableRef.current.focus({ preventScroll: true })\n }\n },\n [\n callOnSelect,\n findValid,\n hasReachedEnd,\n onKeyDown,\n startDate,\n endDate,\n updateDates,\n hideNav,\n isRange,\n keyNavCalc,\n nr,\n onlyMonth,\n endMonth,\n startMonth,\n ]\n )\n\n const cacheKey = useMemo(() => {\n return [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ].join('|')\n }, [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ])\n\n const weekDays = useMemo(() => {\n // Cache the result, just because we then avoid at least double calc because of reconciliation,\n // but we do not avoid calculating every day during hover or select\n\n if (cache.current[cacheKey]) {\n return cache.current[cacheKey]\n }\n\n let count = 0\n\n const days = getDays(month).reduce((acc, cur, i) => {\n // Normalize the data for table consumption\n acc[count] = acc[count] || []\n acc[count].push(cur)\n if (i % 7 === 6) {\n count++\n }\n\n return acc\n }, {})\n\n cache.current[cacheKey] = Object.values(days)\n\n return cache.current[cacheKey]\n }, [cacheKey, getDays, month])\n\n return (\n <div\n className={classnames('dnb-date-picker__calendar', rtl && 'rtl')}\n lang={locale}\n >\n {!hideNav && (\n <div className=\"dnb-date-picker__header\">\n <DatePickerCalendarNav\n type={yearNavigation ? 'month' : 'both'}\n id={id}\n nr={nr}\n date={month}\n locale={locale}\n showPreviousButton={prevBtn}\n showNextButton={nextBtn}\n />\n {yearNavigation && (\n <DatePickerCalendarNav\n type=\"year\"\n id={id}\n nr={nr}\n date={month}\n locale={locale}\n showPreviousButton={prevBtn}\n showNextButton={nextBtn}\n />\n )}\n </div>\n )}\n <table\n role=\"grid\"\n className=\"dnb-no-focus\"\n tabIndex={0}\n aria-labelledby={`${id}--title`}\n onKeyDown={onKeyDownHandler}\n onMouseLeave={onMouseLeaveHandler}\n ref={tableRef}\n >\n {!hideDays && (\n <thead aria-hidden>\n <tr role=\"row\" className=\"dnb-date-picker__labels\">\n {getWeek(dayOffset(firstDayOfWeek)).map((day, i) => (\n <th\n key={i}\n role=\"columnheader\"\n scope=\"col\"\n className=\"dnb-date-picker__labels__day\"\n aria-label={formatDate(day, {\n locale,\n formatOptions: { weekday: 'long' },\n })}\n >\n {formatDate(day, {\n locale,\n formatOptions: { weekday: 'short' },\n }).substring(0, 2)}\n </th>\n ))}\n </tr>\n </thead>\n )}\n <tbody>\n {weekDays.map((week, i) => {\n return (\n <tr\n key={'week' + i}\n role=\"row\"\n className=\"dnb-date-picker__days\"\n >\n {week.map((day: DayObject, i) => {\n const title = formatDate(day.date, {\n locale,\n formatOptions: {\n weekday: 'long',\n day: 'numeric',\n month: 'long',\n year: 'numeric',\n },\n })\n\n const handleAsDisabled =\n day.isLastMonth ||\n day.isNextMonth ||\n day.isDisabled ||\n day.isInactive\n\n const dateType = day.isStartDate\n ? 'start'\n : day.isEndDate\n ? 'end'\n : undefined\n const isSelectedDate =\n nr === 0 ? day.isStartDate : day.isEndDate\n\n // cell params\n const paramsCell = {\n tabIndex: -1,\n ...(dateType && { id: `${id}--button-${dateType}` }),\n ...(isSelectedDate && { ['aria-selected']: true }),\n } as React.HTMLProps<HTMLTableCellElement>\n\n // cell + button params\n const paramsButton = {\n ...(isSelectedDate && { ['aria-current']: 'date' }),\n } as ButtonProps\n\n return (\n <td\n key={'day' + i}\n role=\"gridcell\"\n className={classnames(\n 'dnb-date-picker__day',\n 'dnb-no-focus',\n buildDayClassNames(day)\n )}\n {...paramsCell}\n >\n <Button\n size=\"medium\"\n variant=\"secondary\"\n text={day.date.getDate()}\n bounding={true}\n disabled={handleAsDisabled}\n tabIndex={handleAsDisabled ? 0 : -1} // fix for NVDA\n aria-disabled={handleAsDisabled}\n aria-label={title}\n {...paramsButton}\n on_click={\n handleAsDisabled\n ? undefined\n : ({ event }) =>\n onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n resetDate,\n event,\n setHasClickedCalendarDay,\n onSelect: (state) => {\n updateDates(state, (dates) =>\n callOnSelect({\n ...dates,\n event,\n nr,\n hidePicker: !isRange,\n })\n )\n },\n })\n }\n onMouseOver={\n handleAsDisabled\n ? undefined\n : () =>\n onHoverDay({\n day,\n hoverDate,\n setHoverDate,\n })\n }\n onFocus={\n handleAsDisabled\n ? undefined\n : () =>\n onHoverDay({\n day,\n hoverDate,\n setHoverDate,\n })\n }\n />\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n}\n\nexport default DatePickerCalendar\n\ntype SelectRangeEvent = Pick<\n DatePickerContextValues,\n 'setHasClickedCalendarDay'\n> & {\n day: DayObject\n event?: React.MouseEvent<HTMLButtonElement>\n startDate?: Date\n endDate?: Date\n resetDate?: boolean\n isRange?: boolean\n onSelect?: DatePickerCalendarProps['onSelect']\n}\n\nfunction onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n onSelect,\n resetDate,\n event,\n setHasClickedCalendarDay,\n}: SelectRangeEvent) {\n event.persist()\n\n if (!isRange) {\n // set only date\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: startOfDay(day.date),\n event,\n })\n\n // for setting date new on every selection, do this here\n }\n\n // Set to true to stop calendar views from changing in range mode when clicking a day\n setHasClickedCalendarDay(true)\n\n if (!startDate || (resetDate && startDate && endDate)) {\n // set startDate\n // user is selecting startDate\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: undefined,\n event,\n })\n }\n\n // set either startDate or endDate\n const daysToStartDate = Math.abs(\n differenceInCalendarDays(startDate, day.date)\n )\n const daysToEndDate = Math.abs(\n differenceInCalendarDays(endDate, day.date)\n )\n\n const range = toRange(\n endDate && !resetDate && daysToStartDate < daysToEndDate\n ? endDate\n : startDate,\n day.date\n )\n\n return onSelect({\n startDate: startOfDay(range.startDate),\n endDate: startOfDay(range.endDate),\n event,\n })\n}\n\nfunction onHoverDay({\n day,\n hoverDate,\n setHoverDate,\n}: {\n day: CalendarDay\n hoverDate?: Date\n setHoverDate: (date: Date) => void\n}) {\n if (!isSameDay(day.date, hoverDate)) {\n setHoverDate?.(day.date)\n }\n}\n\nfunction buildDayClassNames(day: DayObject) {\n return classnames(\n {\n 'dnb-date-picker__day--start-date': day.isStartDate,\n 'dnb-date-picker__day--end-date': day.isEndDate,\n 'dnb-date-picker__day--preview': day.isPreview,\n 'dnb-date-picker__day--within-selection': day.isWithinSelection,\n 'dnb-date-picker__day--selectable': day.isSelectable,\n 'dnb-date-picker__day--inactive': day.isInactive,\n 'dnb-date-picker__day--disabled': day.isDisabled,\n 'dnb-date-picker__day--today': day.isToday,\n },\n day.className\n )\n}\n"],"mappings":";;;;;;;;AAKA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAOA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,OAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,UAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,SAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,QAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,UAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,YAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,WAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,yBAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,mBAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,eAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,QAAA,GAAAX,sBAAA,CAAAF,OAAA;AAEA,IAAAc,eAAA,GAAAd,OAAA;AASA,IAAAe,OAAA,GAAAb,sBAAA,CAAAF,OAAA;AACA,IAAAgB,kBAAA,GAAAd,sBAAA,CAAAF,OAAA;AAMA,IAAAiB,4BAAA,GAAAjB,OAAA;AAGsC,SAAAE,uBAAAgB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAnB,wBAAAmB,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAT,CAAA,MAAAA,CAAA,GAAAuB,SAAA,CAAAC,MAAA,EAAAxB,CAAA,UAAAM,CAAA,GAAAiB,SAAA,CAAAvB,CAAA,YAAAK,CAAA,IAAAC,CAAA,OAAAU,cAAA,CAAAC,IAAA,CAAAX,CAAA,EAAAD,CAAA,MAAAI,CAAA,CAAAJ,CAAA,IAAAC,CAAA,CAAAD,CAAA,aAAAI,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,QAAA1B,CAAA,EAAAK,CAAA,QAAAC,CAAA,GAAAM,MAAA,CAAAe,IAAA,CAAA3B,CAAA,OAAAY,MAAA,CAAAgB,qBAAA,QAAAC,CAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAA5B,CAAA,GAAAK,CAAA,KAAAwB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAzB,CAAA,WAAAO,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAK,CAAA,EAAA0B,UAAA,OAAAzB,CAAA,CAAA0B,IAAA,CAAAP,KAAA,CAAAnB,CAAA,EAAAuB,CAAA,YAAAvB,CAAA;AAAA,SAAA2B,cAAAjC,CAAA,aAAAK,CAAA,MAAAA,CAAA,GAAAkB,SAAA,CAAAC,MAAA,EAAAnB,CAAA,UAAAC,CAAA,WAAAiB,SAAA,CAAAlB,CAAA,IAAAkB,SAAA,CAAAlB,CAAA,QAAAA,CAAA,OAAAqB,OAAA,CAAAd,MAAA,CAAAN,CAAA,OAAA4B,OAAA,WAAA7B,CAAA,IAAA8B,eAAA,CAAAnC,CAAA,EAAAK,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAO,MAAA,CAAAwB,yBAAA,GAAAxB,MAAA,CAAAyB,gBAAA,CAAArC,CAAA,EAAAY,MAAA,CAAAwB,yBAAA,CAAA9B,CAAA,KAAAoB,OAAA,CAAAd,MAAA,CAAAN,CAAA,GAAA4B,OAAA,WAAA7B,CAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,EAAAO,MAAA,CAAAE,wBAAA,CAAAR,CAAA,EAAAD,CAAA,iBAAAL,CAAA;AAAA,SAAAmC,gBAAAnC,CAAA,EAAAK,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAiC,cAAA,CAAAjC,CAAA,MAAAL,CAAA,GAAAY,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,IAAAkC,KAAA,EAAAjC,CAAA,EAAAyB,UAAA,MAAAS,YAAA,MAAAC,QAAA,UAAAzC,CAAA,CAAAK,CAAA,IAAAC,CAAA,EAAAN,CAAA;AAAA,SAAAsC,eAAAhC,CAAA,QAAAY,CAAA,GAAAwB,YAAA,CAAApC,CAAA,uCAAAY,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAwB,aAAApC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAN,CAAA,GAAAM,CAAA,CAAAqC,MAAA,CAAAC,WAAA,kBAAA5C,CAAA,QAAAkB,CAAA,GAAAlB,CAAA,CAAAiB,IAAA,CAAAX,CAAA,EAAAD,CAAA,uCAAAa,CAAA,SAAAA,CAAA,YAAA2B,SAAA,yEAAAxC,CAAA,GAAAyC,MAAA,GAAAC,MAAA,EAAAzC,CAAA;AA8EtC,MAAM0C,YAAqC,GAAG;EAC5CC,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,IAAI;EACbC,cAAc,EAAE,QAAQ;EACxBC,OAAO,EAAE,KAAK;EACdC,QAAQ,EAAE,KAAK;EACfC,SAAS,EAAE,KAAK;EAChBC,iBAAiB,EAAE,KAAK;EACxBC,WAAW,EAAE,KAAK;EAClBC,GAAG,EAAE,KAAK;EACVC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,SAAS,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC;AACrE,MAAMC,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAGD,SAAS,CAAC;AAErD,SAASE,kBAAkBA,CAACC,WAAoC,EAAE;EAChE,MAAMC,KAAK,GAAA9B,aAAA,CAAAA,aAAA,KAAQe,YAAY,GAAKc,WAAW,CAAE;EAEjD,MAAM;IACJE,WAAW;IACXC,wBAAwB;IACxBC,SAAS;IACTC,OAAO;IACPC,OAAO;IACPC,OAAO;IACPC,UAAU;IACVC,QAAQ;IACRC,SAAS;IACTC,YAAY;IACZC,iBAAiB;IACjBX,KAAK,EAAE;MAAEY,YAAY;MAAEC;IAAe;EACxC,CAAC,GAAG,IAAAC,iBAAU,EAACC,0BAAiB,CAAC;EAEjC,MAAM;IACJC,EAAE;IACFC,EAAE;IACFvB,GAAG;IACHwB,KAAK;IACLC,OAAO;IACP/B,cAAc;IACdC,OAAO;IACP+B,MAAM;IACN9B,QAAQ;IACR+B,QAAQ;IACRC,SAAS;IACT3B,SAAS;IACTT,OAAO;IACPC,OAAO;IACPM,WAAW;IACXD,iBAAiB;IACjBD;EACF,CAAC,GAAGS,KAAK;EAET,MAAMuB,QAAQ,GAAG,IAAAC,aAAM,EAA4B,CAAC;EACpD,MAAMC,IAAI,GAAG,IAAAD,aAAM,EAAqC,CAAC,CAAC,CAAC;EAC3D,MAAME,KAAK,GAAG,IAAAF,aAAM,EAAkC,CAAC,CAAC,CAAC;EAEzD,IAAAG,gBAAS,EAAC,MAAM;IACd,IAAI,CAAClC,WAAW,IAAIwB,EAAE,KAAK,CAAC,EAAE;MAC5B,IAAIM,QAAQ,CAACK,OAAO,EAAE;QACpBL,QAAQ,CAACK,OAAO,CAACC,KAAK,CAAC;UAAEC,aAAa,EAAE;QAAK,CAAC,CAAC;MACjD;IACF;EACF,CAAC,EAAE,CAACrC,WAAW,EAAEwB,EAAE,CAAC,CAAC;EAGrB,IAAAU,gBAAS,EAAC,MAAM;IACdhB,iBAAiB,CAAC;MAAER,SAAS;MAAEC;IAAQ,CAAC,CAAC;EAE3C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM2B,mBAAmB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC5CtB,YAAY,CAACuB,SAAS,CAAC;EACzB,CAAC,EAAE,CAACvB,YAAY,CAAC,CAAC;EAElB,MAAMwB,YAAY,GAAG,IAAAF,kBAAW,EAE5BG,KAIiB,IACd;IACHd,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGc,KAAK,CAAC;EACnB,CAAC,EACD,CAACd,QAAQ,CACX,CAAC;EAED,MAAMe,OAAO,GAAG,IAAAJ,kBAAW,EACxBd,KAAW,IAAkB;IAC5B,IAAImB,gBAAgB,GAAG,IAAAC,2BAAW,EAChCpB,KAAK,IAAI,IAAIqB,IAAI,CAAC,CAAC,EACnB,IAAAC,yBAAS,EAACpD,cAAc,CAAC,EACzB;MACEG,SAAS;MACTC;IACF,CACF,CAAC,CAACiD,GAAG,CAAEC,IAAI,IACT,IAAAC,6BAAa,EAACD,IAAI,EAAE;MAClBvC,SAAS;MACTC,OAAO;MACPK,SAAS;MACTH,OAAO;MACPD,OAAO;MACPa;IACF,CAAC,CACH,CAAC;IAED,IAAIN,YAAY,EAAE;MAChB,MAAMgC,WAAW,GAAGhC,YAAY,CAACyB,gBAAgB,EAAEpB,EAAE,CAAC;MACtD,IAAI4B,KAAK,CAACC,OAAO,CAACF,WAAW,CAAC,EAAE;QAC9BP,gBAAgB,GAAGO,WAAW;MAChC;IACF;IAGAnB,IAAI,CAACG,OAAO,CAAC,IAAAmB,eAAM,EAAC7B,KAAK,EAAE,SAAS,CAAC,CAAC,GAAGmB,gBAAgB;IAEzD,OAAOA,gBAAgB;EACzB,CAAC,EACD,CACEjC,OAAO,EACPhB,cAAc,EACdI,iBAAiB,EACjBiB,SAAS,EACTJ,OAAO,EACPC,OAAO,EACPW,EAAE,EACFL,YAAY,EACZrB,SAAS,EACTY,SAAS,CAEb,CAAC;EAED,MAAM6C,UAAU,GAAG,IAAAhB,kBAAW,EAAC,CAACU,IAAU,EAAEO,OAAe,KAAK;IAE9D,IAAI,CAACrD,SAAS,CAACsD,QAAQ,CAACD,OAAO,CAAC,EAAE;MAChC,OAAOP,IAAI;IACb;IAEA,MAAMS,WAAW,GAAG,yBAAyB,CAACC,IAAI,CAACH,OAAO,CAAC,GACvDI,gBAAO,GACPC,iBAAQ;IACZ,MAAMC,WAAW,GAAG,sBAAsB,CAACH,IAAI,CAACH,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAEjE,OAAOE,WAAW,CAACT,IAAI,EAAEa,WAAW,CAAC;EACvC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,SAAS,GAAG,IAAAxB,kBAAW,EAC3B,CAACU,IAAU,EAAEO,OAAe,KAAK;IAC/B,IAAI,CAACrC,YAAY,IAAI,CAACa,IAAI,CAACG,OAAO,EAAE;MAClC,OAAOc,IAAI;IACb;IAEA,MAAMxB,KAAK,GAAG,IAAA6B,eAAM,EAACL,IAAI,EAAE,SAAS,CAAC;IAGrC,IAAI,CAACjB,IAAI,CAACG,OAAO,CAACV,KAAK,CAAC,EAAE;MACxBkB,OAAO,CAACM,IAAI,CAAC;IACf;IAEA,IAAIG,KAAK,CAACC,OAAO,CAACrB,IAAI,CAACG,OAAO,CAACV,KAAK,CAAC,CAAC,EAAE;MACtC,MAAMuC,SAAS,GAAGhC,IAAI,CAACG,OAAO,CAACV,KAAK,CAAC,CAACwC,IAAI,CAAEC,GAAG,IAC7C,IAAAC,kBAAS,EAACD,GAAG,CAACjB,IAAI,EAAEA,IAAI,CAC1B,CAAC;MAED,IACEe,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEf,IAAI,KACde,SAAS,CAACI,UAAU,IACnBJ,SAAS,CAACK,YAAY,KAAK,KAAK,IAChCL,SAAS,CAACM,UAAU,CAAC,EACvB;QACA,MAAMC,QAAQ,GAAGhB,UAAU,CAACS,SAAS,CAACf,IAAI,EAAEO,OAAO,CAAC;QACpD,OAAOO,SAAS,CAACQ,QAAQ,EAAEf,OAAO,CAAC;MACrC;MAEA,IAAIQ,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEf,IAAI,EAAE;QACnB,OAAOe,SAAS,CAACf,IAAI;MACvB;IACF;IAEA,OAAOA,IAAI;EACb,CAAC,EACD,CAAC9B,YAAY,EAAEwB,OAAO,EAAEY,UAAU,CACpC,CAAC;EAED,MAAMiB,aAAa,GAAG,IAAAjC,kBAAW,EAC9BU,IAAU,IAAK,IAAAmB,0BAAU,EAACnB,IAAI,EAAEpC,OAAO,EAAED,OAAO,CAAC,EAClD,CAACC,OAAO,EAAED,OAAO,CACnB,CAAC;EAED,MAAM6D,gBAAgB,GAAG,IAAAlC,kBAAW,EACjCG,KAA4C,IAAK;IAChD,MAAMgC,UAAU,GAAGhC,KAAK,CAACiC,IAAI;IAG7B,IAAI,OAAO9C,SAAS,KAAK,UAAU,EAAE;MACnC,OAAOA,SAAS,CAACa,KAAK,EAAEZ,QAAQ,EAAEN,EAAE,CAAC;IACvC;IAGA,IAAI,CAACpB,YAAY,CAACqD,QAAQ,CAACiB,UAAU,CAAC,EAAE;MACtC;IACF;IACAhC,KAAK,CAACkC,cAAc,CAAC,CAAC;IACtBlC,KAAK,CAACmC,OAAO,CAAC,CAAC;IAEf,MAAMC,YAAY,GAAG;MAAEpE,SAAS;MAAEC,OAAO;MAAEG,UAAU;MAAEC;IAAS,CAAC;IACjE,MAAMgE,QAAQ,GAAG,CAACrD,OAAO,IAAIF,EAAE,KAAK,CAAC,GAAG,OAAO,GAAG,KAAK;IACvD,MAAMwD,WAAW,GAAGF,YAAY,CAAC,GAAGC,QAAQ,MAAM,CAAC;IAEnD,IAAIE,OAAO,GAAGD,WAAW,GACrBzB,UAAU,CAACyB,WAAW,EAAEN,UAAU,CAAC,GACnCI,YAAY,CAAC,GAAGC,QAAQ,OAAO,CAAC,KAC/BrD,OAAO,IAAIF,EAAE,KAAK,CAAC,GAAG,IAAA0D,kBAAS,EAAC,IAAIpC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAIA,IAAI,CAAC,CAAC,CAAC;IAEjE,IACEmC,OAAO,KAAKD,WAAW,KACtBN,UAAU,KAAK,OAAO,IAAIA,UAAU,KAAK,OAAO,CAAC,EAClD;MACA,OAAOjC,YAAY,CAAC;QAClBC,KAAK;QACLlB,EAAE;QACF2D,UAAU,EAAE;MACd,CAAC,CAAC;IACJ;IAEA,MAAMC,KAKL,GAAG,CAAC,CAAC;IAEN,MAAMC,YAAY,GAAGP,YAAY,CAAC,GAAGC,QAAQ,OAAO,CAAC;IAErD,IAEGM,YAAY,IAAI,CAACL,WAAW,IAE5BK,YAAY,IACXC,IAAI,CAACC,GAAG,CAAC,IAAAC,2BAAkB,EAACP,OAAO,EAAEI,YAAY,CAAC,CAAC,GAAG,CAAE,EAC1D;MACAJ,OAAO,GAAG,CAACvD,OAAO,GACd2D,YAAY,GACZ7D,EAAE,KAAK,CAAC,GACR,IAAAiE,gBAAO,EAACJ,YAAY,EAAE,CAAC,CAAC,GACxB,IAAAK,uBAAc,EAACL,YAAY,CAAC;IAGlC,CAAC,MAAM,IAAIA,YAAY,IAAI,CAAC,IAAAM,oBAAW,EAACX,WAAW,EAAEK,YAAY,CAAC,EAAE;MAClED,KAAK,CAAC,GAAGL,QAAQ,OAAO,CAAC,GAAGE,OAAO;IACrC;IAEAA,OAAO,GAAGlB,SAAS,CAACkB,OAAO,EAAEP,UAAU,CAAC;IAExC,IAAIF,aAAa,CAACS,OAAO,CAAC,EAAE;MAC1B;IACF;IAEAG,KAAK,CAAC,GAAGL,QAAQ,MAAM,CAAC,GAAGE,OAAO;IAGlC,IAAI,CAACvD,OAAO,EAAE;MACZ0D,KAAK,CAACzE,OAAO,GAAGsE,OAAO;IACzB,CAAC,MAAM;MACL,IAAI,CAACvE,SAAS,EAAE;QACd0E,KAAK,CAAC1E,SAAS,GAAGuE,OAAO;MAC3B;MACA,IAAI,CAACtE,OAAO,EAAE;QACZyE,KAAK,CAACzE,OAAO,GAAGsE,OAAO;MACzB;IACF;IAGA,IAAInF,SAAS,IAAIF,OAAO,EAAE;MACxB,IACE,CAAC,IAAA+F,oBAAW,EAACP,KAAK,CAAC1E,SAAS,EAAEA,SAAS,CAAC,IACxC,CAAC,IAAAiF,oBAAW,EAACP,KAAK,CAACzE,OAAO,EAAED,SAAS,CAAC,EACtC;QACA;MACF;IACF;IAEAF,WAAW,CAAC4E,KAAK,EAAE,MAAM;MAEvB3C,YAAY,CAAAhE,aAAA;QACViE,KAAK;QACLlB,EAAE;QACF2D,UAAU,EAAE;MAAK,GACdC,KAAK,CACT,CAAC;IACJ,CAAC,CAAC;IAGF,IAAItD,QAAQ,IAAIA,QAAQ,CAACK,OAAO,EAAE;MAChCL,QAAQ,CAACK,OAAO,CAACC,KAAK,CAAC;QAAEC,aAAa,EAAE;MAAK,CAAC,CAAC;IACjD;EACF,CAAC,EACD,CACEI,YAAY,EACZsB,SAAS,EACTS,aAAa,EACb3C,SAAS,EACTnB,SAAS,EACTC,OAAO,EACPH,WAAW,EACXZ,OAAO,EACP8B,OAAO,EACP6B,UAAU,EACV/B,EAAE,EACF1B,SAAS,EACTiB,QAAQ,EACRD,UAAU,CAEd,CAAC;EAED,MAAM8E,QAAQ,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC7B,OAAO,CACLrE,EAAE,EACFC,KAAK,EACL9B,cAAc,EACdG,SAAS,EACTC,iBAAiB,EACjBW,SAAS,EACTC,OAAO,EACPK,SAAS,EACTJ,OAAO,EACPC,OAAO,CACR,CAACiF,IAAI,CAAC,GAAG,CAAC;EACb,CAAC,EAAE,CACDtE,EAAE,EACFC,KAAK,EACL9B,cAAc,EACdG,SAAS,EACTC,iBAAiB,EACjBW,SAAS,EACTC,OAAO,EACPK,SAAS,EACTJ,OAAO,EACPC,OAAO,CACR,CAAC;EAEF,MAAMkF,QAAQ,GAAG,IAAAF,cAAO,EAAC,MAAM;IAI7B,IAAI5D,KAAK,CAACE,OAAO,CAACyD,QAAQ,CAAC,EAAE;MAC3B,OAAO3D,KAAK,CAACE,OAAO,CAACyD,QAAQ,CAAC;IAChC;IAEA,IAAII,KAAK,GAAG,CAAC;IAEb,MAAMhE,IAAI,GAAGW,OAAO,CAAClB,KAAK,CAAC,CAACwE,MAAM,CAAC,CAACC,GAAG,EAAEhC,GAAG,EAAExG,CAAC,KAAK;MAElDwI,GAAG,CAACF,KAAK,CAAC,GAAGE,GAAG,CAACF,KAAK,CAAC,IAAI,EAAE;MAC7BE,GAAG,CAACF,KAAK,CAAC,CAACxH,IAAI,CAAC0F,GAAG,CAAC;MACpB,IAAIxG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACfsI,KAAK,EAAE;MACT;MAEA,OAAOE,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IAENjE,KAAK,CAACE,OAAO,CAACyD,QAAQ,CAAC,GAAGxI,MAAM,CAAC+I,MAAM,CAACnE,IAAI,CAAC;IAE7C,OAAOC,KAAK,CAACE,OAAO,CAACyD,QAAQ,CAAC;EAChC,CAAC,EAAE,CAACA,QAAQ,EAAEjD,OAAO,EAAElB,KAAK,CAAC,CAAC;EAE9B,OACErG,MAAA,CAAAsB,OAAA,CAAA0J,aAAA;IACEC,SAAS,EAAa,2BAA2B,IAAEpG,GAAG,eAAW;IACjEqG,IAAI,EAAE3E;EAAO,GAEZ,CAAC/B,OAAO,IACPxE,MAAA,CAAAsB,OAAA,CAAA0J,aAAA;IAAKC,SAAS,EAAC;EAAyB,GACtCjL,MAAA,CAAAsB,OAAA,CAAA0J,aAAA,CAAC7J,4BAAA,CAAAgK,qBAAqB;IACpBC,IAAI,EAAEpF,cAAc,GAAG,OAAO,GAAG,MAAO;IACxCG,EAAE,EAAEA,EAAG;IACPC,EAAE,EAAEA,EAAG;IACPyB,IAAI,EAAExB,KAAM;IACZE,MAAM,EAAEA,MAAO;IACf8E,kBAAkB,EAAEhH,OAAQ;IAC5BiH,cAAc,EAAEhH;EAAQ,CACzB,CAAC,EACD0B,cAAc,IACbhG,MAAA,CAAAsB,OAAA,CAAA0J,aAAA,CAAC7J,4BAAA,CAAAgK,qBAAqB;IACpBC,IAAI,EAAC,MAAM;IACXjF,EAAE,EAAEA,EAAG;IACPC,EAAE,EAAEA,EAAG;IACPyB,IAAI,EAAExB,KAAM;IACZE,MAAM,EAAEA,MAAO;IACf8E,kBAAkB,EAAEhH,OAAQ;IAC5BiH,cAAc,EAAEhH;EAAQ,CACzB,CAEA,CACN,EACDtE,MAAA,CAAAsB,OAAA,CAAA0J,aAAA;IACEO,IAAI,EAAC,MAAM;IACXN,SAAS,EAAC,cAAc;IACxBO,QAAQ,EAAE,CAAE;IACZ,mBAAiB,GAAGrF,EAAE,SAAU;IAChCM,SAAS,EAAE4C,gBAAiB;IAC5BoC,YAAY,EAAEvE,mBAAoB;IAClCwE,GAAG,EAAEhF;EAAS,GAEb,CAACjC,QAAQ,IACRzE,MAAA,CAAAsB,OAAA,CAAA0J,aAAA;IAAO;EAAW,GAChBhL,MAAA,CAAAsB,OAAA,CAAA0J,aAAA;IAAIO,IAAI,EAAC,KAAK;IAACN,SAAS,EAAC;EAAyB,GAC/C,IAAAU,uBAAO,EAAC,IAAAhE,yBAAS,EAACpD,cAAc,CAAC,CAAC,CAACqD,GAAG,CAAC,CAACgE,GAAG,EAAEtJ,CAAC,KAC7CtC,MAAA,CAAAsB,OAAA,CAAA0J,aAAA;IACEa,GAAG,EAAEvJ,CAAE;IACPiJ,IAAI,EAAC,cAAc;IACnBO,KAAK,EAAC,KAAK;IACXb,SAAS,EAAC,8BAA8B;IACxC,cAAY,IAAAc,0BAAU,EAACH,GAAG,EAAE;MAC1BrF,MAAM;MACNyF,aAAa,EAAE;QAAEC,OAAO,EAAE;MAAO;IACnC,CAAC;EAAE,GAEF,IAAAF,0BAAU,EAACH,GAAG,EAAE;IACfrF,MAAM;IACNyF,aAAa,EAAE;MAAEC,OAAO,EAAE;IAAQ;EACpC,CAAC,CAAC,CAACC,SAAS,CAAC,CAAC,EAAE,CAAC,CACf,CACL,CACC,CACC,CACR,EACDlM,MAAA,CAAAsB,OAAA,CAAA0J,aAAA,gBACGL,QAAQ,CAAC/C,GAAG,CAAC,CAACuE,IAAI,EAAE7J,CAAC,KAAK;IACzB,OACEtC,MAAA,CAAAsB,OAAA,CAAA0J,aAAA;MACEa,GAAG,EAAE,MAAM,GAAGvJ,CAAE;MAChBiJ,IAAI,EAAC,KAAK;MACVN,SAAS,EAAC;IAAuB,GAEhCkB,IAAI,CAACvE,GAAG,CAAC,CAACgE,GAAc,EAAEtJ,CAAC,KAAK;MAC/B,MAAM8J,KAAK,GAAG,IAAAL,0BAAU,EAACH,GAAG,CAAC/D,IAAI,EAAE;QACjCtB,MAAM;QACNyF,aAAa,EAAE;UACbC,OAAO,EAAE,MAAM;UACfL,GAAG,EAAE,SAAS;UACdvF,KAAK,EAAE,MAAM;UACbgG,IAAI,EAAE;QACR;MACF,CAAC,CAAC;MAEF,MAAMC,gBAAgB,GACpBV,GAAG,CAACW,WAAW,IACfX,GAAG,CAACY,WAAW,IACfZ,GAAG,CAAC5C,UAAU,IACd4C,GAAG,CAAC1C,UAAU;MAEhB,MAAMS,QAAQ,GAAGiC,GAAG,CAACa,WAAW,GAC5B,OAAO,GACPb,GAAG,CAACc,SAAS,GACb,KAAK,GACLtF,SAAS;MACb,MAAMuF,cAAc,GAClBvG,EAAE,KAAK,CAAC,GAAGwF,GAAG,CAACa,WAAW,GAAGb,GAAG,CAACc,SAAS;MAG5C,MAAME,UAAU,GAAAvJ,aAAA,CAAAA,aAAA;QACdmI,QAAQ,EAAE,CAAC;MAAC,GACR7B,QAAQ,IAAI;QAAExD,EAAE,EAAE,GAAGA,EAAE,YAAYwD,QAAQ;MAAG,CAAC,GAC/CgD,cAAc,IAAI;QAAE,CAAC,eAAe,GAAG;MAAK,CAAC,CACT;MAG1C,MAAME,YAAY,GAAAxJ,aAAA,KACZsJ,cAAc,IAAI;QAAE,CAAC,cAAc,GAAG;MAAO,CAAC,CACpC;MAEhB,OACE3M,MAAA,CAAAsB,OAAA,CAAA0J,aAAA,OAAAxI,QAAA;QACEqJ,GAAG,EAAE,KAAK,GAAGvJ,CAAE;QACfiJ,IAAI,EAAC,UAAU;QACfN,SAAS,EAAE,IAAA6B,mBAAU,uCAGnBC,kBAAkB,CAACnB,GAAG,CACxB;MAAE,GACEgB,UAAU,GAEd5M,MAAA,CAAAsB,OAAA,CAAA0J,aAAA,CAAC/J,OAAA,CAAAK,OAAM,EAAAkB,QAAA;QACLwK,IAAI,EAAC,QAAQ;QACbC,OAAO,EAAC,WAAW;QACnBC,IAAI,EAAEtB,GAAG,CAAC/D,IAAI,CAACsF,OAAO,CAAC,CAAE;QACzBC,QAAQ,EAAE,IAAK;QACfC,QAAQ,EAAEf,gBAAiB;QAC3Bd,QAAQ,EAAEc,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAE;QACpC,iBAAeA,gBAAiB;QAChC,cAAYF;MAAM,GACdS,YAAY;QAChBS,QAAQ,EACNhB,gBAAgB,GACZlF,SAAS,GACTmG,IAAA;UAAA,IAAC;YAAEjG;UAAM,CAAC,GAAAiG,IAAA;UAAA,OACRC,aAAa,CAAC;YACZ5B,GAAG;YACHtF,OAAO;YACPhB,SAAS;YACTC,OAAO;YACPT,SAAS;YACTwC,KAAK;YACLjC,wBAAwB;YACxBmB,QAAQ,EAAGiH,KAAK,IAAK;cACnBrI,WAAW,CAACqI,KAAK,EAAGzD,KAAK,IACvB3C,YAAY,CAAAhE,aAAA,CAAAA,aAAA,KACP2G,KAAK;gBACR1C,KAAK;gBACLlB,EAAE;gBACF2D,UAAU,EAAE,CAACzD;cAAO,EACrB,CACH,CAAC;YACH;UACF,CAAC,CAAC;QAAA,CACT;QACDoH,WAAW,EACTpB,gBAAgB,GACZlF,SAAS,GACT,MACEuG,UAAU,CAAC;UACT/B,GAAG;UACHhG,SAAS;UACTC;QACF,CAAC,CACR;QACD+H,OAAO,EACLtB,gBAAgB,GACZlF,SAAS,GACT,MACEuG,UAAU,CAAC;UACT/B,GAAG;UACHhG,SAAS;UACTC;QACF,CAAC;MACR,EACF,CACC,CAAC;IAET,CAAC,CACC,CAAC;EAET,CAAC,CACI,CACF,CACJ,CAAC;AAEV;AAAC,IAAAgI,QAAA,GAAAC,OAAA,CAAAxM,OAAA,GAEc2D,kBAAkB;AAejC,SAASuI,aAAaA,CAAAO,KAAA,EASD;EAAA,IATE;IACrBnC,GAAG;IACHtF,OAAO;IACPhB,SAAS;IACTC,OAAO;IACPiB,QAAQ;IACR1B,SAAS;IACTwC,KAAK;IACLjC;EACgB,CAAC,GAAA0I,KAAA;EACjBzG,KAAK,CAACmC,OAAO,CAAC,CAAC;EAEf,IAAI,CAACnD,OAAO,EAAE;IAEZ,OAAOE,QAAQ,CAAC;MACdlB,SAAS,EAAE,IAAA0I,mBAAU,EAACpC,GAAG,CAAC/D,IAAI,CAAC;MAC/BtC,OAAO,EAAE,IAAAyI,mBAAU,EAACpC,GAAG,CAAC/D,IAAI,CAAC;MAC7BP;IACF,CAAC,CAAC;EAGJ;EAGAjC,wBAAwB,CAAC,IAAI,CAAC;EAE9B,IAAI,CAACC,SAAS,IAAKR,SAAS,IAAIQ,SAAS,IAAIC,OAAQ,EAAE;IAGrD,OAAOiB,QAAQ,CAAC;MACdlB,SAAS,EAAE,IAAA0I,mBAAU,EAACpC,GAAG,CAAC/D,IAAI,CAAC;MAC/BtC,OAAO,EAAE6B,SAAS;MAClBE;IACF,CAAC,CAAC;EACJ;EAGA,MAAM2G,eAAe,GAAG/D,IAAI,CAACC,GAAG,CAC9B,IAAA+D,iCAAwB,EAAC5I,SAAS,EAAEsG,GAAG,CAAC/D,IAAI,CAC9C,CAAC;EACD,MAAMsG,aAAa,GAAGjE,IAAI,CAACC,GAAG,CAC5B,IAAA+D,iCAAwB,EAAC3I,OAAO,EAAEqG,GAAG,CAAC/D,IAAI,CAC5C,CAAC;EAED,MAAMuG,KAAK,GAAG,IAAAC,uBAAO,EACnB9I,OAAO,IAAI,CAACT,SAAS,IAAImJ,eAAe,GAAGE,aAAa,GACpD5I,OAAO,GACPD,SAAS,EACbsG,GAAG,CAAC/D,IACN,CAAC;EAED,OAAOrB,QAAQ,CAAC;IACdlB,SAAS,EAAE,IAAA0I,mBAAU,EAACI,KAAK,CAAC9I,SAAS,CAAC;IACtCC,OAAO,EAAE,IAAAyI,mBAAU,EAACI,KAAK,CAAC7I,OAAO,CAAC;IAClC+B;EACF,CAAC,CAAC;AACJ;AAEA,SAASqG,UAAUA,CAAAW,KAAA,EAQhB;EAAA,IARiB;IAClB1C,GAAG;IACHhG,SAAS;IACTC;EAKF,CAAC,GAAAyI,KAAA;EACC,IAAI,CAAC,IAAAvF,kBAAS,EAAC6C,GAAG,CAAC/D,IAAI,EAAEjC,SAAS,CAAC,EAAE;IACnCC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG+F,GAAG,CAAC/D,IAAI,CAAC;EAC1B;AACF;AAEA,SAASkF,kBAAkBA,CAACnB,GAAc,EAAE;EAC1C,OAAO,IAAAkB,mBAAU,EAWflB,GAAG,CAACX,SAAS,EATyBW,GAAG,CAACa,WAAW,IAAnD,kCAAkC,EACAb,GAAG,CAACc,SAAS,IAA/C,gCAAgC,EACCd,GAAG,CAAC2C,SAAS,IAA9C,+BAA+B,EACW3C,GAAG,CAAC4C,iBAAiB,IAA/D,wCAAwC,EACJ5C,GAAG,CAAC3C,YAAY,IAApD,kCAAkC,EACA2C,GAAG,CAAC1C,UAAU,IAAhD,gCAAgC,EACE0C,GAAG,CAAC5C,UAAU,IAAhD,gCAAgC,EACD4C,GAAG,CAAC6C,OAAO,IAA1C,6BAGJ,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { InternalLocale } from '../../shared/Context';
|
|
3
|
+
type CalendarNavigationDateType = 'month' | 'year';
|
|
4
|
+
type CalendarNavigationType = 'both' | CalendarNavigationDateType;
|
|
5
|
+
export type DatePickerCalendarNavigationProps = Omit<React.HTMLProps<HTMLElement>, 'onSelect' | 'onChange'> & {
|
|
6
|
+
type: CalendarNavigationType;
|
|
7
|
+
id: string;
|
|
8
|
+
nr?: number;
|
|
9
|
+
/**
|
|
10
|
+
* To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.
|
|
11
|
+
*/
|
|
12
|
+
date?: Date;
|
|
13
|
+
showPreviousButton?: boolean;
|
|
14
|
+
showNextButton?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* To define the locale used in the calendar. Needs to be an `date-fns` "v2" locale object, like `import enLocale from 'date-fns/locale/en-GB'`. Defaults to `nb-NO`.
|
|
17
|
+
*/
|
|
18
|
+
locale?: InternalLocale;
|
|
19
|
+
};
|
|
20
|
+
export declare function DatePickerCalendarNav({ type, id, nr, date, locale, showPreviousButton, showNextButton, }: DatePickerCalendarNavigationProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export type CalendarNavButtonType = 'prev' | 'next';
|
|
22
|
+
export type CalendarNavButtonProps = {
|
|
23
|
+
dateType: CalendarNavigationDateType;
|
|
24
|
+
type: CalendarNavButtonType;
|
|
25
|
+
nr: number;
|
|
26
|
+
dateFormat: Intl.DateTimeFormatOptions;
|
|
27
|
+
date: Date;
|
|
28
|
+
dateLimit: Date;
|
|
29
|
+
locale: InternalLocale;
|
|
30
|
+
showButton: boolean;
|
|
31
|
+
onClick: ({ nr, type, }: {
|
|
32
|
+
nr: number;
|
|
33
|
+
type: CalendarNavButtonProps['type'];
|
|
34
|
+
}) => void;
|
|
35
|
+
onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>) => void;
|
|
36
|
+
};
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
|
|
4
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.DatePickerCalendarNav = DatePickerCalendarNav;
|
|
9
|
+
require("core-js/modules/es.string.replace.js");
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _dateFns = require("date-fns");
|
|
12
|
+
var _Button = _interopRequireDefault(require("../Button"));
|
|
13
|
+
var _shared = require("../../shared");
|
|
14
|
+
var _DatePickerContext = _interopRequireDefault(require("./DatePickerContext"));
|
|
15
|
+
var _DatePickerCalc = require("./DatePickerCalc");
|
|
16
|
+
var _Fragment;
|
|
17
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
21
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
23
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
24
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
25
|
+
const titleFormats = {
|
|
26
|
+
both: {
|
|
27
|
+
month: 'long',
|
|
28
|
+
year: 'numeric'
|
|
29
|
+
},
|
|
30
|
+
month: {
|
|
31
|
+
month: 'long'
|
|
32
|
+
},
|
|
33
|
+
year: {
|
|
34
|
+
year: 'numeric'
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const dateHandlers = {
|
|
38
|
+
month: {
|
|
39
|
+
prev: _dateFns.subMonths,
|
|
40
|
+
next: _dateFns.addMonths
|
|
41
|
+
},
|
|
42
|
+
year: {
|
|
43
|
+
prev: _dateFns.subYears,
|
|
44
|
+
next: _dateFns.addYears
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
function DatePickerCalendarNav(_ref) {
|
|
48
|
+
let {
|
|
49
|
+
type = 'both',
|
|
50
|
+
id,
|
|
51
|
+
nr,
|
|
52
|
+
date,
|
|
53
|
+
locale,
|
|
54
|
+
showPreviousButton,
|
|
55
|
+
showNextButton
|
|
56
|
+
} = _ref;
|
|
57
|
+
const {
|
|
58
|
+
minDate,
|
|
59
|
+
maxDate,
|
|
60
|
+
views,
|
|
61
|
+
setViews,
|
|
62
|
+
props: {
|
|
63
|
+
link: isLinkedCalendars
|
|
64
|
+
}
|
|
65
|
+
} = (0, _react.useContext)(_DatePickerContext.default);
|
|
66
|
+
const {
|
|
67
|
+
selectedMonth,
|
|
68
|
+
selectedYear
|
|
69
|
+
} = (0, _shared.useTranslation)().DatePicker;
|
|
70
|
+
const title = type === 'year' ? selectedYear : selectedMonth;
|
|
71
|
+
const titleFormat = titleFormats[type];
|
|
72
|
+
const buttonDateType = type === 'year' ? 'year' : 'month';
|
|
73
|
+
const onNav = (0, _react.useCallback)(_ref2 => {
|
|
74
|
+
let {
|
|
75
|
+
nr,
|
|
76
|
+
type: navigationType
|
|
77
|
+
} = _ref2;
|
|
78
|
+
const handlerType = type === 'year' ? 'year' : 'month';
|
|
79
|
+
const updatedViews = views.map(view => {
|
|
80
|
+
if (view.nr === nr || isLinkedCalendars && view.nr === 1) {
|
|
81
|
+
const month = dateHandlers[handlerType][navigationType](view.month, 1);
|
|
82
|
+
return _objectSpread(_objectSpread({}, view), {}, {
|
|
83
|
+
month
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return view;
|
|
87
|
+
});
|
|
88
|
+
setViews(updatedViews);
|
|
89
|
+
}, [type, views, setViews, isLinkedCalendars]);
|
|
90
|
+
return _react.default.createElement("div", {
|
|
91
|
+
className: 'dnb-date-picker__header__row' + (type === 'year' ? " dnb-date-picker__header__row--year" : "")
|
|
92
|
+
}, _react.default.createElement("div", {
|
|
93
|
+
className: "dnb-date-picker__header__nav"
|
|
94
|
+
}, _react.default.createElement(CalendarNavButton, {
|
|
95
|
+
type: "prev",
|
|
96
|
+
nr: nr,
|
|
97
|
+
date: date,
|
|
98
|
+
dateLimit: minDate,
|
|
99
|
+
dateType: buttonDateType,
|
|
100
|
+
dateFormat: titleFormat,
|
|
101
|
+
locale: locale,
|
|
102
|
+
showButton: showPreviousButton,
|
|
103
|
+
onClick: onNav
|
|
104
|
+
})), _react.default.createElement("label", {
|
|
105
|
+
id: `${id}--title`,
|
|
106
|
+
className: "dnb-date-picker__header__title dnb-no-focus",
|
|
107
|
+
title: title.replace(/%s/, (0, _DatePickerCalc.formatDate)(date, {
|
|
108
|
+
locale,
|
|
109
|
+
formatOptions: titleFormat
|
|
110
|
+
})),
|
|
111
|
+
tabIndex: -1
|
|
112
|
+
}, (0, _DatePickerCalc.formatDate)(date, {
|
|
113
|
+
locale,
|
|
114
|
+
formatOptions: titleFormat
|
|
115
|
+
})), _react.default.createElement("div", {
|
|
116
|
+
className: "dnb-date-picker__header__nav"
|
|
117
|
+
}, _react.default.createElement(CalendarNavButton, {
|
|
118
|
+
type: "next",
|
|
119
|
+
dateType: buttonDateType,
|
|
120
|
+
nr: nr,
|
|
121
|
+
date: date,
|
|
122
|
+
dateLimit: maxDate,
|
|
123
|
+
dateFormat: titleFormat,
|
|
124
|
+
locale: locale,
|
|
125
|
+
showButton: showNextButton,
|
|
126
|
+
onClick: onNav
|
|
127
|
+
})));
|
|
128
|
+
}
|
|
129
|
+
const navButtonDisabledHandlers = {
|
|
130
|
+
month: _dateFns.isSameMonth,
|
|
131
|
+
year: _dateFns.isSameYear
|
|
132
|
+
};
|
|
133
|
+
function CalendarNavButton(_ref3) {
|
|
134
|
+
let {
|
|
135
|
+
type,
|
|
136
|
+
dateType,
|
|
137
|
+
dateFormat,
|
|
138
|
+
nr,
|
|
139
|
+
date,
|
|
140
|
+
dateLimit,
|
|
141
|
+
locale,
|
|
142
|
+
showButton,
|
|
143
|
+
onClick,
|
|
144
|
+
onKeyDown
|
|
145
|
+
} = _ref3;
|
|
146
|
+
const translations = (0, _shared.useTranslation)().DatePicker;
|
|
147
|
+
if (!showButton) {
|
|
148
|
+
return _Fragment || (_Fragment = _react.default.createElement(_react.default.Fragment, null));
|
|
149
|
+
}
|
|
150
|
+
const translationKey = `${type}${capitalizeFirstLetter(dateType)}`;
|
|
151
|
+
const dateHandler = dateHandlers[dateType][type];
|
|
152
|
+
const title = translations[translationKey].replace(/%s/, (0, _DatePickerCalc.formatDate)(dateHandler(date, 1), {
|
|
153
|
+
locale,
|
|
154
|
+
formatOptions: dateFormat
|
|
155
|
+
}));
|
|
156
|
+
const disabled = dateLimit && navButtonDisabledHandlers[dateType](date, dateLimit);
|
|
157
|
+
const icon = type === 'prev' ? 'chevron_left' : 'chevron_right';
|
|
158
|
+
return _react.default.createElement(_Button.default, {
|
|
159
|
+
className: `dnb-date-picker__${type}` + (disabled ? " disabled" : ""),
|
|
160
|
+
icon: icon,
|
|
161
|
+
size: "small",
|
|
162
|
+
"aria-label": title,
|
|
163
|
+
onClick: () => onClick && !disabled && onClick({
|
|
164
|
+
nr,
|
|
165
|
+
type
|
|
166
|
+
}),
|
|
167
|
+
onKeyDown: onKeyDown
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
function capitalizeFirstLetter(value) {
|
|
171
|
+
return `${value.charAt(0).toLocaleUpperCase()}${value.slice(1)}`;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=DatePickerCalendarNavigator.js.map
|