@dnb/eufemia 10.69.1 → 10.70.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/cjs/components/aria-live/AriaLiveDocs.d.ts +2 -0
- package/cjs/components/aria-live/AriaLiveDocs.js +54 -0
- package/cjs/components/aria-live/AriaLiveDocs.js.map +1 -0
- package/cjs/components/autocomplete/AutocompleteDocs.js +3 -3
- package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/cjs/components/avatar/Avatar.d.ts +10 -0
- package/cjs/components/avatar/Avatar.js +12 -3
- package/cjs/components/avatar/Avatar.js.map +1 -1
- package/cjs/components/avatar/AvatarDocs.d.ts +3 -0
- package/cjs/components/avatar/AvatarDocs.js +101 -0
- package/cjs/components/avatar/AvatarDocs.js.map +1 -0
- package/cjs/components/avatar/AvatarGroup.d.ts +10 -0
- package/cjs/components/avatar/AvatarGroup.js +17 -5
- package/cjs/components/avatar/AvatarGroup.js.map +1 -1
- package/cjs/components/avatar/style/dnb-avatar.css +8 -0
- package/cjs/components/avatar/style/dnb-avatar.min.css +1 -1
- package/cjs/components/avatar/style/dnb-avatar.scss +9 -0
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
- package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
- package/cjs/components/badge/BadgeDocs.d.ts +2 -0
- package/cjs/components/badge/BadgeDocs.js +54 -0
- package/cjs/components/badge/BadgeDocs.js.map +1 -0
- package/cjs/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
- package/cjs/components/breadcrumb/BreadcrumbDocs.js +125 -0
- package/cjs/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
- package/cjs/components/button/Button.d.ts +0 -3
- package/cjs/components/button/ButtonDocs.d.ts +1 -0
- package/cjs/components/button/ButtonDocs.js +8 -1
- package/cjs/components/button/ButtonDocs.js.map +1 -1
- package/cjs/components/checkbox/CheckboxDocs.js +2 -2
- package/cjs/components/checkbox/CheckboxDocs.js.map +1 -1
- package/cjs/components/date-picker/DatePickerAddon.js +1 -3
- package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalc.d.ts +13 -0
- package/cjs/components/date-picker/DatePickerCalc.js +44 -0
- package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendar.js +13 -11
- package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
- 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/DatePickerDocs.js +1 -1
- package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.js +120 -94
- package/cjs/components/date-picker/DatePickerInput.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/useViews.d.ts +2 -4
- package/cjs/components/date-picker/hooks/useViews.js +37 -23
- package/cjs/components/date-picker/hooks/useViews.js.map +1 -1
- package/cjs/components/date-picker/style/dnb-date-picker.css +4 -0
- package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/cjs/components/date-picker/style/dnb-date-picker.scss +3 -0
- package/cjs/components/dialog/DialogDocs.d.ts +1 -0
- package/cjs/components/dialog/DialogDocs.js +20 -3
- package/cjs/components/dialog/DialogDocs.js.map +1 -1
- package/cjs/components/drawer/DrawerDocs.d.ts +2 -0
- package/cjs/components/drawer/DrawerDocs.js +69 -0
- package/cjs/components/drawer/DrawerDocs.js.map +1 -0
- package/cjs/components/dropdown/Dropdown.d.ts +20 -20
- package/cjs/components/dropdown/DropdownDocs.d.ts +3 -0
- package/cjs/components/dropdown/DropdownDocs.js +186 -0
- package/cjs/components/dropdown/DropdownDocs.js.map +1 -0
- package/cjs/components/flex/ContainerDocs.js +1 -1
- package/cjs/components/flex/ContainerDocs.js.map +1 -1
- package/cjs/components/flex/ItemDocs.d.ts +2 -0
- package/cjs/components/flex/ItemDocs.js +39 -0
- package/cjs/components/flex/ItemDocs.js.map +1 -0
- package/cjs/components/form-label/FormLabelDocs.d.ts +2 -0
- package/cjs/components/form-label/FormLabelDocs.js +59 -0
- package/cjs/components/form-label/FormLabelDocs.js.map +1 -0
- package/cjs/components/form-row/FormRow.d.ts +45 -0
- package/cjs/components/form-row/FormRowDocs.d.ts +2 -0
- package/cjs/components/form-row/FormRowDocs.js +89 -0
- package/cjs/components/form-row/FormRowDocs.js.map +1 -0
- package/cjs/components/form-set/FormSet.d.ts +18 -0
- package/cjs/components/form-set/FormSetDocs.d.ts +3 -0
- package/cjs/components/form-set/FormSetDocs.js +56 -0
- package/cjs/components/form-set/FormSetDocs.js.map +1 -0
- package/cjs/components/form-status/FormStatus.d.ts +18 -18
- package/cjs/components/form-status/FormStatusDocs.d.ts +2 -0
- package/cjs/components/form-status/FormStatusDocs.js +89 -0
- package/cjs/components/form-status/FormStatusDocs.js.map +1 -0
- package/cjs/components/global-error/GlobalError.d.ts +12 -0
- package/cjs/components/global-error/GlobalError.js +15 -6
- package/cjs/components/global-error/GlobalError.js.map +1 -1
- package/cjs/components/global-error/GlobalErrorDocs.js +14 -4
- package/cjs/components/global-error/GlobalErrorDocs.js.map +1 -1
- package/cjs/components/global-status/GlobalStatus.d.ts +37 -58
- package/cjs/components/global-status/GlobalStatusController.d.ts +0 -9
- package/cjs/components/global-status/GlobalStatusDocs.d.ts +6 -0
- package/cjs/components/global-status/GlobalStatusDocs.js +192 -0
- package/cjs/components/global-status/GlobalStatusDocs.js.map +1 -0
- package/cjs/components/grid/ItemDocs.d.ts +2 -0
- package/cjs/components/grid/ItemDocs.js +19 -0
- package/cjs/components/grid/ItemDocs.js.map +1 -0
- package/cjs/components/heading/HeadingDocs.d.ts +2 -0
- package/cjs/components/heading/HeadingDocs.js +79 -0
- package/cjs/components/heading/HeadingDocs.js.map +1 -0
- package/cjs/components/help-button/HelpButtonDocs.d.ts +3 -0
- package/cjs/components/help-button/HelpButtonDocs.js +46 -0
- package/cjs/components/help-button/HelpButtonDocs.js.map +1 -0
- package/cjs/components/icon/IconDocs.d.ts +2 -0
- package/cjs/components/icon/IconDocs.js +59 -0
- package/cjs/components/icon/IconDocs.js.map +1 -0
- package/cjs/components/icon/IconPrimaryDocs.d.ts +2 -0
- package/cjs/components/icon/IconPrimaryDocs.js +24 -0
- package/cjs/components/icon/IconPrimaryDocs.js.map +1 -0
- package/cjs/components/info-card/InfoCard.d.ts +6 -1
- package/cjs/components/info-card/InfoCard.js +4 -3
- package/cjs/components/info-card/InfoCard.js.map +1 -1
- package/cjs/components/info-card/InfoCardDocs.js +8 -3
- package/cjs/components/info-card/InfoCardDocs.js.map +1 -1
- package/cjs/components/input/Input.d.ts +0 -21
- package/cjs/components/input/InputDocs.d.ts +1 -0
- package/cjs/components/input/InputDocs.js +36 -4
- package/cjs/components/input/InputDocs.js.map +1 -1
- package/cjs/components/input-masked/InputMasked.d.ts +0 -15
- package/cjs/components/input-masked/InputMaskedDocs.d.ts +2 -0
- package/cjs/components/input-masked/InputMaskedDocs.js +70 -1
- package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/cjs/components/input-masked/MultiInputMaskedDocs.d.ts +4 -0
- package/cjs/components/input-masked/MultiInputMaskedDocs.js +93 -0
- package/cjs/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
- package/cjs/components/input-masked/style/dnb-input-masked.css +9 -0
- package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/cjs/components/input-masked/style/dnb-input-masked.scss +12 -0
- package/cjs/components/input-masked/text-mask/InputModeNumber.d.ts +8 -0
- package/cjs/components/input-masked/text-mask/InputModeNumber.js +32 -9
- package/cjs/components/input-masked/text-mask/InputModeNumber.js.map +1 -1
- package/cjs/components/input-masked/text-mask/adjustCaretPosition.d.ts +2 -1
- package/cjs/components/input-masked/text-mask/adjustCaretPosition.js +3 -2
- package/cjs/components/input-masked/text-mask/adjustCaretPosition.js.map +1 -1
- package/cjs/components/input-masked/text-mask/createTextMaskInputElement.js +9 -3
- package/cjs/components/input-masked/text-mask/createTextMaskInputElement.js.map +1 -1
- package/cjs/components/modal/ModalDocs.d.ts +3 -0
- package/cjs/components/modal/ModalDocs.js +191 -0
- package/cjs/components/modal/ModalDocs.js.map +1 -0
- package/cjs/components/pagination/Pagination.d.ts +35 -33
- package/cjs/components/pagination/Pagination.js +2 -0
- package/cjs/components/pagination/Pagination.js.map +1 -1
- package/cjs/components/pagination/PaginationDocs.d.ts +3 -0
- package/cjs/components/pagination/PaginationDocs.js +191 -0
- package/cjs/components/pagination/PaginationDocs.js.map +1 -0
- package/cjs/components/pagination/PaginationHelpers.d.ts +0 -3
- package/cjs/components/pagination/PaginationInfinity.d.ts +0 -3
- package/cjs/components/pagination/PaginationProvider.js +1 -1
- package/cjs/components/pagination/PaginationProvider.js.map +1 -1
- package/cjs/components/radio/Radio.d.ts +12 -15
- package/cjs/components/radio/RadioDocs.d.ts +5 -0
- package/cjs/components/radio/RadioDocs.js +145 -0
- package/cjs/components/radio/RadioDocs.js.map +1 -0
- package/cjs/components/radio/RadioGroup.d.ts +0 -30
- package/cjs/components/section/Section.js +2 -7
- package/cjs/components/section/Section.js.map +1 -1
- package/cjs/components/section/SectionDocs.js +1 -1
- package/cjs/components/section/SectionDocs.js.map +1 -1
- package/cjs/components/skeleton/SkeletonDocs.d.ts +2 -0
- package/cjs/components/skeleton/SkeletonDocs.js +44 -0
- package/cjs/components/skeleton/SkeletonDocs.js.map +1 -0
- package/cjs/components/skeleton/SkeletonHelper.d.ts +0 -6
- package/cjs/components/skip-content/SkipContentDocs.d.ts +2 -0
- package/cjs/components/skip-content/SkipContentDocs.js +29 -0
- package/cjs/components/skip-content/SkipContentDocs.js.map +1 -0
- package/cjs/components/slider/SliderDocs.js +2 -2
- package/cjs/components/slider/SliderDocs.js.map +1 -1
- package/cjs/components/space/SpaceDocs.d.ts +3 -0
- package/cjs/components/space/SpaceDocs.js +61 -0
- package/cjs/components/space/SpaceDocs.js.map +1 -0
- package/cjs/components/switch/SwitchDocs.js +2 -2
- package/cjs/components/switch/SwitchDocs.js.map +1 -1
- package/cjs/components/tag/TagDocs.d.ts +4 -0
- package/cjs/components/tag/TagDocs.js +93 -0
- package/cjs/components/tag/TagDocs.js.map +1 -0
- package/cjs/components/textarea/Textarea.d.ts +0 -12
- package/cjs/components/textarea/TextareaDocs.d.ts +1 -0
- package/cjs/components/textarea/TextareaDocs.js +26 -4
- package/cjs/components/textarea/TextareaDocs.js.map +1 -1
- package/cjs/components/timeline/TimelineDocs.d.ts +3 -0
- package/cjs/components/timeline/TimelineDocs.js +66 -0
- package/cjs/components/timeline/TimelineDocs.js.map +1 -0
- package/cjs/components/toggle-button/ToggleButton.d.ts +0 -3
- package/cjs/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
- package/cjs/components/toggle-button/ToggleButtonDocs.js +8 -1
- package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
- package/cjs/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
- package/cjs/components/toggle-button/ToggleButtonGroupDocs.js +9 -2
- package/cjs/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
- package/cjs/components/tooltip/TooltipDocs.d.ts +2 -0
- package/cjs/components/tooltip/TooltipDocs.js +79 -0
- package/cjs/components/tooltip/TooltipDocs.js.map +1 -0
- package/cjs/components/upload/Upload.js +6 -4
- package/cjs/components/upload/Upload.js.map +1 -1
- package/cjs/components/upload/UploadDocs.js +5 -0
- package/cjs/components/upload/UploadDocs.js.map +1 -1
- package/cjs/components/upload/UploadFileList.js +3 -1
- package/cjs/components/upload/UploadFileList.js.map +1 -1
- package/cjs/components/upload/UploadFileListCell.d.ts +6 -1
- package/cjs/components/upload/UploadFileListCell.js +8 -5
- package/cjs/components/upload/UploadFileListCell.js.map +1 -1
- package/cjs/components/upload/types.d.ts +5 -0
- package/cjs/components/upload/types.js.map +1 -1
- package/cjs/components/upload/useUpload.d.ts +1 -0
- package/cjs/components/upload/useUpload.js +9 -2
- package/cjs/components/upload/useUpload.js.map +1 -1
- package/cjs/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
- package/cjs/components/visually-hidden/VisuallyHiddenDocs.js +19 -0
- package/cjs/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
- package/cjs/extensions/forms/DataContext/At/AtDocs.d.ts +2 -0
- package/cjs/extensions/forms/DataContext/At/AtDocs.js +24 -0
- package/cjs/extensions/forms/DataContext/At/AtDocs.js.map +1 -0
- package/cjs/extensions/forms/DataContext/Context.d.ts +6 -5
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +29 -35
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -0
- package/cjs/extensions/forms/Field/Date/Date.js +8 -8
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Password/Password.js +2 -1
- package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
- package/cjs/extensions/forms/Field/Password/PasswordDocs.d.ts +1 -0
- package/cjs/extensions/forms/Field/Password/PasswordDocs.js +14 -2
- package/cjs/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
- package/cjs/extensions/forms/Field/String/StringDocs.js +1 -1
- package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.js +10 -2
- package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/ButtonRowDocs.d.ts +2 -0
- package/cjs/extensions/forms/Form/ButtonRow/ButtonRowDocs.js +19 -0
- package/cjs/extensions/forms/Form/ButtonRow/ButtonRowDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js +10 -14
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/cjs/extensions/forms/Value/Date/Date.d.ts +0 -6
- package/cjs/extensions/forms/Value/Date/Date.js +14 -38
- package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Buttons/ButtonsDocs.d.ts +2 -0
- package/cjs/extensions/forms/Wizard/Buttons/ButtonsDocs.js +14 -0
- package/cjs/extensions/forms/Wizard/Buttons/ButtonsDocs.js.map +1 -0
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +8 -5
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/payment-card/PaymentCard.d.ts +7 -7
- package/cjs/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
- package/cjs/extensions/payment-card/PaymentCardDocs.js +205 -0
- package/cjs/extensions/payment-card/PaymentCardDocs.js.map +1 -0
- package/cjs/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
- package/cjs/fragments/scroll-view/ScrollViewDocs.js +19 -0
- package/cjs/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
- package/cjs/fragments/text-counter/TextCounterDocs.d.ts +2 -0
- package/cjs/fragments/text-counter/TextCounterDocs.js +29 -0
- package/cjs/fragments/text-counter/TextCounterDocs.js.map +1 -0
- 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/MediaQueryDocs.d.ts +2 -0
- package/cjs/shared/MediaQueryDocs.js +34 -0
- package/cjs/shared/MediaQueryDocs.js.map +1 -0
- package/cjs/shared/ThemeDocs.d.ts +2 -0
- package/cjs/shared/ThemeDocs.js +39 -0
- package/cjs/shared/ThemeDocs.js.map +1 -0
- package/cjs/shared/helpers.d.ts +1 -0
- package/cjs/shared/helpers.js +7 -0
- package/cjs/shared/helpers.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +1 -0
- package/cjs/shared/locales/en-GB.js +1 -0
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +1 -0
- package/cjs/shared/locales/index.d.ts +2 -0
- package/cjs/shared/locales/nb-NO.d.ts +1 -0
- package/cjs/shared/locales/nb-NO.js +1 -0
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/locales/sv-SE.d.ts +1 -0
- package/cjs/shared/locales/sv-SE.js +3 -2
- package/cjs/shared/locales/sv-SE.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +21 -0
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +26 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +26 -5
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-components.css +26 -5
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/components/aria-live/AriaLiveDocs.d.ts +2 -0
- package/components/aria-live/AriaLiveDocs.js +48 -0
- package/components/aria-live/AriaLiveDocs.js.map +1 -0
- package/components/autocomplete/AutocompleteDocs.js +3 -3
- package/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/components/avatar/Avatar.d.ts +10 -0
- package/components/avatar/Avatar.js +12 -3
- package/components/avatar/Avatar.js.map +1 -1
- package/components/avatar/AvatarDocs.d.ts +3 -0
- package/components/avatar/AvatarDocs.js +95 -0
- package/components/avatar/AvatarDocs.js.map +1 -0
- package/components/avatar/AvatarGroup.d.ts +10 -0
- package/components/avatar/AvatarGroup.js +17 -5
- package/components/avatar/AvatarGroup.js.map +1 -1
- package/components/avatar/style/dnb-avatar.css +8 -0
- package/components/avatar/style/dnb-avatar.min.css +1 -1
- package/components/avatar/style/dnb-avatar.scss +9 -0
- package/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
- package/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
- package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
- package/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
- package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
- package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
- package/components/badge/BadgeDocs.d.ts +2 -0
- package/components/badge/BadgeDocs.js +48 -0
- package/components/badge/BadgeDocs.js.map +1 -0
- package/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
- package/components/breadcrumb/BreadcrumbDocs.js +119 -0
- package/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
- package/components/button/Button.d.ts +0 -3
- package/components/button/ButtonDocs.d.ts +1 -0
- package/components/button/ButtonDocs.js +7 -0
- package/components/button/ButtonDocs.js.map +1 -1
- package/components/checkbox/CheckboxDocs.js +2 -2
- package/components/checkbox/CheckboxDocs.js.map +1 -1
- package/components/date-picker/DatePickerAddon.js +1 -3
- package/components/date-picker/DatePickerAddon.js.map +1 -1
- package/components/date-picker/DatePickerCalc.d.ts +13 -0
- package/components/date-picker/DatePickerCalc.js +41 -0
- package/components/date-picker/DatePickerCalc.js.map +1 -1
- package/components/date-picker/DatePickerCalendar.js +13 -11
- package/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/components/date-picker/DatePickerContext.d.ts +1 -1
- package/components/date-picker/DatePickerContext.js.map +1 -1
- package/components/date-picker/DatePickerDocs.js +1 -1
- package/components/date-picker/DatePickerDocs.js.map +1 -1
- package/components/date-picker/DatePickerInput.js +121 -95
- package/components/date-picker/DatePickerInput.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/useViews.d.ts +2 -4
- package/components/date-picker/hooks/useViews.js +38 -24
- package/components/date-picker/hooks/useViews.js.map +1 -1
- package/components/date-picker/style/dnb-date-picker.css +4 -0
- package/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/components/date-picker/style/dnb-date-picker.scss +3 -0
- package/components/dialog/DialogDocs.d.ts +1 -0
- package/components/dialog/DialogDocs.js +19 -2
- package/components/dialog/DialogDocs.js.map +1 -1
- package/components/drawer/DrawerDocs.d.ts +2 -0
- package/components/drawer/DrawerDocs.js +63 -0
- package/components/drawer/DrawerDocs.js.map +1 -0
- package/components/dropdown/Dropdown.d.ts +20 -20
- package/components/dropdown/DropdownDocs.d.ts +3 -0
- package/components/dropdown/DropdownDocs.js +180 -0
- package/components/dropdown/DropdownDocs.js.map +1 -0
- package/components/flex/ContainerDocs.js +1 -1
- package/components/flex/ContainerDocs.js.map +1 -1
- package/components/flex/ItemDocs.d.ts +2 -0
- package/components/flex/ItemDocs.js +33 -0
- package/components/flex/ItemDocs.js.map +1 -0
- package/components/form-label/FormLabelDocs.d.ts +2 -0
- package/components/form-label/FormLabelDocs.js +53 -0
- package/components/form-label/FormLabelDocs.js.map +1 -0
- package/components/form-row/FormRow.d.ts +45 -0
- package/components/form-row/FormRowDocs.d.ts +2 -0
- package/components/form-row/FormRowDocs.js +83 -0
- package/components/form-row/FormRowDocs.js.map +1 -0
- package/components/form-set/FormSet.d.ts +18 -0
- package/components/form-set/FormSetDocs.d.ts +3 -0
- package/components/form-set/FormSetDocs.js +50 -0
- package/components/form-set/FormSetDocs.js.map +1 -0
- package/components/form-status/FormStatus.d.ts +18 -18
- package/components/form-status/FormStatusDocs.d.ts +2 -0
- package/components/form-status/FormStatusDocs.js +83 -0
- package/components/form-status/FormStatusDocs.js.map +1 -0
- package/components/global-error/GlobalError.d.ts +12 -0
- package/components/global-error/GlobalError.js +15 -6
- package/components/global-error/GlobalError.js.map +1 -1
- package/components/global-error/GlobalErrorDocs.js +14 -4
- package/components/global-error/GlobalErrorDocs.js.map +1 -1
- package/components/global-status/GlobalStatus.d.ts +37 -58
- package/components/global-status/GlobalStatusController.d.ts +0 -9
- package/components/global-status/GlobalStatusDocs.d.ts +6 -0
- package/components/global-status/GlobalStatusDocs.js +186 -0
- package/components/global-status/GlobalStatusDocs.js.map +1 -0
- package/components/grid/ItemDocs.d.ts +2 -0
- package/components/grid/ItemDocs.js +13 -0
- package/components/grid/ItemDocs.js.map +1 -0
- package/components/heading/HeadingDocs.d.ts +2 -0
- package/components/heading/HeadingDocs.js +73 -0
- package/components/heading/HeadingDocs.js.map +1 -0
- package/components/help-button/HelpButtonDocs.d.ts +3 -0
- package/components/help-button/HelpButtonDocs.js +40 -0
- package/components/help-button/HelpButtonDocs.js.map +1 -0
- package/components/icon/IconDocs.d.ts +2 -0
- package/components/icon/IconDocs.js +53 -0
- package/components/icon/IconDocs.js.map +1 -0
- package/components/icon/IconPrimaryDocs.d.ts +2 -0
- package/components/icon/IconPrimaryDocs.js +18 -0
- package/components/icon/IconPrimaryDocs.js.map +1 -0
- package/components/info-card/InfoCard.d.ts +6 -1
- package/components/info-card/InfoCard.js +4 -3
- package/components/info-card/InfoCard.js.map +1 -1
- package/components/info-card/InfoCardDocs.js +8 -3
- package/components/info-card/InfoCardDocs.js.map +1 -1
- package/components/input/Input.d.ts +0 -21
- package/components/input/InputDocs.d.ts +1 -0
- package/components/input/InputDocs.js +35 -3
- package/components/input/InputDocs.js.map +1 -1
- package/components/input-masked/InputMasked.d.ts +0 -15
- package/components/input-masked/InputMaskedDocs.d.ts +2 -0
- package/components/input-masked/InputMaskedDocs.js +69 -0
- package/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/components/input-masked/MultiInputMaskedDocs.d.ts +4 -0
- package/components/input-masked/MultiInputMaskedDocs.js +87 -0
- package/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
- package/components/input-masked/style/dnb-input-masked.css +9 -0
- package/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/components/input-masked/style/dnb-input-masked.scss +12 -0
- package/components/input-masked/text-mask/InputModeNumber.d.ts +8 -0
- package/components/input-masked/text-mask/InputModeNumber.js +32 -9
- package/components/input-masked/text-mask/InputModeNumber.js.map +1 -1
- package/components/input-masked/text-mask/adjustCaretPosition.d.ts +2 -1
- package/components/input-masked/text-mask/adjustCaretPosition.js +3 -2
- package/components/input-masked/text-mask/adjustCaretPosition.js.map +1 -1
- package/components/input-masked/text-mask/createTextMaskInputElement.js +9 -3
- package/components/input-masked/text-mask/createTextMaskInputElement.js.map +1 -1
- package/components/modal/ModalDocs.d.ts +3 -0
- package/components/modal/ModalDocs.js +185 -0
- package/components/modal/ModalDocs.js.map +1 -0
- package/components/pagination/Pagination.d.ts +35 -33
- package/components/pagination/Pagination.js +2 -0
- package/components/pagination/Pagination.js.map +1 -1
- package/components/pagination/PaginationDocs.d.ts +3 -0
- package/components/pagination/PaginationDocs.js +185 -0
- package/components/pagination/PaginationDocs.js.map +1 -0
- package/components/pagination/PaginationHelpers.d.ts +0 -3
- package/components/pagination/PaginationInfinity.d.ts +0 -3
- package/components/pagination/PaginationProvider.js +1 -1
- package/components/pagination/PaginationProvider.js.map +1 -1
- package/components/radio/Radio.d.ts +12 -15
- package/components/radio/RadioDocs.d.ts +5 -0
- package/components/radio/RadioDocs.js +139 -0
- package/components/radio/RadioDocs.js.map +1 -0
- package/components/radio/RadioGroup.d.ts +0 -30
- package/components/section/Section.js +1 -6
- package/components/section/Section.js.map +1 -1
- package/components/section/SectionDocs.js +1 -1
- package/components/section/SectionDocs.js.map +1 -1
- package/components/skeleton/SkeletonDocs.d.ts +2 -0
- package/components/skeleton/SkeletonDocs.js +38 -0
- package/components/skeleton/SkeletonDocs.js.map +1 -0
- package/components/skeleton/SkeletonHelper.d.ts +0 -6
- package/components/skip-content/SkipContentDocs.d.ts +2 -0
- package/components/skip-content/SkipContentDocs.js +23 -0
- package/components/skip-content/SkipContentDocs.js.map +1 -0
- package/components/slider/SliderDocs.js +2 -2
- package/components/slider/SliderDocs.js.map +1 -1
- package/components/space/SpaceDocs.d.ts +3 -0
- package/components/space/SpaceDocs.js +55 -0
- package/components/space/SpaceDocs.js.map +1 -0
- package/components/switch/SwitchDocs.js +2 -2
- package/components/switch/SwitchDocs.js.map +1 -1
- package/components/tag/TagDocs.d.ts +4 -0
- package/components/tag/TagDocs.js +87 -0
- package/components/tag/TagDocs.js.map +1 -0
- package/components/textarea/Textarea.d.ts +0 -12
- package/components/textarea/TextareaDocs.d.ts +1 -0
- package/components/textarea/TextareaDocs.js +25 -3
- package/components/textarea/TextareaDocs.js.map +1 -1
- package/components/timeline/TimelineDocs.d.ts +3 -0
- package/components/timeline/TimelineDocs.js +60 -0
- package/components/timeline/TimelineDocs.js.map +1 -0
- package/components/toggle-button/ToggleButton.d.ts +0 -3
- package/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
- package/components/toggle-button/ToggleButtonDocs.js +7 -0
- package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
- package/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
- package/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
- package/components/toggle-button/ToggleButtonGroupDocs.js +8 -1
- package/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
- package/components/tooltip/TooltipDocs.d.ts +2 -0
- package/components/tooltip/TooltipDocs.js +73 -0
- package/components/tooltip/TooltipDocs.js.map +1 -0
- package/components/upload/Upload.js +6 -4
- package/components/upload/Upload.js.map +1 -1
- package/components/upload/UploadDocs.js +5 -0
- package/components/upload/UploadDocs.js.map +1 -1
- package/components/upload/UploadFileList.js +3 -1
- package/components/upload/UploadFileList.js.map +1 -1
- package/components/upload/UploadFileListCell.d.ts +6 -1
- package/components/upload/UploadFileListCell.js +8 -5
- package/components/upload/UploadFileListCell.js.map +1 -1
- package/components/upload/types.d.ts +5 -0
- package/components/upload/types.js.map +1 -1
- package/components/upload/useUpload.d.ts +1 -0
- package/components/upload/useUpload.js +7 -1
- package/components/upload/useUpload.js.map +1 -1
- package/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
- package/components/visually-hidden/VisuallyHiddenDocs.js +13 -0
- package/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
- package/es/components/aria-live/AriaLiveDocs.d.ts +2 -0
- package/es/components/aria-live/AriaLiveDocs.js +48 -0
- package/es/components/aria-live/AriaLiveDocs.js.map +1 -0
- package/es/components/autocomplete/AutocompleteDocs.js +3 -3
- package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/es/components/avatar/Avatar.d.ts +10 -0
- package/es/components/avatar/Avatar.js +12 -3
- package/es/components/avatar/Avatar.js.map +1 -1
- package/es/components/avatar/AvatarDocs.d.ts +3 -0
- package/es/components/avatar/AvatarDocs.js +95 -0
- package/es/components/avatar/AvatarDocs.js.map +1 -0
- package/es/components/avatar/AvatarGroup.d.ts +10 -0
- package/es/components/avatar/AvatarGroup.js +17 -5
- package/es/components/avatar/AvatarGroup.js.map +1 -1
- package/es/components/avatar/style/dnb-avatar.css +8 -0
- package/es/components/avatar/style/dnb-avatar.min.css +1 -1
- package/es/components/avatar/style/dnb-avatar.scss +9 -0
- package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +5 -5
- package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
- package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +5 -6
- package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +5 -5
- package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -1
- package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +5 -5
- package/es/components/badge/BadgeDocs.d.ts +2 -0
- package/es/components/badge/BadgeDocs.js +48 -0
- package/es/components/badge/BadgeDocs.js.map +1 -0
- package/es/components/breadcrumb/BreadcrumbDocs.d.ts +5 -0
- package/es/components/breadcrumb/BreadcrumbDocs.js +119 -0
- package/es/components/breadcrumb/BreadcrumbDocs.js.map +1 -0
- package/es/components/button/Button.d.ts +0 -3
- package/es/components/button/ButtonDocs.d.ts +1 -0
- package/es/components/button/ButtonDocs.js +7 -0
- package/es/components/button/ButtonDocs.js.map +1 -1
- package/es/components/checkbox/CheckboxDocs.js +2 -2
- package/es/components/checkbox/CheckboxDocs.js.map +1 -1
- package/es/components/date-picker/DatePickerAddon.js +1 -3
- package/es/components/date-picker/DatePickerAddon.js.map +1 -1
- package/es/components/date-picker/DatePickerCalc.d.ts +13 -0
- package/es/components/date-picker/DatePickerCalc.js +39 -0
- package/es/components/date-picker/DatePickerCalc.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendar.js +13 -11
- package/es/components/date-picker/DatePickerCalendar.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/DatePickerDocs.js +1 -1
- package/es/components/date-picker/DatePickerDocs.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.js +116 -92
- package/es/components/date-picker/DatePickerInput.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/useViews.d.ts +2 -4
- package/es/components/date-picker/hooks/useViews.js +39 -25
- package/es/components/date-picker/hooks/useViews.js.map +1 -1
- package/es/components/date-picker/style/dnb-date-picker.css +4 -0
- package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/es/components/date-picker/style/dnb-date-picker.scss +3 -0
- package/es/components/dialog/DialogDocs.d.ts +1 -0
- package/es/components/dialog/DialogDocs.js +19 -2
- package/es/components/dialog/DialogDocs.js.map +1 -1
- package/es/components/drawer/DrawerDocs.d.ts +2 -0
- package/es/components/drawer/DrawerDocs.js +63 -0
- package/es/components/drawer/DrawerDocs.js.map +1 -0
- package/es/components/dropdown/Dropdown.d.ts +20 -20
- package/es/components/dropdown/DropdownDocs.d.ts +3 -0
- package/es/components/dropdown/DropdownDocs.js +180 -0
- package/es/components/dropdown/DropdownDocs.js.map +1 -0
- package/es/components/flex/ContainerDocs.js +1 -1
- package/es/components/flex/ContainerDocs.js.map +1 -1
- package/es/components/flex/ItemDocs.d.ts +2 -0
- package/es/components/flex/ItemDocs.js +33 -0
- package/es/components/flex/ItemDocs.js.map +1 -0
- package/es/components/form-label/FormLabelDocs.d.ts +2 -0
- package/es/components/form-label/FormLabelDocs.js +53 -0
- package/es/components/form-label/FormLabelDocs.js.map +1 -0
- package/es/components/form-row/FormRow.d.ts +45 -0
- package/es/components/form-row/FormRowDocs.d.ts +2 -0
- package/es/components/form-row/FormRowDocs.js +83 -0
- package/es/components/form-row/FormRowDocs.js.map +1 -0
- package/es/components/form-set/FormSet.d.ts +18 -0
- package/es/components/form-set/FormSetDocs.d.ts +3 -0
- package/es/components/form-set/FormSetDocs.js +50 -0
- package/es/components/form-set/FormSetDocs.js.map +1 -0
- package/es/components/form-status/FormStatus.d.ts +18 -18
- package/es/components/form-status/FormStatusDocs.d.ts +2 -0
- package/es/components/form-status/FormStatusDocs.js +83 -0
- package/es/components/form-status/FormStatusDocs.js.map +1 -0
- package/es/components/global-error/GlobalError.d.ts +12 -0
- package/es/components/global-error/GlobalError.js +14 -6
- package/es/components/global-error/GlobalError.js.map +1 -1
- package/es/components/global-error/GlobalErrorDocs.js +14 -4
- package/es/components/global-error/GlobalErrorDocs.js.map +1 -1
- package/es/components/global-status/GlobalStatus.d.ts +37 -58
- package/es/components/global-status/GlobalStatusController.d.ts +0 -9
- package/es/components/global-status/GlobalStatusDocs.d.ts +6 -0
- package/es/components/global-status/GlobalStatusDocs.js +186 -0
- package/es/components/global-status/GlobalStatusDocs.js.map +1 -0
- package/es/components/grid/ItemDocs.d.ts +2 -0
- package/es/components/grid/ItemDocs.js +13 -0
- package/es/components/grid/ItemDocs.js.map +1 -0
- package/es/components/heading/HeadingDocs.d.ts +2 -0
- package/es/components/heading/HeadingDocs.js +73 -0
- package/es/components/heading/HeadingDocs.js.map +1 -0
- package/es/components/help-button/HelpButtonDocs.d.ts +3 -0
- package/es/components/help-button/HelpButtonDocs.js +40 -0
- package/es/components/help-button/HelpButtonDocs.js.map +1 -0
- package/es/components/icon/IconDocs.d.ts +2 -0
- package/es/components/icon/IconDocs.js +53 -0
- package/es/components/icon/IconDocs.js.map +1 -0
- package/es/components/icon/IconPrimaryDocs.d.ts +2 -0
- package/es/components/icon/IconPrimaryDocs.js +18 -0
- package/es/components/icon/IconPrimaryDocs.js.map +1 -0
- package/es/components/info-card/InfoCard.d.ts +6 -1
- package/es/components/info-card/InfoCard.js +4 -3
- package/es/components/info-card/InfoCard.js.map +1 -1
- package/es/components/info-card/InfoCardDocs.js +8 -3
- package/es/components/info-card/InfoCardDocs.js.map +1 -1
- package/es/components/input/Input.d.ts +0 -21
- package/es/components/input/InputDocs.d.ts +1 -0
- package/es/components/input/InputDocs.js +35 -3
- package/es/components/input/InputDocs.js.map +1 -1
- package/es/components/input-masked/InputMasked.d.ts +0 -15
- package/es/components/input-masked/InputMaskedDocs.d.ts +2 -0
- package/es/components/input-masked/InputMaskedDocs.js +69 -0
- package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/es/components/input-masked/MultiInputMaskedDocs.d.ts +4 -0
- package/es/components/input-masked/MultiInputMaskedDocs.js +87 -0
- package/es/components/input-masked/MultiInputMaskedDocs.js.map +1 -0
- package/es/components/input-masked/style/dnb-input-masked.css +9 -0
- package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/es/components/input-masked/style/dnb-input-masked.scss +12 -0
- package/es/components/input-masked/text-mask/InputModeNumber.d.ts +8 -0
- package/es/components/input-masked/text-mask/InputModeNumber.js +39 -9
- package/es/components/input-masked/text-mask/InputModeNumber.js.map +1 -1
- package/es/components/input-masked/text-mask/adjustCaretPosition.d.ts +2 -1
- package/es/components/input-masked/text-mask/adjustCaretPosition.js +3 -2
- package/es/components/input-masked/text-mask/adjustCaretPosition.js.map +1 -1
- package/es/components/input-masked/text-mask/createTextMaskInputElement.js +9 -3
- package/es/components/input-masked/text-mask/createTextMaskInputElement.js.map +1 -1
- package/es/components/modal/ModalDocs.d.ts +3 -0
- package/es/components/modal/ModalDocs.js +185 -0
- package/es/components/modal/ModalDocs.js.map +1 -0
- package/es/components/pagination/Pagination.d.ts +35 -33
- package/es/components/pagination/Pagination.js +2 -0
- package/es/components/pagination/Pagination.js.map +1 -1
- package/es/components/pagination/PaginationDocs.d.ts +3 -0
- package/es/components/pagination/PaginationDocs.js +185 -0
- package/es/components/pagination/PaginationDocs.js.map +1 -0
- package/es/components/pagination/PaginationHelpers.d.ts +0 -3
- package/es/components/pagination/PaginationInfinity.d.ts +0 -3
- package/es/components/pagination/PaginationProvider.js +1 -1
- package/es/components/pagination/PaginationProvider.js.map +1 -1
- package/es/components/radio/Radio.d.ts +12 -15
- package/es/components/radio/RadioDocs.d.ts +5 -0
- package/es/components/radio/RadioDocs.js +139 -0
- package/es/components/radio/RadioDocs.js.map +1 -0
- package/es/components/radio/RadioGroup.d.ts +0 -30
- package/es/components/section/Section.js +1 -6
- package/es/components/section/Section.js.map +1 -1
- package/es/components/section/SectionDocs.js +1 -1
- package/es/components/section/SectionDocs.js.map +1 -1
- package/es/components/skeleton/SkeletonDocs.d.ts +2 -0
- package/es/components/skeleton/SkeletonDocs.js +38 -0
- package/es/components/skeleton/SkeletonDocs.js.map +1 -0
- package/es/components/skeleton/SkeletonHelper.d.ts +0 -6
- package/es/components/skip-content/SkipContentDocs.d.ts +2 -0
- package/es/components/skip-content/SkipContentDocs.js +23 -0
- package/es/components/skip-content/SkipContentDocs.js.map +1 -0
- package/es/components/slider/SliderDocs.js +2 -2
- package/es/components/slider/SliderDocs.js.map +1 -1
- package/es/components/space/SpaceDocs.d.ts +3 -0
- package/es/components/space/SpaceDocs.js +55 -0
- package/es/components/space/SpaceDocs.js.map +1 -0
- package/es/components/switch/SwitchDocs.js +2 -2
- package/es/components/switch/SwitchDocs.js.map +1 -1
- package/es/components/tag/TagDocs.d.ts +4 -0
- package/es/components/tag/TagDocs.js +87 -0
- package/es/components/tag/TagDocs.js.map +1 -0
- package/es/components/textarea/Textarea.d.ts +0 -12
- package/es/components/textarea/TextareaDocs.d.ts +1 -0
- package/es/components/textarea/TextareaDocs.js +25 -3
- package/es/components/textarea/TextareaDocs.js.map +1 -1
- package/es/components/timeline/TimelineDocs.d.ts +3 -0
- package/es/components/timeline/TimelineDocs.js +60 -0
- package/es/components/timeline/TimelineDocs.js.map +1 -0
- package/es/components/toggle-button/ToggleButton.d.ts +0 -3
- package/es/components/toggle-button/ToggleButtonDocs.d.ts +1 -0
- package/es/components/toggle-button/ToggleButtonDocs.js +7 -0
- package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
- package/es/components/toggle-button/ToggleButtonGroup.d.ts +0 -3
- package/es/components/toggle-button/ToggleButtonGroupDocs.d.ts +1 -0
- package/es/components/toggle-button/ToggleButtonGroupDocs.js +8 -1
- package/es/components/toggle-button/ToggleButtonGroupDocs.js.map +1 -1
- package/es/components/tooltip/TooltipDocs.d.ts +2 -0
- package/es/components/tooltip/TooltipDocs.js +73 -0
- package/es/components/tooltip/TooltipDocs.js.map +1 -0
- package/es/components/upload/Upload.js +6 -4
- package/es/components/upload/Upload.js.map +1 -1
- package/es/components/upload/UploadDocs.js +5 -0
- package/es/components/upload/UploadDocs.js.map +1 -1
- package/es/components/upload/UploadFileList.js +3 -1
- package/es/components/upload/UploadFileList.js.map +1 -1
- package/es/components/upload/UploadFileListCell.d.ts +6 -1
- package/es/components/upload/UploadFileListCell.js +8 -5
- package/es/components/upload/UploadFileListCell.js.map +1 -1
- package/es/components/upload/types.d.ts +5 -0
- package/es/components/upload/types.js.map +1 -1
- package/es/components/upload/useUpload.d.ts +1 -0
- package/es/components/upload/useUpload.js +7 -1
- package/es/components/upload/useUpload.js.map +1 -1
- package/es/components/visually-hidden/VisuallyHiddenDocs.d.ts +2 -0
- package/es/components/visually-hidden/VisuallyHiddenDocs.js +13 -0
- package/es/components/visually-hidden/VisuallyHiddenDocs.js.map +1 -0
- package/es/extensions/forms/DataContext/At/AtDocs.d.ts +2 -0
- package/es/extensions/forms/DataContext/At/AtDocs.js +18 -0
- package/es/extensions/forms/DataContext/At/AtDocs.js.map +1 -0
- package/es/extensions/forms/DataContext/Context.d.ts +6 -5
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +28 -34
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.d.ts +1 -0
- package/es/extensions/forms/Field/Date/Date.js +2 -3
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Password/Password.js +2 -1
- package/es/extensions/forms/Field/Password/Password.js.map +1 -1
- package/es/extensions/forms/Field/Password/PasswordDocs.d.ts +1 -0
- package/es/extensions/forms/Field/Password/PasswordDocs.js +13 -1
- package/es/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
- package/es/extensions/forms/Field/String/StringDocs.js +1 -1
- package/es/extensions/forms/Field/String/StringDocs.js.map +1 -1
- package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/es/extensions/forms/Field/Upload/Upload.js +10 -2
- package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/es/extensions/forms/Form/ButtonRow/ButtonRowDocs.d.ts +2 -0
- package/es/extensions/forms/Form/ButtonRow/ButtonRowDocs.js +13 -0
- package/es/extensions/forms/Form/ButtonRow/ButtonRowDocs.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js +10 -14
- package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/es/extensions/forms/Value/Date/Date.d.ts +0 -6
- package/es/extensions/forms/Value/Date/Date.js +13 -34
- package/es/extensions/forms/Value/Date/Date.js.map +1 -1
- package/es/extensions/forms/Wizard/Buttons/ButtonsDocs.d.ts +2 -0
- package/es/extensions/forms/Wizard/Buttons/ButtonsDocs.js +8 -0
- package/es/extensions/forms/Wizard/Buttons/ButtonsDocs.js.map +1 -0
- 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/hooks/useFieldProps.js +8 -5
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/payment-card/PaymentCard.d.ts +7 -7
- package/es/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
- package/es/extensions/payment-card/PaymentCardDocs.js +199 -0
- package/es/extensions/payment-card/PaymentCardDocs.js.map +1 -0
- package/es/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
- package/es/fragments/scroll-view/ScrollViewDocs.js +13 -0
- package/es/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
- package/es/fragments/text-counter/TextCounterDocs.d.ts +2 -0
- package/es/fragments/text-counter/TextCounterDocs.js +23 -0
- package/es/fragments/text-counter/TextCounterDocs.js.map +1 -0
- 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/MediaQueryDocs.d.ts +2 -0
- package/es/shared/MediaQueryDocs.js +28 -0
- package/es/shared/MediaQueryDocs.js.map +1 -0
- package/es/shared/ThemeDocs.d.ts +2 -0
- package/es/shared/ThemeDocs.js +33 -0
- package/es/shared/ThemeDocs.js.map +1 -0
- package/es/shared/helpers.d.ts +1 -0
- package/es/shared/helpers.js +6 -0
- package/es/shared/helpers.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +1 -0
- package/es/shared/locales/en-GB.js +1 -0
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +1 -0
- package/es/shared/locales/index.d.ts +2 -0
- package/es/shared/locales/nb-NO.d.ts +1 -0
- package/es/shared/locales/nb-NO.js +1 -0
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/locales/sv-SE.d.ts +1 -0
- package/es/shared/locales/sv-SE.js +3 -2
- package/es/shared/locales/sv-SE.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +21 -0
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +26 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +26 -5
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-components.css +26 -5
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +1 -1
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/At/AtDocs.d.ts +2 -0
- package/extensions/forms/DataContext/At/AtDocs.js +18 -0
- package/extensions/forms/DataContext/At/AtDocs.js.map +1 -0
- package/extensions/forms/DataContext/Context.d.ts +6 -5
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +29 -35
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/Date/Date.d.ts +1 -0
- package/extensions/forms/Field/Date/Date.js +2 -3
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Password/Password.js +2 -1
- package/extensions/forms/Field/Password/Password.js.map +1 -1
- package/extensions/forms/Field/Password/PasswordDocs.d.ts +1 -0
- package/extensions/forms/Field/Password/PasswordDocs.js +13 -1
- package/extensions/forms/Field/Password/PasswordDocs.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +9 -3
- package/extensions/forms/Field/String/StringDocs.js +1 -1
- package/extensions/forms/Field/String/StringDocs.js.map +1 -1
- package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/extensions/forms/Field/Upload/Upload.js +10 -2
- package/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/extensions/forms/Form/ButtonRow/ButtonRowDocs.d.ts +2 -0
- package/extensions/forms/Form/ButtonRow/ButtonRowDocs.js +13 -0
- package/extensions/forms/Form/ButtonRow/ButtonRowDocs.js.map +1 -0
- package/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
- package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +4 -4
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js +10 -14
- package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/extensions/forms/Value/Date/Date.d.ts +0 -6
- package/extensions/forms/Value/Date/Date.js +14 -36
- package/extensions/forms/Value/Date/Date.js.map +1 -1
- package/extensions/forms/Wizard/Buttons/ButtonsDocs.d.ts +2 -0
- package/extensions/forms/Wizard/Buttons/ButtonsDocs.js +8 -0
- package/extensions/forms/Wizard/Buttons/ButtonsDocs.js.map +1 -0
- package/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +8 -5
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/payment-card/PaymentCard.d.ts +7 -7
- package/extensions/payment-card/PaymentCardDocs.d.ts +5 -0
- package/extensions/payment-card/PaymentCardDocs.js +199 -0
- package/extensions/payment-card/PaymentCardDocs.js.map +1 -0
- package/fragments/scroll-view/ScrollViewDocs.d.ts +2 -0
- package/fragments/scroll-view/ScrollViewDocs.js +13 -0
- package/fragments/scroll-view/ScrollViewDocs.js.map +1 -0
- package/fragments/text-counter/TextCounterDocs.d.ts +2 -0
- package/fragments/text-counter/TextCounterDocs.js +23 -0
- package/fragments/text-counter/TextCounterDocs.js.map +1 -0
- 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/MediaQueryDocs.d.ts +2 -0
- package/shared/MediaQueryDocs.js +28 -0
- package/shared/MediaQueryDocs.js.map +1 -0
- package/shared/ThemeDocs.d.ts +2 -0
- package/shared/ThemeDocs.js +33 -0
- package/shared/ThemeDocs.js.map +1 -0
- package/shared/helpers.d.ts +1 -0
- package/shared/helpers.js +6 -0
- package/shared/helpers.js.map +1 -1
- package/shared/locales/en-GB.d.ts +1 -0
- package/shared/locales/en-GB.js +1 -0
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +1 -0
- package/shared/locales/index.d.ts +2 -0
- package/shared/locales/nb-NO.d.ts +1 -0
- package/shared/locales/nb-NO.js +1 -0
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/locales/sv-SE.d.ts +1 -0
- package/shared/locales/sv-SE.js +3 -2
- package/shared/locales/sv-SE.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +21 -0
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +26 -5
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.css +26 -5
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-components.css +26 -5
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +1 -1
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerCalc.js","names":["subMonths","addMonths","isWithinInterval","isValid","isAfter","isBefore","isSameDay","isToday","isSameMonth","addDays","startOfWeek","getDay","startOfMonth","getDaysInMonth","toDate","parseISO","parse","startOfDay","warn","calendarCache","makeDayObject","date","_ref","startDate","endDate","hoverDate","minDate","maxDate","month","range","getRange","isLastMonth","isNextMonth","isStartDate","isStartDateCalc","isEndDate","isEndDateCalc","isWithinSelection","isWithinSelectionCalc","isPreview","isPreviewCalc","isDisabled","isDisabledCalc","isSelectable","isInactive","getCalendar","weekStartsOn","arguments","length","undefined","onlyMonth","hideNextMonthWeek","cacheKey","toISOString","thisMonth","getMonth","firstDay","lastMonth","fillCount","nextMonth","dayOffset","dayName","week","indexOf","toLowerCase","toRange","_startDate","getWeek","startDay","Date","Array","fill","map","value","i","skip","limit","size","Math","min","max","start","end","correctV1Format","test","replace","convertStringToDate","dateFormat","dateObject"],"sources":["../../../../src/components/date-picker/DatePickerCalc.ts"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\n// date-fns\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport isWithinInterval from 'date-fns/isWithinInterval'\nimport isValid from 'date-fns/isValid'\nimport isAfter from 'date-fns/isAfter'\nimport isBefore from 'date-fns/isBefore'\nimport isSameDay from 'date-fns/isSameDay'\nimport isToday from 'date-fns/isToday'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport addDays from 'date-fns/addDays'\nimport startOfWeek from 'date-fns/startOfWeek'\nimport getDay from 'date-fns/getDay'\nimport startOfMonth from 'date-fns/startOfMonth'\nimport getDaysInMonth from 'date-fns/getDaysInMonth'\nimport toDate from 'date-fns/toDate'\nimport parseISO from 'date-fns/parseISO'\nimport parse from 'date-fns/parse'\nimport startOfDay from 'date-fns/startOfDay'\n\nimport { warn } from '../../shared/component-helper'\n\ntype ZeroDayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\ntype DateRange = { startDate: Date; endDate: Date }\n\nconst calendarCache: { [isoString: string]: Date[] } = {}\n\n// Is used as DatePickerCalc\nexport function makeDayObject(\n date: Date,\n {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n }: Record<string, Date>\n) {\n const range = getRange(startDate, endDate, hoverDate)\n const isLastMonth = isSameMonth(subMonths(date, 1), month)\n const isNextMonth = isSameMonth(addMonths(date, 1), month)\n const isStartDate = isStartDateCalc(date, range)\n const isEndDate = isEndDateCalc(date, range)\n const isWithinSelection = isWithinSelectionCalc(date, startDate, endDate)\n const isPreview = isPreviewCalc(date, startDate, endDate, hoverDate)\n const isDisabled = isDisabledCalc(date, minDate, maxDate)\n\n return {\n date,\n isToday: isToday(date),\n isLastMonth,\n isNextMonth,\n isStartDate,\n isEndDate,\n isWithinSelection,\n isPreview,\n isDisabled,\n isSelectable: !isLastMonth && !isNextMonth && !isDisabled,\n isInactive: isLastMonth || isNextMonth || isDisabled,\n }\n}\n\n// return an array of objects with dates and extra info\nexport function getCalendar(\n month: Date,\n weekStartsOn = 0,\n {\n onlyMonth = false,\n hideNextMonthWeek = false,\n }: { onlyMonth?: boolean; hideNextMonthWeek?: boolean } = {}\n) {\n const cacheKey = month.toISOString()\n\n // Get the main month\n const thisMonth = getMonth(month)\n if (onlyMonth) {\n return (calendarCache[cacheKey] = [...thisMonth])\n }\n\n if (calendarCache[cacheKey]) {\n return calendarCache[cacheKey]\n }\n\n // Get day of the week of the first day of month, e.g. => 3\n // Add 7 days 7 to make sure it's not negative when subtracting weekStartsOn and wraps around\n const firstDay = (7 + getDay(startOfMonth(month)) - weekStartsOn) % 7\n const lastMonth = getMonth(\n subMonths(month, 1),\n getDaysInMonth(subMonths(month, 1)) - firstDay\n )\n let fillCount = -1\n if (hideNextMonthWeek) {\n // use this variant if it is OK with empty slots at the bottom\n fillCount = 35 - (thisMonth.length + firstDay)\n }\n if (fillCount < 0) {\n fillCount = 42 - (thisMonth.length + firstDay)\n }\n const nextMonth = getMonth(\n addMonths(month, 1),\n 0,\n fillCount > -1 ? fillCount : 0\n )\n return (calendarCache[cacheKey] = [\n ...lastMonth,\n ...thisMonth,\n ...nextMonth,\n ])\n}\n\n// calculates offset from Sunday, e.g. Monday is +1\nexport function dayOffset(dayName: string) {\n const week = [\n 'sunday',\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n ]\n return (\n dayName ? week.indexOf(dayName.toLowerCase()) : 0\n ) as ZeroDayIndex\n}\n\n// creates a date range object and automatically swaps startDate and endDate if endDate is before startDate\nexport function toRange(startDate: Date, endDate: Date) {\n if (isBefore(endDate, startDate)) {\n const _startDate = startDate\n startDate = endDate\n endDate = _startDate\n }\n return { startDate, endDate }\n}\n\n// returns startDate and endDate if both dates are selected\n// otherwise uses the startDate and hoverDate\n// unless user hasn't hovered, then use start date twice\nfunction getRange(startDate: Date, endDate: Date, hoverDate: Date) {\n if (startDate && endDate) {\n return toRange(startDate, endDate)\n } else if (startDate && hoverDate) {\n return toRange(startDate, hoverDate)\n } else {\n return toRange(startDate, startDate)\n }\n}\n\n// returns an array of dates for each day of the current week\n// weekStartsOn is a number, use dayOffset to convert from a string\nexport function getWeek(weekStartsOn?: ZeroDayIndex) {\n const startDay = startOfWeek(new Date(), { weekStartsOn })\n return Array(7)\n .fill(1)\n .map((value, i) => addDays(startDay, i))\n}\n\n// returns an array of dates of the month, optionally skip x number of days\nexport function getMonth(month: Date, skip = 0, limit?: number) {\n const startDay = startOfMonth(month)\n let size = getDaysInMonth(month) - skip\n size = Math.min(Math.max(size, 0), limit > -1 ? limit : size)\n size = size < 0 ? 0 : size\n return Array(size)\n .fill(1)\n .map((value, i) => addDays(startDay, i + skip))\n}\n\n// date is between selection range\nfunction isWithinSelectionCalc(\n date: Date,\n startDate: Date,\n endDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, endDate)\n return startDate && endDate\n ? isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n : false\n}\n\n// date is before minDate or after maxDate\nfunction isDisabledCalc(date: Date, minDate: Date, maxDate: Date) {\n // isBefore and isAfter return false if comparison date is undefined, which is useful here in case minDate and maxDate aren't provided\n\n return (\n (minDate && isBefore(startOfDay(date), startOfDay(minDate))) ||\n (maxDate && isAfter(startOfDay(date), startOfDay(maxDate)))\n )\n}\nexport { isDisabledCalc as isDisabled }\n\n// date selected is start date\nfunction isStartDateCalc(date: Date, range: DateRange) {\n return range.startDate && isSameDay(date, range.startDate)\n}\n\n// date selected is end date\nfunction isEndDateCalc(date: Date, range: DateRange) {\n return range.endDate && isSameDay(date, range.endDate)\n}\n\n// date is between startDate (exclusive) and hoverDate (inclusive)\nfunction isPreviewCalc(\n date: Date,\n startDate: Date,\n endDate: Date,\n hoverDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, hoverDate)\n return (\n startDate &&\n !endDate &&\n // To exclude \"isPreview\" from startDate/endDate, we have to enable these two lines\n // !isStartDate(date, previewRange) &&\n // !isEndDate(date, previewRange) &&\n isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n )\n}\n\nexport function correctV1Format(date: string) {\n // for backwards compatibility\n // TODO: Remove this in next major version\n if (/YYYY/.test(date) && /DD/.test(date)) {\n warn(\n 'You are using \"YYYY-MM-DD\" as the dateFormat or returnFormat? Please use \"yyyy-MM-dd\" instead!'\n )\n date = date.replace(/DD/, 'dd').replace(/YYYY/, 'yyyy')\n }\n\n return date\n}\n\nexport function convertStringToDate(\n date: string | Date,\n { dateFormat = null }: { dateFormat?: string | null } = {}\n): Date {\n if (!date) {\n return null\n }\n\n let dateObject: Date\n dateObject = typeof date === 'string' ? parseISO(date) : toDate(date)\n\n // check one more time if we can generate a valid date\n if (typeof date === 'string' && dateFormat && !isValid(dateObject)) {\n dateFormat = correctV1Format(dateFormat)\n dateObject = parse(date, dateFormat, new Date())\n }\n\n // rather return null than an invalid date\n if (!isValid(dateObject)) {\n warn('convertStringToDate got invalid date:', date)\n return null\n }\n\n return dateObject\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DatePickerCalc.js","names":["subMonths","addMonths","isWithinInterval","isValid","isAfter","isBefore","isSameDay","isToday","isSameMonth","addDays","startOfWeek","getDay","startOfMonth","getDaysInMonth","toDate","parseISO","parse","startOfDay","warn","LOCALE","calendarCache","makeDayObject","date","_ref","startDate","endDate","hoverDate","minDate","maxDate","month","range","getRange","isLastMonth","isNextMonth","isStartDate","isStartDateCalc","isEndDate","isEndDateCalc","isWithinSelection","isWithinSelectionCalc","isPreview","isPreviewCalc","isDisabled","isDisabledCalc","isSelectable","isInactive","getCalendar","weekStartsOn","arguments","length","undefined","onlyMonth","hideNextMonthWeek","cacheKey","toISOString","thisMonth","getMonth","firstDay","lastMonth","fillCount","nextMonth","dayOffset","dayName","week","indexOf","toLowerCase","toRange","_startDate","getWeek","startDay","Date","Array","fill","map","value","i","skip","limit","size","Math","min","max","start","end","correctV1Format","test","replace","convertStringToDate","dateFormat","dateObject","formatDate","dateValue","locale","variant","formatOptions","options","getFormatOptions","Intl","DateTimeFormat","format","toLocaleString","formatDateRange","dates","formatRange","startDateString","endDateString","day","year"],"sources":["../../../../src/components/date-picker/DatePickerCalc.ts"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\n// date-fns\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport isWithinInterval from 'date-fns/isWithinInterval'\nimport isValid from 'date-fns/isValid'\nimport isAfter from 'date-fns/isAfter'\nimport isBefore from 'date-fns/isBefore'\nimport isSameDay from 'date-fns/isSameDay'\nimport isToday from 'date-fns/isToday'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport addDays from 'date-fns/addDays'\nimport startOfWeek from 'date-fns/startOfWeek'\nimport getDay from 'date-fns/getDay'\nimport startOfMonth from 'date-fns/startOfMonth'\nimport getDaysInMonth from 'date-fns/getDaysInMonth'\nimport toDate from 'date-fns/toDate'\nimport parseISO from 'date-fns/parseISO'\nimport parse from 'date-fns/parse'\nimport startOfDay from 'date-fns/startOfDay'\n\nimport { warn } from '../../shared/component-helper'\nimport { AnyLocale } from '../../shared/Context'\nimport { LOCALE } from '../../shared/defaults'\nimport { DateType } from './DatePickerContext'\n\ntype ZeroDayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\ntype DateRange = { startDate: Date; endDate: Date }\n\nconst calendarCache: { [isoString: string]: Date[] } = {}\n\n// Is used as DatePickerCalc\nexport function makeDayObject(\n date: Date,\n {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n }: Record<string, Date>\n) {\n const range = getRange(startDate, endDate, hoverDate)\n const isLastMonth = isSameMonth(subMonths(date, 1), month)\n const isNextMonth = isSameMonth(addMonths(date, 1), month)\n const isStartDate = isStartDateCalc(date, range)\n const isEndDate = isEndDateCalc(date, range)\n const isWithinSelection = isWithinSelectionCalc(date, startDate, endDate)\n const isPreview = isPreviewCalc(date, startDate, endDate, hoverDate)\n const isDisabled = isDisabledCalc(date, minDate, maxDate)\n\n return {\n date,\n isToday: isToday(date),\n isLastMonth,\n isNextMonth,\n isStartDate,\n isEndDate,\n isWithinSelection,\n isPreview,\n isDisabled,\n isSelectable: !isLastMonth && !isNextMonth && !isDisabled,\n isInactive: isLastMonth || isNextMonth || isDisabled,\n }\n}\n\n// return an array of objects with dates and extra info\nexport function getCalendar(\n month: Date,\n weekStartsOn = 0,\n {\n onlyMonth = false,\n hideNextMonthWeek = false,\n }: { onlyMonth?: boolean; hideNextMonthWeek?: boolean } = {}\n) {\n const cacheKey = month.toISOString()\n\n // Get the main month\n const thisMonth = getMonth(month)\n if (onlyMonth) {\n return (calendarCache[cacheKey] = [...thisMonth])\n }\n\n if (calendarCache[cacheKey]) {\n return calendarCache[cacheKey]\n }\n\n // Get day of the week of the first day of month, e.g. => 3\n // Add 7 days 7 to make sure it's not negative when subtracting weekStartsOn and wraps around\n const firstDay = (7 + getDay(startOfMonth(month)) - weekStartsOn) % 7\n const lastMonth = getMonth(\n subMonths(month, 1),\n getDaysInMonth(subMonths(month, 1)) - firstDay\n )\n let fillCount = -1\n if (hideNextMonthWeek) {\n // use this variant if it is OK with empty slots at the bottom\n fillCount = 35 - (thisMonth.length + firstDay)\n }\n if (fillCount < 0) {\n fillCount = 42 - (thisMonth.length + firstDay)\n }\n const nextMonth = getMonth(\n addMonths(month, 1),\n 0,\n fillCount > -1 ? fillCount : 0\n )\n return (calendarCache[cacheKey] = [\n ...lastMonth,\n ...thisMonth,\n ...nextMonth,\n ])\n}\n\n// calculates offset from Sunday, e.g. Monday is +1\nexport function dayOffset(dayName: string) {\n const week = [\n 'sunday',\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n ]\n return (\n dayName ? week.indexOf(dayName.toLowerCase()) : 0\n ) as ZeroDayIndex\n}\n\n// creates a date range object and automatically swaps startDate and endDate if endDate is before startDate\nexport function toRange(startDate: Date, endDate: Date) {\n if (isBefore(endDate, startDate)) {\n const _startDate = startDate\n startDate = endDate\n endDate = _startDate\n }\n return { startDate, endDate }\n}\n\n// returns startDate and endDate if both dates are selected\n// otherwise uses the startDate and hoverDate\n// unless user hasn't hovered, then use start date twice\nfunction getRange(startDate: Date, endDate: Date, hoverDate: Date) {\n if (startDate && endDate) {\n return toRange(startDate, endDate)\n } else if (startDate && hoverDate) {\n return toRange(startDate, hoverDate)\n } else {\n return toRange(startDate, startDate)\n }\n}\n\n// returns an array of dates for each day of the current week\n// weekStartsOn is a number, use dayOffset to convert from a string\nexport function getWeek(weekStartsOn?: ZeroDayIndex) {\n const startDay = startOfWeek(new Date(), { weekStartsOn })\n return Array(7)\n .fill(1)\n .map((value, i) => addDays(startDay, i))\n}\n\n// returns an array of dates of the month, optionally skip x number of days\nexport function getMonth(month: Date, skip = 0, limit?: number) {\n const startDay = startOfMonth(month)\n let size = getDaysInMonth(month) - skip\n size = Math.min(Math.max(size, 0), limit > -1 ? limit : size)\n size = size < 0 ? 0 : size\n return Array(size)\n .fill(1)\n .map((value, i) => addDays(startDay, i + skip))\n}\n\n// date is between selection range\nfunction isWithinSelectionCalc(\n date: Date,\n startDate: Date,\n endDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, endDate)\n return startDate && endDate\n ? isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n : false\n}\n\n// date is before minDate or after maxDate\nfunction isDisabledCalc(date: Date, minDate: Date, maxDate: Date) {\n // isBefore and isAfter return false if comparison date is undefined, which is useful here in case minDate and maxDate aren't provided\n\n return (\n (minDate && isBefore(startOfDay(date), startOfDay(minDate))) ||\n (maxDate && isAfter(startOfDay(date), startOfDay(maxDate)))\n )\n}\nexport { isDisabledCalc as isDisabled }\n\n// date selected is start date\nfunction isStartDateCalc(date: Date, range: DateRange) {\n return range.startDate && isSameDay(date, range.startDate)\n}\n\n// date selected is end date\nfunction isEndDateCalc(date: Date, range: DateRange) {\n return range.endDate && isSameDay(date, range.endDate)\n}\n\n// date is between startDate (exclusive) and hoverDate (inclusive)\nfunction isPreviewCalc(\n date: Date,\n startDate: Date,\n endDate: Date,\n hoverDate: Date\n) {\n const { startDate: start, endDate: end } = toRange(startDate, hoverDate)\n return (\n startDate &&\n !endDate &&\n // To exclude \"isPreview\" from startDate/endDate, we have to enable these two lines\n // !isStartDate(date, previewRange) &&\n // !isEndDate(date, previewRange) &&\n isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n )\n}\n\nexport function correctV1Format(date: string) {\n // for backwards compatibility\n // TODO: Remove this in next major version\n if (/YYYY/.test(date) && /DD/.test(date)) {\n warn(\n 'You are using \"YYYY-MM-DD\" as the dateFormat or returnFormat? Please use \"yyyy-MM-dd\" instead!'\n )\n date = date.replace(/DD/, 'dd').replace(/YYYY/, 'yyyy')\n }\n\n return date\n}\n\nexport function convertStringToDate(\n date: string | Date,\n { dateFormat = null }: { dateFormat?: string | null } = {}\n): Date {\n if (!date) {\n return null\n }\n\n let dateObject: Date\n dateObject = typeof date === 'string' ? parseISO(date) : toDate(date)\n\n // check one more time if we can generate a valid date\n if (typeof date === 'string' && dateFormat && !isValid(dateObject)) {\n dateFormat = correctV1Format(dateFormat)\n dateObject = parse(date, dateFormat, new Date())\n }\n\n // rather return null than an invalid date\n if (!isValid(dateObject)) {\n warn('convertStringToDate got invalid date:', date)\n return null\n }\n\n return dateObject\n}\n\nexport type FormatDateOptions = {\n locale?: AnyLocale\n variant?: 'long' | 'short' | 'numeric'\n formatOptions?: Intl.DateTimeFormatOptions\n}\n\nexport function formatDate(\n dateValue: DateType,\n {\n locale = LOCALE,\n variant = 'numeric',\n formatOptions = undefined,\n }: FormatDateOptions = {}\n) {\n const options = formatOptions ?? getFormatOptions(variant)\n\n const date = convertStringToDate(dateValue)\n\n return typeof Intl !== 'undefined'\n ? new Intl.DateTimeFormat(locale, options).format(date)\n : date.toLocaleString(locale, options)\n}\n\nexport function formatDateRange(\n dates: { startDate: DateType; endDate: DateType },\n {\n locale = LOCALE,\n variant = 'numeric',\n formatOptions = undefined,\n }: FormatDateOptions = {}\n) {\n const options = formatOptions ?? getFormatOptions(variant)\n\n const startDate = convertStringToDate(dates.startDate)\n const endDate = convertStringToDate(dates.endDate)\n\n if (typeof Intl !== 'undefined') {\n return new Intl.DateTimeFormat(locale, options).formatRange(\n startDate,\n endDate\n )\n }\n\n const startDateString = startDate.toLocaleString(locale, options)\n const endDateString = endDate.toLocaleString(locale, options)\n\n return `${startDateString}-${endDateString}`\n}\n\nexport function getFormatOptions(\n variant: FormatDateOptions['variant']\n): Intl.DateTimeFormatOptions {\n if (variant === 'numeric') {\n return {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n } as const\n }\n\n return {\n day: 'numeric',\n month: variant,\n year: 'numeric',\n } as const\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -71,7 +71,7 @@ function DatePickerCalendar(restOfProps) {
|
|
|
71
71
|
const props = _objectSpread(_objectSpread({}, defaultProps), restOfProps);
|
|
72
72
|
const {
|
|
73
73
|
updateDates,
|
|
74
|
-
|
|
74
|
+
setHasClickedCalendarDay,
|
|
75
75
|
startDate,
|
|
76
76
|
endDate,
|
|
77
77
|
hoverDate,
|
|
@@ -112,14 +112,14 @@ function DatePickerCalendar(restOfProps) {
|
|
|
112
112
|
hideNextMonthWeek,
|
|
113
113
|
onlyMonth
|
|
114
114
|
} = props;
|
|
115
|
-
const
|
|
115
|
+
const tableRef = useRef();
|
|
116
116
|
const labelRef = useRef();
|
|
117
117
|
const days = useRef({});
|
|
118
118
|
const cache = useRef({});
|
|
119
119
|
useEffect(() => {
|
|
120
120
|
if (!noAutoFocus && nr === 0) {
|
|
121
|
-
if (
|
|
122
|
-
|
|
121
|
+
if (tableRef.current) {
|
|
122
|
+
tableRef.current.focus({
|
|
123
123
|
preventScroll: true
|
|
124
124
|
});
|
|
125
125
|
}
|
|
@@ -189,7 +189,7 @@ function DatePickerCalendar(restOfProps) {
|
|
|
189
189
|
const onKeyDownHandler = useCallback(event => {
|
|
190
190
|
const pressedKey = event.code;
|
|
191
191
|
if (typeof onKeyDown === 'function') {
|
|
192
|
-
return onKeyDown(event,
|
|
192
|
+
return onKeyDown(event, tableRef, nr);
|
|
193
193
|
}
|
|
194
194
|
if (!keysToHandle.includes(pressedKey)) {
|
|
195
195
|
return;
|
|
@@ -246,13 +246,12 @@ function DatePickerCalendar(restOfProps) {
|
|
|
246
246
|
hidePicker: false
|
|
247
247
|
}, dates));
|
|
248
248
|
});
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
listRef.current.focus({
|
|
249
|
+
if (tableRef && tableRef.current) {
|
|
250
|
+
tableRef.current.focus({
|
|
252
251
|
preventScroll: true
|
|
253
252
|
});
|
|
254
253
|
}
|
|
255
|
-
}, [callOnSelect, findValid, hasReachedEnd, onKeyDown, startDate, endDate, updateDates, hideNav, isRange, keyNavCalc, nr, onlyMonth, endMonth, startMonth
|
|
254
|
+
}, [callOnSelect, findValid, hasReachedEnd, onKeyDown, startDate, endDate, updateDates, hideNav, isRange, keyNavCalc, nr, onlyMonth, endMonth, startMonth]);
|
|
256
255
|
const cacheKey = useMemo(() => {
|
|
257
256
|
return [nr, month, firstDayOfWeek, onlyMonth, hideNextMonthWeek, startDate, endDate, hoverDate, maxDate, minDate].join('|');
|
|
258
257
|
}, [nr, month, firstDayOfWeek, onlyMonth, hideNextMonthWeek, startDate, endDate, hoverDate, maxDate, minDate]);
|
|
@@ -313,7 +312,7 @@ function DatePickerCalendar(restOfProps) {
|
|
|
313
312
|
"aria-labelledby": `${id}--title`,
|
|
314
313
|
onKeyDown: onKeyDownHandler,
|
|
315
314
|
onMouseLeave: onMouseLeaveHandler,
|
|
316
|
-
ref:
|
|
315
|
+
ref: tableRef
|
|
317
316
|
}, !hideDays && React.createElement("thead", {
|
|
318
317
|
"aria-hidden": true
|
|
319
318
|
}, React.createElement("tr", {
|
|
@@ -380,6 +379,7 @@ function DatePickerCalendar(restOfProps) {
|
|
|
380
379
|
endDate,
|
|
381
380
|
resetDate,
|
|
382
381
|
event,
|
|
382
|
+
setHasClickedCalendarDay,
|
|
383
383
|
onSelect: state => {
|
|
384
384
|
updateDates(state, dates => callOnSelect(_objectSpread(_objectSpread({}, dates), {}, {
|
|
385
385
|
event,
|
|
@@ -444,7 +444,8 @@ function onSelectRange(_ref3) {
|
|
|
444
444
|
endDate,
|
|
445
445
|
onSelect,
|
|
446
446
|
resetDate,
|
|
447
|
-
event
|
|
447
|
+
event,
|
|
448
|
+
setHasClickedCalendarDay
|
|
448
449
|
} = _ref3;
|
|
449
450
|
event.persist();
|
|
450
451
|
if (!isRange) {
|
|
@@ -454,6 +455,7 @@ function onSelectRange(_ref3) {
|
|
|
454
455
|
event
|
|
455
456
|
});
|
|
456
457
|
}
|
|
458
|
+
setHasClickedCalendarDay(true);
|
|
457
459
|
if (!startDate || resetDate && startDate && endDate) {
|
|
458
460
|
return onSelect({
|
|
459
461
|
startDate: startOfDay(day.date),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerCalendar.js","names":["React","useCallback","useContext","useEffect","useMemo","useRef","classnames","format","subMonths","addMonths","addWeeks","addDays","isSameDay","isSameMonth","startOfDay","differenceInCalendarDays","differenceInMonths","lastDayOfMonth","setDate","nbLocalize","nbFormatLong","enLocalize","enFormatLong","gbFormatLong","svLocalize","svFormatLong","isDisabled","makeDayObject","toRange","getWeek","dayOffset","getCalendar","Button","DatePickerContext","useTranslation","LOCALE","locales","localize","formatLong","defaultProps","prevBtn","nextBtn","titleFormat","dayOfWeekFormat","firstDayOfWeek","hideNav","hideDays","onlyMonth","hideNextMonthWeek","noAutoFocus","rtl","resetDate","arrowKeys","keysToHandle","DatePickerCalendar","restOfProps","props","_objectSpread","updateDates","forceViewMonthChange","startDate","endDate","hoverDate","maxDate","minDate","startMonth","endMonth","translation","DatePicker","selectedMonth","onDaysRender","id","nr","month","isRange","locale","localeCode","onPrev","onNext","onSelect","onHover","onKeyDown","listRef","labelRef","days","cache","current","focus","preventScroll","onMouseLeaveHandler","callOnSelect","event","getDays","daysFromCalendar","Date","map","date","changedDays","Array","isArray","keyNavCalc","keyCode","includes","dateHandler","test","shiftAmount","findValid","foundDate","find","cur","isSelectable","isInactive","nextDate","hasReachedEnd","onKeyDownHandler","pressedKey","code","preventDefault","persist","currentDates","dateType","currentDate","newDate","hidePicker","dates","currentMonth","Math","abs","cacheKey","join","weekDays","count","Object","values","reduce","acc","i","push","createElement","className","lang","CalendarButton","type","showButton","onClick","title","replace","tabIndex","ref","role","onMouseLeave","day","key","scope","week","handleAsDisabled","isLastMonth","isNextMonth","isStartDate","isEndDate","undefined","isSelectedDate","paramsCell","paramsButton","_extends","buildDayClassNames","size","variant","text","bounding","disabled","on_click","_ref","onSelectRange","state","onMouseOver","onHoverDay","onFocus","_ref2","tr","_Fragment","Fragment","icon","_ref3","daysToStartDate","daysToEndDate","range","_ref4","isPreview","isWithinSelection","isToday"],"sources":["../../../../src/components/date-picker/DatePickerCalendar.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\n\n// date-fns\nimport format from 'date-fns/format'\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport addWeeks from 'date-fns/addWeeks'\nimport addDays from 'date-fns/addDays'\nimport isSameDay from 'date-fns/isSameDay'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport startOfDay from 'date-fns/startOfDay'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\nimport differenceInMonths from 'date-fns/differenceInMonths'\nimport lastDayOfMonth from 'date-fns/lastDayOfMonth'\nimport setDate from 'date-fns/setDate'\n\n// Imports only the parts of the date-fns locale object that we actually use\nimport nbLocalize from 'date-fns/locale/nb/_lib/localize'\nimport nbFormatLong from 'date-fns/locale/nb/_lib/formatLong'\nimport enLocalize from 'date-fns/locale/en-US/_lib/localize'\nimport enFormatLong from 'date-fns/locale/en-US/_lib/formatLong'\nimport gbFormatLong from 'date-fns/locale/en-GB/_lib/formatLong'\nimport svLocalize from 'date-fns/locale/sv/_lib/localize'\nimport svFormatLong from 'date-fns/locale/sv/_lib/formatLong'\n\nimport {\n isDisabled,\n makeDayObject,\n toRange,\n getWeek,\n dayOffset,\n getCalendar,\n} from './DatePickerCalc'\nimport Button, { ButtonProps } from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\nimport { useTranslation } from '../../shared'\nimport { InternalLocale } from '../../shared/Context'\nimport { DatePickerChangeEvent } from './DatePickerProvider'\nimport { DatePickerDates } from './hooks/useDates'\nimport { LOCALE } from '../../shared/defaults'\n\nexport type CalendarDay = {\n date: Date\n isDisabled?: boolean\n isEndDate?: boolean\n isInactive?: boolean\n isLastMonth?: boolean\n isNextMonth?: boolean\n isPreview?: boolean\n isSelectable?: boolean\n isStartDate?: boolean\n isToday?: boolean\n isWithinSelection?: boolean\n className?: string\n}\n\ntype CalendarLocales = {\n // eslint-disable-next-line no-unused-vars\n [locale in InternalLocale]?: Pick<Locale, 'localize' | 'formatLong'>\n}\n// Easy to access objects containing the only (in our case) needed functions for date-fns format\n// TODO: Replace with Intl.DateTimeFormat\nconst locales: CalendarLocales = {\n 'nb-NO': { localize: nbLocalize, formatLong: nbFormatLong },\n 'en-GB': { localize: enLocalize, formatLong: gbFormatLong },\n 'en-US': { localize: enLocalize, formatLong: enFormatLong },\n 'sv-SE': { localize: svLocalize, formatLong: svFormatLong },\n}\n\nexport type CalendarNavigationEvent = {\n nr: number\n type?: CalendarButtonProps['type']\n}\n\nexport type DatePickerCalendarProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onSelect' | 'onChange'\n> & {\n id?: string\n nr?: number\n /**\n * To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.\n */\n month?: Date\n prevBtn?: boolean\n nextBtn?: boolean\n titleFormat?: string\n dayOfWeekFormat?: string\n firstDayOfWeek?: string\n hideNav?: boolean\n hideDays?: boolean\n onlyMonth?: boolean\n hideNextMonthWeek?: boolean\n noAutoFocus?: boolean\n onHover?: (day: Date) => void\n onSelect?: (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>\n >\n ) => void\n onPrev?: (event: CalendarNavigationEvent) => void\n onNext?: (event: CalendarNavigationEvent) => void\n onKeyDown?: (\n event: React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>,\n tableRef: React.MutableRefObject<HTMLTableElement>,\n nr: number\n ) => void\n /**\n * To define the locale used in the calendar. Needs to be an `date-fns` \"v2\" locale object, like `import enLocale from 'date-fns/locale/en-GB'`. Defaults to `nb-NO`.\n */\n locale?: InternalLocale\n rtl?: boolean\n isRange?: boolean\n resetDate?: boolean\n}\n\ntype DayObject = {\n date: Date\n isToday: boolean\n isLastMonth: boolean\n isNextMonth: boolean\n isStartDate: boolean\n isEndDate: boolean\n isWithinSelection: boolean\n isPreview: boolean\n isDisabled: boolean\n isSelectable: boolean\n isInactive: boolean\n className?: string\n}\n\nconst defaultProps: DatePickerCalendarProps = {\n prevBtn: true,\n nextBtn: true,\n titleFormat: 'MMMM yyyy',\n dayOfWeekFormat: 'EEEEEE',\n firstDayOfWeek: 'monday',\n hideNav: false,\n hideDays: false,\n onlyMonth: false,\n hideNextMonthWeek: false,\n noAutoFocus: false,\n rtl: false,\n resetDate: true,\n}\n\nconst arrowKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']\nconst keysToHandle = ['Enter', 'Space', ...arrowKeys]\n\nfunction DatePickerCalendar(restOfProps: DatePickerCalendarProps) {\n const props = { ...defaultProps, ...restOfProps }\n\n const {\n updateDates,\n forceViewMonthChange,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n startMonth,\n endMonth,\n translation: {\n DatePicker: { selectedMonth },\n },\n props: { onDaysRender },\n } = useContext(DatePickerContext)\n\n const {\n id,\n nr,\n rtl,\n month,\n isRange,\n titleFormat,\n firstDayOfWeek,\n dayOfWeekFormat,\n hideNav,\n locale: localeCode,\n hideDays,\n onPrev,\n onNext,\n onSelect,\n onHover,\n onKeyDown,\n resetDate,\n prevBtn,\n nextBtn,\n noAutoFocus,\n hideNextMonthWeek,\n onlyMonth,\n } = props\n\n const listRef = useRef<React.ElementRef<'table'>>()\n const labelRef = useRef<HTMLLabelElement>()\n const days = useRef<Record<string, Array<CalendarDay>>>({})\n const cache = useRef<Record<string, CalendarDay[][]>>({})\n\n useEffect(() => {\n if (!noAutoFocus && nr === 0) {\n if (listRef.current) {\n listRef.current.focus({ preventScroll: true })\n }\n }\n }, [noAutoFocus, nr])\n\n const onMouseLeaveHandler = useCallback(() => {\n updateDates({\n hoverDate: null,\n })\n }, [updateDates])\n\n const callOnSelect = useCallback(\n (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement>\n > &\n DatePickerDates\n ) => {\n onSelect?.(event)\n },\n [onSelect]\n )\n\n const getDays = useCallback(\n (month: Date): DayObject[] => {\n let daysFromCalendar = getCalendar(\n month || new Date(),\n dayOffset(firstDayOfWeek),\n {\n onlyMonth,\n hideNextMonthWeek,\n }\n ).map((date) =>\n makeDayObject(date, {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n })\n )\n\n if (onDaysRender) {\n const changedDays = onDaysRender(daysFromCalendar, nr)\n if (Array.isArray(changedDays)) {\n daysFromCalendar = changedDays\n }\n }\n\n // // Save for later check against disabled days during key navigation\n days.current[format(month, 'yyyy-MM')] = daysFromCalendar\n\n return daysFromCalendar\n },\n [\n endDate,\n firstDayOfWeek,\n hideNextMonthWeek,\n hoverDate,\n maxDate,\n minDate,\n nr,\n onDaysRender,\n onlyMonth,\n startDate,\n ]\n )\n\n const keyNavCalc = useCallback((date: Date, keyCode: string) => {\n // Return date if arrow keys are not pressed\n if (!arrowKeys.includes(keyCode)) {\n return date\n }\n\n const dateHandler = /(ArrowLeft|ArrowRight)/g.test(keyCode)\n ? addDays\n : addWeeks\n const shiftAmount = /(ArrowLeft|ArrowUp)/g.test(keyCode) ? -1 : 1\n\n return dateHandler(date, shiftAmount)\n }, [])\n\n const findValid = useCallback(\n (date: Date, keyCode: string) => {\n if (!onDaysRender) {\n return date\n }\n\n if (!days.current) {\n return date\n }\n\n const month = format(date, 'yyyy-MM')\n\n if (!days.current[month]) {\n // re-render with new month\n getDays(date)\n }\n\n if (Array.isArray(days.current[month])) {\n const foundDate = days.current[month].find((cur) =>\n isSameDay(cur.date, date)\n )\n\n if (\n foundDate?.date &&\n (foundDate.isDisabled ||\n foundDate.isSelectable === false ||\n foundDate.isInactive)\n ) {\n const nextDate = keyNavCalc(foundDate.date, keyCode)\n foundDate.date = findValid(nextDate, keyCode)\n }\n\n if (foundDate?.date) {\n return foundDate.date\n }\n }\n\n return date\n },\n [onDaysRender, getDays, keyNavCalc]\n )\n\n const hasReachedEnd = useCallback(\n (date: Date) => isDisabled(date, minDate, maxDate),\n [minDate, maxDate]\n )\n\n const onKeyDownHandler = useCallback(\n (event: React.KeyboardEvent<HTMLTableElement>) => {\n const pressedKey = event.code\n\n // call onKeyDown prop if given\n if (typeof onKeyDown === 'function') {\n return onKeyDown(event, listRef, nr)\n }\n\n // only continue of key is one of these\n if (!keysToHandle.includes(pressedKey)) {\n return\n }\n event.preventDefault()\n event.persist() // since we use the event after setState\n\n const currentDates = { startDate, endDate, startMonth, endMonth }\n const dateType = !isRange || nr === 0 ? 'start' : 'end'\n const currentDate = currentDates[`${dateType}Date`]\n\n let newDate = currentDate\n ? keyNavCalc(currentDate, pressedKey)\n : currentDates[`${dateType}Month`] ||\n (isRange && nr === 1 ? addMonths(new Date(), 1) : new Date())\n\n if (\n newDate === currentDate &&\n (pressedKey === 'Enter' || pressedKey === 'Space')\n ) {\n return callOnSelect({\n event,\n nr,\n hidePicker: true,\n })\n }\n\n const dates: {\n startDate?: Date\n endDate?: Date\n startMonth?: Date\n endMonth?: Date\n } = {}\n\n const currentMonth = currentDates[`${dateType}Month`]\n\n if (\n // in case we don't have a start/end date, then we use the current month date\n (currentMonth && !currentDate) ||\n // if we have a larger gap between the new date and the current month in the calendar\n (currentMonth &&\n Math.abs(differenceInMonths(newDate, currentMonth)) > 1)\n ) {\n newDate = !isRange\n ? currentMonth\n : nr === 0\n ? setDate(currentMonth, 1)\n : lastDayOfMonth(currentMonth)\n\n // only to make sure we navigate the calendar to the new date\n } else if (currentMonth && !isSameMonth(currentDate, currentMonth)) {\n dates[`${dateType}Month`] = newDate\n }\n\n newDate = findValid(newDate, pressedKey)\n\n if (hasReachedEnd(newDate)) {\n return // Stop here\n }\n\n dates[`${dateType}Date`] = newDate\n\n // set fallbacks\n if (!isRange) {\n dates.endDate = newDate\n } else {\n if (!startDate) {\n dates.startDate = newDate\n }\n if (!endDate) {\n dates.endDate = newDate\n }\n }\n\n // make sure we stay on the same month\n if (onlyMonth || hideNav) {\n if (\n !isSameMonth(dates.startDate, startDate) ||\n !isSameMonth(dates.endDate, startDate) // Heads up, should this not be context.endDate?\n ) {\n return\n }\n }\n\n updateDates(dates, () => {\n // call after state update, so the input get's the latest state as well\n callOnSelect({\n event,\n nr,\n hidePicker: false,\n ...dates,\n })\n })\n\n forceViewMonthChange()\n\n // and set the focus back again\n if (listRef && listRef.current) {\n listRef.current.focus({ preventScroll: true })\n }\n },\n [\n callOnSelect,\n findValid,\n hasReachedEnd,\n onKeyDown,\n startDate,\n endDate,\n updateDates,\n hideNav,\n isRange,\n keyNavCalc,\n nr,\n onlyMonth,\n endMonth,\n startMonth,\n forceViewMonthChange,\n ]\n )\n\n const cacheKey = useMemo(() => {\n return [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ].join('|')\n }, [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ])\n\n const weekDays = useMemo(() => {\n // Cache the result, just because we then avoid at least double calc because of reconciliation,\n // but we do not avoid calculating every day during hover or select\n\n if (cache.current[cacheKey]) {\n return cache.current[cacheKey]\n }\n\n let count = 0\n\n return (cache.current[cacheKey] = Object.values(\n getDays(month).reduce((acc, cur, i) => {\n // Normalize the data for table consumption\n acc[count] = acc[count] || []\n acc[count].push(cur)\n if (i % 7 === 6) {\n count++\n }\n return acc\n }, {})\n ))\n }, [cacheKey, getDays, month])\n\n const locale = useMemo(\n () => ({ ...(locales[localeCode] || locales[LOCALE]) }),\n [localeCode]\n )\n\n return (\n <div\n className={classnames('dnb-date-picker__calendar', rtl && 'rtl')}\n lang={localeCode}\n >\n {!hideNav && (\n <div className=\"dnb-date-picker__header\">\n <div className=\"dnb-date-picker__header__nav\">\n <CalendarButton\n type=\"prev\"\n nr={nr}\n date={minDate}\n month={month}\n locale={locale}\n showButton={prevBtn}\n onClick={onPrev}\n />\n </div>\n <label\n id={`${id}--title`}\n className=\"dnb-date-picker__header__title dnb-no-focus\"\n title={selectedMonth.replace(\n /%s/,\n format(month, titleFormat, {\n locale,\n })\n )}\n tabIndex={-1}\n ref={labelRef}\n >\n {format(month, titleFormat, {\n locale,\n })}\n </label>\n <div className=\"dnb-date-picker__header__nav\">\n <CalendarButton\n type=\"next\"\n nr={nr}\n date={maxDate}\n month={month}\n locale={locale}\n showButton={nextBtn}\n onClick={onNext}\n />\n </div>\n </div>\n )}\n <table\n role=\"grid\"\n className=\"dnb-no-focus\"\n tabIndex={0}\n aria-labelledby={`${id}--title`}\n onKeyDown={onKeyDownHandler}\n onMouseLeave={onMouseLeaveHandler}\n ref={listRef}\n >\n {!hideDays && (\n <thead aria-hidden>\n <tr role=\"row\" className=\"dnb-date-picker__labels\">\n {getWeek(dayOffset(firstDayOfWeek)).map((day, i) => (\n <th\n key={i}\n role=\"columnheader\"\n scope=\"col\"\n className={classnames(\n 'dnb-date-picker__labels__day',\n `dnb-date-picker__labels__day--${format(day, 'i', {\n locale,\n })}`\n )}\n aria-label={format(day, 'EEEE', {\n locale,\n })}\n >\n {format(day, dayOfWeekFormat, {\n locale,\n })}\n </th>\n ))}\n </tr>\n </thead>\n )}\n <tbody>\n {weekDays.map((week, i) => {\n return (\n <tr\n key={'week' + i}\n role=\"row\"\n className=\"dnb-date-picker__days\"\n >\n {week.map((day: DayObject, i) => {\n const title = format(day.date, 'PPPP', {\n locale,\n })\n\n const handleAsDisabled =\n day.isLastMonth ||\n day.isNextMonth ||\n day.isDisabled ||\n day.isInactive\n\n const dateType = day.isStartDate\n ? 'start'\n : day.isEndDate\n ? 'end'\n : undefined\n const isSelectedDate =\n nr === 0 ? day.isStartDate : day.isEndDate\n\n // cell params\n const paramsCell = {\n tabIndex: -1,\n ...(dateType && { id: `${id}--button-${dateType}` }),\n ...(isSelectedDate && { ['aria-selected']: true }),\n } as React.HTMLProps<HTMLTableCellElement>\n\n // cell + button params\n const paramsButton = {\n ...(isSelectedDate && { ['aria-current']: 'date' }),\n } as ButtonProps\n\n return (\n <td\n key={'day' + i}\n role=\"gridcell\"\n className={classnames(\n 'dnb-date-picker__day',\n 'dnb-no-focus',\n buildDayClassNames(day)\n )}\n {...paramsCell}\n >\n <Button\n size=\"medium\"\n variant=\"secondary\"\n text={format(day.date, 'd', {\n locale,\n })}\n bounding={true}\n disabled={handleAsDisabled}\n tabIndex={handleAsDisabled ? 0 : -1} // fix for NVDA\n aria-disabled={handleAsDisabled}\n aria-label={title}\n {...paramsButton}\n on_click={\n handleAsDisabled\n ? undefined\n : ({ event }) =>\n onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n resetDate,\n event,\n onSelect: (state) => {\n updateDates(state, (dates) =>\n callOnSelect({\n ...dates,\n event,\n nr,\n hidePicker: !isRange,\n })\n )\n },\n })\n }\n onMouseOver={\n handleAsDisabled\n ? undefined\n : () => onHoverDay({ day, hoverDate, onHover })\n }\n onFocus={\n handleAsDisabled\n ? undefined\n : () => onHoverDay({ day, hoverDate, onHover })\n }\n />\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n}\n\nexport default DatePickerCalendar\n\nexport type CalendarButtonProps = {\n type: 'prev' | 'next'\n nr: number\n date: Date\n month: Date\n locale: CalendarLocales[keyof CalendarLocales]\n showButton: boolean\n onClick: ({\n nr,\n type,\n }: {\n nr: number\n type: CalendarButtonProps['type']\n }) => void\n onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>) => void\n}\n\nfunction CalendarButton({\n type,\n nr,\n date,\n month,\n locale,\n showButton,\n onClick,\n onKeyDown,\n}: CalendarButtonProps) {\n const tr = useTranslation().DatePicker\n\n if (!showButton) {\n return <></>\n }\n const disabled = date && isSameMonth(month, date)\n\n const title = tr[`${type}Month`].replace(\n /%s/,\n format(subMonths(month, 1), 'MMMM yyyy', {\n locale,\n })\n )\n\n const icon = type === 'prev' ? 'chevron_left' : 'chevron_right'\n\n return (\n <Button\n className={classnames(`dnb-date-picker__${type}`, { disabled })}\n icon={icon}\n size=\"small\"\n aria-label={title}\n onClick={() => onClick && !disabled && onClick({ nr, type })}\n onKeyDown={onKeyDown}\n />\n )\n}\n\ntype SelectRangeEvent = {\n day: DayObject\n event?: React.MouseEvent<HTMLButtonElement>\n startDate?: Date\n endDate?: Date\n resetDate?: boolean\n isRange?: boolean\n onSelect?: DatePickerCalendarProps['onSelect']\n}\n\nfunction onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n onSelect,\n resetDate,\n event,\n}: SelectRangeEvent) {\n event.persist()\n\n if (!isRange) {\n // set only date\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: startOfDay(day.date),\n event,\n })\n\n // for setting date new on every selection, do this here\n }\n\n if (!startDate || (resetDate && startDate && endDate)) {\n // set startDate\n // user is selecting startDate\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: undefined,\n event,\n })\n }\n\n // set either startDate or endDate\n const daysToStartDate = Math.abs(\n differenceInCalendarDays(startDate, day.date)\n )\n const daysToEndDate = Math.abs(\n differenceInCalendarDays(endDate, day.date)\n )\n\n const range = toRange(\n endDate && !resetDate && daysToStartDate < daysToEndDate\n ? endDate\n : startDate,\n day.date\n )\n\n return onSelect({\n startDate: startOfDay(range.startDate),\n endDate: startOfDay(range.endDate),\n event,\n })\n}\n\nfunction onHoverDay({\n day,\n hoverDate,\n onHover,\n}: {\n day: CalendarDay\n hoverDate?: Date\n onHover: DatePickerCalendarProps['onHover']\n}) {\n if (!isSameDay(day.date, hoverDate) && onHover) {\n onHover(day.date)\n }\n}\n\nfunction buildDayClassNames(day: DayObject) {\n return classnames(\n {\n 'dnb-date-picker__day--start-date': day.isStartDate,\n 'dnb-date-picker__day--end-date': day.isEndDate,\n 'dnb-date-picker__day--preview': day.isPreview,\n 'dnb-date-picker__day--within-selection': day.isWithinSelection,\n 'dnb-date-picker__day--selectable': day.isSelectable,\n 'dnb-date-picker__day--inactive': day.isInactive,\n 'dnb-date-picker__day--disabled': day.isDisabled,\n 'dnb-date-picker__day--today': day.isToday,\n },\n day.className\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DatePickerCalendar.js","names":["React","useCallback","useContext","useEffect","useMemo","useRef","classnames","format","subMonths","addMonths","addWeeks","addDays","isSameDay","isSameMonth","startOfDay","differenceInCalendarDays","differenceInMonths","lastDayOfMonth","setDate","nbLocalize","nbFormatLong","enLocalize","enFormatLong","gbFormatLong","svLocalize","svFormatLong","isDisabled","makeDayObject","toRange","getWeek","dayOffset","getCalendar","Button","DatePickerContext","useTranslation","LOCALE","locales","localize","formatLong","defaultProps","prevBtn","nextBtn","titleFormat","dayOfWeekFormat","firstDayOfWeek","hideNav","hideDays","onlyMonth","hideNextMonthWeek","noAutoFocus","rtl","resetDate","arrowKeys","keysToHandle","DatePickerCalendar","restOfProps","props","_objectSpread","updateDates","setHasClickedCalendarDay","startDate","endDate","hoverDate","maxDate","minDate","startMonth","endMonth","translation","DatePicker","selectedMonth","onDaysRender","id","nr","month","isRange","locale","localeCode","onPrev","onNext","onSelect","onHover","onKeyDown","tableRef","labelRef","days","cache","current","focus","preventScroll","onMouseLeaveHandler","callOnSelect","event","getDays","daysFromCalendar","Date","map","date","changedDays","Array","isArray","keyNavCalc","keyCode","includes","dateHandler","test","shiftAmount","findValid","foundDate","find","cur","isSelectable","isInactive","nextDate","hasReachedEnd","onKeyDownHandler","pressedKey","code","preventDefault","persist","currentDates","dateType","currentDate","newDate","hidePicker","dates","currentMonth","Math","abs","cacheKey","join","weekDays","count","Object","values","reduce","acc","i","push","createElement","className","lang","CalendarButton","type","showButton","onClick","title","replace","tabIndex","ref","role","onMouseLeave","day","key","scope","week","handleAsDisabled","isLastMonth","isNextMonth","isStartDate","isEndDate","undefined","isSelectedDate","paramsCell","paramsButton","_extends","buildDayClassNames","size","variant","text","bounding","disabled","on_click","_ref","onSelectRange","state","onMouseOver","onHoverDay","onFocus","_ref2","tr","_Fragment","Fragment","icon","_ref3","daysToStartDate","daysToEndDate","range","_ref4","isPreview","isWithinSelection","isToday"],"sources":["../../../../src/components/date-picker/DatePickerCalendar.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\n\n// date-fns\nimport format from 'date-fns/format'\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport addWeeks from 'date-fns/addWeeks'\nimport addDays from 'date-fns/addDays'\nimport isSameDay from 'date-fns/isSameDay'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport startOfDay from 'date-fns/startOfDay'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\nimport differenceInMonths from 'date-fns/differenceInMonths'\nimport lastDayOfMonth from 'date-fns/lastDayOfMonth'\nimport setDate from 'date-fns/setDate'\n\n// Imports only the parts of the date-fns locale object that we actually use\nimport nbLocalize from 'date-fns/locale/nb/_lib/localize'\nimport nbFormatLong from 'date-fns/locale/nb/_lib/formatLong'\nimport enLocalize from 'date-fns/locale/en-US/_lib/localize'\nimport enFormatLong from 'date-fns/locale/en-US/_lib/formatLong'\nimport gbFormatLong from 'date-fns/locale/en-GB/_lib/formatLong'\nimport svLocalize from 'date-fns/locale/sv/_lib/localize'\nimport svFormatLong from 'date-fns/locale/sv/_lib/formatLong'\n\nimport {\n isDisabled,\n makeDayObject,\n toRange,\n getWeek,\n dayOffset,\n getCalendar,\n} from './DatePickerCalc'\nimport Button, { ButtonProps } from '../button/Button'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport { useTranslation } from '../../shared'\nimport { InternalLocale } from '../../shared/Context'\nimport { DatePickerChangeEvent } from './DatePickerProvider'\nimport { DatePickerDates } from './hooks/useDates'\nimport { LOCALE } from '../../shared/defaults'\n\nexport type CalendarDay = {\n date: Date\n isDisabled?: boolean\n isEndDate?: boolean\n isInactive?: boolean\n isLastMonth?: boolean\n isNextMonth?: boolean\n isPreview?: boolean\n isSelectable?: boolean\n isStartDate?: boolean\n isToday?: boolean\n isWithinSelection?: boolean\n className?: string\n}\n\ntype CalendarLocales = {\n // eslint-disable-next-line no-unused-vars\n [locale in InternalLocale]?: Pick<Locale, 'localize' | 'formatLong'>\n}\n// Easy to access objects containing the only (in our case) needed functions for date-fns format\n// TODO: Replace with Intl.DateTimeFormat\nconst locales: CalendarLocales = {\n 'nb-NO': { localize: nbLocalize, formatLong: nbFormatLong },\n 'en-GB': { localize: enLocalize, formatLong: gbFormatLong },\n 'en-US': { localize: enLocalize, formatLong: enFormatLong },\n 'sv-SE': { localize: svLocalize, formatLong: svFormatLong },\n}\n\nexport type CalendarNavigationEvent = {\n nr: number\n type?: CalendarButtonProps['type']\n}\n\nexport type DatePickerCalendarProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onSelect' | 'onChange'\n> & {\n id?: string\n nr?: number\n /**\n * To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.\n */\n month?: Date\n prevBtn?: boolean\n nextBtn?: boolean\n titleFormat?: string\n dayOfWeekFormat?: string\n firstDayOfWeek?: string\n hideNav?: boolean\n hideDays?: boolean\n onlyMonth?: boolean\n hideNextMonthWeek?: boolean\n noAutoFocus?: boolean\n onHover?: (day: Date) => void\n onSelect?: (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>\n >\n ) => void\n onPrev?: (event: CalendarNavigationEvent) => void\n onNext?: (event: CalendarNavigationEvent) => void\n onKeyDown?: (\n event: React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>,\n tableRef: React.MutableRefObject<HTMLTableElement>,\n nr: number\n ) => void\n /**\n * To define the locale used in the calendar. Needs to be an `date-fns` \"v2\" locale object, like `import enLocale from 'date-fns/locale/en-GB'`. Defaults to `nb-NO`.\n */\n locale?: InternalLocale\n rtl?: boolean\n isRange?: boolean\n resetDate?: boolean\n}\n\ntype DayObject = {\n date: Date\n isToday: boolean\n isLastMonth: boolean\n isNextMonth: boolean\n isStartDate: boolean\n isEndDate: boolean\n isWithinSelection: boolean\n isPreview: boolean\n isDisabled: boolean\n isSelectable: boolean\n isInactive: boolean\n className?: string\n}\n\nconst defaultProps: DatePickerCalendarProps = {\n prevBtn: true,\n nextBtn: true,\n titleFormat: 'MMMM yyyy',\n dayOfWeekFormat: 'EEEEEE',\n firstDayOfWeek: 'monday',\n hideNav: false,\n hideDays: false,\n onlyMonth: false,\n hideNextMonthWeek: false,\n noAutoFocus: false,\n rtl: false,\n resetDate: true,\n}\n\nconst arrowKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']\nconst keysToHandle = ['Enter', 'Space', ...arrowKeys]\n\nfunction DatePickerCalendar(restOfProps: DatePickerCalendarProps) {\n const props = { ...defaultProps, ...restOfProps }\n\n const {\n updateDates,\n setHasClickedCalendarDay,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n startMonth,\n endMonth,\n translation: {\n DatePicker: { selectedMonth },\n },\n props: { onDaysRender },\n } = useContext(DatePickerContext)\n\n const {\n id,\n nr,\n rtl,\n month,\n isRange,\n titleFormat,\n firstDayOfWeek,\n dayOfWeekFormat,\n hideNav,\n locale: localeCode,\n hideDays,\n onPrev,\n onNext,\n onSelect,\n onHover,\n onKeyDown,\n resetDate,\n prevBtn,\n nextBtn,\n noAutoFocus,\n hideNextMonthWeek,\n onlyMonth,\n } = props\n\n const tableRef = useRef<React.ElementRef<'table'>>()\n const labelRef = useRef<HTMLLabelElement>()\n const days = useRef<Record<string, Array<CalendarDay>>>({})\n const cache = useRef<Record<string, CalendarDay[][]>>({})\n\n useEffect(() => {\n if (!noAutoFocus && nr === 0) {\n if (tableRef.current) {\n tableRef.current.focus({ preventScroll: true })\n }\n }\n }, [noAutoFocus, nr])\n\n const onMouseLeaveHandler = useCallback(() => {\n updateDates({\n hoverDate: null,\n })\n }, [updateDates])\n\n const callOnSelect = useCallback(\n (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement>\n > &\n DatePickerDates\n ) => {\n onSelect?.(event)\n },\n [onSelect]\n )\n\n const getDays = useCallback(\n (month: Date): DayObject[] => {\n let daysFromCalendar = getCalendar(\n month || new Date(),\n dayOffset(firstDayOfWeek),\n {\n onlyMonth,\n hideNextMonthWeek,\n }\n ).map((date) =>\n makeDayObject(date, {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n })\n )\n\n if (onDaysRender) {\n const changedDays = onDaysRender(daysFromCalendar, nr)\n if (Array.isArray(changedDays)) {\n daysFromCalendar = changedDays\n }\n }\n\n // // Save for later check against disabled days during key navigation\n days.current[format(month, 'yyyy-MM')] = daysFromCalendar\n\n return daysFromCalendar\n },\n [\n endDate,\n firstDayOfWeek,\n hideNextMonthWeek,\n hoverDate,\n maxDate,\n minDate,\n nr,\n onDaysRender,\n onlyMonth,\n startDate,\n ]\n )\n\n const keyNavCalc = useCallback((date: Date, keyCode: string) => {\n // Return date if arrow keys are not pressed\n if (!arrowKeys.includes(keyCode)) {\n return date\n }\n\n const dateHandler = /(ArrowLeft|ArrowRight)/g.test(keyCode)\n ? addDays\n : addWeeks\n const shiftAmount = /(ArrowLeft|ArrowUp)/g.test(keyCode) ? -1 : 1\n\n return dateHandler(date, shiftAmount)\n }, [])\n\n const findValid = useCallback(\n (date: Date, keyCode: string) => {\n if (!onDaysRender) {\n return date\n }\n\n if (!days.current) {\n return date\n }\n\n const month = format(date, 'yyyy-MM')\n\n if (!days.current[month]) {\n // re-render with new month\n getDays(date)\n }\n\n if (Array.isArray(days.current[month])) {\n const foundDate = days.current[month].find((cur) =>\n isSameDay(cur.date, date)\n )\n\n if (\n foundDate?.date &&\n (foundDate.isDisabled ||\n foundDate.isSelectable === false ||\n foundDate.isInactive)\n ) {\n const nextDate = keyNavCalc(foundDate.date, keyCode)\n foundDate.date = findValid(nextDate, keyCode)\n }\n\n if (foundDate?.date) {\n return foundDate.date\n }\n }\n\n return date\n },\n [onDaysRender, getDays, keyNavCalc]\n )\n\n const hasReachedEnd = useCallback(\n (date: Date) => isDisabled(date, minDate, maxDate),\n [minDate, maxDate]\n )\n\n const onKeyDownHandler = useCallback(\n (event: React.KeyboardEvent<HTMLTableElement>) => {\n const pressedKey = event.code\n\n // call onKeyDown prop if given\n if (typeof onKeyDown === 'function') {\n return onKeyDown(event, tableRef, nr)\n }\n\n // only continue of key is one of these\n if (!keysToHandle.includes(pressedKey)) {\n return\n }\n event.preventDefault()\n event.persist() // since we use the event after setState\n\n const currentDates = { startDate, endDate, startMonth, endMonth }\n const dateType = !isRange || nr === 0 ? 'start' : 'end'\n const currentDate = currentDates[`${dateType}Date`]\n\n let newDate = currentDate\n ? keyNavCalc(currentDate, pressedKey)\n : currentDates[`${dateType}Month`] ||\n (isRange && nr === 1 ? addMonths(new Date(), 1) : new Date())\n\n if (\n newDate === currentDate &&\n (pressedKey === 'Enter' || pressedKey === 'Space')\n ) {\n return callOnSelect({\n event,\n nr,\n hidePicker: true,\n })\n }\n\n const dates: {\n startDate?: Date\n endDate?: Date\n startMonth?: Date\n endMonth?: Date\n } = {}\n\n const currentMonth = currentDates[`${dateType}Month`]\n\n if (\n // in case we don't have a start/end date, then we use the current month date\n (currentMonth && !currentDate) ||\n // if we have a larger gap between the new date and the current month in the calendar\n (currentMonth &&\n Math.abs(differenceInMonths(newDate, currentMonth)) > 1)\n ) {\n newDate = !isRange\n ? currentMonth\n : nr === 0\n ? setDate(currentMonth, 1)\n : lastDayOfMonth(currentMonth)\n\n // only to make sure we navigate the calendar to the new date\n } else if (currentMonth && !isSameMonth(currentDate, currentMonth)) {\n dates[`${dateType}Month`] = newDate\n }\n\n newDate = findValid(newDate, pressedKey)\n\n if (hasReachedEnd(newDate)) {\n return // Stop here\n }\n\n dates[`${dateType}Date`] = newDate\n\n // set fallbacks\n if (!isRange) {\n dates.endDate = newDate\n } else {\n if (!startDate) {\n dates.startDate = newDate\n }\n if (!endDate) {\n dates.endDate = newDate\n }\n }\n\n // make sure we stay on the same month\n if (onlyMonth || hideNav) {\n if (\n !isSameMonth(dates.startDate, startDate) ||\n !isSameMonth(dates.endDate, startDate) // Heads up, should this not be context.endDate?\n ) {\n return\n }\n }\n\n updateDates(dates, () => {\n // call after state update, so the input get's the latest state as well\n callOnSelect({\n event,\n nr,\n hidePicker: false,\n ...dates,\n })\n })\n\n // and set the focus back again\n if (tableRef && tableRef.current) {\n tableRef.current.focus({ preventScroll: true })\n }\n },\n [\n callOnSelect,\n findValid,\n hasReachedEnd,\n onKeyDown,\n startDate,\n endDate,\n updateDates,\n hideNav,\n isRange,\n keyNavCalc,\n nr,\n onlyMonth,\n endMonth,\n startMonth,\n ]\n )\n\n const cacheKey = useMemo(() => {\n return [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ].join('|')\n }, [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ])\n\n const weekDays = useMemo(() => {\n // Cache the result, just because we then avoid at least double calc because of reconciliation,\n // but we do not avoid calculating every day during hover or select\n\n if (cache.current[cacheKey]) {\n return cache.current[cacheKey]\n }\n\n let count = 0\n\n return (cache.current[cacheKey] = Object.values(\n getDays(month).reduce((acc, cur, i) => {\n // Normalize the data for table consumption\n acc[count] = acc[count] || []\n acc[count].push(cur)\n if (i % 7 === 6) {\n count++\n }\n return acc\n }, {})\n ))\n }, [cacheKey, getDays, month])\n\n const locale = useMemo(\n () => ({ ...(locales[localeCode] || locales[LOCALE]) }),\n [localeCode]\n )\n\n return (\n <div\n className={classnames('dnb-date-picker__calendar', rtl && 'rtl')}\n lang={localeCode}\n >\n {!hideNav && (\n <div className=\"dnb-date-picker__header\">\n <div className=\"dnb-date-picker__header__nav\">\n <CalendarButton\n type=\"prev\"\n nr={nr}\n date={minDate}\n month={month}\n locale={locale}\n showButton={prevBtn}\n onClick={onPrev}\n />\n </div>\n <label\n id={`${id}--title`}\n className=\"dnb-date-picker__header__title dnb-no-focus\"\n title={selectedMonth.replace(\n /%s/,\n format(month, titleFormat, {\n locale,\n })\n )}\n tabIndex={-1}\n ref={labelRef}\n >\n {format(month, titleFormat, {\n locale,\n })}\n </label>\n <div className=\"dnb-date-picker__header__nav\">\n <CalendarButton\n type=\"next\"\n nr={nr}\n date={maxDate}\n month={month}\n locale={locale}\n showButton={nextBtn}\n onClick={onNext}\n />\n </div>\n </div>\n )}\n <table\n role=\"grid\"\n className=\"dnb-no-focus\"\n tabIndex={0}\n aria-labelledby={`${id}--title`}\n onKeyDown={onKeyDownHandler}\n onMouseLeave={onMouseLeaveHandler}\n ref={tableRef}\n >\n {!hideDays && (\n <thead aria-hidden>\n <tr role=\"row\" className=\"dnb-date-picker__labels\">\n {getWeek(dayOffset(firstDayOfWeek)).map((day, i) => (\n <th\n key={i}\n role=\"columnheader\"\n scope=\"col\"\n className={classnames(\n 'dnb-date-picker__labels__day',\n `dnb-date-picker__labels__day--${format(day, 'i', {\n locale,\n })}`\n )}\n aria-label={format(day, 'EEEE', {\n locale,\n })}\n >\n {format(day, dayOfWeekFormat, {\n locale,\n })}\n </th>\n ))}\n </tr>\n </thead>\n )}\n <tbody>\n {weekDays.map((week, i) => {\n return (\n <tr\n key={'week' + i}\n role=\"row\"\n className=\"dnb-date-picker__days\"\n >\n {week.map((day: DayObject, i) => {\n const title = format(day.date, 'PPPP', {\n locale,\n })\n\n const handleAsDisabled =\n day.isLastMonth ||\n day.isNextMonth ||\n day.isDisabled ||\n day.isInactive\n\n const dateType = day.isStartDate\n ? 'start'\n : day.isEndDate\n ? 'end'\n : undefined\n const isSelectedDate =\n nr === 0 ? day.isStartDate : day.isEndDate\n\n // cell params\n const paramsCell = {\n tabIndex: -1,\n ...(dateType && { id: `${id}--button-${dateType}` }),\n ...(isSelectedDate && { ['aria-selected']: true }),\n } as React.HTMLProps<HTMLTableCellElement>\n\n // cell + button params\n const paramsButton = {\n ...(isSelectedDate && { ['aria-current']: 'date' }),\n } as ButtonProps\n\n return (\n <td\n key={'day' + i}\n role=\"gridcell\"\n className={classnames(\n 'dnb-date-picker__day',\n 'dnb-no-focus',\n buildDayClassNames(day)\n )}\n {...paramsCell}\n >\n <Button\n size=\"medium\"\n variant=\"secondary\"\n text={format(day.date, 'd', {\n locale,\n })}\n bounding={true}\n disabled={handleAsDisabled}\n tabIndex={handleAsDisabled ? 0 : -1} // fix for NVDA\n aria-disabled={handleAsDisabled}\n aria-label={title}\n {...paramsButton}\n on_click={\n handleAsDisabled\n ? undefined\n : ({ event }) =>\n onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n resetDate,\n event,\n setHasClickedCalendarDay,\n onSelect: (state) => {\n updateDates(state, (dates) =>\n callOnSelect({\n ...dates,\n event,\n nr,\n hidePicker: !isRange,\n })\n )\n },\n })\n }\n // TODO: See if this can be replaced with css, to prevent massive amount of re-renders\n onMouseOver={\n handleAsDisabled\n ? undefined\n : () => onHoverDay({ day, hoverDate, onHover })\n }\n // TODO: See if this can be replaced with css, to prevent massive amount of re-renders\n onFocus={\n handleAsDisabled\n ? undefined\n : () => onHoverDay({ day, hoverDate, onHover })\n }\n />\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n}\n\nexport default DatePickerCalendar\n\nexport type CalendarButtonProps = {\n type: 'prev' | 'next'\n nr: number\n date: Date\n month: Date\n locale: CalendarLocales[keyof CalendarLocales]\n showButton: boolean\n onClick: ({\n nr,\n type,\n }: {\n nr: number\n type: CalendarButtonProps['type']\n }) => void\n onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>) => void\n}\n\nfunction CalendarButton({\n type,\n nr,\n date,\n month,\n locale,\n showButton,\n onClick,\n onKeyDown,\n}: CalendarButtonProps) {\n const tr = useTranslation().DatePicker\n\n if (!showButton) {\n return <></>\n }\n const disabled = date && isSameMonth(month, date)\n\n const title = tr[`${type}Month`].replace(\n /%s/,\n format(subMonths(month, 1), 'MMMM yyyy', {\n locale,\n })\n )\n\n const icon = type === 'prev' ? 'chevron_left' : 'chevron_right'\n\n return (\n <Button\n className={classnames(`dnb-date-picker__${type}`, { disabled })}\n icon={icon}\n size=\"small\"\n aria-label={title}\n onClick={() => onClick && !disabled && onClick({ nr, type })}\n onKeyDown={onKeyDown}\n />\n )\n}\n\ntype SelectRangeEvent = Pick<\n DatePickerContextValues,\n 'setHasClickedCalendarDay'\n> & {\n day: DayObject\n event?: React.MouseEvent<HTMLButtonElement>\n startDate?: Date\n endDate?: Date\n resetDate?: boolean\n isRange?: boolean\n onSelect?: DatePickerCalendarProps['onSelect']\n}\n\nfunction onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n onSelect,\n resetDate,\n event,\n setHasClickedCalendarDay,\n}: SelectRangeEvent) {\n event.persist()\n\n if (!isRange) {\n // set only date\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: startOfDay(day.date),\n event,\n })\n\n // for setting date new on every selection, do this here\n }\n\n // Set to true to stop calendar views from changing in range mode when clicking a day\n setHasClickedCalendarDay(true)\n\n if (!startDate || (resetDate && startDate && endDate)) {\n // set startDate\n // user is selecting startDate\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: undefined,\n event,\n })\n }\n\n // set either startDate or endDate\n const daysToStartDate = Math.abs(\n differenceInCalendarDays(startDate, day.date)\n )\n const daysToEndDate = Math.abs(\n differenceInCalendarDays(endDate, day.date)\n )\n\n const range = toRange(\n endDate && !resetDate && daysToStartDate < daysToEndDate\n ? endDate\n : startDate,\n day.date\n )\n\n return onSelect({\n startDate: startOfDay(range.startDate),\n endDate: startOfDay(range.endDate),\n event,\n })\n}\n\nfunction onHoverDay({\n day,\n hoverDate,\n onHover,\n}: {\n day: CalendarDay\n hoverDate?: Date\n onHover: DatePickerCalendarProps['onHover']\n}) {\n if (!isSameDay(day.date, hoverDate) && onHover) {\n onHover(day.date)\n }\n}\n\nfunction buildDayClassNames(day: DayObject) {\n return classnames(\n {\n 'dnb-date-picker__day--start-date': day.isStartDate,\n 'dnb-date-picker__day--end-date': day.isEndDate,\n 'dnb-date-picker__day--preview': day.isPreview,\n 'dnb-date-picker__day--within-selection': day.isWithinSelection,\n 'dnb-date-picker__day--selectable': day.isSelectable,\n 'dnb-date-picker__day--inactive': day.isInactive,\n 'dnb-date-picker__day--disabled': day.isDisabled,\n 'dnb-date-picker__day--today': day.isToday,\n },\n day.className\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,7 +18,7 @@ export type DatePickerContextValues = ContextProps & DatePickerDates & {
|
|
|
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;
|
|
21
|
-
|
|
21
|
+
setHasClickedCalendarDay: (hasClicked: boolean) => void;
|
|
22
22
|
callOnChangeHandler: <E>(event: DatePickerChangeEvent<E>) => void;
|
|
23
23
|
hidePicker: (event: DisplayPickerEvent) => void;
|
|
24
24
|
getReturnObject: <E>(params: GetReturnObjectParams<E>) => ReturnObject<E>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerContext.js","names":["React","DatePickerContext","createContext"],"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
|
|
1
|
+
{"version":3,"file":"DatePickerContext.js","names":["React","DatePickerContext","createContext"],"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 setHasClickedCalendarDay: (hasClicked: boolean) => 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,OAAOA,KAAK,MAAM,OAAO;AAmCzB,MAAMC,iBAAiB,GAAGD,KAAK,CAACE,aAAa,CAC3C,CAAC,CACH,CAAC;AAED,eAAeD,iBAAiB","ignoreList":[]}
|
|
@@ -177,7 +177,7 @@ export const DatePickerProperties = {
|
|
|
177
177
|
},
|
|
178
178
|
status: {
|
|
179
179
|
doc: 'Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.',
|
|
180
|
-
type: '
|
|
180
|
+
type: ['error', 'info', 'boolean'],
|
|
181
181
|
status: 'optional'
|
|
182
182
|
},
|
|
183
183
|
statusState: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerDocs.js","names":["dateType","DatePickerProperties","date","doc","type","status","startDate","endDate","month","startMonth","endMonth","minDate","maxDate","dateFormat","returnFormat","range","showInput","maskOrder","opened","maskPlaceholder","hideNavigation","hideDays","showSubmitButton","showCancelButton","showResetButton","link","sync","firstDay","alignPicker","skipPortal","onlyMonth","hideLastWeek","stretch","label","labelDirection","suffix","labelSrOnly","shortcuts","addonElement","inputElement","statusState","statusProps","disableAutofocus","correctInvalidDate","globalStatus","tooltip","skeleton","size","DatePickerEvents","onChange","onType","onSubmit","onCancel","onReset","onShow","onHide","onDaysRender","onFocus","onBlur"],"sources":["../../../../src/components/date-picker/DatePickerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nconst dateType = ['string', 'Date']\n\nexport const DatePickerProperties: PropertiesTableProps = {\n date: {\n doc: 'Defines the pre-filled date by either a JavaScript DateInstance or (ISO 8601) like `date=\"2019-05-05\"` and `content`.',\n type: dateType,\n status: 'optional',\n },\n startDate: {\n doc: 'To set the pre-filled starting date. Is used if `range={true}` is set to `true`. Defaults to `null`, showing the `maskPlaceholder`.',\n type: dateType,\n status: 'optional',\n },\n endDate: {\n doc: 'To set the pre-filled ending date. Is used if `range={true}` is set to `true`. Defaults to `null`, showing the `maskPlaceholder`',\n type: dateType,\n status: 'optional',\n },\n month: {\n doc: 'To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.',\n type: dateType,\n status: 'optional',\n },\n startMonth: {\n doc: 'To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.',\n type: dateType,\n status: 'optional',\n },\n endMonth: {\n doc: 'To display what month should be shown in the second calendar by default. Defaults to the `date` respective `startDate`.',\n type: dateType,\n status: 'optional',\n },\n minDate: {\n doc: 'To limit a date range to a minimum `startDate`. Defaults to `null`.',\n type: dateType,\n status: 'optional',\n },\n maxDate: {\n doc: 'To limit a date range to a maximum `endDate`. Defaults to `null`.',\n type: dateType,\n status: 'optional',\n },\n dateFormat: {\n doc: 'Defines how the property dates (`date`, `startDate` and `endDate`) should be parsed, e.g. `yyyy/MM/dd`. Defaults to `yyyy-MM-dd`.',\n type: 'string',\n status: 'optional',\n },\n returnFormat: {\n doc: 'Defines how the returned date, as a string, should be formatted as. Defaults to `yyyy-MM-dd`.',\n type: 'string',\n status: 'optional',\n },\n range: {\n doc:\n 'Defines if the date picker should support a range of two dates (starting and ending date).' +\n 'Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n showInput: {\n doc: 'If the input fields with the mask should be visible. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n maskOrder: {\n doc: 'To define the order of the masked placeholder input fields. Defaults to `dd/mm/yyyy`.',\n type: 'string',\n status: 'optional',\n },\n opened: {\n doc: 'To open the date-picker by default. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n maskPlaceholder: {\n doc: 'To display the placeholder on input. Defaults to `dd/mm/åååå`.',\n type: 'string',\n status: 'optional',\n },\n hideNavigation: {\n doc: 'If set to `true`, the navigation will be hidden. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n hideDays: {\n doc: 'If set to `true`, the week days will be hidden. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n showSubmitButton: {\n doc: 'If set to `true`, a submit button will be shown. You can change the default text by using `submitButtonText=\"Ok\"`. Defaults to `false`. If the `range` property is `true`, then the submit button is shown.',\n type: 'boolean',\n status: 'optional',\n },\n showCancelButton: {\n doc: 'If set to `true`, a cancel button will be shown. You can change the default text by using `cancelButtonText=\"Avbryt\"`. If the `range` property is `true`, then the cancel button is shown. Defaults to `false`',\n type: 'boolean',\n status: 'optional',\n },\n showResetButton: {\n doc: 'If set to `true`, a reset button will be shown. You can change the default text by using `resetButtonText=\"Tilbakestill\"`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n link: {\n doc: 'Link both calendars, once to the user is navigating between months. Only meant to use if the range is set to `true`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n sync: {\n doc: 'Sync input values with the calendars views. Once the input values get changed, the calendar changes its views in sync. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n firstDay: {\n doc: 'To define the first day of the week. Defaults to `monday`.',\n type: [\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n 'sunday',\n ],\n status: 'optional',\n },\n alignPicker: {\n doc: 'Use `right` to change the calendar alignment direction. Defaults to `left`.',\n type: 'string',\n status: 'optional',\n },\n skipPortal: {\n doc: ' If set to `true`, the calendar will not be rendered inside a react portal. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n onlyMonth: {\n doc: 'Use `true` to only show the defined month. Disables the month navigation possibility. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n hideLastWeek: {\n doc: 'Use `true` to only show the last week in the current month if it needs to be shown. The result is that there will mainly be shows five (5) weeks (rows) instead of six (6). Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n stretch: {\n doc: 'If set to `true`, then the date-picker input field will be 100% in `width`',\n type: 'boolean',\n status: 'optional',\n },\n label: {\n doc: 'A prepending label in sync with the date input field.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n labelDirection: {\n doc: ' Use `label_direction=\"vertical\"` to change the label layout direction. Defaults to `horizontal`.',\n type: ['vertical', 'horizontal'],\n status: 'optional',\n },\n suffix: {\n doc: 'Text describing the content of the DatePicker more than the label. You can also send in a React component, so it gets wrapped inside the DatePicker component.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n labelSrOnly: {\n doc: 'Use `true` to make the label only readable by screen readers.',\n type: 'boolean',\n status: 'optional',\n },\n shortcuts: {\n doc: 'Gives you the possibility to set predefined dates and date ranges so the user can select these by one click. Define either a JSON or an object with the defined shortcuts. More info is below.',\n type: 'object',\n status: 'optional',\n },\n addonElement: {\n doc: 'Gives you the possibility to inject a React element showing up over the footer. Use it to customize `shortcuts`.',\n type: 'object',\n status: 'optional',\n },\n inputElement: {\n doc: 'Gives you the possibility to use a plain/vanilla `<input />` HTML element by defining it as a string `inputElement=\"input\"`, a React element, or a render function `inputElement={(internalProps) => (<Return />)}`. Can also be used in circumstances where the `react-text-mask` should not be used, e.g. in testing environments. Defaults to custom masked input.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n status: {\n doc: 'Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.',\n type: 'string | boolean',\n status: 'optional',\n },\n statusState: {\n doc: 'Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.',\n type: 'string',\n status: 'optional',\n },\n statusProps: {\n doc: 'Use an object to define additional FormStatus properties.',\n type: 'object',\n status: 'optional',\n },\n disableAutofocus: {\n doc: 'Once the date picker gets opened, there is a focus handling to ensure good accessibility. This can be disabled with this property. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n correctInvalidDate: {\n doc: 'Corrects the input date value to be the same as either `minDate` or `maxDate`, when the user types in a date that is either before or after one of these. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n globalStatus: {\n doc: 'The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status).',\n type: 'object',\n status: 'optional',\n },\n tooltip: {\n doc: 'Provide a short Tooltip content that shows up on the picker button.',\n type: 'string',\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n status: 'optional',\n },\n size: {\n doc: 'The sizes you can choose is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`.',\n type: 'string',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const DatePickerEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called on a date change event. Returns an object. See Returned Object below.',\n type: 'function',\n status: 'optional',\n },\n onType: {\n doc: 'Will be called on every input and date picker interaction. Returns an `object`. See Returned Object below.',\n type: 'function',\n status: 'optional',\n },\n onSubmit: {\n doc: 'Will be called once a user presses the submit button.',\n type: 'function',\n status: 'optional',\n },\n onCancel: {\n doc: 'Will be called once a user presses the cancel button.',\n type: 'function',\n status: 'optional',\n },\n onReset: {\n doc: 'Will be called once a user presses the reset button.',\n type: 'function',\n status: 'optional',\n },\n onShow: {\n doc: 'Will be called once date-picker is visible.',\n type: 'function',\n status: 'optional',\n },\n onHide: {\n doc: 'Will be called once date-picker is hidden.',\n type: 'function',\n status: 'optional',\n },\n onDaysRender: {\n doc: 'Will be called right before every new calendar view gets rendered. See the example above.',\n type: 'function',\n status: 'optional',\n },\n onFocus: {\n doc: 'Will be called once the input gets focus.',\n type: 'function',\n status: 'optional',\n },\n onBlur: {\n doc: 'Will be called once the input lose focus.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DatePickerDocs.js","names":["dateType","DatePickerProperties","date","doc","type","status","startDate","endDate","month","startMonth","endMonth","minDate","maxDate","dateFormat","returnFormat","range","showInput","maskOrder","opened","maskPlaceholder","hideNavigation","hideDays","showSubmitButton","showCancelButton","showResetButton","link","sync","firstDay","alignPicker","skipPortal","onlyMonth","hideLastWeek","stretch","label","labelDirection","suffix","labelSrOnly","shortcuts","addonElement","inputElement","statusState","statusProps","disableAutofocus","correctInvalidDate","globalStatus","tooltip","skeleton","size","DatePickerEvents","onChange","onType","onSubmit","onCancel","onReset","onShow","onHide","onDaysRender","onFocus","onBlur"],"sources":["../../../../src/components/date-picker/DatePickerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nconst dateType = ['string', 'Date']\n\nexport const DatePickerProperties: PropertiesTableProps = {\n date: {\n doc: 'Defines the pre-filled date by either a JavaScript DateInstance or (ISO 8601) like `date=\"2019-05-05\"` and `content`.',\n type: dateType,\n status: 'optional',\n },\n startDate: {\n doc: 'To set the pre-filled starting date. Is used if `range={true}` is set to `true`. Defaults to `null`, showing the `maskPlaceholder`.',\n type: dateType,\n status: 'optional',\n },\n endDate: {\n doc: 'To set the pre-filled ending date. Is used if `range={true}` is set to `true`. Defaults to `null`, showing the `maskPlaceholder`',\n type: dateType,\n status: 'optional',\n },\n month: {\n doc: 'To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.',\n type: dateType,\n status: 'optional',\n },\n startMonth: {\n doc: 'To display what month should be shown in the first calendar by default. Defaults to the `date` respective `startDate`.',\n type: dateType,\n status: 'optional',\n },\n endMonth: {\n doc: 'To display what month should be shown in the second calendar by default. Defaults to the `date` respective `startDate`.',\n type: dateType,\n status: 'optional',\n },\n minDate: {\n doc: 'To limit a date range to a minimum `startDate`. Defaults to `null`.',\n type: dateType,\n status: 'optional',\n },\n maxDate: {\n doc: 'To limit a date range to a maximum `endDate`. Defaults to `null`.',\n type: dateType,\n status: 'optional',\n },\n dateFormat: {\n doc: 'Defines how the property dates (`date`, `startDate` and `endDate`) should be parsed, e.g. `yyyy/MM/dd`. Defaults to `yyyy-MM-dd`.',\n type: 'string',\n status: 'optional',\n },\n returnFormat: {\n doc: 'Defines how the returned date, as a string, should be formatted as. Defaults to `yyyy-MM-dd`.',\n type: 'string',\n status: 'optional',\n },\n range: {\n doc:\n 'Defines if the date picker should support a range of two dates (starting and ending date).' +\n 'Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n showInput: {\n doc: 'If the input fields with the mask should be visible. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n maskOrder: {\n doc: 'To define the order of the masked placeholder input fields. Defaults to `dd/mm/yyyy`.',\n type: 'string',\n status: 'optional',\n },\n opened: {\n doc: 'To open the date-picker by default. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n maskPlaceholder: {\n doc: 'To display the placeholder on input. Defaults to `dd/mm/åååå`.',\n type: 'string',\n status: 'optional',\n },\n hideNavigation: {\n doc: 'If set to `true`, the navigation will be hidden. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n hideDays: {\n doc: 'If set to `true`, the week days will be hidden. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n showSubmitButton: {\n doc: 'If set to `true`, a submit button will be shown. You can change the default text by using `submitButtonText=\"Ok\"`. Defaults to `false`. If the `range` property is `true`, then the submit button is shown.',\n type: 'boolean',\n status: 'optional',\n },\n showCancelButton: {\n doc: 'If set to `true`, a cancel button will be shown. You can change the default text by using `cancelButtonText=\"Avbryt\"`. If the `range` property is `true`, then the cancel button is shown. Defaults to `false`',\n type: 'boolean',\n status: 'optional',\n },\n showResetButton: {\n doc: 'If set to `true`, a reset button will be shown. You can change the default text by using `resetButtonText=\"Tilbakestill\"`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n link: {\n doc: 'Link both calendars, once to the user is navigating between months. Only meant to use if the range is set to `true`. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n sync: {\n doc: 'Sync input values with the calendars views. Once the input values get changed, the calendar changes its views in sync. Defaults to `true`.',\n type: 'boolean',\n status: 'optional',\n },\n firstDay: {\n doc: 'To define the first day of the week. Defaults to `monday`.',\n type: [\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n 'sunday',\n ],\n status: 'optional',\n },\n alignPicker: {\n doc: 'Use `right` to change the calendar alignment direction. Defaults to `left`.',\n type: 'string',\n status: 'optional',\n },\n skipPortal: {\n doc: ' If set to `true`, the calendar will not be rendered inside a react portal. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n onlyMonth: {\n doc: 'Use `true` to only show the defined month. Disables the month navigation possibility. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n hideLastWeek: {\n doc: 'Use `true` to only show the last week in the current month if it needs to be shown. The result is that there will mainly be shows five (5) weeks (rows) instead of six (6). Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n stretch: {\n doc: 'If set to `true`, then the date-picker input field will be 100% in `width`',\n type: 'boolean',\n status: 'optional',\n },\n label: {\n doc: 'A prepending label in sync with the date input field.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n labelDirection: {\n doc: ' Use `label_direction=\"vertical\"` to change the label layout direction. Defaults to `horizontal`.',\n type: ['vertical', 'horizontal'],\n status: 'optional',\n },\n suffix: {\n doc: 'Text describing the content of the DatePicker more than the label. You can also send in a React component, so it gets wrapped inside the DatePicker component.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n labelSrOnly: {\n doc: 'Use `true` to make the label only readable by screen readers.',\n type: 'boolean',\n status: 'optional',\n },\n shortcuts: {\n doc: 'Gives you the possibility to set predefined dates and date ranges so the user can select these by one click. Define either a JSON or an object with the defined shortcuts. More info is below.',\n type: 'object',\n status: 'optional',\n },\n addonElement: {\n doc: 'Gives you the possibility to inject a React element showing up over the footer. Use it to customize `shortcuts`.',\n type: 'object',\n status: 'optional',\n },\n inputElement: {\n doc: 'Gives you the possibility to use a plain/vanilla `<input />` HTML element by defining it as a string `inputElement=\"input\"`, a React element, or a render function `inputElement={(internalProps) => (<Return />)}`. Can also be used in circumstances where the `react-text-mask` should not be used, e.g. in testing environments. Defaults to custom masked input.',\n type: 'React.ReactNode',\n status: 'optional',\n },\n status: {\n doc: 'Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.',\n type: ['error', 'info', 'boolean'],\n status: 'optional',\n },\n statusState: {\n doc: 'Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.',\n type: 'string',\n status: 'optional',\n },\n statusProps: {\n doc: 'Use an object to define additional FormStatus properties.',\n type: 'object',\n status: 'optional',\n },\n disableAutofocus: {\n doc: 'Once the date picker gets opened, there is a focus handling to ensure good accessibility. This can be disabled with this property. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n correctInvalidDate: {\n doc: 'Corrects the input date value to be the same as either `minDate` or `maxDate`, when the user types in a date that is either before or after one of these. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n globalStatus: {\n doc: 'The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status).',\n type: 'object',\n status: 'optional',\n },\n tooltip: {\n doc: 'Provide a short Tooltip content that shows up on the picker button.',\n type: 'string',\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n status: 'optional',\n },\n size: {\n doc: 'The sizes you can choose is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`.',\n type: 'string',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const DatePickerEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called on a date change event. Returns an object. See Returned Object below.',\n type: 'function',\n status: 'optional',\n },\n onType: {\n doc: 'Will be called on every input and date picker interaction. Returns an `object`. See Returned Object below.',\n type: 'function',\n status: 'optional',\n },\n onSubmit: {\n doc: 'Will be called once a user presses the submit button.',\n type: 'function',\n status: 'optional',\n },\n onCancel: {\n doc: 'Will be called once a user presses the cancel button.',\n type: 'function',\n status: 'optional',\n },\n onReset: {\n doc: 'Will be called once a user presses the reset button.',\n type: 'function',\n status: 'optional',\n },\n onShow: {\n doc: 'Will be called once date-picker is visible.',\n type: 'function',\n status: 'optional',\n },\n onHide: {\n doc: 'Will be called once date-picker is hidden.',\n type: 'function',\n status: 'optional',\n },\n onDaysRender: {\n doc: 'Will be called right before every new calendar view gets rendered. See the example above.',\n type: 'function',\n status: 'optional',\n },\n onFocus: {\n doc: 'Will be called once the input gets focus.',\n type: 'function',\n status: 'optional',\n },\n onBlur: {\n doc: 'Will be called once the input lose focus.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":"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","ignoreList":[]}
|