@dnb/eufemia 10.44.0 → 10.46.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 +55 -0
- package/cjs/components/CopyOnClick.d.ts +12 -0
- package/cjs/components/CopyOnClick.js +24 -0
- package/cjs/components/CopyOnClick.js.map +1 -0
- package/cjs/components/checkbox/style/dnb-checkbox.scss +1 -1
- package/cjs/components/copy-on-click/CopyOnClick.d.ts +9 -0
- package/cjs/components/copy-on-click/CopyOnClick.js +72 -0
- package/cjs/components/copy-on-click/CopyOnClick.js.map +1 -0
- package/cjs/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
- package/cjs/components/copy-on-click/CopyOnClickDocs.js +25 -0
- package/cjs/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
- package/cjs/components/copy-on-click/index.d.ts +7 -0
- package/cjs/components/copy-on-click/index.js +24 -0
- package/cjs/components/copy-on-click/index.js.map +1 -0
- package/cjs/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
- package/cjs/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
- package/cjs/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
- package/cjs/components/copy-on-click/style/index.d.ts +5 -0
- package/cjs/components/copy-on-click/style/index.js +4 -0
- package/cjs/components/copy-on-click/style/index.js.map +1 -0
- package/cjs/components/copy-on-click/style.d.ts +5 -0
- package/cjs/components/copy-on-click/style.js +4 -0
- package/cjs/components/copy-on-click/style.js.map +1 -0
- package/cjs/components/copy-on-click/types.d.ts +19 -0
- package/cjs/components/copy-on-click/types.js +1 -0
- package/cjs/components/copy-on-click/types.js.map +1 -0
- package/cjs/components/index.d.ts +2 -1
- package/cjs/components/index.js +7 -0
- package/cjs/components/index.js.map +1 -1
- package/cjs/components/lib.d.ts +6 -1
- package/cjs/components/lib.js +8 -0
- package/cjs/components/lib.js.map +1 -1
- package/cjs/components/pagination/Pagination.d.ts +27 -1
- package/cjs/components/pagination/Pagination.js +3 -1
- package/cjs/components/pagination/Pagination.js.map +1 -1
- package/cjs/components/pagination/PaginationInfinity.js +20 -8
- package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
- package/cjs/components/radio/style/dnb-radio.scss +1 -1
- package/cjs/components/table/TableStickyHeader.js.map +1 -1
- package/cjs/components/upload/Upload.js +2 -1
- package/cjs/components/upload/Upload.js.map +1 -1
- package/cjs/components/upload/UploadDocs.d.ts +1 -0
- package/cjs/components/upload/UploadDocs.js +17 -4
- package/cjs/components/upload/UploadDocs.js.map +1 -1
- package/cjs/components/upload/UploadInfo.js +57 -5
- package/cjs/components/upload/UploadInfo.js.map +1 -1
- package/cjs/components/upload/UploadVerify.d.ts +4 -2
- package/cjs/components/upload/UploadVerify.js +32 -5
- package/cjs/components/upload/UploadVerify.js.map +1 -1
- package/cjs/components/upload/style/dnb-upload.css +15 -0
- package/cjs/components/upload/style/dnb-upload.min.css +1 -1
- package/cjs/components/upload/style/dnb-upload.scss +17 -0
- package/cjs/components/upload/types.d.ts +7 -1
- package/cjs/components/upload/types.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +10 -5
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +8 -0
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +48 -26
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +16 -3
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +38 -24
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Email/Email.js +1 -1
- package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
- package/cjs/extensions/forms/Field/Name/Name.js +2 -2
- package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +22 -3
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/cjs/extensions/forms/Field/Number/Number.js +33 -31
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +11 -3
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +4 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +28 -20
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +3 -3
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/Form/Element/Element.js +11 -9
- package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js +1 -3
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +25 -7
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -13
- package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.js +9 -7
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
- package/cjs/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
- package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +7 -5
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +25 -19
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/{IterateElementContext.d.ts → IterateItemContext.d.ts} +3 -3
- package/cjs/extensions/forms/Iterate/{IterateElementContext.js → IterateItemContext.js} +3 -3
- package/cjs/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
- package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
- package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +42 -0
- package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +95 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js +12 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +42 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
- package/cjs/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
- package/cjs/extensions/forms/Iterate/PushContainer/index.js +27 -0
- package/cjs/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +13 -5
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
- package/cjs/extensions/forms/Iterate/hooks/useItem.js +15 -0
- package/cjs/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
- package/cjs/extensions/forms/Iterate/index.d.ts +3 -1
- package/cjs/extensions/forms/Iterate/index.js +17 -3
- package/cjs/extensions/forms/Iterate/index.js.map +1 -1
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +81 -0
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +15 -0
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/ArraySelection/index.js +27 -0
- package/cjs/extensions/forms/Value/ArraySelection/index.js.map +1 -0
- package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
- package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js +54 -0
- package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
- package/cjs/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/SelectCountry/index.js +27 -0
- package/cjs/extensions/forms/Value/SelectCountry/index.js.map +1 -0
- package/cjs/extensions/forms/Value/Selection/Selection.d.ts +9 -0
- package/cjs/extensions/forms/Value/Selection/Selection.js +58 -0
- package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -0
- package/cjs/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/Selection/SelectionDocs.js +15 -0
- package/cjs/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/Selection/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/Selection/index.js +27 -0
- package/cjs/extensions/forms/Value/Selection/index.js.map +1 -0
- package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
- package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/index.d.ts +3 -0
- package/cjs/extensions/forms/Value/index.js +21 -0
- package/cjs/extensions/forms/Value/index.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +7 -6
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +27 -11
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
- package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +5 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +6 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +5 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +10 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +6 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.js +3 -3
- package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +1 -0
- package/cjs/extensions/forms/hooks/useDataValue.js +11 -4
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useExternalValue.js +4 -4
- package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +11 -9
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/usePath.js +3 -3
- package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js +4 -1
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +3 -0
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +9 -2
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +7 -0
- package/cjs/index.js.map +1 -1
- package/cjs/shared/Context.js +4 -6
- package/cjs/shared/Context.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/locales/en-GB.d.ts +4 -0
- package/cjs/shared/locales/en-GB.js +4 -0
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +4 -0
- package/cjs/shared/locales/index.d.ts +8 -0
- package/cjs/shared/locales/nb-NO.d.ts +4 -0
- package/cjs/shared/locales/nb-NO.js +5 -1
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/useTheme.d.ts +4 -10
- package/cjs/shared/useTheme.js +7 -5
- package/cjs/shared/useTheme.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 +26 -0
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-components.scss +1 -0
- 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 +3 -0
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +3 -0
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +29 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +29 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +29 -0
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -0
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +3 -0
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/CopyOnClick.d.ts +12 -0
- package/components/CopyOnClick.js +4 -0
- package/components/CopyOnClick.js.map +1 -0
- package/components/checkbox/style/dnb-checkbox.scss +1 -1
- package/components/copy-on-click/CopyOnClick.d.ts +9 -0
- package/components/copy-on-click/CopyOnClick.js +62 -0
- package/components/copy-on-click/CopyOnClick.js.map +1 -0
- package/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
- package/components/copy-on-click/CopyOnClickDocs.js +18 -0
- package/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
- package/components/copy-on-click/index.d.ts +7 -0
- package/components/copy-on-click/index.js +4 -0
- package/components/copy-on-click/index.js.map +1 -0
- package/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
- package/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
- package/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
- package/components/copy-on-click/style/index.d.ts +5 -0
- package/components/copy-on-click/style/index.js +1 -0
- package/components/copy-on-click/style/index.js.map +1 -0
- package/components/copy-on-click/style.d.ts +5 -0
- package/components/copy-on-click/style.js +1 -0
- package/components/copy-on-click/style.js.map +1 -0
- package/components/copy-on-click/types.d.ts +19 -0
- package/components/copy-on-click/types.js +1 -0
- package/components/copy-on-click/types.js.map +1 -0
- package/components/index.d.ts +2 -1
- package/components/index.js +2 -1
- package/components/index.js.map +1 -1
- package/components/lib.d.ts +6 -1
- package/components/lib.js +3 -1
- package/components/lib.js.map +1 -1
- package/components/pagination/Pagination.d.ts +27 -1
- package/components/pagination/Pagination.js +3 -1
- package/components/pagination/Pagination.js.map +1 -1
- package/components/pagination/PaginationInfinity.js +20 -8
- package/components/pagination/PaginationInfinity.js.map +1 -1
- package/components/radio/style/dnb-radio.scss +1 -1
- package/components/table/TableStickyHeader.js.map +1 -1
- package/components/upload/Upload.js +2 -1
- package/components/upload/Upload.js.map +1 -1
- package/components/upload/UploadDocs.d.ts +1 -0
- package/components/upload/UploadDocs.js +15 -3
- package/components/upload/UploadDocs.js.map +1 -1
- package/components/upload/UploadInfo.js +57 -5
- package/components/upload/UploadInfo.js.map +1 -1
- package/components/upload/UploadVerify.d.ts +4 -2
- package/components/upload/UploadVerify.js +30 -5
- package/components/upload/UploadVerify.js.map +1 -1
- package/components/upload/style/dnb-upload.css +15 -0
- package/components/upload/style/dnb-upload.min.css +1 -1
- package/components/upload/style/dnb-upload.scss +17 -0
- package/components/upload/types.d.ts +7 -1
- package/components/upload/types.js.map +1 -1
- package/es/components/CopyOnClick.d.ts +12 -0
- package/es/components/CopyOnClick.js +4 -0
- package/es/components/CopyOnClick.js.map +1 -0
- package/es/components/checkbox/style/dnb-checkbox.scss +1 -1
- package/es/components/copy-on-click/CopyOnClick.d.ts +9 -0
- package/es/components/copy-on-click/CopyOnClick.js +62 -0
- package/es/components/copy-on-click/CopyOnClick.js.map +1 -0
- package/es/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
- package/es/components/copy-on-click/CopyOnClickDocs.js +18 -0
- package/es/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
- package/es/components/copy-on-click/index.d.ts +7 -0
- package/es/components/copy-on-click/index.js +4 -0
- package/es/components/copy-on-click/index.js.map +1 -0
- package/es/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
- package/es/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
- package/es/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
- package/es/components/copy-on-click/style/index.d.ts +5 -0
- package/es/components/copy-on-click/style/index.js +1 -0
- package/es/components/copy-on-click/style/index.js.map +1 -0
- package/es/components/copy-on-click/style.d.ts +5 -0
- package/es/components/copy-on-click/style.js +1 -0
- package/es/components/copy-on-click/style.js.map +1 -0
- package/es/components/copy-on-click/types.d.ts +19 -0
- package/es/components/copy-on-click/types.js +1 -0
- package/es/components/copy-on-click/types.js.map +1 -0
- package/es/components/index.d.ts +2 -1
- package/es/components/index.js +2 -1
- package/es/components/index.js.map +1 -1
- package/es/components/lib.d.ts +6 -1
- package/es/components/lib.js +3 -1
- package/es/components/lib.js.map +1 -1
- package/es/components/pagination/Pagination.d.ts +27 -1
- package/es/components/pagination/Pagination.js +3 -1
- package/es/components/pagination/Pagination.js.map +1 -1
- package/es/components/pagination/PaginationInfinity.js +20 -8
- package/es/components/pagination/PaginationInfinity.js.map +1 -1
- package/es/components/radio/style/dnb-radio.scss +1 -1
- package/es/components/table/TableStickyHeader.js.map +1 -1
- package/es/components/upload/Upload.js +2 -1
- package/es/components/upload/Upload.js.map +1 -1
- package/es/components/upload/UploadDocs.d.ts +1 -0
- package/es/components/upload/UploadDocs.js +15 -3
- package/es/components/upload/UploadDocs.js.map +1 -1
- package/es/components/upload/UploadInfo.js +57 -5
- package/es/components/upload/UploadInfo.js.map +1 -1
- package/es/components/upload/UploadVerify.d.ts +4 -2
- package/es/components/upload/UploadVerify.js +30 -5
- package/es/components/upload/UploadVerify.js.map +1 -1
- package/es/components/upload/style/dnb-upload.css +15 -0
- package/es/components/upload/style/dnb-upload.min.css +1 -1
- package/es/components/upload/style/dnb-upload.scss +17 -0
- package/es/components/upload/types.d.ts +7 -1
- package/es/components/upload/types.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +10 -5
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +9 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
- package/es/extensions/forms/DataContext/Provider/Provider.js +47 -25
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +16 -3
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +37 -24
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
- package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/es/extensions/forms/Field/Email/Email.js +1 -1
- package/es/extensions/forms/Field/Email/Email.js.map +1 -1
- package/es/extensions/forms/Field/Name/Name.js +2 -2
- package/es/extensions/forms/Field/Name/Name.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +23 -4
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/es/extensions/forms/Field/Number/Number.js +33 -31
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +4 -1
- package/es/extensions/forms/Field/Selection/Selection.js +22 -16
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +3 -3
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/Form/Element/Element.js +9 -9
- package/es/extensions/forms/Form/Element/Element.js.map +1 -1
- package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js +1 -3
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.js +26 -8
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -11
- package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.js +9 -7
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
- package/es/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
- package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +7 -5
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +26 -20
- package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
- package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/{extensions/forms/Iterate/IterateElementContext.d.ts → es/extensions/forms/Iterate/IterateItemContext.d.ts} +3 -3
- package/es/extensions/forms/Iterate/IterateItemContext.js +4 -0
- package/es/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
- package/es/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
- package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
- package/es/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
- package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +32 -0
- package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +80 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js +6 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +34 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
- package/es/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
- package/es/extensions/forms/Iterate/PushContainer/index.js +3 -0
- package/es/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +15 -6
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
- package/es/extensions/forms/Iterate/hooks/useItem.js +9 -0
- package/es/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
- package/es/extensions/forms/Iterate/index.d.ts +3 -1
- package/es/extensions/forms/Iterate/index.js +3 -1
- package/es/extensions/forms/Iterate/index.js.map +1 -1
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +66 -0
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
- package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
- package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +8 -0
- package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
- package/es/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
- package/es/extensions/forms/Value/ArraySelection/index.js +3 -0
- package/es/extensions/forms/Value/ArraySelection/index.js.map +1 -0
- package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
- package/es/extensions/forms/Value/SelectCountry/SelectCountry.js +44 -0
- package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
- package/es/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
- package/es/extensions/forms/Value/SelectCountry/index.js +3 -0
- package/es/extensions/forms/Value/SelectCountry/index.js.map +1 -0
- package/es/extensions/forms/Value/Selection/Selection.d.ts +9 -0
- package/es/extensions/forms/Value/Selection/Selection.js +48 -0
- package/es/extensions/forms/Value/Selection/Selection.js.map +1 -0
- package/es/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
- package/es/extensions/forms/Value/Selection/SelectionDocs.js +8 -0
- package/es/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
- package/es/extensions/forms/Value/Selection/index.d.ts +2 -0
- package/es/extensions/forms/Value/Selection/index.js +3 -0
- package/es/extensions/forms/Value/Selection/index.js.map +1 -0
- package/es/extensions/forms/Value/ValueDocs.js +6 -1
- package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/es/extensions/forms/Value/index.d.ts +3 -0
- package/es/extensions/forms/Value/index.js +3 -0
- package/es/extensions/forms/Value/index.js.map +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +7 -6
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +16 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
- package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +5 -0
- package/es/extensions/forms/constants/locales/en-GB.js +6 -1
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +5 -0
- package/es/extensions/forms/constants/locales/index.d.ts +10 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +6 -1
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/DataValueDocs.js +3 -3
- package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +1 -0
- package/es/extensions/forms/hooks/useDataValue.js +11 -4
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useExternalValue.js +4 -4
- package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +11 -9
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/usePath.js +2 -2
- package/es/extensions/forms/hooks/usePath.js.map +1 -1
- package/es/extensions/forms/hooks/useValueProps.js +4 -1
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +3 -0
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +9 -2
- package/es/extensions/forms/types.js.map +1 -1
- package/es/index.d.ts +2 -1
- package/es/index.js +2 -1
- package/es/index.js.map +1 -1
- package/es/shared/Context.js +4 -6
- package/es/shared/Context.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/locales/en-GB.d.ts +4 -0
- package/es/shared/locales/en-GB.js +4 -0
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +4 -0
- package/es/shared/locales/index.d.ts +8 -0
- package/es/shared/locales/nb-NO.d.ts +4 -0
- package/es/shared/locales/nb-NO.js +5 -1
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/useTheme.d.ts +4 -10
- package/es/shared/useTheme.js +7 -5
- package/es/shared/useTheme.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 +26 -0
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-components.scss +1 -0
- 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 +3 -0
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +3 -0
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +29 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +29 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +29 -0
- package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -0
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +3 -0
- 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 +5 -5
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +10 -5
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +8 -0
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +9 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
- package/extensions/forms/DataContext/Provider/Provider.js +48 -26
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +16 -3
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +37 -24
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
- package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/extensions/forms/Field/Email/Email.js +1 -1
- package/extensions/forms/Field/Email/Email.js.map +1 -1
- package/extensions/forms/Field/Name/Name.js +2 -2
- package/extensions/forms/Field/Name/Name.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +23 -4
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/extensions/forms/Field/Number/Number.d.ts +2 -2
- package/extensions/forms/Field/Number/Number.js +33 -31
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +4 -1
- package/extensions/forms/Field/Selection/Selection.js +27 -20
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
- package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +3 -3
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/Form/Element/Element.js +9 -9
- package/extensions/forms/Form/Element/Element.js.map +1 -1
- package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/extensions/forms/Form/Handler/Handler.js +1 -3
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
- package/extensions/forms/Form/Isolation/Isolation.js +26 -8
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
- package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +13 -5
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +10 -11
- package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -1
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.js +9 -7
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js +3 -3
- package/extensions/forms/Iterate/AnimatedContainer/AnimatedContainer.js.map +1 -1
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +2 -2
- package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +7 -5
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -3
- package/extensions/forms/Iterate/EditContainer/EditContainer.js +26 -20
- package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +10 -0
- package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +44 -14
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/{es/extensions/forms/Iterate/IterateElementContext.d.ts → extensions/forms/Iterate/IterateItemContext.d.ts} +3 -3
- package/extensions/forms/Iterate/IterateItemContext.js +4 -0
- package/extensions/forms/Iterate/IterateItemContext.js.map +1 -0
- package/extensions/forms/Iterate/PushButton/PushButton.js +3 -3
- package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
- package/extensions/forms/Iterate/PushButton/PushButtonDocs.js +5 -0
- package/extensions/forms/Iterate/PushButton/PushButtonDocs.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/OpenButton.d.ts +4 -0
- package/extensions/forms/Iterate/PushContainer/OpenButton.js +32 -0
- package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -0
- package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +37 -0
- package/extensions/forms/Iterate/PushContainer/PushContainer.js +83 -0
- package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -0
- package/extensions/forms/Iterate/PushContainer/PushContainerContext.d.ts +11 -0
- package/extensions/forms/Iterate/PushContainer/PushContainerContext.js +6 -0
- package/extensions/forms/Iterate/PushContainer/PushContainerContext.js.map +1 -0
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.d.ts +3 -0
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +34 -0
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -0
- package/extensions/forms/Iterate/PushContainer/index.d.ts +2 -0
- package/extensions/forms/Iterate/PushContainer/index.js +3 -0
- package/extensions/forms/Iterate/PushContainer/index.js.map +1 -0
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -4
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +4 -0
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +15 -6
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
- package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/hooks/useItem.d.ts +1 -0
- package/extensions/forms/Iterate/hooks/useItem.js +9 -0
- package/extensions/forms/Iterate/hooks/useItem.js.map +1 -0
- package/extensions/forms/Iterate/index.d.ts +3 -1
- package/extensions/forms/Iterate/index.js +3 -1
- package/extensions/forms/Iterate/index.js.map +1 -1
- package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +19 -0
- package/extensions/forms/Value/ArraySelection/ArraySelection.js +70 -0
- package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -0
- package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.d.ts +2 -0
- package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +8 -0
- package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -0
- package/extensions/forms/Value/ArraySelection/index.d.ts +2 -0
- package/extensions/forms/Value/ArraySelection/index.js +3 -0
- package/extensions/forms/Value/ArraySelection/index.js.map +1 -0
- package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
- package/extensions/forms/Value/SelectCountry/SelectCountry.js +44 -0
- package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
- package/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
- package/extensions/forms/Value/SelectCountry/index.js +3 -0
- package/extensions/forms/Value/SelectCountry/index.js.map +1 -0
- package/extensions/forms/Value/Selection/Selection.d.ts +9 -0
- package/extensions/forms/Value/Selection/Selection.js +48 -0
- package/extensions/forms/Value/Selection/Selection.js.map +1 -0
- package/extensions/forms/Value/Selection/SelectionDocs.d.ts +2 -0
- package/extensions/forms/Value/Selection/SelectionDocs.js +8 -0
- package/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -0
- package/extensions/forms/Value/Selection/index.d.ts +2 -0
- package/extensions/forms/Value/Selection/index.js +3 -0
- package/extensions/forms/Value/Selection/index.js.map +1 -0
- package/extensions/forms/Value/ValueDocs.js +6 -1
- package/extensions/forms/Value/ValueDocs.js.map +1 -1
- package/extensions/forms/Value/index.d.ts +3 -0
- package/extensions/forms/Value/index.js +3 -0
- package/extensions/forms/Value/index.js.map +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +7 -6
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
- package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
- package/extensions/forms/Wizard/Container/WizardContainer.js +27 -11
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Context/WizardContext.d.ts +1 -0
- package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +5 -0
- package/extensions/forms/constants/locales/en-GB.js +6 -1
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +5 -0
- package/extensions/forms/constants/locales/index.d.ts +10 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +5 -0
- package/extensions/forms/constants/locales/nb-NO.js +6 -1
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/DataValueDocs.js +3 -3
- package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +1 -0
- package/extensions/forms/hooks/useDataValue.js +11 -4
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useExternalValue.js +4 -4
- package/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +11 -9
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/usePath.js +2 -2
- package/extensions/forms/hooks/usePath.js.map +1 -1
- package/extensions/forms/hooks/useValueProps.js +4 -1
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +3 -0
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +9 -2
- package/extensions/forms/types.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +2 -1
- package/shared/Context.js +4 -6
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/locales/en-GB.d.ts +4 -0
- package/shared/locales/en-GB.js +4 -0
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +4 -0
- package/shared/locales/index.d.ts +8 -0
- package/shared/locales/nb-NO.d.ts +4 -0
- package/shared/locales/nb-NO.js +5 -1
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/useTheme.d.ts +4 -10
- package/shared/useTheme.js +7 -5
- package/shared/useTheme.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 +26 -0
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-components.scss +1 -0
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +3 -0
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +3 -0
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +29 -0
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +29 -0
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +29 -0
- package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/style/themes/theme-ui/ui-theme-extensions.css +3 -0
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +3 -0
- 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
- package/cjs/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
- package/es/extensions/forms/Iterate/IterateElementContext.js +0 -4
- package/es/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
- package/extensions/forms/Iterate/IterateElementContext.js +0 -4
- package/extensions/forms/Iterate/IterateElementContext.js.map +0 -1
|
@@ -215,7 +215,9 @@ export default class InfinityScroller extends React.PureComponent {
|
|
|
215
215
|
page_element,
|
|
216
216
|
fallback_element,
|
|
217
217
|
marker_element,
|
|
218
|
-
indicator_element
|
|
218
|
+
indicator_element,
|
|
219
|
+
load_button_text,
|
|
220
|
+
loadButton
|
|
219
221
|
} = this.context.pagination;
|
|
220
222
|
if (!(items && items.length > 0)) {
|
|
221
223
|
clearTimeout(this._startupTimeout);
|
|
@@ -255,8 +257,10 @@ export default class InfinityScroller extends React.PureComponent {
|
|
|
255
257
|
key: pageNumber,
|
|
256
258
|
ref: ref
|
|
257
259
|
}, hasContent && startupPage > 1 && pageNumber > 1 && pageNumber <= startupPage && React.createElement(InfinityLoadButton, {
|
|
258
|
-
element: fallback_element,
|
|
260
|
+
element: typeof loadButton === 'function' ? loadButton : fallback_element,
|
|
259
261
|
icon: "arrow_up",
|
|
262
|
+
text: load_button_text !== null && load_button_text !== void 0 ? load_button_text : loadButton === null || loadButton === void 0 ? void 0 : loadButton.text,
|
|
263
|
+
icon_position: loadButton === null || loadButton === void 0 ? void 0 : loadButton.iconPosition,
|
|
260
264
|
on_click: event => this.getNewContent(pageNumber - 1, {
|
|
261
265
|
position: 'before',
|
|
262
266
|
skipObserver: true,
|
|
@@ -265,7 +269,9 @@ export default class InfinityScroller extends React.PureComponent {
|
|
|
265
269
|
}), placeMakerBeforeContent && marker, content, !placeMakerBeforeContent && marker, showIndicator && React.createElement(PaginationIndicator, {
|
|
266
270
|
indicator_element: indicator_element || fallback_element
|
|
267
271
|
}), hasContent && this.useLoadButton && isLastItem && (typeof pageCount === 'undefined' || pageNumber < pageCount) && React.createElement(InfinityLoadButton, {
|
|
268
|
-
element: fallback_element,
|
|
272
|
+
element: typeof loadButton === 'function' ? loadButton : fallback_element,
|
|
273
|
+
text: load_button_text !== null && load_button_text !== void 0 ? load_button_text : loadButton === null || loadButton === void 0 ? void 0 : loadButton.text,
|
|
274
|
+
icon_position: loadButton === null || loadButton === void 0 ? void 0 : loadButton.iconPosition,
|
|
269
275
|
icon: "arrow_down",
|
|
270
276
|
on_click: event => this.getNewContent(pageNumber + 1, {
|
|
271
277
|
position: 'after',
|
|
@@ -388,7 +394,9 @@ export class InfinityLoadButton extends React.PureComponent {
|
|
|
388
394
|
render() {
|
|
389
395
|
const {
|
|
390
396
|
element,
|
|
391
|
-
icon
|
|
397
|
+
icon,
|
|
398
|
+
text,
|
|
399
|
+
icon_position
|
|
392
400
|
} = this.props;
|
|
393
401
|
const Element = element;
|
|
394
402
|
const ElementChild = isTrElement(Element) ? 'td' : 'div';
|
|
@@ -397,8 +405,8 @@ export class InfinityLoadButton extends React.PureComponent {
|
|
|
397
405
|
}, React.createElement(Button, {
|
|
398
406
|
size: "medium",
|
|
399
407
|
icon: icon,
|
|
400
|
-
icon_position:
|
|
401
|
-
text: this.context.translation.Pagination.load_button_text,
|
|
408
|
+
icon_position: icon_position,
|
|
409
|
+
text: text || this.context.translation.Pagination.load_button_text,
|
|
402
410
|
variant: "secondary",
|
|
403
411
|
on_click: this.onClickHandler
|
|
404
412
|
})));
|
|
@@ -408,13 +416,17 @@ _defineProperty(InfinityLoadButton, "contextType", Context);
|
|
|
408
416
|
_defineProperty(InfinityLoadButton, "defaultProps", {
|
|
409
417
|
element: 'div',
|
|
410
418
|
pressed_element: null,
|
|
411
|
-
icon: 'arrow_down'
|
|
419
|
+
icon: 'arrow_down',
|
|
420
|
+
text: null,
|
|
421
|
+
icon_position: 'left'
|
|
412
422
|
});
|
|
413
423
|
process.env.NODE_ENV !== "production" ? InfinityLoadButton.propTypes = {
|
|
414
424
|
element: PropTypes.oneOfType([PropTypes.object, PropTypes.node, PropTypes.func, PropTypes.string]),
|
|
415
425
|
pressed_element: PropTypes.oneOfType([PropTypes.object, PropTypes.node, PropTypes.func]),
|
|
416
426
|
icon: PropTypes.string.isRequired,
|
|
417
|
-
on_click: PropTypes.func.isRequired
|
|
427
|
+
on_click: PropTypes.func.isRequired,
|
|
428
|
+
text: PropTypes.string,
|
|
429
|
+
icon_position: PropTypes.string
|
|
418
430
|
} : void 0;
|
|
419
431
|
class ScrollToElement extends React.PureComponent {
|
|
420
432
|
componentDidMount() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationInfinity.js","names":["React","PropTypes","ReactDOM","warn","isTrue","dispatchCustomElementEvent","getPreviousSibling","Context","Button","preparePageElement","isTrElement","PaginationIndicator","PaginationContext","InfinityScroller","PureComponent","constructor","props","context","_defineProperty","startupPage","startup_count","pagination","startupCount","parseFloat","newPageNo","skipObserver","callStartupEvent","preventWaitForDelay","i","getNewContent","position","pageCount","endInfinity","exists","items","findIndex","obj","pageNumber","prefillItems","setItems","callEventHandler","hideIndicator","hide_progress_indicator","useLoadButton","use_load_button","lastElement","createRef","callOnUnmount","componentWillUnmount","clearTimeout","_startupTimeout","_bufferTimeout","forEach","f","waitForReachedTime","fn","params","callbackBuffer","push","callBuffer","minTime","length","diff","_lastCall","Date","getTime","waitTime","nextTick","shift","setTimeout","callOnEnd","onDispatch","createEvent","eventName","isNaN","ret","_objectSpread","handleInfinityMarker","children","lowerPage","upperPage","hasEndedInfinity","parallelLoadCount","current_page","fallback_element","marker_element","indicator_element","Marker","createElement","InteractionMarker","markerElement","onVisible","onPageUpdate","setState","LoadButton","InfinityLoadButton","icon","element","pressed_element","on_click","Fragment","render","placeMakerBeforeContent","page_element","startup","useMarkerOnly","Element","map","hasContent","content","ref","ScrollElement","idx","isLastItem","Elem","marker","showIndicator","key","event","ScrollToElement","_extends","process","env","NODE_ENV","propTypes","oneOfType","node","func","isConnected","_this$intersectionObs","intersectionObserver","disconnect","_readyTimeout","_isMounted","_ref","IntersectionObserver","entries","isIntersecting","callReady","componentDidMount","current","_this$intersectionObs2","observe","getContentHeight","height","sibling","window","getComputedStyle","querySelector","e","state","ElementChild","className","number","isRequired","object","string","args","isPressed","size","icon_position","text","translation","Pagination","load_button_text","variant","onClickHandler","elem","findDOMNode","scrollToPage","scrollIntoView","block","behavior","_this$props","_objectWithoutProperties","_excluded","_supportsSpacingProps"],"sources":["../../../../src/components/pagination/PaginationInfinity.js"],"sourcesContent":["/**\n * Web Pagination Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport ReactDOM from 'react-dom'\nimport {\n warn,\n isTrue,\n dispatchCustomElementEvent,\n getPreviousSibling,\n} from '../../shared/component-helper'\nimport Context from '../../shared/Context'\nimport Button from '../button/Button'\nimport {\n preparePageElement,\n isTrElement,\n PaginationIndicator,\n} from './PaginationHelpers'\nimport PaginationContext from './PaginationContext'\n\nexport default class InfinityScroller extends React.PureComponent {\n static contextType = PaginationContext\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n }\n static defaultProps = { children: null }\n\n constructor(props, context) {\n super(props)\n this.hideIndicator = isTrue(context.pagination.hide_progress_indicator)\n this.useLoadButton = isTrue(context.pagination.use_load_button)\n this.lastElement = React.createRef()\n this.callOnUnmount = []\n }\n\n componentWillUnmount() {\n clearTimeout(this._startupTimeout)\n clearTimeout(this._bufferTimeout)\n this.callOnUnmount.forEach((f) => typeof f === 'function' && f())\n }\n\n startup = () => {\n const { startupPage, startup_count } = this.context.pagination\n const startupCount = parseFloat(startup_count)\n\n let newPageNo, skipObserver, callStartupEvent, preventWaitForDelay\n for (let i = 0; i < startupCount; ++i) {\n newPageNo = startupPage + i\n skipObserver = newPageNo < startupCount\n callStartupEvent = i === 0\n preventWaitForDelay = i <= startupCount - 1\n\n // NB: Looks like we have to do more work here to use a waitBuffer\n this.getNewContent(\n newPageNo,\n {\n position: 'after',\n skipObserver,\n },\n { callStartupEvent, preventWaitForDelay }\n )\n }\n }\n\n getNewContent = (\n newPageNo,\n props = {},\n { callStartupEvent = false, preventWaitForDelay = false } = {}\n ) => {\n const { pageCount, endInfinity } = this.context.pagination\n\n // if \"page_count\" is set do not load more than that value\n if (newPageNo > pageCount) {\n return endInfinity()\n }\n\n const exists =\n this.context.pagination.items.findIndex((obj) => {\n return obj.pageNumber === newPageNo\n }) > -1\n\n if (exists) {\n return // stop here!\n }\n\n const items = this.context.pagination.prefillItems(newPageNo, props)\n\n this.context.pagination.setItems(items, () => {\n this.callEventHandler(newPageNo, {\n callStartupEvent,\n preventWaitForDelay,\n })\n })\n }\n\n waitForReachedTime(fn, params) {\n this.callbackBuffer = this.callbackBuffer || []\n this.callbackBuffer.push({ fn, params })\n this.callBuffer({\n minTime: params.preventWaitForDelay\n ? -1\n : this.context.pagination.minTime,\n })\n }\n\n callBuffer({ minTime = this.context.pagination.minTime } = {}) {\n if (this.callbackBuffer.length === 0) {\n return // stop here\n }\n\n const diff =\n this._lastCall > 0 ? new Date().getTime() - this._lastCall : 0\n const waitTime = diff < minTime ? minTime : 0\n\n const nextTick = () => {\n if (this.callbackBuffer.length > 0) {\n this._lastCall = new Date().getTime()\n const { fn, params } = this.callbackBuffer.shift()\n fn(params)\n this.callBuffer({\n minTime: params.preventWaitForDelay ? -1 : minTime,\n })\n }\n }\n\n if (minTime > 0) {\n clearTimeout(this._bufferTimeout)\n this._bufferTimeout = setTimeout(nextTick, waitTime)\n } else {\n nextTick()\n }\n }\n\n callEventHandler(\n pageNumber,\n {\n callStartupEvent = false,\n preventWaitForDelay = false,\n callOnEnd = false,\n onDispatch = null,\n } = {}\n ) {\n this.waitForReachedTime(\n ({ pageNumber, callStartupEvent }) => {\n const context = this.context.pagination\n const createEvent = (eventName) => {\n if (isNaN(pageNumber)) {\n pageNumber = 1\n }\n const ret = dispatchCustomElementEvent(context, eventName, {\n pageNumber,\n ...context,\n })\n\n if (typeof onDispatch === 'function') {\n onDispatch()\n }\n\n if (typeof ret === 'function') {\n this.callOnUnmount.push(ret)\n }\n }\n\n if (callOnEnd) {\n createEvent('on_end')\n } else {\n if (callStartupEvent) {\n createEvent('on_startup')\n } else {\n createEvent('on_change')\n }\n\n createEvent('on_load')\n }\n },\n { pageNumber, callStartupEvent, preventWaitForDelay }\n )\n }\n\n handleInfinityMarker() {\n const { children } = this.props\n\n const {\n // our states\n lowerPage,\n upperPage,\n pageCount,\n hasEndedInfinity,\n parallelLoadCount,\n\n // our props\n current_page,\n fallback_element,\n marker_element,\n indicator_element,\n } = this.context.pagination\n\n const Marker = () => (\n <InteractionMarker\n pageNumber={upperPage}\n markerElement={marker_element || fallback_element}\n onVisible={(pageNumber) => {\n let newPageNo\n // load several pages at once\n for (let i = 0; i < parallelLoadCount; ++i) {\n newPageNo = pageNumber + 1 + i\n // wait on updating our own state, so we can show the indicator (pressed_element) until we get new children back\n this.context.pagination.onPageUpdate(() => {\n this.context.pagination.setState({\n upperPage: newPageNo,\n skipObserver: i + 1 < parallelLoadCount,\n })\n })\n this.callEventHandler(newPageNo)\n }\n }}\n />\n )\n\n const LoadButton = () => (\n <InfinityLoadButton\n icon=\"arrow_up\"\n element={fallback_element}\n pressed_element={\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n }\n on_click={() => {\n const newPageNo = lowerPage - 1\n // wait on updating our own state, so we can show the indicator (pressed_element) until we get new children back\n this.context.pagination.onPageUpdate(() => {\n this.context.pagination.setState({\n lowerPage: newPageNo,\n })\n })\n this.callEventHandler(newPageNo)\n }}\n />\n )\n\n return (\n <>\n {parseFloat(current_page) > 0 && lowerPage > 1 && <LoadButton />}\n\n {children}\n\n {!hasEndedInfinity &&\n parseFloat(current_page) > 0 &&\n (typeof pageCount === 'undefined' || upperPage < pageCount) && (\n <Marker />\n )}\n\n {!hasEndedInfinity &&\n !this.hideIndicator &&\n (typeof pageCount === 'undefined' || upperPage < pageCount) && (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n </>\n )\n }\n\n render() {\n const {\n // our states\n items,\n pageCount,\n startupPage,\n hasEndedInfinity,\n parallelLoadCount,\n placeMakerBeforeContent,\n\n // our props\n page_element,\n fallback_element,\n marker_element,\n indicator_element,\n } = this.context.pagination\n\n // invoke startup if needed\n if (!(items && items.length > 0)) {\n clearTimeout(this._startupTimeout)\n this._startupTimeout = setTimeout(this.startup, 1) // call startup()\n return null // stop here\n }\n\n if (this.context.pagination.useMarkerOnly) {\n return this.handleInfinityMarker()\n }\n\n // make sure we handle Table markup correctly\n const Element = preparePageElement(page_element || React.Fragment)\n\n return items.map(\n (\n {\n pageNumber,\n hasContent,\n content,\n ref,\n skipObserver,\n ScrollElement,\n },\n idx\n ) => {\n const isLastItem = idx === items.length - 1\n\n // decide to whether use the default Element, or use the scrollTo element\n const Elem = (hasContent && ScrollElement) || Element\n\n // render the marker before\n const marker = hasContent &&\n !this.useLoadButton &&\n !skipObserver &&\n !hasEndedInfinity &&\n (typeof pageCount === 'undefined' ||\n pageNumber <= pageCount) && (\n <InteractionMarker\n pageNumber={pageNumber}\n markerElement={marker_element || fallback_element}\n onVisible={(pageNumber) => {\n let newPageNo\n // load several pages at once\n for (let i = 0; i < parallelLoadCount; ++i) {\n newPageNo = pageNumber + 1 + i\n this.getNewContent(newPageNo, {\n position: 'after',\n skipObserver: i + 1 < parallelLoadCount,\n })\n }\n }}\n />\n )\n\n const showIndicator =\n (parallelLoadCount > 1 && idx > 0 ? isLastItem : true) &&\n !hasContent &&\n !this.hideIndicator\n\n return (\n <Elem key={pageNumber} ref={ref}>\n {hasContent &&\n startupPage > 1 &&\n pageNumber > 1 &&\n pageNumber <= startupPage && (\n <InfinityLoadButton\n element={fallback_element}\n icon=\"arrow_up\"\n on_click={(event) =>\n this.getNewContent(pageNumber - 1, {\n position: 'before',\n skipObserver: true,\n event,\n })\n }\n />\n )}\n\n {placeMakerBeforeContent && marker}\n {content}\n {!placeMakerBeforeContent && marker}\n\n {showIndicator && (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n\n {hasContent &&\n this.useLoadButton &&\n isLastItem &&\n (typeof pageCount === 'undefined' ||\n pageNumber < pageCount) && (\n <InfinityLoadButton\n element={fallback_element}\n icon=\"arrow_down\"\n on_click={(event) =>\n this.getNewContent(pageNumber + 1, {\n position: 'after',\n skipObserver: true,\n ScrollElement: (props) =>\n hasContent && (\n <ScrollToElement\n page_element={page_element}\n {...props}\n />\n ),\n event,\n })\n }\n />\n )}\n </Elem>\n )\n }\n )\n }\n}\n\nclass InteractionMarker extends React.PureComponent {\n static propTypes = {\n pageNumber: PropTypes.number.isRequired,\n onVisible: PropTypes.func.isRequired,\n markerElement: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n }\n static defaultProps = {\n markerElement: null,\n }\n state = { isConnected: false }\n\n constructor(props) {\n super(props)\n\n if (typeof props.markerElement === 'function') {\n warn(\n 'Pagination: Please use a string or React element e.g. marker_element=\"tr\"'\n )\n }\n\n this._ref = React.createRef()\n\n if (typeof IntersectionObserver !== 'undefined') {\n this.intersectionObserver = new IntersectionObserver((entries) => {\n const [{ isIntersecting }] = entries\n if (isIntersecting) {\n this.callReady()\n }\n })\n } else {\n warn('Pagination is missing IntersectionObserver supported!')\n }\n }\n\n componentDidMount() {\n if (this._ref.current) {\n this._isMounted = true\n this.intersectionObserver?.observe(this._ref.current)\n }\n }\n\n componentWillUnmount() {\n this._isMounted = false\n if (this.intersectionObserver) {\n clearTimeout(this._readyTimeout)\n this.intersectionObserver.disconnect()\n }\n }\n\n callReady = () => {\n this.intersectionObserver?.disconnect()\n this.intersectionObserver = null\n clearTimeout(this._readyTimeout)\n this._readyTimeout = setTimeout(() => {\n if (this._isMounted) {\n this.setState({ isConnected: true })\n }\n this.props.onVisible(this.props.pageNumber)\n }, 1) // because of re-render loop\n }\n\n getContentHeight() {\n let height = 0\n\n try {\n const sibling = getPreviousSibling('dnb-table', this._ref.current)\n height = parseFloat(\n window.getComputedStyle(sibling.querySelector('tbody')).height\n )\n } catch (e) {\n //\n }\n\n return height\n }\n\n render() {\n const { markerElement } = this.props\n\n if (this.state.isConnected || !this.intersectionObserver) {\n return null\n }\n\n // NB: make sure we don't actually use the marker element,\n // because it looks like React as troubles regarding handling ref during a re-render?\n const Element =\n markerElement && isTrElement(markerElement) ? 'tr' : 'div'\n const ElementChild =\n markerElement && isTrElement(markerElement) ? 'td' : 'div'\n\n return (\n <Element className=\"dnb-pagination__marker dnb-table--ignore\">\n <ElementChild\n className=\"dnb-pagination__marker__inner\"\n ref={this._ref}\n >\n {/* {this.props.pageNumber} */}\n </ElementChild>\n </Element>\n )\n }\n}\n\nexport class InfinityLoadButton extends React.PureComponent {\n static contextType = Context\n static propTypes = {\n element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n pressed_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon: PropTypes.string.isRequired,\n on_click: PropTypes.func.isRequired,\n }\n static defaultProps = {\n element: 'div',\n pressed_element: null,\n icon: 'arrow_down',\n }\n state = { isPressed: false }\n onClickHandler = (e) => {\n this.setState({ isPressed: true })\n if (typeof this.props.on_click === 'function') {\n this.props.on_click(e)\n }\n }\n render() {\n const { element, icon } = this.props\n const Element = element\n const ElementChild = isTrElement(Element) ? 'td' : 'div'\n\n return this.state.isPressed ? (\n this.props.pressed_element\n ) : (\n <Element>\n <ElementChild className=\"dnb-pagination__loadbar\">\n <Button\n size=\"medium\"\n icon={icon}\n icon_position=\"left\"\n text={this.context.translation.Pagination.load_button_text}\n variant=\"secondary\"\n on_click={this.onClickHandler}\n />\n </ElementChild>\n </Element>\n )\n }\n}\n\nclass ScrollToElement extends React.PureComponent {\n static propTypes = {\n page_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n }\n static defaultProps = {\n page_element: null,\n }\n componentDidMount() {\n // we use \"findDOMNode\" here, because we have situations, where we don't know about what the input element is,\n // we also don't want to wrap them because of markup collisions\n // therefor we use \"findDOMNode\" here\n // so we can scroll to that page\n // eslint-disable-next-line\n const elem = ReactDOM.findDOMNode(this)\n this.scrollToPage(elem)\n }\n scrollToPage(element) {\n if (element && typeof element.scrollIntoView === 'function') {\n element.scrollIntoView({\n block: 'nearest',\n behavior: 'smooth',\n })\n }\n }\n render() {\n const { page_element, ...props } = this.props\n const Element = preparePageElement(page_element || React.Fragment)\n return <Element {...props} />\n }\n}\n\nInfinityScroller._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PaginationInfinity.js","names":["React","PropTypes","ReactDOM","warn","isTrue","dispatchCustomElementEvent","getPreviousSibling","Context","Button","preparePageElement","isTrElement","PaginationIndicator","PaginationContext","InfinityScroller","PureComponent","constructor","props","context","_defineProperty","startupPage","startup_count","pagination","startupCount","parseFloat","newPageNo","skipObserver","callStartupEvent","preventWaitForDelay","i","getNewContent","position","pageCount","endInfinity","exists","items","findIndex","obj","pageNumber","prefillItems","setItems","callEventHandler","hideIndicator","hide_progress_indicator","useLoadButton","use_load_button","lastElement","createRef","callOnUnmount","componentWillUnmount","clearTimeout","_startupTimeout","_bufferTimeout","forEach","f","waitForReachedTime","fn","params","callbackBuffer","push","callBuffer","minTime","length","diff","_lastCall","Date","getTime","waitTime","nextTick","shift","setTimeout","callOnEnd","onDispatch","createEvent","eventName","isNaN","ret","_objectSpread","handleInfinityMarker","children","lowerPage","upperPage","hasEndedInfinity","parallelLoadCount","current_page","fallback_element","marker_element","indicator_element","Marker","createElement","InteractionMarker","markerElement","onVisible","onPageUpdate","setState","LoadButton","InfinityLoadButton","icon","element","pressed_element","on_click","Fragment","render","placeMakerBeforeContent","page_element","load_button_text","loadButton","startup","useMarkerOnly","Element","map","hasContent","content","ref","ScrollElement","idx","isLastItem","Elem","marker","showIndicator","key","text","icon_position","iconPosition","event","ScrollToElement","_extends","process","env","NODE_ENV","propTypes","oneOfType","node","func","isConnected","_this$intersectionObs","intersectionObserver","disconnect","_readyTimeout","_isMounted","_ref","IntersectionObserver","entries","isIntersecting","callReady","componentDidMount","current","_this$intersectionObs2","observe","getContentHeight","height","sibling","window","getComputedStyle","querySelector","e","state","ElementChild","className","number","isRequired","object","string","args","isPressed","size","translation","Pagination","variant","onClickHandler","elem","findDOMNode","scrollToPage","scrollIntoView","block","behavior","_this$props","_objectWithoutProperties","_excluded","_supportsSpacingProps"],"sources":["../../../../src/components/pagination/PaginationInfinity.js"],"sourcesContent":["/**\n * Web Pagination Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport ReactDOM from 'react-dom'\nimport {\n warn,\n isTrue,\n dispatchCustomElementEvent,\n getPreviousSibling,\n} from '../../shared/component-helper'\nimport Context from '../../shared/Context'\nimport Button from '../button/Button'\nimport {\n preparePageElement,\n isTrElement,\n PaginationIndicator,\n} from './PaginationHelpers'\nimport PaginationContext from './PaginationContext'\n\nexport default class InfinityScroller extends React.PureComponent {\n static contextType = PaginationContext\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n }\n static defaultProps = { children: null }\n\n constructor(props, context) {\n super(props)\n this.hideIndicator = isTrue(context.pagination.hide_progress_indicator)\n this.useLoadButton = isTrue(context.pagination.use_load_button)\n this.lastElement = React.createRef()\n this.callOnUnmount = []\n }\n\n componentWillUnmount() {\n clearTimeout(this._startupTimeout)\n clearTimeout(this._bufferTimeout)\n this.callOnUnmount.forEach((f) => typeof f === 'function' && f())\n }\n\n startup = () => {\n const { startupPage, startup_count } = this.context.pagination\n const startupCount = parseFloat(startup_count)\n\n let newPageNo, skipObserver, callStartupEvent, preventWaitForDelay\n for (let i = 0; i < startupCount; ++i) {\n newPageNo = startupPage + i\n skipObserver = newPageNo < startupCount\n callStartupEvent = i === 0\n preventWaitForDelay = i <= startupCount - 1\n\n // NB: Looks like we have to do more work here to use a waitBuffer\n this.getNewContent(\n newPageNo,\n {\n position: 'after',\n skipObserver,\n },\n { callStartupEvent, preventWaitForDelay }\n )\n }\n }\n\n getNewContent = (\n newPageNo,\n props = {},\n { callStartupEvent = false, preventWaitForDelay = false } = {}\n ) => {\n const { pageCount, endInfinity } = this.context.pagination\n\n // if \"page_count\" is set do not load more than that value\n if (newPageNo > pageCount) {\n return endInfinity()\n }\n\n const exists =\n this.context.pagination.items.findIndex((obj) => {\n return obj.pageNumber === newPageNo\n }) > -1\n\n if (exists) {\n return // stop here!\n }\n\n const items = this.context.pagination.prefillItems(newPageNo, props)\n\n this.context.pagination.setItems(items, () => {\n this.callEventHandler(newPageNo, {\n callStartupEvent,\n preventWaitForDelay,\n })\n })\n }\n\n waitForReachedTime(fn, params) {\n this.callbackBuffer = this.callbackBuffer || []\n this.callbackBuffer.push({ fn, params })\n this.callBuffer({\n minTime: params.preventWaitForDelay\n ? -1\n : this.context.pagination.minTime,\n })\n }\n\n callBuffer({ minTime = this.context.pagination.minTime } = {}) {\n if (this.callbackBuffer.length === 0) {\n return // stop here\n }\n\n const diff =\n this._lastCall > 0 ? new Date().getTime() - this._lastCall : 0\n const waitTime = diff < minTime ? minTime : 0\n\n const nextTick = () => {\n if (this.callbackBuffer.length > 0) {\n this._lastCall = new Date().getTime()\n const { fn, params } = this.callbackBuffer.shift()\n fn(params)\n this.callBuffer({\n minTime: params.preventWaitForDelay ? -1 : minTime,\n })\n }\n }\n\n if (minTime > 0) {\n clearTimeout(this._bufferTimeout)\n this._bufferTimeout = setTimeout(nextTick, waitTime)\n } else {\n nextTick()\n }\n }\n\n callEventHandler(\n pageNumber,\n {\n callStartupEvent = false,\n preventWaitForDelay = false,\n callOnEnd = false,\n onDispatch = null,\n } = {}\n ) {\n this.waitForReachedTime(\n ({ pageNumber, callStartupEvent }) => {\n const context = this.context.pagination\n const createEvent = (eventName) => {\n if (isNaN(pageNumber)) {\n pageNumber = 1\n }\n const ret = dispatchCustomElementEvent(context, eventName, {\n pageNumber,\n ...context,\n })\n\n if (typeof onDispatch === 'function') {\n onDispatch()\n }\n\n if (typeof ret === 'function') {\n this.callOnUnmount.push(ret)\n }\n }\n\n if (callOnEnd) {\n createEvent('on_end')\n } else {\n if (callStartupEvent) {\n createEvent('on_startup')\n } else {\n createEvent('on_change')\n }\n\n createEvent('on_load')\n }\n },\n { pageNumber, callStartupEvent, preventWaitForDelay }\n )\n }\n\n handleInfinityMarker() {\n const { children } = this.props\n\n const {\n // our states\n lowerPage,\n upperPage,\n pageCount,\n hasEndedInfinity,\n parallelLoadCount,\n\n // our props\n current_page,\n fallback_element,\n marker_element,\n indicator_element,\n } = this.context.pagination\n\n const Marker = () => (\n <InteractionMarker\n pageNumber={upperPage}\n markerElement={marker_element || fallback_element}\n onVisible={(pageNumber) => {\n let newPageNo\n // load several pages at once\n for (let i = 0; i < parallelLoadCount; ++i) {\n newPageNo = pageNumber + 1 + i\n // wait on updating our own state, so we can show the indicator (pressed_element) until we get new children back\n this.context.pagination.onPageUpdate(() => {\n this.context.pagination.setState({\n upperPage: newPageNo,\n skipObserver: i + 1 < parallelLoadCount,\n })\n })\n this.callEventHandler(newPageNo)\n }\n }}\n />\n )\n\n const LoadButton = () => (\n <InfinityLoadButton\n icon=\"arrow_up\"\n element={fallback_element}\n pressed_element={\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n }\n on_click={() => {\n const newPageNo = lowerPage - 1\n // wait on updating our own state, so we can show the indicator (pressed_element) until we get new children back\n this.context.pagination.onPageUpdate(() => {\n this.context.pagination.setState({\n lowerPage: newPageNo,\n })\n })\n this.callEventHandler(newPageNo)\n }}\n />\n )\n\n return (\n <>\n {parseFloat(current_page) > 0 && lowerPage > 1 && <LoadButton />}\n\n {children}\n\n {!hasEndedInfinity &&\n parseFloat(current_page) > 0 &&\n (typeof pageCount === 'undefined' || upperPage < pageCount) && (\n <Marker />\n )}\n\n {!hasEndedInfinity &&\n !this.hideIndicator &&\n (typeof pageCount === 'undefined' || upperPage < pageCount) && (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n </>\n )\n }\n\n render() {\n const {\n // our states\n items,\n pageCount,\n startupPage,\n hasEndedInfinity,\n parallelLoadCount,\n placeMakerBeforeContent,\n\n // our props\n page_element,\n fallback_element,\n marker_element,\n indicator_element,\n load_button_text,\n loadButton,\n } = this.context.pagination\n\n // invoke startup if needed\n if (!(items && items.length > 0)) {\n clearTimeout(this._startupTimeout)\n this._startupTimeout = setTimeout(this.startup, 1) // call startup()\n return null // stop here\n }\n\n if (this.context.pagination.useMarkerOnly) {\n return this.handleInfinityMarker()\n }\n\n // make sure we handle Table markup correctly\n const Element = preparePageElement(page_element || React.Fragment)\n\n return items.map(\n (\n {\n pageNumber,\n hasContent,\n content,\n ref,\n skipObserver,\n ScrollElement,\n },\n idx\n ) => {\n const isLastItem = idx === items.length - 1\n\n // decide to whether use the default Element, or use the scrollTo element\n const Elem = (hasContent && ScrollElement) || Element\n\n // render the marker before\n const marker = hasContent &&\n !this.useLoadButton &&\n !skipObserver &&\n !hasEndedInfinity &&\n (typeof pageCount === 'undefined' ||\n pageNumber <= pageCount) && (\n <InteractionMarker\n pageNumber={pageNumber}\n markerElement={marker_element || fallback_element}\n onVisible={(pageNumber) => {\n let newPageNo\n // load several pages at once\n for (let i = 0; i < parallelLoadCount; ++i) {\n newPageNo = pageNumber + 1 + i\n this.getNewContent(newPageNo, {\n position: 'after',\n skipObserver: i + 1 < parallelLoadCount,\n })\n }\n }}\n />\n )\n\n const showIndicator =\n (parallelLoadCount > 1 && idx > 0 ? isLastItem : true) &&\n !hasContent &&\n !this.hideIndicator\n\n return (\n <Elem key={pageNumber} ref={ref}>\n {hasContent &&\n startupPage > 1 &&\n pageNumber > 1 &&\n pageNumber <= startupPage && (\n <InfinityLoadButton\n element={\n typeof loadButton === 'function'\n ? loadButton\n : fallback_element\n }\n icon=\"arrow_up\"\n text={load_button_text ?? loadButton?.text}\n icon_position={loadButton?.iconPosition}\n on_click={(event) =>\n this.getNewContent(pageNumber - 1, {\n position: 'before',\n skipObserver: true,\n event,\n })\n }\n />\n )}\n\n {placeMakerBeforeContent && marker}\n {content}\n {!placeMakerBeforeContent && marker}\n\n {showIndicator && (\n <PaginationIndicator\n indicator_element={indicator_element || fallback_element}\n />\n )}\n\n {hasContent &&\n this.useLoadButton &&\n isLastItem &&\n (typeof pageCount === 'undefined' ||\n pageNumber < pageCount) && (\n <InfinityLoadButton\n element={\n typeof loadButton === 'function'\n ? loadButton\n : fallback_element\n }\n text={load_button_text ?? loadButton?.text}\n icon_position={loadButton?.iconPosition}\n icon=\"arrow_down\"\n on_click={(event) =>\n this.getNewContent(pageNumber + 1, {\n position: 'after',\n skipObserver: true,\n ScrollElement: (props) =>\n hasContent && (\n <ScrollToElement\n page_element={page_element}\n {...props}\n />\n ),\n event,\n })\n }\n />\n )}\n </Elem>\n )\n }\n )\n }\n}\n\nclass InteractionMarker extends React.PureComponent {\n static propTypes = {\n pageNumber: PropTypes.number.isRequired,\n onVisible: PropTypes.func.isRequired,\n markerElement: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n }\n static defaultProps = {\n markerElement: null,\n }\n state = { isConnected: false }\n\n constructor(props) {\n super(props)\n\n if (typeof props.markerElement === 'function') {\n warn(\n 'Pagination: Please use a string or React element e.g. marker_element=\"tr\"'\n )\n }\n\n this._ref = React.createRef()\n\n if (typeof IntersectionObserver !== 'undefined') {\n this.intersectionObserver = new IntersectionObserver((entries) => {\n const [{ isIntersecting }] = entries\n if (isIntersecting) {\n this.callReady()\n }\n })\n } else {\n warn('Pagination is missing IntersectionObserver supported!')\n }\n }\n\n componentDidMount() {\n if (this._ref.current) {\n this._isMounted = true\n this.intersectionObserver?.observe(this._ref.current)\n }\n }\n\n componentWillUnmount() {\n this._isMounted = false\n if (this.intersectionObserver) {\n clearTimeout(this._readyTimeout)\n this.intersectionObserver.disconnect()\n }\n }\n\n callReady = () => {\n this.intersectionObserver?.disconnect()\n this.intersectionObserver = null\n clearTimeout(this._readyTimeout)\n this._readyTimeout = setTimeout(() => {\n if (this._isMounted) {\n this.setState({ isConnected: true })\n }\n this.props.onVisible(this.props.pageNumber)\n }, 1) // because of re-render loop\n }\n\n getContentHeight() {\n let height = 0\n\n try {\n const sibling = getPreviousSibling('dnb-table', this._ref.current)\n height = parseFloat(\n window.getComputedStyle(sibling.querySelector('tbody')).height\n )\n } catch (e) {\n //\n }\n\n return height\n }\n\n render() {\n const { markerElement } = this.props\n\n if (this.state.isConnected || !this.intersectionObserver) {\n return null\n }\n\n // NB: make sure we don't actually use the marker element,\n // because it looks like React as troubles regarding handling ref during a re-render?\n const Element =\n markerElement && isTrElement(markerElement) ? 'tr' : 'div'\n const ElementChild =\n markerElement && isTrElement(markerElement) ? 'td' : 'div'\n\n return (\n <Element className=\"dnb-pagination__marker dnb-table--ignore\">\n <ElementChild\n className=\"dnb-pagination__marker__inner\"\n ref={this._ref}\n >\n {/* {this.props.pageNumber} */}\n </ElementChild>\n </Element>\n )\n }\n}\n\nexport class InfinityLoadButton extends React.PureComponent {\n static contextType = Context\n static propTypes = {\n element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n pressed_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon: PropTypes.string.isRequired,\n on_click: PropTypes.func.isRequired,\n text: PropTypes.string,\n icon_position: PropTypes.string,\n }\n static defaultProps = {\n element: 'div',\n pressed_element: null,\n icon: 'arrow_down',\n text: null,\n icon_position: 'left',\n }\n state = { isPressed: false }\n onClickHandler = (e) => {\n this.setState({ isPressed: true })\n if (typeof this.props.on_click === 'function') {\n this.props.on_click(e)\n }\n }\n render() {\n const { element, icon, text, icon_position } = this.props\n const Element = element\n const ElementChild = isTrElement(Element) ? 'td' : 'div'\n\n return this.state.isPressed ? (\n this.props.pressed_element\n ) : (\n <Element>\n <ElementChild className=\"dnb-pagination__loadbar\">\n <Button\n size=\"medium\"\n icon={icon}\n icon_position={icon_position}\n text={\n text || this.context.translation.Pagination.load_button_text\n }\n variant=\"secondary\"\n on_click={this.onClickHandler}\n />\n </ElementChild>\n </Element>\n )\n }\n}\n\nclass ScrollToElement extends React.PureComponent {\n static propTypes = {\n page_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.node,\n PropTypes.func,\n PropTypes.string,\n ]),\n }\n static defaultProps = {\n page_element: null,\n }\n componentDidMount() {\n // we use \"findDOMNode\" here, because we have situations, where we don't know about what the input element is,\n // we also don't want to wrap them because of markup collisions\n // therefor we use \"findDOMNode\" here\n // so we can scroll to that page\n // eslint-disable-next-line\n const elem = ReactDOM.findDOMNode(this)\n this.scrollToPage(elem)\n }\n scrollToPage(element) {\n if (element && typeof element.scrollIntoView === 'function') {\n element.scrollIntoView({\n block: 'nearest',\n behavior: 'smooth',\n })\n }\n }\n render() {\n const { page_element, ...props } = this.props\n const Element = preparePageElement(page_element || React.Fragment)\n return <Element {...props} />\n }\n}\n\nInfinityScroller._supportsSpacingProps = true\n"],"mappings":";;;;;;;;AAOA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,QAAQ,MAAM,WAAW;AAChC,SACEC,IAAI,EACJC,MAAM,EACNC,0BAA0B,EAC1BC,kBAAkB,QACb,+BAA+B;AACtC,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,MAAM,MAAM,kBAAkB;AACrC,SACEC,kBAAkB,EAClBC,WAAW,EACXC,mBAAmB,QACd,qBAAqB;AAC5B,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,eAAe,MAAMC,gBAAgB,SAASb,KAAK,CAACc,aAAa,CAAC;EAOhEC,WAAWA,CAACC,MAAK,EAAEC,OAAO,EAAE;IAC1B,KAAK,CAACD,MAAK,CAAC;IAAAE,eAAA,kBAaJ,MAAM;MACd,MAAM;QAAEC,WAAW;QAAEC;MAAc,CAAC,GAAG,IAAI,CAACH,OAAO,CAACI,UAAU;MAC9D,MAAMC,YAAY,GAAGC,UAAU,CAACH,aAAa,CAAC;MAE9C,IAAII,SAAS,EAAEC,YAAY,EAAEC,gBAAgB,EAAEC,mBAAmB;MAClE,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,YAAY,EAAE,EAAEM,CAAC,EAAE;QACrCJ,SAAS,GAAGL,WAAW,GAAGS,CAAC;QAC3BH,YAAY,GAAGD,SAAS,GAAGF,YAAY;QACvCI,gBAAgB,GAAGE,CAAC,KAAK,CAAC;QAC1BD,mBAAmB,GAAGC,CAAC,IAAIN,YAAY,GAAG,CAAC;QAG3C,IAAI,CAACO,aAAa,CAChBL,SAAS,EACT;UACEM,QAAQ,EAAE,OAAO;UACjBL;QACF,CAAC,EACD;UAAEC,gBAAgB;UAAEC;QAAoB,CAC1C,CAAC;MACH;IACF,CAAC;IAAAT,eAAA,wBAEe,CACdM,SAAS,EACTR,KAAK,GAAG,CAAC,CAAC,EACV;MAAEU,gBAAgB,GAAG,KAAK;MAAEC,mBAAmB,GAAG;IAAM,CAAC,GAAG,CAAC,CAAC,KAC3D;MACH,MAAM;QAAEI,SAAS;QAAEC;MAAY,CAAC,GAAG,IAAI,CAACf,OAAO,CAACI,UAAU;MAG1D,IAAIG,SAAS,GAAGO,SAAS,EAAE;QACzB,OAAOC,WAAW,CAAC,CAAC;MACtB;MAEA,MAAMC,MAAM,GACV,IAAI,CAAChB,OAAO,CAACI,UAAU,CAACa,KAAK,CAACC,SAAS,CAAEC,GAAG,IAAK;QAC/C,OAAOA,GAAG,CAACC,UAAU,KAAKb,SAAS;MACrC,CAAC,CAAC,GAAG,CAAC,CAAC;MAET,IAAIS,MAAM,EAAE;QACV;MACF;MAEA,MAAMC,KAAK,GAAG,IAAI,CAACjB,OAAO,CAACI,UAAU,CAACiB,YAAY,CAACd,SAAS,EAAER,KAAK,CAAC;MAEpE,IAAI,CAACC,OAAO,CAACI,UAAU,CAACkB,QAAQ,CAACL,KAAK,EAAE,MAAM;QAC5C,IAAI,CAACM,gBAAgB,CAAChB,SAAS,EAAE;UAC/BE,gBAAgB;UAChBC;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC;IAhEC,IAAI,CAACc,aAAa,GAAGrC,MAAM,CAACa,OAAO,CAACI,UAAU,CAACqB,uBAAuB,CAAC;IACvE,IAAI,CAACC,aAAa,GAAGvC,MAAM,CAACa,OAAO,CAACI,UAAU,CAACuB,eAAe,CAAC;IAC/D,IAAI,CAACC,WAAW,GAAG7C,KAAK,CAAC8C,SAAS,CAAC,CAAC;IACpC,IAAI,CAACC,aAAa,GAAG,EAAE;EACzB;EAEAC,oBAAoBA,CAAA,EAAG;IACrBC,YAAY,CAAC,IAAI,CAACC,eAAe,CAAC;IAClCD,YAAY,CAAC,IAAI,CAACE,cAAc,CAAC;IACjC,IAAI,CAACJ,aAAa,CAACK,OAAO,CAAEC,CAAC,IAAK,OAAOA,CAAC,KAAK,UAAU,IAAIA,CAAC,CAAC,CAAC,CAAC;EACnE;EAwDAC,kBAAkBA,CAACC,EAAE,EAAEC,MAAM,EAAE;IAC7B,IAAI,CAACC,cAAc,GAAG,IAAI,CAACA,cAAc,IAAI,EAAE;IAC/C,IAAI,CAACA,cAAc,CAACC,IAAI,CAAC;MAAEH,EAAE;MAAEC;IAAO,CAAC,CAAC;IACxC,IAAI,CAACG,UAAU,CAAC;MACdC,OAAO,EAAEJ,MAAM,CAAC7B,mBAAmB,GAC/B,CAAC,CAAC,GACF,IAAI,CAACV,OAAO,CAACI,UAAU,CAACuC;IAC9B,CAAC,CAAC;EACJ;EAEAD,UAAUA,CAAC;IAAEC,OAAO,GAAG,IAAI,CAAC3C,OAAO,CAACI,UAAU,CAACuC;EAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;IAC7D,IAAI,IAAI,CAACH,cAAc,CAACI,MAAM,KAAK,CAAC,EAAE;MACpC;IACF;IAEA,MAAMC,IAAI,GACR,IAAI,CAACC,SAAS,GAAG,CAAC,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,GAAG,IAAI,CAACF,SAAS,GAAG,CAAC;IAChE,MAAMG,QAAQ,GAAGJ,IAAI,GAAGF,OAAO,GAAGA,OAAO,GAAG,CAAC;IAE7C,MAAMO,QAAQ,GAAGA,CAAA,KAAM;MACrB,IAAI,IAAI,CAACV,cAAc,CAACI,MAAM,GAAG,CAAC,EAAE;QAClC,IAAI,CAACE,SAAS,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;QACrC,MAAM;UAAEV,EAAE;UAAEC;QAAO,CAAC,GAAG,IAAI,CAACC,cAAc,CAACW,KAAK,CAAC,CAAC;QAClDb,EAAE,CAACC,MAAM,CAAC;QACV,IAAI,CAACG,UAAU,CAAC;UACdC,OAAO,EAAEJ,MAAM,CAAC7B,mBAAmB,GAAG,CAAC,CAAC,GAAGiC;QAC7C,CAAC,CAAC;MACJ;IACF,CAAC;IAED,IAAIA,OAAO,GAAG,CAAC,EAAE;MACfX,YAAY,CAAC,IAAI,CAACE,cAAc,CAAC;MACjC,IAAI,CAACA,cAAc,GAAGkB,UAAU,CAACF,QAAQ,EAAED,QAAQ,CAAC;IACtD,CAAC,MAAM;MACLC,QAAQ,CAAC,CAAC;IACZ;EACF;EAEA3B,gBAAgBA,CACdH,UAAU,EACV;IACEX,gBAAgB,GAAG,KAAK;IACxBC,mBAAmB,GAAG,KAAK;IAC3B2C,SAAS,GAAG,KAAK;IACjBC,UAAU,GAAG;EACf,CAAC,GAAG,CAAC,CAAC,EACN;IACA,IAAI,CAACjB,kBAAkB,CACrB,CAAC;MAAEjB,UAAU;MAAEX;IAAiB,CAAC,KAAK;MACpC,MAAMT,OAAO,GAAG,IAAI,CAACA,OAAO,CAACI,UAAU;MACvC,MAAMmD,WAAW,GAAIC,SAAS,IAAK;QACjC,IAAIC,KAAK,CAACrC,UAAU,CAAC,EAAE;UACrBA,UAAU,GAAG,CAAC;QAChB;QACA,MAAMsC,GAAG,GAAGtE,0BAA0B,CAACY,OAAO,EAAEwD,SAAS,EAAAG,aAAA;UACvDvC;QAAU,GACPpB,OAAO,CACX,CAAC;QAEF,IAAI,OAAOsD,UAAU,KAAK,UAAU,EAAE;UACpCA,UAAU,CAAC,CAAC;QACd;QAEA,IAAI,OAAOI,GAAG,KAAK,UAAU,EAAE;UAC7B,IAAI,CAAC5B,aAAa,CAACW,IAAI,CAACiB,GAAG,CAAC;QAC9B;MACF,CAAC;MAED,IAAIL,SAAS,EAAE;QACbE,WAAW,CAAC,QAAQ,CAAC;MACvB,CAAC,MAAM;QACL,IAAI9C,gBAAgB,EAAE;UACpB8C,WAAW,CAAC,YAAY,CAAC;QAC3B,CAAC,MAAM;UACLA,WAAW,CAAC,WAAW,CAAC;QAC1B;QAEAA,WAAW,CAAC,SAAS,CAAC;MACxB;IACF,CAAC,EACD;MAAEnC,UAAU;MAAEX,gBAAgB;MAAEC;IAAoB,CACtD,CAAC;EACH;EAEAkD,oBAAoBA,CAAA,EAAG;IACrB,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI,CAAC9D,KAAK;IAE/B,MAAM;MAEJ+D,SAAS;MACTC,SAAS;MACTjD,SAAS;MACTkD,gBAAgB;MAChBC,iBAAiB;MAGjBC,YAAY;MACZC,gBAAgB;MAChBC,cAAc;MACdC;IACF,CAAC,GAAG,IAAI,CAACrE,OAAO,CAACI,UAAU;IAE3B,MAAMkE,MAAM,GAAGA,CAAA,KACbvF,KAAA,CAAAwF,aAAA,CAACC,iBAAiB;MAChBpD,UAAU,EAAE2C,SAAU;MACtBU,aAAa,EAAEL,cAAc,IAAID,gBAAiB;MAClDO,SAAS,EAAGtD,UAAU,IAAK;QACzB,IAAIb,SAAS;QAEb,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsD,iBAAiB,EAAE,EAAEtD,CAAC,EAAE;UAC1CJ,SAAS,GAAGa,UAAU,GAAG,CAAC,GAAGT,CAAC;UAE9B,IAAI,CAACX,OAAO,CAACI,UAAU,CAACuE,YAAY,CAAC,MAAM;YACzC,IAAI,CAAC3E,OAAO,CAACI,UAAU,CAACwE,QAAQ,CAAC;cAC/Bb,SAAS,EAAExD,SAAS;cACpBC,YAAY,EAAEG,CAAC,GAAG,CAAC,GAAGsD;YACxB,CAAC,CAAC;UACJ,CAAC,CAAC;UACF,IAAI,CAAC1C,gBAAgB,CAAChB,SAAS,CAAC;QAClC;MACF;IAAE,CACH,CACF;IAED,MAAMsE,UAAU,GAAGA,CAAA,KACjB9F,KAAA,CAAAwF,aAAA,CAACO,kBAAkB;MACjBC,IAAI,EAAC,UAAU;MACfC,OAAO,EAAEb,gBAAiB;MAC1Bc,eAAe,EACblG,KAAA,CAAAwF,aAAA,CAAC7E,mBAAmB;QAClB2E,iBAAiB,EAAEA,iBAAiB,IAAIF;MAAiB,CAC1D,CACF;MACDe,QAAQ,EAAEA,CAAA,KAAM;QACd,MAAM3E,SAAS,GAAGuD,SAAS,GAAG,CAAC;QAE/B,IAAI,CAAC9D,OAAO,CAACI,UAAU,CAACuE,YAAY,CAAC,MAAM;UACzC,IAAI,CAAC3E,OAAO,CAACI,UAAU,CAACwE,QAAQ,CAAC;YAC/Bd,SAAS,EAAEvD;UACb,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,CAACgB,gBAAgB,CAAChB,SAAS,CAAC;MAClC;IAAE,CACH,CACF;IAED,OACExB,KAAA,CAAAwF,aAAA,CAAAxF,KAAA,CAAAoG,QAAA,QACG7E,UAAU,CAAC4D,YAAY,CAAC,GAAG,CAAC,IAAIJ,SAAS,GAAG,CAAC,IAAI/E,KAAA,CAAAwF,aAAA,CAACM,UAAU,MAAE,CAAC,EAE/DhB,QAAQ,EAER,CAACG,gBAAgB,IAChB1D,UAAU,CAAC4D,YAAY,CAAC,GAAG,CAAC,KAC3B,OAAOpD,SAAS,KAAK,WAAW,IAAIiD,SAAS,GAAGjD,SAAS,CAAC,IACzD/B,KAAA,CAAAwF,aAAA,CAACD,MAAM,MAAE,CACV,EAEF,CAACN,gBAAgB,IAChB,CAAC,IAAI,CAACxC,aAAa,KAClB,OAAOV,SAAS,KAAK,WAAW,IAAIiD,SAAS,GAAGjD,SAAS,CAAC,IACzD/B,KAAA,CAAAwF,aAAA,CAAC7E,mBAAmB;MAClB2E,iBAAiB,EAAEA,iBAAiB,IAAIF;IAAiB,CAC1D,CAEL,CAAC;EAEP;EAEAiB,MAAMA,CAAA,EAAG;IACP,MAAM;MAEJnE,KAAK;MACLH,SAAS;MACTZ,WAAW;MACX8D,gBAAgB;MAChBC,iBAAiB;MACjBoB,uBAAuB;MAGvBC,YAAY;MACZnB,gBAAgB;MAChBC,cAAc;MACdC,iBAAiB;MACjBkB,gBAAgB;MAChBC;IACF,CAAC,GAAG,IAAI,CAACxF,OAAO,CAACI,UAAU;IAG3B,IAAI,EAAEa,KAAK,IAAIA,KAAK,CAAC2B,MAAM,GAAG,CAAC,CAAC,EAAE;MAChCZ,YAAY,CAAC,IAAI,CAACC,eAAe,CAAC;MAClC,IAAI,CAACA,eAAe,GAAGmB,UAAU,CAAC,IAAI,CAACqC,OAAO,EAAE,CAAC,CAAC;MAClD,OAAO,IAAI;IACb;IAEA,IAAI,IAAI,CAACzF,OAAO,CAACI,UAAU,CAACsF,aAAa,EAAE;MACzC,OAAO,IAAI,CAAC9B,oBAAoB,CAAC,CAAC;IACpC;IAGA,MAAM+B,OAAO,GAAGnG,kBAAkB,CAAC8F,YAAY,IAAIvG,KAAK,CAACoG,QAAQ,CAAC;IAElE,OAAOlE,KAAK,CAAC2E,GAAG,CACd,CACE;MACExE,UAAU;MACVyE,UAAU;MACVC,OAAO;MACPC,GAAG;MACHvF,YAAY;MACZwF;IACF,CAAC,EACDC,GAAG,KACA;MACH,MAAMC,UAAU,GAAGD,GAAG,KAAKhF,KAAK,CAAC2B,MAAM,GAAG,CAAC;MAG3C,MAAMuD,IAAI,GAAIN,UAAU,IAAIG,aAAa,IAAKL,OAAO;MAGrD,MAAMS,MAAM,GAAGP,UAAU,IACvB,CAAC,IAAI,CAACnE,aAAa,IACnB,CAAClB,YAAY,IACb,CAACwD,gBAAgB,KAChB,OAAOlD,SAAS,KAAK,WAAW,IAC/BM,UAAU,IAAIN,SAAS,CAAC,IACxB/B,KAAA,CAAAwF,aAAA,CAACC,iBAAiB;QAChBpD,UAAU,EAAEA,UAAW;QACvBqD,aAAa,EAAEL,cAAc,IAAID,gBAAiB;QAClDO,SAAS,EAAGtD,UAAU,IAAK;UACzB,IAAIb,SAAS;UAEb,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsD,iBAAiB,EAAE,EAAEtD,CAAC,EAAE;YAC1CJ,SAAS,GAAGa,UAAU,GAAG,CAAC,GAAGT,CAAC;YAC9B,IAAI,CAACC,aAAa,CAACL,SAAS,EAAE;cAC5BM,QAAQ,EAAE,OAAO;cACjBL,YAAY,EAAEG,CAAC,GAAG,CAAC,GAAGsD;YACxB,CAAC,CAAC;UACJ;QACF;MAAE,CACH,CACF;MAEH,MAAMoC,aAAa,GACjB,CAACpC,iBAAiB,GAAG,CAAC,IAAIgC,GAAG,GAAG,CAAC,GAAGC,UAAU,GAAG,IAAI,KACrD,CAACL,UAAU,IACX,CAAC,IAAI,CAACrE,aAAa;MAErB,OACEzC,KAAA,CAAAwF,aAAA,CAAC4B,IAAI;QAACG,GAAG,EAAElF,UAAW;QAAC2E,GAAG,EAAEA;MAAI,GAC7BF,UAAU,IACT3F,WAAW,GAAG,CAAC,IACfkB,UAAU,GAAG,CAAC,IACdA,UAAU,IAAIlB,WAAW,IACvBnB,KAAA,CAAAwF,aAAA,CAACO,kBAAkB;QACjBE,OAAO,EACL,OAAOQ,UAAU,KAAK,UAAU,GAC5BA,UAAU,GACVrB,gBACL;QACDY,IAAI,EAAC,UAAU;QACfwB,IAAI,EAAEhB,gBAAgB,aAAhBA,gBAAgB,cAAhBA,gBAAgB,GAAIC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEe,IAAK;QAC3CC,aAAa,EAAEhB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEiB,YAAa;QACxCvB,QAAQ,EAAGwB,KAAK,IACd,IAAI,CAAC9F,aAAa,CAACQ,UAAU,GAAG,CAAC,EAAE;UACjCP,QAAQ,EAAE,QAAQ;UAClBL,YAAY,EAAE,IAAI;UAClBkG;QACF,CAAC;MACF,CACF,CACF,EAEFrB,uBAAuB,IAAIe,MAAM,EACjCN,OAAO,EACP,CAACT,uBAAuB,IAAIe,MAAM,EAElCC,aAAa,IACZtH,KAAA,CAAAwF,aAAA,CAAC7E,mBAAmB;QAClB2E,iBAAiB,EAAEA,iBAAiB,IAAIF;MAAiB,CAC1D,CACF,EAEA0B,UAAU,IACT,IAAI,CAACnE,aAAa,IAClBwE,UAAU,KACT,OAAOpF,SAAS,KAAK,WAAW,IAC/BM,UAAU,GAAGN,SAAS,CAAC,IACvB/B,KAAA,CAAAwF,aAAA,CAACO,kBAAkB;QACjBE,OAAO,EACL,OAAOQ,UAAU,KAAK,UAAU,GAC5BA,UAAU,GACVrB,gBACL;QACDoC,IAAI,EAAEhB,gBAAgB,aAAhBA,gBAAgB,cAAhBA,gBAAgB,GAAIC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEe,IAAK;QAC3CC,aAAa,EAAEhB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEiB,YAAa;QACxC1B,IAAI,EAAC,YAAY;QACjBG,QAAQ,EAAGwB,KAAK,IACd,IAAI,CAAC9F,aAAa,CAACQ,UAAU,GAAG,CAAC,EAAE;UACjCP,QAAQ,EAAE,OAAO;UACjBL,YAAY,EAAE,IAAI;UAClBwF,aAAa,EAAGjG,KAAK,IACnB8F,UAAU,IACR9G,KAAA,CAAAwF,aAAA,CAACoC,eAAe,EAAAC,QAAA;YACdtB,YAAY,EAAEA;UAAa,GACvBvF,KAAK,CACV,CACF;UACH2G;QACF,CAAC;MACF,CACF,CAED,CAAC;IAEX,CACF,CAAC;EACH;AACF;AAACzG,eAAA,CAzYoBL,gBAAgB,iBACdD,iBAAiB;AAAAM,eAAA,CADnBL,gBAAgB,kBAKb;EAAEiE,QAAQ,EAAE;AAAK,CAAC;AAAAgD,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBALrBnH,gBAAgB,CAE5BoH,SAAS,GAAG;EACjBnD,QAAQ,EAAE7E,SAAS,CAACiI,SAAS,CAAC,CAACjI,SAAS,CAACkI,IAAI,EAAElI,SAAS,CAACmI,IAAI,CAAC;AAChE,CAAC;AAuYH,MAAM3C,iBAAiB,SAASzF,KAAK,CAACc,aAAa,CAAC;EAgBlDC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAAAE,eAAA,gBAHN;MAAEmH,WAAW,EAAE;IAAM,CAAC;IAAAnH,eAAA,oBAwClB,MAAM;MAAA,IAAAoH,qBAAA;MAChB,CAAAA,qBAAA,OAAI,CAACC,oBAAoB,cAAAD,qBAAA,uBAAzBA,qBAAA,CAA2BE,UAAU,CAAC,CAAC;MACvC,IAAI,CAACD,oBAAoB,GAAG,IAAI;MAChCtF,YAAY,CAAC,IAAI,CAACwF,aAAa,CAAC;MAChC,IAAI,CAACA,aAAa,GAAGpE,UAAU,CAAC,MAAM;QACpC,IAAI,IAAI,CAACqE,UAAU,EAAE;UACnB,IAAI,CAAC7C,QAAQ,CAAC;YAAEwC,WAAW,EAAE;UAAK,CAAC,CAAC;QACtC;QACA,IAAI,CAACrH,KAAK,CAAC2E,SAAS,CAAC,IAAI,CAAC3E,KAAK,CAACqB,UAAU,CAAC;MAC7C,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IA7CC,IAAI,OAAOrB,KAAK,CAAC0E,aAAa,KAAK,UAAU,EAAE;MAC7CvF,IAAI,CACF,2EACF,CAAC;IACH;IAEA,IAAI,CAACwI,IAAI,GAAG3I,KAAK,CAAC8C,SAAS,CAAC,CAAC;IAE7B,IAAI,OAAO8F,oBAAoB,KAAK,WAAW,EAAE;MAC/C,IAAI,CAACL,oBAAoB,GAAG,IAAIK,oBAAoB,CAAEC,OAAO,IAAK;QAChE,MAAM,CAAC;UAAEC;QAAe,CAAC,CAAC,GAAGD,OAAO;QACpC,IAAIC,cAAc,EAAE;UAClB,IAAI,CAACC,SAAS,CAAC,CAAC;QAClB;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL5I,IAAI,CAAC,uDAAuD,CAAC;IAC/D;EACF;EAEA6I,iBAAiBA,CAAA,EAAG;IAClB,IAAI,IAAI,CAACL,IAAI,CAACM,OAAO,EAAE;MAAA,IAAAC,sBAAA;MACrB,IAAI,CAACR,UAAU,GAAG,IAAI;MACtB,CAAAQ,sBAAA,OAAI,CAACX,oBAAoB,cAAAW,sBAAA,uBAAzBA,sBAAA,CAA2BC,OAAO,CAAC,IAAI,CAACR,IAAI,CAACM,OAAO,CAAC;IACvD;EACF;EAEAjG,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAAC0F,UAAU,GAAG,KAAK;IACvB,IAAI,IAAI,CAACH,oBAAoB,EAAE;MAC7BtF,YAAY,CAAC,IAAI,CAACwF,aAAa,CAAC;MAChC,IAAI,CAACF,oBAAoB,CAACC,UAAU,CAAC,CAAC;IACxC;EACF;EAcAY,gBAAgBA,CAAA,EAAG;IACjB,IAAIC,MAAM,GAAG,CAAC;IAEd,IAAI;MACF,MAAMC,OAAO,GAAGhJ,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAACqI,IAAI,CAACM,OAAO,CAAC;MAClEI,MAAM,GAAG9H,UAAU,CACjBgI,MAAM,CAACC,gBAAgB,CAACF,OAAO,CAACG,aAAa,CAAC,OAAO,CAAC,CAAC,CAACJ,MAC1D,CAAC;IACH,CAAC,CAAC,OAAOK,CAAC,EAAE,CAEZ;IAEA,OAAOL,MAAM;EACf;EAEAhD,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEX;IAAc,CAAC,GAAG,IAAI,CAAC1E,KAAK;IAEpC,IAAI,IAAI,CAAC2I,KAAK,CAACtB,WAAW,IAAI,CAAC,IAAI,CAACE,oBAAoB,EAAE;MACxD,OAAO,IAAI;IACb;IAIA,MAAM3B,OAAO,GACXlB,aAAa,IAAIhF,WAAW,CAACgF,aAAa,CAAC,GAAG,IAAI,GAAG,KAAK;IAC5D,MAAMkE,YAAY,GAChBlE,aAAa,IAAIhF,WAAW,CAACgF,aAAa,CAAC,GAAG,IAAI,GAAG,KAAK;IAE5D,OACE1F,KAAA,CAAAwF,aAAA,CAACoB,OAAO;MAACiD,SAAS,EAAC;IAA0C,GAC3D7J,KAAA,CAAAwF,aAAA,CAACoE,YAAY;MACXC,SAAS,EAAC,+BAA+B;MACzC7C,GAAG,EAAE,IAAI,CAAC2B;IAAK,CAGH,CACP,CAAC;EAEd;AACF;AAACzH,eAAA,CA1GKuE,iBAAiB,kBAWC;EACpBC,aAAa,EAAE;AACjB,CAAC;AAAAoC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAbGvC,iBAAiB,CACdwC,SAAS,GAAG;EACjB5F,UAAU,EAAEpC,SAAS,CAAC6J,MAAM,CAACC,UAAU;EACvCpE,SAAS,EAAE1F,SAAS,CAACmI,IAAI,CAAC2B,UAAU;EACpCrE,aAAa,EAAEzF,SAAS,CAACiI,SAAS,CAAC,CACjCjI,SAAS,CAAC+J,MAAM,EAChB/J,SAAS,CAACkI,IAAI,EACdlI,SAAS,CAACmI,IAAI,EACdnI,SAAS,CAACgK,MAAM,CACjB;AACH,CAAC;AAkGH,OAAO,MAAMlE,kBAAkB,SAAS/F,KAAK,CAACc,aAAa,CAAC;EAAAC,YAAA,GAAAmJ,IAAA;IAAA,SAAAA,IAAA;IAAAhJ,eAAA,gBA0BlD;MAAEiJ,SAAS,EAAE;IAAM,CAAC;IAAAjJ,eAAA,yBACVwI,CAAC,IAAK;MACtB,IAAI,CAAC7D,QAAQ,CAAC;QAAEsE,SAAS,EAAE;MAAK,CAAC,CAAC;MAClC,IAAI,OAAO,IAAI,CAACnJ,KAAK,CAACmF,QAAQ,KAAK,UAAU,EAAE;QAC7C,IAAI,CAACnF,KAAK,CAACmF,QAAQ,CAACuD,CAAC,CAAC;MACxB;IACF,CAAC;EAAA;EACDrD,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEJ,OAAO;MAAED,IAAI;MAAEwB,IAAI;MAAEC;IAAc,CAAC,GAAG,IAAI,CAACzG,KAAK;IACzD,MAAM4F,OAAO,GAAGX,OAAO;IACvB,MAAM2D,YAAY,GAAGlJ,WAAW,CAACkG,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK;IAExD,OAAO,IAAI,CAAC+C,KAAK,CAACQ,SAAS,GACzB,IAAI,CAACnJ,KAAK,CAACkF,eAAe,GAE1BlG,KAAA,CAAAwF,aAAA,CAACoB,OAAO,QACN5G,KAAA,CAAAwF,aAAA,CAACoE,YAAY;MAACC,SAAS,EAAC;IAAyB,GAC/C7J,KAAA,CAAAwF,aAAA,CAAChF,MAAM;MACL4J,IAAI,EAAC,QAAQ;MACbpE,IAAI,EAAEA,IAAK;MACXyB,aAAa,EAAEA,aAAc;MAC7BD,IAAI,EACFA,IAAI,IAAI,IAAI,CAACvG,OAAO,CAACoJ,WAAW,CAACC,UAAU,CAAC9D,gBAC7C;MACD+D,OAAO,EAAC,WAAW;MACnBpE,QAAQ,EAAE,IAAI,CAACqE;IAAe,CAC/B,CACW,CACP,CACV;EACH;AACF;AAACtJ,eAAA,CAzDY6E,kBAAkB,iBACRxF,OAAO;AAAAW,eAAA,CADjB6E,kBAAkB,kBAmBP;EACpBE,OAAO,EAAE,KAAK;EACdC,eAAe,EAAE,IAAI;EACrBF,IAAI,EAAE,YAAY;EAClBwB,IAAI,EAAE,IAAI;EACVC,aAAa,EAAE;AACjB,CAAC;AAAAK,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAzBUjC,kBAAkB,CAEtBkC,SAAS,GAAG;EACjBhC,OAAO,EAAEhG,SAAS,CAACiI,SAAS,CAAC,CAC3BjI,SAAS,CAAC+J,MAAM,EAChB/J,SAAS,CAACkI,IAAI,EACdlI,SAAS,CAACmI,IAAI,EACdnI,SAAS,CAACgK,MAAM,CACjB,CAAC;EACF/D,eAAe,EAAEjG,SAAS,CAACiI,SAAS,CAAC,CACnCjI,SAAS,CAAC+J,MAAM,EAChB/J,SAAS,CAACkI,IAAI,EACdlI,SAAS,CAACmI,IAAI,CACf,CAAC;EACFpC,IAAI,EAAE/F,SAAS,CAACgK,MAAM,CAACF,UAAU;EACjC5D,QAAQ,EAAElG,SAAS,CAACmI,IAAI,CAAC2B,UAAU;EACnCvC,IAAI,EAAEvH,SAAS,CAACgK,MAAM;EACtBxC,aAAa,EAAExH,SAAS,CAACgK;AAC3B,CAAC;AAyCH,MAAMrC,eAAe,SAAS5H,KAAK,CAACc,aAAa,CAAC;EAYhDkI,iBAAiBA,CAAA,EAAG;IAMlB,MAAMyB,IAAI,GAAGvK,QAAQ,CAACwK,WAAW,CAAC,IAAI,CAAC;IACvC,IAAI,CAACC,YAAY,CAACF,IAAI,CAAC;EACzB;EACAE,YAAYA,CAAC1E,OAAO,EAAE;IACpB,IAAIA,OAAO,IAAI,OAAOA,OAAO,CAAC2E,cAAc,KAAK,UAAU,EAAE;MAC3D3E,OAAO,CAAC2E,cAAc,CAAC;QACrBC,KAAK,EAAE,SAAS;QAChBC,QAAQ,EAAE;MACZ,CAAC,CAAC;IACJ;EACF;EACAzE,MAAMA,CAAA,EAAG;IACP,MAAA0E,WAAA,GAAmC,IAAI,CAAC/J,KAAK;MAAvC;QAAEuF;MAAuB,CAAC,GAAAwE,WAAA;MAAP/J,KAAK,GAAAgK,wBAAA,CAAAD,WAAA,EAAAE,SAAA;IAC9B,MAAMrE,OAAO,GAAGnG,kBAAkB,CAAC8F,YAAY,IAAIvG,KAAK,CAACoG,QAAQ,CAAC;IAClE,OAAOpG,KAAA,CAAAwF,aAAA,CAACoB,OAAO,EAAK5F,KAAQ,CAAC;EAC/B;AACF;AAACE,eAAA,CAlCK0G,eAAe,kBASG;EACpBrB,YAAY,EAAE;AAChB,CAAC;AAAAuB,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAXGJ,eAAe,CACZK,SAAS,GAAG;EACjB1B,YAAY,EAAEtG,SAAS,CAACiI,SAAS,CAAC,CAChCjI,SAAS,CAAC+J,MAAM,EAChB/J,SAAS,CAACkI,IAAI,EACdlI,SAAS,CAACmI,IAAI,EACdnI,SAAS,CAACgK,MAAM,CACjB;AACH,CAAC;AA4BHpJ,gBAAgB,CAACqK,qBAAqB,GAAG,IAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableStickyHeader.js","names":["React","getPreviousSibling","warn","getOffsetTop","useStickyHeader","sticky","stickyOffset","elementRef","useRef","useEffect","isSticky","thHeight","offsetTopPx","tableOffset","tableHeight","totalOffset","hasScrollbar","scrollViewElem","timeout","tableElem","current","trElem","querySelector","thElem","getThElement","setSizes","parseFloat","String","includes","Math","round","modalElem","offsetHeight","scrollElem","scrollHeight","style","setProperty","offset","onScroll","scrollTop","window","pageYOffset","classList","add","removeProperty","remove","onResize","applyObservers","document","addEventListener","e","stickyWarning","setTimeout","clearTimeout","removeEventListener","message","element"],"sources":["../../../../src/components/table/TableStickyHeader.tsx"],"sourcesContent":["import React from 'react'\nimport { getPreviousSibling, warn } from '../../shared/component-helper'\nimport { getOffsetTop } from '../../shared/helpers'\n\nexport type StickyTableHeaderProps = {\n /**\n * Makes the Table header sticky\n * Default: false\n */\n sticky?: boolean | 'css-position'\n\n /**\n * The offset from top in rem or em unit\n * Default: false\n */\n stickyOffset?: string | number\n}\n\nexport const useStickyHeader = ({\n sticky,\n stickyOffset,\n}: StickyTableHeaderProps) => {\n const elementRef = React.useRef<HTMLTableElement>()\n\n React.useEffect(() => {\n if (sticky) {\n let isSticky = false\n let thHeight = 0\n let offsetTopPx = 0\n let tableOffset = 0\n let tableHeight = 0\n let totalOffset = 0\n let hasScrollbar = null\n let scrollViewElem = null\n let timeout: NodeJS.Timeout = null\n\n try {\n const tableElem = elementRef.current\n\n const trElem: HTMLTableRowElement = tableElem.querySelector(\n 'thead > tr:first-of-type, thead > .dnb-table__tr:first-of-type'\n )\n const thElem = getThElement(tableElem)\n\n const setSizes = () => {\n offsetTopPx = parseFloat(String(stickyOffset)) || 0\n if (offsetTopPx > 0) {\n if (String(stickyOffset).includes('rem')) {\n offsetTopPx = Math.round(offsetTopPx * 16)\n }\n }\n\n const modalElem = getPreviousSibling(\n '.dnb-modal__content',\n tableElem\n )\n\n if (modalElem) {\n scrollViewElem = modalElem.querySelector('.dnb-scroll-view')\n\n if (offsetTopPx === 0) {\n offsetTopPx =\n (\n modalElem.querySelector(\n '.dnb-modal__header__bar'\n ) as HTMLElement\n ).offsetHeight || 0\n }\n } else {\n const scrollElem = getPreviousSibling(\n '.dnb-scroll-view',\n tableElem\n ) as HTMLElement\n\n if (scrollElem) {\n hasScrollbar =\n scrollElem.scrollHeight - 1 > scrollElem.offsetHeight\n\n if (hasScrollbar) {\n scrollViewElem = scrollElem\n }\n }\n }\n\n thHeight = thElem.offsetHeight\n tableHeight = tableElem.offsetHeight\n tableOffset = getOffsetTop(tableElem)\n totalOffset = tableOffset - offsetTopPx\n\n if (sticky === 'css-position') {\n trElem.style.setProperty(\n '--table-top',\n `${offsetTopPx / 16}rem`\n )\n }\n }\n\n let offset = 0\n const onScroll = () => {\n if (scrollViewElem) {\n offset = scrollViewElem.scrollTop\n } else {\n offset = window.pageYOffset\n }\n\n offset -= hasScrollbar ? offsetTopPx : totalOffset\n\n // By sub thHeight and checking for the height, we avoid a scrollbar inside a Table.ScrollView\n if (offset > 0 && offset < tableHeight - thHeight) {\n if (sticky !== 'css-position') {\n trElem.style.setProperty(\n '--table-offset',\n String(offset) + 'px'\n )\n }\n\n if (!isSticky) {\n isSticky = true\n\n trElem.classList.add('is-sticky')\n }\n } else {\n if (isSticky) {\n isSticky = false\n\n if (offset <= 0) {\n if (sticky !== 'css-position') {\n trElem.style.removeProperty('--table-offset')\n }\n }\n\n trElem.classList.remove('is-sticky')\n }\n }\n }\n\n const onResize = () => {\n setSizes()\n onScroll()\n }\n\n const applyObservers = () => {\n try {\n trElem.classList.add('sticky')\n if (sticky === 'css-position') {\n trElem.classList.add('css-position')\n }\n\n setSizes()\n\n const scrollElem = scrollViewElem || document\n scrollElem.addEventListener('scroll', onScroll)\n window.addEventListener('resize', onResize)\n } catch (e) {\n stickyWarning(e)\n }\n }\n\n timeout = setTimeout(applyObservers, 100) // to get a more precise offset/sizes, we delay the
|
|
1
|
+
{"version":3,"file":"TableStickyHeader.js","names":["React","getPreviousSibling","warn","getOffsetTop","useStickyHeader","sticky","stickyOffset","elementRef","useRef","useEffect","isSticky","thHeight","offsetTopPx","tableOffset","tableHeight","totalOffset","hasScrollbar","scrollViewElem","timeout","tableElem","current","trElem","querySelector","thElem","getThElement","setSizes","parseFloat","String","includes","Math","round","modalElem","offsetHeight","scrollElem","scrollHeight","style","setProperty","offset","onScroll","scrollTop","window","pageYOffset","classList","add","removeProperty","remove","onResize","applyObservers","document","addEventListener","e","stickyWarning","setTimeout","clearTimeout","removeEventListener","message","element"],"sources":["../../../../src/components/table/TableStickyHeader.tsx"],"sourcesContent":["import React from 'react'\nimport { getPreviousSibling, warn } from '../../shared/component-helper'\nimport { getOffsetTop } from '../../shared/helpers'\n\nexport type StickyTableHeaderProps = {\n /**\n * Makes the Table header sticky\n * Default: false\n */\n sticky?: boolean | 'css-position'\n\n /**\n * The offset from top in rem or em unit\n * Default: false\n */\n stickyOffset?: string | number\n}\n\nexport const useStickyHeader = ({\n sticky,\n stickyOffset,\n}: StickyTableHeaderProps) => {\n const elementRef = React.useRef<HTMLTableElement>()\n\n React.useEffect(() => {\n if (sticky) {\n let isSticky = false\n let thHeight = 0\n let offsetTopPx = 0\n let tableOffset = 0\n let tableHeight = 0\n let totalOffset = 0\n let hasScrollbar = null\n let scrollViewElem = null\n let timeout: NodeJS.Timeout = null\n\n try {\n const tableElem = elementRef.current\n\n const trElem: HTMLTableRowElement = tableElem.querySelector(\n 'thead > tr:first-of-type, thead > .dnb-table__tr:first-of-type'\n )\n const thElem = getThElement(tableElem)\n\n const setSizes = () => {\n offsetTopPx = parseFloat(String(stickyOffset)) || 0\n if (offsetTopPx > 0) {\n if (String(stickyOffset).includes('rem')) {\n offsetTopPx = Math.round(offsetTopPx * 16)\n }\n }\n\n const modalElem = getPreviousSibling(\n '.dnb-modal__content',\n tableElem\n )\n\n if (modalElem) {\n scrollViewElem = modalElem.querySelector('.dnb-scroll-view')\n\n if (offsetTopPx === 0) {\n offsetTopPx =\n (\n modalElem.querySelector(\n '.dnb-modal__header__bar'\n ) as HTMLElement\n ).offsetHeight || 0\n }\n } else {\n const scrollElem = getPreviousSibling(\n '.dnb-scroll-view',\n tableElem\n ) as HTMLElement\n\n if (scrollElem) {\n hasScrollbar =\n scrollElem.scrollHeight - 1 > scrollElem.offsetHeight\n\n if (hasScrollbar) {\n scrollViewElem = scrollElem\n }\n }\n }\n\n thHeight = thElem.offsetHeight\n tableHeight = tableElem.offsetHeight\n tableOffset = getOffsetTop(tableElem)\n totalOffset = tableOffset - offsetTopPx\n\n if (sticky === 'css-position') {\n trElem.style.setProperty(\n '--table-top',\n `${offsetTopPx / 16}rem`\n )\n }\n }\n\n let offset = 0\n const onScroll = () => {\n if (scrollViewElem) {\n offset = scrollViewElem.scrollTop\n } else {\n offset = window.pageYOffset\n }\n\n offset -= hasScrollbar ? offsetTopPx : totalOffset\n\n // By sub thHeight and checking for the height, we avoid a scrollbar inside a Table.ScrollView\n if (offset > 0 && offset < tableHeight - thHeight) {\n if (sticky !== 'css-position') {\n trElem.style.setProperty(\n '--table-offset',\n String(offset) + 'px'\n )\n }\n\n if (!isSticky) {\n isSticky = true\n\n trElem.classList.add('is-sticky')\n }\n } else {\n if (isSticky) {\n isSticky = false\n\n if (offset <= 0) {\n if (sticky !== 'css-position') {\n trElem.style.removeProperty('--table-offset')\n }\n }\n\n trElem.classList.remove('is-sticky')\n }\n }\n }\n\n const onResize = () => {\n setSizes()\n onScroll()\n }\n\n const applyObservers = () => {\n try {\n trElem.classList.add('sticky')\n if (sticky === 'css-position') {\n trElem.classList.add('css-position')\n }\n\n setSizes()\n\n const scrollElem = scrollViewElem || document\n scrollElem.addEventListener('scroll', onScroll)\n window.addEventListener('resize', onResize)\n } catch (e) {\n stickyWarning(e)\n }\n }\n\n timeout = setTimeout(applyObservers, 100) // to get a more precise offset/sizes, we delay the initialization\n\n return () => {\n clearTimeout(timeout)\n document.removeEventListener('scroll', onScroll)\n window.removeEventListener('resize', onResize)\n }\n } catch (e) {\n stickyWarning(e)\n }\n }\n }, [elementRef, sticky, stickyOffset])\n\n return { elementRef }\n}\n\nconst stickyWarning = (message = '') => {\n warn('Could not enable Sticky mode in table:', message)\n}\nconst getThElement = (element: HTMLTableElement): HTMLTableCellElement => {\n return element.querySelector(\n 'thead > tr:first-of-type > th:first-of-type, thead > .dnb-table__tr:first-of-type > .dnb-table__th:first-of-type'\n )\n}\n"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
6
6
|
var _UploadInfo, _UploadFileInput, _UploadFileList;
|
|
7
7
|
const _excluded = ["buttonTextSingular", "textSingular"],
|
|
8
|
-
_excluded2 = ["id", "skeleton", "className", "acceptedFileTypes", "filesAmountLimit", "fileMaxSize", "onChange", "onFileDelete", "title", "text", "fileTypeDescription", "fileSizeDescription", "fileAmountDescription", "fileSizeContent", "buttonText", "loadingText", "errorLargeFile", "errorUnsupportedFile", "errorAmountLimit", "deleteButton", "fileListAriaLabel"];
|
|
8
|
+
_excluded2 = ["id", "skeleton", "className", "acceptedFileTypes", "filesAmountLimit", "fileMaxSize", "onChange", "onFileDelete", "title", "text", "fileTypeTableCaption", "fileTypeDescription", "fileSizeDescription", "fileAmountDescription", "fileSizeContent", "buttonText", "loadingText", "errorLargeFile", "errorUnsupportedFile", "errorAmountLimit", "deleteButton", "fileListAriaLabel"];
|
|
9
9
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
10
10
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
11
|
import React, { useCallback } from 'react';
|
|
@@ -48,6 +48,7 @@ const Upload = localProps => {
|
|
|
48
48
|
onFileDelete,
|
|
49
49
|
title,
|
|
50
50
|
text,
|
|
51
|
+
fileTypeTableCaption,
|
|
51
52
|
fileTypeDescription,
|
|
52
53
|
fileSizeDescription,
|
|
53
54
|
fileAmountDescription,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Upload.js","names":["React","useCallback","classnames","createSpacingClasses","Provider","Context","extendPropsWithContext","makeUniqueId","UploadFileInput","useUpload","UploadDropzone","UploadContext","defaultProps","verifyFiles","UploadFileList","UploadInfo","Upload","localProps","context","useContext","_context$getTranslati","getTranslation","buttonTextSingular","textSingular","translations","_objectWithoutProperties","_excluded","filesAmountLimit","buttonText","text","extendedProps","skeleton","id","className","acceptedFileTypes","fileMaxSize","onChange","onFileDelete","title","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","props","_excluded2","spacingClasses","files","setFiles","setInternalFiles","getExistingFile","onInputUpload","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","verifiedFiles","filter","validFiles","slice","createElement","value","_objectSpread","_extends","_UploadInfo","_UploadFileInput","_UploadFileList","_formElement","_supportsSpacingProps"],"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'\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,\n skeleton,\n className,\n acceptedFileTypes,\n filesAmountLimit,\n fileMaxSize,\n onChange,\n onFileDelete, // eslint-disable-line\n title, // eslint-disable-line\n text, // 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 { files, setFiles, setInternalFiles, getExistingFile } =\n useUpload(id)\n\n const onInputUpload = useCallback(\n (newFiles: 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(0, filesAmountLimit)\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 {...props}\n >\n <UploadInfo />\n\n <UploadFileInput />\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":";;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,OAAOC,UAAU,MAAM,YAAY;AAGnC,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,OAAOC,QAAQ,MAAM,uBAAuB;AAC5C,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SACEC,sBAAsB,EACtBC,YAAY,QACP,+BAA+B;AAGtC,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,SAAS,MAAM,aAAa;AACnC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,SAASC,aAAa,EAAEC,YAAY,QAAQ,iBAAiB;AAC7D,SAASC,WAAW,QAAQ,gBAAgB;AAG5C,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,UAAU,MAAM,cAAc;AAGrC,SAASH,YAAY;AAErB,MAAMI,MAAM,GAAIC,UAA0B,IAAK;EAC7C,MAAMC,OAAO,GAAGlB,KAAK,CAACmB,UAAU,CAACd,OAAO,CAAC;EAEzC,MAAAe,qBAAA,GACEF,OAAO,CAACG,cAAc,CAACJ,UAAU,CAAC,CAACD,MAAM;IADrC;MAAEM,kBAAkB;MAAEC;IAA8B,CAAC,GAAAH,qBAAA;IAAdI,YAAY,GAAAC,wBAAA,CAAAL,qBAAA,EAAAM,SAAA;EAGzD,IAAI,CAAAT,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEU,gBAAgB,MAAK,CAAC,EAAE;IACtCH,YAAY,CAACI,UAAU,GAAGN,kBAAkB;IAC5CE,YAAY,CAACK,IAAI,GAAGN,YAAY;EAClC;EAEA,MAAMO,aAAa,GAAGxB,sBAAsB,CAC1CW,UAAU,EACVL,YAAY,EACZ;IAAEmB,QAAQ,EAAEb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEa;EAAS,CAAC,EAC/BP,YAAY,EACZN,OAAO,CAACF,MACV,CAAC;EAED,MAAM;MACJgB,EAAE;MACFD,QAAQ;MACRE,SAAS;MACTC,iBAAiB;MACjBP,gBAAgB;MAChBQ,WAAW;MACXC,QAAQ;MACRC,YAAY;MACZC,KAAK;MACLT,IAAI;MACJU,mBAAmB;MACnBC,mBAAmB;MACnBC,qBAAqB;MACrBC,eAAe;
|
|
1
|
+
{"version":3,"file":"Upload.js","names":["React","useCallback","classnames","createSpacingClasses","Provider","Context","extendPropsWithContext","makeUniqueId","UploadFileInput","useUpload","UploadDropzone","UploadContext","defaultProps","verifyFiles","UploadFileList","UploadInfo","Upload","localProps","context","useContext","_context$getTranslati","getTranslation","buttonTextSingular","textSingular","translations","_objectWithoutProperties","_excluded","filesAmountLimit","buttonText","text","extendedProps","skeleton","id","className","acceptedFileTypes","fileMaxSize","onChange","onFileDelete","title","fileTypeTableCaption","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","props","_excluded2","spacingClasses","files","setFiles","setInternalFiles","getExistingFile","onInputUpload","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","verifiedFiles","filter","validFiles","slice","createElement","value","_objectSpread","_extends","_UploadInfo","_UploadFileInput","_UploadFileList","_formElement","_supportsSpacingProps"],"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'\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,\n skeleton,\n className,\n acceptedFileTypes,\n filesAmountLimit,\n fileMaxSize,\n onChange,\n onFileDelete, // 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 { files, setFiles, setInternalFiles, getExistingFile } =\n useUpload(id)\n\n const onInputUpload = useCallback(\n (newFiles: 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(0, filesAmountLimit)\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 {...props}\n >\n <UploadInfo />\n\n <UploadFileInput />\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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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const UploadProperties = {
|
|
2
2
|
acceptedFileTypes: {
|
|
3
|
-
doc: 'List of accepted file types.',
|
|
4
|
-
type: 'Array<string>',
|
|
3
|
+
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)).',
|
|
4
|
+
type: ['Array<string>', 'Array<AcceptedFileType>'],
|
|
5
5
|
status: 'required'
|
|
6
6
|
},
|
|
7
7
|
filesAmountLimit: {
|
|
@@ -11,7 +11,7 @@ export const UploadProperties = {
|
|
|
11
11
|
},
|
|
12
12
|
fileMaxSize: {
|
|
13
13
|
doc: 'Defines the max file size of each file in MB. Use either `0` or `false` to disable. Defaults to 5 MB.',
|
|
14
|
-
type: 'number',
|
|
14
|
+
type: ['number', 'false'],
|
|
15
15
|
status: 'optional'
|
|
16
16
|
},
|
|
17
17
|
title: {
|
|
@@ -35,6 +35,18 @@ export const UploadProperties = {
|
|
|
35
35
|
status: 'optional'
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
+
export const AcceptedFileTypeProperties = {
|
|
39
|
+
fileType: {
|
|
40
|
+
doc: 'The name of the accepted file type.',
|
|
41
|
+
type: 'string',
|
|
42
|
+
status: 'required'
|
|
43
|
+
},
|
|
44
|
+
fileMaxSize: {
|
|
45
|
+
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.',
|
|
46
|
+
type: ['number', 'false'],
|
|
47
|
+
status: 'optional'
|
|
48
|
+
}
|
|
49
|
+
};
|
|
38
50
|
export const UploadEvents = {
|
|
39
51
|
onChange: {
|
|
40
52
|
doc: 'Will be called on `files` changes made by the user. Access the files with `{ files }` (containing each a `fileItem`).',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadDocs.js","names":["UploadProperties","acceptedFileTypes","doc","type","status","filesAmountLimit","fileMaxSize","title","text","skeleton","UploadEvents","onChange","onFileDelete"],"sources":["../../../../src/components/upload/UploadDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const UploadProperties: PropertiesTableProps = {\n acceptedFileTypes: {\n doc: 'List of accepted file types.',\n type: 'Array<string>',\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',\n status: 'optional',\n },\n title: {\n doc: 'Custom text property. Replaces the default title.',\n type: 'string',\n status: 'optional',\n },\n text: {\n doc: 'Custom text property. Replaces the default text.',\n type: 'string',\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 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}\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAsC,GAAG;EACpDC,iBAAiB,EAAE;IACjBC,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"UploadDocs.js","names":["UploadProperties","acceptedFileTypes","doc","type","status","filesAmountLimit","fileMaxSize","title","text","skeleton","AcceptedFileTypeProperties","fileType","UploadEvents","onChange","onFileDelete"],"sources":["../../../../src/components/upload/UploadDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const UploadProperties: PropertiesTableProps = {\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.',\n type: 'string',\n status: 'optional',\n },\n text: {\n doc: 'Custom text property. Replaces the default text.',\n type: 'string',\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}\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAsC,GAAG;EACpDC,iBAAiB,EAAE;IACjBC,GAAG,EAAE,oXAAoX;IACzXC,IAAI,EAAE,CAAC,eAAe,EAAE,yBAAyB,CAAC;IAClDC,MAAM,EAAE;EACV,CAAC;EACDC,gBAAgB,EAAE;IAChBH,GAAG,EAAE,8EAA8E;IACnFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,uGAAuG;IAC5GC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDG,KAAK,EAAE;IACLL,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACJN,GAAG,EAAE,kDAAkD;IACvDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,QAAQ,EAAE;IACRP,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;AAED,OAAO,MAAMM,0BAAgD,GAAG;EAC9DC,QAAQ,EAAE;IACRT,GAAG,EAAE,qCAAqC;IAC1CC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,6OAA6O;IAClPC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMQ,YAAkC,GAAG;EAChDC,QAAQ,EAAE;IACRX,GAAG,EAAE,uHAAuH;IAC5HC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDU,YAAY,EAAE;IACZZ,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var _UploadInfoAcceptedFi;
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { defaultProps, UploadContext } from './UploadContext';
|
|
3
4
|
import Lead from '../../elements/Lead';
|
|
@@ -6,6 +7,12 @@ import Dl from '../../elements/Dl';
|
|
|
6
7
|
import Dt from '../../elements/Dt';
|
|
7
8
|
import Dd from '../../elements/Dd';
|
|
8
9
|
import { format } from '../number-format/NumberUtils';
|
|
10
|
+
import { isArrayOfObjects, isArrayOfStrings } from './UploadVerify';
|
|
11
|
+
import Table from '../Table';
|
|
12
|
+
import Tr from '../table/TableTr';
|
|
13
|
+
import Th from '../table/TableTh';
|
|
14
|
+
import Td from '../table/TableTd';
|
|
15
|
+
const prettifyAcceptedFileFormats = acceptedFileTypes => acceptedFileTypes.sort().join(', ').toUpperCase();
|
|
9
16
|
const UploadInfo = () => {
|
|
10
17
|
const context = React.useContext(UploadContext);
|
|
11
18
|
const {
|
|
@@ -20,18 +27,63 @@ const UploadInfo = () => {
|
|
|
20
27
|
fileMaxSize,
|
|
21
28
|
children
|
|
22
29
|
} = context;
|
|
23
|
-
const prettifiedAcceptedFileFormats = acceptedFileTypes
|
|
30
|
+
const prettifiedAcceptedFileFormats = prettifyAcceptedFileFormats(acceptedFileTypes);
|
|
31
|
+
const isAcceptedFileTypeListOfStrings = isArrayOfStrings(acceptedFileTypes);
|
|
32
|
+
const displayAcceptedFileFormatsListItem = isAcceptedFileTypeListOfStrings && prettifiedAcceptedFileFormats;
|
|
33
|
+
const displayFileMaxSizeItem = isAcceptedFileTypeListOfStrings && fileMaxSize;
|
|
34
|
+
const displayFilesAmountLimitItem = filesAmountLimit < defaultProps.filesAmountLimit;
|
|
35
|
+
const displayAcceptedFileFormatsTable = isArrayOfObjects(acceptedFileTypes);
|
|
36
|
+
const displayDl = displayAcceptedFileFormatsListItem || displayFileMaxSizeItem || displayFilesAmountLimitItem;
|
|
24
37
|
return React.createElement(React.Fragment, null, React.createElement(Lead, {
|
|
25
38
|
space: "0"
|
|
26
39
|
}, title), React.createElement(P, {
|
|
27
40
|
top: "xx-small",
|
|
28
41
|
className: "dnb-upload__text"
|
|
29
|
-
}, text), children, React.createElement(Dl, {
|
|
42
|
+
}, text), children, displayDl && React.createElement(Dl, {
|
|
30
43
|
top: "small",
|
|
31
44
|
bottom: 0,
|
|
32
|
-
layout: "horizontal"
|
|
33
|
-
|
|
34
|
-
}, prettifiedAcceptedFileFormats && React.createElement(Dl.Item, null, React.createElement(Dt, null, fileTypeDescription), React.createElement(Dd, null, prettifiedAcceptedFileFormats)), fileMaxSize && React.createElement(Dl.Item, null, React.createElement(Dt, null, fileSizeDescription), React.createElement(Dd, null, String(fileSizeContent).replace('%size', format(fileMaxSize).toString()))), filesAmountLimit < defaultProps.filesAmountLimit && React.createElement(Dl.Item, null, React.createElement(Dt, null, fileAmountDescription), React.createElement(Dd, null, filesAmountLimit))));
|
|
45
|
+
layout: "horizontal"
|
|
46
|
+
}, displayAcceptedFileFormatsListItem && React.createElement(Dl.Item, null, React.createElement(Dt, null, fileTypeDescription), React.createElement(Dd, null, prettifiedAcceptedFileFormats)), displayFileMaxSizeItem && React.createElement(Dl.Item, null, React.createElement(Dt, null, fileSizeDescription), React.createElement(Dd, null, String(fileSizeContent).replace('%size', format(fileMaxSize).toString()))), displayFilesAmountLimitItem && React.createElement(Dl.Item, null, React.createElement(Dt, null, fileAmountDescription), React.createElement(Dd, null, filesAmountLimit))), displayAcceptedFileFormatsTable && (_UploadInfoAcceptedFi || (_UploadInfoAcceptedFi = React.createElement(UploadInfoAcceptedFileTypesTable, null))));
|
|
35
47
|
};
|
|
48
|
+
function UploadInfoAcceptedFileTypesTable() {
|
|
49
|
+
const context = React.useContext(UploadContext);
|
|
50
|
+
const {
|
|
51
|
+
acceptedFileTypes,
|
|
52
|
+
fileTypeTableCaption,
|
|
53
|
+
fileTypeDescription,
|
|
54
|
+
fileSizeDescription,
|
|
55
|
+
fileSizeContent,
|
|
56
|
+
fileMaxSize
|
|
57
|
+
} = context;
|
|
58
|
+
const groupByFileMaxSize = (acceptedFileTypes, fallBackFileMaxSize) => {
|
|
59
|
+
const fileMaxSizeIsFalseOrZero = fileMaxSize => {
|
|
60
|
+
return fileMaxSize === false || fileMaxSize === 0;
|
|
61
|
+
};
|
|
62
|
+
const group = {};
|
|
63
|
+
acceptedFileTypes.forEach(item => {
|
|
64
|
+
const itemFileMaxSize = item.fileMaxSize;
|
|
65
|
+
const groupName = itemFileMaxSize ? itemFileMaxSize : fileMaxSizeIsFalseOrZero(itemFileMaxSize) ? 0 : fileMaxSizeIsFalseOrZero(fallBackFileMaxSize) ? 0 : fallBackFileMaxSize;
|
|
66
|
+
group[groupName] = group[groupName] || [];
|
|
67
|
+
group[groupName].push(item);
|
|
68
|
+
});
|
|
69
|
+
return group;
|
|
70
|
+
};
|
|
71
|
+
const acceptedFileTypesGroupedByFileMaxSize = groupByFileMaxSize(acceptedFileTypes, fileMaxSize);
|
|
72
|
+
return React.createElement(Table, {
|
|
73
|
+
border: true,
|
|
74
|
+
className: "dnb-upload__accepted-file-types-table",
|
|
75
|
+
size: "small"
|
|
76
|
+
}, React.createElement("caption", {
|
|
77
|
+
className: "dnb-sr-only"
|
|
78
|
+
}, fileTypeTableCaption), React.createElement("thead", null, React.createElement(Tr, {
|
|
79
|
+
variant: "odd",
|
|
80
|
+
cellSpacing: 0
|
|
81
|
+
}, React.createElement(Th, null, fileTypeDescription), React.createElement(Th, null, fileSizeDescription))), React.createElement("tbody", null, Object.keys(acceptedFileTypesGroupedByFileMaxSize).sort((a, b) => Number(b) - Number(a)).map(key => {
|
|
82
|
+
return React.createElement(Tr, {
|
|
83
|
+
variant: "odd",
|
|
84
|
+
key: key
|
|
85
|
+
}, React.createElement(Td, null, prettifyAcceptedFileFormats(acceptedFileTypesGroupedByFileMaxSize[key].map(acceptedFileTypesObj => acceptedFileTypesObj.fileType))), React.createElement(Td, null, key !== '0' && String(fileSizeContent).replace('%size', format(key).toString())));
|
|
86
|
+
})));
|
|
87
|
+
}
|
|
36
88
|
export default UploadInfo;
|
|
37
89
|
//# sourceMappingURL=UploadInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadInfo.js","names":["React","defaultProps","UploadContext","Lead","P","Dl","Dt","Dd","format","UploadInfo","context","useContext","title","text","acceptedFileTypes","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","filesAmountLimit","fileMaxSize","children","prettifiedAcceptedFileFormats","join","toUpperCase","createElement","Fragment","space","top","className","bottom","layout","Item","String","replace","toString"],"sources":["../../../../src/components/upload/UploadInfo.tsx"],"sourcesContent":["import React from 'react'\nimport { defaultProps, UploadContext } from './UploadContext'\nimport Lead from '../../elements/Lead'\nimport P from '../../elements/P'\nimport Dl from '../../elements/Dl'\nimport Dt from '../../elements/Dt'\nimport Dd from '../../elements/Dd'\nimport { format } from '../number-format/NumberUtils'\n\nconst UploadInfo = () => {\n const context = React.useContext(UploadContext)\n\n const {\n title,\n text,\n acceptedFileTypes,\n fileTypeDescription,\n fileSizeDescription,\n fileAmountDescription,\n fileSizeContent,\n filesAmountLimit,\n fileMaxSize,\n children,\n } = context\n\n const prettifiedAcceptedFileFormats = acceptedFileTypes\n .join(', ')\n .toUpperCase()\n\n return (\n <>\n <Lead space=\"0\">{title}</Lead>\n\n <P top=\"xx-small\" className=\"dnb-upload__text\">\n {text}\n </P>\n\n {children}\n\n <Dl\n top=\"small\"\n bottom={0}\n layout=\"horizontal\"\n className=\"dnb-upload__condition-list\"\n >\n {prettifiedAcceptedFileFormats && (\n <Dl.Item>\n <Dt>{fileTypeDescription}</Dt>\n <Dd>{prettifiedAcceptedFileFormats}</Dd>\n </Dl.Item>\n )}\n\n {fileMaxSize && (\n <Dl.Item>\n <Dt>{fileSizeDescription}</Dt>\n <Dd>\n {String(fileSizeContent).replace(\n '%size',\n format(fileMaxSize).toString()\n )}\n </Dd>\n </Dl.Item>\n )}\n\n {filesAmountLimit < defaultProps.filesAmountLimit && (\n <Dl.Item>\n <Dt>{fileAmountDescription}</Dt>\n <Dd>{filesAmountLimit}</Dd>\n </Dl.Item>\n )}\n </Dl>\n </>\n )\n}\n\nexport default UploadInfo\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,aAAa,QAAQ,iBAAiB;AAC7D,OAAOC,IAAI,MAAM,qBAAqB;AACtC,OAAOC,CAAC,MAAM,kBAAkB;AAChC,OAAOC,EAAE,MAAM,mBAAmB;AAClC,OAAOC,EAAE,MAAM,mBAAmB;AAClC,OAAOC,EAAE,MAAM,mBAAmB;AAClC,SAASC,MAAM,QAAQ,8BAA8B;AAErD,MAAMC,UAAU,GAAGA,CAAA,KAAM;EACvB,MAAMC,OAAO,GAAGV,KAAK,CAACW,UAAU,CAACT,aAAa,CAAC;EAE/C,MAAM;IACJU,KAAK;IACLC,IAAI;IACJC,iBAAiB;IACjBC,mBAAmB;IACnBC,mBAAmB;IACnBC,qBAAqB;IACrBC,eAAe;IACfC,gBAAgB;IAChBC,WAAW;IACXC;EACF,CAAC,GAAGX,OAAO;EAEX,MAAMY,6BAA6B,GAAGR,iBAAiB,CACpDS,IAAI,CAAC,IAAI,CAAC,CACVC,WAAW,CAAC,CAAC;EAEhB,OACExB,KAAA,CAAAyB,aAAA,CAAAzB,KAAA,CAAA0B,QAAA,QACE1B,KAAA,CAAAyB,aAAA,CAACtB,IAAI;IAACwB,KAAK,EAAC;EAAG,GAAEf,KAAY,CAAC,EAE9BZ,KAAA,CAAAyB,aAAA,CAACrB,CAAC;IAACwB,GAAG,EAAC,UAAU;IAACC,SAAS,EAAC;EAAkB,GAC3ChB,IACA,CAAC,EAEHQ,QAAQ,EAETrB,KAAA,CAAAyB,aAAA,CAACpB,EAAE;IACDuB,GAAG,EAAC,OAAO;IACXE,MAAM,EAAE,CAAE;IACVC,MAAM,EAAC,YAAY;IACnBF,SAAS,EAAC;EAA4B,GAErCP,6BAA6B,IAC5BtB,KAAA,CAAAyB,aAAA,CAACpB,EAAE,CAAC2B,IAAI,QACNhC,KAAA,CAAAyB,aAAA,CAACnB,EAAE,QAAES,mBAAwB,CAAC,EAC9Bf,KAAA,CAAAyB,aAAA,CAAClB,EAAE,QAAEe,6BAAkC,CAChC,CACV,EAEAF,WAAW,IACVpB,KAAA,CAAAyB,aAAA,CAACpB,EAAE,CAAC2B,IAAI,QACNhC,KAAA,CAAAyB,aAAA,CAACnB,EAAE,QAAEU,mBAAwB,CAAC,EAC9BhB,KAAA,CAAAyB,aAAA,CAAClB,EAAE,QACA0B,MAAM,CAACf,eAAe,CAAC,CAACgB,OAAO,CAC9B,OAAO,EACP1B,MAAM,CAACY,WAAW,CAAC,CAACe,QAAQ,CAAC,CAC/B,CACE,CACG,CACV,EAEAhB,gBAAgB,GAAGlB,YAAY,CAACkB,gBAAgB,IAC/CnB,KAAA,CAAAyB,aAAA,CAACpB,EAAE,CAAC2B,IAAI,QACNhC,KAAA,CAAAyB,aAAA,CAACnB,EAAE,QAAEW,qBAA0B,CAAC,EAChCjB,KAAA,CAAAyB,aAAA,CAAClB,EAAE,QAAEY,gBAAqB,CACnB,CAET,CACJ,CAAC;AAEP,CAAC;AAED,eAAeV,UAAU"}
|
|
1
|
+
{"version":3,"file":"UploadInfo.js","names":["React","defaultProps","UploadContext","Lead","P","Dl","Dt","Dd","format","isArrayOfObjects","isArrayOfStrings","Table","Tr","Th","Td","prettifyAcceptedFileFormats","acceptedFileTypes","sort","join","toUpperCase","UploadInfo","context","useContext","title","text","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","filesAmountLimit","fileMaxSize","children","prettifiedAcceptedFileFormats","isAcceptedFileTypeListOfStrings","displayAcceptedFileFormatsListItem","displayFileMaxSizeItem","displayFilesAmountLimitItem","displayAcceptedFileFormatsTable","displayDl","createElement","Fragment","space","top","className","bottom","layout","Item","String","replace","toString","_UploadInfoAcceptedFi","UploadInfoAcceptedFileTypesTable","fileTypeTableCaption","groupByFileMaxSize","fallBackFileMaxSize","fileMaxSizeIsFalseOrZero","group","forEach","item","itemFileMaxSize","groupName","push","acceptedFileTypesGroupedByFileMaxSize","border","size","variant","cellSpacing","Object","keys","a","b","Number","map","key","acceptedFileTypesObj","fileType"],"sources":["../../../../src/components/upload/UploadInfo.tsx"],"sourcesContent":["import React from 'react'\nimport { defaultProps, UploadContext } from './UploadContext'\nimport Lead from '../../elements/Lead'\nimport P from '../../elements/P'\nimport Dl from '../../elements/Dl'\nimport Dt from '../../elements/Dt'\nimport Dd from '../../elements/Dd'\nimport { format } from '../number-format/NumberUtils'\nimport { isArrayOfObjects, isArrayOfStrings } from './UploadVerify'\nimport Table from '../Table'\nimport Tr from '../table/TableTr'\nimport Th from '../table/TableTh'\nimport Td from '../table/TableTd'\nimport { UploadAcceptedFileTypeObject, UploadProps } from './types'\n\nconst prettifyAcceptedFileFormats = (acceptedFileTypes) =>\n acceptedFileTypes.sort().join(', ').toUpperCase()\n\nconst UploadInfo = () => {\n const context = React.useContext(UploadContext)\n\n const {\n title,\n text,\n acceptedFileTypes,\n fileTypeDescription,\n fileSizeDescription,\n fileAmountDescription,\n fileSizeContent,\n filesAmountLimit,\n fileMaxSize,\n children,\n } = context\n\n const prettifiedAcceptedFileFormats =\n prettifyAcceptedFileFormats(acceptedFileTypes)\n\n const isAcceptedFileTypeListOfStrings =\n isArrayOfStrings(acceptedFileTypes)\n\n const displayAcceptedFileFormatsListItem =\n isAcceptedFileTypeListOfStrings && prettifiedAcceptedFileFormats\n\n const displayFileMaxSizeItem =\n isAcceptedFileTypeListOfStrings && fileMaxSize\n\n const displayFilesAmountLimitItem =\n filesAmountLimit < defaultProps.filesAmountLimit\n\n const displayAcceptedFileFormatsTable =\n isArrayOfObjects(acceptedFileTypes)\n\n const displayDl =\n displayAcceptedFileFormatsListItem ||\n displayFileMaxSizeItem ||\n displayFilesAmountLimitItem\n\n return (\n <>\n <Lead space=\"0\">{title}</Lead>\n\n <P top=\"xx-small\" className=\"dnb-upload__text\">\n {text}\n </P>\n\n {children}\n\n {displayDl && (\n <Dl top=\"small\" bottom={0} layout=\"horizontal\">\n {displayAcceptedFileFormatsListItem && (\n <Dl.Item>\n <Dt>{fileTypeDescription}</Dt>\n <Dd>{prettifiedAcceptedFileFormats}</Dd>\n </Dl.Item>\n )}\n\n {displayFileMaxSizeItem && (\n <Dl.Item>\n <Dt>{fileSizeDescription}</Dt>\n <Dd>\n {String(fileSizeContent).replace(\n '%size',\n format(fileMaxSize).toString()\n )}\n </Dd>\n </Dl.Item>\n )}\n\n {displayFilesAmountLimitItem && (\n <Dl.Item>\n <Dt>{fileAmountDescription}</Dt>\n <Dd>{filesAmountLimit}</Dd>\n </Dl.Item>\n )}\n </Dl>\n )}\n {displayAcceptedFileFormatsTable && (\n <UploadInfoAcceptedFileTypesTable />\n )}\n </>\n )\n}\n\nfunction UploadInfoAcceptedFileTypesTable() {\n const context = React.useContext(UploadContext)\n\n const {\n acceptedFileTypes,\n fileTypeTableCaption,\n fileTypeDescription,\n fileSizeDescription,\n fileSizeContent,\n fileMaxSize,\n } = context\n\n const groupByFileMaxSize = (\n acceptedFileTypes: UploadProps['acceptedFileTypes'],\n fallBackFileMaxSize: UploadProps['fileMaxSize']\n ) => {\n const fileMaxSizeIsFalseOrZero = (\n fileMaxSize: UploadProps['fileMaxSize']\n ) => {\n return fileMaxSize === false || fileMaxSize === 0\n }\n\n const group = {}\n acceptedFileTypes.forEach((item) => {\n const itemFileMaxSize = item.fileMaxSize\n const groupName = itemFileMaxSize\n ? itemFileMaxSize\n : fileMaxSizeIsFalseOrZero(itemFileMaxSize)\n ? 0\n : fileMaxSizeIsFalseOrZero(fallBackFileMaxSize)\n ? 0\n : fallBackFileMaxSize\n\n group[groupName] = group[groupName] || []\n group[groupName].push(item)\n })\n\n return group\n }\n\n const acceptedFileTypesGroupedByFileMaxSize = groupByFileMaxSize(\n acceptedFileTypes,\n fileMaxSize\n )\n\n return (\n <Table\n border\n className=\"dnb-upload__accepted-file-types-table\"\n size=\"small\"\n >\n <caption className=\"dnb-sr-only\">{fileTypeTableCaption}</caption>\n <thead>\n <Tr variant=\"odd\" cellSpacing={0}>\n <Th>{fileTypeDescription}</Th>\n <Th>{fileSizeDescription}</Th>\n </Tr>\n </thead>\n <tbody>\n {Object.keys(acceptedFileTypesGroupedByFileMaxSize)\n .sort((a, b) => Number(b) - Number(a))\n .map((key) => {\n return (\n <Tr variant=\"odd\" key={key}>\n <Td>\n {prettifyAcceptedFileFormats(\n acceptedFileTypesGroupedByFileMaxSize[key].map(\n (\n acceptedFileTypesObj: UploadAcceptedFileTypeObject\n ) => acceptedFileTypesObj.fileType\n )\n )}\n </Td>\n <Td>\n {key !== '0' &&\n String(fileSizeContent).replace(\n '%size',\n format(key).toString()\n )}\n </Td>\n </Tr>\n )\n })}\n </tbody>\n </Table>\n )\n}\n\nexport default UploadInfo\n"],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { UploadFile, UploadContextProps, UploadAcceptedFileTypes } from './types';
|
|
1
|
+
import { UploadFile, UploadContextProps, UploadAcceptedFileTypes, UploadAcceptedFileTypesWithFileMaxSize } from './types';
|
|
2
2
|
export declare const BYTES_IN_A_MEGA_BYTE = 1048576;
|
|
3
3
|
export declare function verifyFiles(files: UploadFile[], context: Pick<UploadContextProps, 'errorUnsupportedFile' | 'errorLargeFile' | 'acceptedFileTypes' | 'fileMaxSize'>): UploadFile[];
|
|
4
4
|
export declare function getFileTypeFromExtension(file: File): string;
|
|
5
|
-
export declare function getAcceptedFileTypes(acceptedFileTypes: UploadAcceptedFileTypes): string;
|
|
5
|
+
export declare function getAcceptedFileTypes(acceptedFileTypes: UploadAcceptedFileTypes | UploadAcceptedFileTypesWithFileMaxSize): string;
|
|
6
6
|
export declare function hasPreferredMimeType(acceptedFileTypes: UploadAcceptedFileTypes, file: File): boolean;
|
|
7
|
+
export declare function isArrayOfStrings(arr: any): boolean;
|
|
8
|
+
export declare function isArrayOfObjects(arr: any): boolean;
|
|
7
9
|
export declare function extendWithAbbreviation(acceptedFileTypes: UploadAcceptedFileTypes, abbreviations?: {
|
|
8
10
|
jpg: string;
|
|
9
11
|
}): string[];
|