@dnb/eufemia 10.57.1 → 10.59.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 +32 -0
- package/cjs/components/date-picker/DatePickerContext.d.ts +1 -1
- package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
- package/cjs/components/date-picker/DatePickerFooter.js +5 -5
- package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
- package/cjs/components/date-picker/DatePickerProvider.js +2 -2
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/date-picker/hooks/useDates.d.ts +1 -1
- package/cjs/components/date-picker/hooks/useDates.js +94 -23
- package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
- package/cjs/components/dialog/parts/DialogAction.js +18 -16
- package/cjs/components/dialog/parts/DialogAction.js.map +1 -1
- package/cjs/components/form-label/FormLabel.js +13 -10
- package/cjs/components/form-label/FormLabel.js.map +1 -1
- package/cjs/components/number-format/NumberUtils.js +15 -15
- package/cjs/components/number-format/NumberUtils.js.map +1 -1
- package/cjs/components/upload/UploadFileListCell.js +2 -1
- package/cjs/components/upload/UploadFileListCell.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +8 -5
- package/cjs/extensions/forms/DataContext/Context.js +0 -1
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +4 -3
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +2 -2
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js +2 -2
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/FieldProvider.d.ts +3 -2
- package/cjs/extensions/forms/Field/Provider/FieldProvider.js.map +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.js +11 -3
- package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/cjs/extensions/forms/Form/Element/Element.d.ts +2 -2
- package/cjs/extensions/forms/Form/Element/Element.js +50 -11
- package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +7 -3
- package/cjs/extensions/forms/Form/Handler/Handler.js +23 -97
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +3 -3
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/Section.d.ts +4 -4
- package/cjs/extensions/forms/Form/Section/Section.js +2 -1
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +1 -1
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +1 -0
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +10 -6
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +13 -7
- package/cjs/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-sbanken.css +3 -0
- package/cjs/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-sbanken.min.css +1 -0
- package/cjs/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-sbanken.scss +7 -0
- package/cjs/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-ui.css +4 -0
- package/cjs/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-ui.min.css +1 -0
- package/cjs/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-ui.scss +8 -0
- package/cjs/extensions/forms/Form/Section/style/themes/ui.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/style/themes/ui.js +4 -0
- package/cjs/extensions/forms/Form/Section/style/themes/ui.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
- package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/clearData.d.ts +2 -1
- package/cjs/extensions/forms/Form/data-context/clearData.js +1 -1
- package/cjs/extensions/forms/Form/data-context/clearData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/getData.js +1 -1
- package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.js +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useValidation.js +2 -2
- package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
- package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js +9 -5
- package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +3 -0
- package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Count/Count.d.ts +4 -3
- package/cjs/extensions/forms/Iterate/Count/Count.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +7 -4
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +2 -2
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.d.ts +3 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +27 -6
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +8 -4
- package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +2 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js +4 -3
- package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +3 -2
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +2 -2
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/hooks/useItem.d.ts +5 -1
- package/cjs/extensions/forms/Iterate/hooks/useItem.js.map +1 -1
- package/cjs/extensions/forms/Tools/ListAllProps.d.ts +7 -7
- package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js +1 -1
- package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useStep.d.ts +2 -2
- package/cjs/extensions/forms/Wizard/hooks/useStep.js +1 -1
- package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +2 -0
- package/cjs/extensions/forms/constants/countries.js +1 -1
- package/cjs/extensions/forms/constants/countries.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataContext.js +1 -1
- package/cjs/extensions/forms/hooks/useDataContext.js.map +1 -1
- package/cjs/extensions/forms/hooks/useSnapshot.d.ts +3 -2
- package/cjs/extensions/forms/hooks/useSnapshot.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +10 -6
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +4 -4
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.d.ts +2 -2
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.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/helpers/useSharedState.d.ts +19 -13
- package/cjs/shared/helpers/useSharedState.js +23 -11
- package/cjs/shared/helpers/useSharedState.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 +10 -6
- 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/dnb-ui-extensions.css +10 -6
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +10 -6
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +25 -12
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +24 -12
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +14 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +14 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.css +25 -12
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +15 -6
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +15 -6
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- package/components/date-picker/DatePickerContext.d.ts +1 -1
- package/components/date-picker/DatePickerContext.js.map +1 -1
- package/components/date-picker/DatePickerFooter.js +5 -5
- package/components/date-picker/DatePickerFooter.js.map +1 -1
- package/components/date-picker/DatePickerProvider.js +2 -2
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/date-picker/hooks/useDates.d.ts +1 -1
- package/components/date-picker/hooks/useDates.js +95 -24
- package/components/date-picker/hooks/useDates.js.map +1 -1
- package/components/dialog/parts/DialogAction.js +19 -17
- package/components/dialog/parts/DialogAction.js.map +1 -1
- package/components/form-label/FormLabel.js +13 -10
- package/components/form-label/FormLabel.js.map +1 -1
- package/components/number-format/NumberUtils.js +15 -15
- package/components/number-format/NumberUtils.js.map +1 -1
- package/components/upload/UploadFileListCell.js +2 -1
- package/components/upload/UploadFileListCell.js.map +1 -1
- package/es/components/date-picker/DatePickerContext.d.ts +1 -1
- package/es/components/date-picker/DatePickerContext.js.map +1 -1
- package/es/components/date-picker/DatePickerFooter.js +5 -5
- package/es/components/date-picker/DatePickerFooter.js.map +1 -1
- package/es/components/date-picker/DatePickerProvider.js +2 -2
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/date-picker/hooks/useDates.d.ts +1 -1
- package/es/components/date-picker/hooks/useDates.js +87 -17
- package/es/components/date-picker/hooks/useDates.js.map +1 -1
- package/es/components/dialog/parts/DialogAction.js +19 -17
- package/es/components/dialog/parts/DialogAction.js.map +1 -1
- package/es/components/form-label/FormLabel.js +13 -10
- package/es/components/form-label/FormLabel.js.map +1 -1
- package/es/components/number-format/NumberUtils.js +15 -15
- package/es/components/number-format/NumberUtils.js.map +1 -1
- package/es/components/upload/UploadFileListCell.js +2 -1
- package/es/components/upload/UploadFileListCell.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +8 -5
- package/es/extensions/forms/DataContext/Context.js +0 -1
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +4 -3
- package/es/extensions/forms/DataContext/Provider/Provider.js +3 -3
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.js +2 -2
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Provider/FieldProvider.d.ts +3 -2
- package/es/extensions/forms/Field/Provider/FieldProvider.js.map +1 -1
- package/es/extensions/forms/Field/Upload/Upload.js +6 -1
- package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/es/extensions/forms/Form/Element/Element.d.ts +2 -2
- package/es/extensions/forms/Form/Element/Element.js +45 -12
- package/es/extensions/forms/Form/Element/Element.js.map +1 -1
- package/es/extensions/forms/Form/Handler/Handler.d.ts +7 -3
- package/es/extensions/forms/Form/Handler/Handler.js +24 -93
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.d.ts +3 -3
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/Section.d.ts +4 -4
- package/es/extensions/forms/Form/Section/Section.js +2 -1
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +1 -1
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js +1 -0
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
- package/es/extensions/forms/Form/Section/style/dnb-form-section.css +10 -6
- package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +13 -7
- package/es/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-sbanken.css +3 -0
- package/es/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-sbanken.min.css +1 -0
- package/es/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-sbanken.scss +7 -0
- package/es/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-ui.css +4 -0
- package/es/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-ui.min.css +1 -0
- package/es/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-ui.scss +8 -0
- package/es/extensions/forms/Form/Section/style/themes/ui.d.ts +1 -0
- package/es/extensions/forms/Form/Section/style/themes/ui.js +1 -0
- package/es/extensions/forms/Form/Section/style/themes/ui.js.map +1 -0
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
- package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/es/extensions/forms/Form/data-context/clearData.d.ts +2 -1
- package/es/extensions/forms/Form/data-context/clearData.js +2 -2
- package/es/extensions/forms/Form/data-context/clearData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/getData.js +2 -2
- package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.js +2 -2
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useValidation.js +3 -3
- package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +9 -5
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +3 -0
- package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -1
- package/es/extensions/forms/Iterate/Count/Count.d.ts +4 -3
- package/es/extensions/forms/Iterate/Count/Count.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +7 -4
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +2 -2
- package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.d.ts +3 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +25 -7
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js +5 -0
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +8 -4
- package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +2 -1
- package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js +4 -3
- package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +3 -2
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +2 -2
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/hooks/useItem.d.ts +5 -1
- package/es/extensions/forms/Iterate/hooks/useItem.js.map +1 -1
- package/es/extensions/forms/Tools/ListAllProps.d.ts +7 -7
- package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +2 -2
- package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/hooks/useStep.d.ts +2 -2
- package/es/extensions/forms/Wizard/hooks/useStep.js +2 -2
- package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +2 -0
- package/es/extensions/forms/constants/countries.js +1 -1
- package/es/extensions/forms/constants/countries.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
- package/es/extensions/forms/constants/locales/en-GB.js +2 -1
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
- package/es/extensions/forms/constants/locales/index.d.ts +2 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/useDataContext.js +2 -2
- package/es/extensions/forms/hooks/useDataContext.js.map +1 -1
- package/es/extensions/forms/hooks/useSnapshot.d.ts +3 -2
- package/es/extensions/forms/hooks/useSnapshot.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +10 -6
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +4 -4
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/json-pointer/json-pointer.d.ts +2 -2
- package/es/extensions/forms/utils/json-pointer/json-pointer.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/helpers/useSharedState.d.ts +19 -13
- package/es/shared/helpers/useSharedState.js +22 -11
- package/es/shared/helpers/useSharedState.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 +10 -6
- 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/dnb-ui-extensions.css +10 -6
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +10 -6
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +25 -12
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +24 -12
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +14 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +14 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-components.css +25 -12
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.css +15 -6
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/es/style/themes/theme-ui/ui-theme-forms.css +15 -6
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- 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 +1 -1
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +8 -5
- package/extensions/forms/DataContext/Context.js +0 -1
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +4 -3
- package/extensions/forms/DataContext/Provider/Provider.js +3 -3
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/Date/Date.js +2 -2
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Provider/FieldProvider.d.ts +3 -2
- package/extensions/forms/Field/Provider/FieldProvider.js.map +1 -1
- package/extensions/forms/Field/Upload/Upload.js +11 -3
- package/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/extensions/forms/Form/Element/Element.d.ts +2 -2
- package/extensions/forms/Form/Element/Element.js +50 -13
- package/extensions/forms/Form/Element/Element.js.map +1 -1
- package/extensions/forms/Form/Handler/Handler.d.ts +7 -3
- package/extensions/forms/Form/Handler/Handler.js +24 -97
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/Isolation/Isolation.d.ts +3 -3
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
- package/extensions/forms/Form/Section/Section.d.ts +4 -4
- package/extensions/forms/Form/Section/Section.js +2 -1
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +1 -1
- package/extensions/forms/Form/Section/containers/SectionContainer.js +1 -0
- package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
- package/extensions/forms/Form/Section/style/dnb-form-section.css +10 -6
- package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/extensions/forms/Form/Section/style/dnb-form-section.scss +13 -7
- package/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-sbanken.css +3 -0
- package/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-sbanken.min.css +1 -0
- package/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-sbanken.scss +7 -0
- package/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-ui.css +4 -0
- package/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-ui.min.css +1 -0
- package/extensions/forms/Form/Section/style/themes/dnb-form-section-theme-ui.scss +8 -0
- package/extensions/forms/Form/Section/style/themes/ui.d.ts +1 -0
- package/extensions/forms/Form/Section/style/themes/ui.js +1 -0
- package/extensions/forms/Form/Section/style/themes/ui.js.map +1 -0
- package/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
- package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/extensions/forms/Form/data-context/clearData.d.ts +2 -1
- package/extensions/forms/Form/data-context/clearData.js +2 -2
- package/extensions/forms/Form/data-context/clearData.js.map +1 -1
- package/extensions/forms/Form/data-context/getData.js +2 -2
- package/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.js +2 -2
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/extensions/forms/Form/data-context/useValidation.js +3 -3
- package/extensions/forms/Form/data-context/useValidation.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
- package/extensions/forms/Iterate/Array/ArrayItemArea.js +9 -5
- package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +3 -0
- package/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -1
- package/extensions/forms/Iterate/Count/Count.d.ts +4 -3
- package/extensions/forms/Iterate/Count/Count.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.js +7 -4
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +2 -2
- package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.d.ts +3 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +26 -7
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js +5 -0
- package/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js.map +1 -1
- package/extensions/forms/Iterate/Toolbar/Toolbar.js +8 -4
- package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +2 -1
- package/extensions/forms/Iterate/ViewContainer/RemoveButton.js +4 -3
- package/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +3 -2
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +2 -2
- package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/hooks/useItem.d.ts +5 -1
- package/extensions/forms/Iterate/hooks/useItem.js.map +1 -1
- package/extensions/forms/Tools/ListAllProps.d.ts +7 -7
- package/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +2 -2
- package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/hooks/useStep.d.ts +2 -2
- package/extensions/forms/Wizard/hooks/useStep.js +2 -2
- package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
- package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +2 -0
- package/extensions/forms/constants/countries.js +1 -1
- package/extensions/forms/constants/countries.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
- package/extensions/forms/constants/locales/en-GB.js +2 -1
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +1 -0
- package/extensions/forms/constants/locales/index.d.ts +2 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
- package/extensions/forms/constants/locales/nb-NO.js +2 -1
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/useDataContext.js +2 -2
- package/extensions/forms/hooks/useDataContext.js.map +1 -1
- package/extensions/forms/hooks/useSnapshot.d.ts +3 -2
- package/extensions/forms/hooks/useSnapshot.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +10 -6
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +4 -4
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/json-pointer/json-pointer.d.ts +2 -2
- package/extensions/forms/utils/json-pointer/json-pointer.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/helpers/useSharedState.d.ts +19 -13
- package/shared/helpers/useSharedState.js +22 -11
- package/shared/helpers/useSharedState.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 +10 -6
- 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/dnb-ui-extensions.css +10 -6
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +10 -6
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +25 -12
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -6
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -6
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-components.css +24 -12
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +14 -6
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +14 -6
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
- package/style/themes/theme-ui/ui-theme-components.css +25 -12
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.css +15 -6
- package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
- package/style/themes/theme-ui/ui-theme-forms.css +15 -6
- package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
- 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/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,38 @@
|
|
|
3
3
|
All notable changes to @dnb/eufemia will be documented in this file. See
|
|
4
4
|
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [10.59.0](https://github.com/dnbexperience/eufemia/compare/v10.58.0...v10.59.0) (2024-12-02)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :sparkles: Features
|
|
10
|
+
|
|
11
|
+
* **Upload:** disabling delete button when loading ([cca3388](https://github.com/dnbexperience/eufemia/commit/cca33886c6a556df516d839a051a3ce70186ac5f))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### :bug: Bug Fixes
|
|
15
|
+
|
|
16
|
+
* **FormLabel:** unhandled runtime error, elem is null ([#4354](https://github.com/dnbexperience/eufemia/issues/4354)) ([a3414f1](https://github.com/dnbexperience/eufemia/commit/a3414f17f5b4225dbb07cf41c058a0c0cb3802a7)), closes [/github.com/dnbexperience/eufemia/pull/4354/files#diff-f476207b8a837f2c0dea83ca374c5d383bcd895b0f6f10e033e12d7c0a7a3f84R142](https://github.com/dnbexperience//github.com/dnbexperience/eufemia/pull/4354/files/issues/diff-f476207b8a837f2c0dea83ca374c5d383bcd895b0f6f10e033e12d7c0a7a3f84R142)
|
|
17
|
+
* **Upload:** disabling delete button when loading ([#4348](https://github.com/dnbexperience/eufemia/issues/4348)) ([85445b4](https://github.com/dnbexperience/eufemia/commit/85445b484f3b7eb85c07f4e396c9514a80275055))
|
|
18
|
+
|
|
19
|
+
## [10.58.0](https://github.com/dnbexperience/eufemia/compare/v10.57.1...v10.58.0) (2024-11-29)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### :sparkles: Features
|
|
23
|
+
|
|
24
|
+
* **Forms:** add `showConfirmDialog` to Iterate.RemoveButton ([#4330](https://github.com/dnbexperience/eufemia/issues/4330)) ([76bddf0](https://github.com/dnbexperience/eufemia/commit/76bddf0adb7e673c608526de2e6f70195a98a8fd))
|
|
25
|
+
* **Forms:** add `variant="filled"` and `toolbarVariant="custom"` to Iterate.EditContainer and Iterate.ViewContainer ([#4329](https://github.com/dnbexperience/eufemia/issues/4329)) ([b2b9eef](https://github.com/dnbexperience/eufemia/commit/b2b9eef82084185fdc693dba9320f95383aba7e2))
|
|
26
|
+
* **Forms:** add support for using a function references instead of a string based id ([#4331](https://github.com/dnbexperience/eufemia/issues/4331)) ([a6e3bc3](https://github.com/dnbexperience/eufemia/commit/a6e3bc31009dd3f3af944b2fd6657b036fe5cbf0))
|
|
27
|
+
* **Forms:** enhance typing and add docs on how to deal with TypeScript types ([#4343](https://github.com/dnbexperience/eufemia/issues/4343)) ([10b199b](https://github.com/dnbexperience/eufemia/commit/10b199bfab4a040bd39e12a06df74385286d7c66))
|
|
28
|
+
* **Forms:** introduce `decoupleForm` prop to Form.Handler ([#4332](https://github.com/dnbexperience/eufemia/issues/4332)) ([0b02b6e](https://github.com/dnbexperience/eufemia/commit/0b02b6e84687c8e44f44a935c009e1c8e5c42519))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### :bug: Bug Fixes
|
|
32
|
+
|
|
33
|
+
* **DatePicker:** make sure the picker and input only reacts to the props that have changed ([#4342](https://github.com/dnbexperience/eufemia/issues/4342)) ([4cd52a3](https://github.com/dnbexperience/eufemia/commit/4cd52a3ac3e4c1e53332de7d920e104a68d87d7f))
|
|
34
|
+
* **Forms.Card:** remove outline when variant="basic" on Section containers when used in Wizard ([#4336](https://github.com/dnbexperience/eufemia/issues/4336)) ([ebad212](https://github.com/dnbexperience/eufemia/commit/ebad212df87cf2cd207fc18d885ff5b7b6e3d0fc))
|
|
35
|
+
* **forms:** add `sessionStorageId` support to Field.Upload with empty file list rendering ([#4339](https://github.com/dnbexperience/eufemia/issues/4339)) ([d02a0af](https://github.com/dnbexperience/eufemia/commit/d02a0afa838e3eb0816d0d8a9d026f707c692c1a))
|
|
36
|
+
* **NumberFormat:** improve regex for parsing phone numbers with country codes ([#4340](https://github.com/dnbexperience/eufemia/issues/4340)) ([96613ed](https://github.com/dnbexperience/eufemia/commit/96613ed769d80bcd0d51fed6e739ef0c405a3cd6)), closes [#4337](https://github.com/dnbexperience/eufemia/issues/4337)
|
|
37
|
+
|
|
6
38
|
## [10.57.1](https://github.com/dnbexperience/eufemia/compare/v10.57.0...v10.57.1) (2024-11-22)
|
|
7
39
|
|
|
8
40
|
|
|
@@ -14,7 +14,7 @@ export type DatePickerContextValues = ContextProps & DatePickerDates & {
|
|
|
14
14
|
translation: ContextProps['translation'];
|
|
15
15
|
views: Array<CalendarView>;
|
|
16
16
|
hasHadValidDate: boolean;
|
|
17
|
-
|
|
17
|
+
previousDateProps: DatePickerDateProps;
|
|
18
18
|
updateDates: (dates: DatePickerDates, callback?: (dates: DatePickerDates) => void) => void;
|
|
19
19
|
setState?: (state: DatePickerProviderState) => void;
|
|
20
20
|
setViews: (views: Array<CalendarView>, callback?: () => void) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerContext.js","names":["_react","_interopRequireDefault","require","obj","__esModule","default","DatePickerContext","React","createContext","_default","exports"],"sources":["../../../../src/components/date-picker/DatePickerContext.ts"],"sourcesContent":["/**\n * Web DatePicker Context\n *\n */\n\nimport React from 'react'\nimport { DatePickerAllProps, DisplayPickerEvent } from './DatePicker'\nimport { ContextProps } from '../../shared/Context'\nimport {\n DatePickerChangeEvent,\n DatePickerProviderState,\n GetReturnObjectParams,\n ReturnObject,\n} from './DatePickerProvider'\nimport { DatePickerDateProps, DatePickerDates } from './hooks/useDates'\nimport { CalendarView } from './hooks/useViews'\n\nexport type DateType = Date | string\n\nexport type DatePickerContextValues = ContextProps &\n DatePickerDates & {\n props: DatePickerAllProps\n translation: ContextProps['translation']\n views: Array<CalendarView>\n hasHadValidDate: boolean\n
|
|
1
|
+
{"version":3,"file":"DatePickerContext.js","names":["_react","_interopRequireDefault","require","obj","__esModule","default","DatePickerContext","React","createContext","_default","exports"],"sources":["../../../../src/components/date-picker/DatePickerContext.ts"],"sourcesContent":["/**\n * Web DatePicker Context\n *\n */\n\nimport React from 'react'\nimport { DatePickerAllProps, DisplayPickerEvent } from './DatePicker'\nimport { ContextProps } from '../../shared/Context'\nimport {\n DatePickerChangeEvent,\n DatePickerProviderState,\n GetReturnObjectParams,\n ReturnObject,\n} from './DatePickerProvider'\nimport { DatePickerDateProps, DatePickerDates } from './hooks/useDates'\nimport { CalendarView } from './hooks/useViews'\n\nexport type DateType = Date | string\n\nexport type DatePickerContextValues = ContextProps &\n DatePickerDates & {\n props: DatePickerAllProps\n translation: ContextProps['translation']\n views: Array<CalendarView>\n hasHadValidDate: boolean\n previousDateProps: DatePickerDateProps\n updateDates: (\n dates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => void\n setState?: (state: DatePickerProviderState) => void\n setViews: (views: Array<CalendarView>, callback?: () => void) => void\n forceViewMonthChange: () => void\n callOnChangeHandler: <E>(event: DatePickerChangeEvent<E>) => void\n hidePicker: (event: DisplayPickerEvent) => void\n getReturnObject: <E>(\n params: GetReturnObjectParams<E>\n ) => ReturnObject<E>\n }\n\nconst DatePickerContext = React.createContext<DatePickerContextValues>(\n {} as DatePickerContextValues\n)\n\nexport default DatePickerContext\n"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyB,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAmCzB,MAAMG,iBAAiB,GAAGC,cAAK,CAACC,aAAa,CAC3C,CAAC,CACH,CAAC;AAAA,IAAAC,QAAA,GAEcH,iBAAiB;AAAAI,OAAA,CAAAL,OAAA,GAAAI,QAAA"}
|
|
@@ -31,7 +31,7 @@ function DatePickerFooter(_ref) {
|
|
|
31
31
|
} = _ref;
|
|
32
32
|
const {
|
|
33
33
|
updateDates,
|
|
34
|
-
|
|
34
|
+
previousDateProps,
|
|
35
35
|
props: contextProps
|
|
36
36
|
} = (0, _react.useContext)(_DatePickerContext.default);
|
|
37
37
|
const {
|
|
@@ -52,12 +52,12 @@ function DatePickerFooter(_ref) {
|
|
|
52
52
|
if (args && args.event) {
|
|
53
53
|
args.event.persist();
|
|
54
54
|
}
|
|
55
|
-
const startDate =
|
|
55
|
+
const startDate = previousDateProps.startDate ? (0, _DatePickerCalc.convertStringToDate)(previousDateProps.startDate, {
|
|
56
56
|
dateFormat
|
|
57
|
-
}) :
|
|
57
|
+
}) : previousDateProps.date ? (0, _DatePickerCalc.convertStringToDate)(previousDateProps.date, {
|
|
58
58
|
dateFormat
|
|
59
59
|
}) : null;
|
|
60
|
-
const endDate =
|
|
60
|
+
const endDate = previousDateProps.endDate ? (0, _DatePickerCalc.convertStringToDate)(previousDateProps.endDate, {
|
|
61
61
|
dateFormat
|
|
62
62
|
}) : startDate;
|
|
63
63
|
updateDates({
|
|
@@ -66,7 +66,7 @@ function DatePickerFooter(_ref) {
|
|
|
66
66
|
}, dates => {
|
|
67
67
|
onCancel === null || onCancel === void 0 ? void 0 : onCancel(_objectSpread(_objectSpread({}, args), dates));
|
|
68
68
|
});
|
|
69
|
-
}, [dateFormat, updateDates,
|
|
69
|
+
}, [dateFormat, updateDates, previousDateProps, onCancel]);
|
|
70
70
|
const onResetHandler = (0, _react.useCallback)(args => {
|
|
71
71
|
if (args && args.event) {
|
|
72
72
|
args.event.persist();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerFooter.js","names":["_react","_interopRequireWildcard","require","_Button","_interopRequireDefault","_DatePickerContext","_DatePickerCalc","_shared","_span","_span2","_span3","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DatePickerFooter","_ref","isRange","submitButtonText","cancelButtonText","resetButtonText","onSubmit","onCancel","onReset","updateDates","previousDates","props","contextProps","useContext","DatePickerContext","showResetButton","showCancelButton","showSubmitButton","dateFormat","submitButtonTextTranslation","cancelButtonTextTranslation","resetButtonTextTranslation","useTranslation","DatePicker","onSubmitHandler","useCallback","args","onCancelHandler","event","persist","startDate","convertStringToDate","date","endDate","dates","onResetHandler","createElement","Fragment","className","text","onClick","icon","icon_position","variant","right","_default","exports"],"sources":["../../../../src/components/date-picker/DatePickerFooter.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, { useContext, useCallback } from 'react'\nimport Button from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\nimport { convertStringToDate } from './DatePickerCalc'\nimport { useTranslation } from '../../shared'\nimport { DatePickerInputDates } from './hooks/useDates'\n\ntype DatePickerFooterEvent = React.MouseEvent<HTMLButtonElement> &\n DatePickerInputDates & {\n event: React.MouseEvent<HTMLButtonElement>\n }\n\nexport type DatePickerFooterProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onSubmit' | 'onCancel' | 'onReset'\n> & {\n isRange: boolean\n onSubmit?: (event: DatePickerFooterEvent) => void\n onCancel?: (event: DatePickerFooterEvent) => void\n onReset?: (event: DatePickerFooterEvent) => void\n submitButtonText?: string\n cancelButtonText?: string\n resetButtonText?: string\n}\n\nfunction DatePickerFooter({\n isRange,\n submitButtonText,\n cancelButtonText,\n resetButtonText,\n onSubmit,\n onCancel,\n onReset,\n}: DatePickerFooterProps) {\n const {\n updateDates,\n previousDates,\n props: contextProps,\n } = useContext(DatePickerContext)\n\n const {\n showResetButton,\n showCancelButton,\n showSubmitButton,\n dateFormat,\n } = contextProps\n\n const {\n submitButtonText: submitButtonTextTranslation,\n cancelButtonText: cancelButtonTextTranslation,\n resetButtonText: resetButtonTextTranslation,\n } = useTranslation().DatePicker\n\n const onSubmitHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n onSubmit?.(args)\n },\n [onSubmit]\n )\n\n const onCancelHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n if (args && args.event) {\n args.event.persist()\n }\n\n const startDate = previousDates.startDate\n ? convertStringToDate(previousDates.startDate, {\n dateFormat,\n })\n : previousDates.date\n ? convertStringToDate(previousDates.date, {\n dateFormat,\n })\n : null\n\n const endDate = previousDates.endDate\n ? convertStringToDate(previousDates.endDate, {\n dateFormat,\n })\n : startDate\n\n updateDates(\n {\n startDate,\n endDate,\n },\n (dates) => {\n onCancel?.({ ...args, ...dates })\n }\n )\n },\n [dateFormat, updateDates, previousDates, onCancel]\n )\n\n const onResetHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n if (args && args.event) {\n args.event.persist()\n }\n\n updateDates(\n {\n date: undefined,\n startDate: undefined,\n endDate: undefined,\n },\n (dates) => {\n onReset?.({ ...args, ...dates })\n }\n )\n },\n [updateDates, onReset]\n )\n\n if (\n !isRange &&\n !showSubmitButton &&\n !showCancelButton &&\n !showResetButton\n ) {\n return <></>\n }\n\n return (\n <div className=\"dnb-date-picker__footer\">\n {((isRange || showSubmitButton) && (\n <Button\n text={submitButtonText || submitButtonTextTranslation}\n onClick={onSubmitHandler}\n data-testid=\"submit\"\n />\n )) || <span />}\n\n <span>\n {(showResetButton && (\n <Button\n text={resetButtonText || resetButtonTextTranslation}\n icon=\"reset\"\n icon_position=\"left\"\n variant=\"tertiary\"\n onClick={onResetHandler}\n data-testid=\"reset\"\n right=\"0.5rem\"\n />\n )) || <span />}\n\n {((isRange || showCancelButton) && (\n <Button\n text={cancelButtonText || cancelButtonTextTranslation}\n icon=\"close\"\n icon_position=\"left\"\n variant=\"tertiary\"\n onClick={onCancelHandler}\n data-testid=\"cancel\"\n right=\"0.5rem\"\n />\n )) || <span />}\n </span>\n </div>\n )\n}\n\nexport default DatePickerFooter\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerFooter.js","names":["_react","_interopRequireWildcard","require","_Button","_interopRequireDefault","_DatePickerContext","_DatePickerCalc","_shared","_span","_span2","_span3","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DatePickerFooter","_ref","isRange","submitButtonText","cancelButtonText","resetButtonText","onSubmit","onCancel","onReset","updateDates","previousDateProps","props","contextProps","useContext","DatePickerContext","showResetButton","showCancelButton","showSubmitButton","dateFormat","submitButtonTextTranslation","cancelButtonTextTranslation","resetButtonTextTranslation","useTranslation","DatePicker","onSubmitHandler","useCallback","args","onCancelHandler","event","persist","startDate","convertStringToDate","date","endDate","dates","onResetHandler","createElement","Fragment","className","text","onClick","icon","icon_position","variant","right","_default","exports"],"sources":["../../../../src/components/date-picker/DatePickerFooter.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, { useContext, useCallback } from 'react'\nimport Button from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\nimport { convertStringToDate } from './DatePickerCalc'\nimport { useTranslation } from '../../shared'\nimport { DatePickerInputDates } from './hooks/useDates'\n\ntype DatePickerFooterEvent = React.MouseEvent<HTMLButtonElement> &\n DatePickerInputDates & {\n event: React.MouseEvent<HTMLButtonElement>\n }\n\nexport type DatePickerFooterProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onSubmit' | 'onCancel' | 'onReset'\n> & {\n isRange: boolean\n onSubmit?: (event: DatePickerFooterEvent) => void\n onCancel?: (event: DatePickerFooterEvent) => void\n onReset?: (event: DatePickerFooterEvent) => void\n submitButtonText?: string\n cancelButtonText?: string\n resetButtonText?: string\n}\n\nfunction DatePickerFooter({\n isRange,\n submitButtonText,\n cancelButtonText,\n resetButtonText,\n onSubmit,\n onCancel,\n onReset,\n}: DatePickerFooterProps) {\n const {\n updateDates,\n previousDateProps,\n props: contextProps,\n } = useContext(DatePickerContext)\n\n const {\n showResetButton,\n showCancelButton,\n showSubmitButton,\n dateFormat,\n } = contextProps\n\n const {\n submitButtonText: submitButtonTextTranslation,\n cancelButtonText: cancelButtonTextTranslation,\n resetButtonText: resetButtonTextTranslation,\n } = useTranslation().DatePicker\n\n const onSubmitHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n onSubmit?.(args)\n },\n [onSubmit]\n )\n\n const onCancelHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n if (args && args.event) {\n args.event.persist()\n }\n\n const startDate = previousDateProps.startDate\n ? convertStringToDate(previousDateProps.startDate, {\n dateFormat,\n })\n : previousDateProps.date\n ? convertStringToDate(previousDateProps.date, {\n dateFormat,\n })\n : null\n\n const endDate = previousDateProps.endDate\n ? convertStringToDate(previousDateProps.endDate, {\n dateFormat,\n })\n : startDate\n\n updateDates(\n {\n startDate,\n endDate,\n },\n (dates) => {\n onCancel?.({ ...args, ...dates })\n }\n )\n },\n [dateFormat, updateDates, previousDateProps, onCancel]\n )\n\n const onResetHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n if (args && args.event) {\n args.event.persist()\n }\n\n updateDates(\n {\n date: undefined,\n startDate: undefined,\n endDate: undefined,\n },\n (dates) => {\n onReset?.({ ...args, ...dates })\n }\n )\n },\n [updateDates, onReset]\n )\n\n if (\n !isRange &&\n !showSubmitButton &&\n !showCancelButton &&\n !showResetButton\n ) {\n return <></>\n }\n\n return (\n <div className=\"dnb-date-picker__footer\">\n {((isRange || showSubmitButton) && (\n <Button\n text={submitButtonText || submitButtonTextTranslation}\n onClick={onSubmitHandler}\n data-testid=\"submit\"\n />\n )) || <span />}\n\n <span>\n {(showResetButton && (\n <Button\n text={resetButtonText || resetButtonTextTranslation}\n icon=\"reset\"\n icon_position=\"left\"\n variant=\"tertiary\"\n onClick={onResetHandler}\n data-testid=\"reset\"\n right=\"0.5rem\"\n />\n )) || <span />}\n\n {((isRange || showCancelButton) && (\n <Button\n text={cancelButtonText || cancelButtonTextTranslation}\n icon=\"close\"\n icon_position=\"left\"\n variant=\"tertiary\"\n onClick={onCancelHandler}\n data-testid=\"cancel\"\n right=\"0.5rem\"\n />\n )) || <span />}\n </span>\n </div>\n )\n}\n\nexport default DatePickerFooter\n"],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ function DatePickerProvider(externalProps) {
|
|
|
54
54
|
dates,
|
|
55
55
|
updateDates,
|
|
56
56
|
hasHadValidDate,
|
|
57
|
-
|
|
57
|
+
previousDateProps
|
|
58
58
|
} = (0, _useDates.default)({
|
|
59
59
|
date,
|
|
60
60
|
startDate,
|
|
@@ -139,7 +139,7 @@ function DatePickerProvider(externalProps) {
|
|
|
139
139
|
hidePicker: hidePicker,
|
|
140
140
|
props
|
|
141
141
|
}, dates), {}, {
|
|
142
|
-
|
|
142
|
+
previousDateProps,
|
|
143
143
|
hasHadValidDate,
|
|
144
144
|
views,
|
|
145
145
|
setViews,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerProvider.js","names":["_react","_interopRequireWildcard","require","_isValid","_interopRequireDefault","_format","_differenceInCalendarDays","_Context","_DatePickerCalc","_DatePickerContext","_useViews","_useDates","_useLastEventCallCache","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","defaultProps","returnFormat","DatePickerProvider","externalProps","props","date","startDate","endDate","startMonth","endMonth","minDate","maxDate","dateFormat","range","correctInvalidDate","attributes","returnFormatProp","children","onChange","setReturnObject","hidePicker","sharedContext","useContext","SharedContext","dates","updateDates","hasHadValidDate","previousDates","useDates","isRange","shouldCorrectDate","views","setViews","forceViewMonthChange","useViews","lastEventCallCache","setLastEventCallCache","useLastEventCallCache","getReturnObject","useCallback","_ref","event","rest","partialStartDate","partialEndDate","correctV1Format","startDateIsValid","Boolean","isValid","endDateIsValid","hasMinOrMaxDates","returnObject","days_between","differenceInCalendarDays","start_date","format","end_date","is_valid_start_date","isDisabled","is_valid_end_date","is_valid","callOnChangeHandler","createElement","Provider","translation","_default","exports"],"sources":["../../../../src/components/date-picker/DatePickerProvider.tsx"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React, { useCallback, useContext } from 'react'\nimport type {\n DatePickerEventAttributes,\n DatePickerAllProps,\n DatePickerProps,\n} from './DatePicker'\n\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport SharedContext from '../../shared/Context'\nimport { correctV1Format, isDisabled } from './DatePickerCalc'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport useViews, { CalendarView } from './hooks/useViews'\nimport useDates, { DatePickerDates } from './hooks/useDates'\nimport useLastEventCallCache, {\n LastEventCallCache,\n} from './hooks/useLastEventCallCache'\n\ntype DatePickerProviderProps = DatePickerAllProps & {\n setReturnObject: (\n func: DatePickerContextValues['getReturnObject']\n ) => DatePickerContextValues['getReturnObject']\n hidePicker?: DatePickerContextValues['hidePicker']\n attributes?: DatePickerEventAttributes\n children: React.ReactNode\n}\n\nexport type DatePickerChangeEvent<E> = DatePickerDates & {\n nr?: number\n hidePicker?: boolean\n event?: E\n}\n\nexport type GetReturnObjectParams<E> = DatePickerDates & {\n event?: E\n}\n\n// TODO: convert properties on event handler return objects to camelCase, constitutes a breaking change\nexport type ReturnObject<E> = {\n event?: E\n attributes?: Record<string, unknown>\n days_between?: number\n date?: string\n start_date?: string\n end_date?: string\n is_valid?: boolean\n is_valid_start_date?: boolean\n is_valid_end_date?: boolean\n partialStartDate?: string\n partialEndDate?: string\n}\n\nexport type DatePickerProviderState = DatePickerDates &\n Array<CalendarView> &\n LastEventCallCache\n\nconst defaultProps: Partial<DatePickerProps> = {\n returnFormat: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n}\n\nfunction DatePickerProvider(externalProps: DatePickerProviderProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n dateFormat,\n range,\n correctInvalidDate,\n attributes,\n returnFormat: returnFormatProp,\n children,\n onChange,\n setReturnObject,\n hidePicker,\n } = props\n\n const sharedContext = useContext(SharedContext)\n\n const { dates, updateDates, hasHadValidDate, previousDates } = useDates(\n {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n },\n {\n dateFormat: dateFormat,\n isRange: range,\n shouldCorrectDate: correctInvalidDate,\n }\n )\n\n const { views, setViews, forceViewMonthChange } = useViews({\n startMonth: dates.startMonth,\n endMonth: dates.endMonth,\n isRange: range,\n })\n\n const [lastEventCallCache, setLastEventCallCache] =\n useLastEventCallCache({\n startDate: dates.startDate,\n endDate: dates.endDate,\n })\n\n const getReturnObject = useCallback(\n <E,>({ event = null, ...rest }: GetReturnObjectParams<E> = {}) => {\n const { startDate, endDate, partialStartDate, partialEndDate } = {\n ...views,\n ...dates,\n ...rest,\n }\n\n const returnFormat = correctV1Format(returnFormatProp)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n const hasMinOrMaxDates = minDate || maxDate\n\n const returnObject: ReturnObject<E> = {\n event,\n attributes: attributes || {},\n partialStartDate,\n }\n\n // Handle range props\n if (range) {\n return {\n ...returnObject,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n is_valid_end_date:\n hasMinOrMaxDates &&\n endDateIsValid &&\n isDisabled(endDate, dates.minDate, dates.maxDate)\n ? false\n : endDateIsValid,\n partialEndDate,\n }\n }\n\n return {\n ...returnObject,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n }\n },\n [dates, views, attributes, maxDate, minDate, range, returnFormatProp]\n )\n\n const callOnChangeHandler = useCallback(\n <E,>(event: E & DatePickerDates) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n */\n if (\n lastEventCallCache &&\n lastEventCallCache.startDate === event.startDate &&\n lastEventCallCache.endDate === event.endDate\n ) {\n return // stop here\n }\n\n onChange?.(getReturnObject({ ...dates, ...event }))\n\n setLastEventCallCache({\n startDate: event.startDate,\n endDate: event.endDate,\n })\n },\n [\n getReturnObject,\n dates,\n onChange,\n lastEventCallCache,\n setLastEventCallCache,\n ]\n )\n\n // Is this at any point something other than a function?\n if (typeof setReturnObject === 'function') {\n setReturnObject(getReturnObject)\n }\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: sharedContext.translation,\n updateDates,\n getReturnObject,\n callOnChangeHandler,\n hidePicker: hidePicker,\n props,\n ...dates,\n previousDates,\n hasHadValidDate,\n views,\n setViews,\n forceViewMonthChange,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n}\n\nexport default DatePickerProvider\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerProvider.js","names":["_react","_interopRequireWildcard","require","_isValid","_interopRequireDefault","_format","_differenceInCalendarDays","_Context","_DatePickerCalc","_DatePickerContext","_useViews","_useDates","_useLastEventCallCache","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","defaultProps","returnFormat","DatePickerProvider","externalProps","props","date","startDate","endDate","startMonth","endMonth","minDate","maxDate","dateFormat","range","correctInvalidDate","attributes","returnFormatProp","children","onChange","setReturnObject","hidePicker","sharedContext","useContext","SharedContext","dates","updateDates","hasHadValidDate","previousDateProps","useDates","isRange","shouldCorrectDate","views","setViews","forceViewMonthChange","useViews","lastEventCallCache","setLastEventCallCache","useLastEventCallCache","getReturnObject","useCallback","_ref","event","rest","partialStartDate","partialEndDate","correctV1Format","startDateIsValid","Boolean","isValid","endDateIsValid","hasMinOrMaxDates","returnObject","days_between","differenceInCalendarDays","start_date","format","end_date","is_valid_start_date","isDisabled","is_valid_end_date","is_valid","callOnChangeHandler","createElement","Provider","translation","_default","exports"],"sources":["../../../../src/components/date-picker/DatePickerProvider.tsx"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React, { useCallback, useContext } from 'react'\nimport type {\n DatePickerEventAttributes,\n DatePickerAllProps,\n DatePickerProps,\n} from './DatePicker'\n\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport SharedContext from '../../shared/Context'\nimport { correctV1Format, isDisabled } from './DatePickerCalc'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport useViews, { CalendarView } from './hooks/useViews'\nimport useDates, { DatePickerDates } from './hooks/useDates'\nimport useLastEventCallCache, {\n LastEventCallCache,\n} from './hooks/useLastEventCallCache'\n\ntype DatePickerProviderProps = DatePickerAllProps & {\n setReturnObject: (\n func: DatePickerContextValues['getReturnObject']\n ) => DatePickerContextValues['getReturnObject']\n hidePicker?: DatePickerContextValues['hidePicker']\n attributes?: DatePickerEventAttributes\n children: React.ReactNode\n}\n\nexport type DatePickerChangeEvent<E> = DatePickerDates & {\n nr?: number\n hidePicker?: boolean\n event?: E\n}\n\nexport type GetReturnObjectParams<E> = DatePickerDates & {\n event?: E\n}\n\n// TODO: convert properties on event handler return objects to camelCase, constitutes a breaking change\nexport type ReturnObject<E> = {\n event?: E\n attributes?: Record<string, unknown>\n days_between?: number\n date?: string\n start_date?: string\n end_date?: string\n is_valid?: boolean\n is_valid_start_date?: boolean\n is_valid_end_date?: boolean\n partialStartDate?: string\n partialEndDate?: string\n}\n\nexport type DatePickerProviderState = DatePickerDates &\n Array<CalendarView> &\n LastEventCallCache\n\nconst defaultProps: Partial<DatePickerProps> = {\n returnFormat: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n}\n\nfunction DatePickerProvider(externalProps: DatePickerProviderProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n dateFormat,\n range,\n correctInvalidDate,\n attributes,\n returnFormat: returnFormatProp,\n children,\n onChange,\n setReturnObject,\n hidePicker,\n } = props\n\n const sharedContext = useContext(SharedContext)\n\n const { dates, updateDates, hasHadValidDate, previousDateProps } =\n useDates(\n {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n },\n {\n dateFormat: dateFormat,\n isRange: range,\n shouldCorrectDate: correctInvalidDate,\n }\n )\n\n const { views, setViews, forceViewMonthChange } = useViews({\n startMonth: dates.startMonth,\n endMonth: dates.endMonth,\n isRange: range,\n })\n\n const [lastEventCallCache, setLastEventCallCache] =\n useLastEventCallCache({\n startDate: dates.startDate,\n endDate: dates.endDate,\n })\n\n const getReturnObject = useCallback(\n <E,>({ event = null, ...rest }: GetReturnObjectParams<E> = {}) => {\n const { startDate, endDate, partialStartDate, partialEndDate } = {\n ...views,\n ...dates,\n ...rest,\n }\n\n const returnFormat = correctV1Format(returnFormatProp)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n const hasMinOrMaxDates = minDate || maxDate\n\n const returnObject: ReturnObject<E> = {\n event,\n attributes: attributes || {},\n partialStartDate,\n }\n\n // Handle range props\n if (range) {\n return {\n ...returnObject,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n is_valid_end_date:\n hasMinOrMaxDates &&\n endDateIsValid &&\n isDisabled(endDate, dates.minDate, dates.maxDate)\n ? false\n : endDateIsValid,\n partialEndDate,\n }\n }\n\n return {\n ...returnObject,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n }\n },\n [dates, views, attributes, maxDate, minDate, range, returnFormatProp]\n )\n\n const callOnChangeHandler = useCallback(\n <E,>(event: E & DatePickerDates) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n */\n if (\n lastEventCallCache &&\n lastEventCallCache.startDate === event.startDate &&\n lastEventCallCache.endDate === event.endDate\n ) {\n return // stop here\n }\n\n onChange?.(getReturnObject({ ...dates, ...event }))\n\n setLastEventCallCache({\n startDate: event.startDate,\n endDate: event.endDate,\n })\n },\n [\n getReturnObject,\n dates,\n onChange,\n lastEventCallCache,\n setLastEventCallCache,\n ]\n )\n\n // Is this at any point something other than a function?\n if (typeof setReturnObject === 'function') {\n setReturnObject(getReturnObject)\n }\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: sharedContext.translation,\n updateDates,\n getReturnObject,\n callOnChangeHandler,\n hidePicker: hidePicker,\n props,\n ...dates,\n previousDateProps,\n hasHadValidDate,\n views,\n setViews,\n forceViewMonthChange,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n}\n\nexport default DatePickerProvider\n"],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ export default function useDates(dateProps: DatePickerDateProps, { dateFormat, i
|
|
|
39
39
|
readonly dates: DatePickerDates;
|
|
40
40
|
readonly updateDates: (newDates: DatePickerDates, callback?: (dates: DatePickerDates) => void) => void;
|
|
41
41
|
readonly hasHadValidDate: boolean;
|
|
42
|
-
readonly
|
|
42
|
+
readonly previousDateProps: DatePickerDateProps;
|
|
43
43
|
};
|
|
44
44
|
export declare function pad(date: string, size: number): string;
|
|
45
45
|
export {};
|
|
@@ -23,22 +23,36 @@ function useDates(dateProps, _ref) {
|
|
|
23
23
|
isRange = false,
|
|
24
24
|
shouldCorrectDate = false
|
|
25
25
|
} = _ref;
|
|
26
|
-
const [
|
|
27
|
-
const [dates, setDates] = (0, _react.useState)(_objectSpread({}, mapDates(dateProps,
|
|
26
|
+
const [previousDateProps, setPreviousDateProps] = (0, _react.useState)(dateProps);
|
|
27
|
+
const [dates, setDates] = (0, _react.useState)(_objectSpread({}, mapDates(dateProps, {
|
|
28
28
|
dateFormat,
|
|
29
29
|
isRange,
|
|
30
30
|
shouldCorrectDate
|
|
31
31
|
})));
|
|
32
32
|
const hasDatePropChanges = (0, _react.useMemo)(() => Object.keys(dateProps).some(date => {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
const dateProp = dateProps[date];
|
|
34
|
+
const previousDate = previousDateProps[date];
|
|
35
|
+
const convertedDateProp = (0, _DatePickerCalc.convertStringToDate)(dateProp, {
|
|
36
|
+
dateFormat
|
|
37
|
+
});
|
|
38
|
+
const convertedPreviousDate = (0, _DatePickerCalc.convertStringToDate)(previousDate, {
|
|
39
|
+
dateFormat
|
|
40
|
+
});
|
|
41
|
+
if (convertedDateProp instanceof Date && convertedPreviousDate instanceof Date) {
|
|
42
|
+
return !(0, _dateFns.isSameDay)(convertedDateProp, convertedPreviousDate);
|
|
43
|
+
}
|
|
44
|
+
return dateProp !== previousDate;
|
|
45
|
+
}), [dateProps, previousDateProps, dateFormat]);
|
|
35
46
|
if (hasDatePropChanges) {
|
|
36
|
-
|
|
47
|
+
const derivedDates = deriveDatesFromProps({
|
|
48
|
+
dates,
|
|
49
|
+
dateProps,
|
|
50
|
+
previousDateProps,
|
|
37
51
|
dateFormat,
|
|
38
|
-
isRange
|
|
39
|
-
|
|
40
|
-
})));
|
|
41
|
-
|
|
52
|
+
isRange
|
|
53
|
+
});
|
|
54
|
+
setDates(currentDates => _objectSpread(_objectSpread({}, currentDates), derivedDates));
|
|
55
|
+
setPreviousDateProps(dateProps);
|
|
42
56
|
}
|
|
43
57
|
const hasHadValidDate = (0, _react.useRef)(false);
|
|
44
58
|
const updateDates = (0, _react.useCallback)((newDates, callback) => {
|
|
@@ -60,8 +74,8 @@ function useDates(dateProps, _ref) {
|
|
|
60
74
|
callback === null || callback === void 0 ? void 0 : callback(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, dates), newDates), months), correctedDates));
|
|
61
75
|
}, [dates, shouldCorrectDate, isRange]);
|
|
62
76
|
(0, _react.useEffect)(() => {
|
|
63
|
-
const startDates = updateInputDates('start', dates);
|
|
64
|
-
const endDates = updateInputDates('end', dates);
|
|
77
|
+
const startDates = updateInputDates('start', dates.startDate);
|
|
78
|
+
const endDates = updateInputDates('end', dates.endDate);
|
|
65
79
|
hasHadValidDate.current = (0, _isValid.default)(dates.startDate) || (0, _isValid.default)(dates.endDate);
|
|
66
80
|
setDates(currentDates => _objectSpread(_objectSpread(_objectSpread({}, currentDates), startDates), endDates));
|
|
67
81
|
}, [dates.startDate, dates.endDate]);
|
|
@@ -69,12 +83,11 @@ function useDates(dateProps, _ref) {
|
|
|
69
83
|
dates,
|
|
70
84
|
updateDates,
|
|
71
85
|
hasHadValidDate: hasHadValidDate.current,
|
|
72
|
-
|
|
86
|
+
previousDateProps
|
|
73
87
|
};
|
|
74
88
|
}
|
|
75
|
-
function updateInputDates(type,
|
|
89
|
+
function updateInputDates(type, date) {
|
|
76
90
|
const updatedDates = {};
|
|
77
|
-
const date = dates[`${type}Date`];
|
|
78
91
|
if ((0, _isValid.default)(date)) {
|
|
79
92
|
updatedDates[`__${type}Day`] = pad((0, _format.default)(date, 'dd'), 2);
|
|
80
93
|
updatedDates[`__${type}Month`] = pad((0, _format.default)(date, 'MM'), 2);
|
|
@@ -86,14 +99,14 @@ function updateInputDates(type, dates) {
|
|
|
86
99
|
}
|
|
87
100
|
return updatedDates;
|
|
88
101
|
}
|
|
89
|
-
function mapDates(dateProps,
|
|
102
|
+
function mapDates(dateProps, _ref2) {
|
|
90
103
|
var _ref3, _convertStringToDate, _convertStringToDate2;
|
|
91
104
|
let {
|
|
92
105
|
dateFormat,
|
|
93
106
|
isRange,
|
|
94
107
|
shouldCorrectDate
|
|
95
108
|
} = _ref2;
|
|
96
|
-
const date =
|
|
109
|
+
const date = dateProps.date;
|
|
97
110
|
const startDate = typeof (dateProps === null || dateProps === void 0 ? void 0 : dateProps.startDate) !== 'undefined' ? getDate(dateProps.startDate, dateFormat) : typeof date !== 'undefined' ? getDate(date, dateFormat) : undefined;
|
|
98
111
|
const endDate = !isRange ? startDate : (0, _DatePickerCalc.convertStringToDate)(dateProps === null || dateProps === void 0 ? void 0 : dateProps.endDate, {
|
|
99
112
|
dateFormat
|
|
@@ -120,6 +133,7 @@ function mapDates(dateProps, previousDates, _ref2) {
|
|
|
120
133
|
isRange
|
|
121
134
|
}) : {};
|
|
122
135
|
const dates = _objectSpread({
|
|
136
|
+
date,
|
|
123
137
|
startDate,
|
|
124
138
|
endDate,
|
|
125
139
|
startMonth,
|
|
@@ -136,14 +150,62 @@ function mapDates(dateProps, previousDates, _ref2) {
|
|
|
136
150
|
__endYear: hasValidEndDate ? (0, _format.default)(dates.endDate, 'yyyy') : null
|
|
137
151
|
});
|
|
138
152
|
}
|
|
139
|
-
function
|
|
153
|
+
function deriveDatesFromProps(_ref4) {
|
|
154
|
+
let {
|
|
155
|
+
dates,
|
|
156
|
+
dateProps,
|
|
157
|
+
previousDateProps,
|
|
158
|
+
dateFormat,
|
|
159
|
+
isRange
|
|
160
|
+
} = _ref4;
|
|
161
|
+
const derivedDates = {};
|
|
162
|
+
const startDate = getStartDate(dateProps, previousDateProps);
|
|
163
|
+
if (typeof startDate !== 'undefined' && startDate !== dates.startDate) {
|
|
164
|
+
derivedDates.startDate = (0, _DatePickerCalc.convertStringToDate)(startDate, {
|
|
165
|
+
dateFormat
|
|
166
|
+
}) || undefined;
|
|
167
|
+
if (!isRange) {
|
|
168
|
+
derivedDates.startMonth = (0, _DatePickerCalc.convertStringToDate)(startDate, {
|
|
169
|
+
dateFormat
|
|
170
|
+
}) || undefined;
|
|
171
|
+
derivedDates.endDate = derivedDates.startDate;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
if (isRange && typeof dateProps.endDate !== 'undefined' && dateProps.endDate !== dates.endDate) {
|
|
175
|
+
derivedDates.endDate = (0, _DatePickerCalc.convertStringToDate)(dateProps.endDate, {
|
|
176
|
+
dateFormat
|
|
177
|
+
}) || undefined;
|
|
178
|
+
}
|
|
179
|
+
if (typeof dateProps.startMonth !== 'undefined' && dateProps.startMonth !== previousDateProps.startMonth) {
|
|
180
|
+
derivedDates.startMonth = (0, _DatePickerCalc.convertStringToDate)(dateProps.startMonth, {
|
|
181
|
+
dateFormat
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
if (typeof dateProps.endMonth !== 'undefined' && dateProps.endMonth !== previousDateProps.endMonth) {
|
|
185
|
+
derivedDates.endMonth = (0, _DatePickerCalc.convertStringToDate)(dateProps.endMonth, {
|
|
186
|
+
dateFormat
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
if (typeof dateProps.minDate !== 'undefined' && dateProps.minDate !== previousDateProps.minDate) {
|
|
190
|
+
derivedDates.minDate = (0, _DatePickerCalc.convertStringToDate)(dateProps.minDate, {
|
|
191
|
+
dateFormat
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
if (typeof dateProps.maxDate !== 'undefined' && dateProps.maxDate !== previousDateProps.maxDate) {
|
|
195
|
+
derivedDates.maxDate = (0, _DatePickerCalc.convertStringToDate)(dateProps.maxDate, {
|
|
196
|
+
dateFormat
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
return derivedDates;
|
|
200
|
+
}
|
|
201
|
+
function correctDates(_ref5) {
|
|
140
202
|
let {
|
|
141
203
|
startDate,
|
|
142
204
|
endDate,
|
|
143
205
|
minDate,
|
|
144
206
|
maxDate,
|
|
145
207
|
isRange
|
|
146
|
-
} =
|
|
208
|
+
} = _ref5;
|
|
147
209
|
const correctedDates = {};
|
|
148
210
|
if ((0, _DatePickerCalc.isDisabled)(startDate, minDate, maxDate)) {
|
|
149
211
|
correctedDates['startDate'] = minDate;
|
|
@@ -157,14 +219,14 @@ function correctDates(_ref4) {
|
|
|
157
219
|
}
|
|
158
220
|
return correctedDates;
|
|
159
221
|
}
|
|
160
|
-
function updateMonths(
|
|
161
|
-
var
|
|
222
|
+
function updateMonths(_ref6) {
|
|
223
|
+
var _ref7, _newDates$startMonth, _ref8, _newDates$endMonth;
|
|
162
224
|
let {
|
|
163
225
|
newDates,
|
|
164
226
|
currentDates
|
|
165
|
-
} =
|
|
166
|
-
const startMonth = (
|
|
167
|
-
const endMonth = (
|
|
227
|
+
} = _ref6;
|
|
228
|
+
const startMonth = (_ref7 = (_newDates$startMonth = newDates.startMonth) !== null && _newDates$startMonth !== void 0 ? _newDates$startMonth : newDates.startDate) !== null && _ref7 !== void 0 ? _ref7 : currentDates.startMonth;
|
|
229
|
+
const endMonth = (_ref8 = (_newDates$endMonth = newDates.endMonth) !== null && _newDates$endMonth !== void 0 ? _newDates$endMonth : newDates.endDate) !== null && _ref8 !== void 0 ? _ref8 : currentDates.endMonth;
|
|
168
230
|
return {
|
|
169
231
|
startMonth,
|
|
170
232
|
endMonth
|
|
@@ -175,6 +237,15 @@ function getDate(date, dateFormat) {
|
|
|
175
237
|
dateFormat
|
|
176
238
|
});
|
|
177
239
|
}
|
|
240
|
+
function getStartDate(dateProps, previousDateProps) {
|
|
241
|
+
if (typeof dateProps.startDate !== 'undefined' && dateProps.startDate !== previousDateProps.startDate) {
|
|
242
|
+
return dateProps.startDate;
|
|
243
|
+
}
|
|
244
|
+
if (typeof dateProps.date !== 'undefined' && dateProps.date !== previousDateProps.date) {
|
|
245
|
+
return dateProps.date;
|
|
246
|
+
}
|
|
247
|
+
return undefined;
|
|
248
|
+
}
|
|
178
249
|
function pad(date, size) {
|
|
179
250
|
const dateWithPadding = '000000000' + date;
|
|
180
251
|
return dateWithPadding.substring(dateWithPadding.length - size);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDates.js","names":["_react","require","_DatePickerCalc","_isValid","_interopRequireDefault","_format","_dateFns","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","useDates","dateProps","_ref","dateFormat","isRange","shouldCorrectDate","previousDates","setPreviousDates","useState","dates","setDates","mapDates","hasDatePropChanges","useMemo","some","date","hasHadValidDate","useRef","updateDates","useCallback","newDates","callback","_newDates$startDate","_newDates$endDate","correctedDates","correctDates","startDate","endDate","minDate","maxDate","months","updateMonths","currentDates","useEffect","startDates","updateInputDates","endDates","current","isValid","type","updatedDates","pad","format","_ref2","_ref3","_convertStringToDate","_convertStringToDate2","getDate","convertStringToDate","startMonth","Date","endMonth","addMonths","hasValidStartDate","hasValidEndDate","__startDay","__startMonth","__startYear","__endDay","__endMonth","__endYear","_ref4","isDisabled","_ref5","_ref6","_newDates$startMonth","_ref7","_newDates$endMonth","size","dateWithPadding","substring"],"sources":["../../../../../src/components/date-picker/hooks/useDates.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { convertStringToDate, isDisabled } from '../DatePickerCalc'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport { addMonths } from 'date-fns'\nimport { DateType } from '../DatePickerContext'\n\nexport type DatePickerDateProps = {\n date?: DateType\n startDate?: DateType\n endDate?: DateType\n startMonth?: DateType\n endMonth?: DateType\n minDate?: DateType\n maxDate?: DateType\n hoverDate?: DateType | null\n}\n\ntype UseDatesOptions = {\n dateFormat: string\n isRange: boolean\n shouldCorrectDate: boolean\n}\n// TODO: Move to DatePickerInput\nexport type DatePickerInputDates = {\n __startDay?: string\n __startMonth?: string\n __startYear?: string\n __endDay?: string\n __endMonth?: string\n __endYear?: string\n}\n\nexport type DatePickerDates = {\n date?: DateType\n startDate?: Date\n endDate?: Date\n minDate?: Date\n maxDate?: Date\n startMonth?: Date\n endMonth?: Date\n partialStartDate?: string\n partialEndDate?: string\n hasHadValidDate?: boolean\n hoverDate?: Date\n} & DatePickerInputDates\n\nexport default function useDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange = false,\n shouldCorrectDate = false,\n }: UseDatesOptions\n) {\n const [previousDates, setPreviousDates] = useState(dateProps)\n const [dates, setDates] = useState<DatePickerDates>({\n ...mapDates(dateProps, previousDates, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n\n const hasDatePropChanges = useMemo(\n () =>\n Object.keys(dateProps).some((date) => {\n return dateProps[date] !== previousDates[date]\n }),\n [dateProps, previousDates]\n )\n\n // Update dates on prop change\n if (hasDatePropChanges) {\n setDates({\n ...mapDates({ ...dates, ...dateProps }, previousDates, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n setPreviousDates(dateProps)\n }\n\n const hasHadValidDate = useRef<boolean>(false)\n\n const updateDates = useCallback(\n (\n newDates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => {\n // Correct dates based on min and max date\n const correctedDates = shouldCorrectDate\n ? correctDates({\n startDate: newDates.startDate ?? dates.startDate,\n endDate: newDates.endDate ?? dates.endDate,\n minDate: dates.minDate,\n maxDate: dates.maxDate,\n isRange,\n })\n : {}\n\n // Update months based on month or start/end date changes\n const months = updateMonths({\n newDates,\n currentDates: dates,\n })\n\n setDates((currentDates) => {\n return {\n ...currentDates,\n ...newDates,\n ...months,\n ...correctedDates,\n }\n })\n\n callback?.({\n ...dates,\n ...newDates,\n ...months,\n ...correctedDates,\n })\n },\n [dates, shouldCorrectDate, isRange]\n )\n\n // Updated input dates based on start and end dates, move to DatePickerInput\n // TODO: Move to DatePickerInput\n useEffect(() => {\n const startDates = updateInputDates('start', dates)\n const endDates = updateInputDates('end', dates)\n\n hasHadValidDate.current =\n isValid(dates.startDate) || isValid(dates.endDate)\n\n setDates((currentDates) => ({\n ...currentDates,\n ...startDates,\n ...endDates,\n }))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dates.startDate, dates.endDate])\n\n return {\n dates,\n updateDates,\n hasHadValidDate: hasHadValidDate.current,\n previousDates,\n } as const\n}\n\n// TODO: Move to DatePickerInput\nfunction updateInputDates(type: 'start' | 'end', dates: DatePickerDates) {\n const updatedDates = {}\n const date = dates[`${type}Date`]\n\n if (isValid(date)) {\n updatedDates[`__${type}Day`] = pad(format(date, 'dd'), 2)\n updatedDates[`__${type}Month`] = pad(format(date, 'MM'), 2)\n updatedDates[`__${type}Year`] = format(date, 'yyyy')\n } else if (date === undefined) {\n updatedDates[`__${type}Day`] = null\n updatedDates[`__${type}Month`] = null\n updatedDates[`__${type}Year`] = null\n }\n\n return updatedDates\n}\n\nfunction mapDates(\n dateProps: DatePickerDateProps,\n previousDates: DatePickerDateProps,\n {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }: Omit<UseDatesOptions, 'isLinked'>\n) {\n const date =\n previousDates.date !== dateProps.date\n ? dateProps.date\n : previousDates.date\n\n const startDate =\n typeof dateProps?.startDate !== 'undefined'\n ? getDate(dateProps.startDate, dateFormat)\n : typeof date !== 'undefined'\n ? getDate(date, dateFormat)\n : undefined\n\n const endDate = !isRange\n ? startDate\n : convertStringToDate(dateProps?.endDate, {\n dateFormat,\n }) || undefined\n\n // Ensure that the calendar view displays the correct start and end months, and to prevent date flickering bug\n const startMonth =\n convertStringToDate(dateProps.startMonth, {\n dateFormat,\n }) ??\n startDate ??\n new Date()\n\n const endMonth =\n convertStringToDate(dateProps.endMonth, {\n dateFormat: dateFormat,\n }) ?? (isRange ? endDate ?? addMonths(startMonth, 1) : startMonth)\n\n const minDate = convertStringToDate(dateProps.minDate, {\n dateFormat,\n })\n\n const maxDate = convertStringToDate(dateProps.maxDate, {\n dateFormat,\n })\n\n const hasValidStartDate = isValid(startDate)\n const hasValidEndDate = isValid(endDate)\n\n const correctedDates = shouldCorrectDate\n ? correctDates({ startDate, endDate, minDate, maxDate, isRange })\n : {}\n\n const dates = {\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n ...correctedDates,\n }\n\n return {\n ...dates,\n __startDay: hasValidStartDate\n ? pad(format(dates.startDate, 'dd'), 2)\n : null,\n __startMonth: hasValidStartDate\n ? pad(format(dates.startDate, 'MM'), 2)\n : null,\n __startYear: hasValidStartDate\n ? format(dates.startDate, 'yyyy')\n : null,\n __endDay: hasValidEndDate ? pad(format(dates.endDate, 'dd'), 2) : null,\n __endMonth: hasValidEndDate\n ? pad(format(dates.endDate, 'MM'), 2)\n : null,\n __endYear: hasValidEndDate ? format(dates.endDate, 'yyyy') : null,\n }\n}\n\nfunction correctDates({\n startDate,\n endDate,\n minDate,\n maxDate,\n isRange,\n}: {\n startDate: Date\n endDate: Date\n minDate: Date\n maxDate: Date\n isRange: boolean\n}) {\n const correctedDates = {}\n\n if (isDisabled(startDate, minDate, maxDate)) {\n correctedDates['startDate'] = minDate\n }\n if (isDisabled(endDate, minDate, maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make maxDate correction work if the input is not a range and only maxDate is defined.\n if (!isRange && !minDate) {\n correctedDates['startDate'] = maxDate\n } else {\n correctedDates['endDate'] = maxDate\n }\n }\n\n return correctedDates\n}\n\nfunction updateMonths({\n newDates,\n currentDates,\n}: {\n newDates: DatePickerDates\n currentDates: DatePickerDates\n}) {\n const startMonth =\n newDates.startMonth ?? newDates.startDate ?? currentDates.startMonth\n const endMonth =\n newDates.endMonth ?? newDates.endDate ?? currentDates.endMonth\n\n return {\n startMonth,\n endMonth,\n }\n}\n\nfunction getDate(date: DateType, dateFormat: string) {\n return date instanceof Date\n ? date\n : convertStringToDate(date ?? '', {\n dateFormat,\n })\n}\n\nexport function pad(date: string, size: number) {\n const dateWithPadding = '000000000' + date\n\n return dateWithPadding.substring(dateWithPadding.length - size)\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useDates.js","names":["_react","require","_DatePickerCalc","_isValid","_interopRequireDefault","_format","_dateFns","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","useDates","dateProps","_ref","dateFormat","isRange","shouldCorrectDate","previousDateProps","setPreviousDateProps","useState","dates","setDates","mapDates","hasDatePropChanges","useMemo","some","date","dateProp","previousDate","convertedDateProp","convertStringToDate","convertedPreviousDate","Date","isSameDay","derivedDates","deriveDatesFromProps","currentDates","hasHadValidDate","useRef","updateDates","useCallback","newDates","callback","_newDates$startDate","_newDates$endDate","correctedDates","correctDates","startDate","endDate","minDate","maxDate","months","updateMonths","useEffect","startDates","updateInputDates","endDates","current","isValid","type","updatedDates","pad","format","_ref2","_ref3","_convertStringToDate","_convertStringToDate2","getDate","startMonth","endMonth","addMonths","hasValidStartDate","hasValidEndDate","__startDay","__startMonth","__startYear","__endDay","__endMonth","__endYear","_ref4","getStartDate","_ref5","isDisabled","_ref6","_ref7","_newDates$startMonth","_ref8","_newDates$endMonth","size","dateWithPadding","substring"],"sources":["../../../../../src/components/date-picker/hooks/useDates.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { convertStringToDate, isDisabled } from '../DatePickerCalc'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport { addMonths, isSameDay } from 'date-fns'\nimport { DateType } from '../DatePickerContext'\n\nexport type DatePickerDateProps = {\n date?: DateType\n startDate?: DateType\n endDate?: DateType\n startMonth?: DateType\n endMonth?: DateType\n minDate?: DateType\n maxDate?: DateType\n hoverDate?: DateType | null\n}\n\ntype UseDatesOptions = {\n dateFormat: string\n isRange: boolean\n shouldCorrectDate: boolean\n}\n// TODO: Move to DatePickerInput\nexport type DatePickerInputDates = {\n __startDay?: string\n __startMonth?: string\n __startYear?: string\n __endDay?: string\n __endMonth?: string\n __endYear?: string\n}\n\nexport type DatePickerDates = {\n date?: DateType\n startDate?: Date\n endDate?: Date\n minDate?: Date\n maxDate?: Date\n startMonth?: Date\n endMonth?: Date\n partialStartDate?: string\n partialEndDate?: string\n hasHadValidDate?: boolean\n hoverDate?: Date\n} & DatePickerInputDates\n\nexport default function useDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange = false,\n shouldCorrectDate = false,\n }: UseDatesOptions\n) {\n const [previousDateProps, setPreviousDateProps] = useState(dateProps)\n const [dates, setDates] = useState<DatePickerDates>({\n ...mapDates(dateProps, {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }),\n })\n\n const hasDatePropChanges = useMemo(\n () =>\n Object.keys(dateProps).some((date) => {\n const dateProp = dateProps[date]\n const previousDate = previousDateProps[date]\n\n const convertedDateProp = convertStringToDate(dateProp, {\n dateFormat,\n })\n const convertedPreviousDate = convertStringToDate(previousDate, {\n dateFormat,\n })\n // Make sure that same dates does not trigger a change\n // i.e. 2021-01-01 and new Date('2021-01-01')\n if (\n convertedDateProp instanceof Date &&\n convertedPreviousDate instanceof Date\n ) {\n return !isSameDay(convertedDateProp, convertedPreviousDate)\n }\n\n return dateProp !== previousDate\n }),\n [dateProps, previousDateProps, dateFormat]\n )\n\n // Update dates on prop change\n if (hasDatePropChanges) {\n const derivedDates = deriveDatesFromProps({\n dates,\n dateProps,\n previousDateProps,\n dateFormat,\n isRange,\n })\n\n setDates((currentDates) => ({ ...currentDates, ...derivedDates }))\n setPreviousDateProps(dateProps)\n }\n\n const hasHadValidDate = useRef<boolean>(false)\n\n const updateDates = useCallback(\n (\n newDates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => {\n // Correct dates based on min and max date\n const correctedDates = shouldCorrectDate\n ? correctDates({\n startDate: newDates.startDate ?? dates.startDate,\n endDate: newDates.endDate ?? dates.endDate,\n minDate: dates.minDate,\n maxDate: dates.maxDate,\n isRange,\n })\n : {}\n\n // Update months based on month or start/end date changes\n const months = updateMonths({\n newDates,\n currentDates: dates,\n })\n\n setDates((currentDates) => {\n return {\n ...currentDates,\n ...newDates,\n ...months,\n ...correctedDates,\n }\n })\n\n callback?.({\n ...dates,\n ...newDates,\n ...months,\n ...correctedDates,\n })\n },\n [dates, shouldCorrectDate, isRange]\n )\n\n // Updated input dates based on start and end dates, move to DatePickerInput\n // TODO: Move to DatePickerInput\n useEffect(() => {\n const startDates = updateInputDates('start', dates.startDate)\n const endDates = updateInputDates('end', dates.endDate)\n\n hasHadValidDate.current =\n isValid(dates.startDate) || isValid(dates.endDate)\n\n setDates((currentDates) => ({\n ...currentDates,\n ...startDates,\n ...endDates,\n }))\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dates.startDate, dates.endDate])\n\n return {\n dates,\n updateDates,\n hasHadValidDate: hasHadValidDate.current,\n previousDateProps,\n } as const\n}\n\n// TODO: Move to DatePickerInput\nfunction updateInputDates(type: 'start' | 'end', date: Date | undefined) {\n const updatedDates = {}\n\n if (isValid(date)) {\n updatedDates[`__${type}Day`] = pad(format(date, 'dd'), 2)\n updatedDates[`__${type}Month`] = pad(format(date, 'MM'), 2)\n updatedDates[`__${type}Year`] = format(date, 'yyyy')\n } else if (date === undefined) {\n updatedDates[`__${type}Day`] = null\n updatedDates[`__${type}Month`] = null\n updatedDates[`__${type}Year`] = null\n }\n\n return updatedDates\n}\n\nfunction mapDates(\n dateProps: DatePickerDateProps,\n {\n dateFormat,\n isRange,\n shouldCorrectDate,\n }: Omit<UseDatesOptions, 'isLinked'>\n) {\n const date = dateProps.date\n\n const startDate =\n typeof dateProps?.startDate !== 'undefined'\n ? getDate(dateProps.startDate, dateFormat)\n : typeof date !== 'undefined'\n ? getDate(date, dateFormat)\n : undefined\n\n const endDate = !isRange\n ? startDate\n : convertStringToDate(dateProps?.endDate, {\n dateFormat,\n }) || undefined\n\n // Ensure that the calendar view displays the correct start and end months, and to prevent date flickering bug\n const startMonth =\n convertStringToDate(dateProps.startMonth, {\n dateFormat,\n }) ??\n startDate ??\n new Date()\n\n const endMonth =\n convertStringToDate(dateProps.endMonth, {\n dateFormat: dateFormat,\n }) ?? (isRange ? endDate ?? addMonths(startMonth, 1) : startMonth)\n\n const minDate = convertStringToDate(dateProps.minDate, {\n dateFormat,\n })\n\n const maxDate = convertStringToDate(dateProps.maxDate, {\n dateFormat,\n })\n\n const hasValidStartDate = isValid(startDate)\n const hasValidEndDate = isValid(endDate)\n\n const correctedDates = shouldCorrectDate\n ? correctDates({ startDate, endDate, minDate, maxDate, isRange })\n : {}\n\n const dates = {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n ...correctedDates,\n }\n\n return {\n ...dates,\n __startDay: hasValidStartDate\n ? pad(format(dates.startDate, 'dd'), 2)\n : null,\n __startMonth: hasValidStartDate\n ? pad(format(dates.startDate, 'MM'), 2)\n : null,\n __startYear: hasValidStartDate\n ? format(dates.startDate, 'yyyy')\n : null,\n __endDay: hasValidEndDate ? pad(format(dates.endDate, 'dd'), 2) : null,\n __endMonth: hasValidEndDate\n ? pad(format(dates.endDate, 'MM'), 2)\n : null,\n __endYear: hasValidEndDate ? format(dates.endDate, 'yyyy') : null,\n }\n}\n\nfunction deriveDatesFromProps({\n dates,\n dateProps,\n previousDateProps,\n dateFormat,\n isRange,\n}: {\n dates: DatePickerDates\n dateProps: DatePickerDateProps\n previousDateProps: DatePickerDateProps\n dateFormat: UseDatesOptions['dateFormat']\n isRange: UseDatesOptions['isRange']\n}) {\n const derivedDates: DatePickerDates = {}\n\n const startDate = getStartDate(dateProps, previousDateProps)\n\n // Handle updates related to date and startDate changes when not in range mode\n if (typeof startDate !== 'undefined' && startDate !== dates.startDate) {\n derivedDates.startDate =\n convertStringToDate(startDate, {\n dateFormat,\n }) || undefined\n\n // Set endDate and startMonth to startDate if not in range mode\n if (!isRange) {\n derivedDates.startMonth =\n convertStringToDate(startDate, {\n dateFormat,\n }) || undefined\n\n derivedDates.endDate = derivedDates.startDate\n }\n }\n\n // update endDate based on endDate prop if in range mode\n if (\n isRange &&\n typeof dateProps.endDate !== 'undefined' &&\n dateProps.endDate !== dates.endDate\n ) {\n derivedDates.endDate =\n convertStringToDate(dateProps.endDate, {\n dateFormat,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof dateProps.startMonth !== 'undefined' &&\n dateProps.startMonth !== previousDateProps.startMonth\n ) {\n derivedDates.startMonth = convertStringToDate(dateProps.startMonth, {\n dateFormat,\n })\n }\n if (\n typeof dateProps.endMonth !== 'undefined' &&\n dateProps.endMonth !== previousDateProps.endMonth\n ) {\n derivedDates.endMonth = convertStringToDate(dateProps.endMonth, {\n dateFormat,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof dateProps.minDate !== 'undefined' &&\n dateProps.minDate !== previousDateProps.minDate\n ) {\n derivedDates.minDate = convertStringToDate(dateProps.minDate, {\n dateFormat,\n })\n }\n if (\n typeof dateProps.maxDate !== 'undefined' &&\n dateProps.maxDate !== previousDateProps.maxDate\n ) {\n derivedDates.maxDate = convertStringToDate(dateProps.maxDate, {\n dateFormat,\n })\n }\n\n return derivedDates\n}\n\nfunction correctDates({\n startDate,\n endDate,\n minDate,\n maxDate,\n isRange,\n}: {\n startDate: Date\n endDate: Date\n minDate: Date\n maxDate: Date\n isRange: boolean\n}) {\n const correctedDates = {}\n\n if (isDisabled(startDate, minDate, maxDate)) {\n correctedDates['startDate'] = minDate\n }\n if (isDisabled(endDate, minDate, maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make maxDate correction work if the input is not a range and only maxDate is defined.\n if (!isRange && !minDate) {\n correctedDates['startDate'] = maxDate\n } else {\n correctedDates['endDate'] = maxDate\n }\n }\n\n return correctedDates\n}\n\nfunction updateMonths({\n newDates,\n currentDates,\n}: {\n newDates: DatePickerDates\n currentDates: DatePickerDates\n}) {\n const startMonth =\n newDates.startMonth ?? newDates.startDate ?? currentDates.startMonth\n const endMonth =\n newDates.endMonth ?? newDates.endDate ?? currentDates.endMonth\n\n return {\n startMonth,\n endMonth,\n }\n}\n\nfunction getDate(date: DateType, dateFormat: string) {\n return date instanceof Date\n ? date\n : convertStringToDate(date ?? '', {\n dateFormat,\n })\n}\n\nfunction getStartDate(\n dateProps: DatePickerDateProps,\n previousDateProps: DatePickerDateProps\n) {\n // priortize startDate over date if provided\n if (\n typeof dateProps.startDate !== 'undefined' &&\n dateProps.startDate !== previousDateProps.startDate\n ) {\n return dateProps.startDate\n }\n\n if (\n typeof dateProps.date !== 'undefined' &&\n dateProps.date !== previousDateProps.date\n ) {\n return dateProps.date\n }\n\n return undefined\n}\n\nexport function pad(date: string, size: number) {\n const dateWithPadding = '000000000' + date\n\n return dateWithPadding.substring(dateWithPadding.length - size)\n}\n"],"mappings":"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"}
|