@dnb/eufemia 10.52.1 → 10.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +55 -0
- package/cjs/components/CountryFlag.d.ts +12 -0
- package/cjs/components/CountryFlag.js +24 -0
- package/cjs/components/CountryFlag.js.map +1 -0
- package/cjs/components/autocomplete/Autocomplete.js +2 -3
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
- package/cjs/components/checkbox/Checkbox.js +1 -2
- package/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/cjs/components/country-flag/CountryFlag.d.ts +11 -0
- package/cjs/components/country-flag/CountryFlag.js +48 -0
- package/cjs/components/country-flag/CountryFlag.js.map +1 -0
- package/cjs/components/country-flag/CountryFlagDocs.d.ts +2 -0
- package/cjs/components/country-flag/CountryFlagDocs.js +25 -0
- package/cjs/components/country-flag/CountryFlagDocs.js.map +1 -0
- package/cjs/components/country-flag/index.d.ts +7 -0
- package/cjs/components/country-flag/index.js +24 -0
- package/cjs/components/country-flag/index.js.map +1 -0
- package/cjs/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
- package/cjs/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
- package/cjs/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
- package/cjs/components/country-flag/style/dnb-country-flag.css +42 -0
- package/cjs/components/country-flag/style/dnb-country-flag.min.css +1 -0
- package/cjs/components/country-flag/style/dnb-country-flag.scss +53 -0
- package/cjs/components/country-flag/style/index.d.ts +5 -0
- package/cjs/components/country-flag/style/index.js +4 -0
- package/cjs/components/country-flag/style/index.js.map +1 -0
- package/cjs/components/country-flag/style.d.ts +5 -0
- package/cjs/components/country-flag/style.js +4 -0
- package/cjs/components/country-flag/style.js.map +1 -0
- package/cjs/components/date-picker/DatePickerCalendar.js +1 -1
- package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.js +1 -2
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/dialog/Dialog.js +3 -1
- package/cjs/components/dialog/Dialog.js.map +1 -1
- package/cjs/components/dialog/DialogDocs.d.ts +2 -0
- package/cjs/components/dialog/DialogDocs.js +120 -0
- package/cjs/components/dialog/DialogDocs.js.map +1 -0
- package/cjs/components/dropdown/Dropdown.js +1 -2
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/global-status/GlobalStatus.js +2 -3
- package/cjs/components/global-status/GlobalStatus.js.map +1 -1
- package/cjs/components/index.d.ts +2 -1
- package/cjs/components/index.js +7 -0
- package/cjs/components/index.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedHooks.js +1 -2
- package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedUtils.js +9 -5
- package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/cjs/components/lib.d.ts +10 -1
- package/cjs/components/lib.js +8 -0
- package/cjs/components/lib.js.map +1 -1
- package/cjs/components/modal/Modal.d.ts +1 -0
- package/cjs/components/modal/Modal.js +4 -1
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/modal/ModalContent.js +4 -4
- package/cjs/components/modal/ModalContent.js.map +1 -1
- package/cjs/components/modal/style/dnb-modal.css +4 -0
- package/cjs/components/modal/style/dnb-modal.min.css +1 -1
- package/cjs/components/modal/style/dnb-modal.scss +5 -0
- package/cjs/components/modal/types.d.ts +4 -0
- package/cjs/components/modal/types.js.map +1 -1
- package/cjs/components/number-format/NumberUtils.d.ts +2 -2
- package/cjs/components/number-format/NumberUtils.js +1 -1
- package/cjs/components/number-format/NumberUtils.js.map +1 -1
- package/cjs/components/pagination/Pagination.d.ts +3 -3
- package/cjs/components/pagination/PaginationBar.d.ts +1 -1
- package/cjs/components/pagination/PaginationBar.js.map +1 -1
- package/cjs/components/progress-indicator/ProgressIndicator.js +2 -2
- package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/cjs/components/radio/Radio.js +1 -2
- package/cjs/components/radio/Radio.js.map +1 -1
- package/cjs/components/table/TableClickableHead.js +1 -1
- package/cjs/components/table/TableClickableHead.js.map +1 -1
- package/cjs/components/table/style/dnb-table.css +0 -9
- package/cjs/components/table/style/dnb-table.min.css +1 -1
- package/cjs/components/table/style/dnb-table.scss +3 -1
- package/cjs/components/table/style/table-accordion.scss +0 -10
- package/cjs/components/table/style/table-container.scss +3 -2
- package/cjs/components/table/style/table-td.scss +2 -1
- package/cjs/components/tabs/Tabs.js +2 -3
- package/cjs/components/tabs/Tabs.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButton.js +2 -3
- package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
- package/cjs/components/upload/UploadDocs.js +2 -2
- package/cjs/components/upload/UploadDocs.js.map +1 -1
- package/cjs/components/upload/UploadFileListCell.js +2 -8
- package/cjs/components/upload/UploadFileListCell.js.map +1 -1
- package/cjs/components/upload/UploadInfo.js +3 -3
- package/cjs/components/upload/UploadInfo.js.map +1 -1
- package/cjs/components/upload/UploadVerify.js +2 -2
- package/cjs/components/upload/UploadVerify.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +13 -9
- package/cjs/extensions/forms/DataContext/Context.js +2 -4
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +37 -24
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
- package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/DataContext/index.d.ts +3 -0
- package/cjs/extensions/forms/DataContext/index.js +5 -0
- package/cjs/extensions/forms/DataContext/index.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +11 -3
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +30 -11
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +51 -12
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +25 -0
- package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Date/Date.js +21 -5
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Email/Email.js +13 -8
- package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +42 -34
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/Name/Name.js +20 -13
- package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +8 -17
- package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.d.ts +4 -11
- package/cjs/extensions/forms/Field/Number/Number.js +14 -16
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
- package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +43 -30
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +65 -21
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
- package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +39 -18
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Slider/Slider.js +37 -13
- package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.d.ts +2 -9
- package/cjs/extensions/forms/Field/String/String.js +9 -12
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +8 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.js +6 -8
- package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +37 -14
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
- package/cjs/extensions/forms/Form/Handler/Handler.js +1 -2
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +9 -5
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +7 -5
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +53 -29
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Tools/Log.js +2 -2
- package/cjs/extensions/forms/Tools/Log.js.map +1 -1
- package/cjs/extensions/forms/Value/Date/Date.d.ts +5 -0
- package/cjs/extensions/forms/Value/Date/Date.js +27 -13
- package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
- package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +37 -40
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +2 -2
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/cjs/extensions/forms/constants/countries.js +20 -20
- package/cjs/extensions/forms/constants/countries.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/index.d.ts +2 -1
- package/cjs/extensions/forms/hooks/index.js +1 -1
- package/cjs/extensions/forms/hooks/index.js.map +1 -1
- package/cjs/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
- package/cjs/extensions/forms/hooks/useErrorMessage.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +8 -5
- package/cjs/extensions/forms/hooks/useFieldProps.js +176 -79
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/usePath.d.ts +3 -0
- package/cjs/extensions/forms/hooks/usePath.js +2 -1
- package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
- package/cjs/extensions/forms/hooks/useProcessManager.js +1 -1
- package/cjs/extensions/forms/hooks/useProcessManager.js.map +1 -1
- package/cjs/extensions/forms/hooks/useTranslation.d.ts +4 -1
- package/cjs/extensions/forms/hooks/useTranslation.js +6 -3
- package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.d.ts +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js +2 -2
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +7 -6
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +61 -37
- package/cjs/extensions/forms/types.js +0 -17
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/FormError.d.ts +45 -0
- package/cjs/extensions/forms/utils/FormError.js +25 -0
- package/cjs/extensions/forms/utils/FormError.js.map +1 -0
- package/cjs/extensions/forms/utils/ajv.d.ts +17 -1
- package/cjs/extensions/forms/utils/ajv.js +82 -7
- package/cjs/extensions/forms/utils/ajv.js.map +1 -1
- package/cjs/extensions/forms/utils/errors.d.ts +1 -1
- package/cjs/extensions/forms/utils/errors.js.map +1 -1
- package/cjs/extensions/forms/utils/index.d.ts +2 -0
- package/cjs/extensions/forms/utils/index.js +24 -0
- package/cjs/extensions/forms/utils/index.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.js +1 -2
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.js +2 -3
- package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +7 -0
- package/cjs/index.js.map +1 -1
- package/cjs/shared/Context.d.ts +4 -4
- package/cjs/shared/Context.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/component-helper.d.ts +2 -1
- package/cjs/shared/component-helper.js +9 -2
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/shared/defaults.d.ts +1 -0
- package/cjs/shared/defaults.js +3 -1
- package/cjs/shared/defaults.js.map +1 -1
- package/cjs/shared/keycode.d.ts +75 -0
- package/cjs/shared/keycode.js +138 -0
- package/cjs/shared/keycode.js.map +1 -0
- package/cjs/shared/libs/Shortcuts.js +1 -3
- package/cjs/shared/libs/Shortcuts.js.map +1 -1
- package/cjs/shared/locales/nb-NO.js +2 -2
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/useTranslation.d.ts +11 -4
- package/cjs/shared/useTranslation.js +68 -22
- package/cjs/shared/useTranslation.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 +1313 -186
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-components.scss +2 -0
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +7 -6
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +7 -6
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +1308 -180
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +1308 -180
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +7 -6
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +1308 -180
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +7 -6
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +7 -6
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/components/CountryFlag.d.ts +12 -0
- package/components/CountryFlag.js +4 -0
- package/components/CountryFlag.js.map +1 -0
- package/components/autocomplete/Autocomplete.js +1 -2
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
- package/components/checkbox/Checkbox.js +1 -2
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/country-flag/CountryFlag.d.ts +11 -0
- package/components/country-flag/CountryFlag.js +38 -0
- package/components/country-flag/CountryFlag.js.map +1 -0
- package/components/country-flag/CountryFlagDocs.d.ts +2 -0
- package/components/country-flag/CountryFlagDocs.js +18 -0
- package/components/country-flag/CountryFlagDocs.js.map +1 -0
- package/components/country-flag/index.d.ts +7 -0
- package/components/country-flag/index.js +4 -0
- package/components/country-flag/index.js.map +1 -0
- package/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
- package/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
- package/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
- package/components/country-flag/style/dnb-country-flag.css +42 -0
- package/components/country-flag/style/dnb-country-flag.min.css +1 -0
- package/components/country-flag/style/dnb-country-flag.scss +53 -0
- package/components/country-flag/style/index.d.ts +5 -0
- package/components/country-flag/style/index.js +1 -0
- package/components/country-flag/style/index.js.map +1 -0
- package/components/country-flag/style.d.ts +5 -0
- package/components/country-flag/style.js +1 -0
- package/components/country-flag/style.js.map +1 -0
- package/components/date-picker/DatePickerCalendar.js +1 -1
- package/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/components/date-picker/DatePickerInput.js +1 -2
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/dialog/Dialog.js +3 -1
- package/components/dialog/Dialog.js.map +1 -1
- package/components/dialog/DialogDocs.d.ts +2 -0
- package/components/dialog/DialogDocs.js +113 -0
- package/components/dialog/DialogDocs.js.map +1 -0
- package/components/dropdown/Dropdown.js +1 -2
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/global-status/GlobalStatus.js +1 -2
- package/components/global-status/GlobalStatus.js.map +1 -1
- package/components/index.d.ts +2 -1
- package/components/index.js +2 -1
- package/components/index.js.map +1 -1
- package/components/input-masked/InputMaskedHooks.js +1 -2
- package/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/components/input-masked/InputMaskedUtils.js +9 -5
- package/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/components/lib.d.ts +10 -1
- package/components/lib.js +3 -1
- package/components/lib.js.map +1 -1
- package/components/modal/Modal.d.ts +1 -0
- package/components/modal/Modal.js +4 -1
- package/components/modal/Modal.js.map +1 -1
- package/components/modal/ModalContent.js +4 -4
- package/components/modal/ModalContent.js.map +1 -1
- package/components/modal/style/dnb-modal.css +4 -0
- package/components/modal/style/dnb-modal.min.css +1 -1
- package/components/modal/style/dnb-modal.scss +5 -0
- package/components/modal/types.d.ts +4 -0
- package/components/modal/types.js.map +1 -1
- package/components/number-format/NumberUtils.d.ts +2 -2
- package/components/number-format/NumberUtils.js +1 -1
- package/components/number-format/NumberUtils.js.map +1 -1
- package/components/pagination/Pagination.d.ts +3 -3
- package/components/pagination/PaginationBar.d.ts +1 -1
- package/components/pagination/PaginationBar.js.map +1 -1
- package/components/progress-indicator/ProgressIndicator.js +2 -2
- package/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/components/radio/Radio.js +1 -2
- package/components/radio/Radio.js.map +1 -1
- package/components/table/TableClickableHead.js +1 -1
- package/components/table/TableClickableHead.js.map +1 -1
- package/components/table/style/dnb-table.css +0 -9
- package/components/table/style/dnb-table.min.css +1 -1
- package/components/table/style/dnb-table.scss +3 -1
- package/components/table/style/table-accordion.scss +0 -10
- package/components/table/style/table-container.scss +3 -2
- package/components/table/style/table-td.scss +2 -1
- package/components/tabs/Tabs.js +1 -2
- package/components/tabs/Tabs.js.map +1 -1
- package/components/toggle-button/ToggleButton.js +1 -2
- package/components/toggle-button/ToggleButton.js.map +1 -1
- package/components/upload/UploadDocs.js +2 -2
- package/components/upload/UploadDocs.js.map +1 -1
- package/components/upload/UploadFileListCell.js +2 -8
- package/components/upload/UploadFileListCell.js.map +1 -1
- package/components/upload/UploadInfo.js +3 -3
- package/components/upload/UploadInfo.js.map +1 -1
- package/components/upload/UploadVerify.js +2 -2
- package/components/upload/UploadVerify.js.map +1 -1
- package/es/components/CountryFlag.d.ts +12 -0
- package/es/components/CountryFlag.js +4 -0
- package/es/components/CountryFlag.js.map +1 -0
- package/es/components/autocomplete/Autocomplete.js +1 -2
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
- package/es/components/checkbox/Checkbox.js +1 -2
- package/es/components/checkbox/Checkbox.js.map +1 -1
- package/es/components/country-flag/CountryFlag.d.ts +11 -0
- package/es/components/country-flag/CountryFlag.js +38 -0
- package/es/components/country-flag/CountryFlag.js.map +1 -0
- package/es/components/country-flag/CountryFlagDocs.d.ts +2 -0
- package/es/components/country-flag/CountryFlagDocs.js +18 -0
- package/es/components/country-flag/CountryFlagDocs.js.map +1 -0
- package/es/components/country-flag/index.d.ts +7 -0
- package/es/components/country-flag/index.js +4 -0
- package/es/components/country-flag/index.js.map +1 -0
- package/es/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
- package/es/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
- package/es/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
- package/es/components/country-flag/style/dnb-country-flag.css +42 -0
- package/es/components/country-flag/style/dnb-country-flag.min.css +1 -0
- package/es/components/country-flag/style/dnb-country-flag.scss +53 -0
- package/es/components/country-flag/style/index.d.ts +5 -0
- package/es/components/country-flag/style/index.js +1 -0
- package/es/components/country-flag/style/index.js.map +1 -0
- package/es/components/country-flag/style.d.ts +5 -0
- package/es/components/country-flag/style.js +1 -0
- package/es/components/country-flag/style.js.map +1 -0
- package/es/components/date-picker/DatePickerCalendar.js +1 -1
- package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.js +1 -2
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/dialog/Dialog.js +3 -1
- package/es/components/dialog/Dialog.js.map +1 -1
- package/es/components/dialog/DialogDocs.d.ts +2 -0
- package/es/components/dialog/DialogDocs.js +113 -0
- package/es/components/dialog/DialogDocs.js.map +1 -0
- package/es/components/dropdown/Dropdown.js +1 -2
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/global-status/GlobalStatus.js +1 -2
- package/es/components/global-status/GlobalStatus.js.map +1 -1
- package/es/components/index.d.ts +2 -1
- package/es/components/index.js +2 -1
- package/es/components/index.js.map +1 -1
- package/es/components/input-masked/InputMaskedHooks.js +1 -2
- package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/es/components/input-masked/InputMaskedUtils.js +9 -5
- package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/es/components/lib.d.ts +10 -1
- package/es/components/lib.js +3 -1
- package/es/components/lib.js.map +1 -1
- package/es/components/modal/Modal.d.ts +1 -0
- package/es/components/modal/Modal.js +4 -1
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/modal/ModalContent.js +4 -4
- package/es/components/modal/ModalContent.js.map +1 -1
- package/es/components/modal/style/dnb-modal.css +4 -0
- package/es/components/modal/style/dnb-modal.min.css +1 -1
- package/es/components/modal/style/dnb-modal.scss +5 -0
- package/es/components/modal/types.d.ts +4 -0
- package/es/components/modal/types.js.map +1 -1
- package/es/components/number-format/NumberUtils.d.ts +2 -2
- package/es/components/number-format/NumberUtils.js +1 -1
- package/es/components/number-format/NumberUtils.js.map +1 -1
- package/es/components/pagination/Pagination.d.ts +3 -3
- package/es/components/pagination/PaginationBar.d.ts +1 -1
- package/es/components/pagination/PaginationBar.js.map +1 -1
- package/es/components/progress-indicator/ProgressIndicator.js +2 -2
- package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
- package/es/components/radio/Radio.js +1 -2
- package/es/components/radio/Radio.js.map +1 -1
- package/es/components/table/TableClickableHead.js +1 -1
- package/es/components/table/TableClickableHead.js.map +1 -1
- package/es/components/table/style/dnb-table.css +0 -9
- package/es/components/table/style/dnb-table.min.css +1 -1
- package/es/components/table/style/dnb-table.scss +3 -1
- package/es/components/table/style/table-accordion.scss +0 -10
- package/es/components/table/style/table-container.scss +3 -2
- package/es/components/table/style/table-td.scss +2 -1
- package/es/components/tabs/Tabs.js +1 -2
- package/es/components/tabs/Tabs.js.map +1 -1
- package/es/components/toggle-button/ToggleButton.js +1 -2
- package/es/components/toggle-button/ToggleButton.js.map +1 -1
- package/es/components/upload/UploadDocs.js +2 -2
- package/es/components/upload/UploadDocs.js.map +1 -1
- package/es/components/upload/UploadFileListCell.js +2 -8
- package/es/components/upload/UploadFileListCell.js.map +1 -1
- package/es/components/upload/UploadInfo.js +3 -3
- package/es/components/upload/UploadInfo.js.map +1 -1
- package/es/components/upload/UploadVerify.js +2 -2
- package/es/components/upload/UploadVerify.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +13 -9
- package/es/extensions/forms/DataContext/Context.js +1 -3
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
- package/es/extensions/forms/DataContext/Provider/Provider.js +35 -22
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
- package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/es/extensions/forms/DataContext/index.d.ts +3 -0
- package/es/extensions/forms/DataContext/index.js +5 -0
- package/es/extensions/forms/DataContext/index.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +11 -3
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +24 -9
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +52 -13
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +18 -0
- package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
- package/es/extensions/forms/Field/Date/Date.js +23 -6
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Email/Email.js +11 -8
- package/es/extensions/forms/Field/Email/Email.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js +42 -34
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/Name/Name.js +18 -13
- package/es/extensions/forms/Field/Name/Name.js.map +1 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -15
- package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.d.ts +4 -11
- package/es/extensions/forms/Field/Number/Number.js +15 -17
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
- package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +44 -31
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +63 -21
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
- package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -1
- package/es/extensions/forms/Field/Selection/Selection.js +37 -15
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Slider/Slider.js +38 -14
- package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/es/extensions/forms/Field/String/String.d.ts +2 -9
- package/es/extensions/forms/Field/String/String.js +10 -13
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +9 -2
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/Upload/Upload.js +7 -9
- package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +36 -13
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
- package/es/extensions/forms/Form/Handler/Handler.js +1 -2
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +8 -4
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +6 -4
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +55 -31
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Tools/Log.js +2 -2
- package/es/extensions/forms/Tools/Log.js.map +1 -1
- package/es/extensions/forms/Value/Date/Date.d.ts +5 -0
- package/es/extensions/forms/Value/Date/Date.js +25 -14
- package/es/extensions/forms/Value/Date/Date.js.map +1 -1
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
- package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +37 -37
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +2 -2
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/es/extensions/forms/constants/countries.js +20 -20
- package/es/extensions/forms/constants/countries.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/es/extensions/forms/constants/locales/en-GB.js +3 -2
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/es/extensions/forms/constants/locales/index.d.ts +4 -2
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/index.d.ts +2 -1
- package/es/extensions/forms/hooks/index.js +1 -1
- package/es/extensions/forms/hooks/index.js.map +1 -1
- package/es/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
- package/es/extensions/forms/hooks/useErrorMessage.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +8 -5
- package/es/extensions/forms/hooks/useFieldProps.js +174 -78
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/usePath.d.ts +3 -0
- package/es/extensions/forms/hooks/usePath.js +2 -1
- package/es/extensions/forms/hooks/usePath.js.map +1 -1
- package/es/extensions/forms/hooks/useProcessManager.js +1 -1
- package/es/extensions/forms/hooks/useProcessManager.js.map +1 -1
- package/es/extensions/forms/hooks/useTranslation.d.ts +4 -1
- package/es/extensions/forms/hooks/useTranslation.js +7 -4
- package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/es/extensions/forms/hooks/useValueProps.d.ts +1 -1
- package/es/extensions/forms/hooks/useValueProps.js +2 -2
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +7 -6
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +61 -37
- package/es/extensions/forms/types.js +0 -13
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/FormError.d.ts +45 -0
- package/es/extensions/forms/utils/FormError.js +16 -0
- package/es/extensions/forms/utils/FormError.js.map +1 -0
- package/es/extensions/forms/utils/ajv.d.ts +17 -1
- package/es/extensions/forms/utils/ajv.js +72 -7
- package/es/extensions/forms/utils/ajv.js.map +1 -1
- package/es/extensions/forms/utils/errors.d.ts +1 -1
- package/es/extensions/forms/utils/errors.js.map +1 -1
- package/es/extensions/forms/utils/index.d.ts +2 -0
- package/es/extensions/forms/utils/index.js +2 -0
- package/es/extensions/forms/utils/index.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.js +1 -2
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListProvider.js +1 -2
- package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/es/index.d.ts +2 -1
- package/es/index.js +2 -1
- package/es/index.js.map +1 -1
- package/es/shared/Context.d.ts +4 -4
- package/es/shared/Context.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/component-helper.d.ts +2 -1
- package/es/shared/component-helper.js +2 -2
- package/es/shared/component-helper.js.map +1 -1
- package/es/shared/defaults.d.ts +1 -0
- package/es/shared/defaults.js +1 -0
- package/es/shared/defaults.js.map +1 -1
- package/es/shared/keycode.d.ts +75 -0
- package/es/shared/keycode.js +127 -0
- package/es/shared/keycode.js.map +1 -0
- package/es/shared/libs/Shortcuts.js +1 -2
- package/es/shared/libs/Shortcuts.js.map +1 -1
- package/es/shared/locales/nb-NO.js +2 -2
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/useTranslation.d.ts +11 -4
- package/es/shared/useTranslation.js +64 -22
- package/es/shared/useTranslation.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 +1313 -186
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-components.scss +2 -0
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +7 -6
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +7 -6
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +1308 -180
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +1308 -180
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +7 -6
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +1308 -180
- package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/es/style/themes/theme-ui/ui-theme-extensions.css +7 -6
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +7 -6
- 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 +13 -9
- package/extensions/forms/DataContext/Context.js +1 -3
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
- package/extensions/forms/DataContext/Provider/Provider.js +35 -22
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
- package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
- package/extensions/forms/DataContext/index.d.ts +3 -0
- package/extensions/forms/DataContext/index.js +5 -0
- package/extensions/forms/DataContext/index.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +11 -3
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +30 -11
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +52 -13
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +18 -0
- package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
- package/extensions/forms/Field/Date/Date.js +23 -6
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Email/Email.js +11 -8
- package/extensions/forms/Field/Email/Email.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js +42 -34
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/Name/Name.js +18 -13
- package/extensions/forms/Field/Name/Name.js.map +1 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -15
- package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
- package/extensions/forms/Field/Number/Number.d.ts +4 -11
- package/extensions/forms/Field/Number/Number.js +15 -17
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
- package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +44 -31
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +63 -21
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
- package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +2 -1
- package/extensions/forms/Field/Selection/Selection.js +38 -17
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Slider/Slider.js +38 -14
- package/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/extensions/forms/Field/String/String.d.ts +2 -9
- package/extensions/forms/Field/String/String.js +10 -13
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +9 -2
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Field/Upload/Upload.js +7 -9
- package/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +36 -13
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
- package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
- package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
- package/extensions/forms/Form/Handler/Handler.js +1 -2
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js +8 -4
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +6 -4
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +55 -31
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Tools/Log.js +2 -2
- package/extensions/forms/Tools/Log.js.map +1 -1
- package/extensions/forms/Value/Date/Date.d.ts +5 -0
- package/extensions/forms/Value/Date/Date.js +26 -14
- package/extensions/forms/Value/Date/Date.js.map +1 -1
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
- package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
- package/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +37 -40
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +2 -2
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/extensions/forms/constants/countries.js +20 -20
- package/extensions/forms/constants/countries.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
- package/extensions/forms/constants/locales/en-GB.js +3 -2
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +2 -1
- package/extensions/forms/constants/locales/index.d.ts +4 -2
- package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
- package/extensions/forms/constants/locales/nb-NO.js +3 -2
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/index.d.ts +2 -1
- package/extensions/forms/hooks/index.js +1 -1
- package/extensions/forms/hooks/index.js.map +1 -1
- package/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
- package/extensions/forms/hooks/useErrorMessage.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +8 -5
- package/extensions/forms/hooks/useFieldProps.js +177 -80
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/usePath.d.ts +3 -0
- package/extensions/forms/hooks/usePath.js +2 -1
- package/extensions/forms/hooks/usePath.js.map +1 -1
- package/extensions/forms/hooks/useProcessManager.js +1 -1
- package/extensions/forms/hooks/useProcessManager.js.map +1 -1
- package/extensions/forms/hooks/useTranslation.d.ts +4 -1
- package/extensions/forms/hooks/useTranslation.js +7 -4
- package/extensions/forms/hooks/useTranslation.js.map +1 -1
- package/extensions/forms/hooks/useValueProps.d.ts +1 -1
- package/extensions/forms/hooks/useValueProps.js +2 -2
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +7 -6
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +61 -37
- package/extensions/forms/types.js +0 -13
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/FormError.d.ts +45 -0
- package/extensions/forms/utils/FormError.js +16 -0
- package/extensions/forms/utils/FormError.js.map +1 -0
- package/extensions/forms/utils/ajv.d.ts +17 -1
- package/extensions/forms/utils/ajv.js +77 -7
- package/extensions/forms/utils/ajv.js.map +1 -1
- package/extensions/forms/utils/errors.d.ts +1 -1
- package/extensions/forms/utils/errors.js.map +1 -1
- package/extensions/forms/utils/index.d.ts +2 -0
- package/extensions/forms/utils/index.js +2 -0
- package/extensions/forms/utils/index.js.map +1 -1
- package/fragments/drawer-list/DrawerList.js +1 -2
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListProvider.js +1 -2
- package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/shared/Context.d.ts +4 -4
- package/shared/Context.js.map +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/component-helper.d.ts +2 -1
- package/shared/component-helper.js +2 -2
- package/shared/component-helper.js.map +1 -1
- package/shared/defaults.d.ts +1 -0
- package/shared/defaults.js +1 -0
- package/shared/defaults.js.map +1 -1
- package/shared/keycode.d.ts +75 -0
- package/shared/keycode.js +127 -0
- package/shared/keycode.js.map +1 -0
- package/shared/libs/Shortcuts.js +1 -2
- package/shared/libs/Shortcuts.js.map +1 -1
- package/shared/locales/nb-NO.js +2 -2
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/useTranslation.d.ts +11 -4
- package/shared/useTranslation.js +64 -22
- package/shared/useTranslation.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 +1313 -186
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-components.scss +2 -0
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-extensions.css +7 -6
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +7 -6
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +1308 -180
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -6
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -6
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +1308 -180
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -6
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +7 -6
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +1308 -180
- package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
- package/style/themes/theme-ui/ui-theme-extensions.css +7 -6
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +7 -6
- 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
|
@@ -11,7 +11,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
11
11
|
var _FieldBlock = _interopRequireDefault(require("../../FieldBlock"));
|
|
12
12
|
var _inputMasked = require("../../../../components/input-masked");
|
|
13
13
|
var _components = require("../../../../components");
|
|
14
|
-
var _useErrorMessage = _interopRequireDefault(require("../../hooks/useErrorMessage"));
|
|
15
14
|
var _shared = require("../../../../shared");
|
|
16
15
|
var _useTranslation = _interopRequireDefault(require("../../hooks/useTranslation"));
|
|
17
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -24,7 +23,6 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
24
23
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
25
24
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
26
25
|
function Expiry(props) {
|
|
27
|
-
var _value$substring;
|
|
28
26
|
const {
|
|
29
27
|
Date: {
|
|
30
28
|
errorRequired
|
|
@@ -40,9 +38,9 @@ function Expiry(props) {
|
|
|
40
38
|
year: yearLabel
|
|
41
39
|
}
|
|
42
40
|
} = (0, _shared.useTranslation)();
|
|
43
|
-
const errorMessages = (0,
|
|
44
|
-
|
|
45
|
-
});
|
|
41
|
+
const errorMessages = (0, _react.useMemo)(() => _objectSpread({
|
|
42
|
+
'Field.errorRequired': errorRequired
|
|
43
|
+
}, props.errorMessages), [errorRequired, props.errorMessages]);
|
|
46
44
|
const validateRequired = (0, _react.useCallback)((value, _ref) => {
|
|
47
45
|
let {
|
|
48
46
|
required,
|
|
@@ -57,6 +55,7 @@ function Expiry(props) {
|
|
|
57
55
|
});
|
|
58
56
|
const {
|
|
59
57
|
id,
|
|
58
|
+
path,
|
|
60
59
|
className,
|
|
61
60
|
label = expiryLabel,
|
|
62
61
|
error,
|
|
@@ -71,12 +70,21 @@ function Expiry(props) {
|
|
|
71
70
|
htmlAttributes,
|
|
72
71
|
handleFocus,
|
|
73
72
|
handleBlur,
|
|
74
|
-
handleChange
|
|
73
|
+
handleChange,
|
|
74
|
+
setDisplayValue
|
|
75
75
|
} = (0, _hooks.useFieldProps)(preparedProps);
|
|
76
|
-
const expiry = {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
const expiry = (0, _react.useMemo)(() => {
|
|
77
|
+
var _value$substring;
|
|
78
|
+
return {
|
|
79
|
+
month: ensureValidMonth(value === null || value === void 0 ? void 0 : value.substring(0, 2)),
|
|
80
|
+
year: (_value$substring = value === null || value === void 0 ? void 0 : value.substring(2, 4)) !== null && _value$substring !== void 0 ? _value$substring : ''
|
|
81
|
+
};
|
|
82
|
+
}, [value]);
|
|
83
|
+
(0, _react.useMemo)(() => {
|
|
84
|
+
if (path && expiry.month && expiry.year) {
|
|
85
|
+
setDisplayValue(path, `${expiry.month}/${expiry.year}`);
|
|
86
|
+
}
|
|
87
|
+
}, [expiry.month, expiry.year, path, setDisplayValue]);
|
|
80
88
|
const status = hasError ? 'error' : warning ? 'warn' : info ? 'info' : null;
|
|
81
89
|
return _react.default.createElement(_FieldBlock.default, _extends({
|
|
82
90
|
className: (0, _classnames.default)('dnb-forms-field-expiry', className),
|
|
@@ -117,32 +125,32 @@ function Expiry(props) {
|
|
|
117
125
|
title: help.title
|
|
118
126
|
}, help.content) : undefined
|
|
119
127
|
}));
|
|
120
|
-
function toExpiryString(values) {
|
|
121
|
-
return Object.values(values).join('');
|
|
122
|
-
}
|
|
123
|
-
function ensureValidMonth(month) {
|
|
124
|
-
if (!month) {
|
|
125
|
-
return '';
|
|
126
|
-
}
|
|
127
|
-
const [firstMask, secondMask] = getMonthMask(month);
|
|
128
|
-
const firstDigit = month === null || month === void 0 ? void 0 : month.charAt(0);
|
|
129
|
-
const isFirstDigitValid = firstMask.test(firstDigit);
|
|
130
|
-
if (firstDigit && !isFirstDigitValid) {
|
|
131
|
-
return '';
|
|
132
|
-
}
|
|
133
|
-
const secondDigit = month === null || month === void 0 ? void 0 : month.charAt(1);
|
|
134
|
-
const isSecondDigitValid = secondMask.test(secondDigit);
|
|
135
|
-
if (secondDigit && !isSecondDigitValid) {
|
|
136
|
-
return '';
|
|
137
|
-
}
|
|
138
|
-
return month;
|
|
139
|
-
}
|
|
140
|
-
function getMonthMask(month) {
|
|
141
|
-
const firstDigit = month === null || month === void 0 ? void 0 : month.charAt(0);
|
|
142
|
-
return [/[0-1]/, firstDigit === '0' || firstDigit === '' ? /[1-9]/ : /[0-2]/];
|
|
143
|
-
}
|
|
144
128
|
}
|
|
145
129
|
Expiry._supportsEufemiaSpacingProps = true;
|
|
146
130
|
var _default = Expiry;
|
|
147
131
|
exports.default = _default;
|
|
132
|
+
function toExpiryString(values) {
|
|
133
|
+
return Object.values(values).join('');
|
|
134
|
+
}
|
|
135
|
+
function ensureValidMonth(month) {
|
|
136
|
+
if (!month) {
|
|
137
|
+
return '';
|
|
138
|
+
}
|
|
139
|
+
const [firstMask, secondMask] = getMonthMask(month);
|
|
140
|
+
const firstDigit = month === null || month === void 0 ? void 0 : month.charAt(0);
|
|
141
|
+
const isFirstDigitValid = firstMask.test(firstDigit);
|
|
142
|
+
if (firstDigit && !isFirstDigitValid) {
|
|
143
|
+
return '';
|
|
144
|
+
}
|
|
145
|
+
const secondDigit = month === null || month === void 0 ? void 0 : month.charAt(1);
|
|
146
|
+
const isSecondDigitValid = secondMask.test(secondDigit);
|
|
147
|
+
if (secondDigit && !isSecondDigitValid) {
|
|
148
|
+
return '';
|
|
149
|
+
}
|
|
150
|
+
return month;
|
|
151
|
+
}
|
|
152
|
+
function getMonthMask(month) {
|
|
153
|
+
const firstDigit = month === null || month === void 0 ? void 0 : month.charAt(0);
|
|
154
|
+
return [/[0-1]/, firstDigit === '0' || firstDigit === '' ? /[1-9]/ : /[0-2]/];
|
|
155
|
+
}
|
|
148
156
|
//# sourceMappingURL=Expiry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expiry.js","names":["_react","_interopRequireWildcard","require","_utils","_hooks","_classnames","_interopRequireDefault","_FieldBlock","_inputMasked","_components","_useErrorMessage","_shared","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Expiry","props","_value$substring","Date","errorRequired","label","expiryLabel","useTranslation","DatePicker","placeholder_characters","placeholders","month","monthLabel","year","yearLabel","useSharedTranslation","errorMessages","useErrorMessage","path","required","validateRequired","useCallback","_ref","error","preparedProps","fromInput","toExpiryString","id","className","hasError","info","warning","help","disabled","labelDescription","layout","htmlAttributes","handleFocus","handleBlur","handleChange","useFieldProps","expiry","ensureValidMonth","substring","status","createElement","classnames","forId","pickSpacingProps","MultiInputMask","stretch","values","statusState","onChange","onBlur","onFocus","delimiter","inputMode","inputs","mask","getMonthMask","placeholderCharacter","autoComplete","suffix","HelpButton","title","content","join","firstMask","secondMask","firstDigit","charAt","isFirstDigitValid","test","secondDigit","isSecondDigitValid","_supportsEufemiaSpacingProps","_default","exports"],"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":"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"}
|
|
1
|
+
{"version":3,"file":"Expiry.js","names":["_react","_interopRequireWildcard","require","_utils","_hooks","_classnames","_interopRequireDefault","_FieldBlock","_inputMasked","_components","_shared","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Expiry","props","Date","errorRequired","label","expiryLabel","useTranslation","DatePicker","placeholder_characters","placeholders","month","monthLabel","year","yearLabel","useSharedTranslation","errorMessages","useMemo","validateRequired","useCallback","_ref","required","error","preparedProps","fromInput","toExpiryString","id","path","className","hasError","info","warning","help","disabled","labelDescription","layout","htmlAttributes","handleFocus","handleBlur","handleChange","setDisplayValue","useFieldProps","expiry","_value$substring","ensureValidMonth","substring","status","createElement","classnames","forId","pickSpacingProps","MultiInputMask","stretch","values","statusState","onChange","onBlur","onFocus","delimiter","inputMode","inputs","mask","getMonthMask","placeholderCharacter","autoComplete","suffix","HelpButton","title","content","_supportsEufemiaSpacingProps","_default","exports","join","firstMask","secondMask","firstDigit","charAt","isFirstDigitValid","test","secondDigit","isSecondDigitValid"],"sources":["../../../../../../src/extensions/forms/Field/Expiry/Expiry.tsx"],"sourcesContent":["import React, { useCallback, useMemo } 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 { 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 = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n ...props.errorMessages,\n }),\n [errorRequired, props.errorMessages]\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 path,\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 setDisplayValue,\n } = useFieldProps(preparedProps)\n\n const expiry: ExpiryValue = useMemo(() => {\n return {\n month: ensureValidMonth(value?.substring(0, 2)),\n year: value?.substring(2, 4) ?? '',\n }\n }, [value])\n\n useMemo(() => {\n if (path && expiry.month && expiry.year) {\n setDisplayValue(path, `${expiry.month}/${expiry.year}`)\n }\n }, [expiry.month, expiry.year, path, setDisplayValue])\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\nExpiry._supportsEufemiaSpacingProps = true\nexport default Expiry\n\nfunction toExpiryString(values: ExpiryValue) {\n return Object.values(values).join('')\n}\n\nfunction 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\nfunction 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"],"mappings":"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"}
|
|
@@ -4,11 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _react =
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _String = _interopRequireDefault(require("../String"));
|
|
9
|
-
var _useErrorMessage = _interopRequireDefault(require("../../hooks/useErrorMessage"));
|
|
10
9
|
var _useTranslation = _interopRequireDefault(require("../../hooks/useTranslation"));
|
|
11
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
12
13
|
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; }
|
|
13
14
|
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; }
|
|
14
15
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -25,10 +26,12 @@ function Name(props) {
|
|
|
25
26
|
Name._supportsSpacingProps = true;
|
|
26
27
|
Name.First = function FirstName(props) {
|
|
27
28
|
const translations = (0, _useTranslation.default)().FirstName;
|
|
28
|
-
const errorMessages = (0,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
const errorMessages = (0, _react.useMemo)(() => {
|
|
30
|
+
return _objectSpread({
|
|
31
|
+
'Field.errorRequired': translations.errorRequired,
|
|
32
|
+
'Field.errorPattern': translations.errorPattern
|
|
33
|
+
}, props.errorMessages);
|
|
34
|
+
}, [props.errorMessages, translations.errorPattern, translations.errorRequired]);
|
|
32
35
|
const nameProps = _objectSpread(_objectSpread({
|
|
33
36
|
label: translations.label,
|
|
34
37
|
autoComplete: 'given-name'
|
|
@@ -40,10 +43,12 @@ Name.First = function FirstName(props) {
|
|
|
40
43
|
Name.First['_supportsSpacingProps'] = true;
|
|
41
44
|
Name.Last = function LastName(props) {
|
|
42
45
|
const translations = (0, _useTranslation.default)().LastName;
|
|
43
|
-
const errorMessages = (0,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
const errorMessages = (0, _react.useMemo)(() => {
|
|
47
|
+
return _objectSpread({
|
|
48
|
+
'Field.errorRequired': translations.errorRequired,
|
|
49
|
+
'Field.errorPattern': translations.errorPattern
|
|
50
|
+
}, props.errorMessages);
|
|
51
|
+
}, [props.errorMessages, translations.errorPattern, translations.errorRequired]);
|
|
47
52
|
const nameProps = _objectSpread(_objectSpread({
|
|
48
53
|
label: translations.label,
|
|
49
54
|
autoComplete: 'family-name'
|
|
@@ -55,9 +60,11 @@ Name.Last = function LastName(props) {
|
|
|
55
60
|
Name.First['_supportsSpacingProps'] = true;
|
|
56
61
|
Name.Company = function CompanyName(props) {
|
|
57
62
|
const translations = (0, _useTranslation.default)().CompanyName;
|
|
58
|
-
const errorMessages = (0,
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
const errorMessages = (0, _react.useMemo)(() => {
|
|
64
|
+
return _objectSpread({
|
|
65
|
+
'Field.errorRequired': translations.errorRequired
|
|
66
|
+
}, props.errorMessages);
|
|
67
|
+
}, [props.errorMessages, translations.errorRequired]);
|
|
61
68
|
const StringFieldProps = _objectSpread(_objectSpread({
|
|
62
69
|
label: translations.label,
|
|
63
70
|
pattern: '^(?!.*[-\\s]{2})(?!.*[\\.]{2})[\\p{L}\\p{N}][\\p{L}\\p{N}\\p{P}\\p{Zs}.]*[\\p{L}\\p{N}\\p{P}]$',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Name.js","names":["_react","
|
|
1
|
+
{"version":3,"file":"Name.js","names":["_react","_interopRequireWildcard","require","_String","_interopRequireDefault","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Name","props","StringFieldProps","trim","autoComplete","pattern","createElement","_supportsSpacingProps","First","FirstName","translations","useTranslation","errorMessages","useMemo","errorRequired","errorPattern","nameProps","label","Last","LastName","Company","CompanyName","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Name/Name.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\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 = useMemo(() => {\n return {\n 'Field.errorRequired': translations.errorRequired,\n 'Field.errorPattern': translations.errorPattern,\n ...props.errorMessages,\n }\n }, [\n props.errorMessages,\n translations.errorPattern,\n translations.errorRequired,\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 = useMemo(() => {\n return {\n 'Field.errorRequired': translations.errorRequired,\n 'Field.errorPattern': translations.errorPattern,\n ...props.errorMessages,\n }\n }, [\n props.errorMessages,\n translations.errorPattern,\n translations.errorRequired,\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 = useMemo(() => {\n return {\n 'Field.errorRequired': translations.errorRequired,\n ...props.errorMessages,\n }\n }, [props.errorMessages, translations.errorRequired])\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":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Props as StringFieldProps } from '../String';
|
|
2
|
-
import {
|
|
2
|
+
import { Validator } from '../../types';
|
|
3
|
+
import { FormError } from '../../utils';
|
|
3
4
|
export type Props = Omit<StringFieldProps, 'onBlurValidator'> & {
|
|
4
5
|
omitMask?: boolean;
|
|
5
6
|
validate?: boolean;
|
|
@@ -10,8 +10,7 @@ exports.getBirthDateByFnrOrDnr = getBirthDateByFnrOrDnr;
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _String = _interopRequireDefault(require("../String"));
|
|
12
12
|
var _fnrvalidator = require("@navikt/fnrvalidator");
|
|
13
|
-
var
|
|
14
|
-
var _useErrorMessage = _interopRequireDefault(require("../../hooks/useErrorMessage"));
|
|
13
|
+
var _utils = require("../../utils");
|
|
15
14
|
var _useTranslation = _interopRequireDefault(require("../../hooks/useTranslation"));
|
|
16
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -29,20 +28,12 @@ function NationalIdentityNumber(props) {
|
|
|
29
28
|
errorFnr,
|
|
30
29
|
errorFnrLength,
|
|
31
30
|
errorDnr,
|
|
32
|
-
errorDnrLength
|
|
33
|
-
errorMinimumAgeValidator,
|
|
34
|
-
errorMinimumAgeValidatorLength
|
|
31
|
+
errorDnrLength
|
|
35
32
|
} = translations;
|
|
36
|
-
const errorMessages = (0,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
errorFnrLength,
|
|
41
|
-
errorDnr,
|
|
42
|
-
errorDnrLength,
|
|
43
|
-
errorMinimumAgeValidator,
|
|
44
|
-
errorMinimumAgeValidatorLength
|
|
45
|
-
});
|
|
33
|
+
const errorMessages = (0, _react.useMemo)(() => _objectSpread({
|
|
34
|
+
'Field.errorRequired': errorRequired,
|
|
35
|
+
'Field.errorPattern': errorFnr
|
|
36
|
+
}, props.errorMessages), [errorRequired, errorFnr, props.errorMessages]);
|
|
46
37
|
const identificationNumberIsOfLength = (identificationNumber, length) => {
|
|
47
38
|
return (identificationNumber === null || identificationNumber === void 0 ? void 0 : identificationNumber.length) === length;
|
|
48
39
|
};
|
|
@@ -138,7 +129,7 @@ function createMinimumAgeValidator(age) {
|
|
|
138
129
|
}
|
|
139
130
|
const identificationNumberIs7DigitsOrMore = (value === null || value === void 0 ? void 0 : value.length) >= 7;
|
|
140
131
|
if (!identificationNumberIs7DigitsOrMore) {
|
|
141
|
-
return new
|
|
132
|
+
return new _utils.FormError('NationalIdentityNumber.errorMinimumAgeValidatorLength', {
|
|
142
133
|
validationRule: 'errorMinimumAgeValidatorLength'
|
|
143
134
|
});
|
|
144
135
|
}
|
|
@@ -148,7 +139,7 @@ function createMinimumAgeValidator(age) {
|
|
|
148
139
|
return;
|
|
149
140
|
}
|
|
150
141
|
}
|
|
151
|
-
return new
|
|
142
|
+
return new _utils.FormError('NationalIdentityNumber.errorMinimumAgeValidator', {
|
|
152
143
|
validationRule: 'errorMinimumAgeValidator',
|
|
153
144
|
messageValues: {
|
|
154
145
|
age: String(age)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NationalIdentityNumber.js","names":["_react","_interopRequireWildcard","require","_String","_interopRequireDefault","_fnrvalidator","_types","_useErrorMessage","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","NationalIdentityNumber","props","translations","useTranslation","label","errorRequired","errorFnr","errorFnrLength","errorDnr","errorDnrLength","errorMinimumAgeValidator","errorMinimumAgeValidatorLength","errorMessages","useErrorMessage","path","required","pattern","identificationNumberIsOfLength","identificationNumber","fnrValidator","useCallback","parseInt","substring","Error","fnrIs11Digits","fnr","status","dnrValidator","dnrIs11Digits","dnr","dnrAndFnrValidator","dnrValidationPattern","RegExp","test","validate","omitMask","onBlurValidator","validator","width","labelProp","mask","useMemo","Array","fill","onBlurValidatorToUse","StringFieldProps","inputMode","exportValidators","createElement","getAgeByBirthDate","birthDate","today","Date","age","getFullYear","month","getMonth","day","getDate","getBirthDateByFnrOrDnr","yearPart","centuryNumber","isBornIn20XX","year","differentiatorValue","isDnr","createMinimumAgeValidator","identificationNumberIs7DigitsOrMore","FormError","validationRule","date","messageValues","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport { dnr, fnr } from '@navikt/fnrvalidator'\nimport { FormError, Validator } from '../../types'\n\nimport useErrorMessage from '../../hooks/useErrorMessage'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type Props = Omit<StringFieldProps, 'onBlurValidator'> & {\n omitMask?: boolean\n validate?: boolean\n onBlurValidator?: Validator<string> | false\n}\n\nfunction NationalIdentityNumber(props: Props) {\n const translations = useTranslation().NationalIdentityNumber\n const {\n label,\n errorRequired,\n errorFnr,\n errorFnrLength,\n errorDnr,\n errorDnrLength,\n errorMinimumAgeValidator,\n errorMinimumAgeValidatorLength,\n } = translations\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: errorRequired,\n pattern: errorFnr,\n errorFnr,\n errorFnrLength,\n errorDnr,\n errorDnrLength,\n errorMinimumAgeValidator,\n errorMinimumAgeValidatorLength,\n })\n\n const identificationNumberIsOfLength = (\n identificationNumber: string,\n length: number\n ) => {\n return identificationNumber?.length === length\n }\n\n const fnrValidator = useCallback(\n (value: string) => {\n if (value !== undefined) {\n if (Number.parseInt(value.substring(0, 1)) > 3) {\n return Error(errorFnr)\n }\n\n const fnrIs11Digits = identificationNumberIsOfLength(value, 11)\n\n if (!fnrIs11Digits) {\n return Error(errorFnrLength)\n }\n if (fnrIs11Digits && fnr(value).status === 'invalid') {\n return Error(errorFnr)\n }\n }\n },\n [errorFnr, errorFnrLength]\n )\n\n const dnrValidator = useCallback(\n (value: string) => {\n if (value !== undefined) {\n if (Number.parseInt(value.substring(0, 1)) < 4) {\n return Error(errorDnr)\n }\n\n const dnrIs11Digits = identificationNumberIsOfLength(value, 11)\n\n if (!dnrIs11Digits) {\n return Error(errorDnrLength)\n }\n if (dnrIs11Digits && dnr(value).status === 'invalid') {\n return Error(errorDnr)\n }\n }\n },\n [errorDnr, errorDnrLength]\n )\n\n const dnrAndFnrValidator = useCallback(\n (value: string) => {\n const dnrValidationPattern = '^[4-9].*' // 1st num is increased by 4. i.e, if 01.01.1985, D number would be 410185.\n\n if (new RegExp(dnrValidationPattern).test(value)) {\n return dnrValidator(value)\n }\n return fnrValidator(value)\n },\n [dnrValidator, fnrValidator]\n )\n\n const {\n validate = true,\n omitMask,\n onBlurValidator = dnrAndFnrValidator,\n validator,\n width,\n label: labelProp,\n } = props\n\n const mask = useMemo(\n () =>\n omitMask\n ? Array(11).fill(/\\d/)\n : [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ],\n [omitMask]\n )\n\n const onBlurValidatorToUse =\n onBlurValidator === false ? undefined : onBlurValidator\n\n const StringFieldProps: StringFieldProps = {\n ...props,\n label: labelProp ?? label,\n errorMessages,\n mask,\n width: width ?? 'medium',\n inputMode: 'numeric',\n validator: validate ? validator : undefined,\n onBlurValidator: validate ? onBlurValidatorToUse : undefined,\n exportValidators: {\n dnrValidator,\n fnrValidator,\n dnrAndFnrValidator,\n },\n }\n\n return <StringField {...StringFieldProps} />\n}\n\nexport function getAgeByBirthDate(birthDate: Date): number {\n const today = new Date()\n const age = today.getFullYear() - birthDate.getFullYear()\n const month = today.getMonth() - birthDate.getMonth()\n const day = today.getDate() - birthDate.getDate()\n\n if (month < 0 || (month === 0 && day < 0)) {\n return age - 1\n }\n\n return age\n}\n\nexport function getBirthDateByFnrOrDnr(value: string) {\n if (value === undefined) {\n return // stop here\n }\n\n const yearPart = value.substring(4, 6)\n const centuryNumber = Number.parseInt(value.substring(6, 7))\n\n const isBornIn20XX = centuryNumber >= 5\n const year = isBornIn20XX ? `20${yearPart}` : `19${yearPart}`\n const month = Number.parseInt(value.substring(2, 4))\n\n const differentiatorValue =\n value.length > 0 ? Number.parseInt(value.substring(0, 1)) : undefined\n const isDnr = differentiatorValue && differentiatorValue > 3\n\n const day = isDnr\n ? Number.parseInt(value.substring(0, 2)) - 40\n : Number.parseInt(value.substring(0, 2))\n\n return new Date(Number.parseInt(year), month - 1, day)\n}\n\nexport function createMinimumAgeValidator(age: number) {\n return (value: string) => {\n if (typeof value !== 'string') {\n return // stop here\n }\n\n const identificationNumberIs7DigitsOrMore = value?.length >= 7\n\n if (!identificationNumberIs7DigitsOrMore) {\n return new FormError(\n 'NationalIdentityNumber.errorMinimumAgeValidatorLength',\n {\n validationRule: 'errorMinimumAgeValidatorLength', // \"validationRule\" Will be removed in future PR\n }\n )\n }\n\n if (identificationNumberIs7DigitsOrMore) {\n const date = getBirthDateByFnrOrDnr(value)\n if (getAgeByBirthDate(date) >= age) {\n return // stop here\n }\n }\n\n return new FormError(\n 'NationalIdentityNumber.errorMinimumAgeValidator',\n {\n validationRule: 'errorMinimumAgeValidator', // \"validationRule\" Will be removed in future PR\n messageValues: { age: String(age) },\n }\n )\n }\n}\n\nNationalIdentityNumber._supportsSpacingProps = true\nexport default NationalIdentityNumber\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NationalIdentityNumber.js","names":["_react","_interopRequireWildcard","require","_String","_interopRequireDefault","_fnrvalidator","_utils","_useTranslation","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","NationalIdentityNumber","props","translations","useTranslation","label","errorRequired","errorFnr","errorFnrLength","errorDnr","errorDnrLength","errorMessages","useMemo","identificationNumberIsOfLength","identificationNumber","fnrValidator","useCallback","parseInt","substring","Error","fnrIs11Digits","fnr","status","dnrValidator","dnrIs11Digits","dnr","dnrAndFnrValidator","dnrValidationPattern","RegExp","test","validate","omitMask","onBlurValidator","validator","width","labelProp","mask","Array","fill","onBlurValidatorToUse","StringFieldProps","inputMode","exportValidators","createElement","getAgeByBirthDate","birthDate","today","Date","age","getFullYear","month","getMonth","day","getDate","getBirthDateByFnrOrDnr","yearPart","centuryNumber","isBornIn20XX","year","differentiatorValue","isDnr","createMinimumAgeValidator","identificationNumberIs7DigitsOrMore","FormError","validationRule","date","messageValues","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport { dnr, fnr } from '@navikt/fnrvalidator'\nimport { Validator } from '../../types'\nimport { FormError } from '../../utils'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type Props = Omit<StringFieldProps, 'onBlurValidator'> & {\n omitMask?: boolean\n validate?: boolean\n onBlurValidator?: Validator<string> | false\n}\n\nfunction NationalIdentityNumber(props: Props) {\n const translations = useTranslation().NationalIdentityNumber\n const {\n label,\n errorRequired,\n errorFnr,\n errorFnrLength,\n errorDnr,\n errorDnrLength,\n } = translations\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorFnr,\n ...props.errorMessages,\n }),\n [errorRequired, errorFnr, props.errorMessages]\n )\n\n const identificationNumberIsOfLength = (\n identificationNumber: string,\n length: number\n ) => {\n return identificationNumber?.length === length\n }\n\n const fnrValidator = useCallback(\n (value: string) => {\n if (value !== undefined) {\n if (Number.parseInt(value.substring(0, 1)) > 3) {\n return Error(errorFnr)\n }\n\n const fnrIs11Digits = identificationNumberIsOfLength(value, 11)\n\n if (!fnrIs11Digits) {\n return Error(errorFnrLength)\n }\n if (fnrIs11Digits && fnr(value).status === 'invalid') {\n return Error(errorFnr)\n }\n }\n },\n [errorFnr, errorFnrLength]\n )\n\n const dnrValidator = useCallback(\n (value: string) => {\n if (value !== undefined) {\n if (Number.parseInt(value.substring(0, 1)) < 4) {\n return Error(errorDnr)\n }\n\n const dnrIs11Digits = identificationNumberIsOfLength(value, 11)\n\n if (!dnrIs11Digits) {\n return Error(errorDnrLength)\n }\n if (dnrIs11Digits && dnr(value).status === 'invalid') {\n return Error(errorDnr)\n }\n }\n },\n [errorDnr, errorDnrLength]\n )\n\n const dnrAndFnrValidator = useCallback(\n (value: string) => {\n const dnrValidationPattern = '^[4-9].*' // 1st num is increased by 4. i.e, if 01.01.1985, D number would be 410185.\n\n if (new RegExp(dnrValidationPattern).test(value)) {\n return dnrValidator(value)\n }\n return fnrValidator(value)\n },\n [dnrValidator, fnrValidator]\n )\n\n const {\n validate = true,\n omitMask,\n onBlurValidator = dnrAndFnrValidator,\n validator,\n width,\n label: labelProp,\n } = props\n\n const mask = useMemo(\n () =>\n omitMask\n ? Array(11).fill(/\\d/)\n : [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ],\n [omitMask]\n )\n\n const onBlurValidatorToUse =\n onBlurValidator === false ? undefined : onBlurValidator\n\n const StringFieldProps: StringFieldProps = {\n ...props,\n label: labelProp ?? label,\n errorMessages,\n mask,\n width: width ?? 'medium',\n inputMode: 'numeric',\n validator: validate ? validator : undefined,\n onBlurValidator: validate ? onBlurValidatorToUse : undefined,\n exportValidators: {\n dnrValidator,\n fnrValidator,\n dnrAndFnrValidator,\n },\n }\n\n return <StringField {...StringFieldProps} />\n}\n\nexport function getAgeByBirthDate(birthDate: Date): number {\n const today = new Date()\n const age = today.getFullYear() - birthDate.getFullYear()\n const month = today.getMonth() - birthDate.getMonth()\n const day = today.getDate() - birthDate.getDate()\n\n if (month < 0 || (month === 0 && day < 0)) {\n return age - 1\n }\n\n return age\n}\n\nexport function getBirthDateByFnrOrDnr(value: string) {\n if (value === undefined) {\n return // stop here\n }\n\n const yearPart = value.substring(4, 6)\n const centuryNumber = Number.parseInt(value.substring(6, 7))\n\n const isBornIn20XX = centuryNumber >= 5\n const year = isBornIn20XX ? `20${yearPart}` : `19${yearPart}`\n const month = Number.parseInt(value.substring(2, 4))\n\n const differentiatorValue =\n value.length > 0 ? Number.parseInt(value.substring(0, 1)) : undefined\n const isDnr = differentiatorValue && differentiatorValue > 3\n\n const day = isDnr\n ? Number.parseInt(value.substring(0, 2)) - 40\n : Number.parseInt(value.substring(0, 2))\n\n return new Date(Number.parseInt(year), month - 1, day)\n}\n\nexport function createMinimumAgeValidator(age: number) {\n return (value: string) => {\n if (typeof value !== 'string') {\n return // stop here\n }\n\n const identificationNumberIs7DigitsOrMore = value?.length >= 7\n\n if (!identificationNumberIs7DigitsOrMore) {\n return new FormError(\n 'NationalIdentityNumber.errorMinimumAgeValidatorLength',\n {\n validationRule: 'errorMinimumAgeValidatorLength', // \"validationRule\" Will be removed in future PR\n }\n )\n }\n\n if (identificationNumberIs7DigitsOrMore) {\n const date = getBirthDateByFnrOrDnr(value)\n if (getAgeByBirthDate(date) >= age) {\n return // stop here\n }\n }\n\n return new FormError(\n 'NationalIdentityNumber.errorMinimumAgeValidator',\n {\n validationRule: 'errorMinimumAgeValidator', // \"validationRule\" Will be removed in future PR\n messageValues: { age: String(age) },\n }\n )\n }\n}\n\nNationalIdentityNumber._supportsSpacingProps = true\nexport default NationalIdentityNumber\n"],"mappings":"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"}
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { InputMaskedProps } from '../../../../components/InputMasked';
|
|
2
3
|
import type { InputAlign, InputSize } from '../../../../components/Input';
|
|
3
|
-
import { FieldProps, FieldHelpProps,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
schema?: string;
|
|
7
|
-
minimum?: string;
|
|
8
|
-
maximum?: string;
|
|
9
|
-
exclusiveMinimum?: string;
|
|
10
|
-
exclusiveMaximum?: string;
|
|
11
|
-
multipleOf?: string;
|
|
12
|
-
}
|
|
13
|
-
export type Props = FieldHelpProps & FieldProps<number, undefined | number, ErrorMessages> & {
|
|
4
|
+
import { FieldProps, FieldHelpProps, FieldBlockWidth } from '../../types';
|
|
5
|
+
export type Props = FieldHelpProps & FieldProps<number, undefined | number> & {
|
|
6
|
+
innerRef?: React.RefObject<HTMLInputElement>;
|
|
14
7
|
inputClassName?: string;
|
|
15
8
|
currency?: InputMaskedProps['as_currency'];
|
|
16
9
|
currencyDisplay?: 'code' | 'symbol' | 'narrowSymbol' | 'name';
|
|
@@ -14,8 +14,6 @@ var _FieldBlock = _interopRequireDefault(require("../../FieldBlock"));
|
|
|
14
14
|
var _hooks = require("../../hooks");
|
|
15
15
|
var _utils = require("../../../../components/flex/utils");
|
|
16
16
|
var _SliderHelpers = require("../../../../components/slider/SliderHelpers");
|
|
17
|
-
var _useErrorMessage = _interopRequireDefault(require("../../hooks/useErrorMessage"));
|
|
18
|
-
var _useTranslation = _interopRequireDefault(require("../../hooks/useTranslation"));
|
|
19
17
|
var _Context2 = _interopRequireDefault(require("../../DataContext/Context"));
|
|
20
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -29,11 +27,10 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
29
27
|
const defaultMinimum = Number.MIN_SAFE_INTEGER;
|
|
30
28
|
const defaultMaximum = Number.MAX_SAFE_INTEGER;
|
|
31
29
|
function NumberComponent(props) {
|
|
32
|
-
var _props$width, _dataContext$props2, _sharedContext$transl, _sharedContext$transl2;
|
|
30
|
+
var _props$width, _props$innerRef, _dataContext$props2, _sharedContext$transl, _sharedContext$transl2;
|
|
33
31
|
const dataContext = (0, _react.useContext)(_Context2.default);
|
|
34
32
|
const fieldBlockContext = (0, _react.useContext)(_FieldBlockContext.default);
|
|
35
33
|
const sharedContext = (0, _react.useContext)(_Context.default);
|
|
36
|
-
const translations = (0, _useTranslation.default)();
|
|
37
34
|
const {
|
|
38
35
|
currency,
|
|
39
36
|
currencyDisplay,
|
|
@@ -47,14 +44,6 @@ function NumberComponent(props) {
|
|
|
47
44
|
suffix: suffixProp,
|
|
48
45
|
showStepControls
|
|
49
46
|
} = props;
|
|
50
|
-
const errorMessages = (0, _useErrorMessage.default)(props.path, props.errorMessages, {
|
|
51
|
-
required: translations.Field.errorRequired,
|
|
52
|
-
minimum: translations.NumberField.errorMinimum,
|
|
53
|
-
maximum: translations.NumberField.errorMaximum,
|
|
54
|
-
exclusiveMinimum: translations.NumberField.errorExclusiveMinimum,
|
|
55
|
-
exclusiveMaximum: translations.NumberField.errorExclusiveMaximum,
|
|
56
|
-
multipleOf: translations.NumberField.errorMultipleOf
|
|
57
|
-
});
|
|
58
47
|
const schema = (0, _react.useMemo)(() => {
|
|
59
48
|
var _props$schema, _props$minimum, _props$maximum;
|
|
60
49
|
return (_props$schema = props.schema) !== null && _props$schema !== void 0 ? _props$schema : {
|
|
@@ -82,19 +71,21 @@ function NumberComponent(props) {
|
|
|
82
71
|
}
|
|
83
72
|
return numberValue;
|
|
84
73
|
}, [props.emptyValue]);
|
|
74
|
+
const ref = (0, _react.useRef)();
|
|
85
75
|
const preparedProps = _objectSpread(_objectSpread({
|
|
86
76
|
valueType: 'number'
|
|
87
77
|
}, props), {}, {
|
|
88
|
-
errorMessages,
|
|
89
78
|
schema,
|
|
90
79
|
toInput,
|
|
91
80
|
fromInput,
|
|
92
|
-
width: (_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : fieldBlockContext !== null && fieldBlockContext !== void 0 && fieldBlockContext.composition ? 'stretch' : 'medium'
|
|
81
|
+
width: (_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : fieldBlockContext !== null && fieldBlockContext !== void 0 && fieldBlockContext.composition ? 'stretch' : 'medium',
|
|
82
|
+
innerRef: (_props$innerRef = props.innerRef) !== null && _props$innerRef !== void 0 ? _props$innerRef : ref
|
|
93
83
|
});
|
|
94
84
|
const {
|
|
95
85
|
id,
|
|
96
86
|
name,
|
|
97
87
|
className,
|
|
88
|
+
innerRef,
|
|
98
89
|
inputClassName,
|
|
99
90
|
autoComplete,
|
|
100
91
|
layout,
|
|
@@ -117,8 +108,13 @@ function NumberComponent(props) {
|
|
|
117
108
|
align,
|
|
118
109
|
handleFocus,
|
|
119
110
|
handleBlur,
|
|
120
|
-
handleChange
|
|
111
|
+
handleChange,
|
|
112
|
+
setDisplayValue
|
|
121
113
|
} = (0, _hooks.useFieldProps)(preparedProps);
|
|
114
|
+
(0, _react.useEffect)(() => {
|
|
115
|
+
var _innerRef$current;
|
|
116
|
+
setDisplayValue(props.path, (_innerRef$current = innerRef.current) === null || _innerRef$current === void 0 ? void 0 : _innerRef$current.value);
|
|
117
|
+
}, [innerRef, props.path, setDisplayValue, value]);
|
|
122
118
|
const {
|
|
123
119
|
handleSubmit
|
|
124
120
|
} = dataContext !== null && dataContext !== void 0 ? dataContext : {};
|
|
@@ -210,7 +206,8 @@ function NumberComponent(props) {
|
|
|
210
206
|
as_currency: currency,
|
|
211
207
|
mask_options,
|
|
212
208
|
currency_mask: {
|
|
213
|
-
currencyDisplay
|
|
209
|
+
currencyDisplay,
|
|
210
|
+
decimalLimit
|
|
214
211
|
}
|
|
215
212
|
};
|
|
216
213
|
}
|
|
@@ -236,6 +233,7 @@ function NumberComponent(props) {
|
|
|
236
233
|
const inputProps = _objectSpread(_objectSpread(_objectSpread({
|
|
237
234
|
id,
|
|
238
235
|
name,
|
|
236
|
+
inner_ref: innerRef,
|
|
239
237
|
autoComplete,
|
|
240
238
|
className: (0, _classnames.default)(`dnb-forms-field-number__input dnb-input--${size}`, inputClassName),
|
|
241
239
|
step: showStepControls ? step : undefined,
|