@dnb/eufemia 10.69.1 → 10.70.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -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/avatar/Avatar.d.ts +10 -0
- package/cjs/components/avatar/Avatar.js +17 -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/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/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/dialog/DialogDocs.d.ts +1 -0
- package/cjs/components/dialog/DialogDocs.js +13 -1
- 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/DropdownDocs.d.ts +2 -0
- package/cjs/components/dropdown/DropdownDocs.js +29 -0
- package/cjs/components/dropdown/DropdownDocs.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/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 +33 -1
- package/cjs/components/input/InputDocs.js.map +1 -1
- package/cjs/components/input-masked/InputMasked.d.ts +0 -12
- package/cjs/components/input-masked/InputMaskedDocs.d.ts +1 -0
- package/cjs/components/input-masked/InputMaskedDocs.js +13 -1
- package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/cjs/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
- package/cjs/components/input-masked/MultiInputMaskedDocs.js +24 -0
- package/cjs/components/input-masked/MultiInputMaskedDocs.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/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/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 +23 -1
- 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 +8 -1
- 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/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/Provider/useFieldProvider.d.ts +9 -3
- 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/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/Container/WizardContainer.js +2 -2
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +3 -4
- 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/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 +1 -0
- package/cjs/shared/locales/sv-SE.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +8 -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 +13 -5
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-components.css +13 -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/avatar/Avatar.d.ts +10 -0
- package/components/avatar/Avatar.js +17 -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/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/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/dialog/DialogDocs.d.ts +1 -0
- package/components/dialog/DialogDocs.js +12 -0
- 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/DropdownDocs.d.ts +2 -0
- package/components/dropdown/DropdownDocs.js +23 -0
- package/components/dropdown/DropdownDocs.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/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 +32 -0
- package/components/input/InputDocs.js.map +1 -1
- package/components/input-masked/InputMasked.d.ts +0 -12
- package/components/input-masked/InputMaskedDocs.d.ts +1 -0
- package/components/input-masked/InputMaskedDocs.js +12 -0
- package/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
- package/components/input-masked/MultiInputMaskedDocs.js +18 -0
- package/components/input-masked/MultiInputMaskedDocs.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/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/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 +22 -0
- 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 +7 -0
- 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/avatar/Avatar.d.ts +10 -0
- package/es/components/avatar/Avatar.js +17 -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/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/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/dialog/DialogDocs.d.ts +1 -0
- package/es/components/dialog/DialogDocs.js +12 -0
- 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/DropdownDocs.d.ts +2 -0
- package/es/components/dropdown/DropdownDocs.js +23 -0
- package/es/components/dropdown/DropdownDocs.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/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 +32 -0
- package/es/components/input/InputDocs.js.map +1 -1
- package/es/components/input-masked/InputMasked.d.ts +0 -12
- package/es/components/input-masked/InputMaskedDocs.d.ts +1 -0
- package/es/components/input-masked/InputMaskedDocs.js +12 -0
- package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/es/components/input-masked/MultiInputMaskedDocs.d.ts +2 -0
- package/es/components/input-masked/MultiInputMaskedDocs.js +18 -0
- package/es/components/input-masked/MultiInputMaskedDocs.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/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/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 +22 -0
- 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 +7 -0
- 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/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/Provider/useFieldProvider.d.ts +9 -3
- 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/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/Container/WizardContainer.js +2 -2
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +3 -4
- 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/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 +1 -0
- package/es/shared/locales/sv-SE.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +8 -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 +13 -5
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-components.css +13 -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/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/Provider/useFieldProvider.d.ts +9 -3
- 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/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/Container/WizardContainer.js +2 -2
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +3 -4
- 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/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 +1 -0
- package/shared/locales/sv-SE.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +8 -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 +13 -5
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.css +13 -5
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-components.css +13 -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
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
+
exports.parseRangeValue = parseRangeValue;
|
|
8
9
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
9
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
11
|
var _components = require("../../../../components");
|
|
@@ -15,7 +16,6 @@ var _FieldBlock = _interopRequireDefault(require("../../FieldBlock"));
|
|
|
15
16
|
var _Context = _interopRequireDefault(require("../../../../shared/Context"));
|
|
16
17
|
var _dateFns = require("date-fns");
|
|
17
18
|
var _useTranslation = _interopRequireDefault(require("../../hooks/useTranslation"));
|
|
18
|
-
var _Date = require("../../Value/Date");
|
|
19
19
|
var _DatePickerCalc = require("../../../../components/date-picker/DatePickerCalc");
|
|
20
20
|
var _utils2 = require("../../utils");
|
|
21
21
|
var _startOfDay = _interopRequireDefault(require("date-fns/startOfDay"));
|
|
@@ -164,7 +164,7 @@ function DateComponent(props) {
|
|
|
164
164
|
}, [range, valueProp]);
|
|
165
165
|
(0, _react.useMemo)(() => {
|
|
166
166
|
if ((path || itemPath) && valueProp) {
|
|
167
|
-
setDisplayValue((0,
|
|
167
|
+
setDisplayValue((0, _DatePickerCalc.formatDate)(valueProp, {
|
|
168
168
|
locale
|
|
169
169
|
}), undefined);
|
|
170
170
|
}
|
|
@@ -227,14 +227,14 @@ function validateDateLimit(_ref3) {
|
|
|
227
227
|
if ((0, _dateFns.isBefore)(startDate, minDate)) {
|
|
228
228
|
messages.push(new _utils2.FormError('Date.errorMinDate', {
|
|
229
229
|
messageValues: {
|
|
230
|
-
date: (0,
|
|
230
|
+
date: (0, _DatePickerCalc.formatDate)(isoDates.minDate, options)
|
|
231
231
|
}
|
|
232
232
|
}));
|
|
233
233
|
}
|
|
234
234
|
if ((0, _dateFns.isAfter)(startDate, maxDate)) {
|
|
235
235
|
messages.push(new _utils2.FormError('Date.errorMaxDate', {
|
|
236
236
|
messageValues: {
|
|
237
|
-
date: (0,
|
|
237
|
+
date: (0, _DatePickerCalc.formatDate)(isoDates.maxDate, options)
|
|
238
238
|
}
|
|
239
239
|
}));
|
|
240
240
|
}
|
|
@@ -243,28 +243,28 @@ function validateDateLimit(_ref3) {
|
|
|
243
243
|
if ((0, _dateFns.isBefore)(startDate, minDate)) {
|
|
244
244
|
messages.push(new _utils2.FormError('Date.errorStartDateMinDate', {
|
|
245
245
|
messageValues: {
|
|
246
|
-
date: (0,
|
|
246
|
+
date: (0, _DatePickerCalc.formatDate)(isoDates.minDate, options)
|
|
247
247
|
}
|
|
248
248
|
}));
|
|
249
249
|
}
|
|
250
250
|
if ((0, _dateFns.isAfter)(startDate, maxDate)) {
|
|
251
251
|
messages.push(new _utils2.FormError('Date.errorStartDateMaxDate', {
|
|
252
252
|
messageValues: {
|
|
253
|
-
date: (0,
|
|
253
|
+
date: (0, _DatePickerCalc.formatDate)(isoDates.maxDate, options)
|
|
254
254
|
}
|
|
255
255
|
}));
|
|
256
256
|
}
|
|
257
257
|
if ((0, _dateFns.isBefore)(endDate, minDate)) {
|
|
258
258
|
messages.push(new _utils2.FormError('Date.errorEndDateMinDate', {
|
|
259
259
|
messageValues: {
|
|
260
|
-
date: (0,
|
|
260
|
+
date: (0, _DatePickerCalc.formatDate)(isoDates.minDate, options)
|
|
261
261
|
}
|
|
262
262
|
}));
|
|
263
263
|
}
|
|
264
264
|
if ((0, _dateFns.isAfter)(endDate, maxDate)) {
|
|
265
265
|
messages.push(new _utils2.FormError('Date.errorEndDateMaxDate', {
|
|
266
266
|
messageValues: {
|
|
267
|
-
date: (0,
|
|
267
|
+
date: (0, _DatePickerCalc.formatDate)(isoDates.maxDate, options)
|
|
268
268
|
}
|
|
269
269
|
}));
|
|
270
270
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Date.js","names":["_react","_interopRequireWildcard","require","_components","_hooks","_utils","_classnames","_interopRequireDefault","_FieldBlock","_Context","_dateFns","_useTranslation","_Date","_DatePickerCalc","_utils2","_startOfDay","_useInvalidDates","_excluded","_excluded2","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DateComponent","props","errorRequired","label","defaultLabel","useTranslation","Date","locale","useContext","SharedContext","invalidDatesRef","setInvalidDates","useInvalidDates","errorMessages","useMemo","schema","_props$schema","type","pattern","validateRequired","useCallback","_ref","required","error","isValid","parseISO","undefined","dateValidator","invalidDateErrors","validateDate","current","minDate","maxDate","dateLimitErrors","validateDateLimit","isRange","range","onBlurValidator","fromInput","_ref2","date","start_date","end_date","invalidDate","invalidStartDate","invalidEndDate","preparedProps","exportValidators","_useFieldProps","useFieldProps","id","path","itemPath","className","valueProp","hasError","disabled","htmlAttributes","handleFocus","handleBlur","handleChange","setDisplayValue","showCancelButton","showResetButton","showInput","onReset","rest","datePickerProps","pickDatePickerProps","startDate","endDate","parseRangeValue","formatDate","fieldBlockProps","forId","classnames","pickSpacingProps","createElement","DatePicker","status","onChange","event","onFocus","onBlur","split","map","test","_ref3","dates","startDateParsed","endDateParsed","startOfDay","convertStringToDate","isoDates","toISOString","options","variant","messages","isBefore","FormError","messageValues","isAfter","_ref4","errors","datePickerPropKeys","reduce","key","includes","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { DatePicker } from '../../../../components'\nimport { useFieldProps } from '../../hooks'\nimport type {\n FieldProps,\n AllJSONSchemaVersions,\n ValidatorDisableable,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport classnames from 'classnames'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport SharedContext from '../../../../shared/Context'\nimport { parseISO, isValid, isBefore, isAfter } from 'date-fns'\nimport useTranslation from '../../hooks/useTranslation'\nimport { FormatDateOptions, formatDate } from '../../Value/Date'\nimport {\n DatePickerEvent,\n DatePickerProps,\n} from '../../../../components/DatePicker'\nimport { convertStringToDate } from '../../../../components/date-picker/DatePickerCalc'\nimport { ProviderProps } from '../../../../shared/Provider'\nimport { FormError } from '../../utils'\nimport startOfDay from 'date-fns/startOfDay'\nimport { InvalidDates } from '../../../../components/date-picker/DatePickerInput'\nimport useInvalidDates from './hooks/useInvalidDates'\n\n// `range`, `showInput`, `showCancelButton` and `showResetButton` are not picked from the `DatePickerProps`\n// Since they require `Field.Date` specific comments, due to them having different default values\nexport type DateProps = Omit<\n FieldProps<string, undefined | string>,\n 'onBlurValidator'\n> & {\n // Validation\n pattern?: string\n /**\n * Defines if the Date field should support a value of two dates (starting and ending date).\n * The value needs to be a string containing two dates, separated by a pipe character (`|`) i.e. (`01-09-2024|30-09-2024`) when this is set to `true`.\n * Defaults to `false`.\n */\n range?: DatePickerProps['range']\n /**\n * If the input fields with the mask should be visible. Defaults to `true`.\n */\n showInput?: DatePickerProps['showInput']\n\n /**\n * If set to `true`, a cancel button will be shown. You can change the default text by using `cancel_button_text=\"Avbryt\"` Defaults to `true`. If the `range` prop is `true`, then the cancel button is shown.\n */\n showCancelButton?: DatePickerProps['showCancelButton']\n /**\n * If set to `true`, a reset button will be shown. You can change the default text by using `reset_button_text=\"Tilbakestill\"` Defaults to `true`.\n */\n showResetButton?: DatePickerProps['showResetButton']\n onBlurValidator?: ValidatorDisableable<string>\n} & Pick<\n DatePickerProps,\n | 'month'\n | 'startMonth'\n | 'endMonth'\n | 'minDate'\n | 'maxDate'\n | 'correctInvalidDate'\n | 'maskOrder'\n | 'maskPlaceholder'\n | 'dateFormat'\n | 'returnFormat'\n | 'hideNavigation'\n | 'hideDays'\n | 'onlyMonth'\n | 'hideLastWeek'\n | 'disableAutofocus'\n | 'showSubmitButton'\n | 'submitButtonText'\n | 'cancelButtonText'\n | 'resetButtonText'\n | 'firstDay'\n | 'link'\n | 'size'\n | 'sync'\n | 'addonElement'\n | 'shortcuts'\n | 'opened'\n | 'direction'\n | 'alignPicker'\n | 'onDaysRender'\n | 'onType'\n | 'onShow'\n | 'onHide'\n | 'onSubmit'\n | 'onCancel'\n | 'onReset'\n | 'skipPortal'\n >\n\nfunction DateComponent(props: DateProps) {\n const { errorRequired, label: defaultLabel } = useTranslation().Date\n const { locale } = useContext(SharedContext)\n\n const { invalidDatesRef, setInvalidDates } = useInvalidDates()\n\n const errorMessages = useMemo(() => {\n return {\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }\n }, [props.errorMessages, errorRequired])\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (required && (!value || !isValid(parseISO(value)))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const dateValidator = useCallback(\n (value: string) => {\n const invalidDateErrors = validateDate(invalidDatesRef.current)\n\n // No need to validate min/max date if they are not provided\n if (!props.minDate && !props.maxDate) {\n return invalidDateErrors\n }\n\n const dateLimitErrors = validateDateLimit({\n value,\n locale,\n minDate: props.minDate,\n maxDate: props.maxDate,\n isRange: props.range,\n })\n\n return [...invalidDateErrors, ...dateLimitErrors]\n },\n [props.maxDate, props.minDate, props.range, invalidDatesRef, locale]\n )\n\n const onBlurValidator = useMemo(() => {\n if (props.onBlurValidator === false) {\n return undefined\n }\n\n if (props.onBlurValidator) {\n return props.onBlurValidator\n }\n\n return dateValidator\n }, [props.onBlurValidator, dateValidator])\n\n const fromInput = useCallback(\n ({\n date,\n start_date,\n end_date,\n invalidDate,\n invalidStartDate,\n invalidEndDate,\n }: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>) => {\n // Add to ref, for use in onBlurValidator, would be better if there was a way to add this to additional args\n setInvalidDates({\n invalidDate,\n invalidStartDate,\n invalidEndDate,\n })\n\n return props.range ? `${start_date}|${end_date}` : date\n },\n [props.range, setInvalidDates]\n )\n\n const preparedProps = {\n ...props,\n errorMessages,\n schema,\n fromInput,\n validateRequired,\n onBlurValidator,\n exportValidators: { dateValidator },\n invalidDatesRef,\n }\n\n const {\n id,\n path,\n itemPath,\n className,\n label,\n value: valueProp,\n hasError,\n disabled,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n setDisplayValue,\n range,\n showCancelButton = true,\n showResetButton = true,\n showInput = true,\n onReset,\n minDate,\n maxDate,\n ...rest\n } = useFieldProps(preparedProps)\n\n const datePickerProps = pickDatePickerProps(rest)\n\n const { value, startDate, endDate } = useMemo(() => {\n if (!range || !valueProp) {\n return {\n // Assign to null if falsy value, to properly clear input values\n value: valueProp ?? null,\n startDate: undefined,\n endDate: undefined,\n }\n }\n\n const [startDate, endDate] = parseRangeValue(valueProp)\n\n return {\n value: undefined,\n startDate,\n endDate,\n }\n }, [range, valueProp])\n\n useMemo(() => {\n if ((path || itemPath) && valueProp) {\n setDisplayValue(formatDate(valueProp, { locale }), undefined)\n }\n }, [itemPath, locale, path, setDisplayValue, valueProp])\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n label: label ?? defaultLabel,\n className: classnames('dnb-forms-field-string', className),\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n showInput={showInput}\n showCancelButton={showCancelButton}\n showResetButton={showResetButton}\n startDate={startDate}\n endDate={endDate}\n minDate={minDate}\n maxDate={maxDate}\n status={hasError ? 'error' : undefined}\n range={range}\n onChange={handleChange}\n onReset={(event) => {\n handleChange(event)\n onReset?.(event)\n }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...datePickerProps}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\nfunction parseRangeValue(value: DateProps['value']) {\n return (\n value\n .split('|')\n // Assign to null if falsy value, to properly clear input values\n .map((value) => (/(undefined|null)/.test(value) ? null : value))\n )\n}\n\n// Validators\nfunction validateDateLimit({\n value,\n isRange,\n locale,\n ...dates\n}: {\n value: DateProps['value']\n minDate: DateProps['minDate']\n maxDate: DateProps['maxDate']\n isRange: DateProps['range']\n locale: ProviderProps['locale']\n}) {\n if ((!dates.minDate && !dates.maxDate) || !value) {\n return []\n }\n\n const [startDateParsed, endDateParsed] = parseRangeValue(value)\n\n // Set dates to the start of the day to compare the actual days, and not day and time\n const minDate = startOfDay(convertStringToDate(dates.minDate))\n const maxDate = startOfDay(convertStringToDate(dates.maxDate))\n\n const startDate = startOfDay(convertStringToDate(startDateParsed))\n const endDate = startOfDay(convertStringToDate(endDateParsed))\n\n const isoDates = {\n minDate:\n dates.minDate instanceof Date\n ? dates.minDate.toISOString()\n : dates.minDate,\n maxDate:\n dates.maxDate instanceof Date\n ? dates.maxDate.toISOString()\n : dates.maxDate,\n }\n\n const options: FormatDateOptions = {\n locale,\n variant: 'long',\n }\n\n const messages: Array<FormError> = []\n\n // Handle non range validation\n if (!isRange) {\n if (isBefore(startDate, minDate)) {\n messages.push(\n new FormError('Date.errorMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(startDate, maxDate)) {\n messages.push(\n new FormError('Date.errorMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n return messages\n }\n\n // Start date validation\n if (isBefore(startDate, minDate)) {\n messages.push(\n new FormError('Date.errorStartDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(startDate, maxDate)) {\n messages.push(\n new FormError('Date.errorStartDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n // End date validation\n if (isBefore(endDate, minDate)) {\n messages.push(\n new FormError('Date.errorEndDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(endDate, maxDate)) {\n messages.push(\n new FormError('Date.errorEndDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n return messages\n}\n\nfunction validateDate({\n invalidDate,\n invalidStartDate,\n invalidEndDate,\n}: InvalidDates) {\n if (invalidDate) {\n return [\n new FormError('Date.errorInvalidDate', {\n messageValues: { date: invalidDate },\n }),\n ]\n }\n\n const errors: Array<FormError> = []\n\n if (invalidStartDate) {\n errors.push(\n new FormError('Date.errorInvalidStartDate', {\n messageValues: { date: invalidStartDate },\n })\n )\n }\n\n if (invalidEndDate) {\n errors.push(\n new FormError('Date.errorInvalidEndDate', {\n messageValues: { date: invalidEndDate },\n })\n )\n }\n\n return errors\n}\n\n// Used to filter out DatePickerProps from the FieldProps.\n// Includes DatePickerProps that are not destructured in useFieldProps\nconst datePickerPropKeys = [\n 'month',\n 'startMonth',\n 'endMonth',\n 'minDate',\n 'maxDate',\n 'correctInvalidDate',\n 'maskOrder',\n 'maskPlaceholder',\n 'dateFormat',\n 'returnFormat',\n 'hideNavigation',\n 'hideDays',\n 'onlyMonth',\n 'hideLastWeek',\n 'disableAutofocus',\n 'showSubmitButton',\n 'submitButtonText',\n 'cancelButtonText',\n 'resetButtonText',\n 'firstDay',\n 'link',\n 'size',\n 'sync',\n 'addonElement',\n 'shortcuts',\n 'opened',\n 'direction',\n 'alignPicker',\n 'onDaysRender',\n 'showInput',\n 'onDaysRender',\n 'onType',\n 'onShow',\n 'onHide',\n 'onSubmit',\n 'onCancel',\n 'onReset',\n 'skipPortal',\n]\n\nfunction pickDatePickerProps(props: DateProps) {\n const datePickerProps = Object.keys(props).reduce(\n (datePickerProps, key) => {\n if (datePickerPropKeys.includes(key)) {\n datePickerProps[key] = props[key]\n }\n\n return datePickerProps\n },\n {}\n )\n\n return datePickerProps\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Date.js","names":["_react","_interopRequireWildcard","require","_components","_hooks","_utils","_classnames","_interopRequireDefault","_FieldBlock","_Context","_dateFns","_useTranslation","_DatePickerCalc","_utils2","_startOfDay","_useInvalidDates","_excluded","_excluded2","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DateComponent","props","errorRequired","label","defaultLabel","useTranslation","Date","locale","useContext","SharedContext","invalidDatesRef","setInvalidDates","useInvalidDates","errorMessages","useMemo","schema","_props$schema","type","pattern","validateRequired","useCallback","_ref","required","error","isValid","parseISO","undefined","dateValidator","invalidDateErrors","validateDate","current","minDate","maxDate","dateLimitErrors","validateDateLimit","isRange","range","onBlurValidator","fromInput","_ref2","date","start_date","end_date","invalidDate","invalidStartDate","invalidEndDate","preparedProps","exportValidators","_useFieldProps","useFieldProps","id","path","itemPath","className","valueProp","hasError","disabled","htmlAttributes","handleFocus","handleBlur","handleChange","setDisplayValue","showCancelButton","showResetButton","showInput","onReset","rest","datePickerProps","pickDatePickerProps","startDate","endDate","parseRangeValue","formatDate","fieldBlockProps","forId","classnames","pickSpacingProps","createElement","DatePicker","status","onChange","event","onFocus","onBlur","split","map","test","_ref3","dates","startDateParsed","endDateParsed","startOfDay","convertStringToDate","isoDates","toISOString","options","variant","messages","isBefore","FormError","messageValues","isAfter","_ref4","errors","datePickerPropKeys","reduce","key","includes","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport { DatePicker } from '../../../../components'\nimport { useFieldProps } from '../../hooks'\nimport type {\n FieldProps,\n AllJSONSchemaVersions,\n ValidatorDisableable,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport classnames from 'classnames'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport SharedContext from '../../../../shared/Context'\nimport { parseISO, isValid, isBefore, isAfter } from 'date-fns'\nimport useTranslation from '../../hooks/useTranslation'\nimport {\n DatePickerEvent,\n DatePickerProps,\n} from '../../../../components/DatePicker'\nimport {\n FormatDateOptions,\n convertStringToDate,\n formatDate,\n} from '../../../../components/date-picker/DatePickerCalc'\nimport { ProviderProps } from '../../../../shared/Provider'\nimport { FormError } from '../../utils'\nimport startOfDay from 'date-fns/startOfDay'\nimport { InvalidDates } from '../../../../components/date-picker/DatePickerInput'\nimport useInvalidDates from './hooks/useInvalidDates'\n\n// `range`, `showInput`, `showCancelButton` and `showResetButton` are not picked from the `DatePickerProps`\n// Since they require `Field.Date` specific comments, due to them having different default values\nexport type DateProps = Omit<\n FieldProps<string, undefined | string>,\n 'onBlurValidator'\n> & {\n // Validation\n pattern?: string\n /**\n * Defines if the Date field should support a value of two dates (starting and ending date).\n * The value needs to be a string containing two dates, separated by a pipe character (`|`) i.e. (`01-09-2024|30-09-2024`) when this is set to `true`.\n * Defaults to `false`.\n */\n range?: DatePickerProps['range']\n /**\n * If the input fields with the mask should be visible. Defaults to `true`.\n */\n showInput?: DatePickerProps['showInput']\n\n /**\n * If set to `true`, a cancel button will be shown. You can change the default text by using `cancel_button_text=\"Avbryt\"` Defaults to `true`. If the `range` prop is `true`, then the cancel button is shown.\n */\n showCancelButton?: DatePickerProps['showCancelButton']\n /**\n * If set to `true`, a reset button will be shown. You can change the default text by using `reset_button_text=\"Tilbakestill\"` Defaults to `true`.\n */\n showResetButton?: DatePickerProps['showResetButton']\n onBlurValidator?: ValidatorDisableable<string>\n} & Pick<\n DatePickerProps,\n | 'month'\n | 'startMonth'\n | 'endMonth'\n | 'minDate'\n | 'maxDate'\n | 'correctInvalidDate'\n | 'maskOrder'\n | 'maskPlaceholder'\n | 'dateFormat'\n | 'returnFormat'\n | 'hideNavigation'\n | 'hideDays'\n | 'onlyMonth'\n | 'hideLastWeek'\n | 'disableAutofocus'\n | 'showSubmitButton'\n | 'submitButtonText'\n | 'cancelButtonText'\n | 'resetButtonText'\n | 'firstDay'\n | 'link'\n | 'size'\n | 'sync'\n | 'addonElement'\n | 'shortcuts'\n | 'opened'\n | 'direction'\n | 'alignPicker'\n | 'onDaysRender'\n | 'onType'\n | 'onShow'\n | 'onHide'\n | 'onSubmit'\n | 'onCancel'\n | 'onReset'\n | 'skipPortal'\n >\n\nfunction DateComponent(props: DateProps) {\n const { errorRequired, label: defaultLabel } = useTranslation().Date\n const { locale } = useContext(SharedContext)\n\n const { invalidDatesRef, setInvalidDates } = useInvalidDates()\n\n const errorMessages = useMemo(() => {\n return {\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }\n }, [props.errorMessages, errorRequired])\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n if (required && (!value || !isValid(parseISO(value)))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const dateValidator = useCallback(\n (value: string) => {\n const invalidDateErrors = validateDate(invalidDatesRef.current)\n\n // No need to validate min/max date if they are not provided\n if (!props.minDate && !props.maxDate) {\n return invalidDateErrors\n }\n\n const dateLimitErrors = validateDateLimit({\n value,\n locale,\n minDate: props.minDate,\n maxDate: props.maxDate,\n isRange: props.range,\n })\n\n return [...invalidDateErrors, ...dateLimitErrors]\n },\n [props.maxDate, props.minDate, props.range, invalidDatesRef, locale]\n )\n\n const onBlurValidator = useMemo(() => {\n if (props.onBlurValidator === false) {\n return undefined\n }\n\n if (props.onBlurValidator) {\n return props.onBlurValidator\n }\n\n return dateValidator\n }, [props.onBlurValidator, dateValidator])\n\n const fromInput = useCallback(\n ({\n date,\n start_date,\n end_date,\n invalidDate,\n invalidStartDate,\n invalidEndDate,\n }: DatePickerEvent<React.ChangeEvent<HTMLInputElement>>) => {\n // Add to ref, for use in onBlurValidator, would be better if there was a way to add this to additional args\n setInvalidDates({\n invalidDate,\n invalidStartDate,\n invalidEndDate,\n })\n\n return props.range ? `${start_date}|${end_date}` : date\n },\n [props.range, setInvalidDates]\n )\n\n const preparedProps = {\n ...props,\n errorMessages,\n schema,\n fromInput,\n validateRequired,\n onBlurValidator,\n exportValidators: { dateValidator },\n invalidDatesRef,\n }\n\n const {\n id,\n path,\n itemPath,\n className,\n label,\n value: valueProp,\n hasError,\n disabled,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n setDisplayValue,\n range,\n showCancelButton = true,\n showResetButton = true,\n showInput = true,\n onReset,\n minDate,\n maxDate,\n ...rest\n } = useFieldProps(preparedProps)\n\n const datePickerProps = pickDatePickerProps(rest)\n\n const { value, startDate, endDate } = useMemo(() => {\n if (!range || !valueProp) {\n return {\n // Assign to null if falsy value, to properly clear input values\n value: valueProp ?? null,\n startDate: undefined,\n endDate: undefined,\n }\n }\n\n const [startDate, endDate] = parseRangeValue(valueProp)\n\n return {\n value: undefined,\n startDate,\n endDate,\n }\n }, [range, valueProp])\n\n useMemo(() => {\n if ((path || itemPath) && valueProp) {\n setDisplayValue(formatDate(valueProp, { locale }), undefined)\n }\n }, [itemPath, locale, path, setDisplayValue, valueProp])\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n label: label ?? defaultLabel,\n className: classnames('dnb-forms-field-string', className),\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <DatePicker\n id={id}\n date={value}\n disabled={disabled}\n showInput={showInput}\n showCancelButton={showCancelButton}\n showResetButton={showResetButton}\n startDate={startDate}\n endDate={endDate}\n minDate={minDate}\n maxDate={maxDate}\n status={hasError ? 'error' : undefined}\n range={range}\n onChange={handleChange}\n onReset={(event) => {\n handleChange(event)\n onReset?.(event)\n }}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...datePickerProps}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\nexport function parseRangeValue(value: DateProps['value']) {\n return (\n value\n .split('|')\n // Assign to null if falsy value, to properly clear input values\n .map((value) => (/(undefined|null)/.test(value) ? null : value))\n )\n}\n\n// Validators\nfunction validateDateLimit({\n value,\n isRange,\n locale,\n ...dates\n}: {\n value: DateProps['value']\n minDate: DateProps['minDate']\n maxDate: DateProps['maxDate']\n isRange: DateProps['range']\n locale: ProviderProps['locale']\n}) {\n if ((!dates.minDate && !dates.maxDate) || !value) {\n return []\n }\n\n const [startDateParsed, endDateParsed] = parseRangeValue(value)\n\n // Set dates to the start of the day to compare the actual days, and not day and time\n const minDate = startOfDay(convertStringToDate(dates.minDate))\n const maxDate = startOfDay(convertStringToDate(dates.maxDate))\n\n const startDate = startOfDay(convertStringToDate(startDateParsed))\n const endDate = startOfDay(convertStringToDate(endDateParsed))\n\n const isoDates = {\n minDate:\n dates.minDate instanceof Date\n ? dates.minDate.toISOString()\n : dates.minDate,\n maxDate:\n dates.maxDate instanceof Date\n ? dates.maxDate.toISOString()\n : dates.maxDate,\n }\n\n const options: FormatDateOptions = {\n locale,\n variant: 'long',\n }\n\n const messages: Array<FormError> = []\n\n // Handle non range validation\n if (!isRange) {\n if (isBefore(startDate, minDate)) {\n messages.push(\n new FormError('Date.errorMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(startDate, maxDate)) {\n messages.push(\n new FormError('Date.errorMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n return messages\n }\n\n // Start date validation\n if (isBefore(startDate, minDate)) {\n messages.push(\n new FormError('Date.errorStartDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(startDate, maxDate)) {\n messages.push(\n new FormError('Date.errorStartDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n // End date validation\n if (isBefore(endDate, minDate)) {\n messages.push(\n new FormError('Date.errorEndDateMinDate', {\n messageValues: { date: formatDate(isoDates.minDate, options) },\n })\n )\n }\n\n if (isAfter(endDate, maxDate)) {\n messages.push(\n new FormError('Date.errorEndDateMaxDate', {\n messageValues: { date: formatDate(isoDates.maxDate, options) },\n })\n )\n }\n\n return messages\n}\n\nfunction validateDate({\n invalidDate,\n invalidStartDate,\n invalidEndDate,\n}: InvalidDates) {\n if (invalidDate) {\n return [\n new FormError('Date.errorInvalidDate', {\n messageValues: { date: invalidDate },\n }),\n ]\n }\n\n const errors: Array<FormError> = []\n\n if (invalidStartDate) {\n errors.push(\n new FormError('Date.errorInvalidStartDate', {\n messageValues: { date: invalidStartDate },\n })\n )\n }\n\n if (invalidEndDate) {\n errors.push(\n new FormError('Date.errorInvalidEndDate', {\n messageValues: { date: invalidEndDate },\n })\n )\n }\n\n return errors\n}\n\n// Used to filter out DatePickerProps from the FieldProps.\n// Includes DatePickerProps that are not destructured in useFieldProps\nconst datePickerPropKeys = [\n 'month',\n 'startMonth',\n 'endMonth',\n 'minDate',\n 'maxDate',\n 'correctInvalidDate',\n 'maskOrder',\n 'maskPlaceholder',\n 'dateFormat',\n 'returnFormat',\n 'hideNavigation',\n 'hideDays',\n 'onlyMonth',\n 'hideLastWeek',\n 'disableAutofocus',\n 'showSubmitButton',\n 'submitButtonText',\n 'cancelButtonText',\n 'resetButtonText',\n 'firstDay',\n 'link',\n 'size',\n 'sync',\n 'addonElement',\n 'shortcuts',\n 'opened',\n 'direction',\n 'alignPicker',\n 'onDaysRender',\n 'showInput',\n 'onDaysRender',\n 'onType',\n 'onShow',\n 'onHide',\n 'onSubmit',\n 'onCancel',\n 'onReset',\n 'skipPortal',\n]\n\nfunction pickDatePickerProps(props: DateProps) {\n const datePickerProps = Object.keys(props).reduce(\n (datePickerProps, key) => {\n if (datePickerPropKeys.includes(key)) {\n datePickerProps[key] = props[key]\n }\n\n return datePickerProps\n },\n {}\n )\n\n return datePickerProps\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -101,7 +101,8 @@ function Password(_ref) {
|
|
|
101
101
|
"aria-describedby": id + '-submit-button',
|
|
102
102
|
submitElement: _react.default.createElement(ToggleVisibilityButton, null),
|
|
103
103
|
disabled: disabled,
|
|
104
|
-
size: size
|
|
104
|
+
size: size,
|
|
105
|
+
autoComplete: "current-password"
|
|
105
106
|
}, props));
|
|
106
107
|
}
|
|
107
108
|
var _default = exports.default = Password;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Password.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_String","_Input","_view","_hide","_view_medium","_hide_medium","_withSnakeCaseProps","_useTranslation","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Password","_ref","_innerRef$current","id","className","innerRef","label","disabled","size","externalProps","props","convertSnakeCaseProps","freeze","hidden","setHidden","useState","sharedContext","useContext","SharedContext","translations","useTranslation","ref","useRef","current","toggleVisibility","useCallback","event","onShowPassword","onHidePassword","focus","getAriaLabel","ariaLabels","showPassword","ariaLabelShow","hidePassword","ariaLabelHide","show_password","hide_password","ToggleVisibilityButton","createElement","SubmitButton","type","variant","icon","IconViewMedium","IconViewOffMedium","IconView","IconViewOff","skeleton","onClick","classnames","submitElement","_default","exports","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Password/Password.tsx"],"sourcesContent":["import React, {\n useContext,\n useRef,\n useState,\n ElementRef,\n MutableRefObject,\n useCallback,\n} from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../../shared/Context'\nimport StringField, { Props as StringFieldProps } from '../String'\n\nimport { InputProps, SubmitButton } from '../../../../components/Input'\nimport IconView from '../../../../icons/view'\nimport IconViewOff from '../../../../icons/hide'\nimport IconViewMedium from '../../../../icons/view_medium'\nimport IconViewOffMedium from '../../../../icons/hide_medium'\nimport { convertSnakeCaseProps } from '../../../../shared/helpers/withSnakeCaseProps'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type PasswordVisibilityEvent =\n React.MouseEvent<HTMLButtonElement> & {\n value: string\n }\n\nexport type PasswordProps = Omit<StringFieldProps, 'innerRef'> & {\n /**\n * Fires when the input toggles to show the password.\n */\n onShowPassword?: (event: PasswordVisibilityEvent) => void\n /**\n * Fires when the input toggles to hide the password.\n */\n onHidePassword?: (event: PasswordVisibilityEvent) => void\n /**\n * 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. Also, if you define a number like size=\"2\" then it will be forwarded as the input element attribute.\n */\n size?: InputProps['size']\n /**\n * ElementRef passed on to the password input element.\n */\n innerRef?: MutableRefObject<HTMLInputElement>\n /**\n * @deprecated in v11, use use `locales`prop on `Provider` and override `passwordShowLabel` instead.\n */\n show_password?: string\n /**\n * @deprecated in v11, use use `locales`prop on `Provider` and override `passwordHideLabel` instead.\n */\n hide_password?: string\n /**\n * @deprecated in v11, use `onShowPassword` instead.\n */\n on_show_password?: (event: PasswordVisibilityEvent) => void\n /**\n * @deprecated in v11, use `onHidePassword` instead.\n */\n on_hide_password?: (event: PasswordVisibilityEvent) => void\n}\n\nfunction Password({\n id,\n className,\n innerRef,\n value,\n label,\n disabled,\n size,\n ...externalProps\n}: PasswordProps) {\n // Object freeze used to prevent mutation of show_password and hide_password props. Freeze and convertToSnakeCase can be removed in v11.\n const props = convertSnakeCaseProps(Object.freeze(externalProps))\n\n const [hidden, setHidden] = useState<boolean>(true)\n\n const sharedContext = useContext(SharedContext)\n const translations = useTranslation().Password\n\n const ref = useRef<ElementRef<'input'>>(innerRef?.current ?? null)\n\n const toggleVisibility = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n const { onShowPassword, onHidePassword } =\n convertSnakeCaseProps(props)\n\n const value = ref.current.value\n\n setHidden((hidden) => {\n hidden\n ? onShowPassword?.({ ...event, value })\n : onHidePassword?.({ ...event, value })\n\n return !hidden\n })\n\n if (ref.current) {\n ref.current.focus()\n }\n },\n [props]\n )\n\n // Can be removed with v11, just used to make sure that the old show_password and hide_password are still backward compatible.\n const getAriaLabel = useCallback(() => {\n const ariaLabels = {\n showPassword: translations.ariaLabelShow,\n hidePassword: translations.ariaLabelHide,\n }\n\n if (externalProps.show_password) {\n ariaLabels['showPassword'] = externalProps.show_password\n }\n\n if (externalProps.hide_password) {\n ariaLabels['hidePassword'] = externalProps.hide_password\n }\n\n return ariaLabels\n }, [\n externalProps.show_password,\n externalProps.hide_password,\n translations,\n ])\n\n const ariaLabels = getAriaLabel()\n\n const ToggleVisibilityButton = useCallback(() => {\n return (\n <SubmitButton\n id={id + '-submit-button'}\n type=\"button\"\n variant=\"secondary\"\n aria-controls={id}\n aria-label={\n hidden ? ariaLabels.showPassword : ariaLabels.hidePassword\n }\n icon={\n size === 'large'\n ? hidden\n ? IconViewMedium\n : IconViewOffMedium\n : hidden\n ? IconView\n : IconViewOff\n }\n disabled={disabled}\n skeleton={sharedContext.skeleton}\n onClick={toggleVisibility}\n />\n )\n }, [\n id,\n hidden,\n sharedContext.skeleton,\n disabled,\n size,\n toggleVisibility,\n ariaLabels,\n ])\n\n return (\n <StringField\n id={id}\n className={classnames('dnb-forms-field-password', className)}\n label={label ?? translations.label}\n type={hidden ? 'password' : 'text'}\n value={value}\n innerRef={ref}\n aria-describedby={id + '-submit-button'}\n submitElement={<ToggleVisibilityButton />}\n disabled={disabled}\n size={size}\n {...props}\n />\n )\n}\n\nexport default Password\n\nPassword._supportsSpacingProps = true\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Password.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_String","_Input","_view","_hide","_view_medium","_hide_medium","_withSnakeCaseProps","_useTranslation","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Password","_ref","_innerRef$current","id","className","innerRef","label","disabled","size","externalProps","props","convertSnakeCaseProps","freeze","hidden","setHidden","useState","sharedContext","useContext","SharedContext","translations","useTranslation","ref","useRef","current","toggleVisibility","useCallback","event","onShowPassword","onHidePassword","focus","getAriaLabel","ariaLabels","showPassword","ariaLabelShow","hidePassword","ariaLabelHide","show_password","hide_password","ToggleVisibilityButton","createElement","SubmitButton","type","variant","icon","IconViewMedium","IconViewOffMedium","IconView","IconViewOff","skeleton","onClick","classnames","submitElement","autoComplete","_default","exports","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Password/Password.tsx"],"sourcesContent":["import React, {\n useContext,\n useRef,\n useState,\n ElementRef,\n MutableRefObject,\n useCallback,\n} from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../../shared/Context'\nimport StringField, { Props as StringFieldProps } from '../String'\n\nimport { InputProps, SubmitButton } from '../../../../components/Input'\nimport IconView from '../../../../icons/view'\nimport IconViewOff from '../../../../icons/hide'\nimport IconViewMedium from '../../../../icons/view_medium'\nimport IconViewOffMedium from '../../../../icons/hide_medium'\nimport { convertSnakeCaseProps } from '../../../../shared/helpers/withSnakeCaseProps'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type PasswordVisibilityEvent =\n React.MouseEvent<HTMLButtonElement> & {\n value: string\n }\n\nexport type PasswordProps = Omit<StringFieldProps, 'innerRef'> & {\n /**\n * Fires when the input toggles to show the password.\n */\n onShowPassword?: (event: PasswordVisibilityEvent) => void\n /**\n * Fires when the input toggles to hide the password.\n */\n onHidePassword?: (event: PasswordVisibilityEvent) => void\n /**\n * 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. Also, if you define a number like size=\"2\" then it will be forwarded as the input element attribute.\n */\n size?: InputProps['size']\n /**\n * ElementRef passed on to the password input element.\n */\n innerRef?: MutableRefObject<HTMLInputElement>\n /**\n * @deprecated in v11, use use `locales`prop on `Provider` and override `passwordShowLabel` instead.\n */\n show_password?: string\n /**\n * @deprecated in v11, use use `locales`prop on `Provider` and override `passwordHideLabel` instead.\n */\n hide_password?: string\n /**\n * @deprecated in v11, use `onShowPassword` instead.\n */\n on_show_password?: (event: PasswordVisibilityEvent) => void\n /**\n * @deprecated in v11, use `onHidePassword` instead.\n */\n on_hide_password?: (event: PasswordVisibilityEvent) => void\n}\n\nfunction Password({\n id,\n className,\n innerRef,\n value,\n label,\n disabled,\n size,\n ...externalProps\n}: PasswordProps) {\n // Object freeze used to prevent mutation of show_password and hide_password props. Freeze and convertToSnakeCase can be removed in v11.\n const props = convertSnakeCaseProps(Object.freeze(externalProps))\n\n const [hidden, setHidden] = useState<boolean>(true)\n\n const sharedContext = useContext(SharedContext)\n const translations = useTranslation().Password\n\n const ref = useRef<ElementRef<'input'>>(innerRef?.current ?? null)\n\n const toggleVisibility = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n const { onShowPassword, onHidePassword } =\n convertSnakeCaseProps(props)\n\n const value = ref.current.value\n\n setHidden((hidden) => {\n hidden\n ? onShowPassword?.({ ...event, value })\n : onHidePassword?.({ ...event, value })\n\n return !hidden\n })\n\n if (ref.current) {\n ref.current.focus()\n }\n },\n [props]\n )\n\n // Can be removed with v11, just used to make sure that the old show_password and hide_password are still backward compatible.\n const getAriaLabel = useCallback(() => {\n const ariaLabels = {\n showPassword: translations.ariaLabelShow,\n hidePassword: translations.ariaLabelHide,\n }\n\n if (externalProps.show_password) {\n ariaLabels['showPassword'] = externalProps.show_password\n }\n\n if (externalProps.hide_password) {\n ariaLabels['hidePassword'] = externalProps.hide_password\n }\n\n return ariaLabels\n }, [\n externalProps.show_password,\n externalProps.hide_password,\n translations,\n ])\n\n const ariaLabels = getAriaLabel()\n\n const ToggleVisibilityButton = useCallback(() => {\n return (\n <SubmitButton\n id={id + '-submit-button'}\n type=\"button\"\n variant=\"secondary\"\n aria-controls={id}\n aria-label={\n hidden ? ariaLabels.showPassword : ariaLabels.hidePassword\n }\n icon={\n size === 'large'\n ? hidden\n ? IconViewMedium\n : IconViewOffMedium\n : hidden\n ? IconView\n : IconViewOff\n }\n disabled={disabled}\n skeleton={sharedContext.skeleton}\n onClick={toggleVisibility}\n />\n )\n }, [\n id,\n hidden,\n sharedContext.skeleton,\n disabled,\n size,\n toggleVisibility,\n ariaLabels,\n ])\n\n return (\n <StringField\n id={id}\n className={classnames('dnb-forms-field-password', className)}\n label={label ?? translations.label}\n type={hidden ? 'password' : 'text'}\n value={value}\n innerRef={ref}\n aria-describedby={id + '-submit-button'}\n submitElement={<ToggleVisibilityButton />}\n disabled={disabled}\n size={size}\n autoComplete=\"current-password\"\n {...props}\n />\n )\n}\n\nexport default Password\n\nPassword._supportsSpacingProps = true\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -85,8 +85,10 @@ declare function useFieldProvider(props?: Omit<FieldProviderProps, 'children'>):
|
|
|
85
85
|
};
|
|
86
86
|
getValueByPath: import("../../hooks/useDataValue").GetValueByPath<unknown>;
|
|
87
87
|
getSourceValue: import("../../hooks/useDataValue").GetValueByPath<unknown>;
|
|
88
|
-
setFieldEventListener: (path: string, type: "onSubmit" | "onSubmitRequest" | "onPathChange" | "onMount", callback: (params?: {
|
|
88
|
+
setFieldEventListener: (path: string, type: "onSubmit" | "onSubmitCall" | "onSubmitRequest" | "onPathChange" | "onMount", callback: (params?: {
|
|
89
89
|
value: unknown;
|
|
90
|
+
} | {
|
|
91
|
+
preventSubmit: () => void;
|
|
90
92
|
}) => void | Promise<void | Error>) => void;
|
|
91
93
|
validators: Record<string, import("../../types").Validator<unknown, import("../../types").DefaultErrorMessages>>;
|
|
92
94
|
props: import("../../types").UseFieldProps<unknown, unknown, import("../../types").DefaultErrorMessages>;
|
|
@@ -105,8 +107,10 @@ declare function useFieldProvider(props?: Omit<FieldProviderProps, 'children'>):
|
|
|
105
107
|
};
|
|
106
108
|
getValueByPath: import("../../hooks/useDataValue").GetValueByPath<unknown>;
|
|
107
109
|
getSourceValue: import("../../hooks/useDataValue").GetValueByPath<unknown>;
|
|
108
|
-
setFieldEventListener: (path: string, type: "onSubmit" | "onSubmitRequest" | "onPathChange" | "onMount", callback: (params?: {
|
|
110
|
+
setFieldEventListener: (path: string, type: "onSubmit" | "onSubmitCall" | "onSubmitRequest" | "onPathChange" | "onMount", callback: (params?: {
|
|
109
111
|
value: unknown;
|
|
112
|
+
} | {
|
|
113
|
+
preventSubmit: () => void;
|
|
110
114
|
}) => void | Promise<void | Error>) => void;
|
|
111
115
|
validators: Record<string, import("../../types").Validator<unknown, import("../../types").DefaultErrorMessages>>;
|
|
112
116
|
props: import("../../types").UseFieldProps<unknown, unknown, import("../../types").DefaultErrorMessages>;
|
|
@@ -125,8 +129,10 @@ declare function useFieldProvider(props?: Omit<FieldProviderProps, 'children'>):
|
|
|
125
129
|
};
|
|
126
130
|
getValueByPath: import("../../hooks/useDataValue").GetValueByPath<unknown>;
|
|
127
131
|
getSourceValue: import("../../hooks/useDataValue").GetValueByPath<unknown>;
|
|
128
|
-
setFieldEventListener: (path: string, type: "onSubmit" | "onSubmitRequest" | "onPathChange" | "onMount", callback: (params?: {
|
|
132
|
+
setFieldEventListener: (path: string, type: "onSubmit" | "onSubmitCall" | "onSubmitRequest" | "onPathChange" | "onMount", callback: (params?: {
|
|
129
133
|
value: unknown;
|
|
134
|
+
} | {
|
|
135
|
+
preventSubmit: () => void;
|
|
130
136
|
}) => void | Promise<void | Error>) => void;
|
|
131
137
|
validators: Record<string, import("../../types").Validator<unknown, import("../../types").DefaultErrorMessages>>;
|
|
132
138
|
props: import("../../types").UseFieldProps<unknown, unknown, import("../../types").DefaultErrorMessages>;
|
|
@@ -6,7 +6,7 @@ export type { UploadFile, UploadFileNative };
|
|
|
6
6
|
export type UploadValue = Array<UploadFile | UploadFileNative>;
|
|
7
7
|
export type Props = Omit<FieldProps<UploadValue, UploadValue | undefined>, 'name'> & SpacingProps & {
|
|
8
8
|
width?: Omit<FieldBlockWidth, 'medium' | 'small'>;
|
|
9
|
-
} & Pick<Partial<UploadProps>, 'title' | 'text' | 'acceptedFileTypes' | 'filesAmountLimit' | 'fileMaxSize' | 'onFileDelete' | 'onFileClick' | 'skeleton' | 'download'> & {
|
|
9
|
+
} & Pick<Partial<UploadProps>, 'title' | 'text' | 'acceptedFileTypes' | 'filesAmountLimit' | 'fileMaxSize' | 'onFileDelete' | 'onFileClick' | 'skeleton' | 'download' | 'allowDuplicates'> & {
|
|
10
10
|
fileHandler?: (newFiles: UploadValue) => UploadValue | Promise<UploadValue>;
|
|
11
11
|
};
|
|
12
12
|
declare function UploadComponent(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
@@ -91,7 +91,9 @@ function UploadComponent(props) {
|
|
|
91
91
|
fileMaxSize = 5,
|
|
92
92
|
skeleton,
|
|
93
93
|
onFileDelete,
|
|
94
|
-
onFileClick
|
|
94
|
+
onFileClick,
|
|
95
|
+
download,
|
|
96
|
+
allowDuplicates
|
|
95
97
|
} = rest;
|
|
96
98
|
const {
|
|
97
99
|
files,
|
|
@@ -163,6 +165,8 @@ function UploadComponent(props) {
|
|
|
163
165
|
id: id,
|
|
164
166
|
acceptedFileTypes: acceptedFileTypes,
|
|
165
167
|
filesAmountLimit: filesAmountLimit,
|
|
168
|
+
download: download,
|
|
169
|
+
allowDuplicates: allowDuplicates,
|
|
166
170
|
fileMaxSize: fileMaxSize,
|
|
167
171
|
skeleton: skeleton,
|
|
168
172
|
onChange: changeHandler,
|
|
@@ -189,7 +193,11 @@ function transformFiles(value) {
|
|
|
189
193
|
}
|
|
190
194
|
value.map(item => {
|
|
191
195
|
if (item !== null && item !== void 0 && item.file && !(item.file instanceof File)) {
|
|
192
|
-
|
|
196
|
+
var _lastModified, _item$file2, _type, _item$file3;
|
|
197
|
+
item['file'] = new File([], item['name'] || (item === null || item === void 0 ? void 0 : item.file['name']), {
|
|
198
|
+
lastModified: (_lastModified = (_item$file2 = item.file) === null || _item$file2 === void 0 ? void 0 : _item$file2.lastModified) !== null && _lastModified !== void 0 ? _lastModified : 0,
|
|
199
|
+
type: (_type = (_item$file3 = item.file) === null || _item$file3 === void 0 ? void 0 : _item$file3.type) !== null && _type !== void 0 ? _type : ''
|
|
200
|
+
});
|
|
193
201
|
}
|
|
194
202
|
return item;
|
|
195
203
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlock","_hooks","_Upload","_useUpload","_utils","_HelpButtonInline","_shared","_utils2","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","validateRequired","_ref","required","isChanged","error","hasError","some","file","errorMessage","FormError","hasFiles","undefined","UploadComponent","props","sharedTr","useSharedTranslation","Upload","formsTr","useFormsTranslation","errorMessages","useMemo","errorRequired","fromInput","useCallback","item","index","_item$file","name","preparedProps","toInput","transformFiles","_useFieldProps","useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","label","labelDescription","help","htmlAttributes","handleChange","handleFocus","handleBlur","fileHandler","rest","title","text","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","onFileClick","files","setFiles","useUpload","filesRef","useRef","useEffect","current","handleChangeAsync","_filesRef$current","existingFileIds","map","newFiles","includes","newValidFiles","newFilesLoading","isLoading","incomingFiles","incomingFileObj","foundIndex","findIndex","newFile","indexOfFirstNewFile","_ref2","updatedFiles","slice","changeHandler","_ref3","fieldBlockProps","forId","labelSrOnly","classnames","pickSpacingProps","createElement","onChange","Fragment","contentId","left","HelpButtonInlineContent","roundedCorner","_default","exports","_supportsSpacingProps","Array","isArray","File"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport { FieldProps } from '../../types'\nimport Upload, {\n UploadFile,\n UploadFileNative,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n} from '../../../../components/help-button/HelpButtonInline'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\nimport { FormError } from '../../utils'\n\nexport type { UploadFile, UploadFileNative }\nexport type UploadValue = Array<UploadFile | UploadFileNative>\nexport type Props = Omit<\n FieldProps<UploadValue, UploadValue | undefined>,\n 'name'\n> &\n SpacingProps & {\n width?: Omit<FieldBlockWidth, 'medium' | 'small'>\n } & Pick<\n Partial<UploadProps>,\n | 'title'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'onFileClick'\n | 'skeleton'\n | 'download'\n > & {\n fileHandler?: (\n newFiles: UploadValue\n ) => UploadValue | Promise<UploadValue>\n }\n\nconst validateRequired = (\n value: UploadValue,\n { required, isChanged, error }\n) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError('Upload.errorInvalidFiles')\n }\n\n const hasFiles = value?.length > 0\n if (required && ((!isChanged && !hasFiles) || !hasFiles)) {\n return error\n }\n\n return undefined\n}\n\nfunction UploadComponent(props: Props) {\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': formsTr.errorRequired,\n }),\n [formsTr.errorRequired]\n )\n\n const fromInput = useCallback((value: UploadValue) => {\n value.forEach((item, index) => {\n value[index] = item\n\n // Store the name in the value, to support session storage (serialization)\n value[index]['name'] = item['name'] || item.file?.name\n })\n\n return value\n }, [])\n\n const preparedProps = {\n errorMessages,\n validateRequired,\n fromInput,\n toInput: transformFiles,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n value,\n label,\n labelDescription,\n help,\n htmlAttributes,\n handleChange,\n handleFocus,\n handleBlur,\n fileHandler,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n onFileClick,\n } = rest\n\n const { files, setFiles } = useUpload(id)\n\n const filesRef = useRef<Array<UploadFile>>()\n\n useEffect(() => {\n filesRef.current = files\n }, [files])\n\n useEffect(() => {\n setFiles(value)\n }, [setFiles, value])\n\n const handleChangeAsync = useCallback(\n async (files: UploadValue) => {\n // Filter out existing files\n const existingFileIds =\n filesRef.current?.map((file) => file.id) || []\n const newFiles = files.filter(\n (file) => !existingFileIds.includes(file.id)\n )\n const newValidFiles = newFiles.filter((file) => !file.errorMessage)\n\n if (newValidFiles.length > 0) {\n // Set loading\n const newFilesLoading = newFiles.map((file) => ({\n ...file,\n isLoading: !file.errorMessage,\n }))\n setFiles([...filesRef.current, ...newFilesLoading])\n\n const incomingFiles = await fileHandler(newValidFiles)\n // merge incoming files into existing order of newFiles.\n incomingFiles.forEach((file) => {\n const incomingFileObj = {\n ...file,\n isLoading: false,\n }\n const foundIndex = newFilesLoading.findIndex(\n (newFile) => newFile.isLoading\n )\n if (foundIndex >= 0) {\n newFilesLoading[foundIndex] = incomingFileObj\n } else {\n // if there's more files incoming than there's files loading (edge case), add them to end of array.\n newFilesLoading.push(incomingFileObj)\n }\n })\n\n const indexOfFirstNewFile = filesRef.current.findIndex(\n ({ id }) => id === newFiles[0].id\n )\n\n const updatedFiles = [\n ...filesRef.current.slice(0, indexOfFirstNewFile),\n ...newFilesLoading,\n ...filesRef.current.slice(\n indexOfFirstNewFile + newFilesLoading.length\n ),\n ]\n\n // Set error, if any\n handleChange(updatedFiles)\n } else {\n handleChange(files)\n }\n },\n [setFiles, fileHandler, handleChange]\n )\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n\n if (fileHandler) {\n handleChangeAsync(files)\n } else {\n handleChange(files)\n }\n },\n [handleBlur, handleFocus, fileHandler, handleChangeAsync, handleChange]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n id,\n forId: `${id}-input`,\n labelSrOnly: true,\n className: classnames('dnb-forms-field-upload', className),\n width,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n onFileClick={onFileClick}\n title={label ?? title}\n text={\n help ? (\n <>\n {labelDescription ?? text}\n <HelpButtonInline\n contentId={`${id}-help`}\n left={text ? 'x-small' : false}\n help={help}\n />\n </>\n ) : (\n labelDescription ?? text\n )\n }\n {...htmlAttributes}\n >\n {help && (\n <HelpButtonInlineContent\n contentId={`${id}-help`}\n help={help}\n roundedCorner={false}\n />\n )}\n </Upload>\n </FieldBlock>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n\nexport function transformFiles(value: UploadValue) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return undefined\n }\n\n value.map((item) => {\n if (item?.file && !(item.file instanceof File)) {\n // To support session storage, we recreated the file blob.\n item['file'] = new File([], item['name'])\n }\n return item\n })\n }\n\n return value\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlock","_hooks","_Upload","_useUpload","_utils","_HelpButtonInline","_shared","_utils2","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","validateRequired","_ref","required","isChanged","error","hasError","some","file","errorMessage","FormError","hasFiles","undefined","UploadComponent","props","sharedTr","useSharedTranslation","Upload","formsTr","useFormsTranslation","errorMessages","useMemo","errorRequired","fromInput","useCallback","item","index","_item$file","name","preparedProps","toInput","transformFiles","_useFieldProps","useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","label","labelDescription","help","htmlAttributes","handleChange","handleFocus","handleBlur","fileHandler","rest","title","text","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","onFileClick","download","allowDuplicates","files","setFiles","useUpload","filesRef","useRef","useEffect","current","handleChangeAsync","_filesRef$current","existingFileIds","map","newFiles","includes","newValidFiles","newFilesLoading","isLoading","incomingFiles","incomingFileObj","foundIndex","findIndex","newFile","indexOfFirstNewFile","_ref2","updatedFiles","slice","changeHandler","_ref3","fieldBlockProps","forId","labelSrOnly","classnames","pickSpacingProps","createElement","onChange","Fragment","contentId","left","HelpButtonInlineContent","roundedCorner","_default","exports","_supportsSpacingProps","Array","isArray","File","_lastModified","_item$file2","_type","_item$file3","lastModified","type"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport { FieldProps } from '../../types'\nimport Upload, {\n UploadFile,\n UploadFileNative,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n} from '../../../../components/help-button/HelpButtonInline'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\nimport { FormError } from '../../utils'\n\nexport type { UploadFile, UploadFileNative }\nexport type UploadValue = Array<UploadFile | UploadFileNative>\nexport type Props = Omit<\n FieldProps<UploadValue, UploadValue | undefined>,\n 'name'\n> &\n SpacingProps & {\n width?: Omit<FieldBlockWidth, 'medium' | 'small'>\n } & Pick<\n Partial<UploadProps>,\n | 'title'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'onFileClick'\n | 'skeleton'\n | 'download'\n | 'allowDuplicates'\n > & {\n fileHandler?: (\n newFiles: UploadValue\n ) => UploadValue | Promise<UploadValue>\n }\n\nconst validateRequired = (\n value: UploadValue,\n { required, isChanged, error }\n) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError('Upload.errorInvalidFiles')\n }\n\n const hasFiles = value?.length > 0\n if (required && ((!isChanged && !hasFiles) || !hasFiles)) {\n return error\n }\n\n return undefined\n}\n\nfunction UploadComponent(props: Props) {\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': formsTr.errorRequired,\n }),\n [formsTr.errorRequired]\n )\n\n const fromInput = useCallback((value: UploadValue) => {\n value.forEach((item, index) => {\n value[index] = item\n\n // Store the name in the value, to support session storage (serialization)\n value[index]['name'] = item['name'] || item.file?.name\n })\n\n return value\n }, [])\n\n const preparedProps = {\n errorMessages,\n validateRequired,\n fromInput,\n toInput: transformFiles,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n value,\n label,\n labelDescription,\n help,\n htmlAttributes,\n handleChange,\n handleFocus,\n handleBlur,\n fileHandler,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n onFileClick,\n download,\n allowDuplicates,\n } = rest\n\n const { files, setFiles } = useUpload(id)\n\n const filesRef = useRef<Array<UploadFile>>()\n\n useEffect(() => {\n filesRef.current = files\n }, [files])\n\n useEffect(() => {\n setFiles(value)\n }, [setFiles, value])\n\n const handleChangeAsync = useCallback(\n async (files: UploadValue) => {\n // Filter out existing files\n const existingFileIds =\n filesRef.current?.map((file) => file.id) || []\n const newFiles = files.filter(\n (file) => !existingFileIds.includes(file.id)\n )\n const newValidFiles = newFiles.filter((file) => !file.errorMessage)\n\n if (newValidFiles.length > 0) {\n // Set loading\n const newFilesLoading = newFiles.map((file) => ({\n ...file,\n isLoading: !file.errorMessage,\n }))\n setFiles([...filesRef.current, ...newFilesLoading])\n\n const incomingFiles = await fileHandler(newValidFiles)\n // merge incoming files into existing order of newFiles.\n incomingFiles.forEach((file) => {\n const incomingFileObj = {\n ...file,\n isLoading: false,\n }\n const foundIndex = newFilesLoading.findIndex(\n (newFile) => newFile.isLoading\n )\n if (foundIndex >= 0) {\n newFilesLoading[foundIndex] = incomingFileObj\n } else {\n // if there's more files incoming than there's files loading (edge case), add them to end of array.\n newFilesLoading.push(incomingFileObj)\n }\n })\n\n const indexOfFirstNewFile = filesRef.current.findIndex(\n ({ id }) => id === newFiles[0].id\n )\n\n const updatedFiles = [\n ...filesRef.current.slice(0, indexOfFirstNewFile),\n ...newFilesLoading,\n ...filesRef.current.slice(\n indexOfFirstNewFile + newFilesLoading.length\n ),\n ]\n\n // Set error, if any\n handleChange(updatedFiles)\n } else {\n handleChange(files)\n }\n },\n [setFiles, fileHandler, handleChange]\n )\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n\n if (fileHandler) {\n handleChangeAsync(files)\n } else {\n handleChange(files)\n }\n },\n [handleBlur, handleFocus, fileHandler, handleChangeAsync, handleChange]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n id,\n forId: `${id}-input`,\n labelSrOnly: true,\n className: classnames('dnb-forms-field-upload', className),\n width,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n download={download}\n allowDuplicates={allowDuplicates}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n onFileClick={onFileClick}\n title={label ?? title}\n text={\n help ? (\n <>\n {labelDescription ?? text}\n <HelpButtonInline\n contentId={`${id}-help`}\n left={text ? 'x-small' : false}\n help={help}\n />\n </>\n ) : (\n labelDescription ?? text\n )\n }\n {...htmlAttributes}\n >\n {help && (\n <HelpButtonInlineContent\n contentId={`${id}-help`}\n help={help}\n roundedCorner={false}\n />\n )}\n </Upload>\n </FieldBlock>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n\nexport function transformFiles(value: UploadValue) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return undefined\n }\n\n value.map((item) => {\n if (item?.file && !(item.file instanceof File)) {\n // To support session storage, we recreated the file blob.\n item['file'] = new File([], item['name'] || item?.file['name'], {\n lastModified: (item.file as File)?.lastModified ?? 0,\n type: (item.file as File)?.type ?? '',\n })\n }\n return item\n })\n }\n\n return value\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -30,7 +30,7 @@ function SubmitConfirmation(props) {
|
|
|
30
30
|
} = props;
|
|
31
31
|
const {
|
|
32
32
|
setFormState,
|
|
33
|
-
|
|
33
|
+
setFieldEventListener,
|
|
34
34
|
handleSubmit: handleFinalSubmit,
|
|
35
35
|
submitState,
|
|
36
36
|
formElementRef,
|
|
@@ -131,16 +131,16 @@ function SubmitConfirmation(props) {
|
|
|
131
131
|
preventSubmit();
|
|
132
132
|
await setConfirmationState('readyToBeSubmitted');
|
|
133
133
|
}, [setConfirmationState, validatePreventSubmit]);
|
|
134
|
-
|
|
134
|
+
setFieldEventListener === null || setFieldEventListener === void 0 ? void 0 : setFieldEventListener(undefined, 'onSubmit', handleSubmit);
|
|
135
135
|
const submitHandler = (0, _react.useCallback)(async () => {
|
|
136
|
-
|
|
136
|
+
setFieldEventListener === null || setFieldEventListener === void 0 ? void 0 : setFieldEventListener(undefined, 'onSubmit', handleSubmit, {
|
|
137
137
|
remove: true
|
|
138
138
|
});
|
|
139
139
|
await setConfirmationState('submitInProgress');
|
|
140
140
|
await handleFinalSubmit();
|
|
141
141
|
await setConfirmationState('submissionComplete');
|
|
142
142
|
setFocusOnButton();
|
|
143
|
-
}, [handleFinalSubmit, handleSubmit, setFocusOnButton,
|
|
143
|
+
}, [handleFinalSubmit, handleSubmit, setFocusOnButton, setFieldEventListener, setConfirmationState]);
|
|
144
144
|
const sharedProviderParams = {
|
|
145
145
|
formElement: {
|
|
146
146
|
disabled: false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubmitConfirmation.js","names":["_react","_interopRequireWildcard","require","_Context","_interopRequireDefault","_Provider","_components","_componentHelper","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","SubmitConfirmation","props","forceUpdate","useReducer","preventSubmitWhen","onStateChange","onSubmitResult","renderWithState","children","setFormState","setHandleSubmit","handleSubmit","handleFinalSubmit","submitState","formElementRef","internalDataRef","useContext","DataContext","confirmationStateRef","useRef","submitStateRef","preventSubmitRef","undefined","validatePreventSubmit","useCallback","current","getParamsRef","setConfirmationState","state","window","requestAnimationFrame","keepPending","confirmationState","connectWithDialog","openState","onConfirm","submitHandler","onDecline","cancelHandler","onClose","_ref","triggeredBy","data","useMemo","removeUndefinedProps","setFocusOnButton","form","element","querySelector","focus","_ref2","preventSubmit","remove","sharedProviderParams","formElement","disabled","createElement","Fragment","HeightAnimation","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport DataContext from '../../DataContext/Context'\nimport SharedProvider from '../../../../shared/Provider'\nimport { ContextProps } from '../../../../shared/Context'\nimport { HeightAnimation } from '../../../../components'\nimport {\n DialogContentProps,\n DialogProps,\n} from '../../../../components/dialog/types'\nimport { EventStateObject } from '../../types'\nimport { removeUndefinedProps } from '../../../../shared/component-helper'\n\nexport type ConfirmationState =\n | 'idle'\n | 'readyToBeSubmitted'\n | 'submitInProgress'\n | 'submissionComplete'\n\nexport type ConfirmParams = {\n data: unknown\n confirmationState: ConfirmationState\n submitState: EventStateObject | undefined\n connectWithDialog: Pick<\n DialogProps & DialogContentProps,\n 'openState' | 'onConfirm' | 'onDecline' | 'onClose'\n >\n setConfirmationState: (state: ConfirmationState) => void\n submitHandler: () => void | Promise<void>\n cancelHandler: () => void | Promise<void>\n}\n\nexport type ConfirmProps = {\n preventSubmitWhen?: (params: ConfirmParams) => boolean\n onStateChange?: (params: ConfirmParams) => void | Promise<void>\n onSubmitResult?: (params: ConfirmParams) => void\n renderWithState?: (params: ConfirmParams) => React.ReactNode\n children?: React.ReactNode\n}\n\nfunction SubmitConfirmation(props: ConfirmProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n preventSubmitWhen,\n onStateChange,\n onSubmitResult,\n renderWithState,\n children,\n } = props\n\n const {\n setFormState,\n setHandleSubmit,\n handleSubmit: handleFinalSubmit,\n submitState,\n formElementRef,\n internalDataRef,\n } = useContext(DataContext)\n\n const confirmationStateRef = useRef<ConfirmationState>('idle')\n const submitStateRef = useRef<EventStateObject>()\n const preventSubmitRef = useRef<boolean>(undefined)\n\n const validatePreventSubmit = useCallback(() => {\n return (preventSubmitRef.current = preventSubmitWhen?.(\n getParamsRef.current()\n ))\n }, [preventSubmitWhen])\n\n const setConfirmationState = useCallback(\n async (state: ConfirmationState) => {\n confirmationStateRef.current = state\n await onStateChange?.(getParamsRef.current())\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(() => {\n switch (state) {\n case 'idle':\n setFormState('complete', { keepPending: false })\n break\n case 'readyToBeSubmitted':\n setFormState('pending', { keepPending: true })\n break\n case 'submitInProgress':\n setFormState('pending', { keepPending: true })\n break\n case 'submissionComplete':\n setFormState('complete', { keepPending: false })\n break\n default:\n forceUpdate()\n }\n })\n }\n },\n [onStateChange, setFormState]\n )\n\n const getParamsRef = useRef(() => {\n const confirmationState = confirmationStateRef.current\n\n const connectWithDialog = {\n openState: confirmationState === 'readyToBeSubmitted',\n onConfirm: submitHandler,\n onDecline: cancelHandler,\n onClose: ({ triggeredBy }) => {\n if (triggeredBy === 'keyboard') {\n cancelHandler()\n }\n },\n }\n\n return {\n data: internalDataRef?.current,\n confirmationState,\n setConfirmationState,\n submitHandler,\n cancelHandler,\n connectWithDialog,\n submitState: submitStateRef.current,\n } satisfies ConfirmParams\n })\n\n useMemo(() => {\n if (Object.keys(removeUndefinedProps(submitState) || {}).length > 0) {\n submitStateRef.current = {\n ...submitState,\n } as EventStateObject\n onSubmitResult?.(getParamsRef.current())\n }\n }, [submitState, onSubmitResult])\n\n const setFocusOnButton = useCallback(() => {\n try {\n const form = formElementRef.current\n const element = (form.querySelector('.dnb-forms-submit-button') ||\n form) as HTMLElement\n element.focus()\n } catch (e) {\n //\n }\n }, [formElementRef])\n\n const cancelHandler = useCallback(async () => {\n await setConfirmationState('idle')\n setFocusOnButton()\n }, [setFocusOnButton, setConfirmationState])\n\n const handleSubmit = useCallback(\n async ({ preventSubmit }) => {\n if (confirmationStateRef.current === 'submitInProgress') {\n return // stop here\n }\n\n if (validatePreventSubmit() !== true) {\n await setConfirmationState('submitInProgress')\n return // stop here\n }\n\n submitStateRef.current = undefined\n\n // Prevent the form form from being submitted\n preventSubmit()\n\n await setConfirmationState('readyToBeSubmitted')\n },\n [setConfirmationState, validatePreventSubmit]\n )\n setHandleSubmit?.(handleSubmit)\n\n const submitHandler = useCallback(async () => {\n setHandleSubmit?.(handleSubmit, { remove: true })\n\n await setConfirmationState('submitInProgress')\n await handleFinalSubmit()\n await setConfirmationState('submissionComplete')\n\n setFocusOnButton()\n }, [\n handleFinalSubmit,\n handleSubmit,\n setFocusOnButton,\n setHandleSubmit,\n setConfirmationState,\n ])\n\n const sharedProviderParams: ContextProps = {\n formElement: {\n disabled: false,\n },\n }\n\n return (\n <>\n {children}\n\n <SharedProvider {...sharedProviderParams}>\n <HeightAnimation>\n {renderWithState?.(getParamsRef.current())}\n </HeightAnimation>\n </SharedProvider>\n </>\n )\n}\n\nSubmitConfirmation._supportsSpacingProps = 'children'\nexport default SubmitConfirmation\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAOA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AAEA,IAAAI,WAAA,GAAAJ,OAAA;AAMA,IAAAK,gBAAA,GAAAL,OAAA;AAA0E,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAApB,CAAA,EAAAK,CAAA,QAAAC,CAAA,GAAAM,MAAA,CAAAS,IAAA,CAAArB,CAAA,OAAAY,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAAtB,CAAA,GAAAK,CAAA,KAAAkB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAnB,CAAA,WAAAO,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAK,CAAA,EAAAoB,UAAA,OAAAnB,CAAA,CAAAoB,IAAA,CAAAC,KAAA,CAAArB,CAAA,EAAAiB,CAAA,YAAAjB,CAAA;AAAA,SAAAsB,cAAA5B,CAAA,aAAAK,CAAA,MAAAA,CAAA,GAAAwB,SAAA,CAAAC,MAAA,EAAAzB,CAAA,UAAAC,CAAA,WAAAuB,SAAA,CAAAxB,CAAA,IAAAwB,SAAA,CAAAxB,CAAA,QAAAA,CAAA,OAAAe,OAAA,CAAAR,MAAA,CAAAN,CAAA,OAAAyB,OAAA,WAAA1B,CAAA,IAAA2B,eAAA,CAAAhC,CAAA,EAAAK,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAO,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAlC,CAAA,EAAAY,MAAA,CAAAqB,yBAAA,CAAA3B,CAAA,KAAAc,OAAA,CAAAR,MAAA,CAAAN,CAAA,GAAAyB,OAAA,WAAA1B,CAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,EAAAO,MAAA,CAAAE,wBAAA,CAAAR,CAAA,EAAAD,CAAA,iBAAAL,CAAA;AAAA,SAAAgC,gBAAAhC,CAAA,EAAAK,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAA8B,cAAA,CAAA9B,CAAA,MAAAL,CAAA,GAAAY,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,IAAA+B,KAAA,EAAA9B,CAAA,EAAAmB,UAAA,MAAAY,YAAA,MAAAC,QAAA,UAAAtC,CAAA,CAAAK,CAAA,IAAAC,CAAA,EAAAN,CAAA;AAAA,SAAAmC,eAAA7B,CAAA,QAAAY,CAAA,GAAAqB,YAAA,CAAAjC,CAAA,uCAAAY,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAqB,aAAAjC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAN,CAAA,GAAAM,CAAA,CAAAkC,MAAA,CAAAC,WAAA,kBAAAzC,CAAA,QAAAkB,CAAA,GAAAlB,CAAA,CAAAiB,IAAA,CAAAX,CAAA,EAAAD,CAAA,uCAAAa,CAAA,SAAAA,CAAA,YAAAwB,SAAA,yEAAArC,CAAA,GAAAsC,MAAA,GAAAC,MAAA,EAAAtC,CAAA;AA6B1E,SAASuC,kBAAkBA,CAACC,KAAmB,EAAE;EAC/C,MAAM,GAAGC,WAAW,CAAC,GAAG,IAAAC,iBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAElD,MAAM;IACJC,iBAAiB;IACjBC,aAAa;IACbC,cAAc;IACdC,eAAe;IACfC;EACF,CAAC,GAAGP,KAAK;EAET,MAAM;IACJQ,YAAY;IACZC,eAAe;IACfC,YAAY,EAAEC,iBAAiB;IAC/BC,WAAW;IACXC,cAAc;IACdC;EACF,CAAC,GAAG,IAAAC,iBAAU,EAACC,gBAAW,CAAC;EAE3B,MAAMC,oBAAoB,GAAG,IAAAC,aAAM,EAAoB,MAAM,CAAC;EAC9D,MAAMC,cAAc,GAAG,IAAAD,aAAM,EAAmB,CAAC;EACjD,MAAME,gBAAgB,GAAG,IAAAF,aAAM,EAAUG,SAAS,CAAC;EAEnD,MAAMC,qBAAqB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC9C,OAAQH,gBAAgB,CAACI,OAAO,GAAGrB,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAClDsB,YAAY,CAACD,OAAO,CAAC,CACvB,CAAC;EACH,CAAC,EAAE,CAACrB,iBAAiB,CAAC,CAAC;EAEvB,MAAMuB,oBAAoB,GAAG,IAAAH,kBAAW,EACtC,MAAOI,KAAwB,IAAK;IAClCV,oBAAoB,CAACO,OAAO,GAAGG,KAAK;IACpC,OAAMvB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAGqB,YAAY,CAACD,OAAO,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAOI,MAAM,KAAK,WAAW,EAAE;MACjCA,MAAM,CAACC,qBAAqB,CAAC,MAAM;QACjC,QAAQF,KAAK;UACX,KAAK,MAAM;YACTnB,YAAY,CAAC,UAAU,EAAE;cAAEsB,WAAW,EAAE;YAAM,CAAC,CAAC;YAChD;UACF,KAAK,oBAAoB;YACvBtB,YAAY,CAAC,SAAS,EAAE;cAAEsB,WAAW,EAAE;YAAK,CAAC,CAAC;YAC9C;UACF,KAAK,kBAAkB;YACrBtB,YAAY,CAAC,SAAS,EAAE;cAAEsB,WAAW,EAAE;YAAK,CAAC,CAAC;YAC9C;UACF,KAAK,oBAAoB;YACvBtB,YAAY,CAAC,UAAU,EAAE;cAAEsB,WAAW,EAAE;YAAM,CAAC,CAAC;YAChD;UACF;YACE7B,WAAW,CAAC,CAAC;QACjB;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACG,aAAa,EAAEI,YAAY,CAC9B,CAAC;EAED,MAAMiB,YAAY,GAAG,IAAAP,aAAM,EAAC,MAAM;IAChC,MAAMa,iBAAiB,GAAGd,oBAAoB,CAACO,OAAO;IAEtD,MAAMQ,iBAAiB,GAAG;MACxBC,SAAS,EAAEF,iBAAiB,KAAK,oBAAoB;MACrDG,SAAS,EAAEC,aAAa;MACxBC,SAAS,EAAEC,aAAa;MACxBC,OAAO,EAAEC,IAAA,IAAqB;QAAA,IAApB;UAAEC;QAAY,CAAC,GAAAD,IAAA;QACvB,IAAIC,WAAW,KAAK,UAAU,EAAE;UAC9BH,aAAa,CAAC,CAAC;QACjB;MACF;IACF,CAAC;IAED,OAAO;MACLI,IAAI,EAAE3B,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEU,OAAO;MAC9BO,iBAAiB;MACjBL,oBAAoB;MACpBS,aAAa;MACbE,aAAa;MACbL,iBAAiB;MACjBpB,WAAW,EAAEO,cAAc,CAACK;IAC9B,CAAC;EACH,CAAC,CAAC;EAEF,IAAAkB,cAAO,EAAC,MAAM;IACZ,IAAI5E,MAAM,CAACS,IAAI,CAAC,IAAAoE,qCAAoB,EAAC/B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC5B,MAAM,GAAG,CAAC,EAAE;MACnEmC,cAAc,CAACK,OAAO,GAAA1C,aAAA,KACjB8B,WAAW,CACK;MACrBP,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAGoB,YAAY,CAACD,OAAO,CAAC,CAAC,CAAC;IAC1C;EACF,CAAC,EAAE,CAACZ,WAAW,EAAEP,cAAc,CAAC,CAAC;EAEjC,MAAMuC,gBAAgB,GAAG,IAAArB,kBAAW,EAAC,MAAM;IACzC,IAAI;MACF,MAAMsB,IAAI,GAAGhC,cAAc,CAACW,OAAO;MACnC,MAAMsB,OAAO,GAAID,IAAI,CAACE,aAAa,CAAC,0BAA0B,CAAC,IAC7DF,IAAoB;MACtBC,OAAO,CAACE,KAAK,CAAC,CAAC;IACjB,CAAC,CAAC,OAAO9F,CAAC,EAAE,CAEZ;EACF,CAAC,EAAE,CAAC2D,cAAc,CAAC,CAAC;EAEpB,MAAMwB,aAAa,GAAG,IAAAd,kBAAW,EAAC,YAAY;IAC5C,MAAMG,oBAAoB,CAAC,MAAM,CAAC;IAClCkB,gBAAgB,CAAC,CAAC;EACpB,CAAC,EAAE,CAACA,gBAAgB,EAAElB,oBAAoB,CAAC,CAAC;EAE5C,MAAMhB,YAAY,GAAG,IAAAa,kBAAW,EAC9B,MAAA0B,KAAA,IAA6B;IAAA,IAAtB;MAAEC;IAAc,CAAC,GAAAD,KAAA;IACtB,IAAIhC,oBAAoB,CAACO,OAAO,KAAK,kBAAkB,EAAE;MACvD;IACF;IAEA,IAAIF,qBAAqB,CAAC,CAAC,KAAK,IAAI,EAAE;MACpC,MAAMI,oBAAoB,CAAC,kBAAkB,CAAC;MAC9C;IACF;IAEAP,cAAc,CAACK,OAAO,GAAGH,SAAS;IAGlC6B,aAAa,CAAC,CAAC;IAEf,MAAMxB,oBAAoB,CAAC,oBAAoB,CAAC;EAClD,CAAC,EACD,CAACA,oBAAoB,EAAEJ,qBAAqB,CAC9C,CAAC;EACDb,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAGC,YAAY,CAAC;EAE/B,MAAMyB,aAAa,GAAG,IAAAZ,kBAAW,EAAC,YAAY;IAC5Cd,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAGC,YAAY,EAAE;MAAEyC,MAAM,EAAE;IAAK,CAAC,CAAC;IAEjD,MAAMzB,oBAAoB,CAAC,kBAAkB,CAAC;IAC9C,MAAMf,iBAAiB,CAAC,CAAC;IACzB,MAAMe,oBAAoB,CAAC,oBAAoB,CAAC;IAEhDkB,gBAAgB,CAAC,CAAC;EACpB,CAAC,EAAE,CACDjC,iBAAiB,EACjBD,YAAY,EACZkC,gBAAgB,EAChBnC,eAAe,EACfiB,oBAAoB,CACrB,CAAC;EAEF,MAAM0B,oBAAkC,GAAG;IACzCC,WAAW,EAAE;MACXC,QAAQ,EAAE;IACZ;EACF,CAAC;EAED,OACE5G,MAAA,CAAAU,OAAA,CAAAmG,aAAA,CAAA7G,MAAA,CAAAU,OAAA,CAAAoG,QAAA,QACGjD,QAAQ,EAET7D,MAAA,CAAAU,OAAA,CAAAmG,aAAA,CAACxG,SAAA,CAAAK,OAAc,EAAKgG,oBAAoB,EACtC1G,MAAA,CAAAU,OAAA,CAAAmG,aAAA,CAACvG,WAAA,CAAAyG,eAAe,QACbnD,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAGmB,YAAY,CAACD,OAAO,CAAC,CAAC,CAC1B,CACH,CAChB,CAAC;AAEP;AAEAzB,kBAAkB,CAAC2D,qBAAqB,GAAG,UAAU;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAxG,OAAA,GACtC2C,kBAAkB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SubmitConfirmation.js","names":["_react","_interopRequireWildcard","require","_Context","_interopRequireDefault","_Provider","_components","_componentHelper","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","SubmitConfirmation","props","forceUpdate","useReducer","preventSubmitWhen","onStateChange","onSubmitResult","renderWithState","children","setFormState","setFieldEventListener","handleSubmit","handleFinalSubmit","submitState","formElementRef","internalDataRef","useContext","DataContext","confirmationStateRef","useRef","submitStateRef","preventSubmitRef","undefined","validatePreventSubmit","useCallback","current","getParamsRef","setConfirmationState","state","window","requestAnimationFrame","keepPending","confirmationState","connectWithDialog","openState","onConfirm","submitHandler","onDecline","cancelHandler","onClose","_ref","triggeredBy","data","useMemo","removeUndefinedProps","setFocusOnButton","form","element","querySelector","focus","_ref2","preventSubmit","remove","sharedProviderParams","formElement","disabled","createElement","Fragment","HeightAnimation","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport DataContext from '../../DataContext/Context'\nimport SharedProvider from '../../../../shared/Provider'\nimport { ContextProps } from '../../../../shared/Context'\nimport { HeightAnimation } from '../../../../components'\nimport {\n DialogContentProps,\n DialogProps,\n} from '../../../../components/dialog/types'\nimport { EventStateObject } from '../../types'\nimport { removeUndefinedProps } from '../../../../shared/component-helper'\n\nexport type ConfirmationState =\n | 'idle'\n | 'readyToBeSubmitted'\n | 'submitInProgress'\n | 'submissionComplete'\n\nexport type ConfirmParams = {\n data: unknown\n confirmationState: ConfirmationState\n submitState: EventStateObject | undefined\n connectWithDialog: Pick<\n DialogProps & DialogContentProps,\n 'openState' | 'onConfirm' | 'onDecline' | 'onClose'\n >\n setConfirmationState: (state: ConfirmationState) => void\n submitHandler: () => void | Promise<void>\n cancelHandler: () => void | Promise<void>\n}\n\nexport type ConfirmProps = {\n preventSubmitWhen?: (params: ConfirmParams) => boolean\n onStateChange?: (params: ConfirmParams) => void | Promise<void>\n onSubmitResult?: (params: ConfirmParams) => void\n renderWithState?: (params: ConfirmParams) => React.ReactNode\n children?: React.ReactNode\n}\n\nfunction SubmitConfirmation(props: ConfirmProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n preventSubmitWhen,\n onStateChange,\n onSubmitResult,\n renderWithState,\n children,\n } = props\n\n const {\n setFormState,\n setFieldEventListener,\n handleSubmit: handleFinalSubmit,\n submitState,\n formElementRef,\n internalDataRef,\n } = useContext(DataContext)\n\n const confirmationStateRef = useRef<ConfirmationState>('idle')\n const submitStateRef = useRef<EventStateObject>()\n const preventSubmitRef = useRef<boolean>(undefined)\n\n const validatePreventSubmit = useCallback(() => {\n return (preventSubmitRef.current = preventSubmitWhen?.(\n getParamsRef.current()\n ))\n }, [preventSubmitWhen])\n\n const setConfirmationState = useCallback(\n async (state: ConfirmationState) => {\n confirmationStateRef.current = state\n await onStateChange?.(getParamsRef.current())\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(() => {\n switch (state) {\n case 'idle':\n setFormState('complete', { keepPending: false })\n break\n case 'readyToBeSubmitted':\n setFormState('pending', { keepPending: true })\n break\n case 'submitInProgress':\n setFormState('pending', { keepPending: true })\n break\n case 'submissionComplete':\n setFormState('complete', { keepPending: false })\n break\n default:\n forceUpdate()\n }\n })\n }\n },\n [onStateChange, setFormState]\n )\n\n const getParamsRef = useRef(() => {\n const confirmationState = confirmationStateRef.current\n\n const connectWithDialog = {\n openState: confirmationState === 'readyToBeSubmitted',\n onConfirm: submitHandler,\n onDecline: cancelHandler,\n onClose: ({ triggeredBy }) => {\n if (triggeredBy === 'keyboard') {\n cancelHandler()\n }\n },\n }\n\n return {\n data: internalDataRef?.current,\n confirmationState,\n setConfirmationState,\n submitHandler,\n cancelHandler,\n connectWithDialog,\n submitState: submitStateRef.current,\n } satisfies ConfirmParams\n })\n\n useMemo(() => {\n if (Object.keys(removeUndefinedProps(submitState) || {}).length > 0) {\n submitStateRef.current = {\n ...submitState,\n } as EventStateObject\n onSubmitResult?.(getParamsRef.current())\n }\n }, [submitState, onSubmitResult])\n\n const setFocusOnButton = useCallback(() => {\n try {\n const form = formElementRef.current\n const element = (form.querySelector('.dnb-forms-submit-button') ||\n form) as HTMLElement\n element.focus()\n } catch (e) {\n //\n }\n }, [formElementRef])\n\n const cancelHandler = useCallback(async () => {\n await setConfirmationState('idle')\n setFocusOnButton()\n }, [setFocusOnButton, setConfirmationState])\n\n const handleSubmit = useCallback(\n async ({ preventSubmit }) => {\n if (confirmationStateRef.current === 'submitInProgress') {\n return // stop here\n }\n\n if (validatePreventSubmit() !== true) {\n await setConfirmationState('submitInProgress')\n return // stop here\n }\n\n submitStateRef.current = undefined\n\n // Prevent the form form from being submitted\n preventSubmit()\n\n await setConfirmationState('readyToBeSubmitted')\n },\n [setConfirmationState, validatePreventSubmit]\n )\n setFieldEventListener?.(undefined, 'onSubmit', handleSubmit)\n\n const submitHandler = useCallback(async () => {\n setFieldEventListener?.(undefined, 'onSubmit', handleSubmit, {\n remove: true,\n })\n\n await setConfirmationState('submitInProgress')\n await handleFinalSubmit()\n await setConfirmationState('submissionComplete')\n\n setFocusOnButton()\n }, [\n handleFinalSubmit,\n handleSubmit,\n setFocusOnButton,\n setFieldEventListener,\n setConfirmationState,\n ])\n\n const sharedProviderParams: ContextProps = {\n formElement: {\n disabled: false,\n },\n }\n\n return (\n <>\n {children}\n\n <SharedProvider {...sharedProviderParams}>\n <HeightAnimation>\n {renderWithState?.(getParamsRef.current())}\n </HeightAnimation>\n </SharedProvider>\n </>\n )\n}\n\nSubmitConfirmation._supportsSpacingProps = 'children'\nexport default SubmitConfirmation\n"],"mappings":"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","ignoreList":[]}
|