@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.
Files changed (921) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/cjs/components/CountryFlag.d.ts +12 -0
  3. package/cjs/components/CountryFlag.js +24 -0
  4. package/cjs/components/CountryFlag.js.map +1 -0
  5. package/cjs/components/autocomplete/Autocomplete.js +2 -3
  6. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  7. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  8. package/cjs/components/checkbox/Checkbox.js +1 -2
  9. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  10. package/cjs/components/country-flag/CountryFlag.d.ts +11 -0
  11. package/cjs/components/country-flag/CountryFlag.js +48 -0
  12. package/cjs/components/country-flag/CountryFlag.js.map +1 -0
  13. package/cjs/components/country-flag/CountryFlagDocs.d.ts +2 -0
  14. package/cjs/components/country-flag/CountryFlagDocs.js +25 -0
  15. package/cjs/components/country-flag/CountryFlagDocs.js.map +1 -0
  16. package/cjs/components/country-flag/index.d.ts +7 -0
  17. package/cjs/components/country-flag/index.js +24 -0
  18. package/cjs/components/country-flag/index.js.map +1 -0
  19. package/cjs/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
  20. package/cjs/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
  21. package/cjs/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
  22. package/cjs/components/country-flag/style/dnb-country-flag.css +42 -0
  23. package/cjs/components/country-flag/style/dnb-country-flag.min.css +1 -0
  24. package/cjs/components/country-flag/style/dnb-country-flag.scss +53 -0
  25. package/cjs/components/country-flag/style/index.d.ts +5 -0
  26. package/cjs/components/country-flag/style/index.js +4 -0
  27. package/cjs/components/country-flag/style/index.js.map +1 -0
  28. package/cjs/components/country-flag/style.d.ts +5 -0
  29. package/cjs/components/country-flag/style.js +4 -0
  30. package/cjs/components/country-flag/style.js.map +1 -0
  31. package/cjs/components/date-picker/DatePickerCalendar.js +1 -1
  32. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  33. package/cjs/components/date-picker/DatePickerInput.js +1 -2
  34. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  35. package/cjs/components/dialog/Dialog.js +3 -1
  36. package/cjs/components/dialog/Dialog.js.map +1 -1
  37. package/cjs/components/dialog/DialogDocs.d.ts +2 -0
  38. package/cjs/components/dialog/DialogDocs.js +120 -0
  39. package/cjs/components/dialog/DialogDocs.js.map +1 -0
  40. package/cjs/components/dropdown/Dropdown.js +1 -2
  41. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  42. package/cjs/components/global-status/GlobalStatus.js +2 -3
  43. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  44. package/cjs/components/index.d.ts +2 -1
  45. package/cjs/components/index.js +7 -0
  46. package/cjs/components/index.js.map +1 -1
  47. package/cjs/components/input-masked/InputMaskedHooks.js +1 -2
  48. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  49. package/cjs/components/input-masked/InputMaskedUtils.js +9 -5
  50. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  51. package/cjs/components/lib.d.ts +10 -1
  52. package/cjs/components/lib.js +8 -0
  53. package/cjs/components/lib.js.map +1 -1
  54. package/cjs/components/modal/Modal.d.ts +1 -0
  55. package/cjs/components/modal/Modal.js +4 -1
  56. package/cjs/components/modal/Modal.js.map +1 -1
  57. package/cjs/components/modal/ModalContent.js +4 -4
  58. package/cjs/components/modal/ModalContent.js.map +1 -1
  59. package/cjs/components/modal/style/dnb-modal.css +4 -0
  60. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  61. package/cjs/components/modal/style/dnb-modal.scss +5 -0
  62. package/cjs/components/modal/types.d.ts +4 -0
  63. package/cjs/components/modal/types.js.map +1 -1
  64. package/cjs/components/number-format/NumberUtils.d.ts +2 -2
  65. package/cjs/components/number-format/NumberUtils.js +1 -1
  66. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  67. package/cjs/components/pagination/Pagination.d.ts +3 -3
  68. package/cjs/components/pagination/PaginationBar.d.ts +1 -1
  69. package/cjs/components/pagination/PaginationBar.js.map +1 -1
  70. package/cjs/components/progress-indicator/ProgressIndicator.js +2 -2
  71. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  72. package/cjs/components/radio/Radio.js +1 -2
  73. package/cjs/components/radio/Radio.js.map +1 -1
  74. package/cjs/components/table/TableClickableHead.js +1 -1
  75. package/cjs/components/table/TableClickableHead.js.map +1 -1
  76. package/cjs/components/table/style/dnb-table.css +0 -9
  77. package/cjs/components/table/style/dnb-table.min.css +1 -1
  78. package/cjs/components/table/style/dnb-table.scss +3 -1
  79. package/cjs/components/table/style/table-accordion.scss +0 -10
  80. package/cjs/components/table/style/table-container.scss +3 -2
  81. package/cjs/components/table/style/table-td.scss +2 -1
  82. package/cjs/components/tabs/Tabs.js +2 -3
  83. package/cjs/components/tabs/Tabs.js.map +1 -1
  84. package/cjs/components/toggle-button/ToggleButton.js +2 -3
  85. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  86. package/cjs/components/upload/UploadDocs.js +2 -2
  87. package/cjs/components/upload/UploadDocs.js.map +1 -1
  88. package/cjs/components/upload/UploadFileListCell.js +2 -8
  89. package/cjs/components/upload/UploadFileListCell.js.map +1 -1
  90. package/cjs/components/upload/UploadInfo.js +3 -3
  91. package/cjs/components/upload/UploadInfo.js.map +1 -1
  92. package/cjs/components/upload/UploadVerify.js +2 -2
  93. package/cjs/components/upload/UploadVerify.js.map +1 -1
  94. package/cjs/extensions/forms/DataContext/Context.d.ts +13 -9
  95. package/cjs/extensions/forms/DataContext/Context.js +2 -4
  96. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  97. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  98. package/cjs/extensions/forms/DataContext/Provider/Provider.js +37 -24
  99. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  100. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  101. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  102. package/cjs/extensions/forms/DataContext/index.d.ts +3 -0
  103. package/cjs/extensions/forms/DataContext/index.js +5 -0
  104. package/cjs/extensions/forms/DataContext/index.js.map +1 -1
  105. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +11 -3
  106. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +30 -11
  107. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  108. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
  109. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +51 -12
  110. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  111. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
  112. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +25 -0
  113. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
  114. package/cjs/extensions/forms/Field/Date/Date.js +21 -5
  115. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  116. package/cjs/extensions/forms/Field/Email/Email.js +13 -8
  117. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  118. package/cjs/extensions/forms/Field/Expiry/Expiry.js +42 -34
  119. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  120. package/cjs/extensions/forms/Field/Name/Name.js +20 -13
  121. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
  122. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  123. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +8 -17
  124. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  125. package/cjs/extensions/forms/Field/Number/Number.d.ts +4 -11
  126. package/cjs/extensions/forms/Field/Number/Number.js +14 -16
  127. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  128. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  129. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  130. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  131. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +43 -30
  132. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  133. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
  134. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +65 -21
  135. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  136. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
  137. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  138. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  139. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  140. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  141. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  142. package/cjs/extensions/forms/Field/Selection/Selection.js +39 -18
  143. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  144. package/cjs/extensions/forms/Field/Slider/Slider.js +37 -13
  145. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  146. package/cjs/extensions/forms/Field/String/String.d.ts +2 -9
  147. package/cjs/extensions/forms/Field/String/String.js +9 -12
  148. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  149. package/cjs/extensions/forms/Field/Toggle/Toggle.js +8 -1
  150. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  151. package/cjs/extensions/forms/Field/Upload/Upload.js +6 -8
  152. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  153. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  154. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +37 -14
  155. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  156. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  157. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  158. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
  159. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  160. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
  161. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  162. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
  163. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -2
  164. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  165. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  166. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  167. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +9 -5
  168. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  169. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  170. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  171. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  172. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  173. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  174. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  175. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +7 -5
  176. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  177. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  178. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  179. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  180. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  181. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  182. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  183. package/cjs/extensions/forms/Iterate/Array/Array.js +53 -29
  184. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  185. package/cjs/extensions/forms/Tools/Log.js +2 -2
  186. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  187. package/cjs/extensions/forms/Value/Date/Date.d.ts +5 -0
  188. package/cjs/extensions/forms/Value/Date/Date.js +27 -13
  189. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  190. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
  191. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  192. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  193. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  194. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  195. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  196. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +37 -40
  197. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  198. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +2 -2
  199. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  200. package/cjs/extensions/forms/constants/countries.js +20 -20
  201. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  202. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  203. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
  204. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  205. package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
  206. package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
  207. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  208. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
  209. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  210. package/cjs/extensions/forms/hooks/index.d.ts +2 -1
  211. package/cjs/extensions/forms/hooks/index.js +1 -1
  212. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  213. package/cjs/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  214. package/cjs/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  215. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +8 -5
  216. package/cjs/extensions/forms/hooks/useFieldProps.js +176 -79
  217. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  218. package/cjs/extensions/forms/hooks/usePath.d.ts +3 -0
  219. package/cjs/extensions/forms/hooks/usePath.js +2 -1
  220. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  221. package/cjs/extensions/forms/hooks/useProcessManager.js +1 -1
  222. package/cjs/extensions/forms/hooks/useProcessManager.js.map +1 -1
  223. package/cjs/extensions/forms/hooks/useTranslation.d.ts +4 -1
  224. package/cjs/extensions/forms/hooks/useTranslation.js +6 -3
  225. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  226. package/cjs/extensions/forms/hooks/useValueProps.d.ts +1 -1
  227. package/cjs/extensions/forms/hooks/useValueProps.js +2 -2
  228. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  229. package/cjs/extensions/forms/style/dnb-forms.css +7 -6
  230. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  231. package/cjs/extensions/forms/types.d.ts +61 -37
  232. package/cjs/extensions/forms/types.js +0 -17
  233. package/cjs/extensions/forms/types.js.map +1 -1
  234. package/cjs/extensions/forms/utils/FormError.d.ts +45 -0
  235. package/cjs/extensions/forms/utils/FormError.js +25 -0
  236. package/cjs/extensions/forms/utils/FormError.js.map +1 -0
  237. package/cjs/extensions/forms/utils/ajv.d.ts +17 -1
  238. package/cjs/extensions/forms/utils/ajv.js +82 -7
  239. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  240. package/cjs/extensions/forms/utils/errors.d.ts +1 -1
  241. package/cjs/extensions/forms/utils/errors.js.map +1 -1
  242. package/cjs/extensions/forms/utils/index.d.ts +2 -0
  243. package/cjs/extensions/forms/utils/index.js +24 -0
  244. package/cjs/extensions/forms/utils/index.js.map +1 -1
  245. package/cjs/fragments/drawer-list/DrawerList.js +1 -2
  246. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  247. package/cjs/fragments/drawer-list/DrawerListProvider.js +2 -3
  248. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  249. package/cjs/index.d.ts +2 -1
  250. package/cjs/index.js +7 -0
  251. package/cjs/index.js.map +1 -1
  252. package/cjs/shared/Context.d.ts +4 -4
  253. package/cjs/shared/Context.js.map +1 -1
  254. package/cjs/shared/Eufemia.d.ts +1 -1
  255. package/cjs/shared/Eufemia.js +2 -2
  256. package/cjs/shared/Eufemia.js.map +1 -1
  257. package/cjs/shared/component-helper.d.ts +2 -1
  258. package/cjs/shared/component-helper.js +9 -2
  259. package/cjs/shared/component-helper.js.map +1 -1
  260. package/cjs/shared/defaults.d.ts +1 -0
  261. package/cjs/shared/defaults.js +3 -1
  262. package/cjs/shared/defaults.js.map +1 -1
  263. package/cjs/shared/keycode.d.ts +75 -0
  264. package/cjs/shared/keycode.js +138 -0
  265. package/cjs/shared/keycode.js.map +1 -0
  266. package/cjs/shared/libs/Shortcuts.js +1 -3
  267. package/cjs/shared/libs/Shortcuts.js.map +1 -1
  268. package/cjs/shared/locales/nb-NO.js +2 -2
  269. package/cjs/shared/locales/nb-NO.js.map +1 -1
  270. package/cjs/shared/useTranslation.d.ts +11 -4
  271. package/cjs/shared/useTranslation.js +68 -22
  272. package/cjs/shared/useTranslation.js.map +1 -1
  273. package/cjs/style/core/scopes.scss +1 -1
  274. package/cjs/style/dnb-ui-basis.css +1 -1
  275. package/cjs/style/dnb-ui-basis.min.css +1 -1
  276. package/cjs/style/dnb-ui-body.css +1 -1
  277. package/cjs/style/dnb-ui-body.min.css +1 -1
  278. package/cjs/style/dnb-ui-components.css +1313 -186
  279. package/cjs/style/dnb-ui-components.min.css +3 -3
  280. package/cjs/style/dnb-ui-components.scss +2 -0
  281. package/cjs/style/dnb-ui-core.css +1 -1
  282. package/cjs/style/dnb-ui-core.min.css +1 -1
  283. package/cjs/style/dnb-ui-extensions.css +7 -6
  284. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  285. package/cjs/style/dnb-ui-forms.css +7 -6
  286. package/cjs/style/dnb-ui-forms.min.css +1 -1
  287. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +1308 -180
  288. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  289. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -6
  290. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  291. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -6
  292. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  293. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +1308 -180
  294. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  295. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -6
  296. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  297. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +7 -6
  298. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  299. package/cjs/style/themes/theme-ui/ui-theme-components.css +1308 -180
  300. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  301. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +7 -6
  302. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  303. package/cjs/style/themes/theme-ui/ui-theme-forms.css +7 -6
  304. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  305. package/components/CountryFlag.d.ts +12 -0
  306. package/components/CountryFlag.js +4 -0
  307. package/components/CountryFlag.js.map +1 -0
  308. package/components/autocomplete/Autocomplete.js +1 -2
  309. package/components/autocomplete/Autocomplete.js.map +1 -1
  310. package/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  311. package/components/checkbox/Checkbox.js +1 -2
  312. package/components/checkbox/Checkbox.js.map +1 -1
  313. package/components/country-flag/CountryFlag.d.ts +11 -0
  314. package/components/country-flag/CountryFlag.js +38 -0
  315. package/components/country-flag/CountryFlag.js.map +1 -0
  316. package/components/country-flag/CountryFlagDocs.d.ts +2 -0
  317. package/components/country-flag/CountryFlagDocs.js +18 -0
  318. package/components/country-flag/CountryFlagDocs.js.map +1 -0
  319. package/components/country-flag/index.d.ts +7 -0
  320. package/components/country-flag/index.js +4 -0
  321. package/components/country-flag/index.js.map +1 -0
  322. package/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
  323. package/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
  324. package/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
  325. package/components/country-flag/style/dnb-country-flag.css +42 -0
  326. package/components/country-flag/style/dnb-country-flag.min.css +1 -0
  327. package/components/country-flag/style/dnb-country-flag.scss +53 -0
  328. package/components/country-flag/style/index.d.ts +5 -0
  329. package/components/country-flag/style/index.js +1 -0
  330. package/components/country-flag/style/index.js.map +1 -0
  331. package/components/country-flag/style.d.ts +5 -0
  332. package/components/country-flag/style.js +1 -0
  333. package/components/country-flag/style.js.map +1 -0
  334. package/components/date-picker/DatePickerCalendar.js +1 -1
  335. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  336. package/components/date-picker/DatePickerInput.js +1 -2
  337. package/components/date-picker/DatePickerInput.js.map +1 -1
  338. package/components/dialog/Dialog.js +3 -1
  339. package/components/dialog/Dialog.js.map +1 -1
  340. package/components/dialog/DialogDocs.d.ts +2 -0
  341. package/components/dialog/DialogDocs.js +113 -0
  342. package/components/dialog/DialogDocs.js.map +1 -0
  343. package/components/dropdown/Dropdown.js +1 -2
  344. package/components/dropdown/Dropdown.js.map +1 -1
  345. package/components/global-status/GlobalStatus.js +1 -2
  346. package/components/global-status/GlobalStatus.js.map +1 -1
  347. package/components/index.d.ts +2 -1
  348. package/components/index.js +2 -1
  349. package/components/index.js.map +1 -1
  350. package/components/input-masked/InputMaskedHooks.js +1 -2
  351. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  352. package/components/input-masked/InputMaskedUtils.js +9 -5
  353. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  354. package/components/lib.d.ts +10 -1
  355. package/components/lib.js +3 -1
  356. package/components/lib.js.map +1 -1
  357. package/components/modal/Modal.d.ts +1 -0
  358. package/components/modal/Modal.js +4 -1
  359. package/components/modal/Modal.js.map +1 -1
  360. package/components/modal/ModalContent.js +4 -4
  361. package/components/modal/ModalContent.js.map +1 -1
  362. package/components/modal/style/dnb-modal.css +4 -0
  363. package/components/modal/style/dnb-modal.min.css +1 -1
  364. package/components/modal/style/dnb-modal.scss +5 -0
  365. package/components/modal/types.d.ts +4 -0
  366. package/components/modal/types.js.map +1 -1
  367. package/components/number-format/NumberUtils.d.ts +2 -2
  368. package/components/number-format/NumberUtils.js +1 -1
  369. package/components/number-format/NumberUtils.js.map +1 -1
  370. package/components/pagination/Pagination.d.ts +3 -3
  371. package/components/pagination/PaginationBar.d.ts +1 -1
  372. package/components/pagination/PaginationBar.js.map +1 -1
  373. package/components/progress-indicator/ProgressIndicator.js +2 -2
  374. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  375. package/components/radio/Radio.js +1 -2
  376. package/components/radio/Radio.js.map +1 -1
  377. package/components/table/TableClickableHead.js +1 -1
  378. package/components/table/TableClickableHead.js.map +1 -1
  379. package/components/table/style/dnb-table.css +0 -9
  380. package/components/table/style/dnb-table.min.css +1 -1
  381. package/components/table/style/dnb-table.scss +3 -1
  382. package/components/table/style/table-accordion.scss +0 -10
  383. package/components/table/style/table-container.scss +3 -2
  384. package/components/table/style/table-td.scss +2 -1
  385. package/components/tabs/Tabs.js +1 -2
  386. package/components/tabs/Tabs.js.map +1 -1
  387. package/components/toggle-button/ToggleButton.js +1 -2
  388. package/components/toggle-button/ToggleButton.js.map +1 -1
  389. package/components/upload/UploadDocs.js +2 -2
  390. package/components/upload/UploadDocs.js.map +1 -1
  391. package/components/upload/UploadFileListCell.js +2 -8
  392. package/components/upload/UploadFileListCell.js.map +1 -1
  393. package/components/upload/UploadInfo.js +3 -3
  394. package/components/upload/UploadInfo.js.map +1 -1
  395. package/components/upload/UploadVerify.js +2 -2
  396. package/components/upload/UploadVerify.js.map +1 -1
  397. package/es/components/CountryFlag.d.ts +12 -0
  398. package/es/components/CountryFlag.js +4 -0
  399. package/es/components/CountryFlag.js.map +1 -0
  400. package/es/components/autocomplete/Autocomplete.js +1 -2
  401. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  402. package/es/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  403. package/es/components/checkbox/Checkbox.js +1 -2
  404. package/es/components/checkbox/Checkbox.js.map +1 -1
  405. package/es/components/country-flag/CountryFlag.d.ts +11 -0
  406. package/es/components/country-flag/CountryFlag.js +38 -0
  407. package/es/components/country-flag/CountryFlag.js.map +1 -0
  408. package/es/components/country-flag/CountryFlagDocs.d.ts +2 -0
  409. package/es/components/country-flag/CountryFlagDocs.js +18 -0
  410. package/es/components/country-flag/CountryFlagDocs.js.map +1 -0
  411. package/es/components/country-flag/index.d.ts +7 -0
  412. package/es/components/country-flag/index.js +4 -0
  413. package/es/components/country-flag/index.js.map +1 -0
  414. package/es/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
  415. package/es/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
  416. package/es/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
  417. package/es/components/country-flag/style/dnb-country-flag.css +42 -0
  418. package/es/components/country-flag/style/dnb-country-flag.min.css +1 -0
  419. package/es/components/country-flag/style/dnb-country-flag.scss +53 -0
  420. package/es/components/country-flag/style/index.d.ts +5 -0
  421. package/es/components/country-flag/style/index.js +1 -0
  422. package/es/components/country-flag/style/index.js.map +1 -0
  423. package/es/components/country-flag/style.d.ts +5 -0
  424. package/es/components/country-flag/style.js +1 -0
  425. package/es/components/country-flag/style.js.map +1 -0
  426. package/es/components/date-picker/DatePickerCalendar.js +1 -1
  427. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  428. package/es/components/date-picker/DatePickerInput.js +1 -2
  429. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  430. package/es/components/dialog/Dialog.js +3 -1
  431. package/es/components/dialog/Dialog.js.map +1 -1
  432. package/es/components/dialog/DialogDocs.d.ts +2 -0
  433. package/es/components/dialog/DialogDocs.js +113 -0
  434. package/es/components/dialog/DialogDocs.js.map +1 -0
  435. package/es/components/dropdown/Dropdown.js +1 -2
  436. package/es/components/dropdown/Dropdown.js.map +1 -1
  437. package/es/components/global-status/GlobalStatus.js +1 -2
  438. package/es/components/global-status/GlobalStatus.js.map +1 -1
  439. package/es/components/index.d.ts +2 -1
  440. package/es/components/index.js +2 -1
  441. package/es/components/index.js.map +1 -1
  442. package/es/components/input-masked/InputMaskedHooks.js +1 -2
  443. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  444. package/es/components/input-masked/InputMaskedUtils.js +9 -5
  445. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  446. package/es/components/lib.d.ts +10 -1
  447. package/es/components/lib.js +3 -1
  448. package/es/components/lib.js.map +1 -1
  449. package/es/components/modal/Modal.d.ts +1 -0
  450. package/es/components/modal/Modal.js +4 -1
  451. package/es/components/modal/Modal.js.map +1 -1
  452. package/es/components/modal/ModalContent.js +4 -4
  453. package/es/components/modal/ModalContent.js.map +1 -1
  454. package/es/components/modal/style/dnb-modal.css +4 -0
  455. package/es/components/modal/style/dnb-modal.min.css +1 -1
  456. package/es/components/modal/style/dnb-modal.scss +5 -0
  457. package/es/components/modal/types.d.ts +4 -0
  458. package/es/components/modal/types.js.map +1 -1
  459. package/es/components/number-format/NumberUtils.d.ts +2 -2
  460. package/es/components/number-format/NumberUtils.js +1 -1
  461. package/es/components/number-format/NumberUtils.js.map +1 -1
  462. package/es/components/pagination/Pagination.d.ts +3 -3
  463. package/es/components/pagination/PaginationBar.d.ts +1 -1
  464. package/es/components/pagination/PaginationBar.js.map +1 -1
  465. package/es/components/progress-indicator/ProgressIndicator.js +2 -2
  466. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  467. package/es/components/radio/Radio.js +1 -2
  468. package/es/components/radio/Radio.js.map +1 -1
  469. package/es/components/table/TableClickableHead.js +1 -1
  470. package/es/components/table/TableClickableHead.js.map +1 -1
  471. package/es/components/table/style/dnb-table.css +0 -9
  472. package/es/components/table/style/dnb-table.min.css +1 -1
  473. package/es/components/table/style/dnb-table.scss +3 -1
  474. package/es/components/table/style/table-accordion.scss +0 -10
  475. package/es/components/table/style/table-container.scss +3 -2
  476. package/es/components/table/style/table-td.scss +2 -1
  477. package/es/components/tabs/Tabs.js +1 -2
  478. package/es/components/tabs/Tabs.js.map +1 -1
  479. package/es/components/toggle-button/ToggleButton.js +1 -2
  480. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  481. package/es/components/upload/UploadDocs.js +2 -2
  482. package/es/components/upload/UploadDocs.js.map +1 -1
  483. package/es/components/upload/UploadFileListCell.js +2 -8
  484. package/es/components/upload/UploadFileListCell.js.map +1 -1
  485. package/es/components/upload/UploadInfo.js +3 -3
  486. package/es/components/upload/UploadInfo.js.map +1 -1
  487. package/es/components/upload/UploadVerify.js +2 -2
  488. package/es/components/upload/UploadVerify.js.map +1 -1
  489. package/es/extensions/forms/DataContext/Context.d.ts +13 -9
  490. package/es/extensions/forms/DataContext/Context.js +1 -3
  491. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  492. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  493. package/es/extensions/forms/DataContext/Provider/Provider.js +35 -22
  494. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  495. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  496. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  497. package/es/extensions/forms/DataContext/index.d.ts +3 -0
  498. package/es/extensions/forms/DataContext/index.js +5 -0
  499. package/es/extensions/forms/DataContext/index.js.map +1 -1
  500. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +11 -3
  501. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +24 -9
  502. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  503. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
  504. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +52 -13
  505. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  506. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
  507. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +18 -0
  508. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
  509. package/es/extensions/forms/Field/Date/Date.js +23 -6
  510. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  511. package/es/extensions/forms/Field/Email/Email.js +11 -8
  512. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  513. package/es/extensions/forms/Field/Expiry/Expiry.js +42 -34
  514. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  515. package/es/extensions/forms/Field/Name/Name.js +18 -13
  516. package/es/extensions/forms/Field/Name/Name.js.map +1 -1
  517. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  518. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -15
  519. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  520. package/es/extensions/forms/Field/Number/Number.d.ts +4 -11
  521. package/es/extensions/forms/Field/Number/Number.js +15 -17
  522. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  523. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  524. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  525. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  526. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +44 -31
  527. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  528. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
  529. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +63 -21
  530. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  531. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
  532. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  533. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  534. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  535. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  536. package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  537. package/es/extensions/forms/Field/Selection/Selection.js +37 -15
  538. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  539. package/es/extensions/forms/Field/Slider/Slider.js +38 -14
  540. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  541. package/es/extensions/forms/Field/String/String.d.ts +2 -9
  542. package/es/extensions/forms/Field/String/String.js +10 -13
  543. package/es/extensions/forms/Field/String/String.js.map +1 -1
  544. package/es/extensions/forms/Field/Toggle/Toggle.js +9 -2
  545. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  546. package/es/extensions/forms/Field/Upload/Upload.js +7 -9
  547. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  548. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  549. package/es/extensions/forms/FieldBlock/FieldBlock.js +36 -13
  550. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  551. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  552. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  553. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
  554. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  555. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
  556. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  557. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
  558. package/es/extensions/forms/Form/Handler/Handler.js +1 -2
  559. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  560. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  561. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  562. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +8 -4
  563. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  564. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  565. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  566. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  567. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  568. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  569. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  570. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +6 -4
  571. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  572. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  573. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  574. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  575. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  576. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  577. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  578. package/es/extensions/forms/Iterate/Array/Array.js +55 -31
  579. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  580. package/es/extensions/forms/Tools/Log.js +2 -2
  581. package/es/extensions/forms/Tools/Log.js.map +1 -1
  582. package/es/extensions/forms/Value/Date/Date.d.ts +5 -0
  583. package/es/extensions/forms/Value/Date/Date.js +25 -14
  584. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  585. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
  586. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  587. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  588. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  589. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  590. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  591. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +37 -37
  592. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  593. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +2 -2
  594. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  595. package/es/extensions/forms/constants/countries.js +20 -20
  596. package/es/extensions/forms/constants/countries.js.map +1 -1
  597. package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  598. package/es/extensions/forms/constants/locales/en-GB.js +3 -2
  599. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  600. package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
  601. package/es/extensions/forms/constants/locales/index.d.ts +4 -2
  602. package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  603. package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
  604. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  605. package/es/extensions/forms/hooks/index.d.ts +2 -1
  606. package/es/extensions/forms/hooks/index.js +1 -1
  607. package/es/extensions/forms/hooks/index.js.map +1 -1
  608. package/es/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  609. package/es/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  610. package/es/extensions/forms/hooks/useFieldProps.d.ts +8 -5
  611. package/es/extensions/forms/hooks/useFieldProps.js +174 -78
  612. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  613. package/es/extensions/forms/hooks/usePath.d.ts +3 -0
  614. package/es/extensions/forms/hooks/usePath.js +2 -1
  615. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  616. package/es/extensions/forms/hooks/useProcessManager.js +1 -1
  617. package/es/extensions/forms/hooks/useProcessManager.js.map +1 -1
  618. package/es/extensions/forms/hooks/useTranslation.d.ts +4 -1
  619. package/es/extensions/forms/hooks/useTranslation.js +7 -4
  620. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  621. package/es/extensions/forms/hooks/useValueProps.d.ts +1 -1
  622. package/es/extensions/forms/hooks/useValueProps.js +2 -2
  623. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  624. package/es/extensions/forms/style/dnb-forms.css +7 -6
  625. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  626. package/es/extensions/forms/types.d.ts +61 -37
  627. package/es/extensions/forms/types.js +0 -13
  628. package/es/extensions/forms/types.js.map +1 -1
  629. package/es/extensions/forms/utils/FormError.d.ts +45 -0
  630. package/es/extensions/forms/utils/FormError.js +16 -0
  631. package/es/extensions/forms/utils/FormError.js.map +1 -0
  632. package/es/extensions/forms/utils/ajv.d.ts +17 -1
  633. package/es/extensions/forms/utils/ajv.js +72 -7
  634. package/es/extensions/forms/utils/ajv.js.map +1 -1
  635. package/es/extensions/forms/utils/errors.d.ts +1 -1
  636. package/es/extensions/forms/utils/errors.js.map +1 -1
  637. package/es/extensions/forms/utils/index.d.ts +2 -0
  638. package/es/extensions/forms/utils/index.js +2 -0
  639. package/es/extensions/forms/utils/index.js.map +1 -1
  640. package/es/fragments/drawer-list/DrawerList.js +1 -2
  641. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  642. package/es/fragments/drawer-list/DrawerListProvider.js +1 -2
  643. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  644. package/es/index.d.ts +2 -1
  645. package/es/index.js +2 -1
  646. package/es/index.js.map +1 -1
  647. package/es/shared/Context.d.ts +4 -4
  648. package/es/shared/Context.js.map +1 -1
  649. package/es/shared/Eufemia.d.ts +1 -1
  650. package/es/shared/Eufemia.js +2 -2
  651. package/es/shared/Eufemia.js.map +1 -1
  652. package/es/shared/component-helper.d.ts +2 -1
  653. package/es/shared/component-helper.js +2 -2
  654. package/es/shared/component-helper.js.map +1 -1
  655. package/es/shared/defaults.d.ts +1 -0
  656. package/es/shared/defaults.js +1 -0
  657. package/es/shared/defaults.js.map +1 -1
  658. package/es/shared/keycode.d.ts +75 -0
  659. package/es/shared/keycode.js +127 -0
  660. package/es/shared/keycode.js.map +1 -0
  661. package/es/shared/libs/Shortcuts.js +1 -2
  662. package/es/shared/libs/Shortcuts.js.map +1 -1
  663. package/es/shared/locales/nb-NO.js +2 -2
  664. package/es/shared/locales/nb-NO.js.map +1 -1
  665. package/es/shared/useTranslation.d.ts +11 -4
  666. package/es/shared/useTranslation.js +64 -22
  667. package/es/shared/useTranslation.js.map +1 -1
  668. package/es/style/core/scopes.scss +1 -1
  669. package/es/style/dnb-ui-basis.css +1 -1
  670. package/es/style/dnb-ui-basis.min.css +1 -1
  671. package/es/style/dnb-ui-body.css +1 -1
  672. package/es/style/dnb-ui-body.min.css +1 -1
  673. package/es/style/dnb-ui-components.css +1313 -186
  674. package/es/style/dnb-ui-components.min.css +3 -3
  675. package/es/style/dnb-ui-components.scss +2 -0
  676. package/es/style/dnb-ui-core.css +1 -1
  677. package/es/style/dnb-ui-core.min.css +1 -1
  678. package/es/style/dnb-ui-extensions.css +7 -6
  679. package/es/style/dnb-ui-extensions.min.css +1 -1
  680. package/es/style/dnb-ui-forms.css +7 -6
  681. package/es/style/dnb-ui-forms.min.css +1 -1
  682. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +1308 -180
  683. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  684. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -6
  685. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  686. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -6
  687. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  688. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +1308 -180
  689. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  690. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -6
  691. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  692. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +7 -6
  693. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  694. package/es/style/themes/theme-ui/ui-theme-components.css +1308 -180
  695. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  696. package/es/style/themes/theme-ui/ui-theme-extensions.css +7 -6
  697. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  698. package/es/style/themes/theme-ui/ui-theme-forms.css +7 -6
  699. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  700. package/esm/dnb-ui-basis.min.mjs +1 -1
  701. package/esm/dnb-ui-components.min.mjs +1 -1
  702. package/esm/dnb-ui-elements.min.mjs +1 -1
  703. package/esm/dnb-ui-extensions.min.mjs +5 -5
  704. package/esm/dnb-ui-lib.min.mjs +1 -1
  705. package/extensions/forms/DataContext/Context.d.ts +13 -9
  706. package/extensions/forms/DataContext/Context.js +1 -3
  707. package/extensions/forms/DataContext/Context.js.map +1 -1
  708. package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  709. package/extensions/forms/DataContext/Provider/Provider.js +35 -22
  710. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  711. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  712. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  713. package/extensions/forms/DataContext/index.d.ts +3 -0
  714. package/extensions/forms/DataContext/index.js +5 -0
  715. package/extensions/forms/DataContext/index.js.map +1 -1
  716. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +11 -3
  717. package/extensions/forms/Field/ArraySelection/ArraySelection.js +30 -11
  718. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  719. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +3 -1
  720. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +52 -13
  721. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  722. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.d.ts +2 -0
  723. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +18 -0
  724. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -0
  725. package/extensions/forms/Field/Date/Date.js +23 -6
  726. package/extensions/forms/Field/Date/Date.js.map +1 -1
  727. package/extensions/forms/Field/Email/Email.js +11 -8
  728. package/extensions/forms/Field/Email/Email.js.map +1 -1
  729. package/extensions/forms/Field/Expiry/Expiry.js +42 -34
  730. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  731. package/extensions/forms/Field/Name/Name.js +18 -13
  732. package/extensions/forms/Field/Name/Name.js.map +1 -1
  733. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  734. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -15
  735. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  736. package/extensions/forms/Field/Number/Number.d.ts +4 -11
  737. package/extensions/forms/Field/Number/Number.js +15 -17
  738. package/extensions/forms/Field/Number/Number.js.map +1 -1
  739. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  740. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  741. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  742. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +44 -31
  743. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  744. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -2
  745. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +63 -21
  746. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  747. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +5 -0
  748. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  749. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  750. package/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  751. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  752. package/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  753. package/extensions/forms/Field/Selection/Selection.js +38 -17
  754. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  755. package/extensions/forms/Field/Slider/Slider.js +38 -14
  756. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  757. package/extensions/forms/Field/String/String.d.ts +2 -9
  758. package/extensions/forms/Field/String/String.js +10 -13
  759. package/extensions/forms/Field/String/String.js.map +1 -1
  760. package/extensions/forms/Field/Toggle/Toggle.js +9 -2
  761. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  762. package/extensions/forms/Field/Upload/Upload.js +7 -9
  763. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  764. package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  765. package/extensions/forms/FieldBlock/FieldBlock.js +36 -13
  766. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  767. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  768. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  769. package/extensions/forms/FieldBlock/FieldBlockDocs.js +2 -2
  770. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  771. package/extensions/forms/FieldBlock/style/dnb-field-block.css +6 -0
  772. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  773. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +6 -0
  774. package/extensions/forms/Form/Handler/Handler.js +1 -2
  775. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  776. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  777. package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  778. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +8 -4
  779. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  780. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  781. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  782. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  783. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  784. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  785. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  786. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +6 -4
  787. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  788. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  789. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  790. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  791. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  792. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  793. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  794. package/extensions/forms/Iterate/Array/Array.js +55 -31
  795. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  796. package/extensions/forms/Tools/Log.js +2 -2
  797. package/extensions/forms/Tools/Log.js.map +1 -1
  798. package/extensions/forms/Value/Date/Date.d.ts +5 -0
  799. package/extensions/forms/Value/Date/Date.js +26 -14
  800. package/extensions/forms/Value/Date/Date.js.map +1 -1
  801. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +4 -12
  802. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  803. package/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  804. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  805. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  806. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  807. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +37 -40
  808. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  809. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +2 -2
  810. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  811. package/extensions/forms/constants/countries.js +20 -20
  812. package/extensions/forms/constants/countries.js.map +1 -1
  813. package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  814. package/extensions/forms/constants/locales/en-GB.js +3 -2
  815. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  816. package/extensions/forms/constants/locales/en-US.d.ts +2 -1
  817. package/extensions/forms/constants/locales/index.d.ts +4 -2
  818. package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  819. package/extensions/forms/constants/locales/nb-NO.js +3 -2
  820. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  821. package/extensions/forms/hooks/index.d.ts +2 -1
  822. package/extensions/forms/hooks/index.js +1 -1
  823. package/extensions/forms/hooks/index.js.map +1 -1
  824. package/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  825. package/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  826. package/extensions/forms/hooks/useFieldProps.d.ts +8 -5
  827. package/extensions/forms/hooks/useFieldProps.js +177 -80
  828. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  829. package/extensions/forms/hooks/usePath.d.ts +3 -0
  830. package/extensions/forms/hooks/usePath.js +2 -1
  831. package/extensions/forms/hooks/usePath.js.map +1 -1
  832. package/extensions/forms/hooks/useProcessManager.js +1 -1
  833. package/extensions/forms/hooks/useProcessManager.js.map +1 -1
  834. package/extensions/forms/hooks/useTranslation.d.ts +4 -1
  835. package/extensions/forms/hooks/useTranslation.js +7 -4
  836. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  837. package/extensions/forms/hooks/useValueProps.d.ts +1 -1
  838. package/extensions/forms/hooks/useValueProps.js +2 -2
  839. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  840. package/extensions/forms/style/dnb-forms.css +7 -6
  841. package/extensions/forms/style/dnb-forms.min.css +1 -1
  842. package/extensions/forms/types.d.ts +61 -37
  843. package/extensions/forms/types.js +0 -13
  844. package/extensions/forms/types.js.map +1 -1
  845. package/extensions/forms/utils/FormError.d.ts +45 -0
  846. package/extensions/forms/utils/FormError.js +16 -0
  847. package/extensions/forms/utils/FormError.js.map +1 -0
  848. package/extensions/forms/utils/ajv.d.ts +17 -1
  849. package/extensions/forms/utils/ajv.js +77 -7
  850. package/extensions/forms/utils/ajv.js.map +1 -1
  851. package/extensions/forms/utils/errors.d.ts +1 -1
  852. package/extensions/forms/utils/errors.js.map +1 -1
  853. package/extensions/forms/utils/index.d.ts +2 -0
  854. package/extensions/forms/utils/index.js +2 -0
  855. package/extensions/forms/utils/index.js.map +1 -1
  856. package/fragments/drawer-list/DrawerList.js +1 -2
  857. package/fragments/drawer-list/DrawerList.js.map +1 -1
  858. package/fragments/drawer-list/DrawerListProvider.js +1 -2
  859. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  860. package/index.d.ts +2 -1
  861. package/index.js +2 -1
  862. package/index.js.map +1 -1
  863. package/package.json +2 -2
  864. package/shared/Context.d.ts +4 -4
  865. package/shared/Context.js.map +1 -1
  866. package/shared/Eufemia.d.ts +1 -1
  867. package/shared/Eufemia.js +2 -2
  868. package/shared/Eufemia.js.map +1 -1
  869. package/shared/component-helper.d.ts +2 -1
  870. package/shared/component-helper.js +2 -2
  871. package/shared/component-helper.js.map +1 -1
  872. package/shared/defaults.d.ts +1 -0
  873. package/shared/defaults.js +1 -0
  874. package/shared/defaults.js.map +1 -1
  875. package/shared/keycode.d.ts +75 -0
  876. package/shared/keycode.js +127 -0
  877. package/shared/keycode.js.map +1 -0
  878. package/shared/libs/Shortcuts.js +1 -2
  879. package/shared/libs/Shortcuts.js.map +1 -1
  880. package/shared/locales/nb-NO.js +2 -2
  881. package/shared/locales/nb-NO.js.map +1 -1
  882. package/shared/useTranslation.d.ts +11 -4
  883. package/shared/useTranslation.js +64 -22
  884. package/shared/useTranslation.js.map +1 -1
  885. package/style/core/scopes.scss +1 -1
  886. package/style/dnb-ui-basis.css +1 -1
  887. package/style/dnb-ui-basis.min.css +1 -1
  888. package/style/dnb-ui-body.css +1 -1
  889. package/style/dnb-ui-body.min.css +1 -1
  890. package/style/dnb-ui-components.css +1313 -186
  891. package/style/dnb-ui-components.min.css +3 -3
  892. package/style/dnb-ui-components.scss +2 -0
  893. package/style/dnb-ui-core.css +1 -1
  894. package/style/dnb-ui-core.min.css +1 -1
  895. package/style/dnb-ui-extensions.css +7 -6
  896. package/style/dnb-ui-extensions.min.css +1 -1
  897. package/style/dnb-ui-forms.css +7 -6
  898. package/style/dnb-ui-forms.min.css +1 -1
  899. package/style/themes/theme-eiendom/eiendom-theme-components.css +1308 -180
  900. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  901. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -6
  902. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  903. package/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -6
  904. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  905. package/style/themes/theme-sbanken/sbanken-theme-components.css +1308 -180
  906. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  907. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -6
  908. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  909. package/style/themes/theme-sbanken/sbanken-theme-forms.css +7 -6
  910. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  911. package/style/themes/theme-ui/ui-theme-components.css +1308 -180
  912. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  913. package/style/themes/theme-ui/ui-theme-extensions.css +7 -6
  914. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  915. package/style/themes/theme-ui/ui-theme-forms.css +7 -6
  916. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  917. package/umd/dnb-ui-basis.min.js +1 -1
  918. package/umd/dnb-ui-components.min.js +1 -1
  919. package/umd/dnb-ui-elements.min.js +1 -1
  920. package/umd/dnb-ui-extensions.min.js +5 -5
  921. package/umd/dnb-ui-lib.min.js +1 -1
@@ -8,12 +8,12 @@ exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _FieldBlock = _interopRequireDefault(require("../../FieldBlock"));
10
10
  var _hooks = require("../../hooks");
11
- var _types = require("../../types");
12
11
  var _Upload = _interopRequireDefault(require("../../../../components/Upload"));
13
12
  var _useUpload = _interopRequireDefault(require("../../../../components/upload/useUpload"));
14
13
  var _utils = require("../../../../components/flex/utils");
15
14
  var _components = require("../../../../components");
16
15
  var _shared = require("../../../../shared");
16
+ var _utils2 = require("../../utils");
17
17
  const _excluded = ["id", "className", "width", "layout", "value", "label", "labelDescription", "disabled", "help", "info", "warning", "error", "htmlAttributes", "handleChange", "handleFocus", "handleBlur"];
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
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); }
@@ -35,9 +35,7 @@ function UploadComponent(props) {
35
35
  } = _ref;
36
36
  const hasError = value === null || value === void 0 ? void 0 : value.some(file => file.errorMessage);
37
37
  if (hasError) {
38
- return new _types.FormError(error.message, {
39
- validationRule: 'invalid'
40
- });
38
+ return new _utils2.FormError('Upload.errorInvalidFiles');
41
39
  }
42
40
  if (required && (!isChanged || !(value.length > 0))) {
43
41
  return error;
@@ -46,11 +44,11 @@ function UploadComponent(props) {
46
44
  }, []);
47
45
  const sharedTr = (0, _shared.useTranslation)().Upload;
48
46
  const formsTr = (0, _hooks.useTranslation)().Upload;
47
+ const errorMessages = (0, _react.useMemo)(() => ({
48
+ 'Field.errorRequired': formsTr.errorRequired
49
+ }), [formsTr.errorRequired]);
49
50
  const preparedProps = _objectSpread({
50
- errorMessages: {
51
- required: formsTr.errorRequired,
52
- invalid: formsTr.errorInvalidFiles
53
- },
51
+ errorMessages,
54
52
  validateRequired
55
53
  }, props);
56
54
  const _useFieldProps = (0, _hooks.useFieldProps)(preparedProps, {
@@ -1 +1 @@
1
- {"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_FieldBlock","_interopRequireDefault","_hooks","_types","_Upload","_useUpload","_utils","_components","_shared","_excluded","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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","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","UploadComponent","props","validateRequired","useCallback","_ref","required","isChanged","error","hasError","some","file","errorMessage","FormError","message","validationRule","sharedTr","useSharedTranslation","Upload","formsTr","useFormsTranslation","preparedProps","errorMessages","errorRequired","invalid","errorInvalidFiles","_useFieldProps","useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","layout","label","labelDescription","disabled","help","info","warning","htmlAttributes","handleChange","handleFocus","handleBlur","rest","title","text","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","setFiles","useUpload","useEffect","changeHandler","_ref2","files","fieldBlockProps","forId","labelSrOnly","pickSpacingProps","createElement","onChange","Fragment","HelpButton","left","content","_default","exports","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect } from 'react'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport {\n FieldBlockWidth,\n FieldHelpProps,\n FieldProps,\n FormError,\n} from '../../types'\nimport Upload, {\n UploadFile,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { HelpButton } from '../../../../components'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\n\nexport type UploadValue = Array<UploadFile>\nexport type Props = FieldHelpProps &\n Omit<FieldProps<UploadValue, UploadValue | undefined>, 'name'> &\n SpacingProps & {\n width?: Omit<FieldBlockWidth, 'medium' | 'small'>\n } & Pick<\n Partial<UploadProps>,\n | 'title'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'skeleton'\n >\n\nfunction UploadComponent(props: Props) {\n const validateRequired = useCallback(\n (value: UploadValue, { required, isChanged, error }) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError(error.message, {\n validationRule: 'invalid',\n })\n }\n\n if (required && (!isChanged || !(value.length > 0))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const preparedProps = {\n errorMessages: {\n required: formsTr.errorRequired,\n invalid: formsTr.errorInvalidFiles,\n },\n validateRequired,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n layout,\n value,\n label,\n labelDescription,\n disabled,\n help,\n info,\n warning,\n error,\n htmlAttributes,\n handleChange,\n handleFocus,\n handleBlur,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n } = rest\n\n const { setFiles } = useUpload(id)\n\n useEffect(() => {\n setFiles(value)\n }, [handleBlur, setFiles, value])\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n handleChange(files)\n },\n [handleBlur, handleChange, handleFocus]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n layout,\n label,\n labelSrOnly: true,\n info,\n warning,\n error,\n className,\n disabled,\n width,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n title={label ?? title}\n text={\n help ? (\n <>\n {labelDescription ?? text}\n <HelpButton\n left={text ? 'x-small' : false}\n title={help.title}\n >\n {help.content}\n </HelpButton>\n </>\n ) : (\n labelDescription ?? text\n )\n }\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_FieldBlock","_interopRequireDefault","_hooks","_Upload","_useUpload","_utils","_components","_shared","_utils2","_excluded","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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","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","UploadComponent","props","validateRequired","useCallback","_ref","required","isChanged","error","hasError","some","file","errorMessage","FormError","sharedTr","useSharedTranslation","Upload","formsTr","useFormsTranslation","errorMessages","useMemo","errorRequired","preparedProps","_useFieldProps","useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","layout","label","labelDescription","disabled","help","info","warning","htmlAttributes","handleChange","handleFocus","handleBlur","rest","title","text","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","setFiles","useUpload","useEffect","changeHandler","_ref2","files","fieldBlockProps","forId","labelSrOnly","pickSpacingProps","createElement","onChange","Fragment","HelpButton","left","content","_default","exports","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport { FieldBlockWidth, FieldHelpProps, FieldProps } from '../../types'\nimport Upload, {\n UploadFile,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { HelpButton } from '../../../../components'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\nimport { FormError } from '../../utils'\n\nexport type UploadValue = Array<UploadFile>\nexport type Props = FieldHelpProps &\n Omit<FieldProps<UploadValue, UploadValue | undefined>, 'name'> &\n SpacingProps & {\n width?: Omit<FieldBlockWidth, 'medium' | 'small'>\n } & Pick<\n Partial<UploadProps>,\n | 'title'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'skeleton'\n >\n\nfunction UploadComponent(props: Props) {\n const validateRequired = useCallback(\n (value: UploadValue, { required, isChanged, error }) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError('Upload.errorInvalidFiles')\n }\n\n if (required && (!isChanged || !(value.length > 0))) {\n return error\n }\n\n return undefined\n },\n []\n )\n\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': formsTr.errorRequired,\n }),\n [formsTr.errorRequired]\n )\n\n const preparedProps = {\n errorMessages,\n validateRequired,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n layout,\n value,\n label,\n labelDescription,\n disabled,\n help,\n info,\n warning,\n error,\n htmlAttributes,\n handleChange,\n handleFocus,\n handleBlur,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n } = rest\n\n const { setFiles } = useUpload(id)\n\n useEffect(() => {\n setFiles(value)\n }, [handleBlur, setFiles, value])\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n handleChange(files)\n },\n [handleBlur, handleChange, handleFocus]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n layout,\n label,\n labelSrOnly: true,\n info,\n warning,\n error,\n className,\n disabled,\n width,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n title={label ?? title}\n text={\n help ? (\n <>\n {labelDescription ?? text}\n <HelpButton\n left={text ? 'x-small' : false}\n title={help.title}\n >\n {help.content}\n </HelpButton>\n </>\n ) : (\n labelDescription ?? text\n )\n }\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -31,5 +31,5 @@ declare function FieldBlock(props: Props): import("react/jsx-runtime").JSX.Eleme
31
31
  declare namespace FieldBlock {
32
32
  var _supportsSpacingProps: boolean;
33
33
  }
34
- export declare function getMessage(item: Partial<StateWithMessage>): StateMessage;
34
+ export declare function getMessagesFromError(item: Partial<StateWithMessage>): Array<StateMessage>;
35
35
  export default FieldBlock;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- exports.getMessage = getMessage;
8
+ exports.getMessagesFromError = getMessagesFromError;
9
9
  exports.states = void 0;
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -16,10 +16,10 @@ var _components = require("../../../components");
16
16
  var _elements = require("../../../elements");
17
17
  var _componentHelper = require("../../../shared/component-helper");
18
18
  var _useId = _interopRequireDefault(require("../../../shared/helpers/useId"));
19
- var _types = require("../types");
20
19
  var _SubmitIndicator = _interopRequireDefault(require("../Form/SubmitIndicator/SubmitIndicator"));
21
20
  var _useSharedState = require("../../../shared/helpers/useSharedState");
22
21
  var _useTranslation = _interopRequireDefault(require("../hooks/useTranslation"));
22
+ var _utils = require("../utils");
23
23
  const _excluded = ["className", "forId", "layout", "composition", "label", "labelDescription", "labelSuffix", "labelSrOnly", "asFieldset", "required", "info", "warning", "error", "fieldState", "disabled", "width", "contentWidth", "align", "labelSize", "contentClassName", "children"];
24
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
25
  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); }
@@ -63,6 +63,8 @@ function FieldBlock(props) {
63
63
  children
64
64
  } = _Object$assign,
65
65
  rest = _objectWithoutProperties(_Object$assign, _excluded);
66
+ const hasCustomWidth = /\d(rem)$/.test(String(width));
67
+ const hasCustomContentWidth = /\d(rem)$/.test(String(contentWidth));
66
68
  const iterateItemContext = (0, _react.useContext)(_IterateItemContext.default);
67
69
  const {
68
70
  index: iterateIndex
@@ -102,7 +104,7 @@ function FieldBlock(props) {
102
104
  }
103
105
  }
104
106
  return content;
105
- }, [iterateIndex, labelProp, labelSuffixText]);
107
+ }, [iterateIndex, labelProp, labelSuffixText, optionalLabelSuffix]);
106
108
  const setInternalRecord = (0, _react.useCallback)(props => {
107
109
  const {
108
110
  stateId,
@@ -187,17 +189,17 @@ function FieldBlock(props) {
187
189
  const existing = acc.find(item => {
188
190
  return item.type === cur.type;
189
191
  });
190
- const message = getMessage(cur);
191
- if (existing) {
192
- existing.messages.push(_objectSpread(_objectSpread({}, cur), {}, {
192
+ const messages = getMessagesFromError(cur).map(message => {
193
+ return _objectSpread(_objectSpread({}, cur), {}, {
193
194
  message
194
- }));
195
+ });
196
+ });
197
+ if (existing) {
198
+ existing.messages.push(...messages);
195
199
  } else {
196
200
  acc.push(_objectSpread(_objectSpread({}, cur), {}, {
197
201
  content: undefined,
198
- messages: [_objectSpread(_objectSpread({}, cur), {}, {
199
- message
200
- })]
202
+ messages
201
203
  }));
202
204
  }
203
205
  return acc;
@@ -260,7 +262,7 @@ function FieldBlock(props) {
260
262
  mountedFieldsRef.current = {};
261
263
  stateRecordRef.current = {};
262
264
  }, []);
263
- const mainClasses = (0, _classnames.default)('dnb-forms-field-block', className, width !== undefined && `dnb-forms-field-block--width-${width}`);
265
+ const mainClasses = (0, _classnames.default)('dnb-forms-field-block', className, width && `dnb-forms-field-block--width-${hasCustomWidth ? 'custom' : width}`);
264
266
  const gridClasses = `dnb-forms-field-block__grid dnb-forms-field-block--layout-${layout}`;
265
267
  const enableFieldset = useEnableFieldset({
266
268
  label,
@@ -279,6 +281,20 @@ function FieldBlock(props) {
279
281
  size: labelSize,
280
282
  disabled
281
283
  };
284
+ const mainStyle = (0, _react.useMemo)(() => {
285
+ if (hasCustomWidth) {
286
+ return {
287
+ '--dnb-forms-field-block-width': width
288
+ };
289
+ }
290
+ }, [hasCustomWidth, width]);
291
+ const contentsStyle = (0, _react.useMemo)(() => {
292
+ if (hasCustomContentWidth) {
293
+ return {
294
+ '--dnb-forms-field-block-content-width': contentWidth
295
+ };
296
+ }
297
+ }, [contentWidth, hasCustomContentWidth]);
282
298
  if (dataContext !== null && dataContext !== void 0 && dataContext.prerenderFieldProps) {
283
299
  return null;
284
300
  }
@@ -297,6 +313,7 @@ function FieldBlock(props) {
297
313
  }
298
314
  }, _react.default.createElement(_components.Space, _extends({
299
315
  element: enableFieldset ? 'fieldset' : 'div',
316
+ style: mainStyle,
300
317
  className: mainClasses
301
318
  }, rest), _react.default.createElement("div", {
302
319
  className: gridClasses
@@ -309,7 +326,8 @@ function FieldBlock(props) {
309
326
  }, labelDescription)))), _react.default.createElement("div", {
310
327
  className: "dnb-forms-field-block__status"
311
328
  }, _react.default.createElement(_components.FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.error), _react.default.createElement(_components.FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.warning), _react.default.createElement(_components.FormStatus, statusContent === null || statusContent === void 0 ? void 0 : statusContent.info)), _react.default.createElement("div", {
312
- className: (0, _classnames.default)('dnb-forms-field-block__contents', contentClassName, contentWidth && `dnb-forms-field-block__contents--width-${contentWidth}`, align && `dnb-forms-field-block__contents--align-${align}`, composition && `dnb-forms-field-block__contents__composition--${composition === true ? 'horizontal' : composition}`),
329
+ style: contentsStyle,
330
+ className: (0, _classnames.default)('dnb-forms-field-block__contents', contentClassName, contentWidth && `dnb-forms-field-block__contents--width-${hasCustomContentWidth ? 'custom' : contentWidth}`, align && `dnb-forms-field-block__contents--align-${align}`, composition && `dnb-forms-field-block__contents__composition--${composition === true ? 'horizontal' : composition}`),
313
331
  ref: contentsRef
314
332
  }, children))));
315
333
  }
@@ -370,11 +388,16 @@ function LabelDescription(_ref6) {
370
388
  className: "dnb-forms-field-block__label"
371
389
  }, children);
372
390
  }
373
- function getMessage(item) {
391
+ function getMessagesFromError(item) {
374
392
  const {
375
393
  content
376
394
  } = item;
377
- return content instanceof Error && content.message || content instanceof _types.FormError && content.message || (content === null || content === void 0 ? void 0 : content.toString()) || content;
395
+ if (content instanceof _utils.FormError && Array.isArray(content.errors)) {
396
+ return content.errors.map(error => {
397
+ return error.message;
398
+ });
399
+ }
400
+ return [content instanceof Error && content.message || content instanceof _utils.FormError && content.message || (content === null || content === void 0 ? void 0 : content.toString()) || content];
378
401
  }
379
402
  function isFragment(fragment) {
380
403
  return _react.default.isValidElement(fragment) && fragment.type === _react.default.Fragment;
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlockContext","_Context","_IterateItemContext","_components","_elements","_componentHelper","_useId","_types","_SubmitIndicator","_useSharedState","_useTranslation","_excluded","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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","states","exports","FieldBlock","props","dataContext","useContext","DataContext","nestedFieldBlockContext","FieldBlockContext","sharedData","createSharedState","forId","id","_Object$assign","data","className","layout","composition","label","labelProp","labelDescription","labelSuffix","labelSrOnly","asFieldset","required","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","align","labelSize","contentClassName","children","rest","iterateItemContext","IterateElementContext","index","iterateIndex","blockId","useId","wasUpdated","forceUpdate","useReducer","mountedFieldsRef","useRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","useMemo","Boolean","optionalLabelSuffix","useTranslation","Field","labelSuffixText","content","convertJsxToString","replace","includes","React","isValidElement","createElement","Fragment","setInternalRecord","useCallback","stateId","identifier","type","current","existingIndex","findIndex","item","setFieldState","showFieldError","show","map","showInitially","statusContent","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","message","getMessage","messages","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","_ref2","arr","text","CombineMessages","useEffect","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","srOnly","space","top","bottom","size","prerenderFieldProps","warn","hasLabelDescription","isFragment","fragmentHasChildren","fragmentHasOnlyUndefinedChildren","Provider","hasErrorProp","Space","LabelDescription","FormLabel","FormStatus","ref","_ref3","result","count","findElementInChildren","child","_child$props","_child$type","_ref4","translations","errorSummary","stateSummary","Ul","_ref5","Li","_ref6","Error","FormError","toString","fragment","Children","isUndefined","toArray","every","_supportsSpacingProps","_default"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\n\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport IterateElementContext from '../Iterate/IterateItemContext'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n warn,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport {\n ComponentProps,\n FieldProps,\n FormError,\n SubmitState,\n Identifier,\n FieldBlockWidth,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelSuffix'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: FieldBlockWidth\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: FieldBlockWidth\n /** For composition only: Align the contents vertically */\n align?: 'center' | 'bottom'\n /** Class name for the contents block */\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n /** For internal use only */\n required?: boolean\n children?: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const sharedData = createSharedState<Props>(\n 'field-block-props-' + (props.forId || props.id)\n )\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label: labelProp,\n labelDescription,\n labelSuffix,\n labelSrOnly,\n asFieldset,\n required,\n info,\n warning,\n error: errorProp,\n fieldState,\n disabled,\n width,\n contentWidth,\n align,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n\n const iterateItemContext = useContext(IterateElementContext)\n const { index: iterateIndex } = iterateItemContext ?? {}\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const { optionalLabelSuffix } = useTranslation().Field\n const labelSuffixText = useMemo(() => {\n if (required === false || typeof labelSuffix !== 'undefined') {\n return labelSuffix ?? optionalLabelSuffix\n }\n return ''\n }, [required, labelSuffix, optionalLabelSuffix])\n\n const label = useMemo(() => {\n let content = labelProp\n\n if (iterateIndex !== undefined) {\n content = convertJsxToString(labelProp).replace(\n '{itemNo}',\n String(iterateIndex + 1)\n )\n }\n\n if (labelSuffixText) {\n if (convertJsxToString(content).includes(optionalLabelSuffix)) {\n return content\n }\n\n if (typeof content === 'string') {\n return content + ' ' + labelSuffixText\n }\n\n if (React.isValidElement(content)) {\n return (\n <>\n {content}\n {' '}\n {labelSuffixText}\n </>\n )\n }\n }\n\n return content\n }, [iterateIndex, labelProp, labelSuffixText])\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props: StateBasis) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const message = getMessage(cur)\n\n if (existing) {\n existing.messages.push({\n ...cur,\n message,\n })\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages: [\n {\n ...cur,\n message,\n },\n ],\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useEffect(\n () => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n },\n []\n )\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n srOnly: labelSrOnly,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n if (fieldState && typeof label === 'undefined') {\n warn(\n 'Provide a label when using an async validator or onChange event.'\n )\n }\n\n const hasLabelDescription = isFragment(labelDescription)\n ? fragmentHasChildren(labelDescription) &&\n !fragmentHasOnlyUndefinedChildren(labelDescription)\n : labelDescription\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n <LabelDescription labelDescription={labelDescription}>\n {(label || labelDescription) && (\n <FormLabel {...labelProps}>\n <SubmitIndicator state={fieldState}>\n {label}\n {hasLabelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </SubmitIndicator>\n </FormLabel>\n )}\n </LabelDescription>\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth &&\n `dnb-forms-field-block__contents--width-${contentWidth}`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n composition &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction LabelDescription({ labelDescription, children }) {\n if (!labelDescription) {\n return children ?? null\n }\n return <div className=\"dnb-forms-field-block__label\">{children}</div>\n}\n\nexport function getMessage(item: Partial<StateWithMessage>): StateMessage {\n const { content } = item\n\n return ((content instanceof Error && content.message) ||\n (content instanceof FormError && content.message) ||\n content?.toString() ||\n content) as StateMessage\n}\n\nfunction isFragment(fragment: React.ReactNode) {\n return React.isValidElement(fragment) && fragment.type === React.Fragment\n}\n\nfunction fragmentHasChildren(fragment: React.ReactNode) {\n return (\n React.isValidElement(fragment) &&\n React.Children.count(fragment.props.children) > 0\n )\n}\n\nfunction fragmentHasOnlyUndefinedChildren(fragment: React.ReactNode) {\n const isUndefined = (child) => child === undefined\n\n return (\n React.isValidElement(fragment) &&\n React.Children.toArray(fragment.props.children).every(isUndefined)\n )\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlockContext","_Context","_IterateItemContext","_components","_elements","_componentHelper","_useId","_SubmitIndicator","_useSharedState","_useTranslation","_utils","_excluded","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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","states","exports","FieldBlock","props","dataContext","useContext","DataContext","nestedFieldBlockContext","FieldBlockContext","sharedData","createSharedState","forId","id","_Object$assign","data","className","layout","composition","label","labelProp","labelDescription","labelSuffix","labelSrOnly","asFieldset","required","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","align","labelSize","contentClassName","children","rest","hasCustomWidth","test","hasCustomContentWidth","iterateItemContext","IterateElementContext","index","iterateIndex","blockId","useId","wasUpdated","forceUpdate","useReducer","mountedFieldsRef","useRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","useMemo","Boolean","optionalLabelSuffix","useTranslation","Field","labelSuffixText","content","convertJsxToString","replace","includes","React","isValidElement","createElement","Fragment","setInternalRecord","useCallback","stateId","identifier","type","current","existingIndex","findIndex","item","setFieldState","showFieldError","show","map","showInitially","statusContent","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","messages","getMessagesFromError","message","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","_ref2","arr","text","CombineMessages","useEffect","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","srOnly","space","top","bottom","size","mainStyle","contentsStyle","prerenderFieldProps","warn","hasLabelDescription","isFragment","fragmentHasChildren","fragmentHasOnlyUndefinedChildren","Provider","hasErrorProp","Space","style","LabelDescription","FormLabel","FormStatus","ref","_ref3","result","count","findElementInChildren","child","_child$props","_child$type","_ref4","translations","errorSummary","stateSummary","Ul","_ref5","Li","_ref6","FormError","Array","isArray","errors","Error","toString","fragment","Children","isUndefined","toArray","every","_supportsSpacingProps","_default"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport IterateElementContext from '../Iterate/IterateItemContext'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n warn,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport {\n ComponentProps,\n FieldProps,\n SubmitState,\n Identifier,\n FieldBlockWidth,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\nimport { FormError } from '../utils'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelSuffix'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: FieldBlockWidth\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: FieldBlockWidth\n /** For composition only: Align the contents vertically */\n align?: 'center' | 'bottom'\n /** Class name for the contents block */\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n /** For internal use only */\n required?: boolean\n children?: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const sharedData = createSharedState<Props>(\n 'field-block-props-' + (props.forId || props.id)\n )\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label: labelProp,\n labelDescription,\n labelSuffix,\n labelSrOnly,\n asFieldset,\n required,\n info,\n warning,\n error: errorProp,\n fieldState,\n disabled,\n width,\n contentWidth,\n align,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n const hasCustomWidth = /\\d(rem)$/.test(String(width))\n const hasCustomContentWidth = /\\d(rem)$/.test(String(contentWidth))\n\n const iterateItemContext = useContext(IterateElementContext)\n const { index: iterateIndex } = iterateItemContext ?? {}\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const { optionalLabelSuffix } = useTranslation().Field\n const labelSuffixText = useMemo(() => {\n if (required === false || typeof labelSuffix !== 'undefined') {\n return labelSuffix ?? optionalLabelSuffix\n }\n return ''\n }, [required, labelSuffix, optionalLabelSuffix])\n\n const label = useMemo(() => {\n let content = labelProp\n\n if (iterateIndex !== undefined) {\n content = convertJsxToString(labelProp).replace(\n '{itemNo}',\n String(iterateIndex + 1)\n )\n }\n\n if (labelSuffixText) {\n if (convertJsxToString(content).includes(optionalLabelSuffix)) {\n return content\n }\n\n if (typeof content === 'string') {\n return content + ' ' + labelSuffixText\n }\n\n if (React.isValidElement(content)) {\n return (\n <>\n {content}\n {' '}\n {labelSuffixText}\n </>\n )\n }\n }\n\n return content\n }, [iterateIndex, labelProp, labelSuffixText, optionalLabelSuffix])\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props: StateBasis) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const messages = getMessagesFromError(cur).map((message) => {\n return {\n ...cur,\n message,\n }\n })\n\n if (existing) {\n existing.messages.push(...messages)\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages,\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useEffect(\n () => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n },\n []\n )\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width &&\n `dnb-forms-field-block--width-${hasCustomWidth ? 'custom' : width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n srOnly: labelSrOnly,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n const mainStyle = useMemo(() => {\n if (hasCustomWidth) {\n return {\n '--dnb-forms-field-block-width': width,\n } as React.CSSProperties\n }\n }, [hasCustomWidth, width])\n\n const contentsStyle = useMemo(() => {\n if (hasCustomContentWidth) {\n return {\n '--dnb-forms-field-block-content-width': contentWidth,\n } as React.CSSProperties\n }\n }, [contentWidth, hasCustomContentWidth])\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n if (fieldState && typeof label === 'undefined') {\n warn(\n 'Provide a label when using an async validator or onChange event.'\n )\n }\n\n const hasLabelDescription = isFragment(labelDescription)\n ? fragmentHasChildren(labelDescription) &&\n !fragmentHasOnlyUndefinedChildren(labelDescription)\n : labelDescription\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n style={mainStyle}\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n <LabelDescription labelDescription={labelDescription}>\n {(label || labelDescription) && (\n <FormLabel {...labelProps}>\n <SubmitIndicator state={fieldState}>\n {label}\n {hasLabelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </SubmitIndicator>\n </FormLabel>\n )}\n </LabelDescription>\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n style={contentsStyle}\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth &&\n `dnb-forms-field-block__contents--width-${\n hasCustomContentWidth ? 'custom' : contentWidth\n }`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n composition &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction LabelDescription({ labelDescription, children }) {\n if (!labelDescription) {\n return children ?? null\n }\n return <div className=\"dnb-forms-field-block__label\">{children}</div>\n}\n\nexport function getMessagesFromError(\n item: Partial<StateWithMessage>\n): Array<StateMessage> {\n const { content } = item\n\n if (content instanceof FormError && Array.isArray(content.errors)) {\n return content.errors.map((error) => {\n return error.message\n })\n }\n\n return [\n ((content instanceof Error && content.message) ||\n (content instanceof FormError && content.message) ||\n content?.toString() ||\n content) as StateMessage,\n ]\n}\n\nfunction isFragment(fragment: React.ReactNode) {\n return React.isValidElement(fragment) && fragment.type === React.Fragment\n}\n\nfunction fragmentHasChildren(fragment: React.ReactNode) {\n return (\n React.isValidElement(fragment) &&\n React.Children.count(fragment.props.children) > 0\n )\n}\n\nfunction fragmentHasOnlyUndefinedChildren(fragment: React.ReactNode) {\n const isUndefined = (child) => child === undefined\n\n return (\n React.isValidElement(fragment) &&\n React.Children.toArray(fragment.props.children).every(isUndefined)\n )\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":"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"}
@@ -13,7 +13,7 @@ export type StateBasis = {
13
13
  show?: boolean;
14
14
  };
15
15
  export type StateRecord = Record<Identifier, Array<Omit<StateBasis, 'identifier'>>>;
16
- export type StateMessage = React.ReactNode;
16
+ export type StateMessage = string;
17
17
  export type StateWithMessage = StateBasis & {
18
18
  message: StateMessage;
19
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlockContext.js","names":["_react","_interopRequireDefault","require","obj","__esModule","default","FieldBlockContext","React","createContext","undefined","_default","exports"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlockContext.ts"],"sourcesContent":["import React from 'react'\nimport type { FieldProps, Identifier } from '../types'\n\nexport type FieldErrorIdsRef = Record<StateTypes, string>\nexport type MountedFieldsRef = Record<Identifier, boolean>\nexport type StateTypes = 'error' | 'warning' | 'info'\nexport type StateContent =\n | FieldProps<unknown>['error']\n | FieldProps<unknown>['warning']\n | FieldProps<unknown>['info']\nexport type StateBasis = {\n identifier: Identifier\n type: StateTypes\n content: StateContent\n stateId?: string\n showInitially?: boolean\n show?: boolean\n}\nexport type StateRecord = Record<\n Identifier,\n Array<Omit<StateBasis, 'identifier'>>\n>\nexport type StateMessage = React.ReactNode\nexport type StateWithMessage = StateBasis & {\n message: StateMessage\n}\nexport type StatesWithMessages = StateBasis & {\n messages: Array<StateWithMessage>\n}\nexport type StatusContentState = { id: string; text: React.ReactNode }\nexport type StatusContent = {\n error: StatusContentState\n warning: StatusContentState\n info: StatusContentState\n}\n\nexport type FieldBlockContextProps = {\n setFieldState?: ({\n identifier,\n type,\n stateId,\n content,\n showInitially,\n show,\n }: StateBasis) => void\n showFieldError?: (identifier: Identifier, showError: boolean) => void\n hasErrorProp?: boolean\n composition?: true\n fieldStateIdsRef?: React.MutableRefObject<FieldErrorIdsRef>\n mountedFieldsRef?: React.MutableRefObject<MountedFieldsRef>\n}\n\nconst FieldBlockContext = React.createContext<\n FieldBlockContextProps | undefined\n>(undefined)\n\nexport default FieldBlockContext\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyB,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAoDzB,MAAMG,iBAAiB,GAAGC,cAAK,CAACC,aAAa,CAE3CC,SAAS,CAAC;AAAA,IAAAC,QAAA,GAEGJ,iBAAiB;AAAAK,OAAA,CAAAN,OAAA,GAAAK,QAAA"}
1
+ {"version":3,"file":"FieldBlockContext.js","names":["_react","_interopRequireDefault","require","obj","__esModule","default","FieldBlockContext","React","createContext","undefined","_default","exports"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlockContext.ts"],"sourcesContent":["import React from 'react'\nimport type { FieldProps, Identifier } from '../types'\n\nexport type FieldErrorIdsRef = Record<StateTypes, string>\nexport type MountedFieldsRef = Record<Identifier, boolean>\nexport type StateTypes = 'error' | 'warning' | 'info'\nexport type StateContent =\n | FieldProps<unknown>['error']\n | FieldProps<unknown>['warning']\n | FieldProps<unknown>['info']\nexport type StateBasis = {\n identifier: Identifier\n type: StateTypes\n content: StateContent\n stateId?: string\n showInitially?: boolean\n show?: boolean\n}\nexport type StateRecord = Record<\n Identifier,\n Array<Omit<StateBasis, 'identifier'>>\n>\nexport type StateMessage = string\nexport type StateWithMessage = StateBasis & {\n message: StateMessage\n}\nexport type StatesWithMessages = StateBasis & {\n messages: Array<StateWithMessage>\n}\nexport type StatusContentState = { id: string; text: React.ReactNode }\nexport type StatusContent = {\n error: StatusContentState\n warning: StatusContentState\n info: StatusContentState\n}\n\nexport type FieldBlockContextProps = {\n setFieldState?: ({\n identifier,\n type,\n stateId,\n content,\n showInitially,\n show,\n }: StateBasis) => void\n showFieldError?: (identifier: Identifier, showError: boolean) => void\n hasErrorProp?: boolean\n composition?: true\n fieldStateIdsRef?: React.MutableRefObject<FieldErrorIdsRef>\n mountedFieldsRef?: React.MutableRefObject<MountedFieldsRef>\n}\n\nconst FieldBlockContext = React.createContext<\n FieldBlockContextProps | undefined\n>(undefined)\n\nexport default FieldBlockContext\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyB,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAoDzB,MAAMG,iBAAiB,GAAGC,cAAK,CAACC,aAAa,CAE3CC,SAAS,CAAC;AAAA,IAAAC,QAAA,GAEGJ,iBAAiB;AAAAK,OAAA,CAAAN,OAAA,GAAAK,QAAA"}
@@ -31,12 +31,12 @@ const fieldBlockSharedProperties = {
31
31
  status: 'optional'
32
32
  },
33
33
  width: {
34
- doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',
34
+ doc: 'Will set the width for the whole block. Use `small`, `medium`, `large` for predefined standard widths. You can also set a custom width `{number}rem` or use `stretch` or `false`.',
35
35
  type: ['string', 'false'],
36
36
  status: 'optional'
37
37
  },
38
38
  contentWidth: {
39
- doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',
39
+ doc: 'Will set the width for its contents. Use `small`, `medium`, `large` for predefined standard widths. You can also set a custom width `{number}rem` or use `stretch` or `false`.',
40
40
  type: ['string', 'false'],
41
41
  status: 'optional'
42
42
  },
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlockDocs.js","names":["fieldBlockSharedProperties","label","doc","type","status","labelDescription","labelSrOnly","layout","width","contentWidth","exports","fieldBlockProperties","_objectSpread","labelSize","asFieldset","align","composition","disabled"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlockDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../shared/types'\n\nexport const fieldBlockSharedProperties: PropertiesTableProps = {\n label: {\n doc: 'Field label to show above / before the input feature.',\n type: 'string',\n status: 'optional',\n },\n labelDescription: {\n doc: 'A more discreet text displayed beside the label (i.e for \"(optional)\").',\n type: 'string',\n status: 'optional',\n },\n labelSrOnly: {\n doc: 'Use `true` to make the label only readable by screen readers.',\n type: 'boolean',\n status: 'optional',\n },\n layout: {\n doc: 'Layout for the label and input. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n contentWidth: {\n doc: '`small`, `medium`, `large`, `stretch` or `false` for predefined standard widths.',\n type: ['string', 'false'],\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const fieldBlockProperties: PropertiesTableProps = {\n ...fieldBlockSharedProperties,\n labelSize: {\n doc: 'Define one of the following [heading sizes](/uilib/elements/heading/): `medium` or `large`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n asFieldset: {\n doc: 'Use `true` when you have several form elements. This way a `fieldset` with a `legend` is used.',\n type: 'boolean',\n status: 'optional',\n },\n align: {\n doc: '`center` or `bottom` for aligning the contents vertically. Defaults to `bottom`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n composition: {\n doc: 'Use `true` for when you have more than one field wrapped.',\n type: 'string',\n status: 'optional',\n },\n disabled: {\n doc: 'Set `true` to make the inner [FormLabel](/uilib/components/form-label/) behave as disabled.',\n type: 'boolean',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;;;;;;AAEO,MAAMA,0BAAgD,GAAG;EAC9DC,KAAK,EAAE;IACLC,GAAG,EAAE,uDAAuD;IAC5DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,gBAAgB,EAAE;IAChBH,GAAG,EAAE,yEAAyE;IAC9EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,+DAA+D;IACpEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,MAAM,EAAE;IACNL,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,KAAK,EAAE;IACLN,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDK,YAAY,EAAE;IACZP,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAAAM,OAAA,CAAAV,0BAAA,GAAAA,0BAAA;AAEM,MAAMW,oBAA0C,GAAAC,aAAA,CAAAA,aAAA,KAClDZ,0BAA0B;EAC7Ba,SAAS,EAAE;IACTX,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDU,UAAU,EAAE;IACVZ,GAAG,EAAE,gGAAgG;IACrGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,KAAK,EAAE;IACLb,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDY,WAAW,EAAE;IACXd,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDa,QAAQ,EAAE;IACRf,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AAAC,EACF;AAAAM,OAAA,CAAAC,oBAAA,GAAAA,oBAAA"}
1
+ {"version":3,"file":"FieldBlockDocs.js","names":["fieldBlockSharedProperties","label","doc","type","status","labelDescription","labelSrOnly","layout","width","contentWidth","exports","fieldBlockProperties","_objectSpread","labelSize","asFieldset","align","composition","disabled"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlockDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../shared/types'\n\nexport const fieldBlockSharedProperties: PropertiesTableProps = {\n label: {\n doc: 'Field label to show above / before the input feature.',\n type: 'string',\n status: 'optional',\n },\n labelDescription: {\n doc: 'A more discreet text displayed beside the label (i.e for \"(optional)\").',\n type: 'string',\n status: 'optional',\n },\n labelSrOnly: {\n doc: 'Use `true` to make the label only readable by screen readers.',\n type: 'boolean',\n status: 'optional',\n },\n layout: {\n doc: 'Layout for the label and input. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: 'Will set the width for the whole block. Use `small`, `medium`, `large` for predefined standard widths. You can also set a custom width `{number}rem` or use `stretch` or `false`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n contentWidth: {\n doc: 'Will set the width for its contents. Use `small`, `medium`, `large` for predefined standard widths. You can also set a custom width `{number}rem` or use `stretch` or `false`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const fieldBlockProperties: PropertiesTableProps = {\n ...fieldBlockSharedProperties,\n labelSize: {\n doc: 'Define one of the following [heading sizes](/uilib/elements/heading/): `medium` or `large`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n asFieldset: {\n doc: 'Use `true` when you have several form elements. This way a `fieldset` with a `legend` is used.',\n type: 'boolean',\n status: 'optional',\n },\n align: {\n doc: '`center` or `bottom` for aligning the contents vertically. Defaults to `bottom`.',\n type: ['string', 'false'],\n status: 'optional',\n },\n composition: {\n doc: 'Use `true` for when you have more than one field wrapped.',\n type: 'string',\n status: 'optional',\n },\n disabled: {\n doc: 'Set `true` to make the inner [FormLabel](/uilib/components/form-label/) behave as disabled.',\n type: 'boolean',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;;;;;;AAEO,MAAMA,0BAAgD,GAAG;EAC9DC,KAAK,EAAE;IACLC,GAAG,EAAE,uDAAuD;IAC5DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,gBAAgB,EAAE;IAChBH,GAAG,EAAE,yEAAyE;IAC9EC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,WAAW,EAAE;IACXJ,GAAG,EAAE,+DAA+D;IACpEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDG,MAAM,EAAE;IACNL,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,KAAK,EAAE;IACLN,GAAG,EAAE,mLAAmL;IACxLC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDK,YAAY,EAAE;IACZP,GAAG,EAAE,gLAAgL;IACrLC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAAAM,OAAA,CAAAV,0BAAA,GAAAA,0BAAA;AAEM,MAAMW,oBAA0C,GAAAC,aAAA,CAAAA,aAAA,KAClDZ,0BAA0B;EAC7Ba,SAAS,EAAE;IACTX,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDU,UAAU,EAAE;IACVZ,GAAG,EAAE,gGAAgG;IACrGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,KAAK,EAAE;IACLb,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDY,WAAW,EAAE;IACXd,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDa,QAAQ,EAAE;IACRf,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AAAC,EACF;AAAAM,OAAA,CAAAC,oBAAA,GAAAA,oBAAA"}
@@ -55,6 +55,9 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
55
55
  flex-grow: 1;
56
56
  }
57
57
  @media screen and (min-width: 25.00625em) {
58
+ .dnb-forms-field-block--width-custom {
59
+ width: calc(var(--dnb-forms-field-block-width));
60
+ }
58
61
  .dnb-forms-field-block--width-small {
59
62
  width: var(--forms-field-width--small);
60
63
  }
@@ -94,6 +97,9 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
94
97
  width: 100%;
95
98
  }
96
99
  @media screen and (min-width: 25.00625em) {
100
+ .dnb-forms-field-block__contents--width-custom {
101
+ width: calc(var(--dnb-forms-field-block-content-width));
102
+ }
97
103
  .dnb-forms-field-block__contents--width-small {
98
104
  width: var(--forms-field-width--small);
99
105
  }
@@ -1 +1 @@
1
- :root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25.00625em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25.00625em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25.00625em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}.dnb-forms-field-block__contents__composition--horizontal[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}
1
+ :root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25.00625em){.dnb-forms-field-block--width-custom{width:calc(var(--dnb-forms-field-block-width))}.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25.00625em){.dnb-forms-field-block__contents--width-custom{width:calc(var(--dnb-forms-field-block-content-width))}.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25.00625em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}.dnb-forms-field-block__contents__composition--horizontal[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}
@@ -53,6 +53,9 @@ fieldset.dnb-forms-field-block {
53
53
  flex-grow: 1;
54
54
  }
55
55
  @include allAbove(x-small) {
56
+ &-custom {
57
+ width: calc(var(--dnb-forms-field-block-width));
58
+ }
56
59
  &-small {
57
60
  width: var(--forms-field-width--small);
58
61
  }
@@ -98,6 +101,9 @@ fieldset.dnb-forms-field-block {
98
101
  width: 100%;
99
102
  }
100
103
  @include allAbove(x-small) {
104
+ &-custom {
105
+ width: calc(var(--dnb-forms-field-block-content-width));
106
+ }
101
107
  &-small {
102
108
  width: var(--forms-field-width--small);
103
109
  }
@@ -106,8 +106,7 @@ function FormElementWithState(_ref2) {
106
106
  show: Boolean(value),
107
107
  no_animation: false,
108
108
  shellSpace: {
109
- top: 'small',
110
- bottom: 'medium'
109
+ top: 'small'
111
110
  }
112
111
  }, String((value === null || value === void 0 ? void 0 : value['message']) || value || ''));
113
112
  }));