@dnb/eufemia 10.43.0 → 10.45.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 +61 -0
- package/cjs/components/autocomplete/Autocomplete.d.ts +2 -2
- package/cjs/components/autocomplete/AutocompleteDocs.js +7 -7
- package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/cjs/components/button/Button.d.ts +1 -1
- package/cjs/components/button/Button.js +6 -5
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/checkbox/style/dnb-checkbox.scss +1 -1
- package/cjs/components/input-masked/InputMaskedHooks.js +4 -0
- package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/cjs/components/radio/style/dnb-radio.scss +1 -1
- package/cjs/components/space/Space.d.ts +1 -1
- package/cjs/components/space/Space.js.map +1 -1
- package/cjs/components/table/TableStickyHeader.js.map +1 -1
- package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/cjs/components/table/table-navigation/TableNavigationHead.js +1 -1
- package/cjs/components/table/table-navigation/TableNavigationHead.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 +18 -5
- 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 +34 -4
- 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 +9 -3
- package/cjs/components/upload/types.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +9 -3
- 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 +5 -12
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +58 -18
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +29 -24
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +31 -0
- package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/FieldDocs.d.ts +7 -0
- package/cjs/extensions/forms/Field/FieldDocs.js +20 -1
- package/cjs/extensions/forms/Field/FieldDocs.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/Number/Number.js +7 -12
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -4
- package/cjs/extensions/forms/Field/Option/Option.js +0 -21
- package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +33 -15
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +28 -0
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +32 -16
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +16 -0
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +42 -15
- package/cjs/extensions/forms/Field/Selection/Selection.js +92 -29
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
- package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.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 +3 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +26 -5
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +84 -26
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +11 -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 +2 -2
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/clearData.d.ts +1 -0
- package/cjs/extensions/forms/Form/data-context/clearData.js +16 -0
- package/cjs/extensions/forms/Form/data-context/clearData.js.map +1 -0
- package/cjs/extensions/forms/Form/index.d.ts +1 -0
- package/cjs/extensions/forms/Form/index.js +7 -0
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/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/Array/types.d.ts +1 -4
- package/cjs/extensions/forms/Iterate/Array/types.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/Iterate/style/dnb-iterate.css +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
- package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +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/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 +2 -0
- package/cjs/extensions/forms/Value/index.js +14 -0
- package/cjs/extensions/forms/Value/index.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +3 -3
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- 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/constants/locales/en-GB.d.ts +7 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js +7 -0
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +7 -0
- package/cjs/extensions/forms/constants/locales/index.d.ts +14 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js +7 -0
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.js +4 -4
- package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -0
- package/cjs/extensions/forms/hooks/useDataValue.js +29 -13
- 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.d.ts +5 -5
- package/cjs/extensions/forms/hooks/useFieldProps.js +49 -31
- 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 +1 -1
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +20 -7
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/helpers/isAsync.js +2 -2
- package/cjs/shared/helpers/isAsync.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +1 -0
- package/cjs/shared/locales/en-GB.js +1 -0
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +1 -0
- package/cjs/shared/locales/index.d.ts +2 -0
- package/cjs/shared/locales/nb-NO.d.ts +1 -0
- package/cjs/shared/locales/nb-NO.js +2 -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 +16 -1
- package/cjs/style/dnb-ui-components.min.css +2 -2
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +1 -1
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +1 -1
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +17 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +17 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +17 -2
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/autocomplete/Autocomplete.d.ts +2 -2
- package/components/autocomplete/AutocompleteDocs.js +7 -7
- package/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/components/button/Button.d.ts +1 -1
- package/components/button/Button.js +6 -5
- package/components/button/Button.js.map +1 -1
- package/components/checkbox/style/dnb-checkbox.scss +1 -1
- package/components/input-masked/InputMaskedHooks.js +4 -0
- package/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/components/radio/style/dnb-radio.scss +1 -1
- package/components/space/Space.d.ts +1 -1
- package/components/space/Space.js.map +1 -1
- package/components/table/TableStickyHeader.js.map +1 -1
- package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/components/table/table-navigation/TableNavigationHead.js +1 -1
- package/components/table/table-navigation/TableNavigationHead.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 +16 -4
- 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 +32 -4
- 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 +9 -3
- package/components/upload/types.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.d.ts +2 -2
- package/es/components/autocomplete/AutocompleteDocs.js +7 -7
- package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/es/components/button/Button.d.ts +1 -1
- package/es/components/button/Button.js +6 -5
- package/es/components/button/Button.js.map +1 -1
- package/es/components/checkbox/style/dnb-checkbox.scss +1 -1
- package/es/components/input-masked/InputMaskedHooks.js +4 -0
- package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/es/components/radio/style/dnb-radio.scss +1 -1
- package/es/components/space/Space.d.ts +1 -1
- package/es/components/space/Space.js.map +1 -1
- package/es/components/table/TableStickyHeader.js.map +1 -1
- package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/es/components/table/table-navigation/TableNavigationHead.js +1 -1
- package/es/components/table/table-navigation/TableNavigationHead.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 +16 -4
- 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 +32 -4
- 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 +9 -3
- package/es/components/upload/types.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +9 -3
- 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 +5 -12
- package/es/extensions/forms/DataContext/Provider/Provider.js +56 -18
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +28 -24
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
- package/es/extensions/forms/Field/Currency/CurrencyDocs.js +22 -0
- package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
- package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/FieldDocs.d.ts +7 -0
- package/es/extensions/forms/Field/FieldDocs.js +16 -0
- package/es/extensions/forms/Field/FieldDocs.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/Number/Number.js +7 -12
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Option/Option.d.ts +2 -4
- package/es/extensions/forms/Field/Option/Option.js +0 -20
- package/es/extensions/forms/Field/Option/Option.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +32 -15
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +20 -0
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +16 -3
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +9 -0
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
- package/es/extensions/forms/Field/Selection/Selection.d.ts +42 -15
- package/es/extensions/forms/Field/Selection/Selection.js +86 -28
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
- package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.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 +3 -1
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.d.ts +26 -5
- package/es/extensions/forms/Form/Isolation/Isolation.js +85 -27
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -0
- package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js +11 -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 +2 -2
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/data-context/clearData.d.ts +1 -0
- package/es/extensions/forms/Form/data-context/clearData.js +10 -0
- package/es/extensions/forms/Form/data-context/clearData.js.map +1 -0
- package/es/extensions/forms/Form/index.d.ts +1 -0
- package/es/extensions/forms/Form/index.js +1 -0
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/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/Array/types.d.ts +1 -4
- package/es/extensions/forms/Iterate/Array/types.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/Iterate/style/dnb-iterate.css +1 -1
- package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
- package/es/extensions/forms/Iterate/style/dnb-iterate.scss +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/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 +2 -0
- package/es/extensions/forms/Value/index.js +2 -0
- package/es/extensions/forms/Value/index.js.map +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +3 -3
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- 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/constants/locales/en-GB.d.ts +7 -0
- package/es/extensions/forms/constants/locales/en-GB.js +7 -0
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +7 -0
- package/es/extensions/forms/constants/locales/index.d.ts +14 -0
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
- package/es/extensions/forms/constants/locales/nb-NO.js +7 -0
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/DataValueDocs.js +4 -4
- package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +2 -0
- package/es/extensions/forms/hooks/useDataValue.js +29 -13
- 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.d.ts +5 -5
- package/es/extensions/forms/hooks/useFieldProps.js +49 -31
- 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 +1 -1
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +20 -7
- package/es/extensions/forms/types.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/helpers/isAsync.js +2 -2
- package/es/shared/helpers/isAsync.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +1 -0
- package/es/shared/locales/en-GB.js +1 -0
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +1 -0
- package/es/shared/locales/index.d.ts +2 -0
- package/es/shared/locales/nb-NO.d.ts +1 -0
- package/es/shared/locales/nb-NO.js +2 -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 +16 -1
- package/es/style/dnb-ui-components.min.css +2 -2
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +1 -1
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +1 -1
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +17 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +17 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +17 -2
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-extensions.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +5 -5
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +9 -3
- 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 +5 -12
- package/extensions/forms/DataContext/Provider/Provider.js +56 -18
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +28 -24
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
- package/extensions/forms/Field/Currency/CurrencyDocs.js +22 -0
- package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
- package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/FieldDocs.d.ts +7 -0
- package/extensions/forms/Field/FieldDocs.js +18 -0
- package/extensions/forms/Field/FieldDocs.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/Number/Number.js +7 -12
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Option/Option.d.ts +2 -4
- package/extensions/forms/Field/Option/Option.js +0 -20
- package/extensions/forms/Field/Option/Option.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +33 -15
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +20 -0
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
- package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +32 -16
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +9 -0
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
- package/extensions/forms/Field/Selection/Selection.d.ts +42 -15
- package/extensions/forms/Field/Selection/Selection.js +90 -28
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
- package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +1 -1
- package/extensions/forms/Field/Toggle/Toggle.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 +3 -1
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/Isolation/Isolation.d.ts +26 -5
- package/extensions/forms/Form/Isolation/Isolation.js +85 -27
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -0
- package/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationDocs.js +11 -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 +2 -2
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/data-context/clearData.d.ts +1 -0
- package/extensions/forms/Form/data-context/clearData.js +10 -0
- package/extensions/forms/Form/data-context/clearData.js.map +1 -0
- package/extensions/forms/Form/index.d.ts +1 -0
- package/extensions/forms/Form/index.js +1 -0
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/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/Array/types.d.ts +1 -4
- package/extensions/forms/Iterate/Array/types.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/Iterate/style/dnb-iterate.css +1 -1
- package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
- package/extensions/forms/Iterate/style/dnb-iterate.scss +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/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 +2 -0
- package/extensions/forms/Value/index.js +2 -0
- package/extensions/forms/Value/index.js.map +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +3 -3
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- 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/constants/locales/en-GB.d.ts +7 -0
- package/extensions/forms/constants/locales/en-GB.js +7 -0
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +7 -0
- package/extensions/forms/constants/locales/index.d.ts +14 -0
- package/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
- package/extensions/forms/constants/locales/nb-NO.js +7 -0
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/DataValueDocs.js +4 -4
- package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +2 -0
- package/extensions/forms/hooks/useDataValue.js +29 -13
- 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.d.ts +5 -5
- package/extensions/forms/hooks/useFieldProps.js +49 -31
- 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 +1 -1
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +20 -7
- package/extensions/forms/types.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/helpers/isAsync.js +2 -2
- package/shared/helpers/isAsync.js.map +1 -1
- package/shared/locales/en-GB.d.ts +1 -0
- package/shared/locales/en-GB.js +1 -0
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +1 -0
- package/shared/locales/index.d.ts +2 -0
- package/shared/locales/nb-NO.d.ts +1 -0
- package/shared/locales/nb-NO.js +2 -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 +16 -1
- package/style/dnb-ui-components.min.css +2 -2
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +1 -1
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +1 -1
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +17 -2
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +17 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +17 -2
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-extensions.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +5 -5
- package/umd/dnb-ui-lib.min.js +1 -1
- 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
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
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; }
|
|
3
|
+
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; }
|
|
4
|
+
import { numberProperties } from '../Number/NumberDocs';
|
|
5
|
+
export const currencyProperties = _objectSpread({
|
|
6
|
+
currency: {
|
|
7
|
+
doc: 'Defines what format to show the currency value in I.e `NOK` or `USD`.',
|
|
8
|
+
type: 'string',
|
|
9
|
+
status: 'optional'
|
|
10
|
+
},
|
|
11
|
+
currencyDisplay: {
|
|
12
|
+
doc: 'Defined the currency display style. Defaults to `code`.',
|
|
13
|
+
type: ['code', 'symbol', 'narrowSymbol', 'name'],
|
|
14
|
+
status: 'optional'
|
|
15
|
+
},
|
|
16
|
+
help: {
|
|
17
|
+
doc: 'Provide a help button. Object consisting of `title` and `content`.',
|
|
18
|
+
type: 'object',
|
|
19
|
+
status: 'optional'
|
|
20
|
+
}
|
|
21
|
+
}, numberProperties);
|
|
22
|
+
//# sourceMappingURL=CurrencyDocs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CurrencyDocs.js","names":["numberProperties","currencyProperties","_objectSpread","currency","doc","type","status","currencyDisplay","help"],"sources":["../../../../../../src/extensions/forms/Field/Currency/CurrencyDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { numberProperties } from '../Number/NumberDocs'\n\nexport const currencyProperties: PropertiesTableProps = {\n currency: {\n doc: 'Defines what format to show the currency value in I.e `NOK` or `USD`.',\n type: 'string',\n status: 'optional',\n },\n currencyDisplay: {\n doc: 'Defined the currency display style. Defaults to `code`.',\n type: ['code', 'symbol', 'narrowSymbol', 'name'],\n status: 'optional',\n },\n help: {\n doc: 'Provide a help button. Object consisting of `title` and `content`.',\n type: 'object',\n status: 'optional',\n },\n ...numberProperties,\n}\n"],"mappings":";;;AACA,SAASA,gBAAgB,QAAQ,sBAAsB;AAEvD,OAAO,MAAMC,kBAAwC,GAAAC,aAAA;EACnDC,QAAQ,EAAE;IACRC,GAAG,EAAE,uEAAuE;IAC5EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,eAAe,EAAE;IACfH,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC;IAChDC,MAAM,EAAE;EACV,CAAC;EACDE,IAAI,EAAE;IACJJ,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AAAC,GACEN,gBAAgB,CACpB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FieldHelpProps, FieldProps } from '../../types';
|
|
2
|
-
export type ExpiryProps = FieldHelpProps & FieldProps<string>;
|
|
2
|
+
export type ExpiryProps = FieldHelpProps & FieldProps<string, undefined | ''>;
|
|
3
3
|
declare function Expiry(props: ExpiryProps): import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
declare namespace Expiry {
|
|
5
5
|
var _supportsEufemiaSpacingProps: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expiry.js","names":["React","useCallback","pickSpacingProps","useFieldProps","classnames","FieldBlock","MultiInputMask","HelpButton","useErrorMessage","useTranslation","useSharedTranslation","Expiry","props","_value$substring","Date","errorRequired","label","expiryLabel","DatePicker","placeholder_characters","placeholders","month","monthLabel","year","yearLabel","errorMessages","path","required","validateRequired","value","error","undefined","preparedProps","_objectSpread","fromInput","toExpiryString","id","className","hasError","info","warning","help","disabled","labelDescription","layout","htmlAttributes","handleFocus","handleBlur","handleChange","expiry","ensureValidMonth","substring","status","createElement","_extends","forId","stretch","values","statusState","onChange","onBlur","onFocus","delimiter","inputMode","inputs","mask","getMonthMask","placeholderCharacter","autoComplete","suffix","title","content","Object","join","firstMask","secondMask","firstDigit","charAt","isFirstDigitValid","test","secondDigit","isSecondDigitValid","_supportsEufemiaSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Expiry/Expiry.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { useFieldProps } from '../../hooks'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { MultiInputMask } from '../../../../components/input-masked'\nimport type { MultiInputMaskValue } from '../../../../components/input-masked'\nimport { HelpButton } from '../../../../components'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport useTranslation from '../../hooks/useTranslation'\n\ntype ExpiryValue = MultiInputMaskValue<'month' | 'year'>\n\nexport type ExpiryProps = FieldHelpProps
|
|
1
|
+
{"version":3,"file":"Expiry.js","names":["React","useCallback","pickSpacingProps","useFieldProps","classnames","FieldBlock","MultiInputMask","HelpButton","useErrorMessage","useTranslation","useSharedTranslation","Expiry","props","_value$substring","Date","errorRequired","label","expiryLabel","DatePicker","placeholder_characters","placeholders","month","monthLabel","year","yearLabel","errorMessages","path","required","validateRequired","value","error","undefined","preparedProps","_objectSpread","fromInput","toExpiryString","id","className","hasError","info","warning","help","disabled","labelDescription","layout","htmlAttributes","handleFocus","handleBlur","handleChange","expiry","ensureValidMonth","substring","status","createElement","_extends","forId","stretch","values","statusState","onChange","onBlur","onFocus","delimiter","inputMode","inputs","mask","getMonthMask","placeholderCharacter","autoComplete","suffix","title","content","Object","join","firstMask","secondMask","firstDigit","charAt","isFirstDigitValid","test","secondDigit","isSecondDigitValid","_supportsEufemiaSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Expiry/Expiry.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { useFieldProps } from '../../hooks'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { MultiInputMask } from '../../../../components/input-masked'\nimport type { MultiInputMaskValue } from '../../../../components/input-masked'\nimport { HelpButton } from '../../../../components'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport useTranslation from '../../hooks/useTranslation'\n\ntype ExpiryValue = MultiInputMaskValue<'month' | 'year'>\n\nexport type ExpiryProps = FieldHelpProps &\n FieldProps<string, undefined | ''>\n\nfunction Expiry(props: ExpiryProps) {\n const {\n Date: { errorRequired },\n Expiry: { label: expiryLabel },\n } = useTranslation()\n\n const {\n DatePicker: {\n placeholder_characters: placeholders,\n month: monthLabel,\n year: yearLabel,\n },\n } = useSharedTranslation()\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: errorRequired,\n })\n\n const validateRequired = useCallback(\n (value: string, { required, error }) => {\n return required && !value ? error : undefined\n },\n []\n )\n\n const preparedProps: ExpiryProps = {\n ...props,\n errorMessages,\n fromInput: toExpiryString,\n validateRequired,\n }\n\n const {\n id,\n className,\n label = expiryLabel,\n error,\n hasError,\n info,\n warning,\n help,\n disabled,\n value = '',\n labelDescription,\n layout = 'vertical',\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n } = useFieldProps(preparedProps)\n\n const expiry: ExpiryValue = {\n month: ensureValidMonth(value?.substring(0, 2)),\n year: value?.substring(2, 4) ?? '',\n }\n\n const status = hasError\n ? 'error'\n : warning\n ? 'warn'\n : info\n ? 'info'\n : null\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-expiry', className)}\n id={id}\n forId={`${id}-input-month`}\n label={label}\n layout={layout}\n labelDescription={labelDescription}\n info={info}\n warning={warning}\n error={error}\n {...pickSpacingProps(props)}\n >\n <MultiInputMask\n stretch\n id={`${id}-input`}\n values={expiry}\n status={status}\n statusState={disabled ? 'disabled' : undefined}\n disabled={disabled}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n delimiter=\"/\"\n inputMode=\"numeric\"\n inputs={[\n {\n id: 'month',\n label: monthLabel,\n mask: getMonthMask(expiry?.month),\n placeholderCharacter: placeholders['month'],\n autoComplete: 'cc-exp-month',\n ...htmlAttributes,\n },\n {\n id: 'year',\n label: yearLabel,\n mask: [/[0-9]/, /[0-9]/],\n placeholderCharacter: placeholders['year'],\n autoComplete: 'cc-exp-year',\n ...htmlAttributes,\n },\n ]}\n suffix={\n help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined\n }\n />\n </FieldBlock>\n )\n\n function toExpiryString(values: ExpiryValue) {\n return Object.values(values).join('')\n }\n\n function ensureValidMonth(month: string) {\n // Return empty value if no month is given\n if (!month) {\n return ''\n }\n\n const [firstMask, secondMask] = getMonthMask(month)\n\n const firstDigit = month?.charAt(0)\n const isFirstDigitValid = firstMask.test(firstDigit)\n\n if (firstDigit && !isFirstDigitValid) {\n // Return empty value if the first digit is invalid\n return ''\n }\n\n const secondDigit = month?.charAt(1)\n const isSecondDigitValid = secondMask.test(secondDigit)\n\n if (secondDigit && !isSecondDigitValid) {\n // Return empty value if the second digit is invalid\n return ''\n }\n\n // Return given month of month value is valid\n return month\n }\n\n function getMonthMask(month: string) {\n const firstDigit = month?.charAt(0)\n\n return [\n /[0-1]/,\n firstDigit === '0' || firstDigit === '' ? /[1-9]/ : /[0-2]/,\n ]\n }\n}\n\nExpiry._supportsEufemiaSpacingProps = true\nexport default Expiry\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAE1C,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,SAASC,aAAa,QAAQ,aAAa;AAC3C,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,UAAU,MAAM,kBAAkB;AACzC,SAASC,cAAc,QAAQ,qCAAqC;AAEpE,SAASC,UAAU,QAAQ,wBAAwB;AACnD,OAAOC,eAAe,MAAM,6BAA6B;AACzD,SAASC,cAAc,IAAIC,oBAAoB,QAAQ,oBAAoB;AAC3E,OAAOD,cAAc,MAAM,4BAA4B;AAOvD,SAASE,MAAMA,CAACC,KAAkB,EAAE;EAAA,IAAAC,gBAAA;EAClC,MAAM;IACJC,IAAI,EAAE;MAAEC;IAAc,CAAC;IACvBJ,MAAM,EAAE;MAAEK,KAAK,EAAEC;IAAY;EAC/B,CAAC,GAAGR,cAAc,CAAC,CAAC;EAEpB,MAAM;IACJS,UAAU,EAAE;MACVC,sBAAsB,EAAEC,YAAY;MACpCC,KAAK,EAAEC,UAAU;MACjBC,IAAI,EAAEC;IACR;EACF,CAAC,GAAGd,oBAAoB,CAAC,CAAC;EAE1B,MAAMe,aAAa,GAAGjB,eAAe,CAACI,KAAK,CAACc,IAAI,EAAEd,KAAK,CAACa,aAAa,EAAE;IACrEE,QAAQ,EAAEZ;EACZ,CAAC,CAAC;EAEF,MAAMa,gBAAgB,GAAG3B,WAAW,CAClC,CAAC4B,KAAa,EAAE;IAAEF,QAAQ;IAAEG;EAAM,CAAC,KAAK;IACtC,OAAOH,QAAQ,IAAI,CAACE,KAAK,GAAGC,KAAK,GAAGC,SAAS;EAC/C,CAAC,EACD,EACF,CAAC;EAED,MAAMC,aAA0B,GAAAC,aAAA,CAAAA,aAAA,KAC3BrB,KAAK;IACRa,aAAa;IACbS,SAAS,EAAEC,cAAc;IACzBP;EAAgB,EACjB;EAED,MAAM;IACJQ,EAAE;IACFC,SAAS;IACTrB,KAAK,GAAGC,WAAW;IACnBa,KAAK;IACLQ,QAAQ;IACRC,IAAI;IACJC,OAAO;IACPC,IAAI;IACJC,QAAQ;IACRb,KAAK,GAAG,EAAE;IACVc,gBAAgB;IAChBC,MAAM,GAAG,UAAU;IACnBC,cAAc;IACdC,WAAW;IACXC,UAAU;IACVC;EACF,CAAC,GAAG7C,aAAa,CAAC6B,aAAa,CAAC;EAEhC,MAAMiB,MAAmB,GAAG;IAC1B5B,KAAK,EAAE6B,gBAAgB,CAACrB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C5B,IAAI,GAAAV,gBAAA,GAAEgB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,cAAAtC,gBAAA,cAAAA,gBAAA,GAAI;EAClC,CAAC;EAED,MAAMuC,MAAM,GAAGd,QAAQ,GACnB,OAAO,GACPE,OAAO,GACP,MAAM,GACND,IAAI,GACJ,MAAM,GACN,IAAI;EAER,OACEvC,KAAA,CAAAqD,aAAA,CAAChD,UAAU,EAAAiD,QAAA;IACTjB,SAAS,EAAEjC,UAAU,CAAC,wBAAwB,EAAEiC,SAAS,CAAE;IAC3DD,EAAE,EAAEA,EAAG;IACPmB,KAAK,EAAG,GAAEnB,EAAG,cAAc;IAC3BpB,KAAK,EAAEA,KAAM;IACb4B,MAAM,EAAEA,MAAO;IACfD,gBAAgB,EAAEA,gBAAiB;IACnCJ,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBV,KAAK,EAAEA;EAAM,GACT5B,gBAAgB,CAACU,KAAK,CAAC,GAE3BZ,KAAA,CAAAqD,aAAA,CAAC/C,cAAc;IACbkD,OAAO;IACPpB,EAAE,EAAG,GAAEA,EAAG,QAAQ;IAClBqB,MAAM,EAAER,MAAO;IACfG,MAAM,EAAEA,MAAO;IACfM,WAAW,EAAEhB,QAAQ,GAAG,UAAU,GAAGX,SAAU;IAC/CW,QAAQ,EAAEA,QAAS;IACnBiB,QAAQ,EAAEX,YAAa;IACvBY,MAAM,EAAEb,UAAW;IACnBc,OAAO,EAAEf,WAAY;IACrBgB,SAAS,EAAC,GAAG;IACbC,SAAS,EAAC,SAAS;IACnBC,MAAM,EAAE,CAAA/B,aAAA;MAEJG,EAAE,EAAE,OAAO;MACXpB,KAAK,EAAEM,UAAU;MACjB2C,IAAI,EAAEC,YAAY,CAACjB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE5B,KAAK,CAAC;MACjC8C,oBAAoB,EAAE/C,YAAY,CAAC,OAAO,CAAC;MAC3CgD,YAAY,EAAE;IAAc,GACzBvB,cAAc,GAAAZ,aAAA;MAGjBG,EAAE,EAAE,MAAM;MACVpB,KAAK,EAAEQ,SAAS;MAChByC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;MACxBE,oBAAoB,EAAE/C,YAAY,CAAC,MAAM,CAAC;MAC1CgD,YAAY,EAAE;IAAa,GACxBvB,cAAc,EAEnB;IACFwB,MAAM,EACJ5B,IAAI,GACFzC,KAAA,CAAAqD,aAAA,CAAC9C,UAAU;MAAC+D,KAAK,EAAE7B,IAAI,CAAC6B;IAAM,GAAE7B,IAAI,CAAC8B,OAAoB,CAAC,GACxDxC;EACL,CACF,CACS,CAAC;EAGf,SAASI,cAAcA,CAACsB,MAAmB,EAAE;IAC3C,OAAOe,MAAM,CAACf,MAAM,CAACA,MAAM,CAAC,CAACgB,IAAI,CAAC,EAAE,CAAC;EACvC;EAEA,SAASvB,gBAAgBA,CAAC7B,KAAa,EAAE;IAEvC,IAAI,CAACA,KAAK,EAAE;MACV,OAAO,EAAE;IACX;IAEA,MAAM,CAACqD,SAAS,EAAEC,UAAU,CAAC,GAAGT,YAAY,CAAC7C,KAAK,CAAC;IAEnD,MAAMuD,UAAU,GAAGvD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEwD,MAAM,CAAC,CAAC,CAAC;IACnC,MAAMC,iBAAiB,GAAGJ,SAAS,CAACK,IAAI,CAACH,UAAU,CAAC;IAEpD,IAAIA,UAAU,IAAI,CAACE,iBAAiB,EAAE;MAEpC,OAAO,EAAE;IACX;IAEA,MAAME,WAAW,GAAG3D,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEwD,MAAM,CAAC,CAAC,CAAC;IACpC,MAAMI,kBAAkB,GAAGN,UAAU,CAACI,IAAI,CAACC,WAAW,CAAC;IAEvD,IAAIA,WAAW,IAAI,CAACC,kBAAkB,EAAE;MAEtC,OAAO,EAAE;IACX;IAGA,OAAO5D,KAAK;EACd;EAEA,SAAS6C,YAAYA,CAAC7C,KAAa,EAAE;IACnC,MAAMuD,UAAU,GAAGvD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEwD,MAAM,CAAC,CAAC,CAAC;IAEnC,OAAO,CACL,OAAO,EACPD,UAAU,KAAK,GAAG,IAAIA,UAAU,KAAK,EAAE,GAAG,OAAO,GAAG,OAAO,CAC5D;EACH;AACF;AAEAjE,MAAM,CAACuE,4BAA4B,GAAG,IAAI;AAC1C,eAAevE,MAAM"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import { PropertiesTableProps } from '../../../shared/types';
|
|
2
2
|
export declare const fieldProperties: PropertiesTableProps;
|
|
3
3
|
export declare const fieldEvents: PropertiesTableProps;
|
|
4
|
+
export declare const getFieldEventsWithTypes: (valueType?: {
|
|
5
|
+
type: string;
|
|
6
|
+
optional?: boolean;
|
|
7
|
+
}, additionalArgsType?: {
|
|
8
|
+
type: string;
|
|
9
|
+
optional?: boolean;
|
|
10
|
+
}) => PropertiesTableProps;
|
|
@@ -5,4 +5,20 @@ import { fieldBlockSharedProperties } from '../FieldBlock/FieldBlockDocs';
|
|
|
5
5
|
import { dataValueEvents, dataValueProperties } from '../hooks/DataValueDocs';
|
|
6
6
|
export const fieldProperties = _objectSpread(_objectSpread({}, dataValueProperties), fieldBlockSharedProperties);
|
|
7
7
|
export const fieldEvents = _objectSpread({}, dataValueEvents);
|
|
8
|
+
export const getFieldEventsWithTypes = (valueType = undefined, additionalArgsType = undefined) => {
|
|
9
|
+
const value = valueType ? `value${valueType.optional ? '?' : ''}: ${valueType.type}` : 'value';
|
|
10
|
+
const add = additionalArgsType ? `, additionalArgs${additionalArgsType.optional ? '?' : ''}: ${additionalArgsType.type}` : '';
|
|
11
|
+
const typeString = `(${value}${add}) => void`;
|
|
12
|
+
return _objectSpread(_objectSpread({}, fieldEvents), {}, {
|
|
13
|
+
onChange: _objectSpread(_objectSpread({}, fieldEvents.onChange), {}, {
|
|
14
|
+
type: typeString
|
|
15
|
+
}),
|
|
16
|
+
onFocus: _objectSpread(_objectSpread({}, fieldEvents.onFocus), {}, {
|
|
17
|
+
type: typeString
|
|
18
|
+
}),
|
|
19
|
+
onBlur: _objectSpread(_objectSpread({}, fieldEvents.onBlur), {}, {
|
|
20
|
+
type: typeString
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
};
|
|
8
24
|
//# sourceMappingURL=FieldDocs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldDocs.js","names":["fieldBlockSharedProperties","dataValueEvents","dataValueProperties","fieldProperties","_objectSpread","fieldEvents"],"sources":["../../../../../src/extensions/forms/Field/FieldDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../shared/types'\nimport { fieldBlockSharedProperties } from '../FieldBlock/FieldBlockDocs'\nimport {\n dataValueEvents,\n dataValueProperties,\n} from '../hooks/DataValueDocs'\n\nexport const fieldProperties: PropertiesTableProps = {\n ...dataValueProperties,\n ...fieldBlockSharedProperties,\n}\n\nexport const fieldEvents: PropertiesTableProps = {\n ...dataValueEvents,\n}\n"],"mappings":";;;AACA,SAASA,0BAA0B,QAAQ,8BAA8B;AACzE,SACEC,eAAe,EACfC,mBAAmB,QACd,wBAAwB;AAE/B,OAAO,MAAMC,eAAqC,GAAAC,aAAA,CAAAA,aAAA,KAC7CF,mBAAmB,GACnBF,0BAA0B,CAC9B;AAED,OAAO,MAAMK,WAAiC,GAAAD,aAAA,KACzCH,eAAe,CACnB"}
|
|
1
|
+
{"version":3,"file":"FieldDocs.js","names":["fieldBlockSharedProperties","dataValueEvents","dataValueProperties","fieldProperties","_objectSpread","fieldEvents","getFieldEventsWithTypes","valueType","undefined","additionalArgsType","value","optional","type","add","typeString","onChange","onFocus","onBlur"],"sources":["../../../../../src/extensions/forms/Field/FieldDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../shared/types'\nimport { fieldBlockSharedProperties } from '../FieldBlock/FieldBlockDocs'\nimport {\n dataValueEvents,\n dataValueProperties,\n} from '../hooks/DataValueDocs'\n\nexport const fieldProperties: PropertiesTableProps = {\n ...dataValueProperties,\n ...fieldBlockSharedProperties,\n}\n\nexport const fieldEvents: PropertiesTableProps = {\n ...dataValueEvents,\n}\n\nexport const getFieldEventsWithTypes = (\n valueType: { type: string; optional?: boolean } = undefined,\n additionalArgsType: { type: string; optional?: boolean } = undefined\n): PropertiesTableProps => {\n const value = valueType\n ? `value${valueType.optional ? '?' : ''}: ${valueType.type}`\n : 'value'\n\n const add = additionalArgsType\n ? `, additionalArgs${additionalArgsType.optional ? '?' : ''}: ${\n additionalArgsType.type\n }`\n : ''\n\n const typeString = `(${value}${add}) => void`\n\n return {\n ...fieldEvents,\n onChange: {\n ...fieldEvents.onChange,\n type: typeString,\n },\n onFocus: {\n ...fieldEvents.onFocus,\n type: typeString,\n },\n onBlur: {\n ...fieldEvents.onBlur,\n type: typeString,\n },\n }\n}\n"],"mappings":";;;AACA,SAASA,0BAA0B,QAAQ,8BAA8B;AACzE,SACEC,eAAe,EACfC,mBAAmB,QACd,wBAAwB;AAE/B,OAAO,MAAMC,eAAqC,GAAAC,aAAA,CAAAA,aAAA,KAC7CF,mBAAmB,GACnBF,0BAA0B,CAC9B;AAED,OAAO,MAAMK,WAAiC,GAAAD,aAAA,KACzCH,eAAe,CACnB;AAED,OAAO,MAAMK,uBAAuB,GAAGA,CACrCC,SAA+C,GAAGC,SAAS,EAC3DC,kBAAwD,GAAGD,SAAS,KAC3C;EACzB,MAAME,KAAK,GAAGH,SAAS,GAClB,QAAOA,SAAS,CAACI,QAAQ,GAAG,GAAG,GAAG,EAAG,KAAIJ,SAAS,CAACK,IAAK,EAAC,GAC1D,OAAO;EAEX,MAAMC,GAAG,GAAGJ,kBAAkB,GACzB,mBAAkBA,kBAAkB,CAACE,QAAQ,GAAG,GAAG,GAAG,EAAG,KACxDF,kBAAkB,CAACG,IACpB,EAAC,GACF,EAAE;EAEN,MAAME,UAAU,GAAI,IAAGJ,KAAM,GAAEG,GAAI,WAAU;EAE7C,OAAAT,aAAA,CAAAA,aAAA,KACKC,WAAW;IACdU,QAAQ,EAAAX,aAAA,CAAAA,aAAA,KACHC,WAAW,CAACU,QAAQ;MACvBH,IAAI,EAAEE;IAAU,EACjB;IACDE,OAAO,EAAAZ,aAAA,CAAAA,aAAA,KACFC,WAAW,CAACW,OAAO;MACtBJ,IAAI,EAAEE;IAAU,EACjB;IACDG,MAAM,EAAAb,aAAA,CAAAA,aAAA,KACDC,WAAW,CAACY,MAAM;MACrBL,IAAI,EAAEE;IAAU;EACjB;AAEL,CAAC"}
|
|
@@ -9,7 +9,7 @@ function Name(props) {
|
|
|
9
9
|
const StringFieldProps = _objectSpread({
|
|
10
10
|
trim: true,
|
|
11
11
|
autoComplete: 'name',
|
|
12
|
-
pattern: '^[\\p{L}\\p{
|
|
12
|
+
pattern: '^(?!.*[\\-\\s]{2})[\\p{L}]+([ \\-][\\p{L}]+)*$'
|
|
13
13
|
}, props);
|
|
14
14
|
return React.createElement(StringField, StringFieldProps);
|
|
15
15
|
}
|
|
@@ -51,7 +51,7 @@ Name.Company = function CompanyName(props) {
|
|
|
51
51
|
});
|
|
52
52
|
const StringFieldProps = _objectSpread(_objectSpread({
|
|
53
53
|
label: translations.label,
|
|
54
|
-
pattern:
|
|
54
|
+
pattern: '^(?!.*[-\\s]{2})(?!.*[\\.]{2})[\\p{L}\\p{N}][\\p{L}\\p{N}\\p{P}\\p{Zs}.]*[\\p{L}\\p{N}\\p{P}]$',
|
|
55
55
|
autoComplete: 'organization'
|
|
56
56
|
}, props), {}, {
|
|
57
57
|
errorMessages
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Name.js","names":["React","StringField","useErrorMessage","useTranslation","Name","props","StringFieldProps","_objectSpread","trim","autoComplete","pattern","createElement","_supportsSpacingProps","First","FirstName","translations","errorMessages","path","required","errorRequired","errorPattern","nameProps","label","Last","LastName","Company","CompanyName"
|
|
1
|
+
{"version":3,"file":"Name.js","names":["React","StringField","useErrorMessage","useTranslation","Name","props","StringFieldProps","_objectSpread","trim","autoComplete","pattern","createElement","_supportsSpacingProps","First","FirstName","translations","errorMessages","path","required","errorRequired","errorPattern","nameProps","label","Last","LastName","Company","CompanyName"],"sources":["../../../../../../src/extensions/forms/Field/Name/Name.tsx"],"sourcesContent":["import React from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type Props = StringFieldProps\n\nfunction Name(props: Props) {\n const StringFieldProps: Props = {\n trim: true,\n autoComplete: 'name',\n pattern: '^(?!.*[\\\\-\\\\s]{2})[\\\\p{L}]+([ \\\\-][\\\\p{L}]+)*$',\n ...props,\n }\n\n return <StringField {...StringFieldProps} />\n}\nName._supportsSpacingProps = true\n\nName.First = function FirstName(props: Props) {\n const translations = useTranslation().FirstName\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n pattern: translations.errorPattern,\n })\n\n const nameProps: Props = {\n label: translations.label,\n autoComplete: 'given-name',\n ...props,\n errorMessages,\n }\n\n return <Name {...nameProps} />\n}\nName.First['_supportsSpacingProps'] = true\n\nName.Last = function LastName(props: Props) {\n const translations = useTranslation().LastName\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n pattern: translations.errorPattern,\n })\n\n const nameProps: Props = {\n label: translations.label,\n autoComplete: 'family-name',\n ...props,\n errorMessages,\n }\n\n return <Name {...nameProps} />\n}\nName.First['_supportsSpacingProps'] = true\n\nName.Company = function CompanyName(props: Props) {\n const translations = useTranslation().CompanyName\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.errorRequired,\n })\n\n const StringFieldProps: Props = {\n label: translations.label,\n pattern:\n '^(?!.*[-\\\\s]{2})(?!.*[\\\\.]{2})[\\\\p{L}\\\\p{N}][\\\\p{L}\\\\p{N}\\\\p{P}\\\\p{Zs}.]*[\\\\p{L}\\\\p{N}\\\\p{P}]$',\n autoComplete: 'organization',\n ...props,\n errorMessages,\n }\n\n return <Name {...StringFieldProps} />\n}\nName.First['_supportsSpacingProps'] = true\n\nexport default Name\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW,MAAqC,WAAW;AAClE,OAAOC,eAAe,MAAM,6BAA6B;AACzD,OAAOC,cAAc,MAAM,4BAA4B;AAIvD,SAASC,IAAIA,CAACC,KAAY,EAAE;EAC1B,MAAMC,gBAAuB,GAAAC,aAAA;IAC3BC,IAAI,EAAE,IAAI;IACVC,YAAY,EAAE,MAAM;IACpBC,OAAO,EAAE;EAAgD,GACtDL,KAAK,CACT;EAED,OAAOL,KAAA,CAAAW,aAAA,CAACV,WAAW,EAAKK,gBAAmB,CAAC;AAC9C;AACAF,IAAI,CAACQ,qBAAqB,GAAG,IAAI;AAEjCR,IAAI,CAACS,KAAK,GAAG,SAASC,SAASA,CAACT,KAAY,EAAE;EAC5C,MAAMU,YAAY,GAAGZ,cAAc,CAAC,CAAC,CAACW,SAAS;EAC/C,MAAME,aAAa,GAAGd,eAAe,CAACG,KAAK,CAACY,IAAI,EAAEZ,KAAK,CAACW,aAAa,EAAE;IACrEE,QAAQ,EAAEH,YAAY,CAACI,aAAa;IACpCT,OAAO,EAAEK,YAAY,CAACK;EACxB,CAAC,CAAC;EAEF,MAAMC,SAAgB,GAAAd,aAAA,CAAAA,aAAA;IACpBe,KAAK,EAAEP,YAAY,CAACO,KAAK;IACzBb,YAAY,EAAE;EAAY,GACvBJ,KAAK;IACRW;EAAa,EACd;EAED,OAAOhB,KAAA,CAAAW,aAAA,CAACP,IAAI,EAAKiB,SAAY,CAAC;AAChC,CAAC;AACDjB,IAAI,CAACS,KAAK,CAAC,uBAAuB,CAAC,GAAG,IAAI;AAE1CT,IAAI,CAACmB,IAAI,GAAG,SAASC,QAAQA,CAACnB,KAAY,EAAE;EAC1C,MAAMU,YAAY,GAAGZ,cAAc,CAAC,CAAC,CAACqB,QAAQ;EAC9C,MAAMR,aAAa,GAAGd,eAAe,CAACG,KAAK,CAACY,IAAI,EAAEZ,KAAK,CAACW,aAAa,EAAE;IACrEE,QAAQ,EAAEH,YAAY,CAACI,aAAa;IACpCT,OAAO,EAAEK,YAAY,CAACK;EACxB,CAAC,CAAC;EAEF,MAAMC,SAAgB,GAAAd,aAAA,CAAAA,aAAA;IACpBe,KAAK,EAAEP,YAAY,CAACO,KAAK;IACzBb,YAAY,EAAE;EAAa,GACxBJ,KAAK;IACRW;EAAa,EACd;EAED,OAAOhB,KAAA,CAAAW,aAAA,CAACP,IAAI,EAAKiB,SAAY,CAAC;AAChC,CAAC;AACDjB,IAAI,CAACS,KAAK,CAAC,uBAAuB,CAAC,GAAG,IAAI;AAE1CT,IAAI,CAACqB,OAAO,GAAG,SAASC,WAAWA,CAACrB,KAAY,EAAE;EAChD,MAAMU,YAAY,GAAGZ,cAAc,CAAC,CAAC,CAACuB,WAAW;EACjD,MAAMV,aAAa,GAAGd,eAAe,CAACG,KAAK,CAACY,IAAI,EAAEZ,KAAK,CAACW,aAAa,EAAE;IACrEE,QAAQ,EAAEH,YAAY,CAACI;EACzB,CAAC,CAAC;EAEF,MAAMb,gBAAuB,GAAAC,aAAA,CAAAA,aAAA;IAC3Be,KAAK,EAAEP,YAAY,CAACO,KAAK;IACzBZ,OAAO,EACL,gGAAgG;IAClGD,YAAY,EAAE;EAAc,GACzBJ,KAAK;IACRW;EAAa,EACd;EAED,OAAOhB,KAAA,CAAAW,aAAA,CAACP,IAAI,EAAKE,gBAAmB,CAAC;AACvC,CAAC;AACDF,IAAI,CAACS,KAAK,CAAC,uBAAuB,CAAC,GAAG,IAAI;AAE1C,eAAeT,IAAI"}
|
|
@@ -16,6 +16,8 @@ import { clamp } from '../../../../components/slider/SliderHelpers';
|
|
|
16
16
|
import useErrorMessage from '../../hooks/useErrorMessage';
|
|
17
17
|
import useTranslation from '../../hooks/useTranslation';
|
|
18
18
|
import DataContext from '../../DataContext/Context';
|
|
19
|
+
const defaultMinimum = Number.MIN_SAFE_INTEGER;
|
|
20
|
+
const defaultMaximum = Number.MAX_SAFE_INTEGER;
|
|
19
21
|
function NumberComponent(props) {
|
|
20
22
|
var _props$width, _dataContext$props2, _sharedContext$transl, _sharedContext$transl2;
|
|
21
23
|
const dataContext = useContext(DataContext);
|
|
@@ -44,11 +46,11 @@ function NumberComponent(props) {
|
|
|
44
46
|
multipleOf: translations.NumberField.errorMultipleOf
|
|
45
47
|
});
|
|
46
48
|
const schema = useMemo(() => {
|
|
47
|
-
var _props$schema;
|
|
49
|
+
var _props$schema, _props$minimum, _props$maximum;
|
|
48
50
|
return (_props$schema = props.schema) !== null && _props$schema !== void 0 ? _props$schema : {
|
|
49
51
|
type: 'number',
|
|
50
|
-
minimum: props.minimum,
|
|
51
|
-
maximum: props.maximum,
|
|
52
|
+
minimum: (_props$minimum = props.minimum) !== null && _props$minimum !== void 0 ? _props$minimum : defaultMinimum,
|
|
53
|
+
maximum: (_props$maximum = props.maximum) !== null && _props$maximum !== void 0 ? _props$maximum : defaultMaximum,
|
|
52
54
|
exclusiveMinimum: props.exclusiveMinimum,
|
|
53
55
|
exclusiveMaximum: props.exclusiveMaximum,
|
|
54
56
|
multipleOf: props.multipleOf
|
|
@@ -69,12 +71,6 @@ function NumberComponent(props) {
|
|
|
69
71
|
}
|
|
70
72
|
return numberValue;
|
|
71
73
|
}, [props.emptyValue]);
|
|
72
|
-
const transformValue = useCallback((value, currentValue) => {
|
|
73
|
-
if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER) {
|
|
74
|
-
return currentValue;
|
|
75
|
-
}
|
|
76
|
-
return value;
|
|
77
|
-
}, []);
|
|
78
74
|
const maskProps = useMemo(() => {
|
|
79
75
|
const mask_options = {
|
|
80
76
|
prefix,
|
|
@@ -111,7 +107,6 @@ function NumberComponent(props) {
|
|
|
111
107
|
schema,
|
|
112
108
|
toInput,
|
|
113
109
|
fromInput,
|
|
114
|
-
transformValue,
|
|
115
110
|
width: (_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : fieldBlockContext !== null && fieldBlockContext !== void 0 && fieldBlockContext.composition ? 'stretch' : 'medium'
|
|
116
111
|
});
|
|
117
112
|
const {
|
|
@@ -126,8 +121,8 @@ function NumberComponent(props) {
|
|
|
126
121
|
labelDescription,
|
|
127
122
|
value,
|
|
128
123
|
startWith = null,
|
|
129
|
-
minimum =
|
|
130
|
-
maximum =
|
|
124
|
+
minimum = defaultMinimum,
|
|
125
|
+
maximum = defaultMaximum,
|
|
131
126
|
disabled,
|
|
132
127
|
htmlAttributes,
|
|
133
128
|
info,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Number.js","names":["React","useContext","useMemo","useCallback","InputMasked","HelpButton","Button","SharedContext","FieldBlockContext","classnames","FieldBlock","useFieldProps","pickSpacingProps","clamp","useErrorMessage","useTranslation","DataContext","NumberComponent","props","_props$width","_dataContext$props2","_sharedContext$transl","_sharedContext$transl2","dataContext","fieldBlockContext","sharedContext","translations","currency","currencyDisplay","percent","mask","step","decimalLimit","allowNegative","disallowLeadingZeroes","prefix","suffix","showStepControls","errorMessages","path","required","Field","errorRequired","minimum","NumberField","errorMinimum","maximum","errorMaximum","exclusiveMinimum","errorExclusiveMinimum","exclusiveMaximum","errorExclusiveMaximum","multipleOf","errorMultipleOf","schema","_props$schema","type","toInput","external","undefined","fromInput","value","numberValue","emptyValue","transformValue","currentValue","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maskProps","mask_options","as_currency","currency_mask","as_percent","as_number","number_mask","_objectSpread","preparedProps","valueType","width","composition","id","name","className","inputClassName","autoComplete","layout","placeholder","label","labelDescription","startWith","disabled","htmlAttributes","info","warning","error","hasError","help","size","align","handleFocus","handleBlur","handleChange","handleSubmit","onKeyDownHandler","event","_dataContext$props","isolate","key","_event$preventDefault","preventDefault","call","persist","fieldBlockProps","contentClassName","forId","contentWidth","increaseClickHandler","increaseProps","variant","icon","tabIndex","onClick","title","translation","Slider","addTitle","replace","String","decreaseClickHandler","decreaseProps","subtractTitle","ariaParams","role","inputProps","onKeyDown","onFocus","onBlur","onChange","status","stretch","Boolean","createElement","content","_extends","asFieldset","left","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Number/Number.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport { InputMasked, HelpButton, Button } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport type { InputAlign, InputSize } from '../../../../components/Input'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlockContext from '../../FieldBlock/FieldBlockContext'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldProps,\n FieldHelpProps,\n AllJSONSchemaVersions,\n CustomErrorMessages,\n FieldBlockWidth,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { ButtonProps, ButtonSize } from '../../../../components/Button'\nimport { clamp } from '../../../../components/slider/SliderHelpers'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\nimport DataContext from '../../DataContext/Context'\n\ninterface ErrorMessages extends CustomErrorMessages {\n required?: string\n schema?: string\n minimum?: string\n maximum?: string\n exclusiveMinimum?: string\n exclusiveMaximum?: string\n multipleOf?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<number, undefined | number, ErrorMessages> & {\n inputClassName?: string\n currency?: InputMaskedProps['as_currency']\n currencyDisplay?: 'code' | 'symbol' | 'narrowSymbol' | 'name'\n percent?: InputMaskedProps['as_percent']\n mask?: InputMaskedProps['mask']\n step?: number\n startWith?: number\n // Formatting\n decimalLimit?: number\n allowNegative?: boolean\n disallowLeadingZeroes?: boolean\n prefix?: string\n suffix?: string\n // Validation\n minimum?: number // aka greater than or equal to\n maximum?: number // aka less than or equal to\n exclusiveMinimum?: number // aka greater than\n exclusiveMaximum?: number // aka less than\n multipleOf?: number\n // Styling\n size?: InputSize\n width?: FieldBlockWidth\n align?: InputAlign\n showStepControls?: boolean\n }\n\nfunction NumberComponent(props: Props) {\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const sharedContext = useContext(SharedContext)\n const translations = useTranslation()\n\n const {\n currency,\n currencyDisplay,\n percent,\n mask,\n step = 1,\n decimalLimit = 12,\n allowNegative = true,\n disallowLeadingZeroes = false,\n prefix,\n suffix,\n showStepControls,\n } = props\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.Field.errorRequired,\n minimum: translations.NumberField.errorMinimum,\n maximum: translations.NumberField.errorMaximum,\n exclusiveMinimum: translations.NumberField.errorExclusiveMinimum,\n exclusiveMaximum: translations.NumberField.errorExclusiveMaximum,\n multipleOf: translations.NumberField.errorMultipleOf,\n })\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'number',\n minimum: props.minimum,\n maximum: props.maximum,\n exclusiveMinimum: props.exclusiveMinimum,\n exclusiveMaximum: props.exclusiveMaximum,\n multipleOf: props.multipleOf,\n },\n [\n props.schema,\n props.minimum,\n props.maximum,\n props.exclusiveMinimum,\n props.exclusiveMaximum,\n props.multipleOf,\n ]\n )\n\n const toInput = useCallback((external: number | undefined) => {\n if (external === undefined) {\n return null\n }\n return external\n }, [])\n const fromInput = useCallback(\n ({ value, numberValue }: { value: string; numberValue: number }) => {\n if (value === '') {\n return props.emptyValue\n }\n return numberValue\n },\n [props.emptyValue]\n )\n const transformValue = useCallback(\n (value: number, currentValue: number) => {\n if (\n value > Number.MAX_SAFE_INTEGER ||\n value < Number.MIN_SAFE_INTEGER\n ) {\n return currentValue\n }\n\n return value\n },\n []\n )\n\n const maskProps: Partial<InputMaskedProps> = useMemo(() => {\n const mask_options = {\n prefix,\n suffix,\n decimalLimit,\n allowNegative,\n disallowLeadingZeroes,\n }\n\n if (currency) {\n return {\n as_currency: currency,\n mask_options,\n currency_mask: {\n currencyDisplay,\n },\n }\n }\n\n if (percent) {\n return {\n as_percent: percent,\n mask_options,\n }\n }\n\n // Custom mask based on props\n return {\n as_number: true,\n mask,\n number_mask: {\n ...mask_options,\n },\n }\n }, [\n currency,\n currencyDisplay,\n decimalLimit,\n mask,\n percent,\n prefix,\n suffix,\n allowNegative,\n disallowLeadingZeroes,\n ])\n\n const preparedProps: Props = {\n valueType: 'number',\n ...props,\n errorMessages,\n schema,\n toInput,\n fromInput,\n transformValue,\n width:\n props.width ??\n (fieldBlockContext?.composition ? 'stretch' : 'medium'),\n }\n\n const {\n id,\n name,\n className,\n inputClassName,\n autoComplete,\n layout,\n placeholder,\n label,\n labelDescription,\n value,\n startWith = null,\n minimum = Number.MIN_SAFE_INTEGER,\n maximum = Number.MAX_SAFE_INTEGER,\n disabled,\n htmlAttributes,\n info,\n warning,\n error,\n hasError,\n help,\n size,\n width,\n align,\n handleFocus,\n handleBlur,\n handleChange,\n } = useFieldProps(preparedProps)\n\n const { handleSubmit } = dataContext ?? {}\n const onKeyDownHandler = useCallback(\n ({ event }: { event: React.KeyboardEvent<HTMLInputElement> }) => {\n if (dataContext?.props?.isolate && event.key === 'Enter') {\n handleSubmit() // So we commit the data to the outer context\n event.preventDefault?.() // And prevent the default form submit\n }\n\n if (!showStepControls) {\n return\n }\n\n let numberValue = null\n\n switch (event.key) {\n case 'ArrowUp':\n numberValue = clamp(\n (value ?? startWith) + step,\n minimum,\n maximum\n )\n break\n case 'ArrowDown':\n numberValue = clamp(\n (value ?? startWith) - step,\n minimum,\n maximum\n )\n break\n }\n\n if (numberValue !== null) {\n event.persist()\n event.preventDefault()\n handleChange({ numberValue })\n }\n },\n [\n dataContext?.props?.isolate,\n handleChange,\n handleSubmit,\n maximum,\n minimum,\n showStepControls,\n startWith,\n step,\n value,\n ]\n )\n\n const fieldBlockProps = {\n className: classnames(\n 'dnb-forms-field-number',\n 'dnb-input__border--tokens', // Used by \"dnb-input__border\"\n className\n ),\n contentClassName: classnames(\n 'dnb-forms-field-number__contents',\n showStepControls && 'dnb-forms-field-number__contents--has-controls',\n hasError && 'dnb-input__status--error', // Also used by \"dnb-input__border\"\n disabled && 'dnb-input--disabled' // Also used by \"dnb-input__border\"\n ),\n forId: id,\n layout,\n label,\n labelDescription,\n info,\n warning,\n error,\n disabled,\n width:\n (width === 'stretch' || fieldBlockContext?.composition) &&\n !showStepControls\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n const increaseClickHandler = useCallback(() => {\n handleChange({\n numberValue: clamp((value ?? startWith) + step, minimum, maximum),\n })\n }, [handleChange, maximum, minimum, startWith, step, value])\n\n const increaseProps: ButtonProps = showStepControls && {\n 'aria-hidden': true,\n className: 'dnb-button--control-after',\n variant: 'secondary',\n icon: 'add',\n size: (size || 'small') as ButtonSize,\n tabIndex: -1,\n disabled: disabled || value >= maximum,\n onClick: increaseClickHandler,\n title: sharedContext?.translation.Slider.addTitle?.replace(\n '%s',\n String(value + step)\n ),\n }\n\n const decreaseClickHandler = useCallback(() => {\n handleChange({\n numberValue: clamp((value ?? startWith) - step, minimum, maximum),\n })\n }, [handleChange, maximum, minimum, startWith, step, value])\n\n const decreaseProps: ButtonProps = showStepControls && {\n ...increaseProps,\n className: 'dnb-button--control-before',\n icon: 'subtract',\n size: (size || 'small') as ButtonSize,\n disabled: disabled || value <= minimum,\n onClick: decreaseClickHandler,\n title: sharedContext?.translation.Slider.subtractTitle?.replace(\n '%s',\n String(value - step)\n ),\n }\n\n const ariaParams = showStepControls && {\n role: 'spinbutton',\n 'aria-valuemin': String(minimum),\n 'aria-valuemax': String(maximum),\n 'aria-valuenow': String(value), // without it, VO will read an invalid value\n 'aria-valuetext': String(value), // without it, VO will read %\n }\n\n const inputProps = {\n id,\n name,\n autoComplete,\n className: classnames(\n 'dnb-forms-field-number__input',\n `dnb-input--${size}`,\n inputClassName\n ),\n step: showStepControls ? step : undefined,\n placeholder,\n value,\n align: showStepControls ? 'center' : align,\n ...maskProps,\n onKeyDown: onKeyDownHandler,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onChange: handleChange,\n disabled,\n ...htmlAttributes,\n status: hasError ? 'error' : undefined,\n stretch: Boolean(\n width !== undefined || fieldBlockContext?.composition\n ),\n suffix:\n help && !showStepControls ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n ...ariaParams,\n }\n\n if (showStepControls) {\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n <span className=\"dnb-input__border dnb-input__border--root\">\n {<Button {...decreaseProps} />}\n <InputMasked {...inputProps} />\n {<Button {...increaseProps} />}\n </span>\n {help && (\n <HelpButton left=\"x-small\" title={help.title}>\n {help.content}\n </HelpButton>\n )}\n </FieldBlock>\n )\n }\n\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n <InputMasked {...inputProps} />\n </FieldBlock>\n )\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Number.js","names":["React","useContext","useMemo","useCallback","InputMasked","HelpButton","Button","SharedContext","FieldBlockContext","classnames","FieldBlock","useFieldProps","pickSpacingProps","clamp","useErrorMessage","useTranslation","DataContext","defaultMinimum","Number","MIN_SAFE_INTEGER","defaultMaximum","MAX_SAFE_INTEGER","NumberComponent","props","_props$width","_dataContext$props2","_sharedContext$transl","_sharedContext$transl2","dataContext","fieldBlockContext","sharedContext","translations","currency","currencyDisplay","percent","mask","step","decimalLimit","allowNegative","disallowLeadingZeroes","prefix","suffix","showStepControls","errorMessages","path","required","Field","errorRequired","minimum","NumberField","errorMinimum","maximum","errorMaximum","exclusiveMinimum","errorExclusiveMinimum","exclusiveMaximum","errorExclusiveMaximum","multipleOf","errorMultipleOf","schema","_props$schema","_props$minimum","_props$maximum","type","toInput","external","undefined","fromInput","value","numberValue","emptyValue","maskProps","mask_options","as_currency","currency_mask","as_percent","as_number","number_mask","_objectSpread","preparedProps","valueType","width","composition","id","name","className","inputClassName","autoComplete","layout","placeholder","label","labelDescription","startWith","disabled","htmlAttributes","info","warning","error","hasError","help","size","align","handleFocus","handleBlur","handleChange","handleSubmit","onKeyDownHandler","event","_dataContext$props","isolate","key","_event$preventDefault","preventDefault","call","persist","fieldBlockProps","contentClassName","forId","contentWidth","increaseClickHandler","increaseProps","variant","icon","tabIndex","onClick","title","translation","Slider","addTitle","replace","String","decreaseClickHandler","decreaseProps","subtractTitle","ariaParams","role","inputProps","onKeyDown","onFocus","onBlur","onChange","status","stretch","Boolean","createElement","content","_extends","asFieldset","left","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Number/Number.tsx"],"sourcesContent":["import React, { useContext, useMemo, useCallback } from 'react'\nimport { InputMasked, HelpButton, Button } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport type { InputAlign, InputSize } from '../../../../components/Input'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlockContext from '../../FieldBlock/FieldBlockContext'\nimport classnames from 'classnames'\nimport FieldBlock from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldProps,\n FieldHelpProps,\n AllJSONSchemaVersions,\n CustomErrorMessages,\n FieldBlockWidth,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { ButtonProps, ButtonSize } from '../../../../components/Button'\nimport { clamp } from '../../../../components/slider/SliderHelpers'\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\nimport DataContext from '../../DataContext/Context'\n\ninterface ErrorMessages extends CustomErrorMessages {\n required?: string\n schema?: string\n minimum?: string\n maximum?: string\n exclusiveMinimum?: string\n exclusiveMaximum?: string\n multipleOf?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<number, undefined | number, ErrorMessages> & {\n inputClassName?: string\n currency?: InputMaskedProps['as_currency']\n currencyDisplay?: 'code' | 'symbol' | 'narrowSymbol' | 'name'\n percent?: InputMaskedProps['as_percent']\n mask?: InputMaskedProps['mask']\n step?: number\n startWith?: number\n // Formatting\n decimalLimit?: number\n allowNegative?: boolean\n disallowLeadingZeroes?: boolean\n prefix?: string\n suffix?: string\n // Validation\n minimum?: number // aka greater than or equal to\n maximum?: number // aka less than or equal to\n exclusiveMinimum?: number // aka greater than\n exclusiveMaximum?: number // aka less than\n multipleOf?: number\n // Styling\n size?: InputSize\n width?: FieldBlockWidth\n align?: InputAlign\n showStepControls?: boolean\n }\n\nconst defaultMinimum = Number.MIN_SAFE_INTEGER\nconst defaultMaximum = Number.MAX_SAFE_INTEGER\n\nfunction NumberComponent(props: Props) {\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const sharedContext = useContext(SharedContext)\n const translations = useTranslation()\n\n const {\n currency,\n currencyDisplay,\n percent,\n mask,\n step = 1,\n decimalLimit = 12,\n allowNegative = true,\n disallowLeadingZeroes = false,\n prefix,\n suffix,\n showStepControls,\n } = props\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: translations.Field.errorRequired,\n minimum: translations.NumberField.errorMinimum,\n maximum: translations.NumberField.errorMaximum,\n exclusiveMinimum: translations.NumberField.errorExclusiveMinimum,\n exclusiveMaximum: translations.NumberField.errorExclusiveMaximum,\n multipleOf: translations.NumberField.errorMultipleOf,\n })\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'number',\n minimum: props.minimum ?? defaultMinimum,\n maximum: props.maximum ?? defaultMaximum,\n exclusiveMinimum: props.exclusiveMinimum,\n exclusiveMaximum: props.exclusiveMaximum,\n multipleOf: props.multipleOf,\n },\n [\n props.schema,\n props.minimum,\n props.maximum,\n props.exclusiveMinimum,\n props.exclusiveMaximum,\n props.multipleOf,\n ]\n )\n\n const toInput = useCallback((external: number | undefined) => {\n if (external === undefined) {\n return null\n }\n return external\n }, [])\n const fromInput = useCallback(\n ({ value, numberValue }: { value: string; numberValue: number }) => {\n if (value === '') {\n return props.emptyValue\n }\n return numberValue\n },\n [props.emptyValue]\n )\n\n const maskProps: Partial<InputMaskedProps> = useMemo(() => {\n const mask_options = {\n prefix,\n suffix,\n decimalLimit,\n allowNegative,\n disallowLeadingZeroes,\n }\n\n if (currency) {\n return {\n as_currency: currency,\n mask_options,\n currency_mask: {\n currencyDisplay,\n },\n }\n }\n\n if (percent) {\n return {\n as_percent: percent,\n mask_options,\n }\n }\n\n // Custom mask based on props\n return {\n as_number: true,\n mask,\n number_mask: {\n ...mask_options,\n },\n }\n }, [\n currency,\n currencyDisplay,\n decimalLimit,\n mask,\n percent,\n prefix,\n suffix,\n allowNegative,\n disallowLeadingZeroes,\n ])\n\n const preparedProps: Props = {\n valueType: 'number',\n ...props,\n errorMessages,\n schema,\n toInput,\n fromInput,\n width:\n props.width ??\n (fieldBlockContext?.composition ? 'stretch' : 'medium'),\n }\n\n const {\n id,\n name,\n className,\n inputClassName,\n autoComplete,\n layout,\n placeholder,\n label,\n labelDescription,\n value,\n startWith = null,\n minimum = defaultMinimum,\n maximum = defaultMaximum,\n disabled,\n htmlAttributes,\n info,\n warning,\n error,\n hasError,\n help,\n size,\n width,\n align,\n handleFocus,\n handleBlur,\n handleChange,\n } = useFieldProps(preparedProps)\n\n const { handleSubmit } = dataContext ?? {}\n const onKeyDownHandler = useCallback(\n ({ event }: { event: React.KeyboardEvent<HTMLInputElement> }) => {\n if (dataContext?.props?.isolate && event.key === 'Enter') {\n handleSubmit() // So we commit the data to the outer context\n event.preventDefault?.() // And prevent the default form submit\n }\n\n if (!showStepControls) {\n return\n }\n\n let numberValue = null\n\n switch (event.key) {\n case 'ArrowUp':\n numberValue = clamp(\n (value ?? startWith) + step,\n minimum,\n maximum\n )\n break\n case 'ArrowDown':\n numberValue = clamp(\n (value ?? startWith) - step,\n minimum,\n maximum\n )\n break\n }\n\n if (numberValue !== null) {\n event.persist()\n event.preventDefault()\n handleChange({ numberValue })\n }\n },\n [\n dataContext?.props?.isolate,\n handleChange,\n handleSubmit,\n maximum,\n minimum,\n showStepControls,\n startWith,\n step,\n value,\n ]\n )\n\n const fieldBlockProps = {\n className: classnames(\n 'dnb-forms-field-number',\n 'dnb-input__border--tokens', // Used by \"dnb-input__border\"\n className\n ),\n contentClassName: classnames(\n 'dnb-forms-field-number__contents',\n showStepControls && 'dnb-forms-field-number__contents--has-controls',\n hasError && 'dnb-input__status--error', // Also used by \"dnb-input__border\"\n disabled && 'dnb-input--disabled' // Also used by \"dnb-input__border\"\n ),\n forId: id,\n layout,\n label,\n labelDescription,\n info,\n warning,\n error,\n disabled,\n width:\n (width === 'stretch' || fieldBlockContext?.composition) &&\n !showStepControls\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n const increaseClickHandler = useCallback(() => {\n handleChange({\n numberValue: clamp((value ?? startWith) + step, minimum, maximum),\n })\n }, [handleChange, maximum, minimum, startWith, step, value])\n\n const increaseProps: ButtonProps = showStepControls && {\n 'aria-hidden': true,\n className: 'dnb-button--control-after',\n variant: 'secondary',\n icon: 'add',\n size: (size || 'small') as ButtonSize,\n tabIndex: -1,\n disabled: disabled || value >= maximum,\n onClick: increaseClickHandler,\n title: sharedContext?.translation.Slider.addTitle?.replace(\n '%s',\n String(value + step)\n ),\n }\n\n const decreaseClickHandler = useCallback(() => {\n handleChange({\n numberValue: clamp((value ?? startWith) - step, minimum, maximum),\n })\n }, [handleChange, maximum, minimum, startWith, step, value])\n\n const decreaseProps: ButtonProps = showStepControls && {\n ...increaseProps,\n className: 'dnb-button--control-before',\n icon: 'subtract',\n size: (size || 'small') as ButtonSize,\n disabled: disabled || value <= minimum,\n onClick: decreaseClickHandler,\n title: sharedContext?.translation.Slider.subtractTitle?.replace(\n '%s',\n String(value - step)\n ),\n }\n\n const ariaParams = showStepControls && {\n role: 'spinbutton',\n 'aria-valuemin': String(minimum),\n 'aria-valuemax': String(maximum),\n 'aria-valuenow': String(value), // without it, VO will read an invalid value\n 'aria-valuetext': String(value), // without it, VO will read %\n }\n\n const inputProps = {\n id,\n name,\n autoComplete,\n className: classnames(\n 'dnb-forms-field-number__input',\n `dnb-input--${size}`,\n inputClassName\n ),\n step: showStepControls ? step : undefined,\n placeholder,\n value,\n align: showStepControls ? 'center' : align,\n ...maskProps,\n onKeyDown: onKeyDownHandler,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onChange: handleChange,\n disabled,\n ...htmlAttributes,\n status: hasError ? 'error' : undefined,\n stretch: Boolean(\n width !== undefined || fieldBlockContext?.composition\n ),\n suffix:\n help && !showStepControls ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n ...ariaParams,\n }\n\n if (showStepControls) {\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n <span className=\"dnb-input__border dnb-input__border--root\">\n {<Button {...decreaseProps} />}\n <InputMasked {...inputProps} />\n {<Button {...increaseProps} />}\n </span>\n {help && (\n <HelpButton left=\"x-small\" title={help.title}>\n {help.content}\n </HelpButton>\n )}\n </FieldBlock>\n )\n }\n\n return (\n <FieldBlock {...fieldBlockProps} asFieldset={false}>\n <InputMasked {...inputProps} />\n </FieldBlock>\n )\n}\n\nNumberComponent._supportsSpacingProps = true\nexport default NumberComponent\n"],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { FieldHelpProps, FieldProps } from '../../types';
|
|
3
|
-
import { DrawerListProps } from '../../../../fragments/DrawerList';
|
|
4
3
|
export type Props = FieldHelpProps & FieldProps<number | string> & {
|
|
5
|
-
title?:
|
|
6
|
-
text?:
|
|
4
|
+
title?: React.ReactNode;
|
|
5
|
+
text?: React.ReactNode;
|
|
7
6
|
children?: React.ReactNode;
|
|
8
7
|
};
|
|
9
8
|
export default function Option({ className, title, text, children, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export declare function makeOptions<T = DrawerListProps['data']>(children: React.ReactNode): T;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
var _em;
|
|
2
1
|
import React from 'react';
|
|
3
2
|
import classnames from 'classnames';
|
|
4
3
|
export default function Option({
|
|
@@ -12,23 +11,4 @@ export default function Option({
|
|
|
12
11
|
role: "option"
|
|
13
12
|
}, children !== null && children !== void 0 ? children : title, text);
|
|
14
13
|
}
|
|
15
|
-
export function makeOptions(children) {
|
|
16
|
-
return React.Children.map(children, child => {
|
|
17
|
-
if (React.isValidElement(child) && child.type === Option) {
|
|
18
|
-
var _child$props$value, _ref, _child$props$children, _child$props$children2;
|
|
19
|
-
return child.props.text ? {
|
|
20
|
-
selectedKey: String((_child$props$value = child.props.value) !== null && _child$props$value !== void 0 ? _child$props$value : ''),
|
|
21
|
-
content: [(_ref = (_child$props$children = child.props.children) !== null && _child$props$children !== void 0 ? _child$props$children : child.props.title) !== null && _ref !== void 0 ? _ref : _em || (_em = React.createElement("em", null, "Untitled")), child.props.text]
|
|
22
|
-
} : {
|
|
23
|
-
selectedKey: child.props.value,
|
|
24
|
-
content: (_child$props$children2 = child.props.children) !== null && _child$props$children2 !== void 0 ? _child$props$children2 : child.props.title
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
if (child) {
|
|
28
|
-
return {
|
|
29
|
-
content: child
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
}).filter(Boolean);
|
|
33
|
-
}
|
|
34
14
|
//# sourceMappingURL=Option.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Option.js","names":["React","classnames","Option","className","title","text","children","createElement","role"
|
|
1
|
+
{"version":3,"file":"Option.js","names":["React","classnames","Option","className","title","text","children","createElement","role"],"sources":["../../../../../../src/extensions/forms/Field/Option/Option.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport type { FieldHelpProps, FieldProps } from '../../types'\n\nexport type Props = FieldHelpProps &\n FieldProps<number | string> & {\n title?: React.ReactNode\n text?: React.ReactNode\n children?: React.ReactNode\n }\n\nexport default function Option({\n className,\n title,\n text,\n children,\n}: Props) {\n return (\n <span\n className={classnames('dnb-forms-field-option', className)}\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props\n role=\"option\"\n >\n {children ?? title}\n {text}\n </span>\n )\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAUnC,eAAe,SAASC,MAAMA,CAAC;EAC7BC,SAAS;EACTC,KAAK;EACLC,IAAI;EACJC;AACK,CAAC,EAAE;EACR,OACEN,KAAA,CAAAO,aAAA;IACEJ,SAAS,EAAEF,UAAU,CAAC,wBAAwB,EAAEE,SAAS,CAAE;IAE3DK,IAAI,EAAC;EAAQ,GAEZF,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIF,KAAK,EACjBC,IACG,CAAC;AAEX"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { InputMaskedProps } from '../../../../components/InputMasked';
|
|
2
2
|
import { type CountryType } from '../../constants/countries';
|
|
3
3
|
import { Props as StringFieldProps } from '../String';
|
|
4
|
-
import { FieldHelpProps,
|
|
4
|
+
import { FieldHelpProps, FieldPropsWithExtraValue } from '../../types';
|
|
5
5
|
import { CountryFilterSet } from '../SelectCountry';
|
|
6
|
-
export type Props = FieldHelpProps &
|
|
6
|
+
export type Props = FieldHelpProps & FieldPropsWithExtraValue<string, {
|
|
7
|
+
country: string;
|
|
8
|
+
phone: string;
|
|
9
|
+
}, undefined | string> & {
|
|
7
10
|
countryCodeFieldClassName?: string;
|
|
8
11
|
numberFieldClassName?: string;
|
|
9
12
|
countryCodePlaceholder?: string;
|
|
@@ -92,8 +92,7 @@ function PhoneNumber(props) {
|
|
|
92
92
|
continuousValidation,
|
|
93
93
|
validateUnchanged,
|
|
94
94
|
omitCountryCodeField,
|
|
95
|
-
|
|
96
|
-
handleBlur,
|
|
95
|
+
setHasFocus,
|
|
97
96
|
handleChange,
|
|
98
97
|
onCountryCodeChange,
|
|
99
98
|
onNumberChange,
|
|
@@ -121,17 +120,29 @@ function PhoneNumber(props) {
|
|
|
121
120
|
makeObject
|
|
122
121
|
});
|
|
123
122
|
}, [lang, filterCountries, ccFilter]);
|
|
124
|
-
const
|
|
125
|
-
countryCode =
|
|
123
|
+
const getEventValues = useCallback(({
|
|
124
|
+
countryCode = countryCodeRef.current || emptyValue,
|
|
126
125
|
phoneNumber = numberRef.current || emptyValue
|
|
127
|
-
}) => {
|
|
128
|
-
|
|
126
|
+
} = {}) => {
|
|
127
|
+
return _objectSpread(_objectSpread({}, !omitCountryCodeField ? {
|
|
128
|
+
countryCode
|
|
129
|
+
} : {}), {}, {
|
|
129
130
|
phoneNumber
|
|
130
|
-
}
|
|
131
|
+
});
|
|
132
|
+
}, [omitCountryCodeField, emptyValue]);
|
|
133
|
+
const callOnChange = useCallback(({
|
|
134
|
+
countryCode = undefined,
|
|
135
|
+
phoneNumber = undefined
|
|
136
|
+
}) => {
|
|
137
|
+
const eventValues = getEventValues({
|
|
131
138
|
countryCode,
|
|
132
139
|
phoneNumber
|
|
133
140
|
});
|
|
134
|
-
|
|
141
|
+
handleChange(joinValue([eventValues.countryCode, eventValues.phoneNumber]), eventValues);
|
|
142
|
+
}, [getEventValues, handleChange]);
|
|
143
|
+
const callOnBlurOrFocus = useCallback(hasFocus => {
|
|
144
|
+
setHasFocus(hasFocus, undefined, getEventValues());
|
|
145
|
+
}, [setHasFocus, getEventValues]);
|
|
135
146
|
useMemo(() => {
|
|
136
147
|
const [countryCode, phoneNumber] = splitValue(props.value || value);
|
|
137
148
|
numberRef.current = phoneNumber;
|
|
@@ -161,7 +172,13 @@ function PhoneNumber(props) {
|
|
|
161
172
|
});
|
|
162
173
|
onNumberChange === null || onNumberChange === void 0 ? void 0 : onNumberChange(phoneNumber);
|
|
163
174
|
}, [emptyValue, callOnChange, onNumberChange]);
|
|
164
|
-
const
|
|
175
|
+
const handleOnBlur = useCallback(() => {
|
|
176
|
+
callOnBlurOrFocus(false);
|
|
177
|
+
}, [callOnBlurOrFocus]);
|
|
178
|
+
const handleOnFocus = useCallback(() => {
|
|
179
|
+
callOnBlurOrFocus(true);
|
|
180
|
+
}, [callOnBlurOrFocus]);
|
|
181
|
+
const handleCountryCodeFocus = useCallback(({
|
|
165
182
|
updateData
|
|
166
183
|
}) => {
|
|
167
184
|
if (!wasFilled.current) {
|
|
@@ -169,8 +186,8 @@ function PhoneNumber(props) {
|
|
|
169
186
|
updateCurrentDataSet();
|
|
170
187
|
updateData(dataRef.current);
|
|
171
188
|
}
|
|
172
|
-
|
|
173
|
-
}, [
|
|
189
|
+
handleOnFocus();
|
|
190
|
+
}, [handleOnFocus, updateCurrentDataSet]);
|
|
174
191
|
const onTypeHandler = useCallback(({
|
|
175
192
|
value,
|
|
176
193
|
updateData,
|
|
@@ -216,8 +233,8 @@ function PhoneNumber(props) {
|
|
|
216
233
|
value: countryCodeRef.current,
|
|
217
234
|
status: hasError ? 'error' : undefined,
|
|
218
235
|
disabled: disabled,
|
|
219
|
-
on_focus:
|
|
220
|
-
on_blur:
|
|
236
|
+
on_focus: handleCountryCodeFocus,
|
|
237
|
+
on_blur: handleOnBlur,
|
|
221
238
|
on_change: handleCountryCodeChange,
|
|
222
239
|
on_type: onTypeHandler,
|
|
223
240
|
independent_width: true,
|
|
@@ -235,8 +252,8 @@ function PhoneNumber(props) {
|
|
|
235
252
|
label: label,
|
|
236
253
|
placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : isDefault ? defaultPlaceholder : undefined,
|
|
237
254
|
mask: numberMask !== null && numberMask !== void 0 ? numberMask : isDefault ? defaultMask : Array(12).fill(/\d/),
|
|
238
|
-
onFocus:
|
|
239
|
-
onBlur:
|
|
255
|
+
onFocus: handleOnFocus,
|
|
256
|
+
onBlur: handleOnBlur,
|
|
240
257
|
onChange: handleNumberChange,
|
|
241
258
|
value: numberRef.current,
|
|
242
259
|
info: info,
|