@dnb/eufemia 10.53.0 → 10.54.1

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 (816) hide show
  1. package/CHANGELOG.md +42 -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/radio/Radio.js +1 -2
  71. package/cjs/components/radio/Radio.js.map +1 -1
  72. package/cjs/components/table/TableClickableHead.js +1 -1
  73. package/cjs/components/table/TableClickableHead.js.map +1 -1
  74. package/cjs/components/table/style/dnb-table.css +0 -9
  75. package/cjs/components/table/style/dnb-table.min.css +1 -1
  76. package/cjs/components/table/style/dnb-table.scss +3 -1
  77. package/cjs/components/table/style/table-accordion.scss +0 -10
  78. package/cjs/components/table/style/table-container.scss +3 -2
  79. package/cjs/components/table/style/table-td.scss +2 -1
  80. package/cjs/components/tabs/Tabs.js +2 -3
  81. package/cjs/components/tabs/Tabs.js.map +1 -1
  82. package/cjs/components/toggle-button/ToggleButton.js +2 -3
  83. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  84. package/cjs/components/upload/UploadDocs.js +2 -2
  85. package/cjs/components/upload/UploadDocs.js.map +1 -1
  86. package/cjs/components/upload/UploadFileListCell.js +2 -8
  87. package/cjs/components/upload/UploadFileListCell.js.map +1 -1
  88. package/cjs/components/upload/UploadInfo.js +9 -6
  89. package/cjs/components/upload/UploadInfo.js.map +1 -1
  90. package/cjs/components/upload/style/dnb-upload.css +1 -1
  91. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  92. package/cjs/components/upload/style/dnb-upload.scss +1 -1
  93. package/cjs/extensions/forms/DataContext/Context.d.ts +12 -9
  94. package/cjs/extensions/forms/DataContext/Context.js +2 -4
  95. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  96. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  97. package/cjs/extensions/forms/DataContext/Provider/Provider.js +34 -20
  98. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  99. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  100. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  101. package/cjs/extensions/forms/DataContext/index.d.ts +3 -0
  102. package/cjs/extensions/forms/DataContext/index.js +5 -0
  103. package/cjs/extensions/forms/DataContext/index.js.map +1 -1
  104. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +6 -2
  105. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +30 -11
  106. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  107. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -7
  108. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  109. package/cjs/extensions/forms/Field/Date/Date.js +21 -5
  110. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  111. package/cjs/extensions/forms/Field/Email/Email.js +13 -8
  112. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  113. package/cjs/extensions/forms/Field/Expiry/Expiry.js +42 -34
  114. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  115. package/cjs/extensions/forms/Field/Name/Name.js +20 -13
  116. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
  117. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  118. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +8 -17
  119. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  120. package/cjs/extensions/forms/Field/Number/Number.d.ts +4 -11
  121. package/cjs/extensions/forms/Field/Number/Number.js +14 -16
  122. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  123. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  124. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  125. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  126. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +43 -30
  127. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  128. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -4
  129. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  130. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  131. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  132. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  133. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  134. package/cjs/extensions/forms/Field/Selection/Selection.js +39 -18
  135. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  136. package/cjs/extensions/forms/Field/Slider/Slider.js +34 -12
  137. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  138. package/cjs/extensions/forms/Field/String/String.d.ts +2 -9
  139. package/cjs/extensions/forms/Field/String/String.js +9 -12
  140. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  141. package/cjs/extensions/forms/Field/Toggle/Toggle.js +8 -1
  142. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  143. package/cjs/extensions/forms/Field/Upload/Upload.js +6 -8
  144. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  145. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  146. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +16 -11
  147. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  148. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  149. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  150. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -2
  151. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  152. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  153. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  154. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +9 -5
  155. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  156. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  157. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  158. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  159. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  160. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  161. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  162. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +7 -5
  163. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  164. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  165. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  166. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  167. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  168. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  169. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  170. package/cjs/extensions/forms/Iterate/Array/Array.js +2 -2
  171. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  172. package/cjs/extensions/forms/Tools/Log.js +2 -2
  173. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  174. package/cjs/extensions/forms/Value/Date/Date.d.ts +5 -0
  175. package/cjs/extensions/forms/Value/Date/Date.js +27 -13
  176. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  177. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  178. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  179. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  180. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  181. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +8 -8
  182. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  183. package/cjs/extensions/forms/constants/countries.js +20 -20
  184. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  185. package/cjs/extensions/forms/hooks/index.d.ts +2 -1
  186. package/cjs/extensions/forms/hooks/index.js +1 -1
  187. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  188. package/cjs/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  189. package/cjs/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  190. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +4 -3
  191. package/cjs/extensions/forms/hooks/useFieldProps.js +136 -71
  192. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  193. package/cjs/extensions/forms/hooks/usePath.d.ts +3 -0
  194. package/cjs/extensions/forms/hooks/usePath.js +2 -1
  195. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  196. package/cjs/extensions/forms/hooks/useProcessManager.js +1 -1
  197. package/cjs/extensions/forms/hooks/useProcessManager.js.map +1 -1
  198. package/cjs/extensions/forms/hooks/useTranslation.d.ts +2 -2
  199. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  200. package/cjs/extensions/forms/style/dnb-forms.css +1 -6
  201. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  202. package/cjs/extensions/forms/types.d.ts +59 -36
  203. package/cjs/extensions/forms/types.js +0 -17
  204. package/cjs/extensions/forms/types.js.map +1 -1
  205. package/cjs/extensions/forms/utils/FormError.d.ts +45 -0
  206. package/cjs/extensions/forms/utils/FormError.js +25 -0
  207. package/cjs/extensions/forms/utils/FormError.js.map +1 -0
  208. package/cjs/extensions/forms/utils/ajv.d.ts +17 -1
  209. package/cjs/extensions/forms/utils/ajv.js +82 -7
  210. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  211. package/cjs/extensions/forms/utils/errors.d.ts +1 -1
  212. package/cjs/extensions/forms/utils/errors.js.map +1 -1
  213. package/cjs/extensions/forms/utils/index.d.ts +2 -0
  214. package/cjs/extensions/forms/utils/index.js +24 -0
  215. package/cjs/extensions/forms/utils/index.js.map +1 -1
  216. package/cjs/fragments/drawer-list/DrawerList.js +1 -2
  217. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  218. package/cjs/fragments/drawer-list/DrawerListProvider.js +2 -3
  219. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  220. package/cjs/index.d.ts +2 -1
  221. package/cjs/index.js +7 -0
  222. package/cjs/index.js.map +1 -1
  223. package/cjs/shared/Eufemia.d.ts +1 -1
  224. package/cjs/shared/Eufemia.js +2 -2
  225. package/cjs/shared/Eufemia.js.map +1 -1
  226. package/cjs/shared/component-helper.d.ts +2 -1
  227. package/cjs/shared/component-helper.js +9 -2
  228. package/cjs/shared/component-helper.js.map +1 -1
  229. package/cjs/shared/keycode.d.ts +75 -0
  230. package/cjs/shared/keycode.js +138 -0
  231. package/cjs/shared/keycode.js.map +1 -0
  232. package/cjs/shared/libs/Shortcuts.js +1 -3
  233. package/cjs/shared/libs/Shortcuts.js.map +1 -1
  234. package/cjs/shared/locales/nb-NO.js +2 -2
  235. package/cjs/shared/locales/nb-NO.js.map +1 -1
  236. package/cjs/shared/useTranslation.d.ts +2 -2
  237. package/cjs/shared/useTranslation.js.map +1 -1
  238. package/cjs/style/core/scopes.scss +1 -1
  239. package/cjs/style/dnb-ui-basis.css +1 -1
  240. package/cjs/style/dnb-ui-basis.min.css +1 -1
  241. package/cjs/style/dnb-ui-body.css +1 -1
  242. package/cjs/style/dnb-ui-body.min.css +1 -1
  243. package/cjs/style/dnb-ui-components.css +1308 -187
  244. package/cjs/style/dnb-ui-components.min.css +3 -3
  245. package/cjs/style/dnb-ui-components.scss +2 -0
  246. package/cjs/style/dnb-ui-core.css +1 -1
  247. package/cjs/style/dnb-ui-core.min.css +1 -1
  248. package/cjs/style/dnb-ui-extensions.css +1 -6
  249. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  250. package/cjs/style/dnb-ui-forms.css +1 -6
  251. package/cjs/style/dnb-ui-forms.min.css +1 -1
  252. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +1297 -181
  253. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  254. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -6
  255. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  256. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -6
  257. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  258. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +1297 -181
  259. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  260. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -6
  261. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  262. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -6
  263. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  264. package/cjs/style/themes/theme-ui/ui-theme-components.css +1297 -181
  265. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  266. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +1 -6
  267. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  268. package/cjs/style/themes/theme-ui/ui-theme-forms.css +1 -6
  269. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  270. package/components/CountryFlag.d.ts +12 -0
  271. package/components/CountryFlag.js +4 -0
  272. package/components/CountryFlag.js.map +1 -0
  273. package/components/autocomplete/Autocomplete.js +1 -2
  274. package/components/autocomplete/Autocomplete.js.map +1 -1
  275. package/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  276. package/components/checkbox/Checkbox.js +1 -2
  277. package/components/checkbox/Checkbox.js.map +1 -1
  278. package/components/country-flag/CountryFlag.d.ts +11 -0
  279. package/components/country-flag/CountryFlag.js +38 -0
  280. package/components/country-flag/CountryFlag.js.map +1 -0
  281. package/components/country-flag/CountryFlagDocs.d.ts +2 -0
  282. package/components/country-flag/CountryFlagDocs.js +18 -0
  283. package/components/country-flag/CountryFlagDocs.js.map +1 -0
  284. package/components/country-flag/index.d.ts +7 -0
  285. package/components/country-flag/index.js +4 -0
  286. package/components/country-flag/index.js.map +1 -0
  287. package/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
  288. package/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
  289. package/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
  290. package/components/country-flag/style/dnb-country-flag.css +42 -0
  291. package/components/country-flag/style/dnb-country-flag.min.css +1 -0
  292. package/components/country-flag/style/dnb-country-flag.scss +53 -0
  293. package/components/country-flag/style/index.d.ts +5 -0
  294. package/components/country-flag/style/index.js +1 -0
  295. package/components/country-flag/style/index.js.map +1 -0
  296. package/components/country-flag/style.d.ts +5 -0
  297. package/components/country-flag/style.js +1 -0
  298. package/components/country-flag/style.js.map +1 -0
  299. package/components/date-picker/DatePickerCalendar.js +1 -1
  300. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  301. package/components/date-picker/DatePickerInput.js +1 -2
  302. package/components/date-picker/DatePickerInput.js.map +1 -1
  303. package/components/dialog/Dialog.js +3 -1
  304. package/components/dialog/Dialog.js.map +1 -1
  305. package/components/dialog/DialogDocs.d.ts +2 -0
  306. package/components/dialog/DialogDocs.js +113 -0
  307. package/components/dialog/DialogDocs.js.map +1 -0
  308. package/components/dropdown/Dropdown.js +1 -2
  309. package/components/dropdown/Dropdown.js.map +1 -1
  310. package/components/global-status/GlobalStatus.js +1 -2
  311. package/components/global-status/GlobalStatus.js.map +1 -1
  312. package/components/index.d.ts +2 -1
  313. package/components/index.js +2 -1
  314. package/components/index.js.map +1 -1
  315. package/components/input-masked/InputMaskedHooks.js +1 -2
  316. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  317. package/components/input-masked/InputMaskedUtils.js +9 -5
  318. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  319. package/components/lib.d.ts +10 -1
  320. package/components/lib.js +3 -1
  321. package/components/lib.js.map +1 -1
  322. package/components/modal/Modal.d.ts +1 -0
  323. package/components/modal/Modal.js +4 -1
  324. package/components/modal/Modal.js.map +1 -1
  325. package/components/modal/ModalContent.js +4 -4
  326. package/components/modal/ModalContent.js.map +1 -1
  327. package/components/modal/style/dnb-modal.css +4 -0
  328. package/components/modal/style/dnb-modal.min.css +1 -1
  329. package/components/modal/style/dnb-modal.scss +5 -0
  330. package/components/modal/types.d.ts +4 -0
  331. package/components/modal/types.js.map +1 -1
  332. package/components/number-format/NumberUtils.d.ts +2 -2
  333. package/components/number-format/NumberUtils.js +1 -1
  334. package/components/number-format/NumberUtils.js.map +1 -1
  335. package/components/pagination/Pagination.d.ts +3 -3
  336. package/components/pagination/PaginationBar.d.ts +1 -1
  337. package/components/pagination/PaginationBar.js.map +1 -1
  338. package/components/radio/Radio.js +1 -2
  339. package/components/radio/Radio.js.map +1 -1
  340. package/components/table/TableClickableHead.js +1 -1
  341. package/components/table/TableClickableHead.js.map +1 -1
  342. package/components/table/style/dnb-table.css +0 -9
  343. package/components/table/style/dnb-table.min.css +1 -1
  344. package/components/table/style/dnb-table.scss +3 -1
  345. package/components/table/style/table-accordion.scss +0 -10
  346. package/components/table/style/table-container.scss +3 -2
  347. package/components/table/style/table-td.scss +2 -1
  348. package/components/tabs/Tabs.js +1 -2
  349. package/components/tabs/Tabs.js.map +1 -1
  350. package/components/toggle-button/ToggleButton.js +1 -2
  351. package/components/toggle-button/ToggleButton.js.map +1 -1
  352. package/components/upload/UploadDocs.js +2 -2
  353. package/components/upload/UploadDocs.js.map +1 -1
  354. package/components/upload/UploadFileListCell.js +2 -8
  355. package/components/upload/UploadFileListCell.js.map +1 -1
  356. package/components/upload/UploadInfo.js +9 -6
  357. package/components/upload/UploadInfo.js.map +1 -1
  358. package/components/upload/style/dnb-upload.css +1 -1
  359. package/components/upload/style/dnb-upload.min.css +1 -1
  360. package/components/upload/style/dnb-upload.scss +1 -1
  361. package/es/components/CountryFlag.d.ts +12 -0
  362. package/es/components/CountryFlag.js +4 -0
  363. package/es/components/CountryFlag.js.map +1 -0
  364. package/es/components/autocomplete/Autocomplete.js +1 -2
  365. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  366. package/es/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  367. package/es/components/checkbox/Checkbox.js +1 -2
  368. package/es/components/checkbox/Checkbox.js.map +1 -1
  369. package/es/components/country-flag/CountryFlag.d.ts +11 -0
  370. package/es/components/country-flag/CountryFlag.js +38 -0
  371. package/es/components/country-flag/CountryFlag.js.map +1 -0
  372. package/es/components/country-flag/CountryFlagDocs.d.ts +2 -0
  373. package/es/components/country-flag/CountryFlagDocs.js +18 -0
  374. package/es/components/country-flag/CountryFlagDocs.js.map +1 -0
  375. package/es/components/country-flag/index.d.ts +7 -0
  376. package/es/components/country-flag/index.js +4 -0
  377. package/es/components/country-flag/index.js.map +1 -0
  378. package/es/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
  379. package/es/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
  380. package/es/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
  381. package/es/components/country-flag/style/dnb-country-flag.css +42 -0
  382. package/es/components/country-flag/style/dnb-country-flag.min.css +1 -0
  383. package/es/components/country-flag/style/dnb-country-flag.scss +53 -0
  384. package/es/components/country-flag/style/index.d.ts +5 -0
  385. package/es/components/country-flag/style/index.js +1 -0
  386. package/es/components/country-flag/style/index.js.map +1 -0
  387. package/es/components/country-flag/style.d.ts +5 -0
  388. package/es/components/country-flag/style.js +1 -0
  389. package/es/components/country-flag/style.js.map +1 -0
  390. package/es/components/date-picker/DatePickerCalendar.js +1 -1
  391. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  392. package/es/components/date-picker/DatePickerInput.js +1 -2
  393. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  394. package/es/components/dialog/Dialog.js +3 -1
  395. package/es/components/dialog/Dialog.js.map +1 -1
  396. package/es/components/dialog/DialogDocs.d.ts +2 -0
  397. package/es/components/dialog/DialogDocs.js +113 -0
  398. package/es/components/dialog/DialogDocs.js.map +1 -0
  399. package/es/components/dropdown/Dropdown.js +1 -2
  400. package/es/components/dropdown/Dropdown.js.map +1 -1
  401. package/es/components/global-status/GlobalStatus.js +1 -2
  402. package/es/components/global-status/GlobalStatus.js.map +1 -1
  403. package/es/components/index.d.ts +2 -1
  404. package/es/components/index.js +2 -1
  405. package/es/components/index.js.map +1 -1
  406. package/es/components/input-masked/InputMaskedHooks.js +1 -2
  407. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  408. package/es/components/input-masked/InputMaskedUtils.js +9 -5
  409. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  410. package/es/components/lib.d.ts +10 -1
  411. package/es/components/lib.js +3 -1
  412. package/es/components/lib.js.map +1 -1
  413. package/es/components/modal/Modal.d.ts +1 -0
  414. package/es/components/modal/Modal.js +4 -1
  415. package/es/components/modal/Modal.js.map +1 -1
  416. package/es/components/modal/ModalContent.js +4 -4
  417. package/es/components/modal/ModalContent.js.map +1 -1
  418. package/es/components/modal/style/dnb-modal.css +4 -0
  419. package/es/components/modal/style/dnb-modal.min.css +1 -1
  420. package/es/components/modal/style/dnb-modal.scss +5 -0
  421. package/es/components/modal/types.d.ts +4 -0
  422. package/es/components/modal/types.js.map +1 -1
  423. package/es/components/number-format/NumberUtils.d.ts +2 -2
  424. package/es/components/number-format/NumberUtils.js +1 -1
  425. package/es/components/number-format/NumberUtils.js.map +1 -1
  426. package/es/components/pagination/Pagination.d.ts +3 -3
  427. package/es/components/pagination/PaginationBar.d.ts +1 -1
  428. package/es/components/pagination/PaginationBar.js.map +1 -1
  429. package/es/components/radio/Radio.js +1 -2
  430. package/es/components/radio/Radio.js.map +1 -1
  431. package/es/components/table/TableClickableHead.js +1 -1
  432. package/es/components/table/TableClickableHead.js.map +1 -1
  433. package/es/components/table/style/dnb-table.css +0 -9
  434. package/es/components/table/style/dnb-table.min.css +1 -1
  435. package/es/components/table/style/dnb-table.scss +3 -1
  436. package/es/components/table/style/table-accordion.scss +0 -10
  437. package/es/components/table/style/table-container.scss +3 -2
  438. package/es/components/table/style/table-td.scss +2 -1
  439. package/es/components/tabs/Tabs.js +1 -2
  440. package/es/components/tabs/Tabs.js.map +1 -1
  441. package/es/components/toggle-button/ToggleButton.js +1 -2
  442. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  443. package/es/components/upload/UploadDocs.js +2 -2
  444. package/es/components/upload/UploadDocs.js.map +1 -1
  445. package/es/components/upload/UploadFileListCell.js +2 -8
  446. package/es/components/upload/UploadFileListCell.js.map +1 -1
  447. package/es/components/upload/UploadInfo.js +9 -6
  448. package/es/components/upload/UploadInfo.js.map +1 -1
  449. package/es/components/upload/style/dnb-upload.css +1 -1
  450. package/es/components/upload/style/dnb-upload.min.css +1 -1
  451. package/es/components/upload/style/dnb-upload.scss +1 -1
  452. package/es/extensions/forms/DataContext/Context.d.ts +12 -9
  453. package/es/extensions/forms/DataContext/Context.js +1 -3
  454. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  455. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  456. package/es/extensions/forms/DataContext/Provider/Provider.js +32 -18
  457. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  458. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  459. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  460. package/es/extensions/forms/DataContext/index.d.ts +3 -0
  461. package/es/extensions/forms/DataContext/index.js +5 -0
  462. package/es/extensions/forms/DataContext/index.js.map +1 -1
  463. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +6 -2
  464. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +24 -9
  465. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  466. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -7
  467. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  468. package/es/extensions/forms/Field/Date/Date.js +23 -6
  469. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  470. package/es/extensions/forms/Field/Email/Email.js +11 -8
  471. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  472. package/es/extensions/forms/Field/Expiry/Expiry.js +42 -34
  473. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  474. package/es/extensions/forms/Field/Name/Name.js +18 -13
  475. package/es/extensions/forms/Field/Name/Name.js.map +1 -1
  476. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  477. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -15
  478. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  479. package/es/extensions/forms/Field/Number/Number.d.ts +4 -11
  480. package/es/extensions/forms/Field/Number/Number.js +15 -17
  481. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  482. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  483. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  484. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  485. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +44 -31
  486. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  487. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -4
  488. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  489. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  490. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  491. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  492. package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  493. package/es/extensions/forms/Field/Selection/Selection.js +37 -15
  494. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  495. package/es/extensions/forms/Field/Slider/Slider.js +35 -13
  496. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  497. package/es/extensions/forms/Field/String/String.d.ts +2 -9
  498. package/es/extensions/forms/Field/String/String.js +10 -13
  499. package/es/extensions/forms/Field/String/String.js.map +1 -1
  500. package/es/extensions/forms/Field/Toggle/Toggle.js +9 -2
  501. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  502. package/es/extensions/forms/Field/Upload/Upload.js +7 -9
  503. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  504. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  505. package/es/extensions/forms/FieldBlock/FieldBlock.js +15 -10
  506. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  507. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  508. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  509. package/es/extensions/forms/Form/Handler/Handler.js +1 -2
  510. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  511. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  512. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  513. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +8 -4
  514. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  515. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  516. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  517. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  518. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  519. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  520. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  521. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +6 -4
  522. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  523. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  524. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  525. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  526. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  527. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  528. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  529. package/es/extensions/forms/Iterate/Array/Array.js +3 -3
  530. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  531. package/es/extensions/forms/Tools/Log.js +2 -2
  532. package/es/extensions/forms/Tools/Log.js.map +1 -1
  533. package/es/extensions/forms/Value/Date/Date.d.ts +5 -0
  534. package/es/extensions/forms/Value/Date/Date.js +25 -14
  535. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  536. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  537. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  538. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  539. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  540. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +8 -8
  541. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  542. package/es/extensions/forms/constants/countries.js +20 -20
  543. package/es/extensions/forms/constants/countries.js.map +1 -1
  544. package/es/extensions/forms/hooks/index.d.ts +2 -1
  545. package/es/extensions/forms/hooks/index.js +1 -1
  546. package/es/extensions/forms/hooks/index.js.map +1 -1
  547. package/es/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  548. package/es/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  549. package/es/extensions/forms/hooks/useFieldProps.d.ts +4 -3
  550. package/es/extensions/forms/hooks/useFieldProps.js +134 -69
  551. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  552. package/es/extensions/forms/hooks/usePath.d.ts +3 -0
  553. package/es/extensions/forms/hooks/usePath.js +2 -1
  554. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  555. package/es/extensions/forms/hooks/useProcessManager.js +1 -1
  556. package/es/extensions/forms/hooks/useProcessManager.js.map +1 -1
  557. package/es/extensions/forms/hooks/useTranslation.d.ts +2 -2
  558. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  559. package/es/extensions/forms/style/dnb-forms.css +1 -6
  560. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  561. package/es/extensions/forms/types.d.ts +59 -36
  562. package/es/extensions/forms/types.js +0 -13
  563. package/es/extensions/forms/types.js.map +1 -1
  564. package/es/extensions/forms/utils/FormError.d.ts +45 -0
  565. package/es/extensions/forms/utils/FormError.js +16 -0
  566. package/es/extensions/forms/utils/FormError.js.map +1 -0
  567. package/es/extensions/forms/utils/ajv.d.ts +17 -1
  568. package/es/extensions/forms/utils/ajv.js +72 -7
  569. package/es/extensions/forms/utils/ajv.js.map +1 -1
  570. package/es/extensions/forms/utils/errors.d.ts +1 -1
  571. package/es/extensions/forms/utils/errors.js.map +1 -1
  572. package/es/extensions/forms/utils/index.d.ts +2 -0
  573. package/es/extensions/forms/utils/index.js +2 -0
  574. package/es/extensions/forms/utils/index.js.map +1 -1
  575. package/es/fragments/drawer-list/DrawerList.js +1 -2
  576. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  577. package/es/fragments/drawer-list/DrawerListProvider.js +1 -2
  578. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  579. package/es/index.d.ts +2 -1
  580. package/es/index.js +2 -1
  581. package/es/index.js.map +1 -1
  582. package/es/shared/Eufemia.d.ts +1 -1
  583. package/es/shared/Eufemia.js +2 -2
  584. package/es/shared/Eufemia.js.map +1 -1
  585. package/es/shared/component-helper.d.ts +2 -1
  586. package/es/shared/component-helper.js +2 -2
  587. package/es/shared/component-helper.js.map +1 -1
  588. package/es/shared/keycode.d.ts +75 -0
  589. package/es/shared/keycode.js +127 -0
  590. package/es/shared/keycode.js.map +1 -0
  591. package/es/shared/libs/Shortcuts.js +1 -2
  592. package/es/shared/libs/Shortcuts.js.map +1 -1
  593. package/es/shared/locales/nb-NO.js +2 -2
  594. package/es/shared/locales/nb-NO.js.map +1 -1
  595. package/es/shared/useTranslation.d.ts +2 -2
  596. package/es/shared/useTranslation.js.map +1 -1
  597. package/es/style/core/scopes.scss +1 -1
  598. package/es/style/dnb-ui-basis.css +1 -1
  599. package/es/style/dnb-ui-basis.min.css +1 -1
  600. package/es/style/dnb-ui-body.css +1 -1
  601. package/es/style/dnb-ui-body.min.css +1 -1
  602. package/es/style/dnb-ui-components.css +1308 -187
  603. package/es/style/dnb-ui-components.min.css +3 -3
  604. package/es/style/dnb-ui-components.scss +2 -0
  605. package/es/style/dnb-ui-core.css +1 -1
  606. package/es/style/dnb-ui-core.min.css +1 -1
  607. package/es/style/dnb-ui-extensions.css +1 -6
  608. package/es/style/dnb-ui-extensions.min.css +1 -1
  609. package/es/style/dnb-ui-forms.css +1 -6
  610. package/es/style/dnb-ui-forms.min.css +1 -1
  611. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +1297 -181
  612. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  613. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -6
  614. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  615. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -6
  616. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  617. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +1297 -181
  618. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  619. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -6
  620. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  621. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -6
  622. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  623. package/es/style/themes/theme-ui/ui-theme-components.css +1297 -181
  624. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  625. package/es/style/themes/theme-ui/ui-theme-extensions.css +1 -6
  626. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  627. package/es/style/themes/theme-ui/ui-theme-forms.css +1 -6
  628. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  629. package/esm/dnb-ui-basis.min.mjs +1 -1
  630. package/esm/dnb-ui-components.min.mjs +1 -1
  631. package/esm/dnb-ui-elements.min.mjs +1 -1
  632. package/esm/dnb-ui-extensions.min.mjs +5 -5
  633. package/esm/dnb-ui-lib.min.mjs +1 -1
  634. package/extensions/forms/DataContext/Context.d.ts +12 -9
  635. package/extensions/forms/DataContext/Context.js +1 -3
  636. package/extensions/forms/DataContext/Context.js.map +1 -1
  637. package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  638. package/extensions/forms/DataContext/Provider/Provider.js +32 -18
  639. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  640. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  641. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  642. package/extensions/forms/DataContext/index.d.ts +3 -0
  643. package/extensions/forms/DataContext/index.js +5 -0
  644. package/extensions/forms/DataContext/index.js.map +1 -1
  645. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +6 -2
  646. package/extensions/forms/Field/ArraySelection/ArraySelection.js +30 -11
  647. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  648. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -7
  649. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  650. package/extensions/forms/Field/Date/Date.js +23 -6
  651. package/extensions/forms/Field/Date/Date.js.map +1 -1
  652. package/extensions/forms/Field/Email/Email.js +11 -8
  653. package/extensions/forms/Field/Email/Email.js.map +1 -1
  654. package/extensions/forms/Field/Expiry/Expiry.js +42 -34
  655. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  656. package/extensions/forms/Field/Name/Name.js +18 -13
  657. package/extensions/forms/Field/Name/Name.js.map +1 -1
  658. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  659. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -15
  660. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  661. package/extensions/forms/Field/Number/Number.d.ts +4 -11
  662. package/extensions/forms/Field/Number/Number.js +15 -17
  663. package/extensions/forms/Field/Number/Number.js.map +1 -1
  664. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  665. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  666. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  667. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +44 -31
  668. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  669. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -4
  670. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  671. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  672. package/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  673. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  674. package/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  675. package/extensions/forms/Field/Selection/Selection.js +38 -17
  676. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  677. package/extensions/forms/Field/Slider/Slider.js +35 -13
  678. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  679. package/extensions/forms/Field/String/String.d.ts +2 -9
  680. package/extensions/forms/Field/String/String.js +10 -13
  681. package/extensions/forms/Field/String/String.js.map +1 -1
  682. package/extensions/forms/Field/Toggle/Toggle.js +9 -2
  683. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  684. package/extensions/forms/Field/Upload/Upload.js +7 -9
  685. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  686. package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  687. package/extensions/forms/FieldBlock/FieldBlock.js +15 -10
  688. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  689. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  690. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  691. package/extensions/forms/Form/Handler/Handler.js +1 -2
  692. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  693. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  694. package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  695. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +8 -4
  696. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  697. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  698. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  699. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  700. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  701. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  702. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  703. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +6 -4
  704. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  705. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  706. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  707. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  708. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  709. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  710. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  711. package/extensions/forms/Iterate/Array/Array.js +3 -3
  712. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  713. package/extensions/forms/Tools/Log.js +2 -2
  714. package/extensions/forms/Tools/Log.js.map +1 -1
  715. package/extensions/forms/Value/Date/Date.d.ts +5 -0
  716. package/extensions/forms/Value/Date/Date.js +26 -14
  717. package/extensions/forms/Value/Date/Date.js.map +1 -1
  718. package/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  719. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  720. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  721. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  722. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +8 -8
  723. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  724. package/extensions/forms/constants/countries.js +20 -20
  725. package/extensions/forms/constants/countries.js.map +1 -1
  726. package/extensions/forms/hooks/index.d.ts +2 -1
  727. package/extensions/forms/hooks/index.js +1 -1
  728. package/extensions/forms/hooks/index.js.map +1 -1
  729. package/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  730. package/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  731. package/extensions/forms/hooks/useFieldProps.d.ts +4 -3
  732. package/extensions/forms/hooks/useFieldProps.js +136 -71
  733. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  734. package/extensions/forms/hooks/usePath.d.ts +3 -0
  735. package/extensions/forms/hooks/usePath.js +2 -1
  736. package/extensions/forms/hooks/usePath.js.map +1 -1
  737. package/extensions/forms/hooks/useProcessManager.js +1 -1
  738. package/extensions/forms/hooks/useProcessManager.js.map +1 -1
  739. package/extensions/forms/hooks/useTranslation.d.ts +2 -2
  740. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  741. package/extensions/forms/style/dnb-forms.css +1 -6
  742. package/extensions/forms/style/dnb-forms.min.css +1 -1
  743. package/extensions/forms/types.d.ts +59 -36
  744. package/extensions/forms/types.js +0 -13
  745. package/extensions/forms/types.js.map +1 -1
  746. package/extensions/forms/utils/FormError.d.ts +45 -0
  747. package/extensions/forms/utils/FormError.js +16 -0
  748. package/extensions/forms/utils/FormError.js.map +1 -0
  749. package/extensions/forms/utils/ajv.d.ts +17 -1
  750. package/extensions/forms/utils/ajv.js +77 -7
  751. package/extensions/forms/utils/ajv.js.map +1 -1
  752. package/extensions/forms/utils/errors.d.ts +1 -1
  753. package/extensions/forms/utils/errors.js.map +1 -1
  754. package/extensions/forms/utils/index.d.ts +2 -0
  755. package/extensions/forms/utils/index.js +2 -0
  756. package/extensions/forms/utils/index.js.map +1 -1
  757. package/fragments/drawer-list/DrawerList.js +1 -2
  758. package/fragments/drawer-list/DrawerList.js.map +1 -1
  759. package/fragments/drawer-list/DrawerListProvider.js +1 -2
  760. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  761. package/index.d.ts +2 -1
  762. package/index.js +2 -1
  763. package/index.js.map +1 -1
  764. package/package.json +2 -2
  765. package/shared/Eufemia.d.ts +1 -1
  766. package/shared/Eufemia.js +2 -2
  767. package/shared/Eufemia.js.map +1 -1
  768. package/shared/component-helper.d.ts +2 -1
  769. package/shared/component-helper.js +2 -2
  770. package/shared/component-helper.js.map +1 -1
  771. package/shared/keycode.d.ts +75 -0
  772. package/shared/keycode.js +127 -0
  773. package/shared/keycode.js.map +1 -0
  774. package/shared/libs/Shortcuts.js +1 -2
  775. package/shared/libs/Shortcuts.js.map +1 -1
  776. package/shared/locales/nb-NO.js +2 -2
  777. package/shared/locales/nb-NO.js.map +1 -1
  778. package/shared/useTranslation.d.ts +2 -2
  779. package/shared/useTranslation.js.map +1 -1
  780. package/style/core/scopes.scss +1 -1
  781. package/style/dnb-ui-basis.css +1 -1
  782. package/style/dnb-ui-basis.min.css +1 -1
  783. package/style/dnb-ui-body.css +1 -1
  784. package/style/dnb-ui-body.min.css +1 -1
  785. package/style/dnb-ui-components.css +1308 -187
  786. package/style/dnb-ui-components.min.css +3 -3
  787. package/style/dnb-ui-components.scss +2 -0
  788. package/style/dnb-ui-core.css +1 -1
  789. package/style/dnb-ui-core.min.css +1 -1
  790. package/style/dnb-ui-extensions.css +1 -6
  791. package/style/dnb-ui-extensions.min.css +1 -1
  792. package/style/dnb-ui-forms.css +1 -6
  793. package/style/dnb-ui-forms.min.css +1 -1
  794. package/style/themes/theme-eiendom/eiendom-theme-components.css +1297 -181
  795. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  796. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -6
  797. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  798. package/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -6
  799. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  800. package/style/themes/theme-sbanken/sbanken-theme-components.css +1297 -181
  801. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  802. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -6
  803. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  804. package/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -6
  805. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  806. package/style/themes/theme-ui/ui-theme-components.css +1297 -181
  807. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  808. package/style/themes/theme-ui/ui-theme-extensions.css +1 -6
  809. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  810. package/style/themes/theme-ui/ui-theme-forms.css +1 -6
  811. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  812. package/umd/dnb-ui-basis.min.js +1 -1
  813. package/umd/dnb-ui-components.min.js +1 -1
  814. package/umd/dnb-ui-elements.min.js +1 -1
  815. package/umd/dnb-ui-extensions.min.js +5 -5
  816. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EditToolbarTools.js","names":["React","useCallback","useContext","useState","Button","Flex","FormStatus","useTranslation","SectionContainerContext","FieldBoundaryContext","check","close","useContainerDataStore","EditToolbarTools","restoreOriginalData","switchContainerMode","initialContainerMode","hasVisibleError","hasSubmitError","hasError","setShowBoundaryErrors","translation","SectionEditContainer","showError","setShowError","cancelHandler","Date","now","doneHandler","createElement","Fragment","Horizontal","gap","variant","icon","icon_position","on_click","doneButton","cancelButton","show","shellSpace","top","no_animation","errorInSection"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/EditToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext, useState } from 'react'\nimport { Button, Flex, FormStatus } from '../../../../../components'\nimport useTranslation from '../../../hooks/useTranslation'\nimport SectionContainerContext from '../containers/SectionContainerContext'\nimport FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { check, close } from '../../../../../icons'\nimport useContainerDataStore from './useContainerDataStore'\n\nexport default function EditToolbarTools() {\n const { restoreOriginalData } = useContainerDataStore()\n\n const { switchContainerMode, initialContainerMode } =\n useContext(SectionContainerContext) || {}\n const {\n hasVisibleError,\n hasSubmitError,\n hasError,\n setShowBoundaryErrors,\n } = useContext(FieldBoundaryContext) || {}\n\n const translation = useTranslation().SectionEditContainer\n\n const [showError, setShowError] = useState(false)\n\n const cancelHandler = useCallback(() => {\n if (hasSubmitError || (initialContainerMode === 'auto' && hasError)) {\n setShowBoundaryErrors?.(Date.now())\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowError(false)\n setShowBoundaryErrors?.(false)\n restoreOriginalData()\n switchContainerMode?.('view')\n }\n }, [\n hasSubmitError,\n initialContainerMode,\n hasError,\n setShowBoundaryErrors,\n hasVisibleError,\n restoreOriginalData,\n switchContainerMode,\n ])\n const doneHandler = useCallback(() => {\n if (hasError) {\n setShowBoundaryErrors?.(Date.now())\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowError(false)\n setShowBoundaryErrors?.(false)\n switchContainerMode?.('view')\n }\n }, [\n hasVisibleError,\n hasError,\n setShowBoundaryErrors,\n switchContainerMode,\n ])\n\n return (\n <>\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n >\n {translation.doneButton}\n </Button>\n\n <Button\n variant=\"tertiary\"\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n >\n {translation.cancelButton}\n </Button>\n </Flex.Horizontal>\n\n <FormStatus\n show={showError && hasVisibleError}\n shellSpace={{ top: 'x-small' }}\n no_animation={false}\n >\n {translation.errorInSection}\n </FormStatus>\n </>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,OAAO;AAChE,SAASC,MAAM,EAAEC,IAAI,EAAEC,UAAU,QAAQ,2BAA2B;AACpE,OAAOC,cAAc,MAAM,+BAA+B;AAC1D,OAAOC,uBAAuB,MAAM,uCAAuC;AAC3E,OAAOC,oBAAoB,MAAM,yDAAyD;AAC1F,SAASC,KAAK,EAAEC,KAAK,QAAQ,sBAAsB;AACnD,OAAOC,qBAAqB,MAAM,yBAAyB;AAE3D,eAAe,SAASC,gBAAgBA,CAAA,EAAG;EACzC,MAAM;IAAEC;EAAoB,CAAC,GAAGF,qBAAqB,CAAC,CAAC;EAEvD,MAAM;IAAEG,mBAAmB;IAAEC;EAAqB,CAAC,GACjDd,UAAU,CAACM,uBAAuB,CAAC,IAAI,CAAC,CAAC;EAC3C,MAAM;IACJS,eAAe;IACfC,cAAc;IACdC,QAAQ;IACRC;EACF,CAAC,GAAGlB,UAAU,CAACO,oBAAoB,CAAC,IAAI,CAAC,CAAC;EAE1C,MAAMY,WAAW,GAAGd,cAAc,CAAC,CAAC,CAACe,oBAAoB;EAEzD,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGrB,QAAQ,CAAC,KAAK,CAAC;EAEjD,MAAMsB,aAAa,GAAGxB,WAAW,CAAC,MAAM;IACtC,IAAIiB,cAAc,IAAKF,oBAAoB,KAAK,MAAM,IAAIG,QAAS,EAAE;MACnEC,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAGM,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;MACnC,IAAIV,eAAe,EAAE;QACnBO,YAAY,CAAC,IAAI,CAAC;MACpB;IACF,CAAC,MAAM;MACLA,YAAY,CAAC,KAAK,CAAC;MACnBJ,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAG,KAAK,CAAC;MAC9BN,mBAAmB,CAAC,CAAC;MACrBC,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;IAC/B;EACF,CAAC,EAAE,CACDG,cAAc,EACdF,oBAAoB,EACpBG,QAAQ,EACRC,qBAAqB,EACrBH,eAAe,EACfH,mBAAmB,EACnBC,mBAAmB,CACpB,CAAC;EACF,MAAMa,WAAW,GAAG3B,WAAW,CAAC,MAAM;IACpC,IAAIkB,QAAQ,EAAE;MACZC,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAGM,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;MACnC,IAAIV,eAAe,EAAE;QACnBO,YAAY,CAAC,IAAI,CAAC;MACpB;IACF,CAAC,MAAM;MACLA,YAAY,CAAC,KAAK,CAAC;MACnBJ,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAG,KAAK,CAAC;MAC9BL,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;IAC/B;EACF,CAAC,EAAE,CACDE,eAAe,EACfE,QAAQ,EACRC,qBAAqB,EACrBL,mBAAmB,CACpB,CAAC;EAEF,OACEf,KAAA,CAAA6B,aAAA,CAAA7B,KAAA,CAAA8B,QAAA,QACE9B,KAAA,CAAA6B,aAAA,CAACxB,IAAI,CAAC0B,UAAU;IAACC,GAAG,EAAC;EAAO,GAC1BhC,KAAA,CAAA6B,aAAA,CAACzB,MAAM;IACL6B,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAExB,KAAM;IACZyB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAER;EAAY,GAErBP,WAAW,CAACgB,UACP,CAAC,EAETrC,KAAA,CAAA6B,aAAA,CAACzB,MAAM;IACL6B,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAEvB,KAAM;IACZwB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEX;EAAc,GAEvBJ,WAAW,CAACiB,YACP,CACO,CAAC,EAElBtC,KAAA,CAAA6B,aAAA,CAACvB,UAAU;IACTiC,IAAI,EAAEhB,SAAS,IAAIN,eAAgB;IACnCuB,UAAU,EAAE;MAAEC,GAAG,EAAE;IAAU,CAAE;IAC/BC,YAAY,EAAE;EAAM,GAEnBrB,WAAW,CAACsB,cACH,CACZ,CAAC;AAEP"}
1
+ {"version":3,"file":"EditToolbarTools.js","names":["React","useCallback","useContext","useState","Button","Flex","FormStatus","useTranslation","SectionContainerContext","FieldBoundaryContext","check","close","useContainerDataStore","EditToolbarTools","props","onDone","onCancel","restoreOriginalData","switchContainerMode","initialContainerMode","hasVisibleError","hasSubmitError","hasError","setShowBoundaryErrors","translation","SectionEditContainer","showError","setShowError","cancelHandler","Date","now","doneHandler","createElement","Fragment","Horizontal","gap","variant","icon","icon_position","on_click","doneButton","cancelButton","show","shellSpace","top","no_animation","errorInSection"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/EditToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext, useState } from 'react'\nimport { Button, Flex, FormStatus } from '../../../../../components'\nimport useTranslation from '../../../hooks/useTranslation'\nimport SectionContainerContext from '../containers/SectionContainerContext'\nimport FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { check, close } from '../../../../../icons'\nimport useContainerDataStore from './useContainerDataStore'\n\nexport type Props = {\n onDone?: () => void\n onCancel?: () => void\n}\n\nexport default function EditToolbarTools(props: Props) {\n const { onDone, onCancel } = props\n const { restoreOriginalData } = useContainerDataStore()\n\n const { switchContainerMode, initialContainerMode } =\n useContext(SectionContainerContext) || {}\n const {\n hasVisibleError,\n hasSubmitError,\n hasError,\n setShowBoundaryErrors,\n } = useContext(FieldBoundaryContext) || {}\n\n const translation = useTranslation().SectionEditContainer\n\n const [showError, setShowError] = useState(false)\n\n const cancelHandler = useCallback(() => {\n if (hasSubmitError || (initialContainerMode === 'auto' && hasError)) {\n setShowBoundaryErrors?.(Date.now())\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowError(false)\n setShowBoundaryErrors?.(false)\n restoreOriginalData()\n switchContainerMode?.('view')\n onCancel?.()\n }\n }, [\n hasSubmitError,\n initialContainerMode,\n hasError,\n setShowBoundaryErrors,\n hasVisibleError,\n restoreOriginalData,\n switchContainerMode,\n onCancel,\n ])\n const doneHandler = useCallback(() => {\n if (hasError) {\n setShowBoundaryErrors?.(Date.now())\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowError(false)\n setShowBoundaryErrors?.(false)\n switchContainerMode?.('view')\n onDone?.()\n }\n }, [\n hasError,\n setShowBoundaryErrors,\n hasVisibleError,\n switchContainerMode,\n onDone,\n ])\n\n return (\n <>\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n >\n {translation.doneButton}\n </Button>\n\n <Button\n variant=\"tertiary\"\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n >\n {translation.cancelButton}\n </Button>\n </Flex.Horizontal>\n\n <FormStatus\n show={showError && hasVisibleError}\n shellSpace={{ top: 'x-small' }}\n no_animation={false}\n >\n {translation.errorInSection}\n </FormStatus>\n </>\n )\n}\n"],"mappings":"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"}
@@ -3,6 +3,7 @@ import { Props as FlexContainerProps } from '../../../../../components/flex/Cont
3
3
  import { SectionContainerProps } from '../containers/SectionContainer';
4
4
  export type Props = {
5
5
  title?: React.ReactNode;
6
+ onEdit?: () => void;
6
7
  };
7
8
  export type AllProps = Props & SectionContainerProps & FlexContainerProps;
8
9
  declare function ViewContainer(props: AllProps): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _Toolbar;
4
- const _excluded = ["children", "className", "title"];
3
+ const _excluded = ["children", "className", "title", "onEdit"];
5
4
  import React, { useMemo } from 'react';
6
5
  import classnames from 'classnames';
7
6
  import { convertJsxToString } from '../../../../../shared/component-helper';
@@ -15,7 +14,8 @@ function ViewContainer(props) {
15
14
  {
16
15
  children,
17
16
  className,
18
- title
17
+ title,
18
+ onEdit
19
19
  } = _ref,
20
20
  restProps = _objectWithoutProperties(_ref, _excluded);
21
21
  const ariaLabel = useMemo(() => convertJsxToString(title), [title]);
@@ -25,7 +25,9 @@ function ViewContainer(props) {
25
25
  className: classnames('dnb-forms-section-view-block', className)
26
26
  }, restProps), React.createElement(Flex.Stack, null, title && React.createElement(Lead, {
27
27
  size: "basis"
28
- }, title), children, _Toolbar || (_Toolbar = React.createElement(Toolbar, null, React.createElement(ViewToolbarTools, null)))));
28
+ }, title), children, React.createElement(Toolbar, null, React.createElement(ViewToolbarTools, {
29
+ onEdit: onEdit
30
+ }))));
29
31
  }
30
32
  ViewContainer._supportsSpacingProps = true;
31
33
  export default ViewContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewContainer.js","names":["React","useMemo","classnames","convertJsxToString","Flex","Lead","ViewToolbarTools","SectionContainer","Toolbar","ViewContainer","props","_ref","children","className","title","restProps","_objectWithoutProperties","_excluded","ariaLabel","createElement","_extends","mode","Stack","size","_Toolbar","_supportsSpacingProps"],"sources":["../../../../../../../src/extensions/forms/Form/Section/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../../shared/component-helper'\nimport { Flex } from '../../../../../components'\nimport { Props as FlexContainerProps } from '../../../../../components/flex/Container'\nimport { Lead } from '../../../../../elements'\nimport ViewToolbarTools from './ViewToolbarTools'\nimport SectionContainer, {\n SectionContainerProps,\n} from '../containers/SectionContainer'\nimport Toolbar from '../containers/Toolbar'\n\nexport type Props = {\n title?: React.ReactNode\n}\n\nexport type AllProps = Props & SectionContainerProps & FlexContainerProps\n\nfunction ViewContainer(props: AllProps) {\n const { children, className, title, ...restProps } = props || {}\n const ariaLabel = useMemo(() => convertJsxToString(title), [title])\n\n return (\n <SectionContainer\n mode=\"view\"\n ariaLabel={ariaLabel}\n className={classnames('dnb-forms-section-view-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {title && <Lead size=\"basis\">{title}</Lead>}\n {children}\n <Toolbar>\n <ViewToolbarTools />\n </Toolbar>\n </Flex.Stack>\n </SectionContainer>\n )\n}\n\nViewContainer._supportsSpacingProps = true\nexport default ViewContainer\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,wCAAwC;AAC3E,SAASC,IAAI,QAAQ,2BAA2B;AAEhD,SAASC,IAAI,QAAQ,yBAAyB;AAC9C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,gBAAgB,MAEhB,gCAAgC;AACvC,OAAOC,OAAO,MAAM,uBAAuB;AAQ3C,SAASC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAAC,IAAA,GAAqDD,KAAK,IAAI,CAAC,CAAC;IAA1D;MAAEE,QAAQ;MAAEC,SAAS;MAAEC;IAAoB,CAAC,GAAAH,IAAA;IAAXI,SAAS,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAChD,MAAMC,SAAS,GAAGjB,OAAO,CAAC,MAAME,kBAAkB,CAACW,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEnE,OACEd,KAAA,CAAAmB,aAAA,CAACZ,gBAAgB,EAAAa,QAAA;IACfC,IAAI,EAAC,MAAM;IACXH,SAAS,EAAEA,SAAU;IACrBL,SAAS,EAAEX,UAAU,CAAC,8BAA8B,EAAEW,SAAS;EAAE,GAC7DE,SAAS,GAEbf,KAAA,CAAAmB,aAAA,CAACf,IAAI,CAACkB,KAAK,QACRR,KAAK,IAAId,KAAA,CAAAmB,aAAA,CAACd,IAAI;IAACkB,IAAI,EAAC;EAAO,GAAET,KAAY,CAAC,EAC1CF,QAAQ,EAAAY,QAAA,KAAAA,QAAA,GACTxB,KAAA,CAAAmB,aAAA,CAACX,OAAO,QACNR,KAAA,CAAAmB,aAAA,CAACb,gBAAgB,MAAE,CACZ,CAAC,CACA,CACI,CAAC;AAEvB;AAEAG,aAAa,CAACgB,qBAAqB,GAAG,IAAI;AAC1C,eAAehB,aAAa"}
1
+ {"version":3,"file":"ViewContainer.js","names":["React","useMemo","classnames","convertJsxToString","Flex","Lead","ViewToolbarTools","SectionContainer","Toolbar","ViewContainer","props","_ref","children","className","title","onEdit","restProps","_objectWithoutProperties","_excluded","ariaLabel","createElement","_extends","mode","Stack","size","_supportsSpacingProps"],"sources":["../../../../../../../src/extensions/forms/Form/Section/ViewContainer/ViewContainer.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../../shared/component-helper'\nimport { Flex } from '../../../../../components'\nimport { Props as FlexContainerProps } from '../../../../../components/flex/Container'\nimport { Lead } from '../../../../../elements'\nimport ViewToolbarTools from './ViewToolbarTools'\nimport SectionContainer, {\n SectionContainerProps,\n} from '../containers/SectionContainer'\nimport Toolbar from '../containers/Toolbar'\n\nexport type Props = {\n title?: React.ReactNode\n onEdit?: () => void\n}\n\nexport type AllProps = Props & SectionContainerProps & FlexContainerProps\n\nfunction ViewContainer(props: AllProps) {\n const { children, className, title, onEdit, ...restProps } = props || {}\n const ariaLabel = useMemo(() => convertJsxToString(title), [title])\n\n return (\n <SectionContainer\n mode=\"view\"\n ariaLabel={ariaLabel}\n className={classnames('dnb-forms-section-view-block', className)}\n {...restProps}\n >\n <Flex.Stack>\n {title && <Lead size=\"basis\">{title}</Lead>}\n {children}\n <Toolbar>\n <ViewToolbarTools onEdit={onEdit} />\n </Toolbar>\n </Flex.Stack>\n </SectionContainer>\n )\n}\n\nViewContainer._supportsSpacingProps = true\nexport default ViewContainer\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,wCAAwC;AAC3E,SAASC,IAAI,QAAQ,2BAA2B;AAEhD,SAASC,IAAI,QAAQ,yBAAyB;AAC9C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,gBAAgB,MAEhB,gCAAgC;AACvC,OAAOC,OAAO,MAAM,uBAAuB;AAS3C,SAASC,aAAaA,CAACC,KAAe,EAAE;EACtC,MAAAC,IAAA,GAA6DD,KAAK,IAAI,CAAC,CAAC;IAAlE;MAAEE,QAAQ;MAAEC,SAAS;MAAEC,KAAK;MAAEC;IAAqB,CAAC,GAAAJ,IAAA;IAAXK,SAAS,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EACxD,MAAMC,SAAS,GAAGlB,OAAO,CAAC,MAAME,kBAAkB,CAACW,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEnE,OACEd,KAAA,CAAAoB,aAAA,CAACb,gBAAgB,EAAAc,QAAA;IACfC,IAAI,EAAC,MAAM;IACXH,SAAS,EAAEA,SAAU;IACrBN,SAAS,EAAEX,UAAU,CAAC,8BAA8B,EAAEW,SAAS;EAAE,GAC7DG,SAAS,GAEbhB,KAAA,CAAAoB,aAAA,CAAChB,IAAI,CAACmB,KAAK,QACRT,KAAK,IAAId,KAAA,CAAAoB,aAAA,CAACf,IAAI;IAACmB,IAAI,EAAC;EAAO,GAAEV,KAAY,CAAC,EAC1CF,QAAQ,EACTZ,KAAA,CAAAoB,aAAA,CAACZ,OAAO,QACNR,KAAA,CAAAoB,aAAA,CAACd,gBAAgB;IAACS,MAAM,EAAEA;EAAO,CAAE,CAC5B,CACC,CACI,CAAC;AAEvB;AAEAN,aAAa,CAACgB,qBAAqB,GAAG,IAAI;AAC1C,eAAehB,aAAa"}
@@ -15,5 +15,11 @@ export const ViewContainerProperties = {
15
15
  status: 'optional'
16
16
  }
17
17
  };
18
- export const ViewContainerEvents = {};
18
+ export const ViewContainerEvents = {
19
+ onEdit: {
20
+ doc: 'Callback for the edit button.',
21
+ type: 'Function',
22
+ status: 'optional'
23
+ }
24
+ };
19
25
  //# sourceMappingURL=ViewContainerDocs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewContainerDocs.js","names":["ViewContainerProperties","title","doc","type","status","variant","ViewContainerEvents"],"sources":["../../../../../../../src/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../../shared/types'\n\nexport const ViewContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n '[FlexVertical](/uilib/layout/flex/container/)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const ViewContainerEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACPH,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACD,+CAA+C,EAAE;IAC/CF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAME,mBAAyC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"ViewContainerDocs.js","names":["ViewContainerProperties","title","doc","type","status","variant","ViewContainerEvents","onEdit"],"sources":["../../../../../../../src/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../../shared/types'\n\nexport const ViewContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n '[FlexVertical](/uilib/layout/flex/container/)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const ViewContainerEvents: PropertiesTableProps = {\n onEdit: {\n doc: 'Callback for the edit button.',\n type: 'Function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACPH,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACD,+CAA+C,EAAE;IAC/CF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAME,mBAAyC,GAAG;EACvDC,MAAM,EAAE;IACNL,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
@@ -1 +1,4 @@
1
- export default function ViewToolbarTools(): import("react/jsx-runtime").JSX.Element;
1
+ export type Props = {
2
+ onEdit?: () => void;
3
+ };
4
+ export default function ViewToolbarTools(props: Props): import("react/jsx-runtime").JSX.Element;
@@ -5,7 +5,10 @@ import { Button, Flex } from '../../../../../components';
5
5
  import useTranslation from '../../../hooks/useTranslation';
6
6
  import SectionContainerContext from '../containers/SectionContainerContext';
7
7
  import { edit } from '../../../../../icons';
8
- export default function ViewToolbarTools() {
8
+ export default function ViewToolbarTools(props) {
9
+ const {
10
+ onEdit
11
+ } = props;
9
12
  const sectionContainerContext = useContext(SectionContainerContext);
10
13
  const {
11
14
  switchContainerMode
@@ -13,7 +16,8 @@ export default function ViewToolbarTools() {
13
16
  const translation = useTranslation().SectionViewContainer;
14
17
  const editHandler = useCallback(() => {
15
18
  switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('edit');
16
- }, [switchContainerMode]);
19
+ onEdit === null || onEdit === void 0 ? void 0 : onEdit();
20
+ }, [onEdit, switchContainerMode]);
17
21
  return React.createElement(Flex.Horizontal, {
18
22
  gap: "large"
19
23
  }, React.createElement(Button, {
@@ -1 +1 @@
1
- {"version":3,"file":"ViewToolbarTools.js","names":["React","useCallback","useContext","Button","Flex","useTranslation","SectionContainerContext","edit","ViewToolbarTools","sectionContainerContext","switchContainerMode","translation","SectionViewContainer","editHandler","createElement","Horizontal","gap","variant","icon","icon_position","on_click","editButton"],"sources":["../../../../../../../src/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport { Button, Flex } from '../../../../../components'\nimport useTranslation from '../../../hooks/useTranslation'\nimport SectionContainerContext from '../containers/SectionContainerContext'\nimport { edit } from '../../../../../icons'\n\nexport default function ViewToolbarTools() {\n const sectionContainerContext = useContext(SectionContainerContext)\n const { switchContainerMode } = sectionContainerContext ?? {}\n\n const translation = useTranslation().SectionViewContainer\n\n const editHandler = useCallback(() => {\n switchContainerMode?.('edit')\n }, [switchContainerMode])\n\n return (\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={edit}\n icon_position=\"left\"\n on_click={editHandler}\n >\n {translation.editButton}\n </Button>\n </Flex.Horizontal>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,SAASC,MAAM,EAAEC,IAAI,QAAQ,2BAA2B;AACxD,OAAOC,cAAc,MAAM,+BAA+B;AAC1D,OAAOC,uBAAuB,MAAM,uCAAuC;AAC3E,SAASC,IAAI,QAAQ,sBAAsB;AAE3C,eAAe,SAASC,gBAAgBA,CAAA,EAAG;EACzC,MAAMC,uBAAuB,GAAGP,UAAU,CAACI,uBAAuB,CAAC;EACnE,MAAM;IAAEI;EAAoB,CAAC,GAAGD,uBAAuB,aAAvBA,uBAAuB,cAAvBA,uBAAuB,GAAI,CAAC,CAAC;EAE7D,MAAME,WAAW,GAAGN,cAAc,CAAC,CAAC,CAACO,oBAAoB;EAEzD,MAAMC,WAAW,GAAGZ,WAAW,CAAC,MAAM;IACpCS,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;EAC/B,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,OACEV,KAAA,CAAAc,aAAA,CAACV,IAAI,CAACW,UAAU;IAACC,GAAG,EAAC;EAAO,GAC1BhB,KAAA,CAAAc,aAAA,CAACX,MAAM;IACLc,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAEX,IAAK;IACXY,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEP;EAAY,GAErBF,WAAW,CAACU,UACP,CACO,CAAC;AAEtB"}
1
+ {"version":3,"file":"ViewToolbarTools.js","names":["React","useCallback","useContext","Button","Flex","useTranslation","SectionContainerContext","edit","ViewToolbarTools","props","onEdit","sectionContainerContext","switchContainerMode","translation","SectionViewContainer","editHandler","createElement","Horizontal","gap","variant","icon","icon_position","on_click","editButton"],"sources":["../../../../../../../src/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport { Button, Flex } from '../../../../../components'\nimport useTranslation from '../../../hooks/useTranslation'\nimport SectionContainerContext from '../containers/SectionContainerContext'\nimport { edit } from '../../../../../icons'\n\nexport type Props = {\n onEdit?: () => void\n}\n\nexport default function ViewToolbarTools(props: Props) {\n const { onEdit } = props\n const sectionContainerContext = useContext(SectionContainerContext)\n const { switchContainerMode } = sectionContainerContext ?? {}\n\n const translation = useTranslation().SectionViewContainer\n\n const editHandler = useCallback(() => {\n switchContainerMode?.('edit')\n onEdit?.()\n }, [onEdit, switchContainerMode])\n\n return (\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={edit}\n icon_position=\"left\"\n on_click={editHandler}\n >\n {translation.editButton}\n </Button>\n </Flex.Horizontal>\n )\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,SAASC,MAAM,EAAEC,IAAI,QAAQ,2BAA2B;AACxD,OAAOC,cAAc,MAAM,+BAA+B;AAC1D,OAAOC,uBAAuB,MAAM,uCAAuC;AAC3E,SAASC,IAAI,QAAQ,sBAAsB;AAM3C,eAAe,SAASC,gBAAgBA,CAACC,KAAY,EAAE;EACrD,MAAM;IAAEC;EAAO,CAAC,GAAGD,KAAK;EACxB,MAAME,uBAAuB,GAAGT,UAAU,CAACI,uBAAuB,CAAC;EACnE,MAAM;IAAEM;EAAoB,CAAC,GAAGD,uBAAuB,aAAvBA,uBAAuB,cAAvBA,uBAAuB,GAAI,CAAC,CAAC;EAE7D,MAAME,WAAW,GAAGR,cAAc,CAAC,CAAC,CAACS,oBAAoB;EAEzD,MAAMC,WAAW,GAAGd,WAAW,CAAC,MAAM;IACpCW,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG,MAAM,CAAC;IAC7BF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAG,CAAC;EACZ,CAAC,EAAE,CAACA,MAAM,EAAEE,mBAAmB,CAAC,CAAC;EAEjC,OACEZ,KAAA,CAAAgB,aAAA,CAACZ,IAAI,CAACa,UAAU;IAACC,GAAG,EAAC;EAAO,GAC1BlB,KAAA,CAAAgB,aAAA,CAACb,MAAM;IACLgB,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAEb,IAAK;IACXc,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEP;EAAY,GAErBF,WAAW,CAACU,UACP,CACO,CAAC;AAEtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useData.js","names":["useCallback","useContext","useMemo","useReducer","useRef","pointer","useSharedState","useMountEffect","DataContext","structuredClone","useData","id","undefined","initialData","sharedDataRef","sharedAttachmentsRef","forceUpdate","current","rerenderUseDataHook","dataContext","hasContext","Error","data","filterDataHandler","updateDataValue","setData","set","newData","update","path","value","existingData","existingValue","has","get","newValue","extend","remove","reduceToVisibleFields","options","_dataContext$visibleD","_sharedAttachmentsRef","_sharedAttachmentsRef2","visibleDataHandler","call","filterData","filter","_dataContext$filterDa","_sharedAttachmentsRef3","_sharedAttachmentsRef4","getValue","hadInitialData"],"sources":["../../../../../../src/extensions/forms/Form/data-context/useData.tsx"],"sourcesContent":["import {\n useCallback,\n useContext,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport pointer, { JsonObject } from '../../utils/json-pointer'\nimport {\n SharedStateId,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport type { Path } from '../../types'\nimport DataContext, {\n FilterData,\n VisibleDataHandler,\n} from '../../DataContext/Context'\nimport { SharedAttachments } from '../../DataContext/Provider'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\ntype PathImpl<T, P extends string> = P extends `${infer Key}/${infer Rest}`\n ? Key extends keyof T\n ? Rest extends ''\n ? T[Key]\n : PathImpl<T[Key], Rest>\n : never\n : T[P & keyof T]\n\ntype PathType<T, P extends string> = P extends `/${infer Rest}`\n ? PathImpl<T, Rest>\n : never\n\ntype UseDataReturnUpdate<Data> = <P extends Path>(\n path: P,\n value: ((value: PathType<Data, P>) => unknown) | unknown\n) => void\n\nexport type UseDataReturnGetValue<Data> = <P extends Path>(\n path: P\n) => PathType<Data, P> | any\n\nexport type UseDataReturnFilterData<Data> = (\n filterDataHandler: FilterData,\n data?: Data\n) => Partial<Data>\n\nexport type UseDataReturnVisibleData<Data> = VisibleDataHandler<Data>\n\ntype UseDataReturn<Data> = {\n data: Data\n set: (newData: Data) => void\n update: UseDataReturnUpdate<Data>\n remove: (path: Path) => void\n getValue: UseDataReturnGetValue<Data>\n filterData: UseDataReturnFilterData<Data>\n reduceToVisibleFields: UseDataReturnVisibleData<Data>\n}\n\n/**\n * Custom hook that provides form data management functionality.\n *\n * @template Data - The type of data being managed.\n * @param {SharedStateId} id - The identifier for the data.\n * @param {Data} initialData - The initial data value (optional).\n * @returns {UseDataReturn<Data>} An object containing the data and data management functions.\n */\nexport default function useData<Data = JsonObject>(\n id: SharedStateId = undefined,\n initialData: Data = undefined\n): UseDataReturn<Data> {\n const sharedDataRef =\n useRef<ReturnType<typeof useSharedState<Data>>>(null)\n const sharedAttachmentsRef =\n useRef<ReturnType<typeof useSharedState<SharedAttachments<Data>>>>(\n null\n )\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n sharedDataRef.current = useSharedState<Data>(\n id,\n initialData,\n forceUpdate\n )\n\n sharedAttachmentsRef.current = useSharedState<SharedAttachments<Data>>(\n id + '-attachments',\n { rerenderUseDataHook: forceUpdate }\n )\n\n // If no id is provided, use the context data\n const dataContext = useContext(DataContext)\n if (!id) {\n if (!dataContext.hasContext) {\n throw new Error(\n 'useData needs to run inside DataContext (Form.Handler) or have a valid id'\n )\n }\n\n sharedDataRef.current.data = dataContext.data\n sharedAttachmentsRef.current.data.filterDataHandler =\n dataContext.filterDataHandler\n }\n\n const updateDataValue = dataContext?.updateDataValue\n const setData = dataContext?.setData\n\n const set = useCallback(\n (newData: Data) => {\n if (id) {\n sharedDataRef.current.update(newData)\n } else {\n setData?.(newData)\n }\n },\n [id, setData]\n )\n\n const update = useCallback<UseDataReturnUpdate<Data>>(\n (path, value = undefined) => {\n const existingData = structuredClone(\n sharedDataRef.current.data || {}\n ) as Data & JsonObject\n const existingValue = pointer.has(existingData, path)\n ? pointer.get(existingData, path)\n : undefined\n\n // Get new value\n const newValue =\n typeof value === 'function' ? value(existingValue) : value\n\n if (newValue !== existingValue) {\n // Update existing data\n pointer.set(existingData, path, newValue)\n\n // Update provider with new data\n if (id) {\n sharedDataRef.current.extend(existingData)\n } else {\n updateDataValue(path, newValue)\n }\n }\n },\n [id, updateDataValue]\n )\n\n const remove = useCallback<UseDataReturn<Data>['remove']>(\n (path) => {\n const existingData = structuredClone(\n sharedDataRef.current.data || {}\n ) as Data & JsonObject\n\n if (pointer.has(existingData, path)) {\n // Remove existing data\n pointer.remove(existingData, path)\n\n // Update provider with new data\n if (id) {\n sharedDataRef.current.set(existingData)\n } else {\n updateDataValue(path, undefined)\n }\n }\n },\n [id, updateDataValue]\n )\n\n const reduceToVisibleFields = useCallback<\n UseDataReturn<Data>['reduceToVisibleFields']\n >(\n (data, options = {}) => {\n if (id) {\n return sharedAttachmentsRef.current.data?.visibleDataHandler?.(\n data,\n options\n )\n }\n\n return dataContext?.visibleDataHandler?.(data, options)\n },\n [dataContext, id]\n )\n\n const filterData = useCallback<UseDataReturn<Data>['filterData']>(\n (filter, data = sharedDataRef.current.data) => {\n if (id) {\n return sharedAttachmentsRef.current.data?.filterDataHandler?.(\n data,\n filter\n )\n }\n\n return dataContext?.filterDataHandler?.(data, filter)\n },\n [dataContext, id]\n )\n\n const getValue = useCallback<UseDataReturn<Data>['getValue']>((path) => {\n if (pointer.has(sharedDataRef.current.data, path)) {\n return pointer.get(sharedDataRef.current.data, path)\n }\n\n return undefined\n }, [])\n\n useMountEffect(() => {\n if (id && !sharedDataRef.current.hadInitialData && initialData) {\n sharedDataRef.current.extend(initialData)\n }\n })\n\n const { data } = sharedDataRef.current\n\n return useMemo(\n () => ({\n data,\n remove,\n update,\n set,\n getValue,\n reduceToVisibleFields,\n filterData,\n }),\n [\n data,\n remove,\n update,\n set,\n getValue,\n reduceToVisibleFields,\n filterData,\n ]\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useData.js","names":["useCallback","useContext","useMemo","useReducer","useRef","pointer","useSharedState","useMountEffect","DataContext","structuredClone","useData","id","undefined","initialData","sharedDataRef","sharedAttachmentsRef","forceUpdate","current","rerenderUseDataHook","dataContext","hasContext","Error","data","filterDataHandler","updateDataValue","setData","set","newData","update","path","value","existingData","existingValue","has","get","newValue","extend","remove","reduceToVisibleFields","options","_dataContext$visibleD","_sharedAttachmentsRef","_sharedAttachmentsRef2","visibleDataHandler","call","filterData","filter","_dataContext$filterDa","_sharedAttachmentsRef3","_sharedAttachmentsRef4","getValue","hadInitialData"],"sources":["../../../../../../src/extensions/forms/Form/data-context/useData.tsx"],"sourcesContent":["import {\n useCallback,\n useContext,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport pointer, { JsonObject } from '../../utils/json-pointer'\nimport {\n SharedStateId,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport type { Path } from '../../types'\nimport DataContext, {\n FilterData,\n VisibleDataHandler,\n} from '../../DataContext/Context'\nimport { SharedAttachments } from '../../DataContext/Provider'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So it's a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\ntype PathImpl<T, P extends string> = P extends `${infer Key}/${infer Rest}`\n ? Key extends keyof T\n ? Rest extends ''\n ? T[Key]\n : PathImpl<T[Key], Rest>\n : never\n : T[P & keyof T]\n\ntype PathType<T, P extends string> = P extends `/${infer Rest}`\n ? PathImpl<T, Rest>\n : never\n\ntype UseDataReturnUpdate<Data> = <P extends Path>(\n path: P,\n value: ((value: PathType<Data, P>) => unknown) | unknown\n) => void\n\nexport type UseDataReturnGetValue<Data> = <P extends Path>(\n path: P\n) => PathType<Data, P> | any\n\nexport type UseDataReturnFilterData<Data> = (\n filterDataHandler: FilterData,\n data?: Data\n) => Partial<Data>\n\nexport type UseDataReturnVisibleData<Data> = VisibleDataHandler<Data>\n\ntype UseDataReturn<Data> = {\n data: Data\n set: (newData: Data) => void\n update: UseDataReturnUpdate<Data>\n remove: (path: Path) => void\n getValue: UseDataReturnGetValue<Data>\n filterData: UseDataReturnFilterData<Data>\n reduceToVisibleFields: UseDataReturnVisibleData<Data>\n}\n\n/**\n * Custom hook that provides form data management functionality.\n *\n * @template Data - The type of data being managed.\n * @param {SharedStateId} id - The identifier for the data.\n * @param {Data} initialData - The initial data value (optional).\n * @returns {UseDataReturn<Data>} An object containing the data and data management functions.\n */\nexport default function useData<Data = JsonObject>(\n id: SharedStateId = undefined,\n initialData: Data = undefined\n): UseDataReturn<Data> {\n const sharedDataRef =\n useRef<ReturnType<typeof useSharedState<Data>>>(null)\n const sharedAttachmentsRef =\n useRef<ReturnType<typeof useSharedState<SharedAttachments<Data>>>>(\n null\n )\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n sharedDataRef.current = useSharedState<Data>(\n id,\n initialData,\n forceUpdate\n )\n\n sharedAttachmentsRef.current = useSharedState<SharedAttachments<Data>>(\n id + '-attachments',\n { rerenderUseDataHook: forceUpdate }\n )\n\n // If no id is provided, use the context data\n const dataContext = useContext(DataContext)\n if (!id) {\n if (!dataContext.hasContext) {\n throw new Error(\n 'useData needs to run inside DataContext (Form.Handler) or have a valid id'\n )\n }\n\n sharedDataRef.current.data = dataContext.data\n sharedAttachmentsRef.current.data.filterDataHandler =\n dataContext.filterDataHandler\n }\n\n const updateDataValue = dataContext?.updateDataValue\n const setData = dataContext?.setData\n\n const set = useCallback(\n (newData: Data) => {\n if (id) {\n sharedDataRef.current.update(newData)\n } else {\n setData?.(newData)\n }\n },\n [id, setData]\n )\n\n const update = useCallback<UseDataReturnUpdate<Data>>(\n (path, value = undefined) => {\n const existingData = structuredClone(\n sharedDataRef.current.data || {}\n ) as Data & JsonObject\n const existingValue = pointer.has(existingData, path)\n ? pointer.get(existingData, path)\n : undefined\n\n // Get new value\n const newValue =\n typeof value === 'function' ? value(existingValue) : value\n\n if (newValue !== existingValue) {\n // Update existing data\n pointer.set(existingData, path, newValue)\n\n // Update provider with new data\n if (id) {\n sharedDataRef.current.extend(existingData)\n } else {\n updateDataValue(path, newValue)\n }\n }\n },\n [id, updateDataValue]\n )\n\n const remove = useCallback<UseDataReturn<Data>['remove']>(\n (path) => {\n const existingData = structuredClone(\n sharedDataRef.current.data || {}\n ) as Data & JsonObject\n\n if (pointer.has(existingData, path)) {\n // Remove existing data\n pointer.remove(existingData, path)\n\n // Update provider with new data\n if (id) {\n sharedDataRef.current.set(existingData)\n } else {\n updateDataValue(path, undefined)\n }\n }\n },\n [id, updateDataValue]\n )\n\n const reduceToVisibleFields = useCallback<\n UseDataReturn<Data>['reduceToVisibleFields']\n >(\n (data, options = {}) => {\n if (id) {\n return sharedAttachmentsRef.current.data?.visibleDataHandler?.(\n data,\n options\n )\n }\n\n return dataContext?.visibleDataHandler?.(data, options)\n },\n [dataContext, id]\n )\n\n const filterData = useCallback<UseDataReturn<Data>['filterData']>(\n (filter, data = sharedDataRef.current.data) => {\n if (id) {\n return sharedAttachmentsRef.current.data?.filterDataHandler?.(\n data,\n filter\n )\n }\n\n return dataContext?.filterDataHandler?.(data, filter)\n },\n [dataContext, id]\n )\n\n const getValue = useCallback<UseDataReturn<Data>['getValue']>((path) => {\n if (pointer.has(sharedDataRef.current.data, path)) {\n return pointer.get(sharedDataRef.current.data, path)\n }\n\n return undefined\n }, [])\n\n useMountEffect(() => {\n if (id && !sharedDataRef.current.hadInitialData && initialData) {\n sharedDataRef.current.extend(initialData)\n }\n })\n\n const { data } = sharedDataRef.current\n\n return useMemo(\n () => ({\n data,\n remove,\n update,\n set,\n getValue,\n reduceToVisibleFields,\n filterData,\n }),\n [\n data,\n remove,\n update,\n set,\n getValue,\n reduceToVisibleFields,\n filterData,\n ]\n )\n}\n"],"mappings":"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"}
@@ -20,7 +20,7 @@ import FieldBoundaryProvider from '../../DataContext/FieldBoundary/FieldBoundary
20
20
  import DataContext from '../../DataContext/Context';
21
21
  import useDataValue from '../../hooks/useDataValue';
22
22
  import { useArrayLimit, useSwitchContainerMode } from '../hooks';
23
- import { getMessage } from '../../FieldBlock';
23
+ import { getMessagesFromError } from '../../FieldBlock';
24
24
  import structuredClone from '@ungap/structured-clone';
25
25
  function ArrayComponent(props) {
26
26
  var _props$value;
@@ -270,9 +270,9 @@ function ArrayComponent(props) {
270
270
  bottom: 'medium'
271
271
  },
272
272
  no_animation: false
273
- }, getMessage({
273
+ }, getMessagesFromError({
274
274
  content: error || limitWarning
275
- })));
275
+ })[0]));
276
276
  }
277
277
  ArrayComponent._supportsSpacingProps = true;
278
278
  export default ArrayComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"Array.js","names":["React","useMemo","useRef","useEffect","useReducer","createRef","useContext","useCallback","classnames","pointer","useFieldProps","makeUniqueId","Flex","FormStatus","HeightAnimation","pickSpacingProps","useMountEffect","useUpdateEffect","pickFlexContainerProps","IterateItemContext","SummaryListContext","ValueBlockContext","FieldBoundaryProvider","DataContext","useDataValue","useArrayLimit","useSwitchContainerMode","getMessage","structuredClone","ArrayComponent","props","_props$value","salt","forceUpdate","dataContext","summaryListContext","valueBlockContext","setLimitProps","error","limitWarning","path","getValueByPath","countPath","countPathLimit","Infinity","getCountValue","countValue","parseFloat","preparedProps","countPathTransform","arrayValue","newValue","i","l","value","push","index","_objectSpread","required","limit","withoutFlex","emptyValue","placeholder","containerMode","animate","handleChange","setChanged","onChange","children","updateContextDataInSync","omitMultiplePathWarning","forceUpdateWhenContextDataIsSet","Boolean","countValueRef","current","window","requestAnimationFrame","handlePathChange","valueCountRef","idsRef","isNewRef","modesRef","valueWhileClosingRef","containerRef","hadPushRef","innerRefs","omitFlex","getNextContainerMode","arrayItems","_ref","list","limitedList","slice","map","_valueCountRef$curren","_modesRef$current$id","id","hasNewItems","length","isNew","_getNextContainerMode","itemContext","previousContainerMode","previous","initialContainerMode","modeOptions","options","switchContainerMode","mode","_isNewRef$current","preventUpdate","newArrayValue","set","handlePush","element","handleRemove","keepItems","splice","fulfillRemove","_modesRef$current","_isNewRef$current2","findIndex","indexOf","restoreOriginalValue","total","last","flexProps","className","innerRef","arrayElements","itemProps","elementRef","renderChildren","elementChild","contextValue","content","Array","isArray","child","createElement","Provider","key","Item","tabIndex","Stack","Fragment","show","state","undefined","shellSpace","top","bottom","no_animation","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, {\n useMemo,\n useRef,\n useEffect,\n useReducer,\n createRef,\n useContext,\n useCallback,\n} from 'react'\nimport classnames from 'classnames'\nimport pointer from '../../utils/json-pointer'\nimport { useFieldProps } from '../../hooks'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport { Flex, FormStatus, HeightAnimation } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport useUpdateEffect from '../../../../shared/helpers/useUpdateEffect'\nimport {\n BasicProps as FlexContainerProps,\n Props as FlexContainerAllProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport IterateItemContext, {\n IterateItemContextState,\n ModeOptions,\n} from '../IterateItemContext'\nimport SummaryListContext from '../../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from '../../ValueBlock/ValueBlockContext'\nimport FieldBoundaryProvider from '../../DataContext/FieldBoundary/FieldBoundaryProvider'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport { useArrayLimit, useSwitchContainerMode } from '../hooks'\nimport { getMessage } from '../../FieldBlock'\n\nimport type { ContainerMode, ElementChild, Props, Value } from './types'\nimport type { Identifier } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type * from './types'\n\nfunction ArrayComponent(props: Props) {\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n\n const dataContext = useContext(DataContext)\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n const { setLimitProps, error: limitWarning } = useArrayLimit({\n path: props.path,\n })\n\n const { getValueByPath } = useDataValue()\n const { countPath, countPathLimit = Infinity } = props\n const getCountValue = useCallback(() => {\n if (!countPath) {\n return -1\n }\n\n let countValue = parseFloat(getValueByPath(countPath))\n if (!(countValue >= 0)) {\n countValue = 0\n }\n if (countValue > countPathLimit) {\n countValue = countPathLimit\n }\n\n return countValue\n }, [countPath, countPathLimit, getValueByPath])\n const countValue = getCountValue()\n\n const preparedProps = useMemo(() => {\n const { path, countPath, countPathTransform } = props\n\n if (countPath) {\n const arrayValue = getValueByPath(path)\n const newValue = []\n for (let i = 0, l = countValue; i < l; i++) {\n const value = arrayValue?.[i]\n newValue.push(\n countPathTransform\n ? countPathTransform({ value, index: i })\n : value\n )\n }\n\n return {\n required: false,\n ...props,\n value: newValue,\n }\n }\n\n return { required: false, ...props }\n }, [countValue, getValueByPath, props])\n\n const {\n path,\n value: arrayValue,\n limit,\n error,\n withoutFlex,\n emptyValue,\n placeholder,\n containerMode,\n animate,\n handleChange,\n setChanged,\n onChange,\n children,\n } = useFieldProps(preparedProps, {\n // To ensure the defaultValue set on the Iterate.Array is set in the data context,\n // and will not overwrite defaultValues set by fields inside the Iterate.Array.\n updateContextDataInSync: true,\n omitMultiplePathWarning: true,\n forceUpdateWhenContextDataIsSet: Boolean(countPath),\n })\n\n // - Call onChange on the data context, if the count value changes\n const countValueRef = useRef<number>()\n useUpdateEffect(() => {\n if (countPath) {\n if (\n typeof countValueRef.current === 'number' &&\n countValue !== countValueRef.current\n ) {\n window.requestAnimationFrame(() => {\n dataContext.handlePathChange(path, getValueByPath(path))\n }) // so we get the correct value inside the array.\n }\n countValueRef.current = countValue\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [countValue])\n\n useEffect(() => {\n // Update inside the useEffect, to support React.StrictMode\n valueCountRef.current = arrayValue || []\n }, [arrayValue])\n\n useMountEffect(() => {\n // To ensure the validator is called when a new item is added\n setChanged(true)\n })\n\n const idsRef = useRef<Array<Identifier>>([])\n const isNewRef = useRef<Record<string, boolean>>({})\n const modesRef = useRef<\n Record<\n Identifier,\n {\n current: ContainerMode\n previous?: ContainerMode\n options?: ModeOptions\n }\n >\n >({})\n const valueWhileClosingRef = useRef<Value>()\n const valueCountRef = useRef(arrayValue)\n const containerRef = useRef<HTMLDivElement>()\n const hadPushRef = useRef<boolean>()\n const innerRefs = useRef<\n Record<string, React.RefObject<HTMLDivElement>>\n >({})\n\n const omitFlex = withoutFlex ?? (summaryListContext || valueBlockContext)\n\n const { getNextContainerMode } = useSwitchContainerMode()\n\n const arrayItems = useMemo(() => {\n const list = (valueWhileClosingRef.current || arrayValue) ?? []\n const limitedList =\n typeof limit === 'number' ? list.slice(0, limit) : list\n\n return limitedList.map((value, index) => {\n const id = idsRef.current[index] || makeUniqueId()\n\n const hasNewItems =\n arrayValue?.length > valueCountRef.current?.length\n\n if (!idsRef.current[index]) {\n isNewRef.current[id] = hasNewItems\n idsRef.current.push(id)\n }\n\n const isNew = isNewRef.current[id] || false\n if (!modesRef.current[id]?.current) {\n modesRef.current[id] = {\n current:\n containerMode ??\n (isNew ? getNextContainerMode() ?? 'edit' : 'auto'),\n }\n }\n\n const itemContext: IterateItemContextState = {\n id,\n path,\n value,\n index,\n arrayValue,\n containerRef,\n isNew,\n containerMode: modesRef.current[id].current,\n previousContainerMode: modesRef.current[id].previous,\n initialContainerMode: containerMode || 'auto',\n modeOptions: modesRef.current[id].options,\n switchContainerMode: (mode, options = {}) => {\n modesRef.current[id].previous = modesRef.current[id].current\n modesRef.current[id].current = mode\n modesRef.current[id].options = options\n delete isNewRef.current?.[id]\n if (options?.preventUpdate !== true) {\n forceUpdate()\n }\n },\n handleChange: (path, value) => {\n const newArrayValue = structuredClone(arrayValue)\n\n // Make sure we have a new object reference,\n // else two new objects will be the same\n newArrayValue[index] = { ...newArrayValue[index] }\n\n pointer.set(newArrayValue, path, value)\n handleChange(newArrayValue)\n },\n handlePush: (element) => {\n hadPushRef.current = true\n handleChange([...(arrayValue || []), element])\n },\n handleRemove: ({ keepItems = false } = {}) => {\n if (keepItems) {\n // Add a backup as the array value while animating\n valueWhileClosingRef.current = arrayValue\n }\n\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(index, 1)\n handleChange(newArrayValue)\n },\n\n // - Called after animation end\n fulfillRemove: () => {\n valueWhileClosingRef.current = null\n delete modesRef.current?.[id]\n delete isNewRef.current?.[id]\n const findIndex = idsRef.current.indexOf(id)\n idsRef.current.splice(findIndex, 1)\n forceUpdate()\n },\n\n // - Called when cancel button press\n restoreOriginalValue: (value) => {\n if (value) {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue[index] = value\n handleChange(newArrayValue)\n }\n },\n }\n\n return itemContext\n })\n\n // In order to update \"valueWhileClosingRef\" we need to have \"salt\" in the deps array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [salt, arrayValue, limit, path, handleChange])\n\n const total = arrayItems.length\n useEffect(() => {\n if (limit) {\n setLimitProps({ limit, total })\n }\n }, [total, limit, setLimitProps])\n\n // - Call the onChange callback when a new element is added without calling \"handlePush\"\n useMemo(() => {\n const last = arrayItems?.[arrayItems.length - 1]\n if (last?.isNew && !hadPushRef.current) {\n onChange?.(arrayValue)\n } else {\n hadPushRef.current = false\n }\n }, [arrayValue, arrayItems, onChange])\n\n const flexProps: FlexContainerProps & {\n innerRef: FlexContainerAllProps['innerRef']\n } = {\n className: classnames(\n 'dnb-forms-iterate',\n 'dnb-forms-section',\n props?.className\n ),\n ...pickFlexContainerProps(props as FlexContainerProps),\n ...pickSpacingProps(props),\n innerRef: containerRef,\n }\n\n const arrayElements =\n arrayValue === emptyValue || props?.value?.length === 0\n ? placeholder\n : arrayItems.map((itemProps) => {\n const { id, value, index } = itemProps\n const elementRef = (innerRefs.current[id] =\n innerRefs.current[id] || createRef<HTMLDivElement>())\n\n const renderChildren = (elementChild: ElementChild) => {\n return typeof elementChild === 'function'\n ? elementChild(value, index)\n : elementChild\n }\n\n const contextValue = {\n ...itemProps,\n elementRef,\n }\n\n const content = Array.isArray(children)\n ? children.map((child) => renderChildren(child))\n : renderChildren(children)\n\n if (omitFlex) {\n return (\n <IterateItemContext.Provider\n key={`element-${id}`}\n value={contextValue}\n >\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateItemContext.Provider>\n )\n }\n\n return (\n <Flex.Item\n className=\"dnb-forms-iterate__element\"\n tabIndex={-1}\n innerRef={elementRef}\n key={`element-${id}`}\n >\n <IterateItemContext.Provider value={contextValue}>\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateItemContext.Provider>\n </Flex.Item>\n )\n })\n\n const content = omitFlex ? (\n arrayElements\n ) : (\n <Flex.Stack {...flexProps}>{arrayElements}</Flex.Stack>\n )\n\n return (\n <>\n {animate ? <HeightAnimation>{content}</HeightAnimation> : content}\n\n <FormStatus\n show={Boolean(error || limitWarning)}\n state={!error && limitWarning ? 'warning' : undefined}\n shellSpace={{ top: 0, bottom: 'medium' }}\n no_animation={false}\n >\n {getMessage({ content: error || limitWarning })}\n </FormStatus>\n </>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IACVC,OAAO,EACPC,MAAM,EACNC,SAAS,EACTC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,WAAW,QACN,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,0BAA0B;AAC9C,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAASC,YAAY,QAAQ,qCAAqC;AAClE,SAASC,IAAI,EAAEC,UAAU,EAAEC,eAAe,QAAQ,wBAAwB;AAC1E,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,OAAOC,cAAc,MAAM,2CAA2C;AACtE,OAAOC,eAAe,MAAM,4CAA4C;AACxE,SAGEC,sBAAsB,QACjB,uCAAuC;AAC9C,OAAOC,kBAAkB,MAGlB,uBAAuB;AAC9B,OAAOC,kBAAkB,MAAM,4CAA4C;AAC3E,OAAOC,iBAAiB,MAAM,oCAAoC;AAClE,OAAOC,qBAAqB,MAAM,uDAAuD;AACzF,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,YAAY,MAAM,0BAA0B;AACnD,SAASC,aAAa,EAAEC,sBAAsB,QAAQ,UAAU;AAChE,SAASC,UAAU,QAAQ,kBAAkB;AAS7C,OAAOC,eAAe,MAAM,yBAAyB;AAIrD,SAASC,cAAcA,CAACC,KAAY,EAAE;EAAA,IAAAC,YAAA;EACpC,MAAM,CAACC,IAAI,EAAEC,WAAW,CAAC,GAAG7B,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAEtD,MAAM8B,WAAW,GAAG5B,UAAU,CAACiB,WAAW,CAAC;EAC3C,MAAMY,kBAAkB,GAAG7B,UAAU,CAACc,kBAAkB,CAAC;EACzD,MAAMgB,iBAAiB,GAAG9B,UAAU,CAACe,iBAAiB,CAAC;EACvD,MAAM;IAAEgB,aAAa;IAAEC,KAAK,EAAEC;EAAa,CAAC,GAAGd,aAAa,CAAC;IAC3De,IAAI,EAAEV,KAAK,CAACU;EACd,CAAC,CAAC;EAEF,MAAM;IAAEC;EAAe,CAAC,GAAGjB,YAAY,CAAC,CAAC;EACzC,MAAM;IAAEkB,SAAS;IAAEC,cAAc,GAAGC;EAAS,CAAC,GAAGd,KAAK;EACtD,MAAMe,aAAa,GAAGtC,WAAW,CAAC,MAAM;IACtC,IAAI,CAACmC,SAAS,EAAE;MACd,OAAO,CAAC,CAAC;IACX;IAEA,IAAII,UAAU,GAAGC,UAAU,CAACN,cAAc,CAACC,SAAS,CAAC,CAAC;IACtD,IAAI,EAAEI,UAAU,IAAI,CAAC,CAAC,EAAE;MACtBA,UAAU,GAAG,CAAC;IAChB;IACA,IAAIA,UAAU,GAAGH,cAAc,EAAE;MAC/BG,UAAU,GAAGH,cAAc;IAC7B;IAEA,OAAOG,UAAU;EACnB,CAAC,EAAE,CAACJ,SAAS,EAAEC,cAAc,EAAEF,cAAc,CAAC,CAAC;EAC/C,MAAMK,UAAU,GAAGD,aAAa,CAAC,CAAC;EAElC,MAAMG,aAAa,GAAG/C,OAAO,CAAC,MAAM;IAClC,MAAM;MAAEuC,IAAI;MAAEE,SAAS;MAAEO;IAAmB,CAAC,GAAGnB,KAAK;IAErD,IAAIY,SAAS,EAAE;MACb,MAAMQ,UAAU,GAAGT,cAAc,CAACD,IAAI,CAAC;MACvC,MAAMW,QAAQ,GAAG,EAAE;MACnB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAGP,UAAU,EAAEM,CAAC,GAAGC,CAAC,EAAED,CAAC,EAAE,EAAE;QAC1C,MAAME,KAAK,GAAGJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGE,CAAC,CAAC;QAC7BD,QAAQ,CAACI,IAAI,CACXN,kBAAkB,GACdA,kBAAkB,CAAC;UAAEK,KAAK;UAAEE,KAAK,EAAEJ;QAAE,CAAC,CAAC,GACvCE,KACN,CAAC;MACH;MAEA,OAAAG,aAAA,CAAAA,aAAA;QACEC,QAAQ,EAAE;MAAK,GACZ5B,KAAK;QACRwB,KAAK,EAAEH;MAAQ;IAEnB;IAEA,OAAAM,aAAA;MAASC,QAAQ,EAAE;IAAK,GAAK5B,KAAK;EACpC,CAAC,EAAE,CAACgB,UAAU,EAAEL,cAAc,EAAEX,KAAK,CAAC,CAAC;EAEvC,MAAM;IACJU,IAAI;IACJc,KAAK,EAAEJ,UAAU;IACjBS,KAAK;IACLrB,KAAK;IACLsB,WAAW;IACXC,UAAU;IACVC,WAAW;IACXC,aAAa;IACbC,OAAO;IACPC,YAAY;IACZC,UAAU;IACVC,QAAQ;IACRC;EACF,CAAC,GAAG1D,aAAa,CAACsC,aAAa,EAAE;IAG/BqB,uBAAuB,EAAE,IAAI;IAC7BC,uBAAuB,EAAE,IAAI;IAC7BC,+BAA+B,EAAEC,OAAO,CAAC9B,SAAS;EACpD,CAAC,CAAC;EAGF,MAAM+B,aAAa,GAAGvE,MAAM,CAAS,CAAC;EACtCe,eAAe,CAAC,MAAM;IACpB,IAAIyB,SAAS,EAAE;MACb,IACE,OAAO+B,aAAa,CAACC,OAAO,KAAK,QAAQ,IACzC5B,UAAU,KAAK2B,aAAa,CAACC,OAAO,EACpC;QACAC,MAAM,CAACC,qBAAqB,CAAC,MAAM;UACjC1C,WAAW,CAAC2C,gBAAgB,CAACrC,IAAI,EAAEC,cAAc,CAACD,IAAI,CAAC,CAAC;QAC1D,CAAC,CAAC;MACJ;MACAiC,aAAa,CAACC,OAAO,GAAG5B,UAAU;IACpC;EAEF,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB3C,SAAS,CAAC,MAAM;IAEd2E,aAAa,CAACJ,OAAO,GAAGxB,UAAU,IAAI,EAAE;EAC1C,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhBlC,cAAc,CAAC,MAAM;IAEnBkD,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,CAAC;EAEF,MAAMa,MAAM,GAAG7E,MAAM,CAAoB,EAAE,CAAC;EAC5C,MAAM8E,QAAQ,GAAG9E,MAAM,CAA0B,CAAC,CAAC,CAAC;EACpD,MAAM+E,QAAQ,GAAG/E,MAAM,CASrB,CAAC,CAAC,CAAC;EACL,MAAMgF,oBAAoB,GAAGhF,MAAM,CAAQ,CAAC;EAC5C,MAAM4E,aAAa,GAAG5E,MAAM,CAACgD,UAAU,CAAC;EACxC,MAAMiC,YAAY,GAAGjF,MAAM,CAAiB,CAAC;EAC7C,MAAMkF,UAAU,GAAGlF,MAAM,CAAU,CAAC;EACpC,MAAMmF,SAAS,GAAGnF,MAAM,CAEtB,CAAC,CAAC,CAAC;EAEL,MAAMoF,QAAQ,GAAG1B,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAKzB,kBAAkB,IAAIC,iBAAkB;EAEzE,MAAM;IAAEmD;EAAqB,CAAC,GAAG7D,sBAAsB,CAAC,CAAC;EAEzD,MAAM8D,UAAU,GAAGvF,OAAO,CAAC,MAAM;IAAA,IAAAwF,IAAA;IAC/B,MAAMC,IAAI,IAAAD,IAAA,GAAIP,oBAAoB,CAACR,OAAO,IAAIxB,UAAU,cAAAuC,IAAA,cAAAA,IAAA,GAAK,EAAE;IAC/D,MAAME,WAAW,GACf,OAAOhC,KAAK,KAAK,QAAQ,GAAG+B,IAAI,CAACE,KAAK,CAAC,CAAC,EAAEjC,KAAK,CAAC,GAAG+B,IAAI;IAEzD,OAAOC,WAAW,CAACE,GAAG,CAAC,CAACvC,KAAK,EAAEE,KAAK,KAAK;MAAA,IAAAsC,qBAAA,EAAAC,oBAAA;MACvC,MAAMC,EAAE,GAAGjB,MAAM,CAACL,OAAO,CAAClB,KAAK,CAAC,IAAI7C,YAAY,CAAC,CAAC;MAElD,MAAMsF,WAAW,GACf,CAAA/C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEgD,MAAM,MAAAJ,qBAAA,GAAGhB,aAAa,CAACJ,OAAO,cAAAoB,qBAAA,uBAArBA,qBAAA,CAAuBI,MAAM;MAEpD,IAAI,CAACnB,MAAM,CAACL,OAAO,CAAClB,KAAK,CAAC,EAAE;QAC1BwB,QAAQ,CAACN,OAAO,CAACsB,EAAE,CAAC,GAAGC,WAAW;QAClClB,MAAM,CAACL,OAAO,CAACnB,IAAI,CAACyC,EAAE,CAAC;MACzB;MAEA,MAAMG,KAAK,GAAGnB,QAAQ,CAACN,OAAO,CAACsB,EAAE,CAAC,IAAI,KAAK;MAC3C,IAAI,GAAAD,oBAAA,GAACd,QAAQ,CAACP,OAAO,CAACsB,EAAE,CAAC,cAAAD,oBAAA,eAApBA,oBAAA,CAAsBrB,OAAO,GAAE;QAAA,IAAA0B,qBAAA;QAClCnB,QAAQ,CAACP,OAAO,CAACsB,EAAE,CAAC,GAAG;UACrBtB,OAAO,EACLX,aAAa,aAAbA,aAAa,cAAbA,aAAa,GACZoC,KAAK,IAAAC,qBAAA,GAAGb,oBAAoB,CAAC,CAAC,cAAAa,qBAAA,cAAAA,qBAAA,GAAI,MAAM,GAAG;QAChD,CAAC;MACH;MAEA,MAAMC,WAAoC,GAAG;QAC3CL,EAAE;QACFxD,IAAI;QACJc,KAAK;QACLE,KAAK;QACLN,UAAU;QACViC,YAAY;QACZgB,KAAK;QACLpC,aAAa,EAAEkB,QAAQ,CAACP,OAAO,CAACsB,EAAE,CAAC,CAACtB,OAAO;QAC3C4B,qBAAqB,EAAErB,QAAQ,CAACP,OAAO,CAACsB,EAAE,CAAC,CAACO,QAAQ;QACpDC,oBAAoB,EAAEzC,aAAa,IAAI,MAAM;QAC7C0C,WAAW,EAAExB,QAAQ,CAACP,OAAO,CAACsB,EAAE,CAAC,CAACU,OAAO;QACzCC,mBAAmB,EAAEA,CAACC,IAAI,EAAEF,OAAO,GAAG,CAAC,CAAC,KAAK;UAAA,IAAAG,iBAAA;UAC3C5B,QAAQ,CAACP,OAAO,CAACsB,EAAE,CAAC,CAACO,QAAQ,GAAGtB,QAAQ,CAACP,OAAO,CAACsB,EAAE,CAAC,CAACtB,OAAO;UAC5DO,QAAQ,CAACP,OAAO,CAACsB,EAAE,CAAC,CAACtB,OAAO,GAAGkC,IAAI;UACnC3B,QAAQ,CAACP,OAAO,CAACsB,EAAE,CAAC,CAACU,OAAO,GAAGA,OAAO;UACtC,CAAAG,iBAAA,GAAO7B,QAAQ,CAACN,OAAO,cAAAmC,iBAAA,qBAAvB,OAAOA,iBAAA,CAAmBb,EAAE,CAAC;UAC7B,IAAI,CAAAU,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,aAAa,MAAK,IAAI,EAAE;YACnC7E,WAAW,CAAC,CAAC;UACf;QACF,CAAC;QACDgC,YAAY,EAAEA,CAACzB,IAAI,EAAEc,KAAK,KAAK;UAC7B,MAAMyD,aAAa,GAAGnF,eAAe,CAACsB,UAAU,CAAC;UAIjD6D,aAAa,CAACvD,KAAK,CAAC,GAAAC,aAAA,KAAQsD,aAAa,CAACvD,KAAK,CAAC,CAAE;UAElD/C,OAAO,CAACuG,GAAG,CAACD,aAAa,EAAEvE,IAAI,EAAEc,KAAK,CAAC;UACvCW,YAAY,CAAC8C,aAAa,CAAC;QAC7B,CAAC;QACDE,UAAU,EAAGC,OAAO,IAAK;UACvB9B,UAAU,CAACV,OAAO,GAAG,IAAI;UACzBT,YAAY,CAAC,CAAC,IAAIf,UAAU,IAAI,EAAE,CAAC,EAAEgE,OAAO,CAAC,CAAC;QAChD,CAAC;QACDC,YAAY,EAAEA,CAAC;UAAEC,SAAS,GAAG;QAAM,CAAC,GAAG,CAAC,CAAC,KAAK;UAC5C,IAAIA,SAAS,EAAE;YAEblC,oBAAoB,CAACR,OAAO,GAAGxB,UAAU;UAC3C;UAEA,MAAM6D,aAAa,GAAGnF,eAAe,CAACsB,UAAU,CAAC;UACjD6D,aAAa,CAACM,MAAM,CAAC7D,KAAK,EAAE,CAAC,CAAC;UAC9BS,YAAY,CAAC8C,aAAa,CAAC;QAC7B,CAAC;QAGDO,aAAa,EAAEA,CAAA,KAAM;UAAA,IAAAC,iBAAA,EAAAC,kBAAA;UACnBtC,oBAAoB,CAACR,OAAO,GAAG,IAAI;UACnC,CAAA6C,iBAAA,GAAOtC,QAAQ,CAACP,OAAO,cAAA6C,iBAAA,qBAAvB,OAAOA,iBAAA,CAAmBvB,EAAE,CAAC;UAC7B,CAAAwB,kBAAA,GAAOxC,QAAQ,CAACN,OAAO,cAAA8C,kBAAA,qBAAvB,OAAOA,kBAAA,CAAmBxB,EAAE,CAAC;UAC7B,MAAMyB,SAAS,GAAG1C,MAAM,CAACL,OAAO,CAACgD,OAAO,CAAC1B,EAAE,CAAC;UAC5CjB,MAAM,CAACL,OAAO,CAAC2C,MAAM,CAACI,SAAS,EAAE,CAAC,CAAC;UACnCxF,WAAW,CAAC,CAAC;QACf,CAAC;QAGD0F,oBAAoB,EAAGrE,KAAK,IAAK;UAC/B,IAAIA,KAAK,EAAE;YACT,MAAMyD,aAAa,GAAGnF,eAAe,CAACsB,UAAU,CAAC;YACjD6D,aAAa,CAACvD,KAAK,CAAC,GAAGF,KAAK;YAC5BW,YAAY,CAAC8C,aAAa,CAAC;UAC7B;QACF;MACF,CAAC;MAED,OAAOV,WAAW;IACpB,CAAC,CAAC;EAIJ,CAAC,EAAE,CAACrE,IAAI,EAAEkB,UAAU,EAAES,KAAK,EAAEnB,IAAI,EAAEyB,YAAY,CAAC,CAAC;EAEjD,MAAM2D,KAAK,GAAGpC,UAAU,CAACU,MAAM;EAC/B/F,SAAS,CAAC,MAAM;IACd,IAAIwD,KAAK,EAAE;MACTtB,aAAa,CAAC;QAAEsB,KAAK;QAAEiE;MAAM,CAAC,CAAC;IACjC;EACF,CAAC,EAAE,CAACA,KAAK,EAAEjE,KAAK,EAAEtB,aAAa,CAAC,CAAC;EAGjCpC,OAAO,CAAC,MAAM;IACZ,MAAM4H,IAAI,GAAGrC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGA,UAAU,CAACU,MAAM,GAAG,CAAC,CAAC;IAChD,IAAI2B,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAE1B,KAAK,IAAI,CAACf,UAAU,CAACV,OAAO,EAAE;MACtCP,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGjB,UAAU,CAAC;IACxB,CAAC,MAAM;MACLkC,UAAU,CAACV,OAAO,GAAG,KAAK;IAC5B;EACF,CAAC,EAAE,CAACxB,UAAU,EAAEsC,UAAU,EAAErB,QAAQ,CAAC,CAAC;EAEtC,MAAM2D,SAEL,GAAArE,aAAA,CAAAA,aAAA,CAAAA,aAAA;IACCsE,SAAS,EAAEvH,UAAU,wCAGnBsB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEiG,SACT;EAAC,GACE7G,sBAAsB,CAACY,KAA2B,CAAC,GACnDf,gBAAgB,CAACe,KAAK,CAAC;IAC1BkG,QAAQ,EAAE7C;EAAY,EACvB;EAED,MAAM8C,aAAa,GACjB/E,UAAU,KAAKW,UAAU,IAAI,CAAA/B,KAAK,aAALA,KAAK,wBAAAC,YAAA,GAALD,KAAK,CAAEwB,KAAK,cAAAvB,YAAA,uBAAZA,YAAA,CAAcmE,MAAM,MAAK,CAAC,GACnDpC,WAAW,GACX0B,UAAU,CAACK,GAAG,CAAEqC,SAAS,IAAK;IAC5B,MAAM;MAAElC,EAAE;MAAE1C,KAAK;MAAEE;IAAM,CAAC,GAAG0E,SAAS;IACtC,MAAMC,UAAU,GAAI9C,SAAS,CAACX,OAAO,CAACsB,EAAE,CAAC,GACvCX,SAAS,CAACX,OAAO,CAACsB,EAAE,CAAC,IAAI3F,SAAS,CAAiB,CAAE;IAEvD,MAAM+H,cAAc,GAAIC,YAA0B,IAAK;MACrD,OAAO,OAAOA,YAAY,KAAK,UAAU,GACrCA,YAAY,CAAC/E,KAAK,EAAEE,KAAK,CAAC,GAC1B6E,YAAY;IAClB,CAAC;IAED,MAAMC,YAAY,GAAA7E,aAAA,CAAAA,aAAA,KACbyE,SAAS;MACZC;IAAU,EACX;IAED,MAAMI,OAAO,GAAGC,KAAK,CAACC,OAAO,CAACrE,QAAQ,CAAC,GACnCA,QAAQ,CAACyB,GAAG,CAAE6C,KAAK,IAAKN,cAAc,CAACM,KAAK,CAAC,CAAC,GAC9CN,cAAc,CAAChE,QAAQ,CAAC;IAE5B,IAAIkB,QAAQ,EAAE;MACZ,OACEtF,KAAA,CAAA2I,aAAA,CAACxH,kBAAkB,CAACyH,QAAQ;QAC1BC,GAAG,EAAG,WAAU7C,EAAG,EAAE;QACrB1C,KAAK,EAAEgF;MAAa,GAEpBtI,KAAA,CAAA2I,aAAA,CAACrH,qBAAqB,QAAEiH,OAA+B,CAC5B,CAAC;IAElC;IAEA,OACEvI,KAAA,CAAA2I,aAAA,CAAC/H,IAAI,CAACkI,IAAI;MACRf,SAAS,EAAC,4BAA4B;MACtCgB,QAAQ,EAAE,CAAC,CAAE;MACbf,QAAQ,EAAEG,UAAW;MACrBU,GAAG,EAAG,WAAU7C,EAAG;IAAE,GAErBhG,KAAA,CAAA2I,aAAA,CAACxH,kBAAkB,CAACyH,QAAQ;MAACtF,KAAK,EAAEgF;IAAa,GAC/CtI,KAAA,CAAA2I,aAAA,CAACrH,qBAAqB,QAAEiH,OAA+B,CAC5B,CACpB,CAAC;EAEhB,CAAC,CAAC;EAER,MAAMA,OAAO,GAAGjD,QAAQ,GACtB2C,aAAa,GAEbjI,KAAA,CAAA2I,aAAA,CAAC/H,IAAI,CAACoI,KAAK,EAAKlB,SAAS,EAAGG,aAA0B,CACvD;EAED,OACEjI,KAAA,CAAA2I,aAAA,CAAA3I,KAAA,CAAAiJ,QAAA,QACGjF,OAAO,GAAGhE,KAAA,CAAA2I,aAAA,CAAC7H,eAAe,QAAEyH,OAAyB,CAAC,GAAGA,OAAO,EAEjEvI,KAAA,CAAA2I,aAAA,CAAC9H,UAAU;IACTqI,IAAI,EAAE1E,OAAO,CAAClC,KAAK,IAAIC,YAAY,CAAE;IACrC4G,KAAK,EAAE,CAAC7G,KAAK,IAAIC,YAAY,GAAG,SAAS,GAAG6G,SAAU;IACtDC,UAAU,EAAE;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAS,CAAE;IACzCC,YAAY,EAAE;EAAM,GAEnB7H,UAAU,CAAC;IAAE4G,OAAO,EAAEjG,KAAK,IAAIC;EAAa,CAAC,CACpC,CACZ,CAAC;AAEP;AAEAV,cAAc,CAAC4H,qBAAqB,GAAG,IAAI;AAC3C,eAAe5H,cAAc"}
1
+ {"version":3,"file":"Array.js","names":["React","useMemo","useRef","useEffect","useReducer","createRef","useContext","useCallback","classnames","pointer","useFieldProps","makeUniqueId","Flex","FormStatus","HeightAnimation","pickSpacingProps","useMountEffect","useUpdateEffect","pickFlexContainerProps","IterateItemContext","SummaryListContext","ValueBlockContext","FieldBoundaryProvider","DataContext","useDataValue","useArrayLimit","useSwitchContainerMode","getMessagesFromError","structuredClone","ArrayComponent","props","_props$value","salt","forceUpdate","dataContext","summaryListContext","valueBlockContext","setLimitProps","error","limitWarning","path","getValueByPath","countPath","countPathLimit","Infinity","getCountValue","countValue","parseFloat","preparedProps","countPathTransform","arrayValue","newValue","i","l","value","push","index","_objectSpread","required","limit","withoutFlex","emptyValue","placeholder","containerMode","animate","handleChange","setChanged","onChange","children","updateContextDataInSync","omitMultiplePathWarning","forceUpdateWhenContextDataIsSet","Boolean","countValueRef","current","window","requestAnimationFrame","handlePathChange","valueCountRef","idsRef","isNewRef","modesRef","valueWhileClosingRef","containerRef","hadPushRef","innerRefs","omitFlex","getNextContainerMode","arrayItems","_ref","list","limitedList","slice","map","_valueCountRef$curren","_modesRef$current$id","id","hasNewItems","length","isNew","_getNextContainerMode","itemContext","previousContainerMode","previous","initialContainerMode","modeOptions","options","switchContainerMode","mode","_isNewRef$current","preventUpdate","newArrayValue","set","handlePush","element","handleRemove","keepItems","splice","fulfillRemove","_modesRef$current","_isNewRef$current2","findIndex","indexOf","restoreOriginalValue","total","last","flexProps","className","innerRef","arrayElements","itemProps","elementRef","renderChildren","elementChild","contextValue","content","Array","isArray","child","createElement","Provider","key","Item","tabIndex","Stack","Fragment","show","state","undefined","shellSpace","top","bottom","no_animation","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, {\n useMemo,\n useRef,\n useEffect,\n useReducer,\n createRef,\n useContext,\n useCallback,\n} from 'react'\nimport classnames from 'classnames'\nimport pointer from '../../utils/json-pointer'\nimport { useFieldProps } from '../../hooks'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport { Flex, FormStatus, HeightAnimation } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport useUpdateEffect from '../../../../shared/helpers/useUpdateEffect'\nimport {\n BasicProps as FlexContainerProps,\n Props as FlexContainerAllProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport IterateItemContext, {\n IterateItemContextState,\n ModeOptions,\n} from '../IterateItemContext'\nimport SummaryListContext from '../../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from '../../ValueBlock/ValueBlockContext'\nimport FieldBoundaryProvider from '../../DataContext/FieldBoundary/FieldBoundaryProvider'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport { useArrayLimit, useSwitchContainerMode } from '../hooks'\nimport { getMessagesFromError } from '../../FieldBlock'\n\nimport type { ContainerMode, ElementChild, Props, Value } from './types'\nimport type { Identifier } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type * from './types'\n\nfunction ArrayComponent(props: Props) {\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n\n const dataContext = useContext(DataContext)\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n const { setLimitProps, error: limitWarning } = useArrayLimit({\n path: props.path,\n })\n\n const { getValueByPath } = useDataValue()\n const { countPath, countPathLimit = Infinity } = props\n const getCountValue = useCallback(() => {\n if (!countPath) {\n return -1\n }\n\n let countValue = parseFloat(getValueByPath(countPath))\n if (!(countValue >= 0)) {\n countValue = 0\n }\n if (countValue > countPathLimit) {\n countValue = countPathLimit\n }\n\n return countValue\n }, [countPath, countPathLimit, getValueByPath])\n const countValue = getCountValue()\n\n const preparedProps = useMemo(() => {\n const { path, countPath, countPathTransform } = props\n\n if (countPath) {\n const arrayValue = getValueByPath(path)\n const newValue = []\n for (let i = 0, l = countValue; i < l; i++) {\n const value = arrayValue?.[i]\n newValue.push(\n countPathTransform\n ? countPathTransform({ value, index: i })\n : value\n )\n }\n\n return {\n required: false,\n ...props,\n value: newValue,\n }\n }\n\n return { required: false, ...props }\n }, [countValue, getValueByPath, props])\n\n const {\n path,\n value: arrayValue,\n limit,\n error,\n withoutFlex,\n emptyValue,\n placeholder,\n containerMode,\n animate,\n handleChange,\n setChanged,\n onChange,\n children,\n } = useFieldProps(preparedProps, {\n // To ensure the defaultValue set on the Iterate.Array is set in the data context,\n // and will not overwrite defaultValues set by fields inside the Iterate.Array.\n updateContextDataInSync: true,\n omitMultiplePathWarning: true,\n forceUpdateWhenContextDataIsSet: Boolean(countPath),\n })\n\n // - Call onChange on the data context, if the count value changes\n const countValueRef = useRef<number>()\n useUpdateEffect(() => {\n if (countPath) {\n if (\n typeof countValueRef.current === 'number' &&\n countValue !== countValueRef.current\n ) {\n window.requestAnimationFrame(() => {\n dataContext.handlePathChange(path, getValueByPath(path))\n }) // so we get the correct value inside the array.\n }\n countValueRef.current = countValue\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [countValue])\n\n useEffect(() => {\n // Update inside the useEffect, to support React.StrictMode\n valueCountRef.current = arrayValue || []\n }, [arrayValue])\n\n useMountEffect(() => {\n // To ensure the validator is called when a new item is added\n setChanged(true)\n })\n\n const idsRef = useRef<Array<Identifier>>([])\n const isNewRef = useRef<Record<string, boolean>>({})\n const modesRef = useRef<\n Record<\n Identifier,\n {\n current: ContainerMode\n previous?: ContainerMode\n options?: ModeOptions\n }\n >\n >({})\n const valueWhileClosingRef = useRef<Value>()\n const valueCountRef = useRef(arrayValue)\n const containerRef = useRef<HTMLDivElement>()\n const hadPushRef = useRef<boolean>()\n const innerRefs = useRef<\n Record<string, React.RefObject<HTMLDivElement>>\n >({})\n\n const omitFlex = withoutFlex ?? (summaryListContext || valueBlockContext)\n\n const { getNextContainerMode } = useSwitchContainerMode()\n\n const arrayItems = useMemo(() => {\n const list = (valueWhileClosingRef.current || arrayValue) ?? []\n const limitedList =\n typeof limit === 'number' ? list.slice(0, limit) : list\n\n return limitedList.map((value, index) => {\n const id = idsRef.current[index] || makeUniqueId()\n\n const hasNewItems =\n arrayValue?.length > valueCountRef.current?.length\n\n if (!idsRef.current[index]) {\n isNewRef.current[id] = hasNewItems\n idsRef.current.push(id)\n }\n\n const isNew = isNewRef.current[id] || false\n if (!modesRef.current[id]?.current) {\n modesRef.current[id] = {\n current:\n containerMode ??\n (isNew ? getNextContainerMode() ?? 'edit' : 'auto'),\n }\n }\n\n const itemContext: IterateItemContextState = {\n id,\n path,\n value,\n index,\n arrayValue,\n containerRef,\n isNew,\n containerMode: modesRef.current[id].current,\n previousContainerMode: modesRef.current[id].previous,\n initialContainerMode: containerMode || 'auto',\n modeOptions: modesRef.current[id].options,\n switchContainerMode: (mode, options = {}) => {\n modesRef.current[id].previous = modesRef.current[id].current\n modesRef.current[id].current = mode\n modesRef.current[id].options = options\n delete isNewRef.current?.[id]\n if (options?.preventUpdate !== true) {\n forceUpdate()\n }\n },\n handleChange: (path, value) => {\n const newArrayValue = structuredClone(arrayValue)\n\n // Make sure we have a new object reference,\n // else two new objects will be the same\n newArrayValue[index] = { ...newArrayValue[index] }\n\n pointer.set(newArrayValue, path, value)\n handleChange(newArrayValue)\n },\n handlePush: (element) => {\n hadPushRef.current = true\n handleChange([...(arrayValue || []), element])\n },\n handleRemove: ({ keepItems = false } = {}) => {\n if (keepItems) {\n // Add a backup as the array value while animating\n valueWhileClosingRef.current = arrayValue\n }\n\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(index, 1)\n handleChange(newArrayValue)\n },\n\n // - Called after animation end\n fulfillRemove: () => {\n valueWhileClosingRef.current = null\n delete modesRef.current?.[id]\n delete isNewRef.current?.[id]\n const findIndex = idsRef.current.indexOf(id)\n idsRef.current.splice(findIndex, 1)\n forceUpdate()\n },\n\n // - Called when cancel button press\n restoreOriginalValue: (value) => {\n if (value) {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue[index] = value\n handleChange(newArrayValue)\n }\n },\n }\n\n return itemContext\n })\n\n // In order to update \"valueWhileClosingRef\" we need to have \"salt\" in the deps array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [salt, arrayValue, limit, path, handleChange])\n\n const total = arrayItems.length\n useEffect(() => {\n if (limit) {\n setLimitProps({ limit, total })\n }\n }, [total, limit, setLimitProps])\n\n // - Call the onChange callback when a new element is added without calling \"handlePush\"\n useMemo(() => {\n const last = arrayItems?.[arrayItems.length - 1]\n if (last?.isNew && !hadPushRef.current) {\n onChange?.(arrayValue)\n } else {\n hadPushRef.current = false\n }\n }, [arrayValue, arrayItems, onChange])\n\n const flexProps: FlexContainerProps & {\n innerRef: FlexContainerAllProps['innerRef']\n } = {\n className: classnames(\n 'dnb-forms-iterate',\n 'dnb-forms-section',\n props?.className\n ),\n ...pickFlexContainerProps(props as FlexContainerProps),\n ...pickSpacingProps(props),\n innerRef: containerRef,\n }\n\n const arrayElements =\n arrayValue === emptyValue || props?.value?.length === 0\n ? placeholder\n : arrayItems.map((itemProps) => {\n const { id, value, index } = itemProps\n const elementRef = (innerRefs.current[id] =\n innerRefs.current[id] || createRef<HTMLDivElement>())\n\n const renderChildren = (elementChild: ElementChild) => {\n return typeof elementChild === 'function'\n ? elementChild(value, index)\n : elementChild\n }\n\n const contextValue = {\n ...itemProps,\n elementRef,\n }\n\n const content = Array.isArray(children)\n ? children.map((child) => renderChildren(child))\n : renderChildren(children)\n\n if (omitFlex) {\n return (\n <IterateItemContext.Provider\n key={`element-${id}`}\n value={contextValue}\n >\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateItemContext.Provider>\n )\n }\n\n return (\n <Flex.Item\n className=\"dnb-forms-iterate__element\"\n tabIndex={-1}\n innerRef={elementRef}\n key={`element-${id}`}\n >\n <IterateItemContext.Provider value={contextValue}>\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateItemContext.Provider>\n </Flex.Item>\n )\n })\n\n const content = omitFlex ? (\n arrayElements\n ) : (\n <Flex.Stack {...flexProps}>{arrayElements}</Flex.Stack>\n )\n\n return (\n <>\n {animate ? <HeightAnimation>{content}</HeightAnimation> : content}\n\n <FormStatus\n show={Boolean(error || limitWarning)}\n state={!error && limitWarning ? 'warning' : undefined}\n shellSpace={{ top: 0, bottom: 'medium' }}\n no_animation={false}\n >\n {getMessagesFromError({ content: error || limitWarning })[0]}\n </FormStatus>\n </>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":"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"}
@@ -29,12 +29,12 @@ function Log(_ref) {
29
29
  innerSpace: true
30
30
  }, props), label && React.createElement(FormLabel, {
31
31
  bottom: true
32
- }, label), React.createElement("pre", null, placeholder && Object.keys((logData !== null && logData !== void 0 ? logData : data) || {}).length === 0 ? placeholder : JSON.stringify(replaceUndefinedValues(logData !== null && logData !== void 0 ? logData : data), null, 2), ' '));
32
+ }, React.createElement("b", null, label)), React.createElement("pre", null, placeholder && Object.keys((logData !== null && logData !== void 0 ? logData : data) || {}).length === 0 ? placeholder : JSON.stringify(replaceUndefinedValues(logData !== null && logData !== void 0 ? logData : data), null, 2), ' '));
33
33
  }
34
34
  function replaceUndefinedValues(value, replaceWith = 'undefined') {
35
35
  if (typeof value === 'undefined') {
36
36
  return replaceWith;
37
- } else if (typeof value === 'object' && value !== replaceWith) {
37
+ } else if (value && typeof value === 'object' && value !== replaceWith) {
38
38
  return _objectSpread(_objectSpread({}, value), Object.fromEntries(Object.entries(value).map(([k, v]) => [k, replaceUndefinedValues(v)])));
39
39
  } else {
40
40
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"Log.js","names":["React","useContext","DataContext","Section","FormLabel","Log","_ref","placeholder","label","data","logData","props","_objectWithoutProperties","_excluded","createElement","_extends","element","backgroundColor","style","maxWidth","innerSpace","bottom","Object","keys","length","JSON","stringify","replaceUndefinedValues","value","replaceWith","_objectSpread","fromEntries","entries","map","k","v","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/Tools/Log.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport DataContext from '../DataContext/Context'\nimport Section, { SectionAllProps } from '../../../components/Section'\nimport { FormLabel } from '../../../components'\n\nfunction Log({\n placeholder,\n label,\n data: logData,\n ...props\n}: Omit<SectionAllProps, 'data' | 'label'> & {\n data?: unknown\n label?: React.ReactNode\n placeholder?: React.ReactNode\n}) {\n const { data } = useContext(DataContext)\n\n return (\n <Section\n element=\"output\"\n backgroundColor=\"sand-yellow\"\n style={{ maxWidth: '80vw' }}\n innerSpace\n {...props}\n >\n {label && <FormLabel bottom>{label}</FormLabel>}\n <pre>\n {placeholder && Object.keys((logData ?? data) || {}).length === 0\n ? placeholder\n : JSON.stringify(\n replaceUndefinedValues(logData ?? data),\n null,\n 2\n )}\n {' ' /* Ensure one line of spacing */}\n </pre>\n </Section>\n )\n}\n\n/**\n * Replaces undefined values in an object with a specified replacement value.\n * @param value - The value to check for undefined values.\n * @param replaceWith - The value to replace undefined values with. Default is null.\n * @returns The object with undefined values replaced.\n */\nfunction replaceUndefinedValues(\n value: unknown,\n replaceWith = 'undefined' as unknown\n): unknown {\n if (typeof value === 'undefined') {\n return replaceWith\n } else if (typeof value === 'object' && value !== replaceWith) {\n return {\n ...value,\n ...Object.fromEntries(\n Object.entries(value).map(([k, v]) => [\n k,\n replaceUndefinedValues(v),\n ])\n ),\n }\n } else {\n return value\n }\n}\n\nLog._supportsSpacingProps = true\nexport default Log\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,WAAW,MAAM,wBAAwB;AAChD,OAAOC,OAAO,MAA2B,6BAA6B;AACtE,SAASC,SAAS,QAAQ,qBAAqB;AAE/C,SAASC,GAAGA,CAAAC,IAAA,EAST;EAAA,IATU;MACXC,WAAW;MACXC,KAAK;MACLC,IAAI,EAAEC;IAMR,CAAC,GAAAJ,IAAA;IALIK,KAAK,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAMR,MAAM;IAAEJ;EAAK,CAAC,GAAGR,UAAU,CAACC,WAAW,CAAC;EAExC,OACEF,KAAA,CAAAc,aAAA,CAACX,OAAO,EAAAY,QAAA;IACNC,OAAO,EAAC,QAAQ;IAChBC,eAAe,EAAC,aAAa;IAC7BC,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAO,CAAE;IAC5BC,UAAU;EAAA,GACNT,KAAK,GAERH,KAAK,IAAIR,KAAA,CAAAc,aAAA,CAACV,SAAS;IAACiB,MAAM;EAAA,GAAEb,KAAiB,CAAC,EAC/CR,KAAA,CAAAc,aAAA,cACGP,WAAW,IAAIe,MAAM,CAACC,IAAI,CAAC,CAACb,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAID,IAAI,KAAK,CAAC,CAAC,CAAC,CAACe,MAAM,KAAK,CAAC,GAC7DjB,WAAW,GACXkB,IAAI,CAACC,SAAS,CACZC,sBAAsB,CAACjB,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAID,IAAI,CAAC,EACvC,IAAI,EACJ,CACF,CAAC,EACJ,GACE,CACE,CAAC;AAEd;AAQA,SAASkB,sBAAsBA,CAC7BC,KAAc,EACdC,WAAW,GAAG,WAAsB,EAC3B;EACT,IAAI,OAAOD,KAAK,KAAK,WAAW,EAAE;IAChC,OAAOC,WAAW;EACpB,CAAC,MAAM,IAAI,OAAOD,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAKC,WAAW,EAAE;IAC7D,OAAAC,aAAA,CAAAA,aAAA,KACKF,KAAK,GACLN,MAAM,CAACS,WAAW,CACnBT,MAAM,CAACU,OAAO,CAACJ,KAAK,CAAC,CAACK,GAAG,CAAC,CAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAK,CACpCD,CAAC,EACDP,sBAAsB,CAACQ,CAAC,CAAC,CAC1B,CACH,CAAC;EAEL,CAAC,MAAM;IACL,OAAOP,KAAK;EACd;AACF;AAEAvB,GAAG,CAAC+B,qBAAqB,GAAG,IAAI;AAChC,eAAe/B,GAAG"}
1
+ {"version":3,"file":"Log.js","names":["React","useContext","DataContext","Section","FormLabel","Log","_ref","placeholder","label","data","logData","props","_objectWithoutProperties","_excluded","createElement","_extends","element","backgroundColor","style","maxWidth","innerSpace","bottom","Object","keys","length","JSON","stringify","replaceUndefinedValues","value","replaceWith","_objectSpread","fromEntries","entries","map","k","v","_supportsSpacingProps"],"sources":["../../../../../src/extensions/forms/Tools/Log.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport DataContext from '../DataContext/Context'\nimport Section, { SectionAllProps } from '../../../components/Section'\nimport { FormLabel } from '../../../components'\n\nfunction Log({\n placeholder,\n label,\n data: logData,\n ...props\n}: Omit<SectionAllProps, 'data' | 'label'> & {\n data?: unknown\n label?: React.ReactNode\n placeholder?: React.ReactNode\n}) {\n const { data } = useContext(DataContext)\n\n return (\n <Section\n element=\"output\"\n backgroundColor=\"sand-yellow\"\n style={{ maxWidth: '80vw' }}\n innerSpace\n {...props}\n >\n {label && (\n <FormLabel bottom>\n <b>{label}</b>\n </FormLabel>\n )}\n <pre>\n {placeholder && Object.keys((logData ?? data) || {}).length === 0\n ? placeholder\n : JSON.stringify(\n replaceUndefinedValues(logData ?? data),\n null,\n 2\n )}\n {' ' /* Ensure one line of spacing */}\n </pre>\n </Section>\n )\n}\n\n/**\n * Replaces undefined values in an object with a specified replacement value.\n * @param value - The value to check for undefined values.\n * @param replaceWith - The value to replace undefined values with. Default is null.\n * @returns The object with undefined values replaced.\n */\nfunction replaceUndefinedValues(\n value: unknown,\n replaceWith = 'undefined' as unknown\n): unknown {\n if (typeof value === 'undefined') {\n return replaceWith\n } else if (value && typeof value === 'object' && value !== replaceWith) {\n return {\n ...value,\n ...Object.fromEntries(\n Object.entries(value).map(([k, v]) => [\n k,\n replaceUndefinedValues(v),\n ])\n ),\n }\n } else {\n return value\n }\n}\n\nLog._supportsSpacingProps = true\nexport default Log\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,WAAW,MAAM,wBAAwB;AAChD,OAAOC,OAAO,MAA2B,6BAA6B;AACtE,SAASC,SAAS,QAAQ,qBAAqB;AAE/C,SAASC,GAAGA,CAAAC,IAAA,EAST;EAAA,IATU;MACXC,WAAW;MACXC,KAAK;MACLC,IAAI,EAAEC;IAMR,CAAC,GAAAJ,IAAA;IALIK,KAAK,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAMR,MAAM;IAAEJ;EAAK,CAAC,GAAGR,UAAU,CAACC,WAAW,CAAC;EAExC,OACEF,KAAA,CAAAc,aAAA,CAACX,OAAO,EAAAY,QAAA;IACNC,OAAO,EAAC,QAAQ;IAChBC,eAAe,EAAC,aAAa;IAC7BC,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAO,CAAE;IAC5BC,UAAU;EAAA,GACNT,KAAK,GAERH,KAAK,IACJR,KAAA,CAAAc,aAAA,CAACV,SAAS;IAACiB,MAAM;EAAA,GACfrB,KAAA,CAAAc,aAAA,YAAIN,KAAS,CACJ,CACZ,EACDR,KAAA,CAAAc,aAAA,cACGP,WAAW,IAAIe,MAAM,CAACC,IAAI,CAAC,CAACb,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAID,IAAI,KAAK,CAAC,CAAC,CAAC,CAACe,MAAM,KAAK,CAAC,GAC7DjB,WAAW,GACXkB,IAAI,CAACC,SAAS,CACZC,sBAAsB,CAACjB,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAID,IAAI,CAAC,EACvC,IAAI,EACJ,CACF,CAAC,EACJ,GACE,CACE,CAAC;AAEd;AAQA,SAASkB,sBAAsBA,CAC7BC,KAAc,EACdC,WAAW,GAAG,WAAsB,EAC3B;EACT,IAAI,OAAOD,KAAK,KAAK,WAAW,EAAE;IAChC,OAAOC,WAAW;EACpB,CAAC,MAAM,IAAID,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAKC,WAAW,EAAE;IACtE,OAAAC,aAAA,CAAAA,aAAA,KACKF,KAAK,GACLN,MAAM,CAACS,WAAW,CACnBT,MAAM,CAACU,OAAO,CAACJ,KAAK,CAAC,CAACK,GAAG,CAAC,CAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAK,CACpCD,CAAC,EACDP,sBAAsB,CAACQ,CAAC,CAAC,CAC1B,CACH,CAAC;EAEL,CAAC,MAAM;IACL,OAAOP,KAAK;EACd;AACF;AAEAvB,GAAG,CAAC+B,qBAAqB,GAAG,IAAI;AAChC,eAAe/B,GAAG"}
@@ -8,4 +8,9 @@ declare function DateComponent(props: Props): import("react/jsx-runtime").JSX.El
8
8
  declare namespace DateComponent {
9
9
  var _supportsSpacingProps: boolean;
10
10
  }
11
+ export declare function formatDate(value: string, { locale, variant, }?: {
12
+ locale?: string;
13
+ variant?: Props['variant'];
14
+ }): string;
15
+ export declare function getOptions(variant: Props['variant']): Intl.DateTimeFormatOptions;
11
16
  export default DateComponent;
@@ -4,6 +4,8 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
  import React, { useCallback, useContext } from 'react';
7
+ import { parseISO } from 'date-fns';
8
+ import { LOCALE } from '../../../../shared/defaults';
7
9
  import StringValue from '../String';
8
10
  import useTranslation from '../../hooks/useTranslation';
9
11
  import SharedContext from '../../../../shared/Context';
@@ -19,19 +21,10 @@ function DateComponent(props) {
19
21
  if (!value) {
20
22
  return undefined;
21
23
  }
22
- const isRange = /^(\d{4}-\d{2}-\d{2}|null|undefined)\|(\d{4}-\d{2}-\d{2}|null|undefined)$/.test(value);
23
- const options = getOptions(variant);
24
- if (isRange) {
25
- const [startValue, endValue] = value.split('|');
26
- const startDate = new Date(startValue);
27
- const endDate = new Date(endValue);
28
- if (isNaN(startDate.valueOf()) || isNaN(endDate.valueOf())) {
29
- return undefined;
30
- }
31
- return typeof Intl !== 'undefined' ? new Intl.DateTimeFormat(locale, options).formatRange(startDate, endDate) : `${startDate.toLocaleString(locale, options)}|${endDate.toLocaleString(locale, options)}`;
32
- }
33
- const date = new Date(value);
34
- return typeof Intl !== 'undefined' ? new Intl.DateTimeFormat(locale, options).format(date) : date.toLocaleString(locale, options);
24
+ return formatDate(value, {
25
+ locale,
26
+ variant
27
+ });
35
28
  }, [locale, variant]);
36
29
  const stringProps = _objectSpread(_objectSpread({}, props), {}, {
37
30
  label: (_props$label = props.label) !== null && _props$label !== void 0 ? _props$label : translations.label,
@@ -39,7 +32,25 @@ function DateComponent(props) {
39
32
  });
40
33
  return React.createElement(StringValue, stringProps);
41
34
  }
42
- function getOptions(variant) {
35
+ export function formatDate(value, {
36
+ locale = LOCALE,
37
+ variant = 'numeric'
38
+ } = {}) {
39
+ const isRange = /^(\d{4}-\d{2}-\d{2}|null|undefined)\|(\d{4}-\d{2}-\d{2}|null|undefined)$/.test(value);
40
+ const options = getOptions(variant);
41
+ if (isRange) {
42
+ const [startValue, endValue] = value.split('|');
43
+ const startDate = parseISO(startValue);
44
+ const endDate = parseISO(endValue);
45
+ if (isNaN(startDate.valueOf()) || isNaN(endDate.valueOf())) {
46
+ return undefined;
47
+ }
48
+ return typeof Intl !== 'undefined' ? new Intl.DateTimeFormat(locale, options).formatRange(startDate, endDate) : `${startDate.toLocaleString(locale, options)}|${endDate.toLocaleString(locale, options)}`;
49
+ }
50
+ const date = parseISO(value);
51
+ return typeof Intl !== 'undefined' ? new Intl.DateTimeFormat(locale, options).format(date) : date.toLocaleString(locale, options);
52
+ }
53
+ export function getOptions(variant) {
43
54
  if (variant === 'numeric') {
44
55
  return {
45
56
  day: '2-digit',
@@ -1 +1 @@
1
- {"version":3,"file":"Date.js","names":["React","useCallback","useContext","StringValue","useTranslation","SharedContext","DateComponent","props","_props$locale","_props$variant","_props$label","translations","Date","locale","contextLocale","variant","toInput","value","undefined","isRange","test","options","getOptions","startValue","endValue","split","startDate","endDate","isNaN","valueOf","Intl","DateTimeFormat","formatRange","toLocaleString","date","format","stringProps","_objectSpread","label","createElement","day","month","year","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport StringValue, { Props as StringValueProps } from '../String'\nimport useTranslation from '../../hooks/useTranslation'\nimport SharedContext, { AnyLocale } from '../../../../shared/Context'\n\nexport type Props = StringValueProps & {\n variant?: 'long' | 'short' | 'numeric'\n locale?: AnyLocale\n}\n\nfunction DateComponent(props: Props) {\n const translations = useTranslation().Date\n const { locale: contextLocale } = useContext(SharedContext)\n const locale = props.locale ?? contextLocale\n const variant = props.variant ?? 'long'\n\n const toInput = useCallback(\n (value: string) => {\n if (!value) {\n return undefined\n }\n\n // Either of the range dates can be null\n const isRange =\n /^(\\d{4}-\\d{2}-\\d{2}|null|undefined)\\|(\\d{4}-\\d{2}-\\d{2}|null|undefined)$/.test(\n value\n )\n const options = getOptions(variant)\n\n if (isRange) {\n const [startValue, endValue] = value.split('|')\n\n const startDate = new Date(startValue)\n const endDate = new Date(endValue)\n\n // Stop if either date is invalid\n if (isNaN(startDate.valueOf()) || isNaN(endDate.valueOf())) {\n return undefined\n }\n\n return typeof Intl !== 'undefined'\n ? new Intl.DateTimeFormat(locale, options).formatRange(\n startDate,\n endDate\n )\n : `${startDate.toLocaleString(\n locale,\n options\n )}|${endDate.toLocaleString(locale, options)}`\n }\n\n const date = new Date(value)\n\n return typeof Intl !== 'undefined'\n ? new Intl.DateTimeFormat(locale, options).format(date)\n : date.toLocaleString(locale, options)\n },\n [locale, variant]\n )\n\n const stringProps: Props = {\n ...props,\n label: props.label ?? translations.label,\n toInput,\n }\n return <StringValue {...stringProps} />\n}\n\nfunction getOptions(\n variant: Props['variant']\n): Intl.DateTimeFormatOptions {\n if (variant === 'numeric') {\n return {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n } as const\n }\n\n return {\n day: 'numeric',\n month: variant,\n year: 'numeric',\n } as const\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Date.js","names":["React","useCallback","useContext","parseISO","LOCALE","StringValue","useTranslation","SharedContext","DateComponent","props","_props$locale","_props$variant","_props$label","translations","Date","locale","contextLocale","variant","toInput","value","undefined","formatDate","stringProps","_objectSpread","label","createElement","isRange","test","options","getOptions","startValue","endValue","split","startDate","endDate","isNaN","valueOf","Intl","DateTimeFormat","formatRange","toLocaleString","date","format","day","month","year","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Value/Date/Date.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport { parseISO } from 'date-fns'\nimport { LOCALE } from '../../../../shared/defaults'\nimport StringValue, { Props as StringValueProps } from '../String'\nimport useTranslation from '../../hooks/useTranslation'\nimport SharedContext, { AnyLocale } from '../../../../shared/Context'\n\nexport type Props = StringValueProps & {\n variant?: 'long' | 'short' | 'numeric'\n locale?: AnyLocale\n}\n\nfunction DateComponent(props: Props) {\n const translations = useTranslation().Date\n const { locale: contextLocale } = useContext(SharedContext)\n const locale = props.locale ?? contextLocale\n const variant = props.variant ?? 'long'\n\n const toInput = useCallback(\n (value: string) => {\n if (!value) {\n return undefined\n }\n\n return formatDate(value, { locale, variant })\n },\n [locale, variant]\n )\n\n const stringProps: Props = {\n ...props,\n label: props.label ?? translations.label,\n toInput,\n }\n return <StringValue {...stringProps} />\n}\n\nexport function formatDate(\n value: string,\n {\n locale = LOCALE,\n variant = 'numeric',\n }: {\n locale?: string\n variant?: Props['variant']\n } = {}\n) {\n // Either of the range dates can be null\n const isRange =\n /^(\\d{4}-\\d{2}-\\d{2}|null|undefined)\\|(\\d{4}-\\d{2}-\\d{2}|null|undefined)$/.test(\n value\n )\n const options = getOptions(variant)\n\n if (isRange) {\n const [startValue, endValue] = value.split('|')\n\n const startDate = parseISO(startValue)\n const endDate = parseISO(endValue)\n\n // Stop if either date is invalid\n if (isNaN(startDate.valueOf()) || isNaN(endDate.valueOf())) {\n return undefined\n }\n\n return typeof Intl !== 'undefined'\n ? new Intl.DateTimeFormat(locale, options).formatRange(\n startDate,\n endDate\n )\n : `${startDate.toLocaleString(\n locale,\n options\n )}|${endDate.toLocaleString(locale, options)}`\n }\n\n const date = parseISO(value)\n\n return typeof Intl !== 'undefined'\n ? new Intl.DateTimeFormat(locale, options).format(date)\n : date.toLocaleString(locale, options)\n}\n\nexport function getOptions(\n variant: Props['variant']\n): Intl.DateTimeFormatOptions {\n if (variant === 'numeric') {\n return {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n } as const\n }\n\n return {\n day: 'numeric',\n month: variant,\n year: 'numeric',\n } as const\n}\n\nDateComponent._supportsSpacingProps = true\nexport default DateComponent\n"],"mappings":"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"}
@@ -4,15 +4,15 @@ import { ValueProviderProps } from './ValueProvider';
4
4
  declare function useValueProvider(props?: Omit<ValueProviderProps, 'children'>): {
5
5
  extend: <T extends ValueProps<unknown>>(valueProps: T) => T;
6
6
  inheritedProps: {
7
+ space?: import("../../../../shared/types").SpaceTypeAll;
8
+ left?: import("../../../../shared/types").SpaceType;
9
+ right?: import("../../../../shared/types").SpaceType;
7
10
  label?: import("react").ReactNode;
8
11
  path?: string;
9
12
  value?: unknown;
10
- space?: import("../../../../shared/types").SpaceTypeAll;
11
13
  innerSpace?: import("../../../../shared/types").SpaceTypeAll | import("../../../../shared/types").SpaceTypeMedia;
12
14
  top?: import("../../../../shared/types").SpaceType;
13
- right?: import("../../../../shared/types").SpaceType;
14
15
  bottom?: import("../../../../shared/types").SpaceType;
15
- left?: import("../../../../shared/types").SpaceType;
16
16
  defaultValue?: unknown;
17
17
  className?: string;
18
18
  placeholder?: import("react").ReactNode;
@@ -44,11 +44,6 @@
44
44
  transform: translate3d(0, 0, 0);
45
45
  }
46
46
  }
47
- @media screen and (min-width: 40.00625em) {
48
- .dnb-forms-wizard-layout + .dnb-form-status:not([class*=space__left]), .dnb-forms-wizard-layout + .dnb-form-status + .dnb-form-status:not([class*=space__left]) {
49
- margin-left: var(--spacing-medium);
50
- }
51
- }
52
47
  @media screen and (max-width: 60em) {
53
48
  .dnb-forms-wizard-layout {
54
49
  flex-direction: column;
@@ -65,6 +60,6 @@
65
60
 
66
61
  @media screen and (min-width: 60.00625em) {
67
62
  .dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status {
68
- margin-left: 23rem;
63
+ margin-left: 21.5rem;
69
64
  }
70
65
  }
@@ -1 +1 @@
1
- .dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__indicator{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40.00625em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60.00625em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}
1
+ .dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__indicator{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60.00625em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:21.5rem}}
@@ -50,16 +50,6 @@
50
50
  }
51
51
  }
52
52
 
53
- // FormStatus as part of the Form.Handler
54
- & + .dnb-form-status,
55
- & + .dnb-form-status + .dnb-form-status {
56
- @include allAbove(small) {
57
- &:not([class*='space__left']) {
58
- margin-left: var(--spacing-medium);
59
- }
60
- }
61
- }
62
-
63
53
  @include allBelow('medium') {
64
54
  flex-direction: column;
65
55
  justify-content: stretch;
@@ -78,6 +68,6 @@
78
68
  @include allAbove('medium') {
79
69
  .dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar)
80
70
  .dnb-forms-status {
81
- margin-left: 23rem;
71
+ margin-left: 21.5rem;
82
72
  }
83
73
  }