@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_SpacingHelper","_Provider","_Context","_componentHelper","_useId","_UploadFileInput","_useUpload","_UploadDropzone","_UploadContext","_UploadVerify","_UploadFileList2","_UploadInfo2","_UploadInfo","_UploadFileList","_excluded","_excluded2","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","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Upload","localProps","context","React","useContext","Context","_context$getTranslati","getTranslation","buttonTextSingular","textSingular","translations","filesAmountLimit","buttonText","text","extendedProps","extendPropsWithContext","defaultProps","skeleton","id","idProp","className","acceptedFileTypes","fileMaxSize","onChange","onFileDelete","onFileClick","download","title","fileTypeTableCaption","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","props","spacingClasses","createSpacingClasses","useId","files","setFiles","setInternalFiles","getExistingFile","useUpload","onInputUpload","useCallback","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","makeUniqueId","verifiedFiles","verifyFiles","_ref","validFiles","slice","createElement","UploadContext","Provider","classnames","_formElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/upload/Upload.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\n\n// Shared\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Provider from '../../shared/Provider'\nimport Context from '../../shared/Context'\nimport {\n extendPropsWithContext,\n makeUniqueId,\n} from '../../shared/component-helper'\nimport useId from '../../shared/helpers/useId'\n\n// Internal\nimport UploadFileInput from './UploadFileInput'\nimport useUpload from './useUpload'\nimport UploadDropzone from './UploadDropzone'\nimport { UploadContext, defaultProps } from './UploadContext'\nimport { verifyFiles } from './UploadVerify'\n\nimport type { UploadFile, UploadAllProps } from './types'\nimport UploadFileList from './UploadFileList'\nimport UploadInfo from './UploadInfo'\n\nexport type * from './types'\nexport { defaultProps }\n\nconst Upload = (localProps: UploadAllProps) => {\n const context = React.useContext(Context)\n\n const { buttonTextSingular, textSingular, ...translations } =\n context.getTranslation(localProps).Upload\n\n if (localProps?.filesAmountLimit === 1) {\n translations.buttonText = buttonTextSingular\n translations.text = textSingular\n }\n\n const extendedProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n translations,\n context.Upload\n )\n\n const {\n id: idProp,\n skeleton,\n className,\n acceptedFileTypes,\n filesAmountLimit,\n fileMaxSize,\n onChange,\n onFileDelete, // eslint-disable-line\n onFileClick, // eslint-disable-line\n download, // eslint-disable-line\n title, // eslint-disable-line\n text, // eslint-disable-line\n fileTypeTableCaption, // eslint-disable-line\n fileTypeDescription, // eslint-disable-line\n fileSizeDescription, // eslint-disable-line\n fileAmountDescription, // eslint-disable-line\n fileSizeContent, // eslint-disable-line\n buttonText, // eslint-disable-line\n loadingText, // eslint-disable-line\n errorLargeFile,\n errorUnsupportedFile,\n errorAmountLimit, // eslint-disable-line\n deleteButton, // eslint-disable-line\n fileListAriaLabel, // eslint-disable-line\n ...props\n } = extendedProps\n\n const spacingClasses = createSpacingClasses(props)\n\n const id = useId(idProp)\n\n const { files, setFiles, setInternalFiles, getExistingFile } =\n useUpload(id)\n\n const onInputUpload = useCallback(\n (newFiles: Array<UploadFile>) => {\n const mergedFiles = [\n ...files,\n ...newFiles.map((fileItem) => {\n const { file } = fileItem\n\n const existingFile = getExistingFile(file, files)\n\n fileItem.exists = Boolean(existingFile)\n fileItem.id = fileItem.exists ? existingFile.id : makeUniqueId()\n\n return fileItem\n }),\n ]\n\n const verifiedFiles = verifyFiles(\n mergedFiles.filter(({ exists }) => !exists),\n {\n fileMaxSize,\n acceptedFileTypes,\n errorUnsupportedFile,\n errorLargeFile,\n }\n )\n\n const validFiles = [...verifiedFiles].slice(\n 0,\n filesAmountLimit\n ) as Array<UploadFile>\n\n setFiles(validFiles)\n setInternalFiles(mergedFiles)\n\n if (typeof onChange === 'function') {\n onChange({ files: validFiles })\n }\n\n return validFiles\n },\n [\n acceptedFileTypes,\n errorLargeFile,\n errorUnsupportedFile,\n fileMaxSize,\n files,\n filesAmountLimit,\n getExistingFile,\n onChange,\n setFiles,\n setInternalFiles,\n ]\n )\n\n return (\n <UploadContext.Provider\n value={{\n ...extendedProps,\n id,\n onInputUpload,\n }}\n >\n <Provider skeleton={skeleton}>\n <UploadDropzone\n className={classnames('dnb-upload', spacingClasses, className)}\n >\n <UploadInfo />\n\n <UploadFileInput {...props} />\n\n <UploadFileList />\n </UploadDropzone>\n </Provider>\n </UploadContext.Provider>\n )\n}\n\nUpload.useUpload = useUpload\n\nUpload._formElement = true\nUpload._supportsSpacingProps = true\n\nexport default Upload\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_SpacingHelper","_Provider","_Context","_componentHelper","_useId","_UploadFileInput","_useUpload","_UploadDropzone","_UploadContext","_UploadVerify","_UploadFileList2","_UploadInfo2","_UploadInfo","_UploadFileList","_excluded","_excluded2","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","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Upload","localProps","context","React","useContext","Context","_context$getTranslati","getTranslation","buttonTextSingular","textSingular","translations","filesAmountLimit","buttonText","text","extendedProps","extendPropsWithContext","defaultProps","skeleton","id","idProp","className","acceptedFileTypes","fileMaxSize","onChange","onFileDelete","onFileClick","download","allowDuplicates","title","fileTypeTableCaption","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","props","spacingClasses","createSpacingClasses","useId","files","setFiles","setInternalFiles","getExistingFile","useUpload","onInputUpload","useCallback","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","makeUniqueId","filesToVerify","_ref","verifiedFiles","verifyFiles","validFiles","slice","createElement","UploadContext","Provider","classnames","_formElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/upload/Upload.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\n\n// Shared\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Provider from '../../shared/Provider'\nimport Context from '../../shared/Context'\nimport {\n extendPropsWithContext,\n makeUniqueId,\n} from '../../shared/component-helper'\nimport useId from '../../shared/helpers/useId'\n\n// Internal\nimport UploadFileInput from './UploadFileInput'\nimport useUpload from './useUpload'\nimport UploadDropzone from './UploadDropzone'\nimport { UploadContext, defaultProps } from './UploadContext'\nimport { verifyFiles } from './UploadVerify'\n\nimport type { UploadFile, UploadAllProps } from './types'\nimport UploadFileList from './UploadFileList'\nimport UploadInfo from './UploadInfo'\n\nexport type * from './types'\nexport { defaultProps }\n\nconst Upload = (localProps: UploadAllProps) => {\n const context = React.useContext(Context)\n\n const { buttonTextSingular, textSingular, ...translations } =\n context.getTranslation(localProps).Upload\n\n if (localProps?.filesAmountLimit === 1) {\n translations.buttonText = buttonTextSingular\n translations.text = textSingular\n }\n\n const extendedProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n translations,\n context.Upload\n )\n\n const {\n id: idProp,\n skeleton,\n className,\n acceptedFileTypes,\n filesAmountLimit,\n fileMaxSize,\n onChange,\n onFileDelete, // eslint-disable-line\n onFileClick, // eslint-disable-line\n download, // eslint-disable-line\n allowDuplicates, // eslint-disable-line\n title, // eslint-disable-line\n text, // eslint-disable-line\n fileTypeTableCaption, // eslint-disable-line\n fileTypeDescription, // eslint-disable-line\n fileSizeDescription, // eslint-disable-line\n fileAmountDescription, // eslint-disable-line\n fileSizeContent, // eslint-disable-line\n buttonText, // eslint-disable-line\n loadingText, // eslint-disable-line\n errorLargeFile,\n errorUnsupportedFile,\n errorAmountLimit, // eslint-disable-line\n deleteButton, // eslint-disable-line\n fileListAriaLabel, // eslint-disable-line\n ...props\n } = extendedProps\n\n const spacingClasses = createSpacingClasses(props)\n\n const id = useId(idProp)\n\n const { files, setFiles, setInternalFiles, getExistingFile } =\n useUpload(id)\n\n const onInputUpload = useCallback(\n (newFiles: Array<UploadFile>) => {\n const mergedFiles = [\n ...files,\n ...newFiles.map((fileItem) => {\n const { file } = fileItem\n\n const existingFile = getExistingFile(file, files)\n\n fileItem.exists = Boolean(existingFile)\n fileItem.id =\n fileItem.exists && !allowDuplicates\n ? existingFile.id\n : makeUniqueId()\n\n return fileItem\n }),\n ]\n\n const filesToVerify = allowDuplicates\n ? mergedFiles\n : mergedFiles.filter(({ exists }) => !exists)\n\n const verifiedFiles = verifyFiles(filesToVerify, {\n fileMaxSize,\n acceptedFileTypes,\n errorUnsupportedFile,\n errorLargeFile,\n })\n\n const validFiles = [...verifiedFiles].slice(\n 0,\n filesAmountLimit\n ) as Array<UploadFile>\n\n setFiles(validFiles)\n setInternalFiles(mergedFiles)\n\n if (typeof onChange === 'function') {\n onChange({ files: validFiles })\n }\n\n return validFiles\n },\n [\n acceptedFileTypes,\n errorLargeFile,\n errorUnsupportedFile,\n fileMaxSize,\n files,\n filesAmountLimit,\n getExistingFile,\n onChange,\n setFiles,\n setInternalFiles,\n ]\n )\n\n return (\n <UploadContext.Provider\n value={{\n ...extendedProps,\n id,\n onInputUpload,\n }}\n >\n <Provider skeleton={skeleton}>\n <UploadDropzone\n className={classnames('dnb-upload', spacingClasses, className)}\n >\n <UploadInfo />\n\n <UploadFileInput {...props} />\n\n <UploadFileList />\n </UploadDropzone>\n </Provider>\n </UploadContext.Provider>\n )\n}\n\nUpload.useUpload = useUpload\n\nUpload._formElement = true\nUpload._supportsSpacingProps = true\n\nexport default Upload\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,6 +40,11 @@ const UploadProperties = exports.UploadProperties = {
|
|
|
40
40
|
type: 'boolean',
|
|
41
41
|
status: 'optional'
|
|
42
42
|
},
|
|
43
|
+
allowDuplicates: {
|
|
44
|
+
doc: 'Allows uploading of duplicate files. Defaults to `false`.',
|
|
45
|
+
type: 'boolean',
|
|
46
|
+
status: 'optional'
|
|
47
|
+
},
|
|
43
48
|
skeleton: {
|
|
44
49
|
doc: 'Skeleton should be applied when loading content.',
|
|
45
50
|
type: 'boolean',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadDocs.js","names":["UploadProperties","exports","id","doc","type","status","acceptedFileTypes","filesAmountLimit","fileMaxSize","title","text","download","skeleton","AcceptedFileTypeProperties","fileType","UploadEvents","onChange","onFileDelete","onFileClick"],"sources":["../../../../src/components/upload/UploadDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const UploadProperties: PropertiesTableProps = {\n id: {\n doc: 'Unique id used with the useUpload hook to manage the files. Needed when wanting to connect with the useUpload hook.',\n type: ['string', 'Function', 'Object', 'React.Context'],\n status: 'optional',\n },\n acceptedFileTypes: {\n doc: 'List of accepted file types. Either as string or [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype). When providing a list of [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype), the accepted file types will be presented in a table(see [example](/uilib/components/upload/demos/#upload-with-file-max-size-based-on-file-type)).',\n type: ['Array<string>', 'Array<AcceptedFileType>'],\n status: 'required',\n },\n filesAmountLimit: {\n doc: 'Defines the amount of files the user can select and upload. Defaults to 100.',\n type: 'number',\n status: 'optional',\n },\n fileMaxSize: {\n doc: 'Defines the max file size of each file in MB. Use either `0` or `false` to disable. Defaults to 5 MB.',\n type: ['number', 'false'],\n status: 'optional',\n },\n title: {\n doc: 'Custom text property. Replaces the default title. Can be disabled using `false`.',\n type: 'string',\n status: 'optional',\n },\n text: {\n doc: 'Custom text property. Replaces the default text. Can be disabled using `false`.',\n type: 'string',\n status: 'optional',\n },\n download: {\n doc: 'Causes the browser to treat all listed files as downloadable instead of opening them in a new browser tab or window. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n skeleton: {\n doc: 'Skeleton should be applied when loading content.',\n type: 'boolean',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const AcceptedFileTypeProperties: PropertiesTableProps = {\n fileType: {\n doc: 'The name of the accepted file type.',\n type: 'string',\n status: 'required',\n },\n fileMaxSize: {\n doc: 'Defines the max file size of the given file type in MB. Use either `0` or `false` to disable. If not provided, it defaults to the value of [Uploads](/uilib/components/upload/properties/#properties) `fileMaxSize` which defaults to 5 MB.',\n type: ['number', 'false'],\n status: 'optional',\n },\n}\n\nexport const UploadEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called on `files` changes made by the user. Access the files with `{ files }` (containing each a `fileItem`).',\n type: 'function',\n status: 'optional',\n },\n onFileDelete: {\n doc: 'Will be called once a file gets deleted by the user. Access the deleted file with `{ fileItem }`.',\n type: 'function',\n status: 'optional',\n },\n onFileClick: {\n doc: 'Will be called once a file gets clicked on by the user. Access the clicked file with `{ fileItem }`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,gBAAsC,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EACpDE,EAAE,EAAE;IACFC,GAAG,EAAE,qHAAqH;IAC1HC,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC;IACvDC,MAAM,EAAE;EACV,CAAC;EACDC,iBAAiB,EAAE;IACjBH,GAAG,EAAE,oXAAoX;IACzXC,IAAI,EAAE,CAAC,eAAe,EAAE,yBAAyB,CAAC;IAClDC,MAAM,EAAE;EACV,CAAC;EACDE,gBAAgB,EAAE;IAChBJ,GAAG,EAAE,8EAA8E;IACnFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,WAAW,EAAE;IACXL,GAAG,EAAE,uGAAuG;IAC5GC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDI,KAAK,EAAE;IACLN,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,iFAAiF;IACtFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,2IAA2I;IAChJC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDO,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"UploadDocs.js","names":["UploadProperties","exports","id","doc","type","status","acceptedFileTypes","filesAmountLimit","fileMaxSize","title","text","download","allowDuplicates","skeleton","AcceptedFileTypeProperties","fileType","UploadEvents","onChange","onFileDelete","onFileClick"],"sources":["../../../../src/components/upload/UploadDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const UploadProperties: PropertiesTableProps = {\n id: {\n doc: 'Unique id used with the useUpload hook to manage the files. Needed when wanting to connect with the useUpload hook.',\n type: ['string', 'Function', 'Object', 'React.Context'],\n status: 'optional',\n },\n acceptedFileTypes: {\n doc: 'List of accepted file types. Either as string or [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype). When providing a list of [AcceptedFileType](/uilib/components/upload/properties/#acceptedfiletype), the accepted file types will be presented in a table(see [example](/uilib/components/upload/demos/#upload-with-file-max-size-based-on-file-type)).',\n type: ['Array<string>', 'Array<AcceptedFileType>'],\n status: 'required',\n },\n filesAmountLimit: {\n doc: 'Defines the amount of files the user can select and upload. Defaults to 100.',\n type: 'number',\n status: 'optional',\n },\n fileMaxSize: {\n doc: 'Defines the max file size of each file in MB. Use either `0` or `false` to disable. Defaults to 5 MB.',\n type: ['number', 'false'],\n status: 'optional',\n },\n title: {\n doc: 'Custom text property. Replaces the default title. Can be disabled using `false`.',\n type: 'string',\n status: 'optional',\n },\n text: {\n doc: 'Custom text property. Replaces the default text. Can be disabled using `false`.',\n type: 'string',\n status: 'optional',\n },\n download: {\n doc: 'Causes the browser to treat all listed files as downloadable instead of opening them in a new browser tab or window. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n allowDuplicates: {\n doc: 'Allows uploading of duplicate files. Defaults to `false`.',\n type: 'boolean',\n status: 'optional',\n },\n skeleton: {\n doc: 'Skeleton should be applied when loading content.',\n type: 'boolean',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const AcceptedFileTypeProperties: PropertiesTableProps = {\n fileType: {\n doc: 'The name of the accepted file type.',\n type: 'string',\n status: 'required',\n },\n fileMaxSize: {\n doc: 'Defines the max file size of the given file type in MB. Use either `0` or `false` to disable. If not provided, it defaults to the value of [Uploads](/uilib/components/upload/properties/#properties) `fileMaxSize` which defaults to 5 MB.',\n type: ['number', 'false'],\n status: 'optional',\n },\n}\n\nexport const UploadEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called on `files` changes made by the user. Access the files with `{ files }` (containing each a `fileItem`).',\n type: 'function',\n status: 'optional',\n },\n onFileDelete: {\n doc: 'Will be called once a file gets deleted by the user. Access the deleted file with `{ fileItem }`.',\n type: 'function',\n status: 'optional',\n },\n onFileClick: {\n doc: 'Will be called once a file gets clicked on by the user. Access the clicked file with `{ fileItem }`.',\n type: 'function',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,gBAAsC,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EACpDE,EAAE,EAAE;IACFC,GAAG,EAAE,qHAAqH;IAC1HC,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC;IACvDC,MAAM,EAAE;EACV,CAAC;EACDC,iBAAiB,EAAE;IACjBH,GAAG,EAAE,oXAAoX;IACzXC,IAAI,EAAE,CAAC,eAAe,EAAE,yBAAyB,CAAC;IAClDC,MAAM,EAAE;EACV,CAAC;EACDE,gBAAgB,EAAE;IAChBJ,GAAG,EAAE,8EAA8E;IACnFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,WAAW,EAAE;IACXL,GAAG,EAAE,uGAAuG;IAC5GC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDI,KAAK,EAAE;IACLN,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,iFAAiF;IACtFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,2IAA2I;IAChJC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDO,eAAe,EAAE;IACfT,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDQ,QAAQ,EAAE;IACRV,GAAG,EAAE,kDAAkD;IACvDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAEM,MAAMS,0BAAgD,GAAAb,OAAA,CAAAa,0BAAA,GAAG;EAC9DC,QAAQ,EAAE;IACRZ,GAAG,EAAE,qCAAqC;IAC1CC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,WAAW,EAAE;IACXL,GAAG,EAAE,6OAA6O;IAClPC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV;AACF,CAAC;AAEM,MAAMW,YAAkC,GAAAf,OAAA,CAAAe,YAAA,GAAG;EAChDC,QAAQ,EAAE;IACRd,GAAG,EAAE,uHAAuH;IAC5HC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDa,YAAY,EAAE;IACZf,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDc,WAAW,EAAE;IACXhB,GAAG,EAAE,sGAAsG;IAC3GC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
|
|
@@ -26,6 +26,7 @@ function UploadFileList() {
|
|
|
26
26
|
fileListAriaLabel,
|
|
27
27
|
deleteButton,
|
|
28
28
|
download,
|
|
29
|
+
allowDuplicates,
|
|
29
30
|
loadingText,
|
|
30
31
|
onFileDelete,
|
|
31
32
|
onFileClick,
|
|
@@ -127,7 +128,8 @@ function UploadFileList() {
|
|
|
127
128
|
onClick: onFileClick && onFileClickHandler,
|
|
128
129
|
deleteButtonText: deleteButton,
|
|
129
130
|
loadingText: loadingText,
|
|
130
|
-
download: download
|
|
131
|
+
download: download,
|
|
132
|
+
allowDuplicates: allowDuplicates
|
|
131
133
|
});
|
|
132
134
|
}));
|
|
133
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadFileList.js","names":["_react","_interopRequireWildcard","require","_UploadContext","_UploadFileListCell","_interopRequireDefault","_useUpload","_isAsync","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","UploadFileList","context","React","useContext","UploadContext","id","fileListAriaLabel","deleteButton","download","loadingText","onFileDelete","onFileClick","onChange","files","setFiles","setInternalFiles","useUpload","filesRef","useRef","useEffect","current","removeFile","fileToBeRemoved","fileListElement","file","updateFile","fileToBeUpdated","props","map","idIsSame","fileIsSame","updateFiles","updatedFiles","handleDeleteAsync","uploadFile","isLoading","errorMessage","fileItem","error","message","handleFileClickAsync","createElement","className","index","onDeleteHandler","isAsync","onFileClickHandler","key","onDelete","onClick","deleteButtonText","_default","exports"],"sources":["../../../../src/components/upload/UploadFileList.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\nimport { UploadFile } from './types'\nimport { UploadContext } from './UploadContext'\nimport UploadFileListCell from './UploadFileListCell'\nimport useUpload from './useUpload'\nimport { isAsync } from '../../shared/helpers/isAsync'\n\nfunction UploadFileList() {\n const context = React.useContext(UploadContext)\n\n const {\n id,\n fileListAriaLabel,\n deleteButton,\n download,\n loadingText,\n onFileDelete,\n onFileClick,\n onChange,\n } = context\n\n const { files, setFiles, setInternalFiles } = useUpload(id)\n\n const filesRef = useRef(null)\n\n useEffect(() => {\n filesRef.current = files\n }, [files])\n\n if (files === null || files.length < 1) {\n return null\n }\n\n const removeFile = (fileToBeRemoved: UploadFile) => {\n return filesRef.current.filter(\n (fileListElement) => fileListElement.file != fileToBeRemoved.file\n )\n }\n\n const updateFile = (\n fileToBeUpdated: UploadFile,\n props: Partial<UploadFile>\n ) => {\n return filesRef.current.map((fileListElement: UploadFile) => {\n const idIsSame =\n fileListElement.id && fileListElement.id === fileToBeUpdated.id\n\n const fileIsSame =\n fileListElement.file &&\n fileListElement.file === fileToBeUpdated.file\n\n return idIsSame || fileIsSame\n ? {\n ...fileListElement,\n ...props,\n }\n : fileListElement\n })\n }\n\n const updateFiles = (updatedFiles: UploadFile[]) => {\n setFiles(updatedFiles)\n setInternalFiles(updatedFiles)\n\n if (typeof onChange === 'function') {\n onChange({ files: updatedFiles })\n }\n }\n\n const handleDeleteAsync = async (uploadFile: UploadFile) => {\n updateFiles(\n updateFile(uploadFile, {\n isLoading: true,\n errorMessage: null,\n })\n )\n\n try {\n await onFileDelete({ fileItem: uploadFile })\n updateFiles(removeFile(uploadFile))\n } catch (error) {\n updateFiles(\n updateFile(uploadFile, {\n isLoading: false,\n errorMessage: error.message,\n })\n )\n }\n }\n\n const handleFileClickAsync = async (uploadFile: UploadFile) => {\n updateFiles(\n updateFile(uploadFile, {\n isLoading: true,\n })\n )\n\n await onFileClick({ fileItem: uploadFile })\n updateFiles(\n updateFile(uploadFile, {\n isLoading: false,\n })\n )\n }\n\n return (\n <ul className=\"dnb-upload__file-list\" aria-label={fileListAriaLabel}>\n {files.map((uploadFile: UploadFile, index: number) => {\n const onDeleteHandler = async () => {\n if (typeof onFileDelete === 'function') {\n if (isAsync(onFileDelete)) {\n handleDeleteAsync(uploadFile)\n } else {\n onFileDelete({ fileItem: uploadFile })\n updateFiles(removeFile(uploadFile))\n }\n } else {\n updateFiles(removeFile(uploadFile))\n }\n }\n\n const onFileClickHandler = async () => {\n if (typeof onFileClick === 'function') {\n if (isAsync(onFileClick)) {\n handleFileClickAsync(uploadFile)\n } else {\n onFileClick({ fileItem: uploadFile })\n }\n }\n }\n\n return (\n <UploadFileListCell\n key={index}\n id={id}\n uploadFile={uploadFile}\n onDelete={onDeleteHandler}\n onClick={onFileClick && onFileClickHandler}\n deleteButtonText={deleteButton}\n loadingText={loadingText}\n download={download}\n />\n )\n })}\n </ul>\n )\n}\n\nexport default UploadFileList\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"UploadFileList.js","names":["_react","_interopRequireWildcard","require","_UploadContext","_UploadFileListCell","_interopRequireDefault","_useUpload","_isAsync","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","UploadFileList","context","React","useContext","UploadContext","id","fileListAriaLabel","deleteButton","download","allowDuplicates","loadingText","onFileDelete","onFileClick","onChange","files","setFiles","setInternalFiles","useUpload","filesRef","useRef","useEffect","current","removeFile","fileToBeRemoved","fileListElement","file","updateFile","fileToBeUpdated","props","map","idIsSame","fileIsSame","updateFiles","updatedFiles","handleDeleteAsync","uploadFile","isLoading","errorMessage","fileItem","error","message","handleFileClickAsync","createElement","className","index","onDeleteHandler","isAsync","onFileClickHandler","key","onDelete","onClick","deleteButtonText","_default","exports"],"sources":["../../../../src/components/upload/UploadFileList.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\nimport { UploadFile } from './types'\nimport { UploadContext } from './UploadContext'\nimport UploadFileListCell from './UploadFileListCell'\nimport useUpload from './useUpload'\nimport { isAsync } from '../../shared/helpers/isAsync'\n\nfunction UploadFileList() {\n const context = React.useContext(UploadContext)\n\n const {\n id,\n fileListAriaLabel,\n deleteButton,\n download,\n allowDuplicates,\n loadingText,\n onFileDelete,\n onFileClick,\n onChange,\n } = context\n\n const { files, setFiles, setInternalFiles } = useUpload(id)\n\n const filesRef = useRef(null)\n\n useEffect(() => {\n filesRef.current = files\n }, [files])\n\n if (files === null || files.length < 1) {\n return null\n }\n\n const removeFile = (fileToBeRemoved: UploadFile) => {\n return filesRef.current.filter(\n (fileListElement) => fileListElement.file != fileToBeRemoved.file\n )\n }\n\n const updateFile = (\n fileToBeUpdated: UploadFile,\n props: Partial<UploadFile>\n ) => {\n return filesRef.current.map((fileListElement: UploadFile) => {\n const idIsSame =\n fileListElement.id && fileListElement.id === fileToBeUpdated.id\n\n const fileIsSame =\n fileListElement.file &&\n fileListElement.file === fileToBeUpdated.file\n\n return idIsSame || fileIsSame\n ? {\n ...fileListElement,\n ...props,\n }\n : fileListElement\n })\n }\n\n const updateFiles = (updatedFiles: UploadFile[]) => {\n setFiles(updatedFiles)\n setInternalFiles(updatedFiles)\n\n if (typeof onChange === 'function') {\n onChange({ files: updatedFiles })\n }\n }\n\n const handleDeleteAsync = async (uploadFile: UploadFile) => {\n updateFiles(\n updateFile(uploadFile, {\n isLoading: true,\n errorMessage: null,\n })\n )\n\n try {\n await onFileDelete({ fileItem: uploadFile })\n updateFiles(removeFile(uploadFile))\n } catch (error) {\n updateFiles(\n updateFile(uploadFile, {\n isLoading: false,\n errorMessage: error.message,\n })\n )\n }\n }\n\n const handleFileClickAsync = async (uploadFile: UploadFile) => {\n updateFiles(\n updateFile(uploadFile, {\n isLoading: true,\n })\n )\n\n await onFileClick({ fileItem: uploadFile })\n updateFiles(\n updateFile(uploadFile, {\n isLoading: false,\n })\n )\n }\n\n return (\n <ul className=\"dnb-upload__file-list\" aria-label={fileListAriaLabel}>\n {files.map((uploadFile: UploadFile, index: number) => {\n const onDeleteHandler = async () => {\n if (typeof onFileDelete === 'function') {\n if (isAsync(onFileDelete)) {\n handleDeleteAsync(uploadFile)\n } else {\n onFileDelete({ fileItem: uploadFile })\n updateFiles(removeFile(uploadFile))\n }\n } else {\n updateFiles(removeFile(uploadFile))\n }\n }\n\n const onFileClickHandler = async () => {\n if (typeof onFileClick === 'function') {\n if (isAsync(onFileClick)) {\n handleFileClickAsync(uploadFile)\n } else {\n onFileClick({ fileItem: uploadFile })\n }\n }\n }\n\n return (\n <UploadFileListCell\n key={index}\n id={id}\n uploadFile={uploadFile}\n onDelete={onDeleteHandler}\n onClick={onFileClick && onFileClickHandler}\n deleteButtonText={deleteButton}\n loadingText={loadingText}\n download={download}\n allowDuplicates={allowDuplicates}\n />\n )\n })}\n </ul>\n )\n}\n\nexport default UploadFileList\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -34,13 +34,18 @@ export type UploadFileListCellProps = {
|
|
|
34
34
|
* Default: false
|
|
35
35
|
*/
|
|
36
36
|
download?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Allows uploading of duplicate files.
|
|
39
|
+
* Default: false
|
|
40
|
+
*/
|
|
41
|
+
allowDuplicates?: boolean;
|
|
37
42
|
/**
|
|
38
43
|
* Text
|
|
39
44
|
*/
|
|
40
45
|
loadingText: React.ReactNode;
|
|
41
46
|
deleteButtonText: React.ReactNode;
|
|
42
47
|
};
|
|
43
|
-
declare const UploadFileListCell: ({ id, uploadFile, onDelete, onClick, loadingText, deleteButtonText, download, }: UploadFileListCellProps) => import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
declare const UploadFileListCell: ({ id, uploadFile, onDelete, onClick, loadingText, deleteButtonText, download, allowDuplicates, }: UploadFileListCellProps) => import("react/jsx-runtime").JSX.Element;
|
|
44
49
|
export default UploadFileListCell;
|
|
45
50
|
export declare function getFileIcon(file: File, loading?: {
|
|
46
51
|
isLoading: UploadFile['isLoading'];
|
|
@@ -18,7 +18,7 @@ var _FormStatus2 = _interopRequireDefault(require("../../components/FormStatus")
|
|
|
18
18
|
var _progressIndicator = _interopRequireDefault(require("../../components/progress-indicator"));
|
|
19
19
|
var _icons = require("../../icons");
|
|
20
20
|
var _componentHelper = require("../../shared/component-helper");
|
|
21
|
-
var _useUpload =
|
|
21
|
+
var _useUpload = _interopRequireWildcard(require("./useUpload"));
|
|
22
22
|
var _UploadVerify = require("./UploadVerify");
|
|
23
23
|
var _UploadFileListLink = _interopRequireDefault(require("./UploadFileListLink"));
|
|
24
24
|
var _Icon;
|
|
@@ -48,7 +48,8 @@ const UploadFileListCell = _ref => {
|
|
|
48
48
|
onClick,
|
|
49
49
|
loadingText,
|
|
50
50
|
deleteButtonText,
|
|
51
|
-
download
|
|
51
|
+
download,
|
|
52
|
+
allowDuplicates
|
|
52
53
|
} = _ref;
|
|
53
54
|
const {
|
|
54
55
|
file,
|
|
@@ -59,6 +60,7 @@ const UploadFileListCell = _ref => {
|
|
|
59
60
|
const imageUrl = (file === null || file === void 0 ? void 0 : file.size) > 0 ? URL.createObjectURL(file) : null;
|
|
60
61
|
const cellRef = (0, _react.useRef)();
|
|
61
62
|
const exists = useExistsHighlight(id, file);
|
|
63
|
+
const isDuplicate = !allowDuplicates && exists;
|
|
62
64
|
const handleDisappearFocus = (0, _react.useCallback)(() => {
|
|
63
65
|
var _getPreviousSibling;
|
|
64
66
|
const cellElement = cellRef.current;
|
|
@@ -72,7 +74,7 @@ const UploadFileListCell = _ref => {
|
|
|
72
74
|
onDelete();
|
|
73
75
|
}, [handleDisappearFocus, onDelete]);
|
|
74
76
|
return _react.default.createElement("li", {
|
|
75
|
-
className: (0, _classnames.default)('dnb-upload__file-cell', hasWarning && 'dnb-upload__file-cell--warning',
|
|
77
|
+
className: (0, _classnames.default)('dnb-upload__file-cell', hasWarning && 'dnb-upload__file-cell--warning', isDuplicate && 'dnb-upload__file-cell--highlight'),
|
|
76
78
|
ref: cellRef
|
|
77
79
|
}, _react.default.createElement("div", {
|
|
78
80
|
className: "dnb-upload__file-cell__content"
|
|
@@ -96,7 +98,8 @@ const UploadFileListCell = _ref => {
|
|
|
96
98
|
text: file.name,
|
|
97
99
|
href: imageUrl,
|
|
98
100
|
download: download,
|
|
99
|
-
onClick: onClick
|
|
101
|
+
onClick: onClick,
|
|
102
|
+
bottom: 0
|
|
100
103
|
}));
|
|
101
104
|
}
|
|
102
105
|
function getWarning() {
|
|
@@ -123,7 +126,7 @@ function useExistsHighlight(id, file) {
|
|
|
123
126
|
exists,
|
|
124
127
|
file: f
|
|
125
128
|
} = _ref2;
|
|
126
|
-
return exists &&
|
|
129
|
+
return exists && (0, _useUpload.isFileEqual)(file, f);
|
|
127
130
|
});
|
|
128
131
|
if (exists) {
|
|
129
132
|
updateExists(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadFileListCell.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Button","_Icon2","_FormStatus2","_progressIndicator","_icons","_componentHelper","_useUpload","_UploadVerify","_UploadFileListLink","_Icon","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","fileExtensionImages","exports","png","jpg","pdf","doc","docx","odt","xls","ppt","csv","txt","xml","file","UploadFileListCell","_ref","_div","_FormStatus","id","uploadFile","onDelete","onClick","loadingText","deleteButtonText","download","errorMessage","isLoading","hasWarning","imageUrl","size","URL","createObjectURL","cellRef","useRef","exists","useExistsHighlight","handleDisappearFocus","useCallback","_getPreviousSibling","cellElement","current","focusElement","getPreviousSibling","querySelector","focus","preventScroll","onDeleteHandler","createElement","className","classnames","ref","getFileIcon","getTitle","icon","TrashIcon","variant","icon_position","disabled","getWarning","text","name","href","top","stretch","_default","internalFiles","useUpload","updateExists","React","useState","timerRef","clearTimers","clearTimeout","useEffect","some","_ref2","f","setTimeout","loading","_loading$size","ExclamationIcon","iconFileType","getFileTypeFromExtension","mimeParts","type","split","prototype"],"sources":["../../../../src/components/upload/UploadFileListCell.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport Button from '../button/Button'\nimport Icon from '../../components/Icon'\nimport FormStatus from '../../components/FormStatus'\nimport ProgressIndicator from '../../components/progress-indicator'\n\n// Icons\nimport {\n trash as TrashIcon,\n exclamation_medium as ExclamationIcon,\n file_png_medium as png,\n file_jpg_medium as jpg,\n file_word_medium as doc,\n file_pdf_medium as pdf,\n file_xls_medium as xls,\n file_ppt_medium as ppt,\n file_csv_medium as csv,\n file_txt_medium as txt,\n file_xml_medium as xml,\n file_medium as file,\n} from '../../icons'\nimport { UploadFile, UploadFileNative } from './types'\n\n// Shared\nimport { getPreviousSibling } from '../../shared/component-helper'\nimport useUpload from './useUpload'\nimport { getFileTypeFromExtension } from './UploadVerify'\nimport UploadFileLink from './UploadFileListLink'\nimport { ProgressIndicatorAllProps } from '../progress-indicator/types'\n\n// Will be deprecated - and then default to only showing the file icon,\n// and not file icon per file extension type\nexport const fileExtensionImages = {\n png,\n jpg,\n pdf,\n doc,\n docx: doc,\n odt: doc,\n xls,\n ppt,\n csv,\n txt,\n xml,\n file,\n}\n\nexport type UploadFileListCellProps = {\n id: string\n\n /**\n * Uploaded file\n */\n uploadFile: UploadFile | UploadFileNative\n\n /**\n * Calls onDelete when clicking the delete button\n */\n onDelete: () => void\n\n /**\n * Calls onClick when clicking the file name\n */\n onClick?: () => void\n\n /**\n * Causes the browser to treat all listed files as downloadable instead of opening them in a new browser tab or window.\n * Default: false\n */\n download?: boolean\n\n /**\n * Text\n */\n loadingText: React.ReactNode\n deleteButtonText: React.ReactNode\n}\n\nconst UploadFileListCell = ({\n id,\n uploadFile,\n onDelete,\n onClick,\n loadingText,\n deleteButtonText,\n download,\n}: UploadFileListCellProps) => {\n const { file, errorMessage, isLoading } = uploadFile\n const hasWarning = errorMessage != null\n\n const imageUrl = file?.size > 0 ? URL.createObjectURL(file) : null\n const cellRef = useRef<HTMLLIElement>()\n const exists = useExistsHighlight(id, file)\n\n const handleDisappearFocus = useCallback(() => {\n const cellElement = cellRef.current\n const focusElement = getPreviousSibling(\n '.dnb-upload',\n cellElement\n )?.querySelector('.dnb-upload__file-input-button') as HTMLButtonElement\n focusElement?.focus({ preventScroll: true })\n }, [cellRef])\n\n const onDeleteHandler = useCallback(() => {\n handleDisappearFocus()\n\n onDelete()\n }, [handleDisappearFocus, onDelete])\n\n return (\n <li\n className={classnames(\n 'dnb-upload__file-cell',\n hasWarning && 'dnb-upload__file-cell--warning',\n exists && 'dnb-upload__file-cell--highlight'\n )}\n ref={cellRef}\n >\n <div className=\"dnb-upload__file-cell__content\">\n <div className=\"dnb-upload__file-cell__content__left\">\n {getFileIcon(file, { isLoading }, hasWarning)}\n {getTitle()}\n </div>\n <div>\n <Button\n icon={TrashIcon}\n variant=\"tertiary\"\n onClick={onDeleteHandler}\n icon_position=\"left\"\n disabled={isLoading}\n >\n {deleteButtonText}\n </Button>\n </div>\n </div>\n\n {getWarning()}\n </li>\n )\n\n function getTitle() {\n return isLoading ? (\n <div\n className={classnames(\n 'dnb-upload__file-cell__text-container',\n 'dnb-upload__file-cell__text-container--loading'\n )}\n >\n {loadingText}\n </div>\n ) : (\n <div className=\"dnb-upload__file-cell__text-container\">\n <UploadFileLink\n text={file.name}\n href={imageUrl}\n download={download}\n onClick={onClick}\n />\n </div>\n )\n }\n\n function getWarning() {\n return hasWarning ? (\n <FormStatus top=\"small\" text={errorMessage} stretch />\n ) : null\n }\n}\n\nexport default UploadFileListCell\n\nfunction useExistsHighlight(id: string, file: File) {\n const { internalFiles } = useUpload(id)\n const [exists, updateExists] = React.useState(false)\n const timerRef = React.useRef<NodeJS.Timer>()\n\n const clearTimers = () => {\n clearTimeout(timerRef.current)\n }\n\n React.useEffect(() => {\n const exists = internalFiles.some(({ exists, file: f }) => {\n return exists && f.name === file.name && f.size === file.size\n })\n\n if (exists) {\n updateExists(true)\n clearTimers()\n timerRef.current = setTimeout(() => updateExists(false), 1500) // transition-duration in CSS\n }\n\n return clearTimers\n }, [file, internalFiles])\n\n return exists\n}\n\nexport function getFileIcon(\n file: File,\n loading?: {\n isLoading: UploadFile['isLoading']\n size?: ProgressIndicatorAllProps['size']\n },\n hasWarning?: boolean\n) {\n if (loading?.isLoading) {\n return <ProgressIndicator size={loading?.size ?? 'default'} />\n }\n\n if (hasWarning) return <Icon icon={ExclamationIcon} />\n\n let iconFileType = getFileTypeFromExtension(file)\n\n if (!iconFileType) {\n const mimeParts = file.type.split('/')\n iconFileType =\n fileExtensionImages[mimeParts[0]] ||\n fileExtensionImages[mimeParts[1]]\n }\n\n if (\n !Object.prototype.hasOwnProperty.call(\n fileExtensionImages,\n iconFileType\n )\n ) {\n iconFileType = 'file'\n }\n\n return <Icon icon={fileExtensionImages[iconFileType]} />\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"UploadFileListCell.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Button","_Icon2","_FormStatus2","_progressIndicator","_icons","_componentHelper","_useUpload","_UploadVerify","_UploadFileListLink","_Icon","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","fileExtensionImages","exports","png","jpg","pdf","doc","docx","odt","xls","ppt","csv","txt","xml","file","UploadFileListCell","_ref","_div","_FormStatus","id","uploadFile","onDelete","onClick","loadingText","deleteButtonText","download","allowDuplicates","errorMessage","isLoading","hasWarning","imageUrl","size","URL","createObjectURL","cellRef","useRef","exists","useExistsHighlight","isDuplicate","handleDisappearFocus","useCallback","_getPreviousSibling","cellElement","current","focusElement","getPreviousSibling","querySelector","focus","preventScroll","onDeleteHandler","createElement","className","classnames","ref","getFileIcon","getTitle","icon","TrashIcon","variant","icon_position","disabled","getWarning","text","name","href","bottom","top","stretch","_default","internalFiles","useUpload","updateExists","React","useState","timerRef","clearTimers","clearTimeout","useEffect","some","_ref2","f","isFileEqual","setTimeout","loading","_loading$size","ExclamationIcon","iconFileType","getFileTypeFromExtension","mimeParts","type","split","prototype"],"sources":["../../../../src/components/upload/UploadFileListCell.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport Button from '../button/Button'\nimport Icon from '../../components/Icon'\nimport FormStatus from '../../components/FormStatus'\nimport ProgressIndicator from '../../components/progress-indicator'\n\n// Icons\nimport {\n trash as TrashIcon,\n exclamation_medium as ExclamationIcon,\n file_png_medium as png,\n file_jpg_medium as jpg,\n file_word_medium as doc,\n file_pdf_medium as pdf,\n file_xls_medium as xls,\n file_ppt_medium as ppt,\n file_csv_medium as csv,\n file_txt_medium as txt,\n file_xml_medium as xml,\n file_medium as file,\n} from '../../icons'\nimport { UploadFile, UploadFileNative } from './types'\n\n// Shared\nimport { getPreviousSibling } from '../../shared/component-helper'\nimport useUpload, { isFileEqual } from './useUpload'\nimport { getFileTypeFromExtension } from './UploadVerify'\nimport UploadFileLink from './UploadFileListLink'\nimport { ProgressIndicatorAllProps } from '../progress-indicator/types'\n\n// Will be deprecated - and then default to only showing the file icon,\n// and not file icon per file extension type\nexport const fileExtensionImages = {\n png,\n jpg,\n pdf,\n doc,\n docx: doc,\n odt: doc,\n xls,\n ppt,\n csv,\n txt,\n xml,\n file,\n}\n\nexport type UploadFileListCellProps = {\n id: string\n\n /**\n * Uploaded file\n */\n uploadFile: UploadFile | UploadFileNative\n\n /**\n * Calls onDelete when clicking the delete button\n */\n onDelete: () => void\n\n /**\n * Calls onClick when clicking the file name\n */\n onClick?: () => void\n\n /**\n * Causes the browser to treat all listed files as downloadable instead of opening them in a new browser tab or window.\n * Default: false\n */\n download?: boolean\n\n /**\n * Allows uploading of duplicate files.\n * Default: false\n */\n allowDuplicates?: boolean\n\n /**\n * Text\n */\n loadingText: React.ReactNode\n deleteButtonText: React.ReactNode\n}\n\nconst UploadFileListCell = ({\n id,\n uploadFile,\n onDelete,\n onClick,\n loadingText,\n deleteButtonText,\n download,\n allowDuplicates,\n}: UploadFileListCellProps) => {\n const { file, errorMessage, isLoading } = uploadFile\n const hasWarning = errorMessage != null\n\n const imageUrl = file?.size > 0 ? URL.createObjectURL(file) : null\n const cellRef = useRef<HTMLLIElement>()\n const exists = useExistsHighlight(id, file)\n const isDuplicate = !allowDuplicates && exists\n\n const handleDisappearFocus = useCallback(() => {\n const cellElement = cellRef.current\n const focusElement = getPreviousSibling(\n '.dnb-upload',\n cellElement\n )?.querySelector('.dnb-upload__file-input-button') as HTMLButtonElement\n focusElement?.focus({ preventScroll: true })\n }, [cellRef])\n\n const onDeleteHandler = useCallback(() => {\n handleDisappearFocus()\n\n onDelete()\n }, [handleDisappearFocus, onDelete])\n\n return (\n <li\n className={classnames(\n 'dnb-upload__file-cell',\n hasWarning && 'dnb-upload__file-cell--warning',\n isDuplicate && 'dnb-upload__file-cell--highlight'\n )}\n ref={cellRef}\n >\n <div className=\"dnb-upload__file-cell__content\">\n <div className=\"dnb-upload__file-cell__content__left\">\n {getFileIcon(file, { isLoading }, hasWarning)}\n {getTitle()}\n </div>\n <div>\n <Button\n icon={TrashIcon}\n variant=\"tertiary\"\n onClick={onDeleteHandler}\n icon_position=\"left\"\n disabled={isLoading}\n >\n {deleteButtonText}\n </Button>\n </div>\n </div>\n\n {getWarning()}\n </li>\n )\n\n function getTitle() {\n return isLoading ? (\n <div\n className={classnames(\n 'dnb-upload__file-cell__text-container',\n 'dnb-upload__file-cell__text-container--loading'\n )}\n >\n {loadingText}\n </div>\n ) : (\n <div className=\"dnb-upload__file-cell__text-container\">\n <UploadFileLink\n text={file.name}\n href={imageUrl}\n download={download}\n onClick={onClick}\n bottom={0}\n />\n </div>\n )\n }\n\n function getWarning() {\n return hasWarning ? (\n <FormStatus top=\"small\" text={errorMessage} stretch />\n ) : null\n }\n}\n\nexport default UploadFileListCell\n\nfunction useExistsHighlight(id: string, file: File) {\n const { internalFiles } = useUpload(id)\n const [exists, updateExists] = React.useState(false)\n const timerRef = React.useRef<NodeJS.Timer>()\n\n const clearTimers = () => {\n clearTimeout(timerRef.current)\n }\n\n React.useEffect(() => {\n const exists = internalFiles.some(({ exists, file: f }) => {\n return exists && isFileEqual(file, f)\n })\n\n if (exists) {\n updateExists(true)\n clearTimers()\n timerRef.current = setTimeout(() => updateExists(false), 1500) // transition-duration in CSS\n }\n\n return clearTimers\n }, [file, internalFiles])\n\n return exists\n}\n\nexport function getFileIcon(\n file: File,\n loading?: {\n isLoading: UploadFile['isLoading']\n size?: ProgressIndicatorAllProps['size']\n },\n hasWarning?: boolean\n) {\n if (loading?.isLoading) {\n return <ProgressIndicator size={loading?.size ?? 'default'} />\n }\n\n if (hasWarning) return <Icon icon={ExclamationIcon} />\n\n let iconFileType = getFileTypeFromExtension(file)\n\n if (!iconFileType) {\n const mimeParts = file.type.split('/')\n iconFileType =\n fileExtensionImages[mimeParts[0]] ||\n fileExtensionImages[mimeParts[1]]\n }\n\n if (\n !Object.prototype.hasOwnProperty.call(\n fileExtensionImages,\n iconFileType\n )\n ) {\n iconFileType = 'file'\n }\n\n return <Icon icon={fileExtensionImages[iconFileType]} />\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/upload/types.ts"],"sourcesContent":["import React from 'react'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\nimport type { SharedStateId } from '../../shared/helpers/useSharedState'\n\nexport type UploadAcceptedFileTypes = string[]\n\nexport type UploadAcceptedFileTypesWithFileMaxSize =\n UploadAcceptedFileTypeObject[]\n\nexport type UploadAcceptedFileTypeObject = {\n fileType: string\n fileMaxSize?: number | false\n}\n\nexport type UploadProps = {\n /**\n * unique id used with the useUpload hook to manage the files\n */\n id?: SharedStateId\n\n /**\n * list of accepted file types.\n */\n acceptedFileTypes:\n | UploadAcceptedFileTypes\n | UploadAcceptedFileTypesWithFileMaxSize\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Defines the amount of files the user can select and upload\n * Default: 100\n */\n filesAmountLimit?: number\n\n /**\n * Defines the max file size of each file in MB. Use either `0` or `false` to disable.\n * Default: 5 MB\n */\n fileMaxSize?: number | false\n\n /**\n * will be called on `files` changes made by the user. Access the files with `{ files }`.\n */\n onChange?: ({ files }: { files: Array<UploadFile> }) => void\n\n /**\n * will be called once a file gets deleted by the user. Access the deleted file with `{ fileItem }`.\n */\n onFileDelete?: ({\n fileItem,\n }: {\n fileItem: UploadFile\n }) => void | Promise<void>\n\n /**\n * Will be called once a file gets clicked on by the user. Access the clicked file with `{ fileItem }`.\n */\n onFileClick?: ({\n fileItem,\n }: {\n fileItem: UploadFile\n }) => void | Promise<void>\n\n /**\n * Causes the browser to treat all listed files as downloadable instead of opening them in a new browser tab or window.\n * Default: false\n */\n download?: boolean\n\n /**\n * Custom text properties\n */\n title?: React.ReactNode\n text?: React.ReactNode\n fileTypeTableCaption?: React.ReactNode\n fileTypeDescription?: React.ReactNode\n fileSizeDescription?: React.ReactNode\n fileAmountDescription?: React.ReactNode\n fileSizeContent?: React.ReactNode\n buttonText?: React.ReactNode\n errorLargeFile?: React.ReactNode\n errorUnsupportedFile?: React.ReactNode\n errorAmountLimit?: React.ReactNode\n loadingText?: React.ReactNode\n deleteButton?: React.ReactNode\n fileListAriaLabel?: string\n children?: React.ReactNode\n}\n\nexport type UploadAllProps = UploadProps &\n SpacingProps &\n LocaleProps &\n Omit<React.HTMLProps<HTMLElement>, 'onChange' | 'title'>\n\nexport type UploadContextProps = {\n id?: string\n onInputUpload: (files: Array<UploadFileNative>) => void\n} & Partial<UploadAllProps>\n\nexport type UploadFile = {\n file: File\n id: string\n exists: boolean\n isLoading?: boolean\n errorMessage?: React.ReactNode\n}\n\nexport type UploadFileNative = Omit<UploadFile, 'id' | 'exists'> &\n Partial<Pick<UploadFile, 'id' | 'exists'>>\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/upload/types.ts"],"sourcesContent":["import React from 'react'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\nimport type { SharedStateId } from '../../shared/helpers/useSharedState'\n\nexport type UploadAcceptedFileTypes = string[]\n\nexport type UploadAcceptedFileTypesWithFileMaxSize =\n UploadAcceptedFileTypeObject[]\n\nexport type UploadAcceptedFileTypeObject = {\n fileType: string\n fileMaxSize?: number | false\n}\n\nexport type UploadProps = {\n /**\n * unique id used with the useUpload hook to manage the files\n */\n id?: SharedStateId\n\n /**\n * list of accepted file types.\n */\n acceptedFileTypes:\n | UploadAcceptedFileTypes\n | UploadAcceptedFileTypesWithFileMaxSize\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Defines the amount of files the user can select and upload\n * Default: 100\n */\n filesAmountLimit?: number\n\n /**\n * Defines the max file size of each file in MB. Use either `0` or `false` to disable.\n * Default: 5 MB\n */\n fileMaxSize?: number | false\n\n /**\n * will be called on `files` changes made by the user. Access the files with `{ files }`.\n */\n onChange?: ({ files }: { files: Array<UploadFile> }) => void\n\n /**\n * will be called once a file gets deleted by the user. Access the deleted file with `{ fileItem }`.\n */\n onFileDelete?: ({\n fileItem,\n }: {\n fileItem: UploadFile\n }) => void | Promise<void>\n\n /**\n * Will be called once a file gets clicked on by the user. Access the clicked file with `{ fileItem }`.\n */\n onFileClick?: ({\n fileItem,\n }: {\n fileItem: UploadFile\n }) => void | Promise<void>\n\n /**\n * Causes the browser to treat all listed files as downloadable instead of opening them in a new browser tab or window.\n * Default: false\n */\n download?: boolean\n\n /**\n * Allows uploading of duplicate files.\n * Default: false\n */\n allowDuplicates?: boolean\n\n /**\n * Custom text properties\n */\n title?: React.ReactNode\n text?: React.ReactNode\n fileTypeTableCaption?: React.ReactNode\n fileTypeDescription?: React.ReactNode\n fileSizeDescription?: React.ReactNode\n fileAmountDescription?: React.ReactNode\n fileSizeContent?: React.ReactNode\n buttonText?: React.ReactNode\n errorLargeFile?: React.ReactNode\n errorUnsupportedFile?: React.ReactNode\n errorAmountLimit?: React.ReactNode\n loadingText?: React.ReactNode\n deleteButton?: React.ReactNode\n fileListAriaLabel?: string\n children?: React.ReactNode\n}\n\nexport type UploadAllProps = UploadProps &\n SpacingProps &\n LocaleProps &\n Omit<React.HTMLProps<HTMLElement>, 'onChange' | 'title'>\n\nexport type UploadContextProps = {\n id?: string\n onInputUpload: (files: Array<UploadFileNative>) => void\n} & Partial<UploadAllProps>\n\nexport type UploadFile = {\n file: File\n id: string\n exists: boolean\n isLoading?: boolean\n errorMessage?: React.ReactNode\n}\n\nexport type UploadFileNative = Omit<UploadFile, 'id' | 'exists'> &\n Partial<Pick<UploadFile, 'id' | 'exists'>>\n"],"mappings":"","ignoreList":[]}
|
|
@@ -10,4 +10,5 @@ export type useUploadReturn = {
|
|
|
10
10
|
* Use together with Upload with the same id to manage the files from outside the component.
|
|
11
11
|
*/
|
|
12
12
|
declare function useUpload(id: UploadProps['id']): useUploadReturn;
|
|
13
|
+
export declare const isFileEqual: (fileA: File, fileB: File) => boolean;
|
|
13
14
|
export default useUpload;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
6
|
+
exports.isFileEqual = exports.default = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _useSharedState = require("../../shared/helpers/useSharedState");
|
|
9
9
|
function useUpload(id) {
|
|
@@ -29,7 +29,7 @@ function useUpload(id) {
|
|
|
29
29
|
let {
|
|
30
30
|
file: f
|
|
31
31
|
} = _ref;
|
|
32
|
-
return
|
|
32
|
+
return isFileEqual(file, f);
|
|
33
33
|
});
|
|
34
34
|
}, [files]);
|
|
35
35
|
return {
|
|
@@ -40,5 +40,12 @@ function useUpload(id) {
|
|
|
40
40
|
getExistingFile
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
+
const isFileEqual = (fileA, fileB) => {
|
|
44
|
+
const compareExistingProperty = function (a, b, property) {
|
|
45
|
+
return a && property in a && b && property in b && (a[property] === 0 || b[property] === 0 || a[property] === b[property]);
|
|
46
|
+
};
|
|
47
|
+
return fileA.name === fileB.name && compareExistingProperty(fileA, fileB, 'size') && compareExistingProperty(fileA, fileB, 'lastModified');
|
|
48
|
+
};
|
|
49
|
+
exports.isFileEqual = isFileEqual;
|
|
43
50
|
var _default = exports.default = useUpload;
|
|
44
51
|
//# sourceMappingURL=useUpload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpload.js","names":["_react","require","_useSharedState","useUpload","id","data","extend","useSharedState","setFiles","useCallback","files","setInternalFiles","internalFiles","useMemo","getExistingFile","file","fileItems","arguments","length","undefined","find","_ref","f","
|
|
1
|
+
{"version":3,"file":"useUpload.js","names":["_react","require","_useSharedState","useUpload","id","data","extend","useSharedState","setFiles","useCallback","files","setInternalFiles","internalFiles","useMemo","getExistingFile","file","fileItems","arguments","length","undefined","find","_ref","f","isFileEqual","fileA","fileB","compareExistingProperty","a","b","property","name","exports","_default","default"],"sources":["../../../../src/components/upload/useUpload.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { useSharedState } from '../../shared/helpers/useSharedState'\nimport type { UploadFile, UploadFileNative, UploadProps } from './types'\n\nexport type useUploadReturn = {\n files: Array<UploadFile>\n setFiles: (files: Array<UploadFile | UploadFileNative>) => void\n internalFiles: Array<UploadFile>\n setInternalFiles: (files: Array<UploadFile>) => void\n getExistingFile: (\n file: File,\n fileItems?: Array<UploadFile>\n ) => UploadFile\n}\n\n/**\n * Use together with Upload with the same id to manage the files from outside the component.\n */\nfunction useUpload(id: UploadProps['id']): useUploadReturn {\n const { data, extend } = useSharedState<{\n files?: Array<UploadFile>\n internalFiles?: Array<UploadFile>\n }>(id)\n\n const setFiles = useCallback(\n (files: Array<UploadFile>) => {\n extend({ files })\n },\n [extend]\n )\n\n const setInternalFiles = useCallback(\n (internalFiles: Array<UploadFile>) => {\n extend({ internalFiles })\n },\n [extend]\n )\n\n const files = useMemo(() => data?.files || [], [data?.files])\n const internalFiles = useMemo(\n () => data?.internalFiles || [],\n [data?.internalFiles]\n )\n\n const getExistingFile = useCallback(\n (file: File, fileItems: Array<UploadFile> = files) => {\n return fileItems.find(({ file: f }) => {\n return isFileEqual(file, f)\n })\n },\n [files]\n )\n\n return {\n files,\n setFiles,\n internalFiles,\n setInternalFiles,\n getExistingFile,\n }\n}\n\nexport const isFileEqual = (fileA: File, fileB: File): boolean => {\n const compareExistingProperty = function (\n a: File,\n b: File,\n property: string\n ) {\n return (\n a &&\n property in a &&\n b &&\n property in b &&\n (a[property] === 0 || // If value is 0, which is default when not provided, we can't say whether the file is equal or not, so we assume they are.\n b[property] === 0 || // If value is 0, which is default when not provided, we can't say whether the file is equal or not, so we assume they are.\n a[property] === b[property])\n )\n }\n return (\n fileA.name === fileB.name &&\n compareExistingProperty(fileA, fileB, 'size') &&\n compareExistingProperty(fileA, fileB, 'lastModified')\n )\n}\n\nexport default useUpload\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAiBA,SAASE,SAASA,CAACC,EAAqB,EAAmB;EACzD,MAAM;IAAEC,IAAI;IAAEC;EAAO,CAAC,GAAG,IAAAC,8BAAc,EAGpCH,EAAE,CAAC;EAEN,MAAMI,QAAQ,GAAG,IAAAC,kBAAW,EACzBC,KAAwB,IAAK;IAC5BJ,MAAM,CAAC;MAAEI;IAAM,CAAC,CAAC;EACnB,CAAC,EACD,CAACJ,MAAM,CACT,CAAC;EAED,MAAMK,gBAAgB,GAAG,IAAAF,kBAAW,EACjCG,aAAgC,IAAK;IACpCN,MAAM,CAAC;MAAEM;IAAc,CAAC,CAAC;EAC3B,CAAC,EACD,CAACN,MAAM,CACT,CAAC;EAED,MAAMI,KAAK,GAAG,IAAAG,cAAO,EAAC,MAAM,CAAAR,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEK,KAAK,KAAI,EAAE,EAAE,CAACL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEK,KAAK,CAAC,CAAC;EAC7D,MAAME,aAAa,GAAG,IAAAC,cAAO,EAC3B,MAAM,CAAAR,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEO,aAAa,KAAI,EAAE,EAC/B,CAACP,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEO,aAAa,CACtB,CAAC;EAED,MAAME,eAAe,GAAG,IAAAL,kBAAW,EACjC,UAACM,IAAU,EAA2C;IAAA,IAAzCC,SAA4B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGP,KAAK;IAC/C,OAAOM,SAAS,CAACI,IAAI,CAACC,IAAA,IAAiB;MAAA,IAAhB;QAAEN,IAAI,EAAEO;MAAE,CAAC,GAAAD,IAAA;MAChC,OAAOE,WAAW,CAACR,IAAI,EAAEO,CAAC,CAAC;IAC7B,CAAC,CAAC;EACJ,CAAC,EACD,CAACZ,KAAK,CACR,CAAC;EAED,OAAO;IACLA,KAAK;IACLF,QAAQ;IACRI,aAAa;IACbD,gBAAgB;IAChBG;EACF,CAAC;AACH;AAEO,MAAMS,WAAW,GAAGA,CAACC,KAAW,EAAEC,KAAW,KAAc;EAChE,MAAMC,uBAAuB,GAAG,SAAAA,CAC9BC,CAAO,EACPC,CAAO,EACPC,QAAgB,EAChB;IACA,OACEF,CAAC,IACDE,QAAQ,IAAIF,CAAC,IACbC,CAAC,IACDC,QAAQ,IAAID,CAAC,KACZD,CAAC,CAACE,QAAQ,CAAC,KAAK,CAAC,IAChBD,CAAC,CAACC,QAAQ,CAAC,KAAK,CAAC,IACjBF,CAAC,CAACE,QAAQ,CAAC,KAAKD,CAAC,CAACC,QAAQ,CAAC,CAAC;EAElC,CAAC;EACD,OACEL,KAAK,CAACM,IAAI,KAAKL,KAAK,CAACK,IAAI,IACzBJ,uBAAuB,CAACF,KAAK,EAAEC,KAAK,EAAE,MAAM,CAAC,IAC7CC,uBAAuB,CAACF,KAAK,EAAEC,KAAK,EAAE,cAAc,CAAC;AAEzD,CAAC;AAAAM,OAAA,CAAAR,WAAA,GAAAA,WAAA;AAAA,IAAAS,QAAA,GAAAD,OAAA,CAAAE,OAAA,GAEc9B,SAAS","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.VisuallyHiddenProperties = void 0;
|
|
7
|
+
const VisuallyHiddenProperties = exports.VisuallyHiddenProperties = {
|
|
8
|
+
focusable: {
|
|
9
|
+
doc: 'Set to `true` to hide an element by default, but to display it when it’s focused (e.g. by a keyboard-only user) root. Defaults to `false`.',
|
|
10
|
+
type: ['boolean'],
|
|
11
|
+
status: 'optional'
|
|
12
|
+
},
|
|
13
|
+
element: {
|
|
14
|
+
doc: 'Custom root HTML element for the component. Defaults to `<span>`.',
|
|
15
|
+
type: ['string', 'React.Element'],
|
|
16
|
+
status: 'optional'
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=VisuallyHiddenDocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VisuallyHiddenDocs.js","names":["VisuallyHiddenProperties","exports","focusable","doc","type","status","element"],"sources":["../../../../src/components/visually-hidden/VisuallyHiddenDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const VisuallyHiddenProperties: PropertiesTableProps = {\n focusable: {\n doc: 'Set to `true` to hide an element by default, but to display it when it’s focused (e.g. by a keyboard-only user) root. Defaults to `false`.',\n type: ['boolean'],\n status: 'optional',\n },\n element: {\n doc: 'Custom root HTML element for the component. Defaults to `<span>`.',\n type: ['string', 'React.Element'],\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,wBAA8C,GAAAC,OAAA,CAAAD,wBAAA,GAAG;EAC5DE,SAAS,EAAE;IACTC,GAAG,EAAE,4IAA4I;IACjJC,IAAI,EAAE,CAAC,SAAS,CAAC;IACjBC,MAAM,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACPH,GAAG,EAAE,mEAAmE;IACxEC,IAAI,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;IACjCC,MAAM,EAAE;EACV;AACF,CAAC","ignoreList":[]}
|
|
@@ -13,9 +13,11 @@ export type MountState = {
|
|
|
13
13
|
};
|
|
14
14
|
export type EventListenerCall = {
|
|
15
15
|
path?: Path;
|
|
16
|
-
type?: 'onSubmit' | 'onSubmitRequest' | 'onPathChange' | 'onMount';
|
|
16
|
+
type?: 'onSubmit' | 'onSubmitCall' | 'onSubmitRequest' | 'onPathChange' | 'onMount';
|
|
17
17
|
callback: (params?: {
|
|
18
18
|
value: unknown;
|
|
19
|
+
} | {
|
|
20
|
+
preventSubmit: () => void;
|
|
19
21
|
}) => void | Promise<void | Error>;
|
|
20
22
|
};
|
|
21
23
|
export type VisibleDataHandler<Data> = (data?: Data, options?: VisibleDataOptions) => Partial<Data>;
|
|
@@ -109,13 +111,12 @@ export interface ContextState {
|
|
|
109
111
|
}) => Promise<EventStateObject | undefined>;
|
|
110
112
|
getSubmitData?: () => unknown;
|
|
111
113
|
getSubmitParams?: () => OnSubmitParams;
|
|
112
|
-
setFieldEventListener?: (path: EventListenerCall['path'], type: EventListenerCall['type'], callback: EventListenerCall['callback']
|
|
114
|
+
setFieldEventListener?: (path: EventListenerCall['path'], type: EventListenerCall['type'], callback: EventListenerCall['callback'], params?: {
|
|
115
|
+
remove?: boolean;
|
|
116
|
+
}) => void;
|
|
113
117
|
revealError?: (path: Path, hasError: boolean) => void;
|
|
114
118
|
setFieldInternals?: (path: Path, props: unknown, id?: string) => void;
|
|
115
119
|
setValueInternals?: (path: Path, props: unknown) => void;
|
|
116
|
-
setHandleSubmit?: (callback: HandleSubmitCallback, params?: {
|
|
117
|
-
remove?: boolean;
|
|
118
|
-
}) => void;
|
|
119
120
|
setFieldConnection?: (path: Path, connections: FieldConnections) => void;
|
|
120
121
|
isEmptyDataRef?: React.MutableRefObject<boolean>;
|
|
121
122
|
addSetShowAllErrorsRef?: React.MutableRefObject<Array<(showAllErrors: boolean) => void>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_utils","e","__esModule","default","defaultContextState","exports","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","ajvInstance","makeAjvInstance","contextErrorMessages","props","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, FormError, JsonObject, makeAjvInstance } from '../utils'\nimport {\n AllJSONSchemaVersions,\n GlobalErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n FieldProps,\n ValueProps,\n OnChange,\n OnSubmitParams,\n CountryCode,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\nimport { SnapshotName } from '../Form/Snapshot'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n isFocused?: boolean\n wasStepChange?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type
|
|
1
|
+
{"version":3,"file":"Context.js","names":["_react","_interopRequireDefault","require","_utils","e","__esModule","default","defaultContextState","exports","hasContext","data","undefined","schema","submitState","handlePathChange","handlePathChangeUnvalidated","updateDataValue","setData","validateData","handleSubmit","scrollToTop","showAllErrors","hasVisibleError","formState","setFormState","setSubmitState","handleSubmitCall","setShowAllErrors","setMountedFieldState","hasErrors","hasFieldState","hasFieldError","ajvInstance","makeAjvInstance","contextErrorMessages","props","Context","React","createContext","_default"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\nimport { Ajv, FormError, JsonObject, makeAjvInstance } from '../utils'\nimport {\n AllJSONSchemaVersions,\n GlobalErrorMessagesWithPaths,\n SubmitState,\n Path,\n EventStateObject,\n EventReturnWithStateObject,\n FieldProps,\n ValueProps,\n OnChange,\n OnSubmitParams,\n CountryCode,\n} from '../types'\nimport { Props as ProviderProps } from './Provider'\nimport { SnapshotName } from '../Form/Snapshot'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\n\nexport type MountState = {\n isPreMounted?: boolean\n isMounted?: boolean\n isVisible?: boolean\n isFocused?: boolean\n wasStepChange?: boolean\n}\n\nexport type EventListenerCall = {\n path?: Path\n type?:\n | 'onSubmit'\n | 'onSubmitCall'\n | 'onSubmitRequest'\n | 'onPathChange'\n | 'onMount'\n callback: (\n params?: { value: unknown } | { preventSubmit: () => void }\n ) => void | Promise<void | Error>\n}\n\nexport type VisibleDataHandler<Data> = (\n data?: Data,\n options?: VisibleDataOptions\n) => Partial<Data>\nexport type VisibleDataOptions = {\n keepPaths?: Array<Path>\n removePaths?: Array<Path>\n}\nexport type MutateDataHandler<Data> = (\n data: Data,\n mutate: TransformData\n) => Partial<Data>\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterDataHandlerCallback<R> = (\n parameters: FilterDataHandlerParameters\n) => R\nexport type FilterDataHandlerParameters = DataPathHandlerParameters & {\n path: Path\n}\nexport type DataPathHandler<Data = unknown> = (\n parameters: DataPathHandlerParameters<Data>\n) => boolean | undefined\nexport type DataPathHandlerParameters<Data = unknown> = {\n path: Path\n value: unknown\n displayValue: undefined | React.ReactNode | Array<React.ReactNode>\n label: React.ReactNode\n props: FieldProps\n error: Error | undefined\n\n /**\n * Used in the \"filterData\" given by the \"useData\" hook.\n */\n data: Data\n\n /** @deprecated – can be removed in v11 */\n internal: {\n error: Error | undefined\n }\n}\nexport type FilterDataPathObject<Data> = Record<\n Path,\n DataPathHandler<Data> | boolean | undefined\n>\nexport type FilterData<Data = unknown> =\n | FilterDataPathObject<Data>\n | FilterDataHandlerCallback<boolean | undefined>\nexport type VisibleData<Data = unknown> = Partial<Data>\nexport type TransformData = FilterDataHandlerCallback<unknown>\nexport type HandleSubmitCallback = ({\n preventSubmit,\n}: {\n preventSubmit: () => void\n}) => void\nexport type FieldConnections = {\n setEventResult?: (status: EventStateObject) => void\n}\nexport type FieldInternalsRefProps =\n | (FieldProps & { children: unknown })\n | undefined\nexport type FieldInternalsRef = Record<\n Path,\n {\n props: FieldInternalsRefProps\n id: string | undefined\n }\n>\nexport type ValueInternalsRef = Record<\n Path,\n { props: ValueProps | undefined }\n>\n\nexport interface ContextState {\n id?: SharedStateId\n hasContext: boolean\n /** The dataset for the form / form wizard */\n data: any\n internalDataRef?: React.MutableRefObject<any>\n /** Should the form validate data before submitting? */\n errors?: Record<Path, Error>\n /** Will set autoComplete=\"on\" on each nested Field.String and Field.Number */\n autoComplete?: boolean\n handlePathChange: (\n path: Path,\n value?: any\n ) =>\n | EventReturnWithStateObject\n | unknown\n | Promise<EventReturnWithStateObject | unknown>\n handlePathChangeUnvalidated: (path: Path, value: any) => void\n updateDataValue: (\n path: Path,\n value: any,\n options?: { preventUpdate?: boolean }\n ) => void\n setData: (data: any) => void\n clearData?: () => void\n mutateDataHandler?: MutateDataHandler<unknown>\n filterDataHandler?: FilterDataHandler<unknown>\n visibleDataHandler?: VisibleDataHandler<unknown>\n validateData: () => void\n handleSubmit: () => Promise<EventStateObject | undefined>\n scrollToTop: () => void\n setShowAllErrors: (showAllErrors: boolean) => void\n hasErrors: () => boolean\n hasFieldState: (state: SubmitState) => boolean\n hasFieldError: (path: Path) => boolean\n setFieldState?: (path: Path, fieldState: SubmitState) => void\n setFieldError?: (path: Path, error: Error | FormError) => void\n setMountedFieldState: (path: Path, options: MountState) => void\n setFormState?: (\n state: SubmitState,\n options?: { keepPending?: boolean }\n ) => void\n setSubmitState?: (state: EventStateObject) => void\n addOnChangeHandler?: (callback: OnChange) => void\n handleSubmitCall: ({\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n }: {\n onSubmit: () =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n enableAsyncBehavior: boolean\n skipFieldValidation?: boolean\n skipErrorCheck?: boolean\n }) => Promise<EventStateObject | undefined>\n getSubmitData?: () => unknown\n getSubmitParams?: () => OnSubmitParams\n setFieldEventListener?: (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback'],\n params?: { remove?: boolean }\n ) => void\n revealError?: (path: Path, hasError: boolean) => void\n setFieldInternals?: (path: Path, props: unknown, id?: string) => void\n setValueInternals?: (path: Path, props: unknown) => void\n setFieldConnection?: (path: Path, connections: FieldConnections) => void\n isEmptyDataRef?: React.MutableRefObject<boolean>\n addSetShowAllErrorsRef?: React.MutableRefObject<\n Array<(showAllErrors: boolean) => void>\n >\n fieldDisplayValueRef?: React.MutableRefObject<\n Record<Path, { type: 'field'; value?: React.ReactNode }>\n >\n fieldInternalsRef?: React.MutableRefObject<FieldInternalsRef>\n valueInternalsRef?: React.MutableRefObject<ValueInternalsRef>\n fieldConnectionsRef?: React.RefObject<Record<Path, FieldConnections>>\n mountedFieldsRef?: React.MutableRefObject<Map<Path, MountState>>\n snapshotsRef?: React.MutableRefObject<\n Map<SnapshotName, Map<Path, unknown>>\n >\n existingFieldsRef?: React.MutableRefObject<Map<Path, boolean>>\n formElementRef?: React.MutableRefObject<HTMLFormElement>\n fieldErrorRef?: React.MutableRefObject<Record<Path, Error>>\n showAllErrors: boolean | number\n hasVisibleError: boolean\n formState: SubmitState\n ajvInstance: Ajv\n contextErrorMessages: GlobalErrorMessagesWithPaths\n schema: AllJSONSchemaVersions\n path?: Path\n disabled?: boolean\n required?: boolean\n countryCode?: CountryCode\n submitState: Partial<EventStateObject>\n prerenderFieldProps?: boolean\n decoupleForm?: boolean\n hasElementRef?: React.MutableRefObject<boolean>\n restHandlerProps?: Record<string, unknown>\n props: ProviderProps<JsonObject>\n}\n\nexport const defaultContextState: ContextState = {\n hasContext: false,\n data: undefined,\n schema: undefined,\n submitState: undefined,\n handlePathChange: () => null,\n handlePathChangeUnvalidated: () => null,\n updateDataValue: () => null,\n setData: () => null,\n validateData: () => null,\n handleSubmit: () => null,\n scrollToTop: () => null,\n showAllErrors: false,\n hasVisibleError: false,\n formState: undefined,\n setFormState: () => null,\n setSubmitState: () => null,\n handleSubmitCall: () => null,\n setShowAllErrors: () => null,\n setMountedFieldState: () => null,\n hasErrors: () => false,\n hasFieldState: () => false,\n hasFieldError: () => false,\n ajvInstance: makeAjvInstance(),\n contextErrorMessages: undefined,\n props: null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAsE,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA2N/D,MAAMG,mBAAiC,GAAAC,OAAA,CAAAD,mBAAA,GAAG;EAC/CE,UAAU,EAAE,KAAK;EACjBC,IAAI,EAAEC,SAAS;EACfC,MAAM,EAAED,SAAS;EACjBE,WAAW,EAAEF,SAAS;EACtBG,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;EACvCC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,WAAW,EAAEA,CAAA,KAAM,IAAI;EACvBC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEZ,SAAS;EACpBa,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,cAAc,EAAEA,CAAA,KAAM,IAAI;EAC1BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAEA,CAAA,KAAM,IAAI;EAChCC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,aAAa,EAAEA,CAAA,KAAM,KAAK;EAC1BC,WAAW,EAAE,IAAAC,sBAAe,EAAC,CAAC;EAC9BC,oBAAoB,EAAEvB,SAAS;EAC/BwB,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,OAAO,GAAGC,cAAK,CAACC,aAAa,CAAe/B,mBAAmB,CAAC;AAAA,IAAAgC,QAAA,GAAA/B,OAAA,CAAAF,OAAA,GAEvD8B,OAAO","ignoreList":[]}
|