@dnb/eufemia 10.59.0 → 10.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/cjs/components/dialog/style/dnb-dialog.css +2 -1
- package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
- package/cjs/components/dialog/style/dnb-dialog.scss +2 -1
- package/cjs/components/height-animation/HeightAnimation.d.ts +1 -1
- package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
- package/cjs/components/height-animation/HeightAnimationDocs.js +2 -2
- package/cjs/components/height-animation/HeightAnimationDocs.js.map +1 -1
- package/cjs/components/pagination/Pagination.d.ts +1 -1
- package/cjs/components/upload/Upload.js +2 -1
- 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 +80 -12
- package/cjs/components/upload/UploadFileList.js.map +1 -1
- package/cjs/components/upload/UploadFileListCell.d.ts +5 -1
- package/cjs/components/upload/UploadFileListCell.js +7 -7
- package/cjs/components/upload/UploadFileListCell.js.map +1 -1
- package/cjs/components/upload/UploadFileListLink.d.ts +13 -0
- package/cjs/components/upload/UploadFileListLink.js +66 -0
- package/cjs/components/upload/UploadFileListLink.js.map +1 -0
- package/cjs/components/upload/types.d.ts +8 -2
- package/cjs/components/upload/types.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +17 -9
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.js +22 -8
- package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/cjs/extensions/forms/Form/Element/Element.js +1 -1
- package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
- package/cjs/extensions/forms/Form/InfoOverlay/InfoOverlay.d.ts +36 -0
- package/cjs/extensions/forms/Form/InfoOverlay/InfoOverlay.js +132 -0
- package/cjs/extensions/forms/Form/InfoOverlay/InfoOverlay.js.map +1 -0
- package/cjs/extensions/forms/Form/InfoOverlay/InfoOverlayDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/InfoOverlay/InfoOverlayDocs.js +68 -0
- package/cjs/extensions/forms/Form/InfoOverlay/InfoOverlayDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/InfoOverlay/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/InfoOverlay/index.js +27 -0
- package/cjs/extensions/forms/Form/InfoOverlay/index.js.map +1 -0
- package/cjs/extensions/forms/Form/InfoOverlay/setContent.d.ts +4 -0
- package/cjs/extensions/forms/Form/InfoOverlay/setContent.js +14 -0
- package/cjs/extensions/forms/Form/InfoOverlay/setContent.js.map +1 -0
- package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +8 -4
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +18 -2
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.d.ts +1 -0
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/index.d.ts +1 -0
- package/cjs/extensions/forms/Form/index.js +7 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Value/Upload/Upload.d.ts +3 -2
- package/cjs/extensions/forms/Value/Upload/Upload.js +18 -10
- package/cjs/extensions/forms/Value/Upload/Upload.js.map +1 -1
- package/cjs/extensions/forms/Value/Upload/UploadDocs.d.ts +2 -1
- package/cjs/extensions/forms/Value/Upload/UploadDocs.js +8 -3
- package/cjs/extensions/forms/Value/Upload/UploadDocs.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +2 -3
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +12 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +12 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +12 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +24 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +12 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +12 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +1 -1
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.js +58 -21
- package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/helpers/useSharedState.d.ts +14 -6
- package/cjs/shared/helpers/useSharedState.js +52 -27
- package/cjs/shared/helpers/useSharedState.js.map +1 -1
- package/cjs/shared/locales/en-GB.js +1 -1
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/nb-NO.js +1 -1
- package/cjs/shared/locales/nb-NO.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 +3 -2
- package/cjs/style/dnb-ui-components.min.css +2 -2
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +1 -1
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +1 -1
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +4 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +4 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +4 -3
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/dialog/style/dnb-dialog.css +2 -1
- package/components/dialog/style/dnb-dialog.min.css +1 -1
- package/components/dialog/style/dnb-dialog.scss +2 -1
- package/components/height-animation/HeightAnimation.d.ts +1 -1
- package/components/height-animation/HeightAnimation.js.map +1 -1
- package/components/height-animation/HeightAnimationDocs.js +2 -2
- package/components/height-animation/HeightAnimationDocs.js.map +1 -1
- package/components/pagination/Pagination.d.ts +1 -1
- package/components/upload/Upload.js +2 -1
- 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 +77 -12
- package/components/upload/UploadFileList.js.map +1 -1
- package/components/upload/UploadFileListCell.d.ts +5 -1
- package/components/upload/UploadFileListCell.js +7 -7
- package/components/upload/UploadFileListCell.js.map +1 -1
- package/components/upload/UploadFileListLink.d.ts +13 -0
- package/components/upload/UploadFileListLink.js +56 -0
- package/components/upload/UploadFileListLink.js.map +1 -0
- package/components/upload/types.d.ts +8 -2
- package/components/upload/types.js.map +1 -1
- package/es/components/dialog/style/dnb-dialog.css +2 -1
- package/es/components/dialog/style/dnb-dialog.min.css +1 -1
- package/es/components/dialog/style/dnb-dialog.scss +2 -1
- package/es/components/height-animation/HeightAnimation.d.ts +1 -1
- package/es/components/height-animation/HeightAnimation.js.map +1 -1
- package/es/components/height-animation/HeightAnimationDocs.js +2 -2
- package/es/components/height-animation/HeightAnimationDocs.js.map +1 -1
- package/es/components/pagination/Pagination.d.ts +1 -1
- package/es/components/upload/Upload.js +2 -1
- 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 +77 -12
- package/es/components/upload/UploadFileList.js.map +1 -1
- package/es/components/upload/UploadFileListCell.d.ts +5 -1
- package/es/components/upload/UploadFileListCell.js +7 -7
- package/es/components/upload/UploadFileListCell.js.map +1 -1
- package/es/components/upload/UploadFileListLink.d.ts +13 -0
- package/es/components/upload/UploadFileListLink.js +56 -0
- package/es/components/upload/UploadFileListLink.js.map +1 -0
- package/es/components/upload/types.d.ts +8 -2
- package/es/components/upload/types.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +17 -9
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/es/extensions/forms/Field/Upload/Upload.js +18 -7
- package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/es/extensions/forms/Form/Element/Element.js +1 -1
- package/es/extensions/forms/Form/Element/Element.js.map +1 -1
- package/es/extensions/forms/Form/InfoOverlay/InfoOverlay.d.ts +36 -0
- package/es/extensions/forms/Form/InfoOverlay/InfoOverlay.js +122 -0
- package/es/extensions/forms/Form/InfoOverlay/InfoOverlay.js.map +1 -0
- package/es/extensions/forms/Form/InfoOverlay/InfoOverlayDocs.d.ts +3 -0
- package/es/extensions/forms/Form/InfoOverlay/InfoOverlayDocs.js +60 -0
- package/es/extensions/forms/Form/InfoOverlay/InfoOverlayDocs.js.map +1 -0
- package/es/extensions/forms/Form/InfoOverlay/index.d.ts +2 -0
- package/es/extensions/forms/Form/InfoOverlay/index.js +3 -0
- package/es/extensions/forms/Form/InfoOverlay/index.js.map +1 -0
- package/es/extensions/forms/Form/InfoOverlay/setContent.d.ts +4 -0
- package/es/extensions/forms/Form/InfoOverlay/setContent.js +8 -0
- package/es/extensions/forms/Form/InfoOverlay/setContent.js.map +1 -0
- package/es/extensions/forms/Form/Visibility/Visibility.d.ts +8 -4
- package/es/extensions/forms/Form/Visibility/Visibility.js +16 -2
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.d.ts +1 -0
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +9 -0
- package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/es/extensions/forms/Form/index.d.ts +1 -0
- package/es/extensions/forms/Form/index.js +1 -0
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Value/Upload/Upload.d.ts +3 -2
- package/es/extensions/forms/Value/Upload/Upload.js +18 -10
- package/es/extensions/forms/Value/Upload/Upload.js.map +1 -1
- package/es/extensions/forms/Value/Upload/UploadDocs.d.ts +2 -1
- package/es/extensions/forms/Value/Upload/UploadDocs.js +5 -1
- package/es/extensions/forms/Value/Upload/UploadDocs.js.map +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +2 -3
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +12 -0
- package/es/extensions/forms/constants/locales/en-GB.js +12 -0
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +12 -0
- package/es/extensions/forms/constants/locales/index.d.ts +24 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +12 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +12 -0
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +1 -1
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/fragments/drawer-list/DrawerListProvider.js +57 -21
- package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/helpers/useSharedState.d.ts +14 -6
- package/es/shared/helpers/useSharedState.js +51 -28
- package/es/shared/helpers/useSharedState.js.map +1 -1
- package/es/shared/locales/en-GB.js +1 -1
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/nb-NO.js +1 -1
- package/es/shared/locales/nb-NO.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 +3 -2
- package/es/style/dnb-ui-components.min.css +2 -2
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +1 -1
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +1 -1
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +4 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +4 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +4 -3
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- 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 +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +17 -9
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
- package/extensions/forms/Field/Upload/Upload.js +23 -9
- package/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/extensions/forms/Form/Element/Element.js +1 -1
- package/extensions/forms/Form/Element/Element.js.map +1 -1
- package/extensions/forms/Form/InfoOverlay/InfoOverlay.d.ts +36 -0
- package/extensions/forms/Form/InfoOverlay/InfoOverlay.js +122 -0
- package/extensions/forms/Form/InfoOverlay/InfoOverlay.js.map +1 -0
- package/extensions/forms/Form/InfoOverlay/InfoOverlayDocs.d.ts +3 -0
- package/extensions/forms/Form/InfoOverlay/InfoOverlayDocs.js +60 -0
- package/extensions/forms/Form/InfoOverlay/InfoOverlayDocs.js.map +1 -0
- package/extensions/forms/Form/InfoOverlay/index.d.ts +2 -0
- package/extensions/forms/Form/InfoOverlay/index.js +3 -0
- package/extensions/forms/Form/InfoOverlay/index.js.map +1 -0
- package/extensions/forms/Form/InfoOverlay/setContent.d.ts +4 -0
- package/extensions/forms/Form/InfoOverlay/setContent.js +8 -0
- package/extensions/forms/Form/InfoOverlay/setContent.js.map +1 -0
- package/extensions/forms/Form/Visibility/Visibility.d.ts +8 -4
- package/extensions/forms/Form/Visibility/Visibility.js +16 -2
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityDocs.d.ts +1 -0
- package/extensions/forms/Form/Visibility/VisibilityDocs.js +9 -0
- package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
- package/extensions/forms/Form/index.d.ts +1 -0
- package/extensions/forms/Form/index.js +1 -0
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Value/Upload/Upload.d.ts +3 -2
- package/extensions/forms/Value/Upload/Upload.js +18 -10
- package/extensions/forms/Value/Upload/Upload.js.map +1 -1
- package/extensions/forms/Value/Upload/UploadDocs.d.ts +2 -1
- package/extensions/forms/Value/Upload/UploadDocs.js +5 -1
- package/extensions/forms/Value/Upload/UploadDocs.js.map +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js +2 -3
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +12 -0
- package/extensions/forms/constants/locales/en-GB.js +12 -0
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +12 -0
- package/extensions/forms/constants/locales/index.d.ts +24 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +12 -0
- package/extensions/forms/constants/locales/nb-NO.js +12 -0
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +1 -1
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/fragments/drawer-list/DrawerListProvider.js +58 -21
- package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/helpers/useSharedState.d.ts +14 -6
- package/shared/helpers/useSharedState.js +52 -27
- package/shared/helpers/useSharedState.js.map +1 -1
- package/shared/locales/en-GB.js +1 -1
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/nb-NO.js +1 -1
- package/shared/locales/nb-NO.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 +3 -2
- package/style/dnb-ui-components.min.css +2 -2
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +1 -1
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +1 -1
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +4 -3
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +4 -3
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +4 -3
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- 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 +5 -5
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadFileListCell.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Anchor","_Button","_Icon2","_FormStatus2","_progressIndicator","_icons","_componentHelper","_useUpload","_UploadVerify","_ProgressIndicator","_Icon","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","fileExtensionImages","png","jpg","pdf","doc","docx","odt","xls","ppt","csv","txt","xml","file","exports","UploadFileListCell","_ref","_div","_FormStatus","id","uploadFile","onDelete","loadingText","deleteButtonText","download","errorMessage","isLoading","hasWarning","fileType","getFileTypeFromExtension","imageUrl","URL","createObjectURL","cellRef","useRef","exists","useExistsHighlight","handleDisappearFocus","cellElement","current","focusElement","getPreviousSibling","querySelector","focus","e","warn","onDeleteHandler","createElement","className","classnames","ref","getIcon","getTitle","icon","TrashIcon","variant","onClick","icon_position","disabled","getWarning","ExclamationIcon","iconFileType","mimeParts","type","split","target","href","name","rel","top","text","stretch","_default","internalFiles","useUpload","updateExists","React","useState","timerRef","clearTimers","clearTimeout","useEffect","some","_ref2","f","size","setTimeout"],"sources":["../../../../src/components/upload/UploadFileListCell.tsx"],"sourcesContent":["import React, { useRef } from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport Anchor from '../../components/Anchor'\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, warn } from '../../shared/component-helper'\nimport useUpload from './useUpload'\nimport { getFileTypeFromExtension } from './UploadVerify'\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 * 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 loadingText,\n deleteButtonText,\n download,\n}: UploadFileListCellProps) => {\n const { file, errorMessage, isLoading } = uploadFile\n const hasWarning = errorMessage != null\n\n const fileType = getFileTypeFromExtension(file)\n\n const imageUrl = URL.createObjectURL(file)\n const cellRef = useRef<HTMLLIElement>()\n const exists = useExistsHighlight(id, file)\n\n const handleDisappearFocus = () => {\n try {\n const cellElement = cellRef.current\n const focusElement = getPreviousSibling(\n '.dnb-upload',\n cellElement\n ).querySelector(\n '.dnb-upload__file-input-button'\n ) as HTMLButtonElement\n focusElement.focus()\n } catch (e) {\n warn(e)\n }\n }\n\n const onDeleteHandler = () => {\n handleDisappearFocus()\n\n onDelete()\n }\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 {getIcon()}\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 getIcon() {\n if (isLoading) {\n return <ProgressIndicator />\n }\n\n if (hasWarning) return <Icon icon={ExclamationIcon} />\n\n let iconFileType = fileType\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\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 <Anchor\n target=\"_blank\"\n href={imageUrl}\n download={download ? file.name : null}\n className={classnames(\n 'dnb-anchor--no-launch-icon',\n 'dnb-upload__file-cell__title'\n )}\n rel=\"noopener noreferrer\"\n >\n {file.name}\n </Anchor>\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UploadFileListCell.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Button","_Icon2","_FormStatus2","_progressIndicator","_icons","_componentHelper","_useUpload","_UploadVerify","_UploadFileListLink","_ProgressIndicator","_Icon","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","fileExtensionImages","png","jpg","pdf","doc","docx","odt","xls","ppt","csv","txt","xml","file","exports","UploadFileListCell","_ref","_div","_FormStatus","id","uploadFile","onDelete","onClick","loadingText","deleteButtonText","download","errorMessage","isLoading","hasWarning","fileType","getFileTypeFromExtension","imageUrl","URL","createObjectURL","cellRef","useRef","exists","useExistsHighlight","handleDisappearFocus","cellElement","current","focusElement","getPreviousSibling","querySelector","focus","e","warn","onDeleteHandler","createElement","className","classnames","ref","getIcon","getTitle","icon","TrashIcon","variant","icon_position","disabled","getWarning","ExclamationIcon","iconFileType","mimeParts","type","split","text","name","href","top","stretch","_default","internalFiles","useUpload","updateExists","React","useState","timerRef","clearTimers","clearTimeout","useEffect","some","_ref2","f","size","setTimeout"],"sources":["../../../../src/components/upload/UploadFileListCell.tsx"],"sourcesContent":["import React, { 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, warn } from '../../shared/component-helper'\nimport useUpload from './useUpload'\nimport { getFileTypeFromExtension } from './UploadVerify'\nimport UploadFileLink from './UploadFileListLink'\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 fileType = getFileTypeFromExtension(file)\n\n const imageUrl = URL.createObjectURL(file)\n const cellRef = useRef<HTMLLIElement>()\n const exists = useExistsHighlight(id, file)\n\n const handleDisappearFocus = () => {\n try {\n const cellElement = cellRef.current\n const focusElement = getPreviousSibling(\n '.dnb-upload',\n cellElement\n ).querySelector(\n '.dnb-upload__file-input-button'\n ) as HTMLButtonElement\n focusElement.focus()\n } catch (e) {\n warn(e)\n }\n }\n\n const onDeleteHandler = () => {\n handleDisappearFocus()\n\n onDelete()\n }\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 {getIcon()}\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 getIcon() {\n if (isLoading) {\n return <ProgressIndicator />\n }\n\n if (hasWarning) return <Icon icon={ExclamationIcon} />\n\n let iconFileType = fileType\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\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"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SpacingProps } from '../space/types';
|
|
2
|
+
export type UploadFileLinkProps = UploadFileAnchorProps & UploadFileButtonProps;
|
|
3
|
+
export declare const UploadFileLink: (props: UploadFileLinkProps) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export default UploadFileLink;
|
|
5
|
+
type UploadFileButtonProps = {
|
|
6
|
+
text: string;
|
|
7
|
+
onClick?: () => void;
|
|
8
|
+
} & SpacingProps;
|
|
9
|
+
type UploadFileAnchorProps = {
|
|
10
|
+
text: string;
|
|
11
|
+
href: string;
|
|
12
|
+
download?: boolean;
|
|
13
|
+
} & SpacingProps;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.UploadFileLink = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _Anchor = _interopRequireDefault(require("../../components/Anchor"));
|
|
9
|
+
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
10
|
+
var _SpacingUtils = require("../space/SpacingUtils");
|
|
11
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
+
const _excluded = ["onClick", "text", "href", "download"];
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
15
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
16
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
17
|
+
const UploadFileLink = props => {
|
|
18
|
+
const {
|
|
19
|
+
onClick,
|
|
20
|
+
text,
|
|
21
|
+
href,
|
|
22
|
+
download
|
|
23
|
+
} = props,
|
|
24
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
25
|
+
if (onClick) return _react.default.createElement(UploadFileButton, _extends({
|
|
26
|
+
text: text,
|
|
27
|
+
onClick: onClick
|
|
28
|
+
}, rest));
|
|
29
|
+
return _react.default.createElement(UploadFileAnchor, _extends({
|
|
30
|
+
text: text,
|
|
31
|
+
href: href,
|
|
32
|
+
download: download
|
|
33
|
+
}, rest));
|
|
34
|
+
};
|
|
35
|
+
exports.UploadFileLink = UploadFileLink;
|
|
36
|
+
var _default = UploadFileLink;
|
|
37
|
+
exports.default = _default;
|
|
38
|
+
const UploadFileButton = props => {
|
|
39
|
+
const {
|
|
40
|
+
text,
|
|
41
|
+
onClick
|
|
42
|
+
} = props;
|
|
43
|
+
const spacingClasses = (0, _SpacingUtils.createSpacingClasses)(props);
|
|
44
|
+
return _react.default.createElement(_Button.default, {
|
|
45
|
+
icon: false,
|
|
46
|
+
variant: "tertiary",
|
|
47
|
+
onClick: onClick,
|
|
48
|
+
className: (0, _classnames.default)(spacingClasses)
|
|
49
|
+
}, text);
|
|
50
|
+
};
|
|
51
|
+
const UploadFileAnchor = props => {
|
|
52
|
+
const {
|
|
53
|
+
text,
|
|
54
|
+
href,
|
|
55
|
+
download
|
|
56
|
+
} = props;
|
|
57
|
+
const spacingClasses = (0, _SpacingUtils.createSpacingClasses)(props);
|
|
58
|
+
return _react.default.createElement(_Anchor.default, {
|
|
59
|
+
target: "_blank",
|
|
60
|
+
href: href,
|
|
61
|
+
download: download ? text : null,
|
|
62
|
+
className: (0, _classnames.default)('dnb-anchor--no-launch-icon', spacingClasses),
|
|
63
|
+
rel: "noopener noreferrer"
|
|
64
|
+
}, text);
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=UploadFileListLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UploadFileListLink.js","names":["_react","_interopRequireDefault","require","_Anchor","_Button","_SpacingUtils","_classnames","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","UploadFileLink","props","onClick","text","href","download","rest","createElement","UploadFileButton","UploadFileAnchor","exports","_default","spacingClasses","createSpacingClasses","icon","variant","className","classNames","rel"],"sources":["../../../../src/components/upload/UploadFileListLink.tsx"],"sourcesContent":["import React from 'react'\n\nimport Anchor from '../../components/Anchor'\nimport Button from '../button/Button'\nimport { SpacingProps } from '../space/types'\nimport { createSpacingClasses } from '../space/SpacingUtils'\nimport classNames from 'classnames'\n\nexport type UploadFileLinkProps = UploadFileAnchorProps &\n UploadFileButtonProps\n\nexport const UploadFileLink = (props: UploadFileLinkProps) => {\n const { onClick, text, href, download, ...rest } = props\n if (onClick)\n return <UploadFileButton text={text} onClick={onClick} {...rest} />\n return (\n <UploadFileAnchor\n text={text}\n href={href}\n download={download}\n {...rest}\n />\n )\n}\n\nexport default UploadFileLink\n\ntype UploadFileButtonProps = {\n text: string\n onClick?: () => void\n} & SpacingProps\n\nconst UploadFileButton = (props: UploadFileButtonProps) => {\n const { text, onClick } = props\n\n const spacingClasses = createSpacingClasses(props)\n return (\n <Button\n icon={false}\n variant=\"tertiary\"\n onClick={onClick}\n className={classNames(spacingClasses)}\n >\n {text}\n </Button>\n )\n}\n\ntype UploadFileAnchorProps = {\n text: string\n href: string\n download?: boolean\n} & SpacingProps\n\nconst UploadFileAnchor = (props: UploadFileAnchorProps) => {\n const { text, href, download } = props\n\n const spacingClasses = createSpacingClasses(props)\n\n return (\n <Anchor\n target=\"_blank\"\n href={href}\n download={download ? text : null}\n className={classNames('dnb-anchor--no-launch-icon', spacingClasses)}\n rel=\"noopener noreferrer\"\n >\n {text}\n </Anchor>\n )\n}\n"],"mappings":"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"}
|
|
@@ -40,9 +40,15 @@ export type UploadProps = {
|
|
|
40
40
|
/**
|
|
41
41
|
* will be called once a file gets deleted by the user. Access the deleted file with `{ fileItem }`.
|
|
42
42
|
*/
|
|
43
|
-
onFileDelete?: ({ fileItem }: {
|
|
43
|
+
onFileDelete?: ({ fileItem, }: {
|
|
44
44
|
fileItem: UploadFile;
|
|
45
|
-
}) => void
|
|
45
|
+
}) => void | Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Will be called once a file gets clicked on by the user. Access the clicked file with `{ fileItem }`.
|
|
48
|
+
*/
|
|
49
|
+
onFileClick?: ({ fileItem, }: {
|
|
50
|
+
fileItem: UploadFile;
|
|
51
|
+
}) => void | Promise<void>;
|
|
46
52
|
/**
|
|
47
53
|
* Causes the browser to treat all listed files as downloadable instead of opening them in a new browser tab or window.
|
|
48
54
|
* Default: false
|
|
@@ -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'\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: string\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?: ({ fileItem }
|
|
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'\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: string\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<UploadProps>\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":""}
|
|
@@ -376,7 +376,7 @@ function Provider(props) {
|
|
|
376
376
|
isEmptyDataRef.current = true;
|
|
377
377
|
internalDataRef.current = (_ref4 = typeof emptyData === 'function' ? emptyData(internalDataRef.current) : emptyData) !== null && _ref4 !== void 0 ? _ref4 : Array.isArray(internalDataRef.current) ? [] : clearedData;
|
|
378
378
|
if (id) {
|
|
379
|
-
setSharedData
|
|
379
|
+
setSharedData(internalDataRef.current);
|
|
380
380
|
}
|
|
381
381
|
forceUpdate();
|
|
382
382
|
onClear === null || onClear === void 0 ? void 0 : onClear();
|
|
@@ -385,16 +385,17 @@ function Provider(props) {
|
|
|
385
385
|
});
|
|
386
386
|
}, [emptyData, id, onClear, setSharedData]);
|
|
387
387
|
useLayoutEffect(() => {
|
|
388
|
-
if (id
|
|
389
|
-
|
|
388
|
+
if (id) {
|
|
389
|
+
if (initialData && !sharedData.data) {
|
|
390
|
+
extendSharedData(initialData, {
|
|
391
|
+
preventSyncOfSameInstance: true
|
|
392
|
+
});
|
|
393
|
+
}
|
|
390
394
|
}
|
|
391
395
|
}, [id, initialData, extendSharedData, sharedData.data]);
|
|
392
|
-
(0, _react.useMemo)(() => {
|
|
393
|
-
executeAjvValidator();
|
|
394
|
-
}, [internalDataRef.current]);
|
|
395
396
|
useLayoutEffect(() => {
|
|
396
397
|
if (id) {
|
|
397
|
-
extendAttachment
|
|
398
|
+
extendAttachment({
|
|
398
399
|
visibleDataHandler,
|
|
399
400
|
filterDataHandler,
|
|
400
401
|
hasErrors,
|
|
@@ -403,12 +404,17 @@ function Provider(props) {
|
|
|
403
404
|
setSubmitState,
|
|
404
405
|
clearData,
|
|
405
406
|
fieldConnectionsRef
|
|
407
|
+
}, {
|
|
408
|
+
preventSyncOfSameInstance: true
|
|
406
409
|
});
|
|
407
410
|
if (filterSubmitData) {
|
|
408
411
|
rerenderUseDataHook === null || rerenderUseDataHook === void 0 ? void 0 : rerenderUseDataHook();
|
|
409
412
|
}
|
|
410
413
|
}
|
|
411
|
-
}, [extendAttachment, visibleDataHandler, filterDataHandler, filterSubmitData, hasErrors, hasFieldError, id, rerenderUseDataHook, setShowAllErrors, setSubmitState, clearData]);
|
|
414
|
+
}, [extendAttachment, visibleDataHandler, filterDataHandler, filterSubmitData, hasErrors, hasFieldError, id, rerenderUseDataHook, setShowAllErrors, setSubmitState, clearData, extendSharedData]);
|
|
415
|
+
(0, _react.useMemo)(() => {
|
|
416
|
+
executeAjvValidator();
|
|
417
|
+
}, [internalDataRef.current]);
|
|
412
418
|
const storeInSession = (0, _react.useMemo)(() => {
|
|
413
419
|
return (0, _helpers.debounce)(() => {
|
|
414
420
|
var _window$sessionStorag2;
|
|
@@ -422,7 +428,9 @@ function Provider(props) {
|
|
|
422
428
|
}
|
|
423
429
|
internalDataRef.current = newData;
|
|
424
430
|
if (id) {
|
|
425
|
-
extendSharedData
|
|
431
|
+
extendSharedData(newData, {
|
|
432
|
+
preventSyncOfSameInstance: true
|
|
433
|
+
});
|
|
426
434
|
if (filterSubmitData) {
|
|
427
435
|
rerenderUseDataHook === null || rerenderUseDataHook === void 0 ? void 0 : rerenderUseDataHook();
|
|
428
436
|
}
|