@dnb/eufemia 10.63.4 → 10.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (847) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/assets/icons/dnb/calendar_add.svg +1 -0
  3. package/assets/icons/dnb/calendar_add_medium.svg +1 -0
  4. package/assets/icons/dnb/cog_medium.svg +1 -1
  5. package/assets/icons/dnb/digipass_corporate.svg +1 -1
  6. package/assets/icons/dnb/digipass_corporate_medium.svg +1 -1
  7. package/assets/icons/dnb/digipass_private.svg +1 -1
  8. package/assets/icons/dnb/digipass_private_medium.svg +1 -1
  9. package/assets/icons/dnb/digitpass_private_corporate.svg +1 -0
  10. package/assets/icons/dnb/digitpass_private_corporate_medium.svg +1 -0
  11. package/assets/icons/dnb/eufemia-icons-xml-categorized.tgz +0 -0
  12. package/assets/icons/dnb/eufemia-icons-xml.tgz +0 -0
  13. package/assets/icons/dnb/goal.svg +1 -0
  14. package/assets/icons/dnb/goal_medium.svg +1 -0
  15. package/assets/icons/dnb/information.svg +1 -1
  16. package/assets/icons/dnb/investor.svg +1 -0
  17. package/assets/icons/dnb/investor_medium.svg +1 -0
  18. package/assets/icons/dnb/layout_grid.svg +1 -0
  19. package/assets/icons/dnb/layout_grid_medium.svg +1 -0
  20. package/assets/icons/dnb/question.svg +1 -1
  21. package/assets/icons/dnb/question_circled.svg +1 -1
  22. package/assets/icons/dnb/question_medium.svg +1 -1
  23. package/assets/icons/dnb/return_1_medium.svg +1 -1
  24. package/assets/icons/dnb/show_pin.svg +1 -0
  25. package/assets/icons/dnb/show_pin_medium.svg +1 -0
  26. package/assets/icons/dnb/table.svg +1 -0
  27. package/assets/icons/dnb/table_medium.svg +1 -0
  28. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  29. package/cjs/components/date-picker/DatePickerCalc.js +1 -1
  30. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  31. package/cjs/components/drawer/style/dnb-drawer.css +4 -4
  32. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  33. package/cjs/components/drawer/style/dnb-drawer.scss +4 -4
  34. package/cjs/components/dropdown/Dropdown.d.ts +1 -1
  35. package/cjs/components/heading/HeadingCounter.js +4 -4
  36. package/cjs/components/heading/HeadingCounter.js.map +1 -1
  37. package/cjs/components/input/Input.js +1 -1
  38. package/cjs/components/input/Input.js.map +1 -1
  39. package/cjs/components/radio/Radio.d.ts +1 -1
  40. package/cjs/components/radio/RadioGroup.d.ts +1 -1
  41. package/cjs/components/section/Section.d.ts +1 -1
  42. package/cjs/components/section/Section.js.map +1 -1
  43. package/cjs/components/section/SectionDocs.js +1 -1
  44. package/cjs/components/section/SectionDocs.js.map +1 -1
  45. package/cjs/components/textarea/Textarea.js +8 -1
  46. package/cjs/components/textarea/Textarea.js.map +1 -1
  47. package/cjs/elements/lists/style/lists-mixins.scss +1 -1
  48. package/cjs/extensions/forms/Connectors/Bring/index.d.ts +1 -0
  49. package/cjs/extensions/forms/Connectors/Bring/index.js +11 -0
  50. package/cjs/extensions/forms/Connectors/Bring/index.js.map +1 -0
  51. package/cjs/extensions/forms/Connectors/Bring/postalCode.d.ts +25 -0
  52. package/cjs/extensions/forms/Connectors/Bring/postalCode.js +164 -0
  53. package/cjs/extensions/forms/Connectors/Bring/postalCode.js.map +1 -0
  54. package/cjs/extensions/forms/Connectors/createContext.d.ts +58 -0
  55. package/cjs/extensions/forms/Connectors/createContext.js +130 -0
  56. package/cjs/extensions/forms/Connectors/createContext.js.map +1 -0
  57. package/cjs/extensions/forms/Connectors/index.d.ts +2 -0
  58. package/cjs/extensions/forms/Connectors/index.js +26 -0
  59. package/cjs/extensions/forms/Connectors/index.js.map +1 -0
  60. package/cjs/extensions/forms/DataContext/Provider/Provider.js +1 -1
  61. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  62. package/cjs/extensions/forms/Field/Address/Address.d.ts +9 -0
  63. package/cjs/extensions/forms/Field/Address/Address.js +63 -0
  64. package/cjs/extensions/forms/Field/Address/Address.js.map +1 -0
  65. package/cjs/extensions/forms/Field/Address/AddressDocs.d.ts +2 -0
  66. package/cjs/extensions/forms/Field/Address/AddressDocs.js +15 -0
  67. package/cjs/extensions/forms/Field/Address/AddressDocs.js.map +1 -0
  68. package/cjs/extensions/forms/Field/Address/index.d.ts +2 -0
  69. package/cjs/extensions/forms/Field/Address/index.js +27 -0
  70. package/cjs/extensions/forms/Field/Address/index.js.map +1 -0
  71. package/cjs/extensions/forms/Field/Email/EmailDocs.d.ts +2 -0
  72. package/cjs/extensions/forms/Field/Email/EmailDocs.js +15 -0
  73. package/cjs/extensions/forms/Field/Email/EmailDocs.js.map +1 -0
  74. package/cjs/extensions/forms/Field/Expiry/Expiry.js +83 -32
  75. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  76. package/cjs/extensions/forms/Field/Name/Name.js +2 -2
  77. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
  78. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +1 -0
  79. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +10 -0
  80. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  81. package/cjs/extensions/forms/Field/Password/PasswordDocs.d.ts +2 -0
  82. package/cjs/extensions/forms/Field/Password/PasswordDocs.js +30 -0
  83. package/cjs/extensions/forms/Field/Password/PasswordDocs.js.map +1 -0
  84. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -0
  85. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +23 -10
  86. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  87. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +3 -3
  88. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  89. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -4
  90. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  91. package/cjs/extensions/forms/Field/index.js +7 -0
  92. package/cjs/extensions/forms/Field/index.js.map +1 -1
  93. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +0 -1
  94. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  95. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +4 -0
  96. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  97. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -0
  98. package/cjs/extensions/forms/Iterate/Array/Array.js +7 -2
  99. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  100. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +5 -0
  101. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  102. package/cjs/extensions/forms/Iterate/Array/types.d.ts +1 -0
  103. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  104. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +4 -0
  105. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +3 -2
  106. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  107. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  108. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  109. package/cjs/extensions/forms/Value/Address/Address.d.ts +9 -0
  110. package/cjs/extensions/forms/Value/Address/Address.js +41 -0
  111. package/cjs/extensions/forms/Value/Address/Address.js.map +1 -0
  112. package/cjs/extensions/forms/Value/Address/index.d.ts +2 -0
  113. package/cjs/extensions/forms/Value/Address/index.js +27 -0
  114. package/cjs/extensions/forms/Value/Address/index.js.map +1 -0
  115. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  116. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  117. package/cjs/extensions/forms/Value/index.d.ts +1 -0
  118. package/cjs/extensions/forms/Value/index.js +7 -0
  119. package/cjs/extensions/forms/Value/index.js.map +1 -1
  120. package/cjs/extensions/forms/Wizard/Step/Step.js +2 -2
  121. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  122. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +13 -0
  123. package/cjs/extensions/forms/constants/locales/en-GB.js +20 -7
  124. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  125. package/cjs/extensions/forms/constants/locales/en-US.d.ts +13 -0
  126. package/cjs/extensions/forms/constants/locales/index.d.ts +26 -0
  127. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +13 -0
  128. package/cjs/extensions/forms/constants/locales/nb-NO.js +16 -3
  129. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  130. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
  131. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  132. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +4 -3
  133. package/cjs/extensions/forms/hooks/useFieldProps.js +28 -16
  134. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  135. package/cjs/extensions/forms/index.d.ts +1 -0
  136. package/cjs/extensions/forms/index.js +4 -1
  137. package/cjs/extensions/forms/index.js.map +1 -1
  138. package/cjs/extensions/forms/style/dnb-forms.css +4 -0
  139. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  140. package/cjs/extensions/forms/types.d.ts +34 -10
  141. package/cjs/extensions/forms/types.js.map +1 -1
  142. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +1 -1
  143. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  144. package/cjs/icons/calendar_add.d.ts +3 -0
  145. package/cjs/icons/calendar_add.js +11 -0
  146. package/cjs/icons/calendar_add.js.map +1 -0
  147. package/cjs/icons/calendar_add_medium.d.ts +3 -0
  148. package/cjs/icons/calendar_add_medium.js +11 -0
  149. package/cjs/icons/calendar_add_medium.js.map +1 -0
  150. package/cjs/icons/digitpass_private_corporate.d.ts +3 -0
  151. package/cjs/icons/digitpass_private_corporate.js +11 -0
  152. package/cjs/icons/digitpass_private_corporate.js.map +1 -0
  153. package/cjs/icons/digitpass_private_corporate_medium.d.ts +3 -0
  154. package/cjs/icons/digitpass_private_corporate_medium.js +11 -0
  155. package/cjs/icons/digitpass_private_corporate_medium.js.map +1 -0
  156. package/cjs/icons/dnb/calendar_add.d.ts +3 -0
  157. package/cjs/icons/dnb/calendar_add.js +31 -0
  158. package/cjs/icons/dnb/calendar_add.js.map +1 -0
  159. package/cjs/icons/dnb/calendar_add_medium.d.ts +3 -0
  160. package/cjs/icons/dnb/calendar_add_medium.js +25 -0
  161. package/cjs/icons/dnb/calendar_add_medium.js.map +1 -0
  162. package/cjs/icons/dnb/cog_medium.js +1 -1
  163. package/cjs/icons/dnb/cog_medium.js.map +1 -1
  164. package/cjs/icons/dnb/digipass_corporate.js +3 -3
  165. package/cjs/icons/dnb/digipass_corporate.js.map +1 -1
  166. package/cjs/icons/dnb/digipass_corporate_medium.js +3 -3
  167. package/cjs/icons/dnb/digipass_corporate_medium.js.map +1 -1
  168. package/cjs/icons/dnb/digipass_private.js +3 -3
  169. package/cjs/icons/dnb/digipass_private.js.map +1 -1
  170. package/cjs/icons/dnb/digipass_private_medium.js +3 -3
  171. package/cjs/icons/dnb/digipass_private_medium.js.map +1 -1
  172. package/cjs/icons/dnb/digitpass_private_corporate.d.ts +3 -0
  173. package/cjs/icons/dnb/digitpass_private_corporate.js +25 -0
  174. package/cjs/icons/dnb/digitpass_private_corporate.js.map +1 -0
  175. package/cjs/icons/dnb/digitpass_private_corporate_medium.d.ts +3 -0
  176. package/cjs/icons/dnb/digitpass_private_corporate_medium.js +25 -0
  177. package/cjs/icons/dnb/digitpass_private_corporate_medium.js.map +1 -0
  178. package/cjs/icons/dnb/goal.d.ts +3 -0
  179. package/cjs/icons/dnb/goal.js +26 -0
  180. package/cjs/icons/dnb/goal.js.map +1 -0
  181. package/cjs/icons/dnb/goal_medium.d.ts +3 -0
  182. package/cjs/icons/dnb/goal_medium.js +26 -0
  183. package/cjs/icons/dnb/goal_medium.js.map +1 -0
  184. package/cjs/icons/dnb/icons-meta.json +132 -4
  185. package/cjs/icons/dnb/icons-svg.lock +1278 -1096
  186. package/cjs/icons/dnb/index.d.ts +15 -1
  187. package/cjs/icons/dnb/index.js +98 -0
  188. package/cjs/icons/dnb/index.js.map +1 -1
  189. package/cjs/icons/dnb/information.js +1 -1
  190. package/cjs/icons/dnb/information.js.map +1 -1
  191. package/cjs/icons/dnb/investor.d.ts +3 -0
  192. package/cjs/icons/dnb/investor.js +33 -0
  193. package/cjs/icons/dnb/investor.js.map +1 -0
  194. package/cjs/icons/dnb/investor_medium.d.ts +3 -0
  195. package/cjs/icons/dnb/investor_medium.js +33 -0
  196. package/cjs/icons/dnb/investor_medium.js.map +1 -0
  197. package/cjs/icons/dnb/layout_grid.d.ts +3 -0
  198. package/cjs/icons/dnb/layout_grid.js +34 -0
  199. package/cjs/icons/dnb/layout_grid.js.map +1 -0
  200. package/cjs/icons/dnb/layout_grid_medium.d.ts +3 -0
  201. package/cjs/icons/dnb/layout_grid_medium.js +34 -0
  202. package/cjs/icons/dnb/layout_grid_medium.js.map +1 -0
  203. package/cjs/icons/dnb/question.js +1 -1
  204. package/cjs/icons/dnb/question.js.map +1 -1
  205. package/cjs/icons/dnb/question_circled.js +1 -1
  206. package/cjs/icons/dnb/question_circled.js.map +1 -1
  207. package/cjs/icons/dnb/question_medium.js +1 -1
  208. package/cjs/icons/dnb/question_medium.js.map +1 -1
  209. package/cjs/icons/dnb/return_1_medium.js +1 -1
  210. package/cjs/icons/dnb/return_1_medium.js.map +1 -1
  211. package/cjs/icons/dnb/secondary_icons.d.ts +8 -1
  212. package/cjs/icons/dnb/secondary_icons.js +49 -0
  213. package/cjs/icons/dnb/secondary_icons.js.map +1 -1
  214. package/cjs/icons/dnb/secondary_icons_medium.d.ts +8 -1
  215. package/cjs/icons/dnb/secondary_icons_medium.js +49 -0
  216. package/cjs/icons/dnb/secondary_icons_medium.js.map +1 -1
  217. package/cjs/icons/dnb/show_pin.d.ts +3 -0
  218. package/cjs/icons/dnb/show_pin.js +23 -0
  219. package/cjs/icons/dnb/show_pin.js.map +1 -0
  220. package/cjs/icons/dnb/show_pin_medium.d.ts +3 -0
  221. package/cjs/icons/dnb/show_pin_medium.js +23 -0
  222. package/cjs/icons/dnb/show_pin_medium.js.map +1 -0
  223. package/cjs/icons/dnb/table.d.ts +3 -0
  224. package/cjs/icons/dnb/table.js +33 -0
  225. package/cjs/icons/dnb/table.js.map +1 -0
  226. package/cjs/icons/dnb/table_medium.d.ts +3 -0
  227. package/cjs/icons/dnb/table_medium.js +26 -0
  228. package/cjs/icons/dnb/table_medium.js.map +1 -0
  229. package/cjs/icons/goal.d.ts +3 -0
  230. package/cjs/icons/goal.js +11 -0
  231. package/cjs/icons/goal.js.map +1 -0
  232. package/cjs/icons/goal_medium.d.ts +3 -0
  233. package/cjs/icons/goal_medium.js +11 -0
  234. package/cjs/icons/goal_medium.js.map +1 -0
  235. package/cjs/icons/index.d.ts +15 -1
  236. package/cjs/icons/index.js +98 -0
  237. package/cjs/icons/index.js.map +1 -1
  238. package/cjs/icons/investor.d.ts +3 -0
  239. package/cjs/icons/investor.js +11 -0
  240. package/cjs/icons/investor.js.map +1 -0
  241. package/cjs/icons/investor_medium.d.ts +3 -0
  242. package/cjs/icons/investor_medium.js +11 -0
  243. package/cjs/icons/investor_medium.js.map +1 -0
  244. package/cjs/icons/layout_grid.d.ts +3 -0
  245. package/cjs/icons/layout_grid.js +11 -0
  246. package/cjs/icons/layout_grid.js.map +1 -0
  247. package/cjs/icons/layout_grid_medium.d.ts +3 -0
  248. package/cjs/icons/layout_grid_medium.js +11 -0
  249. package/cjs/icons/layout_grid_medium.js.map +1 -0
  250. package/cjs/icons/show_pin.d.ts +3 -0
  251. package/cjs/icons/show_pin.js +11 -0
  252. package/cjs/icons/show_pin.js.map +1 -0
  253. package/cjs/icons/show_pin_medium.d.ts +3 -0
  254. package/cjs/icons/show_pin_medium.js +11 -0
  255. package/cjs/icons/show_pin_medium.js.map +1 -0
  256. package/cjs/icons/table.d.ts +3 -0
  257. package/cjs/icons/table.js +11 -0
  258. package/cjs/icons/table.js.map +1 -0
  259. package/cjs/icons/table_medium.d.ts +3 -0
  260. package/cjs/icons/table_medium.js +11 -0
  261. package/cjs/icons/table_medium.js.map +1 -0
  262. package/cjs/shared/Eufemia.d.ts +1 -1
  263. package/cjs/shared/Eufemia.js +2 -2
  264. package/cjs/shared/Eufemia.js.map +1 -1
  265. package/cjs/style/core/reset.scss +3 -9
  266. package/cjs/style/core/scopes.scss +1 -1
  267. package/cjs/style/dnb-ui-basis.css +4 -8
  268. package/cjs/style/dnb-ui-basis.min.css +1 -1
  269. package/cjs/style/dnb-ui-body.css +4 -8
  270. package/cjs/style/dnb-ui-body.min.css +1 -1
  271. package/cjs/style/dnb-ui-components.css +8 -4
  272. package/cjs/style/dnb-ui-components.min.css +2 -2
  273. package/cjs/style/dnb-ui-core.css +4 -8
  274. package/cjs/style/dnb-ui-core.min.css +1 -1
  275. package/cjs/style/dnb-ui-extensions.css +4 -0
  276. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  277. package/cjs/style/dnb-ui-forms.css +4 -0
  278. package/cjs/style/dnb-ui-forms.min.css +1 -1
  279. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +12 -4
  280. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  281. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +4 -0
  282. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  283. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -0
  284. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  285. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +12 -4
  286. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  287. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +4 -0
  288. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  289. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -0
  290. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  291. package/cjs/style/themes/theme-ui/ui-theme-components.css +12 -4
  292. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  293. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +4 -0
  294. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  295. package/cjs/style/themes/theme-ui/ui-theme-forms.css +4 -0
  296. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  297. package/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  298. package/components/date-picker/DatePickerCalc.js +1 -1
  299. package/components/date-picker/DatePickerCalc.js.map +1 -1
  300. package/components/drawer/style/dnb-drawer.css +4 -4
  301. package/components/drawer/style/dnb-drawer.min.css +1 -1
  302. package/components/drawer/style/dnb-drawer.scss +4 -4
  303. package/components/dropdown/Dropdown.d.ts +1 -1
  304. package/components/heading/HeadingCounter.js +4 -4
  305. package/components/heading/HeadingCounter.js.map +1 -1
  306. package/components/input/Input.js +1 -1
  307. package/components/input/Input.js.map +1 -1
  308. package/components/radio/Radio.d.ts +1 -1
  309. package/components/radio/RadioGroup.d.ts +1 -1
  310. package/components/section/Section.d.ts +1 -1
  311. package/components/section/Section.js.map +1 -1
  312. package/components/section/SectionDocs.js +1 -1
  313. package/components/section/SectionDocs.js.map +1 -1
  314. package/components/textarea/Textarea.js +8 -1
  315. package/components/textarea/Textarea.js.map +1 -1
  316. package/elements/lists/style/lists-mixins.scss +1 -1
  317. package/es/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  318. package/es/components/date-picker/DatePickerCalc.js +1 -1
  319. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  320. package/es/components/drawer/style/dnb-drawer.css +4 -4
  321. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  322. package/es/components/drawer/style/dnb-drawer.scss +4 -4
  323. package/es/components/dropdown/Dropdown.d.ts +1 -1
  324. package/es/components/heading/HeadingCounter.js +4 -4
  325. package/es/components/heading/HeadingCounter.js.map +1 -1
  326. package/es/components/input/Input.js +1 -1
  327. package/es/components/input/Input.js.map +1 -1
  328. package/es/components/radio/Radio.d.ts +1 -1
  329. package/es/components/radio/RadioGroup.d.ts +1 -1
  330. package/es/components/section/Section.d.ts +1 -1
  331. package/es/components/section/Section.js.map +1 -1
  332. package/es/components/section/SectionDocs.js +1 -1
  333. package/es/components/section/SectionDocs.js.map +1 -1
  334. package/es/components/textarea/Textarea.js +8 -1
  335. package/es/components/textarea/Textarea.js.map +1 -1
  336. package/es/elements/lists/style/lists-mixins.scss +1 -1
  337. package/es/extensions/forms/Connectors/Bring/index.d.ts +1 -0
  338. package/es/extensions/forms/Connectors/Bring/index.js +1 -0
  339. package/es/extensions/forms/Connectors/Bring/index.js.map +1 -0
  340. package/es/extensions/forms/Connectors/Bring/postalCode.d.ts +25 -0
  341. package/es/extensions/forms/Connectors/Bring/postalCode.js +150 -0
  342. package/es/extensions/forms/Connectors/Bring/postalCode.js.map +1 -0
  343. package/es/extensions/forms/Connectors/createContext.d.ts +58 -0
  344. package/es/extensions/forms/Connectors/createContext.js +116 -0
  345. package/es/extensions/forms/Connectors/createContext.js.map +1 -0
  346. package/es/extensions/forms/Connectors/index.d.ts +2 -0
  347. package/es/extensions/forms/Connectors/index.js +3 -0
  348. package/es/extensions/forms/Connectors/index.js.map +1 -0
  349. package/es/extensions/forms/DataContext/Provider/Provider.js +1 -1
  350. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  351. package/es/extensions/forms/Field/Address/Address.d.ts +9 -0
  352. package/es/extensions/forms/Field/Address/Address.js +51 -0
  353. package/es/extensions/forms/Field/Address/Address.js.map +1 -0
  354. package/es/extensions/forms/Field/Address/AddressDocs.d.ts +2 -0
  355. package/es/extensions/forms/Field/Address/AddressDocs.js +8 -0
  356. package/es/extensions/forms/Field/Address/AddressDocs.js.map +1 -0
  357. package/es/extensions/forms/Field/Address/index.d.ts +2 -0
  358. package/es/extensions/forms/Field/Address/index.js +3 -0
  359. package/es/extensions/forms/Field/Address/index.js.map +1 -0
  360. package/es/extensions/forms/Field/Email/EmailDocs.d.ts +2 -0
  361. package/es/extensions/forms/Field/Email/EmailDocs.js +8 -0
  362. package/es/extensions/forms/Field/Email/EmailDocs.js.map +1 -0
  363. package/es/extensions/forms/Field/Expiry/Expiry.js +82 -31
  364. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  365. package/es/extensions/forms/Field/Name/Name.js +2 -2
  366. package/es/extensions/forms/Field/Name/Name.js.map +1 -1
  367. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +1 -0
  368. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +9 -0
  369. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  370. package/es/extensions/forms/Field/Password/PasswordDocs.d.ts +2 -0
  371. package/es/extensions/forms/Field/Password/PasswordDocs.js +23 -0
  372. package/es/extensions/forms/Field/Password/PasswordDocs.js.map +1 -0
  373. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -0
  374. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +23 -10
  375. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  376. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +3 -3
  377. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  378. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -4
  379. package/es/extensions/forms/Field/index.d.ts +1 -0
  380. package/es/extensions/forms/Field/index.js +1 -0
  381. package/es/extensions/forms/Field/index.js.map +1 -1
  382. package/es/extensions/forms/FieldBlock/FieldBlock.js +0 -1
  383. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  384. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +4 -0
  385. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  386. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -0
  387. package/es/extensions/forms/Iterate/Array/Array.js +7 -2
  388. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  389. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +5 -0
  390. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  391. package/es/extensions/forms/Iterate/Array/types.d.ts +1 -0
  392. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  393. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +4 -0
  394. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +3 -2
  395. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  396. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  397. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  398. package/es/extensions/forms/Value/Address/Address.d.ts +9 -0
  399. package/es/extensions/forms/Value/Address/Address.js +31 -0
  400. package/es/extensions/forms/Value/Address/Address.js.map +1 -0
  401. package/es/extensions/forms/Value/Address/index.d.ts +2 -0
  402. package/es/extensions/forms/Value/Address/index.js +3 -0
  403. package/es/extensions/forms/Value/Address/index.js.map +1 -0
  404. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  405. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  406. package/es/extensions/forms/Value/index.d.ts +1 -0
  407. package/es/extensions/forms/Value/index.js +1 -0
  408. package/es/extensions/forms/Value/index.js.map +1 -1
  409. package/es/extensions/forms/Wizard/Step/Step.js +2 -2
  410. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  411. package/es/extensions/forms/constants/locales/en-GB.d.ts +13 -0
  412. package/es/extensions/forms/constants/locales/en-GB.js +20 -7
  413. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  414. package/es/extensions/forms/constants/locales/en-US.d.ts +13 -0
  415. package/es/extensions/forms/constants/locales/index.d.ts +26 -0
  416. package/es/extensions/forms/constants/locales/nb-NO.d.ts +13 -0
  417. package/es/extensions/forms/constants/locales/nb-NO.js +16 -3
  418. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  419. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
  420. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  421. package/es/extensions/forms/hooks/useFieldProps.d.ts +4 -3
  422. package/es/extensions/forms/hooks/useFieldProps.js +28 -16
  423. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  424. package/es/extensions/forms/index.d.ts +1 -0
  425. package/es/extensions/forms/index.js +1 -0
  426. package/es/extensions/forms/index.js.map +1 -1
  427. package/es/extensions/forms/style/dnb-forms.css +4 -0
  428. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  429. package/es/extensions/forms/types.d.ts +34 -10
  430. package/es/extensions/forms/types.js.map +1 -1
  431. package/es/extensions/forms/utils/json-pointer/json-pointer.js +1 -1
  432. package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  433. package/es/icons/calendar_add.d.ts +3 -0
  434. package/es/icons/calendar_add.js +3 -0
  435. package/es/icons/calendar_add.js.map +1 -0
  436. package/es/icons/calendar_add_medium.d.ts +3 -0
  437. package/es/icons/calendar_add_medium.js +3 -0
  438. package/es/icons/calendar_add_medium.js.map +1 -0
  439. package/es/icons/digitpass_private_corporate.d.ts +3 -0
  440. package/es/icons/digitpass_private_corporate.js +3 -0
  441. package/es/icons/digitpass_private_corporate.js.map +1 -0
  442. package/es/icons/digitpass_private_corporate_medium.d.ts +3 -0
  443. package/es/icons/digitpass_private_corporate_medium.js +3 -0
  444. package/es/icons/digitpass_private_corporate_medium.js.map +1 -0
  445. package/es/icons/dnb/calendar_add.d.ts +3 -0
  446. package/es/icons/dnb/calendar_add.js +23 -0
  447. package/es/icons/dnb/calendar_add.js.map +1 -0
  448. package/es/icons/dnb/calendar_add_medium.d.ts +3 -0
  449. package/es/icons/dnb/calendar_add_medium.js +17 -0
  450. package/es/icons/dnb/calendar_add_medium.js.map +1 -0
  451. package/es/icons/dnb/cog_medium.js +1 -1
  452. package/es/icons/dnb/cog_medium.js.map +1 -1
  453. package/es/icons/dnb/digipass_corporate.js +3 -3
  454. package/es/icons/dnb/digipass_corporate.js.map +1 -1
  455. package/es/icons/dnb/digipass_corporate_medium.js +3 -3
  456. package/es/icons/dnb/digipass_corporate_medium.js.map +1 -1
  457. package/es/icons/dnb/digipass_private.js +3 -3
  458. package/es/icons/dnb/digipass_private.js.map +1 -1
  459. package/es/icons/dnb/digipass_private_medium.js +3 -3
  460. package/es/icons/dnb/digipass_private_medium.js.map +1 -1
  461. package/es/icons/dnb/digitpass_private_corporate.d.ts +3 -0
  462. package/es/icons/dnb/digitpass_private_corporate.js +17 -0
  463. package/es/icons/dnb/digitpass_private_corporate.js.map +1 -0
  464. package/es/icons/dnb/digitpass_private_corporate_medium.d.ts +3 -0
  465. package/es/icons/dnb/digitpass_private_corporate_medium.js +17 -0
  466. package/es/icons/dnb/digitpass_private_corporate_medium.js.map +1 -0
  467. package/es/icons/dnb/goal.d.ts +3 -0
  468. package/es/icons/dnb/goal.js +18 -0
  469. package/es/icons/dnb/goal.js.map +1 -0
  470. package/es/icons/dnb/goal_medium.d.ts +3 -0
  471. package/es/icons/dnb/goal_medium.js +18 -0
  472. package/es/icons/dnb/goal_medium.js.map +1 -0
  473. package/es/icons/dnb/icons-meta.json +132 -4
  474. package/es/icons/dnb/icons-svg.lock +1278 -1096
  475. package/es/icons/dnb/index.d.ts +15 -1
  476. package/es/icons/dnb/index.js +15 -1
  477. package/es/icons/dnb/index.js.map +1 -1
  478. package/es/icons/dnb/information.js +1 -1
  479. package/es/icons/dnb/information.js.map +1 -1
  480. package/es/icons/dnb/investor.d.ts +3 -0
  481. package/es/icons/dnb/investor.js +25 -0
  482. package/es/icons/dnb/investor.js.map +1 -0
  483. package/es/icons/dnb/investor_medium.d.ts +3 -0
  484. package/es/icons/dnb/investor_medium.js +25 -0
  485. package/es/icons/dnb/investor_medium.js.map +1 -0
  486. package/es/icons/dnb/layout_grid.d.ts +3 -0
  487. package/es/icons/dnb/layout_grid.js +26 -0
  488. package/es/icons/dnb/layout_grid.js.map +1 -0
  489. package/es/icons/dnb/layout_grid_medium.d.ts +3 -0
  490. package/es/icons/dnb/layout_grid_medium.js +26 -0
  491. package/es/icons/dnb/layout_grid_medium.js.map +1 -0
  492. package/es/icons/dnb/question.js +1 -1
  493. package/es/icons/dnb/question.js.map +1 -1
  494. package/es/icons/dnb/question_circled.js +1 -1
  495. package/es/icons/dnb/question_circled.js.map +1 -1
  496. package/es/icons/dnb/question_medium.js +1 -1
  497. package/es/icons/dnb/question_medium.js.map +1 -1
  498. package/es/icons/dnb/return_1_medium.js +1 -1
  499. package/es/icons/dnb/return_1_medium.js.map +1 -1
  500. package/es/icons/dnb/secondary_icons.d.ts +8 -1
  501. package/es/icons/dnb/secondary_icons.js +8 -1
  502. package/es/icons/dnb/secondary_icons.js.map +1 -1
  503. package/es/icons/dnb/secondary_icons_medium.d.ts +8 -1
  504. package/es/icons/dnb/secondary_icons_medium.js +8 -1
  505. package/es/icons/dnb/secondary_icons_medium.js.map +1 -1
  506. package/es/icons/dnb/show_pin.d.ts +3 -0
  507. package/es/icons/dnb/show_pin.js +15 -0
  508. package/es/icons/dnb/show_pin.js.map +1 -0
  509. package/es/icons/dnb/show_pin_medium.d.ts +3 -0
  510. package/es/icons/dnb/show_pin_medium.js +15 -0
  511. package/es/icons/dnb/show_pin_medium.js.map +1 -0
  512. package/es/icons/dnb/table.d.ts +3 -0
  513. package/es/icons/dnb/table.js +25 -0
  514. package/es/icons/dnb/table.js.map +1 -0
  515. package/es/icons/dnb/table_medium.d.ts +3 -0
  516. package/es/icons/dnb/table_medium.js +18 -0
  517. package/es/icons/dnb/table_medium.js.map +1 -0
  518. package/es/icons/goal.d.ts +3 -0
  519. package/es/icons/goal.js +3 -0
  520. package/es/icons/goal.js.map +1 -0
  521. package/es/icons/goal_medium.d.ts +3 -0
  522. package/es/icons/goal_medium.js +3 -0
  523. package/es/icons/goal_medium.js.map +1 -0
  524. package/es/icons/index.d.ts +15 -1
  525. package/es/icons/index.js +15 -1
  526. package/es/icons/index.js.map +1 -1
  527. package/es/icons/investor.d.ts +3 -0
  528. package/es/icons/investor.js +3 -0
  529. package/es/icons/investor.js.map +1 -0
  530. package/es/icons/investor_medium.d.ts +3 -0
  531. package/es/icons/investor_medium.js +3 -0
  532. package/es/icons/investor_medium.js.map +1 -0
  533. package/es/icons/layout_grid.d.ts +3 -0
  534. package/es/icons/layout_grid.js +3 -0
  535. package/es/icons/layout_grid.js.map +1 -0
  536. package/es/icons/layout_grid_medium.d.ts +3 -0
  537. package/es/icons/layout_grid_medium.js +3 -0
  538. package/es/icons/layout_grid_medium.js.map +1 -0
  539. package/es/icons/show_pin.d.ts +3 -0
  540. package/es/icons/show_pin.js +3 -0
  541. package/es/icons/show_pin.js.map +1 -0
  542. package/es/icons/show_pin_medium.d.ts +3 -0
  543. package/es/icons/show_pin_medium.js +3 -0
  544. package/es/icons/show_pin_medium.js.map +1 -0
  545. package/es/icons/table.d.ts +3 -0
  546. package/es/icons/table.js +3 -0
  547. package/es/icons/table.js.map +1 -0
  548. package/es/icons/table_medium.d.ts +3 -0
  549. package/es/icons/table_medium.js +3 -0
  550. package/es/icons/table_medium.js.map +1 -0
  551. package/es/shared/Eufemia.d.ts +1 -1
  552. package/es/shared/Eufemia.js +2 -2
  553. package/es/shared/Eufemia.js.map +1 -1
  554. package/es/style/core/reset.scss +3 -9
  555. package/es/style/core/scopes.scss +1 -1
  556. package/es/style/dnb-ui-basis.css +4 -8
  557. package/es/style/dnb-ui-basis.min.css +1 -1
  558. package/es/style/dnb-ui-body.css +4 -8
  559. package/es/style/dnb-ui-body.min.css +1 -1
  560. package/es/style/dnb-ui-components.css +8 -4
  561. package/es/style/dnb-ui-components.min.css +2 -2
  562. package/es/style/dnb-ui-core.css +4 -8
  563. package/es/style/dnb-ui-core.min.css +1 -1
  564. package/es/style/dnb-ui-extensions.css +4 -0
  565. package/es/style/dnb-ui-extensions.min.css +1 -1
  566. package/es/style/dnb-ui-forms.css +4 -0
  567. package/es/style/dnb-ui-forms.min.css +1 -1
  568. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +12 -4
  569. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  570. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +4 -0
  571. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  572. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -0
  573. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  574. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +12 -4
  575. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  576. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +4 -0
  577. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  578. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -0
  579. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  580. package/es/style/themes/theme-ui/ui-theme-components.css +12 -4
  581. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  582. package/es/style/themes/theme-ui/ui-theme-extensions.css +4 -0
  583. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  584. package/es/style/themes/theme-ui/ui-theme-forms.css +4 -0
  585. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  586. package/esm/dnb-ui-basis.min.mjs +1 -1
  587. package/esm/dnb-ui-components.min.mjs +1 -1
  588. package/esm/dnb-ui-elements.min.mjs +1 -1
  589. package/esm/dnb-ui-extensions.min.mjs +3 -3
  590. package/esm/dnb-ui-icons.min.mjs +1 -1
  591. package/esm/dnb-ui-lib.min.mjs +1 -1
  592. package/extensions/forms/Connectors/Bring/index.d.ts +1 -0
  593. package/extensions/forms/Connectors/Bring/index.js +3 -0
  594. package/extensions/forms/Connectors/Bring/index.js.map +1 -0
  595. package/extensions/forms/Connectors/Bring/postalCode.d.ts +25 -0
  596. package/extensions/forms/Connectors/Bring/postalCode.js +151 -0
  597. package/extensions/forms/Connectors/Bring/postalCode.js.map +1 -0
  598. package/extensions/forms/Connectors/createContext.d.ts +58 -0
  599. package/extensions/forms/Connectors/createContext.js +119 -0
  600. package/extensions/forms/Connectors/createContext.js.map +1 -0
  601. package/extensions/forms/Connectors/index.d.ts +2 -0
  602. package/extensions/forms/Connectors/index.js +4 -0
  603. package/extensions/forms/Connectors/index.js.map +1 -0
  604. package/extensions/forms/DataContext/Provider/Provider.js +1 -1
  605. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  606. package/extensions/forms/Field/Address/Address.d.ts +9 -0
  607. package/extensions/forms/Field/Address/Address.js +51 -0
  608. package/extensions/forms/Field/Address/Address.js.map +1 -0
  609. package/extensions/forms/Field/Address/AddressDocs.d.ts +2 -0
  610. package/extensions/forms/Field/Address/AddressDocs.js +8 -0
  611. package/extensions/forms/Field/Address/AddressDocs.js.map +1 -0
  612. package/extensions/forms/Field/Address/index.d.ts +2 -0
  613. package/extensions/forms/Field/Address/index.js +3 -0
  614. package/extensions/forms/Field/Address/index.js.map +1 -0
  615. package/extensions/forms/Field/Email/EmailDocs.d.ts +2 -0
  616. package/extensions/forms/Field/Email/EmailDocs.js +8 -0
  617. package/extensions/forms/Field/Email/EmailDocs.js.map +1 -0
  618. package/extensions/forms/Field/Expiry/Expiry.js +82 -31
  619. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  620. package/extensions/forms/Field/Name/Name.js +2 -2
  621. package/extensions/forms/Field/Name/Name.js.map +1 -1
  622. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +1 -0
  623. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +9 -0
  624. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  625. package/extensions/forms/Field/Password/PasswordDocs.d.ts +2 -0
  626. package/extensions/forms/Field/Password/PasswordDocs.js +23 -0
  627. package/extensions/forms/Field/Password/PasswordDocs.js.map +1 -0
  628. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +10 -0
  629. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +23 -10
  630. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  631. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +3 -3
  632. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  633. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +4 -4
  634. package/extensions/forms/Field/index.d.ts +1 -0
  635. package/extensions/forms/Field/index.js +1 -0
  636. package/extensions/forms/Field/index.js.map +1 -1
  637. package/extensions/forms/FieldBlock/FieldBlock.js +0 -1
  638. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  639. package/extensions/forms/FieldBlock/style/dnb-field-block.css +4 -0
  640. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  641. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +5 -0
  642. package/extensions/forms/Iterate/Array/Array.js +7 -2
  643. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  644. package/extensions/forms/Iterate/Array/ArrayDocs.js +5 -0
  645. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  646. package/extensions/forms/Iterate/Array/types.d.ts +1 -0
  647. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  648. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +4 -0
  649. package/extensions/forms/Iterate/PushContainer/PushContainer.js +3 -2
  650. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  651. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  652. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  653. package/extensions/forms/Value/Address/Address.d.ts +9 -0
  654. package/extensions/forms/Value/Address/Address.js +31 -0
  655. package/extensions/forms/Value/Address/Address.js.map +1 -0
  656. package/extensions/forms/Value/Address/index.d.ts +2 -0
  657. package/extensions/forms/Value/Address/index.js +3 -0
  658. package/extensions/forms/Value/Address/index.js.map +1 -0
  659. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  660. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  661. package/extensions/forms/Value/index.d.ts +1 -0
  662. package/extensions/forms/Value/index.js +1 -0
  663. package/extensions/forms/Value/index.js.map +1 -1
  664. package/extensions/forms/Wizard/Step/Step.js +2 -2
  665. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  666. package/extensions/forms/constants/locales/en-GB.d.ts +13 -0
  667. package/extensions/forms/constants/locales/en-GB.js +20 -7
  668. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  669. package/extensions/forms/constants/locales/en-US.d.ts +13 -0
  670. package/extensions/forms/constants/locales/index.d.ts +26 -0
  671. package/extensions/forms/constants/locales/nb-NO.d.ts +13 -0
  672. package/extensions/forms/constants/locales/nb-NO.js +16 -3
  673. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  674. package/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
  675. package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  676. package/extensions/forms/hooks/useFieldProps.d.ts +4 -3
  677. package/extensions/forms/hooks/useFieldProps.js +28 -16
  678. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  679. package/extensions/forms/index.d.ts +1 -0
  680. package/extensions/forms/index.js +2 -0
  681. package/extensions/forms/index.js.map +1 -1
  682. package/extensions/forms/style/dnb-forms.css +4 -0
  683. package/extensions/forms/style/dnb-forms.min.css +1 -1
  684. package/extensions/forms/types.d.ts +34 -10
  685. package/extensions/forms/types.js.map +1 -1
  686. package/extensions/forms/utils/json-pointer/json-pointer.js +1 -1
  687. package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  688. package/icons/calendar_add.d.ts +3 -0
  689. package/icons/calendar_add.js +3 -0
  690. package/icons/calendar_add.js.map +1 -0
  691. package/icons/calendar_add_medium.d.ts +3 -0
  692. package/icons/calendar_add_medium.js +3 -0
  693. package/icons/calendar_add_medium.js.map +1 -0
  694. package/icons/digitpass_private_corporate.d.ts +3 -0
  695. package/icons/digitpass_private_corporate.js +3 -0
  696. package/icons/digitpass_private_corporate.js.map +1 -0
  697. package/icons/digitpass_private_corporate_medium.d.ts +3 -0
  698. package/icons/digitpass_private_corporate_medium.js +3 -0
  699. package/icons/digitpass_private_corporate_medium.js.map +1 -0
  700. package/icons/dnb/calendar_add.d.ts +3 -0
  701. package/icons/dnb/calendar_add.js +23 -0
  702. package/icons/dnb/calendar_add.js.map +1 -0
  703. package/icons/dnb/calendar_add_medium.d.ts +3 -0
  704. package/icons/dnb/calendar_add_medium.js +17 -0
  705. package/icons/dnb/calendar_add_medium.js.map +1 -0
  706. package/icons/dnb/cog_medium.js +1 -1
  707. package/icons/dnb/cog_medium.js.map +1 -1
  708. package/icons/dnb/digipass_corporate.js +3 -3
  709. package/icons/dnb/digipass_corporate.js.map +1 -1
  710. package/icons/dnb/digipass_corporate_medium.js +3 -3
  711. package/icons/dnb/digipass_corporate_medium.js.map +1 -1
  712. package/icons/dnb/digipass_private.js +3 -3
  713. package/icons/dnb/digipass_private.js.map +1 -1
  714. package/icons/dnb/digipass_private_medium.js +3 -3
  715. package/icons/dnb/digipass_private_medium.js.map +1 -1
  716. package/icons/dnb/digitpass_private_corporate.d.ts +3 -0
  717. package/icons/dnb/digitpass_private_corporate.js +17 -0
  718. package/icons/dnb/digitpass_private_corporate.js.map +1 -0
  719. package/icons/dnb/digitpass_private_corporate_medium.d.ts +3 -0
  720. package/icons/dnb/digitpass_private_corporate_medium.js +17 -0
  721. package/icons/dnb/digitpass_private_corporate_medium.js.map +1 -0
  722. package/icons/dnb/goal.d.ts +3 -0
  723. package/icons/dnb/goal.js +18 -0
  724. package/icons/dnb/goal.js.map +1 -0
  725. package/icons/dnb/goal_medium.d.ts +3 -0
  726. package/icons/dnb/goal_medium.js +18 -0
  727. package/icons/dnb/goal_medium.js.map +1 -0
  728. package/icons/dnb/icons-meta.json +132 -4
  729. package/icons/dnb/icons-svg.lock +1278 -1096
  730. package/icons/dnb/index.d.ts +15 -1
  731. package/icons/dnb/index.js +15 -1
  732. package/icons/dnb/index.js.map +1 -1
  733. package/icons/dnb/information.js +1 -1
  734. package/icons/dnb/information.js.map +1 -1
  735. package/icons/dnb/investor.d.ts +3 -0
  736. package/icons/dnb/investor.js +25 -0
  737. package/icons/dnb/investor.js.map +1 -0
  738. package/icons/dnb/investor_medium.d.ts +3 -0
  739. package/icons/dnb/investor_medium.js +25 -0
  740. package/icons/dnb/investor_medium.js.map +1 -0
  741. package/icons/dnb/layout_grid.d.ts +3 -0
  742. package/icons/dnb/layout_grid.js +26 -0
  743. package/icons/dnb/layout_grid.js.map +1 -0
  744. package/icons/dnb/layout_grid_medium.d.ts +3 -0
  745. package/icons/dnb/layout_grid_medium.js +26 -0
  746. package/icons/dnb/layout_grid_medium.js.map +1 -0
  747. package/icons/dnb/question.js +1 -1
  748. package/icons/dnb/question.js.map +1 -1
  749. package/icons/dnb/question_circled.js +1 -1
  750. package/icons/dnb/question_circled.js.map +1 -1
  751. package/icons/dnb/question_medium.js +1 -1
  752. package/icons/dnb/question_medium.js.map +1 -1
  753. package/icons/dnb/return_1_medium.js +1 -1
  754. package/icons/dnb/return_1_medium.js.map +1 -1
  755. package/icons/dnb/secondary_icons.d.ts +8 -1
  756. package/icons/dnb/secondary_icons.js +8 -1
  757. package/icons/dnb/secondary_icons.js.map +1 -1
  758. package/icons/dnb/secondary_icons_medium.d.ts +8 -1
  759. package/icons/dnb/secondary_icons_medium.js +8 -1
  760. package/icons/dnb/secondary_icons_medium.js.map +1 -1
  761. package/icons/dnb/show_pin.d.ts +3 -0
  762. package/icons/dnb/show_pin.js +15 -0
  763. package/icons/dnb/show_pin.js.map +1 -0
  764. package/icons/dnb/show_pin_medium.d.ts +3 -0
  765. package/icons/dnb/show_pin_medium.js +15 -0
  766. package/icons/dnb/show_pin_medium.js.map +1 -0
  767. package/icons/dnb/table.d.ts +3 -0
  768. package/icons/dnb/table.js +25 -0
  769. package/icons/dnb/table.js.map +1 -0
  770. package/icons/dnb/table_medium.d.ts +3 -0
  771. package/icons/dnb/table_medium.js +18 -0
  772. package/icons/dnb/table_medium.js.map +1 -0
  773. package/icons/goal.d.ts +3 -0
  774. package/icons/goal.js +3 -0
  775. package/icons/goal.js.map +1 -0
  776. package/icons/goal_medium.d.ts +3 -0
  777. package/icons/goal_medium.js +3 -0
  778. package/icons/goal_medium.js.map +1 -0
  779. package/icons/index.d.ts +15 -1
  780. package/icons/index.js +15 -1
  781. package/icons/index.js.map +1 -1
  782. package/icons/investor.d.ts +3 -0
  783. package/icons/investor.js +3 -0
  784. package/icons/investor.js.map +1 -0
  785. package/icons/investor_medium.d.ts +3 -0
  786. package/icons/investor_medium.js +3 -0
  787. package/icons/investor_medium.js.map +1 -0
  788. package/icons/layout_grid.d.ts +3 -0
  789. package/icons/layout_grid.js +3 -0
  790. package/icons/layout_grid.js.map +1 -0
  791. package/icons/layout_grid_medium.d.ts +3 -0
  792. package/icons/layout_grid_medium.js +3 -0
  793. package/icons/layout_grid_medium.js.map +1 -0
  794. package/icons/show_pin.d.ts +3 -0
  795. package/icons/show_pin.js +3 -0
  796. package/icons/show_pin.js.map +1 -0
  797. package/icons/show_pin_medium.d.ts +3 -0
  798. package/icons/show_pin_medium.js +3 -0
  799. package/icons/show_pin_medium.js.map +1 -0
  800. package/icons/table.d.ts +3 -0
  801. package/icons/table.js +3 -0
  802. package/icons/table.js.map +1 -0
  803. package/icons/table_medium.d.ts +3 -0
  804. package/icons/table_medium.js +3 -0
  805. package/icons/table_medium.js.map +1 -0
  806. package/package.json +1 -1
  807. package/shared/Eufemia.d.ts +1 -1
  808. package/shared/Eufemia.js +2 -2
  809. package/shared/Eufemia.js.map +1 -1
  810. package/style/core/reset.scss +3 -9
  811. package/style/core/scopes.scss +1 -1
  812. package/style/dnb-ui-basis.css +4 -8
  813. package/style/dnb-ui-basis.min.css +1 -1
  814. package/style/dnb-ui-body.css +4 -8
  815. package/style/dnb-ui-body.min.css +1 -1
  816. package/style/dnb-ui-components.css +8 -4
  817. package/style/dnb-ui-components.min.css +2 -2
  818. package/style/dnb-ui-core.css +4 -8
  819. package/style/dnb-ui-core.min.css +1 -1
  820. package/style/dnb-ui-extensions.css +4 -0
  821. package/style/dnb-ui-extensions.min.css +1 -1
  822. package/style/dnb-ui-forms.css +4 -0
  823. package/style/dnb-ui-forms.min.css +1 -1
  824. package/style/themes/theme-eiendom/eiendom-theme-components.css +12 -4
  825. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  826. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +4 -0
  827. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  828. package/style/themes/theme-eiendom/eiendom-theme-forms.css +4 -0
  829. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  830. package/style/themes/theme-sbanken/sbanken-theme-components.css +12 -4
  831. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  832. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +4 -0
  833. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  834. package/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -0
  835. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  836. package/style/themes/theme-ui/ui-theme-components.css +12 -4
  837. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  838. package/style/themes/theme-ui/ui-theme-extensions.css +4 -0
  839. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  840. package/style/themes/theme-ui/ui-theme-forms.css +4 -0
  841. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  842. package/umd/dnb-ui-basis.min.js +1 -1
  843. package/umd/dnb-ui-components.min.js +1 -1
  844. package/umd/dnb-ui-elements.min.js +1 -1
  845. package/umd/dnb-ui-extensions.min.js +1 -1
  846. package/umd/dnb-ui-icons.min.js +1 -1
  847. package/umd/dnb-ui-lib.min.js +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createContext.js","names":["_defaults","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","createContext","generalConfig","withConfig","fn","handlerConfig","fetchDataFromAPI","options","fetchConfig","controller","abortControllerRef","current","abort","AbortController","signal","fetchOptions","method","headers","Accept","response","fetch","url","data","json","error","name","fetchData","_options$preResponseR","parameters","result","preResponseResolver","u","ok","Error","statusText","status","getCountryCodeValue","_ref","additionalArgs","countryCodeValue","props","defaultCountry","countryCode","getSourceValue","handleCountryPath","_ref2","handler","startsWith","setFieldEventListener"],"sources":["../../../../../src/extensions/forms/Connectors/createContext.ts"],"sourcesContent":["import { ReceiveAdditionalEventArgs } from '../types'\nimport { COUNTRY as defaultCountry } from '../../../shared/defaults'\n\nexport type UrlSecondParameter = {\n countryCode: string\n}\nexport type GeneralConfig = {\n fetchConfig?: {\n url:\n | string\n | ((\n value: string,\n { countryCode }: UrlSecondParameter\n ) => string | Promise<string>)\n headers?: HeadersInit\n }\n}\n\nexport function createContext<GeneralConfigGeneric = GeneralConfig>(\n generalConfig: GeneralConfigGeneric = null\n) {\n return {\n withConfig<\n HandlerMethod extends (\n generalConfig: GeneralConfigGeneric,\n handlerConfig: unknown\n ) => ReturnType<HandlerMethod>,\n >(fn: HandlerMethod, handlerConfig?: Parameters<HandlerMethod>[1]) {\n return fn(generalConfig, handlerConfig)\n },\n }\n}\n\nexport type HandlerConfig = {\n preResponseResolver?: PreResponseResolver\n responseResolver?: ResponseResolver\n}\nexport type PreResponseResolver = (fromField: { value: string }) => unknown\nexport type ResponseResolver<\n Response = unknown,\n Payload = Record<string, unknown>,\n> = (\n response: Response,\n handlerConfig?: HandlerConfig\n) => {\n /**\n * The matcher to be used to determine if and how the connector,\n * such as an validator for `onChangeValidator` or `onBlurValidator`,\n * should validate the field value.\n */\n matcher?: (value: string) => boolean\n\n /**\n * The payload to be returned and used by the connector.\n */\n payload?: Payload\n}\n\nexport type FetchDataFromAPIOptions = {\n generalConfig: GeneralConfig\n parameters?: UrlSecondParameter\n abortControllerRef?: { current: null | AbortController }\n preResponseResolver?: PreResponseResolver\n}\n\nasync function fetchDataFromAPI<Data = unknown>(\n generalConfig: GeneralConfig & { fetchConfig: { url: string } },\n options?: FetchDataFromAPIOptions\n): Promise<{\n data: Data\n response: Response\n}> {\n const { fetchConfig } = generalConfig\n\n const controller = options?.abortControllerRef\n if (controller) {\n if (controller.current) {\n controller.current.abort()\n controller.current = null\n }\n if (!controller.current) {\n controller.current = new AbortController()\n }\n }\n const { signal } = controller?.current || {}\n\n const fetchOptions = {\n method: 'GET',\n headers: {\n Accept: 'application/json',\n ...fetchConfig.headers,\n },\n signal,\n }\n\n try {\n const response = await fetch(fetchConfig.url, fetchOptions)\n\n if (controller) {\n controller.current = null\n }\n\n return {\n response,\n data: await response.json(),\n }\n } catch (error) {\n if (error.name !== 'AbortError') {\n return error\n }\n }\n}\n\nexport type FetchDataReturnValue<Data = unknown> = {\n data: Data\n status: number\n}\n\nexport async function fetchData<Data = unknown>(\n value: string,\n options: FetchDataFromAPIOptions\n): Promise<FetchDataReturnValue<Data>> {\n const { generalConfig, parameters } = options || {}\n\n const result = options?.preResponseResolver?.({ value })\n if (typeof result !== 'undefined') {\n return result as FetchDataReturnValue<Data>\n }\n\n try {\n const u = generalConfig.fetchConfig.url\n const url = typeof u === 'function' ? await u(value, parameters) : u\n\n const { data, response } = await fetchDataFromAPI<Data>(\n {\n ...generalConfig,\n fetchConfig: {\n ...generalConfig.fetchConfig,\n url,\n },\n },\n options\n )\n\n // Check if the response status is in the range of 200-299\n if (!response.ok) {\n throw new Error(\n `${response.statusText} – Status: ${response.status}`\n )\n }\n\n return { data, status: response.status }\n } catch (error) {\n return error\n }\n}\n\nexport function getCountryCodeValue({\n additionalArgs,\n}: {\n additionalArgs: ReceiveAdditionalEventArgs<unknown>\n}) {\n const countryCodeValue =\n additionalArgs.props['data-country-code'] || defaultCountry\n const countryCode =\n additionalArgs.getSourceValue<string>(countryCodeValue)\n return { countryCode, countryCodeValue }\n}\n\nexport function handleCountryPath({\n value,\n additionalArgs,\n handler,\n}: {\n value: string\n additionalArgs: ReceiveAdditionalEventArgs<unknown>\n handler: (\n value: string,\n additionalArgs: ReceiveAdditionalEventArgs<unknown>\n ) => void\n}) {\n const { countryCode, countryCodeValue } = getCountryCodeValue({\n additionalArgs,\n })\n\n if (\n String(countryCodeValue).startsWith('/') &&\n additionalArgs[handler.name] !== handler\n ) {\n additionalArgs[handler.name] = handler\n additionalArgs.setFieldEventListener(\n countryCodeValue,\n 'onPathChange',\n () => {\n handler(value, additionalArgs)\n }\n )\n }\n\n return { countryCode }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './createContext';
2
+ export * as Bring from './Bring';
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ Bring: true
8
+ };
9
+ exports.Bring = void 0;
10
+ var _createContext = require("./createContext");
11
+ Object.keys(_createContext).forEach(function (key) {
12
+ if (key === "default" || key === "__esModule") return;
13
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
14
+ if (key in exports && exports[key] === _createContext[key]) return;
15
+ Object.defineProperty(exports, key, {
16
+ enumerable: true,
17
+ get: function () {
18
+ return _createContext[key];
19
+ }
20
+ });
21
+ });
22
+ var _Bring = _interopRequireWildcard(require("./Bring"));
23
+ exports.Bring = _Bring;
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_createContext","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Bring","_interopRequireWildcard","Bring","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set"],"sources":["../../../../../src/extensions/forms/Connectors/index.ts"],"sourcesContent":["export * from './createContext'\nexport * as Bring from './Bring'\n"],"mappings":";;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AAA+B,IAAAS,MAAA,GAAAC,uBAAA,CAAAd,OAAA;AAAAS,OAAA,CAAAM,KAAA,GAAAF,MAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAZ,GAAA,CAAAS,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAA1B,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAA2B,wBAAA,WAAAxB,GAAA,IAAAiB,GAAA,QAAAjB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAc,GAAA,EAAAjB,GAAA,SAAAyB,IAAA,GAAAF,qBAAA,GAAA1B,MAAA,CAAA2B,wBAAA,CAAAP,GAAA,EAAAjB,GAAA,cAAAyB,IAAA,KAAAA,IAAA,CAAAjB,GAAA,IAAAiB,IAAA,CAAAC,GAAA,KAAA7B,MAAA,CAAAS,cAAA,CAAAgB,MAAA,EAAAtB,GAAA,EAAAyB,IAAA,YAAAH,MAAA,CAAAtB,GAAA,IAAAiB,GAAA,CAAAjB,GAAA,SAAAsB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA"}
@@ -71,7 +71,7 @@ function Provider(props) {
71
71
  hasContext
72
72
  } = (0, _react.useContext)(_Context2.default) || {};
73
73
  if (hasContext && !isolate) {
74
- throw new Error('DataContext (Form.Handler) can not be nested');
74
+ throw new Error('DataContext (Form.Handler) cannot be nested');
75
75
  }
76
76
  const formElementRef = (0, _react.useRef)(null);
77
77
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_utils","_helpers","_Provider","_useUpdateEffect","_isAsync","_useSharedState","_Context","_useTranslation","_Context2","_structuredClone","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","useLayoutEffect","window","React","useEffect","isArrayJsonPointer","Provider","props","_sharedAttachments$da","forceUpdate","useReducer","id","globalStatusId","defaultData","emptyData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onCommit","onClear","scrollTopOnSubmit","minimumAsyncBehaviorTime","asyncSubmitTimeout","sessionStorageId","ajvInstance","transformIn","transformOut","filterSubmitData","locale","translations","required","errorMessages","isolate","children","rest","Error","hasContext","useContext","DataContext","formElementRef","useRef","sharedLocale","SharedContext","translation","useTranslation","Field","ajvRef","makeAjvInstance","mountedFieldsRef","snapshotsRef","Map","existingFieldsRef","hasVisibleErrorRef","errorsRef","addSetShowAllErrorsRef","showAllErrorsRef","setShowAllErrors","useCallback","showAllErrors","current","Date","now","fn","setVisibleError","path","hasError","submitStateRef","setSubmitState","state","formStateRef","keepPending","setFormState","formState","options","fieldErrorRef","fieldStateRef","initialData","useMemo","_window$sessionStorag","sessionDataJSON","sessionStorage","getItem","JSON","parse","internalDataRef","isEmptyDataRef","ajvValidatorRef","executeAjvValidator","_ajvValidatorRef$curr","ajvErrorsToFormErrors","errors","validateData","checkFieldStateFor","_errorsRef$current","Boolean","hasFieldState","item","isMounted","hasFieldError","p","hasErrors","setFieldError","error","setFieldState","fieldState","mutateDataHandler","handler","remove","mutate","fireHandlerWhen","freshData","mutateEntry","result","structuredClone","pointer","entries","fieldInternalsRef","_ref","exists","_fieldErrorRef$curren","displayValue","type","fieldDisplayValueRef","internal","label","runFilter","_ref2","condition","_fieldInternalsRef$cu","_fieldErrorRef$curren2","wildcardPaths","_ref3","includes","parts","split","traverse","subData","subPath","idx","list","Array","isArray","_","visibleDataHandler","keepPaths","removePaths","visibleData","isVisible","isPreMounted","wasStepChange","filterDataHandler","filterData","fieldConnectionsRef","setFieldConnection","connections","setFieldInternals","assign","valueInternalsRef","setValueInternals","hasFieldWithAsyncValidator","_mountedFieldsRef$cur","_fieldInternalsRef$cu2","isAsync","onChangeValidator","onBlurValidator","sharedData","useSharedState","sharedAttachments","createReferenceKey","sharedDataContext","setSharedData","extendSharedData","extend","extendAttachment","rerenderUseDataHook","cacheRef","shared","hasUsedInitialData","internalData","update","clearedData","clearData","_ref4","_requestAnimationFram","requestAnimationFrame","storeInSession","debounce","_window$sessionStorag2","setItem","stringify","process","env","NODE_ENV","setData","newData","preventUpdate","preventSyncOfSameInstance","updateDataValue","_internalDataRef$curr","givenData","match","e","handlePathChangeUnvalidated","itm","fieldEventListenersRef","callback","handlePathChange","transformedData","cb","changeHandlerStackRef","addOnChangeHandler","some","setMountedFieldState","scrollToTop","_window","_window$scrollTo","scrollTo","top","behavior","handleSubmitCall","args","enableAsyncBehavior","skipFieldValidation","skipErrorCheck","customStatus","asyncBehaviorIsEnabled","_mountedFieldsRef$cur2","_result2","_result4","_result5","_result6","_result7","submitResult","_result","_result3","warning","info","onSubmitContinueRef","handleSubmitListenersRef","setHandleSubmit","listeners","handleSubmitListeners","stop","preventSubmit","getSubmitData","mutatedData","filteredData","getSubmitParams","reduceToVisibleFields","transformData","_ref5","formElement","params","resetForm","_formElement$reset","reset","removeItem","handleSubmit","completeResult","setFieldEventListener","_ref6","t","c","_onSubmitContinueRef$","_ajvRef$current","compile","useUpdateEffect","_ajvRef$current2","onTimeout","bufferedFormState","useFormStatusBuffer","waitFor","submitState","disabled","contextErrorMessages","contextValue","hasVisibleError","createElement","FormStatus","globalStatus","title","errorSummaryTitle","show","stateRef","nowRef","timeoutRef","setState","clear","clearTimeout","hadCompleteRef","activeElementRef","isTest","minimum","setTimeout","document","activeElement","offset","Math","max","delay","complete","_activeElementRef$cur","_activeElementRef$cur2","focus","timeout","freeze","exports"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/Provider.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useCallback,\n useReducer,\n useEffect,\n useContext,\n} from 'react'\nimport pointer, { JsonObject } from '../../utils/json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport {\n Ajv,\n makeAjvInstance,\n ajvErrorsToFormErrors,\n FormError,\n} from '../../utils'\nimport {\n GlobalErrorMessagesWithPaths,\n AllJSONSchemaVersions,\n SubmitState,\n Path,\n EventStateObject,\n OnSubmit,\n OnChange,\n EventReturnWithStateObject,\n ValueProps,\n OnSubmitParams,\n OnSubmitReturn,\n} from '../../types'\nimport type { IsolationProviderProps } from '../../Form/Isolation/Isolation'\nimport { debounce } from '../../../../shared/helpers'\nimport FieldPropsProvider from '../../Field/Provider'\nimport useUpdateEffect from '../../../../shared/helpers/useUpdateEffect'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport {\n SharedStateId,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport SharedContext, { ContextProps } from '../../../../shared/Context'\nimport useTranslation from '../../hooks/useTranslation'\nimport DataContext, {\n ContextState,\n EventListenerCall,\n FieldInternalsRef,\n ValueInternalsRef,\n FilterData,\n FilterDataHandler,\n HandleSubmitCallback,\n MountState,\n TransformData,\n VisibleDataHandler,\n FieldInternalsRefProps,\n} from '../Context'\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\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type SharedAttachments<Data = unknown> = {\n visibleDataHandler?: VisibleDataHandler<Data>\n filterDataHandler?: FilterDataHandler<Data>\n hasErrors?: ContextState['hasErrors']\n hasFieldError?: ContextState['hasFieldError']\n setShowAllErrors?: ContextState['setShowAllErrors']\n setSubmitState?: ContextState['setSubmitState']\n rerenderUseDataHook?: () => void\n updateDataValue?: ContextState['updateDataValue']\n clearData?: () => void\n setData?: ContextState['setData']\n fieldConnectionsRef?: ContextState['fieldConnectionsRef']\n internalDataRef?: ContextState['internalDataRef']\n}\n\nexport type Props<Data extends JsonObject> =\n IsolationProviderProps<Data> & {\n /**\n * Unique ID to communicate with the hook Form.useData\n */\n id?: SharedStateId\n /**\n * Unique ID to connect with a GlobalStatus\n */\n globalStatusId?: string\n /**\n * Source data, will be used instead of defaultData, and leading to updates if changed after mount\n */\n data?: Data\n /**\n * Default source data, only used if no other source is available, and not leading to updates if changed after mount\n */\n defaultData?: Data\n /**\n * Empty data, used to clear the data set.\n */\n emptyData?: unknown\n /**\n * JSON Schema to validate the data against.\n */\n schema?: AllJSONSchemaVersions<Data>\n /**\n * Custom Ajv instance, if you want to use your own\n */\n ajvInstance?: Ajv\n /**\n * Custom error messages for the whole data set\n */\n errorMessages?: GlobalErrorMessagesWithPaths\n /**\n * @deprecated Use the `filterData` in the second event parameter in the `onSubmit` or `onChange` events.\n */\n filterSubmitData?: FilterData\n /**\n * Transform the data context (internally as well) based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformIn?: TransformData\n /**\n * Mutate the data before it enters onSubmit or onChange based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformOut?: TransformData\n /**\n * Change handler for the whole data set.\n * You can provide an async function to show an indicator on the current label during a field change.\n */\n onChange?: OnChange<Data>\n /**\n * Change handler for each value\n */\n onPathChange?: (\n path: Path,\n value: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Will emit on a form submit – if validation has passed.\n * You can provide an async function to shows a submit indicator during submit. All form elements will be disabled during the submit.\n */\n onSubmit?: OnSubmit<Data>\n /**\n * Submit was requested, but data was invalid\n */\n onSubmitRequest?: () => void\n /**\n * Will be called when the onSubmit is finished and had not errors\n */\n onSubmitComplete?: (\n data: Data,\n /**\n * The result of the onSubmit function\n */\n result: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Minimum time to display the submit indicator.\n */\n minimumAsyncBehaviorTime?: number\n /**\n * The maximum time to display the submit indicator before it changes back to normal. In case something went wrong during submission.\n */\n asyncSubmitTimeout?: number\n /**\n * Scroll to top on submit\n */\n scrollTopOnSubmit?: boolean\n /**\n * Key for caching the data in session storage\n */\n sessionStorageId?: string\n /**\n * Locale to use for all nested Eufemia components\n */\n locale?: ContextProps['locale']\n /**\n * Provide your own translations. Use the same format as defined in the translation files\n */\n translations?: ContextProps['translations']\n /**\n * Make all fields required\n */\n required?: boolean\n /**\n * The children of the context provider\n */\n children: React.ReactNode\n }\n\nconst isArrayJsonPointer = /^\\/\\d+(\\/|$)/\n\nexport default function Provider<Data extends JsonObject>(\n props: Props<Data>\n) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n id,\n globalStatusId = 'main',\n defaultData,\n emptyData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onCommit,\n onClear,\n scrollTopOnSubmit,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n sessionStorageId,\n ajvInstance,\n transformIn,\n transformOut,\n filterSubmitData,\n locale,\n translations,\n required,\n errorMessages,\n isolate,\n children,\n ...rest\n } = props\n\n // Prop error handling\n if (data !== undefined && sessionStorageId !== undefined) {\n throw new Error(\n 'Use \"defaultData\" instead of \"data\" when using sessionStorageId'\n )\n }\n\n const { hasContext } = useContext(DataContext) || {}\n\n if (hasContext && !isolate) {\n throw new Error('DataContext (Form.Handler) can not be nested')\n }\n\n // - Element\n const formElementRef = useRef<HTMLFormElement>(null)\n\n // - Locale\n const { locale: sharedLocale } = useContext(SharedContext) || {}\n const translation = useTranslation().Field\n\n // - Ajv\n const ajvRef = useRef<Ajv>(makeAjvInstance(ajvInstance))\n\n // - Paths\n const mountedFieldsRef: ContextState['mountedFieldsRef'] = useRef({})\n\n // - Snapshots\n const snapshotsRef: ContextState['snapshotsRef'] = useRef(new Map())\n const existingFieldsRef: ContextState['existingFieldsRef'] = useRef(\n new Map()\n )\n\n // - Errors from provider validation (the whole data set)\n const hasVisibleErrorRef = useRef<Record<Path, boolean>>({})\n const errorsRef = useRef<Record<Path, FormError> | undefined>()\n const addSetShowAllErrorsRef = useRef<\n Array<(showAllErrors: boolean) => void>\n >([])\n const showAllErrorsRef = useRef<number | boolean>(false)\n const setShowAllErrors = useCallback((showAllErrors: boolean) => {\n showAllErrorsRef.current = showAllErrors ? Date.now() : showAllErrors\n forceUpdate()\n addSetShowAllErrorsRef.current.forEach((fn) => fn?.(showAllErrors))\n }, [])\n const setVisibleError = useCallback((path: Path, hasError: boolean) => {\n if (hasError) {\n hasVisibleErrorRef.current[path] = hasError\n } else {\n delete hasVisibleErrorRef.current[path]\n }\n forceUpdate() // Will rerender the whole form initially\n }, [])\n const submitStateRef = useRef<Partial<EventStateObject>>({})\n const setSubmitState = useCallback((state: EventStateObject) => {\n submitStateRef.current = { ...submitStateRef.current, ...state }\n forceUpdate()\n }, [])\n\n // - Progress\n const formStateRef = useRef<SubmitState>()\n const keepPending = useRef(false)\n const setFormState = useCallback<ContextState['setFormState']>(\n (formState: SubmitState, options = {}) => {\n if (typeof options?.keepPending === 'boolean') {\n keepPending.current = options?.keepPending\n }\n formStateRef.current = formState\n forceUpdate()\n },\n []\n )\n\n // - States (e.g. error) reported by fields, based on their direct validation rules\n const fieldErrorRef = useRef<Record<Path, Error>>({})\n const fieldStateRef = useRef<Record<Path, SubmitState>>({})\n\n // - Data\n const initialData = useMemo<Data>(() => {\n if (sessionStorageId && typeof window !== 'undefined') {\n const sessionDataJSON =\n window.sessionStorage?.getItem(sessionStorageId)\n if (sessionDataJSON) {\n return JSON.parse(sessionDataJSON)\n }\n }\n\n return data ?? defaultData\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Avoid triggering code that should only run initially\n }, [])\n const internalDataRef = useRef<Data>(initialData)\n const isEmptyDataRef = useRef(false)\n\n // - Validator\n const ajvValidatorRef = useRef<ValidateFunction>()\n const executeAjvValidator = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n if (!ajvValidatorRef.current?.(internalDataRef.current)) {\n // Errors found\n errorsRef.current = ajvErrorsToFormErrors(\n ajvValidatorRef.current.errors,\n internalDataRef.current\n )\n } else {\n errorsRef.current = undefined\n }\n }, [])\n const validateData = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n executeAjvValidator()\n forceUpdate()\n }, [executeAjvValidator])\n\n // - Error handling\n const checkFieldStateFor = useCallback(\n (path: Path, state: SubmitState) => {\n return Boolean(\n state === 'error'\n ? errorsRef.current?.[path] instanceof Error ||\n fieldErrorRef.current[path] instanceof Error\n : fieldStateRef.current[path] === state\n )\n },\n []\n )\n const hasFieldState = useCallback(\n (state: SubmitState) => {\n for (const path in mountedFieldsRef.current) {\n const item = mountedFieldsRef.current[path]\n if (item.isMounted && checkFieldStateFor(path, state)) {\n return true\n }\n }\n\n return false\n },\n [checkFieldStateFor]\n )\n const hasFieldError = useCallback(\n (path: Path) => {\n for (const p in mountedFieldsRef.current) {\n const item = mountedFieldsRef.current[path]\n if (\n item.isMounted &&\n p === path &&\n checkFieldStateFor(path, 'error')\n ) {\n return true\n }\n }\n\n return false\n },\n [checkFieldStateFor]\n )\n const hasErrors = useCallback(() => {\n return hasFieldState('error')\n }, [hasFieldState])\n\n /**\n * Sets the error state for a specific path\n */\n const setFieldError: ContextState['setFieldError'] = useCallback(\n (path, error) => {\n fieldErrorRef.current[path] = error\n },\n []\n )\n\n /**\n * Sets the field state for a specific path\n */\n const setFieldState: ContextState['setFieldState'] = useCallback(\n (path, fieldState) => {\n if (fieldState !== fieldStateRef.current[path]) {\n // The state for the target value was changed\n fieldStateRef.current[path] = fieldState\n forceUpdate()\n }\n },\n []\n )\n\n /**\n * Mutate the data set based on the filterData function\n */\n const mutateDataHandler = useCallback(\n (\n data: Data,\n handler: TransformData | FilterData,\n { remove = false, mutate = true, fireHandlerWhen = null } = {}\n ) => {\n const freshData = {} as Data\n const mutateEntry = (path: Path, result: boolean | unknown) => {\n if (remove) {\n if (result === false) {\n data = structuredClone(data)\n pointer.remove(data, path)\n }\n } else {\n if (typeof result !== 'undefined') {\n if (mutate) {\n data = structuredClone(data)\n pointer.set(data, path, result)\n } else {\n pointer.set(freshData, path, result)\n }\n }\n }\n }\n\n if (typeof handler === 'function') {\n Object.entries(fieldInternalsRef.current).forEach(\n ([path, { props }]) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const value = pointer.get(data, path)\n const { value: displayValue, type } =\n fieldDisplayValueRef.current[path] || {}\n const internal = {\n error: fieldErrorRef.current?.[path],\n }\n if (fireHandlerWhen?.({ type }) !== false) {\n const result = handler({\n path,\n value,\n displayValue,\n label: props.label,\n data: internalDataRef.current,\n props,\n internal,\n })\n mutateEntry(path, result)\n }\n }\n }\n )\n\n if (!mutate) {\n return freshData\n }\n\n return data\n } else if (handler) {\n const runFilter = ({ path, condition }) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const value = pointer.get(data, path)\n const props = fieldInternalsRef.current[path]?.props\n const internal = { error: fieldErrorRef.current?.[path] }\n const result =\n typeof condition === 'function'\n ? condition({\n value,\n data: internalDataRef.current,\n props,\n internal,\n })\n : condition\n mutateEntry(path, result)\n }\n }\n\n const wildcardPaths = []\n\n Object.entries(handler).forEach(([path, condition]) => {\n if (path.includes('*')) {\n const parts = path.split(/\\/\\*/g)\n const exists = pointer.has(data, parts[0])\n if (exists) {\n const traverse = (\n subData: unknown,\n subPath: string,\n idx: number\n ) => {\n if (idx === parts.length - 1) {\n wildcardPaths.push({ path: subPath, condition })\n return\n }\n const list = pointer.get(subData, subPath)\n if (Array.isArray(list)) {\n list.forEach((_, i) => {\n traverse(\n list[i],\n `${subPath}/${i}${parts[idx + 1]}`,\n idx + 1\n )\n })\n }\n }\n traverse(data, parts[0], 0)\n }\n } else {\n runFilter({ path, condition })\n }\n })\n\n wildcardPaths.forEach(runFilter)\n\n return data\n }\n\n return data\n },\n []\n )\n\n /**\n * Ensure only visible data is returned\n */\n const visibleDataHandler: VisibleDataHandler<Data> = useCallback(\n (data = internalDataRef.current, { keepPaths, removePaths } = {}) => {\n const visibleData = {} as Partial<Data>\n\n for (const path in mountedFieldsRef.current) {\n const item = mountedFieldsRef.current[path]\n if (\n item &&\n item.isVisible !== false &&\n (item.isPreMounted !== false || item.wasStepChange === true) &&\n (removePaths ? !removePaths.includes(path) : true) &&\n pointer.has(data, path)\n ) {\n pointer.set(visibleData, path, pointer.get(data, path))\n }\n }\n\n if (keepPaths) {\n keepPaths.forEach((path) => {\n if (pointer.has(data, path)) {\n pointer.set(visibleData, path, pointer.get(data, path))\n }\n })\n }\n\n return visibleData\n },\n []\n )\n\n /**\n * Filter the data set based on the filterData function\n */\n const filterDataHandler = useCallback(\n (data: Data, filter: FilterData) => {\n if (filter) {\n return mutateDataHandler(data, filter, { remove: true })\n }\n\n return data\n },\n [mutateDataHandler]\n )\n\n const filterData = useCallback(\n (filter: FilterData, data = internalDataRef.current) => {\n return filterDataHandler(data, filter)\n },\n [filterDataHandler]\n )\n\n const fieldDisplayValueRef: ContextState['fieldDisplayValueRef'] =\n useRef({})\n\n const fieldConnectionsRef = useRef<\n Record<Path, Record<string, unknown>>\n >({})\n const setFieldConnection = useCallback(\n (path: Path, connections: Record<string, unknown>) => {\n fieldConnectionsRef.current[path] = connections\n },\n []\n )\n\n const fieldInternalsRef = useRef<FieldInternalsRef>({})\n const setFieldInternals = useCallback(\n (path: Path, props: FieldInternalsRefProps, id: string) => {\n fieldInternalsRef.current[path] = Object.assign(\n fieldInternalsRef.current[path] || {},\n { props, id }\n )\n },\n []\n )\n\n const valueInternalsRef = useRef<ValueInternalsRef>({})\n const setValueInternals = useCallback(\n (path: Path, props: ValueProps) => {\n valueInternalsRef.current[path] = Object.assign(\n valueInternalsRef.current[path] || {},\n { props }\n )\n },\n []\n )\n\n const hasFieldWithAsyncValidator = useCallback(() => {\n for (const path in fieldInternalsRef.current) {\n if (mountedFieldsRef.current[path]?.isMounted) {\n const props = fieldInternalsRef.current[path]?.props\n if (\n isAsync(props?.onChangeValidator) ||\n isAsync(props?.onBlurValidator)\n ) {\n return true\n }\n }\n }\n\n return false\n }, [])\n\n // - Shared state\n const sharedData = useSharedState<Data>(id)\n const sharedAttachments = useSharedState<SharedAttachments<Data>>(\n createReferenceKey(id, 'attachments')\n )\n const sharedDataContext = useSharedState<ContextState>(\n createReferenceKey(id, 'data-context')\n )\n\n const setSharedData = sharedData.set\n const extendSharedData = sharedData.extend\n const extendAttachment = sharedAttachments.extend\n const rerenderUseDataHook = sharedAttachments.data?.rerenderUseDataHook\n\n const cacheRef = useRef({\n data,\n schema,\n shared: sharedData.data,\n hasUsedInitialData: false,\n })\n\n const internalData = useMemo(() => {\n // NB: \"sharedData.data\" is only available on a rerender.\n // Update the shared state, if initialData is given and no shared state is available.\n // We do almost the same later in a useLayoutEffect, but we need to do it here as well, so we set the data as early as possible.\n if (id && initialData && !sharedData.data) {\n sharedData.update(initialData)\n }\n\n // Merge both internal data and the shared state, if it both where given\n if (\n id &&\n initialData &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data &&\n internalDataRef.current === initialData &&\n typeof internalDataRef.current === 'object'\n ) {\n return {\n ...internalDataRef.current,\n ...(sharedData.data || {}),\n }\n }\n\n // Use shared state if no initial and initial data, and the shared state exists\n if (\n id &&\n !initialData &&\n !internalDataRef.current &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data\n ) {\n return sharedData.data\n }\n\n // Merge the internal data with the shared state, if the shared was updated and not the same as internal data\n if (\n id &&\n sharedData.data &&\n cacheRef.current.shared !== sharedData.data &&\n sharedData.data !== internalDataRef.current &&\n typeof internalDataRef.current === 'object'\n ) {\n cacheRef.current.shared = sharedData.data\n\n if (isEmptyDataRef.current) {\n return (\n Array.isArray(internalDataRef.current) ? [] : clearedData\n ) as Data\n }\n\n return {\n ...internalDataRef.current,\n ...(sharedData.data || {}),\n }\n }\n\n // When external data has changed, update the internal data\n if (data !== cacheRef.current.data) {\n cacheRef.current.data = data\n return data\n }\n\n return internalDataRef.current\n }, [id, initialData, sharedData, data])\n\n internalDataRef.current =\n props.path && pointer.has(internalData, props.path)\n ? pointer.get(internalData, props.path)\n : internalData\n\n const clearData = useCallback(() => {\n isEmptyDataRef.current = true\n internalDataRef.current = ((typeof emptyData === 'function'\n ? emptyData(internalDataRef.current)\n : emptyData) ??\n (Array.isArray(internalDataRef.current) ? [] : clearedData)) as Data\n\n if (id) {\n setSharedData(internalDataRef.current)\n }\n\n forceUpdate()\n onClear?.()\n\n requestAnimationFrame?.(() => {\n isEmptyDataRef.current = false\n }) // Delay so the field validation error message are not shown\n }, [emptyData, id, onClear, setSharedData])\n\n useMemo(() => {\n executeAjvValidator()\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [internalDataRef.current]) // run validation when internal data has changed\n\n const storeInSession = useMemo(() => {\n return debounce(\n () => {\n window.sessionStorage?.setItem(\n sessionStorageId,\n JSON.stringify(internalDataRef.current)\n )\n },\n process.env.NODE_ENV === 'test' ? 1 : 800\n )\n }, [sessionStorageId])\n\n const setData = useCallback(\n (newData: Data, preventUpdate = false) => {\n // - Mutate the data context\n if (transformIn) {\n newData = mutateDataHandler(newData, transformIn)\n }\n\n internalDataRef.current = newData\n\n if (id) {\n // Will ensure that Form.getData() gets the correct data\n extendSharedData(newData, { preventSyncOfSameInstance: true })\n if (filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n\n if (sessionStorageId && typeof window !== 'undefined') {\n storeInSession()\n }\n\n if (!preventUpdate) {\n forceUpdate() // Will rerender the whole form initially\n }\n },\n [\n extendSharedData,\n filterSubmitData,\n id,\n mutateDataHandler,\n rerenderUseDataHook,\n sessionStorageId,\n storeInSession,\n transformIn,\n ]\n )\n\n /**\n * Update the data set\n */\n const updateDataValue: ContextState['updateDataValue'] = useCallback(\n (path, value, { preventUpdate } = {}) => {\n if (!path) {\n return\n }\n\n const givenData = (\n path === '/'\n ? // When setting the root of the data, the whole data set should be the new value\n value\n : // For sub paths, use the existing data set (or empty array/object), but modify it below (since pointer.set is not immutable)\n internalDataRef.current ??\n (path.match(isArrayJsonPointer) ? [] : {})\n ) as Data\n\n let newData: Data = null\n try {\n // Update the data even if it contains errors. Submit/SubmitRequest will be called accordingly\n newData = structuredClone(givenData)\n } catch (e) {\n newData = givenData\n }\n\n if (path !== '/') {\n pointer.set(newData, path, value)\n }\n\n setData(newData, preventUpdate)\n },\n [setData]\n )\n\n /**\n * Update the data set on user interaction (unvalidated)\n */\n const handlePathChangeUnvalidated: ContextState['handlePathChange'] =\n useCallback(\n async (path, value) => {\n if (!path) {\n return null\n }\n\n updateDataValue(path, value)\n\n if (isAsync(onPathChange)) {\n await onPathChange?.(path, value)\n } else {\n onPathChange?.(path, value)\n }\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onPathChange' && itm.path === path) {\n const { callback } = itm\n if (isAsync(callback)) {\n await callback({ value })\n } else {\n callback({ value })\n }\n }\n }\n },\n [onPathChange, updateDataValue]\n )\n\n /**\n * Update the data set on user interaction\n */\n const handlePathChange: ContextState['handlePathChange'] = useCallback(\n async (path, value = '_undefined_') => {\n if (!path) {\n return null\n }\n\n if (value !== '_undefined_') {\n handlePathChangeUnvalidated(path, value)\n }\n\n showAllErrorsRef.current = false\n\n validateData()\n\n const data = internalDataRef.current as Data\n const options = { filterData }\n const transformedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n for (const cb of changeHandlerStackRef.current) {\n if (isAsync(onChange)) {\n await cb(transformedData, options)\n } else {\n cb(transformedData, options)\n }\n }\n\n if (isAsync(onChange)) {\n return await onChange(transformedData, options)\n }\n\n return onChange?.(transformedData, options)\n },\n [\n filterData,\n handlePathChangeUnvalidated,\n mutateDataHandler,\n onChange,\n transformOut,\n validateData,\n ]\n )\n\n const changeHandlerStackRef = useRef<Array<OnChange<Data>>>([])\n const addOnChangeHandler = useCallback((callback: OnChange<Data>) => {\n const exists = changeHandlerStackRef.current.some((cb) => {\n return callback === cb\n })\n if (!exists) {\n changeHandlerStackRef.current.push(callback)\n }\n }, [])\n\n // - Mounted fields\n const setMountedFieldState = useCallback(\n (path: Path, state: MountState) => {\n if (!mountedFieldsRef.current[path]) {\n mountedFieldsRef.current[path] = { ...state }\n } else {\n Object.assign(mountedFieldsRef.current[path], state)\n }\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onMount' && itm.path === path) {\n const { callback } = itm\n callback()\n }\n }\n },\n []\n )\n\n // - Features\n const scrollToTop = useCallback(() => {\n if (typeof window !== 'undefined') {\n window?.scrollTo?.({ top: 0, behavior: 'smooth' })\n }\n }, [])\n\n /**\n * Shared logic dedicated to submit the whole form\n */\n const handleSubmitCall = useCallback<ContextState['handleSubmitCall']>(\n async (args) => {\n const {\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n } = args\n\n setSubmitState({ error: undefined, customStatus: undefined })\n\n const asyncBehaviorIsEnabled =\n (skipErrorCheck\n ? true\n : // Don't enable async behavior if we have errors, but when we have a pending state\n !hasErrors() || hasFieldState('pending')) &&\n (enableAsyncBehavior || hasFieldWithAsyncValidator())\n\n if (asyncBehaviorIsEnabled) {\n setFormState('pending')\n }\n\n // Just call the submit listeners \"once\", and not on the retry/recall\n if (!skipFieldValidation) {\n for (const item of fieldEventListenersRef.current) {\n const { path, type, callback } = item\n if (\n type === 'onSubmit' &&\n mountedFieldsRef.current[path]?.isMounted\n ) {\n // Call all submit listener callbacks (e.g. to validate fields)\n if (asyncBehaviorIsEnabled) {\n await callback()\n } else {\n callback()\n }\n }\n }\n }\n\n let result: EventStateObject\n\n if (\n !(skipErrorCheck ? false : hasErrors()) &&\n !hasFieldState('pending') &&\n (skipFieldValidation ? true : !hasFieldState('error'))\n ) {\n let submitResult: OnSubmitReturn\n try {\n if (isolate) {\n submitResult = await onCommit?.(internalDataRef.current, {\n clearData,\n })\n } else {\n submitResult = await onSubmit()\n }\n\n if (submitResult instanceof Error) {\n throw submitResult\n }\n } catch (error) {\n submitResult = { error }\n }\n\n result = submitResult as EventStateObject\n\n if (asyncBehaviorIsEnabled) {\n if (result?.error) {\n setFormState('abort')\n } else if (keepPending.current !== true) {\n setFormState('complete')\n }\n }\n\n // Force the state to be set by a custom status\n if (result?.['status']) {\n setFormState(result?.['status'])\n }\n\n if (\n result?.error ||\n result?.warning ||\n result?.info ||\n result?.customStatus\n ) {\n setSubmitState(result)\n }\n } else {\n if (asyncBehaviorIsEnabled) {\n window.requestAnimationFrame(() => {\n setFormState(undefined)\n })\n\n if (!skipFieldValidation) {\n // Add a event listener to continue the submit after the pending state is resolved\n onSubmitContinueRef.current = () => {\n window.requestAnimationFrame(() => {\n // Do not call the validators again,\n // because we already did it in the first call\n // If they are async, we wait for them to finish anyway\n handleSubmitCall({ ...args, skipFieldValidation: true })\n })\n }\n }\n }\n\n onSubmitRequest?.()\n\n setShowAllErrors(true)\n }\n\n return result\n },\n [\n clearData,\n hasErrors,\n hasFieldState,\n hasFieldWithAsyncValidator,\n isolate,\n onCommit,\n onSubmitRequest,\n setFormState,\n setShowAllErrors,\n setSubmitState,\n ]\n )\n\n const handleSubmitListenersRef = useRef<Array<HandleSubmitCallback>>([])\n const setHandleSubmit: ContextState['setHandleSubmit'] = useCallback(\n (callback, { remove = false } = {}) => {\n const listeners = handleSubmitListenersRef.current\n if (remove) {\n handleSubmitListenersRef.current = listeners.filter(\n (item) => item !== callback\n )\n } else if (!listeners.includes(callback)) {\n listeners.push(callback)\n }\n },\n []\n )\n const handleSubmitListeners = useCallback(() => {\n let stop = false\n const preventSubmit = () => (stop = true)\n handleSubmitListenersRef.current.forEach((cb) => {\n cb({ preventSubmit })\n })\n return stop\n }, [])\n\n const getSubmitData = useCallback(() => {\n // - Mutate the data context\n const data = internalDataRef.current\n const mutatedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n // @deprecated – can be removed in v11 (use only mutatedData instead)\n const filteredData = filterSubmitData\n ? filterDataHandler(mutatedData, filterSubmitData)\n : mutatedData\n\n return filteredData\n }, [\n filterDataHandler,\n filterSubmitData,\n mutateDataHandler,\n transformOut,\n ])\n\n const getSubmitParams = useCallback(() => {\n const reduceToVisibleFields: VisibleDataHandler<Data> = (\n data,\n options\n ) => {\n return visibleDataHandler(\n transformOut ? mutateDataHandler(data, transformOut) : data,\n options\n )\n }\n\n const transformData = (data: Data, handler: TransformData) => {\n return mutateDataHandler(data, handler, {\n mutate: false,\n fireHandlerWhen: ({ type }) => type === 'field',\n })\n }\n\n const formElement = formElementRef.current\n const params: OnSubmitParams<Data> = {\n filterData,\n reduceToVisibleFields,\n transformData,\n resetForm: () => {\n formElement?.reset?.()\n\n if (typeof window !== 'undefined') {\n if (sessionStorageId) {\n window.sessionStorage.removeItem(sessionStorageId)\n }\n }\n\n forceUpdate() // in order to fill \"empty fields\" again with their internal states\n },\n clearData,\n }\n\n return params\n }, [\n clearData,\n filterData,\n mutateDataHandler,\n sessionStorageId,\n transformOut,\n visibleDataHandler,\n ])\n\n /**\n * Request to submit the whole form\n */\n const handleSubmit = useCallback<\n ContextState['handleSubmit']\n >(async () => {\n return await handleSubmitCall({\n enableAsyncBehavior: isAsync(onSubmit),\n onSubmit: async () => {\n if (handleSubmitListeners()) {\n return // stop here\n }\n\n const data = getSubmitData()\n const options = getSubmitParams()\n let result = undefined\n\n if (isAsync(onSubmit)) {\n result = await onSubmit(data, options)\n } else {\n result = onSubmit?.(data, options)\n }\n\n const completeResult = await onSubmitComplete?.(data, result)\n if (completeResult) {\n result =\n Object.keys(result).length > 0\n ? { ...result, ...completeResult }\n : completeResult\n }\n\n if (scrollTopOnSubmit) {\n scrollToTop()\n }\n\n return result\n },\n })\n }, [\n getSubmitData,\n getSubmitParams,\n handleSubmitCall,\n handleSubmitListeners,\n onSubmit,\n onSubmitComplete,\n scrollToTop,\n scrollTopOnSubmit,\n ])\n\n // Collect listeners to be called during form submit\n const fieldEventListenersRef = useRef<Array<EventListenerCall>>([])\n const setFieldEventListener = useCallback(\n (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => {\n fieldEventListenersRef.current =\n fieldEventListenersRef.current.filter(\n ({ path: p, type: t, callback: c }) => {\n return !(p === path && t === type && c === callback)\n }\n )\n fieldEventListenersRef.current.push({ path, type, callback })\n },\n []\n )\n\n // Handle unresolved field states during async submit\n const onSubmitContinueRef = useRef<() => void>(null)\n if (!hasFieldState('pending')) {\n onSubmitContinueRef.current?.()\n onSubmitContinueRef.current = null\n }\n\n // - ajv validator routines\n useEffect(() => {\n if (schema) {\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n }\n\n // Validate the initial data\n validateData()\n }, [schema, validateData])\n useUpdateEffect(() => {\n if (schema && schema !== cacheRef.current.schema) {\n cacheRef.current.schema = schema\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n\n validateData()\n forceUpdate()\n }\n }, [schema, validateData, forceUpdate])\n\n const onTimeout = useCallback(() => {\n setFormState(undefined)\n setSubmitState({\n info: undefined,\n warning: undefined,\n error: undefined,\n customStatus: undefined,\n })\n }, [setFormState, setSubmitState])\n\n useLayoutEffect(() => {\n // Set the shared state, if initialData was given\n if (id) {\n if (initialData && !sharedData.data) {\n extendSharedData(initialData, { preventSyncOfSameInstance: true })\n }\n }\n }, [id, initialData, extendSharedData, sharedData.data])\n\n useLayoutEffect(() => {\n if (id) {\n extendAttachment(\n {\n visibleDataHandler,\n filterDataHandler,\n hasErrors,\n hasFieldError,\n setShowAllErrors,\n setSubmitState,\n clearData,\n setData,\n updateDataValue,\n fieldConnectionsRef,\n internalDataRef,\n },\n { preventSyncOfSameInstance: true }\n )\n if (filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n }, [\n clearData,\n extendAttachment,\n filterDataHandler,\n filterSubmitData,\n hasErrors,\n hasFieldError,\n id,\n rerenderUseDataHook,\n setData,\n setShowAllErrors,\n setSubmitState,\n updateDataValue,\n visibleDataHandler,\n ])\n\n const { bufferedFormState: formState } = useFormStatusBuffer({\n formState: formStateRef.current,\n waitFor: hasFieldState('pending'),\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n })\n\n const submitState = submitStateRef.current\n const disabled =\n typeof rest?.['disabled'] === 'boolean'\n ? rest?.['disabled']\n : (formState === 'pending') === true\n ? true\n : undefined\n const contextErrorMessages =\n errorMessages?.[locale ?? sharedLocale] || errorMessages\n\n const contextValue: ContextState = {\n /** Method */\n handlePathChange,\n handlePathChangeUnvalidated,\n handleSubmit,\n setMountedFieldState,\n handleSubmitCall,\n setFormState,\n setSubmitState,\n setShowAllErrors,\n setVisibleError,\n setFieldEventListener,\n setFieldState,\n setFieldError,\n setFieldConnection,\n setFieldInternals,\n setValueInternals,\n hasErrors,\n hasFieldError,\n hasFieldState,\n validateData,\n updateDataValue,\n setData,\n clearData,\n visibleDataHandler,\n filterDataHandler,\n getSubmitData,\n getSubmitParams,\n addOnChangeHandler,\n setHandleSubmit,\n scrollToTop,\n\n /** State handling */\n schema,\n disabled,\n required,\n formState,\n submitState,\n contextErrorMessages,\n hasContext: true,\n errors: errorsRef.current,\n showAllErrors: showAllErrorsRef.current,\n hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,\n addSetShowAllErrorsRef,\n fieldConnectionsRef,\n fieldDisplayValueRef,\n fieldInternalsRef,\n valueInternalsRef,\n mountedFieldsRef,\n snapshotsRef,\n existingFieldsRef,\n formElementRef,\n isEmptyDataRef,\n fieldErrorRef,\n ajvInstance: ajvRef.current,\n\n /** Additional */\n id,\n data: internalDataRef.current,\n internalDataRef,\n props,\n ...rest,\n }\n\n if (id) {\n sharedDataContext.set(contextValue)\n }\n\n return (\n <DataContext.Provider value={contextValue}>\n <FieldPropsProvider\n FormStatus={\n globalStatusId\n ? {\n globalStatus: {\n id: globalStatusId,\n title: translation.errorSummaryTitle,\n show: Boolean(showAllErrorsRef.current),\n },\n }\n : undefined\n }\n formElement={disabled ? { disabled: true } : undefined}\n locale={locale ? locale : undefined}\n translations={translations ? translations : undefined}\n >\n {children}\n </FieldPropsProvider>\n </DataContext.Provider>\n )\n}\n\ntype FormStatusBufferProps = {\n minimumAsyncBehaviorTime?: Props<JsonObject>['minimumAsyncBehaviorTime']\n asyncSubmitTimeout?: Props<JsonObject>['asyncSubmitTimeout']\n formState: ContextState['formState']\n waitFor: boolean\n onTimeout: () => void\n}\n\nfunction useFormStatusBuffer(props: FormStatusBufferProps) {\n const {\n formState,\n waitFor,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n } = props || {}\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const stateRef = useRef<SubmitState>()\n const nowRef = useRef<number | null>(null)\n const timeoutRef = useRef<{\n complete?: NodeJS.Timeout | null\n reset?: NodeJS.Timeout | null\n timeout?: NodeJS.Timeout | null\n }>({})\n\n const setState = useCallback(\n (state: SubmitState) => {\n stateRef.current = state\n forceUpdate()\n },\n [forceUpdate]\n )\n\n const clear = useCallback(() => {\n for (const key in timeoutRef.current) {\n clearTimeout(timeoutRef.current[key])\n }\n }, [])\n\n const hadCompleteRef = useRef(false)\n const activeElementRef = useRef<HTMLElement>(null)\n\n useEffect(() => {\n // This offset is used to calculate the delay,\n // which ensures that the form state is displayed for at least minimumAsyncBehaviorTime duration.\n // If the form was 'pending' for less than minimumAsyncBehaviorTime,\n // the delay will be the remaining time to reach minimumAsyncBehaviorTime.\n const isTest = process.env.NODE_ENV === 'test'\n const minimum =\n minimumAsyncBehaviorTime ??\n // make it testable\n (isTest ? 1 : 1000)\n\n if (stateRef.current && formState === 'error') {\n clear()\n setState(undefined)\n return\n }\n\n if (formState === 'abort') {\n clear()\n setState('abort')\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n }, minimum)\n return\n }\n\n if (formState === 'complete') {\n hadCompleteRef.current = true\n }\n\n if (formState === 'pending' && stateRef.current !== 'pending') {\n activeElementRef.current = document.activeElement as HTMLElement\n clear()\n nowRef.current = Date.now()\n hadCompleteRef.current = false\n setState('pending')\n } else if (stateRef.current === 'pending') {\n const offset = Math.max(Date.now() - nowRef.current)\n const delay = isTest ? minimum : Math.max(minimum - offset, 0)\n\n if (!waitFor) {\n timeoutRef.current.complete = setTimeout(() => {\n if (hadCompleteRef.current) {\n setState('complete')\n }\n window.requestAnimationFrame(() => {\n activeElementRef.current?.focus?.()\n })\n }, delay)\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n clear()\n }, delay + minimum)\n }\n }\n\n if (stateRef.current === 'pending') {\n timeoutRef.current.timeout = setTimeout(() => {\n clear()\n setState(undefined)\n onTimeout?.()\n }, asyncSubmitTimeout ?? 30000)\n }\n\n return clear\n }, [\n clear,\n minimumAsyncBehaviorTime,\n formState,\n setState,\n waitFor,\n asyncSubmitTimeout,\n onTimeout,\n ])\n\n return { bufferedFormState: stateRef.current }\n}\n\nexport const clearedData = Object.freeze({})\n"],"mappings":"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"}
1
+ {"version":3,"file":"Provider.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_utils","_helpers","_Provider","_useUpdateEffect","_isAsync","_useSharedState","_Context","_useTranslation","_Context2","_structuredClone","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","useLayoutEffect","window","React","useEffect","isArrayJsonPointer","Provider","props","_sharedAttachments$da","forceUpdate","useReducer","id","globalStatusId","defaultData","emptyData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onCommit","onClear","scrollTopOnSubmit","minimumAsyncBehaviorTime","asyncSubmitTimeout","sessionStorageId","ajvInstance","transformIn","transformOut","filterSubmitData","locale","translations","required","errorMessages","isolate","children","rest","Error","hasContext","useContext","DataContext","formElementRef","useRef","sharedLocale","SharedContext","translation","useTranslation","Field","ajvRef","makeAjvInstance","mountedFieldsRef","snapshotsRef","Map","existingFieldsRef","hasVisibleErrorRef","errorsRef","addSetShowAllErrorsRef","showAllErrorsRef","setShowAllErrors","useCallback","showAllErrors","current","Date","now","fn","setVisibleError","path","hasError","submitStateRef","setSubmitState","state","formStateRef","keepPending","setFormState","formState","options","fieldErrorRef","fieldStateRef","initialData","useMemo","_window$sessionStorag","sessionDataJSON","sessionStorage","getItem","JSON","parse","internalDataRef","isEmptyDataRef","ajvValidatorRef","executeAjvValidator","_ajvValidatorRef$curr","ajvErrorsToFormErrors","errors","validateData","checkFieldStateFor","_errorsRef$current","Boolean","hasFieldState","item","isMounted","hasFieldError","p","hasErrors","setFieldError","error","setFieldState","fieldState","mutateDataHandler","handler","remove","mutate","fireHandlerWhen","freshData","mutateEntry","result","structuredClone","pointer","entries","fieldInternalsRef","_ref","exists","_fieldErrorRef$curren","displayValue","type","fieldDisplayValueRef","internal","label","runFilter","_ref2","condition","_fieldInternalsRef$cu","_fieldErrorRef$curren2","wildcardPaths","_ref3","includes","parts","split","traverse","subData","subPath","idx","list","Array","isArray","_","visibleDataHandler","keepPaths","removePaths","visibleData","isVisible","isPreMounted","wasStepChange","filterDataHandler","filterData","fieldConnectionsRef","setFieldConnection","connections","setFieldInternals","assign","valueInternalsRef","setValueInternals","hasFieldWithAsyncValidator","_mountedFieldsRef$cur","_fieldInternalsRef$cu2","isAsync","onChangeValidator","onBlurValidator","sharedData","useSharedState","sharedAttachments","createReferenceKey","sharedDataContext","setSharedData","extendSharedData","extend","extendAttachment","rerenderUseDataHook","cacheRef","shared","hasUsedInitialData","internalData","update","clearedData","clearData","_ref4","_requestAnimationFram","requestAnimationFrame","storeInSession","debounce","_window$sessionStorag2","setItem","stringify","process","env","NODE_ENV","setData","newData","preventUpdate","preventSyncOfSameInstance","updateDataValue","_internalDataRef$curr","givenData","match","e","handlePathChangeUnvalidated","itm","fieldEventListenersRef","callback","handlePathChange","transformedData","cb","changeHandlerStackRef","addOnChangeHandler","some","setMountedFieldState","scrollToTop","_window","_window$scrollTo","scrollTo","top","behavior","handleSubmitCall","args","enableAsyncBehavior","skipFieldValidation","skipErrorCheck","customStatus","asyncBehaviorIsEnabled","_mountedFieldsRef$cur2","_result2","_result4","_result5","_result6","_result7","submitResult","_result","_result3","warning","info","onSubmitContinueRef","handleSubmitListenersRef","setHandleSubmit","listeners","handleSubmitListeners","stop","preventSubmit","getSubmitData","mutatedData","filteredData","getSubmitParams","reduceToVisibleFields","transformData","_ref5","formElement","params","resetForm","_formElement$reset","reset","removeItem","handleSubmit","completeResult","setFieldEventListener","_ref6","t","c","_onSubmitContinueRef$","_ajvRef$current","compile","useUpdateEffect","_ajvRef$current2","onTimeout","bufferedFormState","useFormStatusBuffer","waitFor","submitState","disabled","contextErrorMessages","contextValue","hasVisibleError","createElement","FormStatus","globalStatus","title","errorSummaryTitle","show","stateRef","nowRef","timeoutRef","setState","clear","clearTimeout","hadCompleteRef","activeElementRef","isTest","minimum","setTimeout","document","activeElement","offset","Math","max","delay","complete","_activeElementRef$cur","_activeElementRef$cur2","focus","timeout","freeze","exports"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/Provider.tsx"],"sourcesContent":["import React, {\n useRef,\n useMemo,\n useCallback,\n useReducer,\n useEffect,\n useContext,\n} from 'react'\nimport pointer, { JsonObject } from '../../utils/json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport {\n Ajv,\n makeAjvInstance,\n ajvErrorsToFormErrors,\n FormError,\n} from '../../utils'\nimport {\n GlobalErrorMessagesWithPaths,\n AllJSONSchemaVersions,\n SubmitState,\n Path,\n EventStateObject,\n OnSubmit,\n OnChange,\n EventReturnWithStateObject,\n ValueProps,\n OnSubmitParams,\n OnSubmitReturn,\n} from '../../types'\nimport type { IsolationProviderProps } from '../../Form/Isolation/Isolation'\nimport { debounce } from '../../../../shared/helpers'\nimport FieldPropsProvider from '../../Field/Provider'\nimport useUpdateEffect from '../../../../shared/helpers/useUpdateEffect'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport {\n SharedStateId,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport SharedContext, { ContextProps } from '../../../../shared/Context'\nimport useTranslation from '../../hooks/useTranslation'\nimport DataContext, {\n ContextState,\n EventListenerCall,\n FieldInternalsRef,\n ValueInternalsRef,\n FilterData,\n FilterDataHandler,\n HandleSubmitCallback,\n MountState,\n TransformData,\n VisibleDataHandler,\n FieldInternalsRefProps,\n} from '../Context'\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\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type SharedAttachments<Data = unknown> = {\n visibleDataHandler?: VisibleDataHandler<Data>\n filterDataHandler?: FilterDataHandler<Data>\n hasErrors?: ContextState['hasErrors']\n hasFieldError?: ContextState['hasFieldError']\n setShowAllErrors?: ContextState['setShowAllErrors']\n setSubmitState?: ContextState['setSubmitState']\n rerenderUseDataHook?: () => void\n updateDataValue?: ContextState['updateDataValue']\n clearData?: () => void\n setData?: ContextState['setData']\n fieldConnectionsRef?: ContextState['fieldConnectionsRef']\n internalDataRef?: ContextState['internalDataRef']\n}\n\nexport type Props<Data extends JsonObject> =\n IsolationProviderProps<Data> & {\n /**\n * Unique ID to communicate with the hook Form.useData\n */\n id?: SharedStateId\n /**\n * Unique ID to connect with a GlobalStatus\n */\n globalStatusId?: string\n /**\n * Source data, will be used instead of defaultData, and leading to updates if changed after mount\n */\n data?: Data\n /**\n * Default source data, only used if no other source is available, and not leading to updates if changed after mount\n */\n defaultData?: Data\n /**\n * Empty data, used to clear the data set.\n */\n emptyData?: unknown\n /**\n * JSON Schema to validate the data against.\n */\n schema?: AllJSONSchemaVersions<Data>\n /**\n * Custom Ajv instance, if you want to use your own\n */\n ajvInstance?: Ajv\n /**\n * Custom error messages for the whole data set\n */\n errorMessages?: GlobalErrorMessagesWithPaths\n /**\n * @deprecated Use the `filterData` in the second event parameter in the `onSubmit` or `onChange` events.\n */\n filterSubmitData?: FilterData\n /**\n * Transform the data context (internally as well) based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformIn?: TransformData\n /**\n * Mutate the data before it enters onSubmit or onChange based on your criteria: `({ path, value, data, props, internal }) => 'new value'`. It will iterate on each data entry (/path).\n */\n transformOut?: TransformData\n /**\n * Change handler for the whole data set.\n * You can provide an async function to show an indicator on the current label during a field change.\n */\n onChange?: OnChange<Data>\n /**\n * Change handler for each value\n */\n onPathChange?: (\n path: Path,\n value: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Will emit on a form submit – if validation has passed.\n * You can provide an async function to shows a submit indicator during submit. All form elements will be disabled during the submit.\n */\n onSubmit?: OnSubmit<Data>\n /**\n * Submit was requested, but data was invalid\n */\n onSubmitRequest?: () => void\n /**\n * Will be called when the onSubmit is finished and had not errors\n */\n onSubmitComplete?: (\n data: Data,\n /**\n * The result of the onSubmit function\n */\n result: unknown\n ) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n /**\n * Minimum time to display the submit indicator.\n */\n minimumAsyncBehaviorTime?: number\n /**\n * The maximum time to display the submit indicator before it changes back to normal. In case something went wrong during submission.\n */\n asyncSubmitTimeout?: number\n /**\n * Scroll to top on submit\n */\n scrollTopOnSubmit?: boolean\n /**\n * Key for caching the data in session storage\n */\n sessionStorageId?: string\n /**\n * Locale to use for all nested Eufemia components\n */\n locale?: ContextProps['locale']\n /**\n * Provide your own translations. Use the same format as defined in the translation files\n */\n translations?: ContextProps['translations']\n /**\n * Make all fields required\n */\n required?: boolean\n /**\n * The children of the context provider\n */\n children: React.ReactNode\n }\n\nconst isArrayJsonPointer = /^\\/\\d+(\\/|$)/\n\nexport default function Provider<Data extends JsonObject>(\n props: Props<Data>\n) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n id,\n globalStatusId = 'main',\n defaultData,\n emptyData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onCommit,\n onClear,\n scrollTopOnSubmit,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n sessionStorageId,\n ajvInstance,\n transformIn,\n transformOut,\n filterSubmitData,\n locale,\n translations,\n required,\n errorMessages,\n isolate,\n children,\n ...rest\n } = props\n\n // Prop error handling\n if (data !== undefined && sessionStorageId !== undefined) {\n throw new Error(\n 'Use \"defaultData\" instead of \"data\" when using sessionStorageId'\n )\n }\n\n const { hasContext } = useContext(DataContext) || {}\n\n if (hasContext && !isolate) {\n throw new Error('DataContext (Form.Handler) cannot be nested')\n }\n\n // - Element\n const formElementRef = useRef<HTMLFormElement>(null)\n\n // - Locale\n const { locale: sharedLocale } = useContext(SharedContext) || {}\n const translation = useTranslation().Field\n\n // - Ajv\n const ajvRef = useRef<Ajv>(makeAjvInstance(ajvInstance))\n\n // - Paths\n const mountedFieldsRef: ContextState['mountedFieldsRef'] = useRef({})\n\n // - Snapshots\n const snapshotsRef: ContextState['snapshotsRef'] = useRef(new Map())\n const existingFieldsRef: ContextState['existingFieldsRef'] = useRef(\n new Map()\n )\n\n // - Errors from provider validation (the whole data set)\n const hasVisibleErrorRef = useRef<Record<Path, boolean>>({})\n const errorsRef = useRef<Record<Path, FormError> | undefined>()\n const addSetShowAllErrorsRef = useRef<\n Array<(showAllErrors: boolean) => void>\n >([])\n const showAllErrorsRef = useRef<number | boolean>(false)\n const setShowAllErrors = useCallback((showAllErrors: boolean) => {\n showAllErrorsRef.current = showAllErrors ? Date.now() : showAllErrors\n forceUpdate()\n addSetShowAllErrorsRef.current.forEach((fn) => fn?.(showAllErrors))\n }, [])\n const setVisibleError = useCallback((path: Path, hasError: boolean) => {\n if (hasError) {\n hasVisibleErrorRef.current[path] = hasError\n } else {\n delete hasVisibleErrorRef.current[path]\n }\n forceUpdate() // Will rerender the whole form initially\n }, [])\n const submitStateRef = useRef<Partial<EventStateObject>>({})\n const setSubmitState = useCallback((state: EventStateObject) => {\n submitStateRef.current = { ...submitStateRef.current, ...state }\n forceUpdate()\n }, [])\n\n // - Progress\n const formStateRef = useRef<SubmitState>()\n const keepPending = useRef(false)\n const setFormState = useCallback<ContextState['setFormState']>(\n (formState: SubmitState, options = {}) => {\n if (typeof options?.keepPending === 'boolean') {\n keepPending.current = options?.keepPending\n }\n formStateRef.current = formState\n forceUpdate()\n },\n []\n )\n\n // - States (e.g. error) reported by fields, based on their direct validation rules\n const fieldErrorRef = useRef<Record<Path, Error>>({})\n const fieldStateRef = useRef<Record<Path, SubmitState>>({})\n\n // - Data\n const initialData = useMemo<Data>(() => {\n if (sessionStorageId && typeof window !== 'undefined') {\n const sessionDataJSON =\n window.sessionStorage?.getItem(sessionStorageId)\n if (sessionDataJSON) {\n return JSON.parse(sessionDataJSON)\n }\n }\n\n return data ?? defaultData\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Avoid triggering code that should only run initially\n }, [])\n const internalDataRef = useRef<Data>(initialData)\n const isEmptyDataRef = useRef(false)\n\n // - Validator\n const ajvValidatorRef = useRef<ValidateFunction>()\n const executeAjvValidator = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n if (!ajvValidatorRef.current?.(internalDataRef.current)) {\n // Errors found\n errorsRef.current = ajvErrorsToFormErrors(\n ajvValidatorRef.current.errors,\n internalDataRef.current\n )\n } else {\n errorsRef.current = undefined\n }\n }, [])\n const validateData = useCallback(() => {\n if (!ajvValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n executeAjvValidator()\n forceUpdate()\n }, [executeAjvValidator])\n\n // - Error handling\n const checkFieldStateFor = useCallback(\n (path: Path, state: SubmitState) => {\n return Boolean(\n state === 'error'\n ? errorsRef.current?.[path] instanceof Error ||\n fieldErrorRef.current[path] instanceof Error\n : fieldStateRef.current[path] === state\n )\n },\n []\n )\n const hasFieldState = useCallback(\n (state: SubmitState) => {\n for (const path in mountedFieldsRef.current) {\n const item = mountedFieldsRef.current[path]\n if (item.isMounted && checkFieldStateFor(path, state)) {\n return true\n }\n }\n\n return false\n },\n [checkFieldStateFor]\n )\n const hasFieldError = useCallback(\n (path: Path) => {\n for (const p in mountedFieldsRef.current) {\n const item = mountedFieldsRef.current[path]\n if (\n item.isMounted &&\n p === path &&\n checkFieldStateFor(path, 'error')\n ) {\n return true\n }\n }\n\n return false\n },\n [checkFieldStateFor]\n )\n const hasErrors = useCallback(() => {\n return hasFieldState('error')\n }, [hasFieldState])\n\n /**\n * Sets the error state for a specific path\n */\n const setFieldError: ContextState['setFieldError'] = useCallback(\n (path, error) => {\n fieldErrorRef.current[path] = error\n },\n []\n )\n\n /**\n * Sets the field state for a specific path\n */\n const setFieldState: ContextState['setFieldState'] = useCallback(\n (path, fieldState) => {\n if (fieldState !== fieldStateRef.current[path]) {\n // The state for the target value was changed\n fieldStateRef.current[path] = fieldState\n forceUpdate()\n }\n },\n []\n )\n\n /**\n * Mutate the data set based on the filterData function\n */\n const mutateDataHandler = useCallback(\n (\n data: Data,\n handler: TransformData | FilterData,\n { remove = false, mutate = true, fireHandlerWhen = null } = {}\n ) => {\n const freshData = {} as Data\n const mutateEntry = (path: Path, result: boolean | unknown) => {\n if (remove) {\n if (result === false) {\n data = structuredClone(data)\n pointer.remove(data, path)\n }\n } else {\n if (typeof result !== 'undefined') {\n if (mutate) {\n data = structuredClone(data)\n pointer.set(data, path, result)\n } else {\n pointer.set(freshData, path, result)\n }\n }\n }\n }\n\n if (typeof handler === 'function') {\n Object.entries(fieldInternalsRef.current).forEach(\n ([path, { props }]) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const value = pointer.get(data, path)\n const { value: displayValue, type } =\n fieldDisplayValueRef.current[path] || {}\n const internal = {\n error: fieldErrorRef.current?.[path],\n }\n if (fireHandlerWhen?.({ type }) !== false) {\n const result = handler({\n path,\n value,\n displayValue,\n label: props.label,\n data: internalDataRef.current,\n props,\n internal,\n })\n mutateEntry(path, result)\n }\n }\n }\n )\n\n if (!mutate) {\n return freshData\n }\n\n return data\n } else if (handler) {\n const runFilter = ({ path, condition }) => {\n const exists = pointer.has(data, path)\n if (exists) {\n const value = pointer.get(data, path)\n const props = fieldInternalsRef.current[path]?.props\n const internal = { error: fieldErrorRef.current?.[path] }\n const result =\n typeof condition === 'function'\n ? condition({\n value,\n data: internalDataRef.current,\n props,\n internal,\n })\n : condition\n mutateEntry(path, result)\n }\n }\n\n const wildcardPaths = []\n\n Object.entries(handler).forEach(([path, condition]) => {\n if (path.includes('*')) {\n const parts = path.split(/\\/\\*/g)\n const exists = pointer.has(data, parts[0])\n if (exists) {\n const traverse = (\n subData: unknown,\n subPath: string,\n idx: number\n ) => {\n if (idx === parts.length - 1) {\n wildcardPaths.push({ path: subPath, condition })\n return\n }\n const list = pointer.get(subData, subPath)\n if (Array.isArray(list)) {\n list.forEach((_, i) => {\n traverse(\n list[i],\n `${subPath}/${i}${parts[idx + 1]}`,\n idx + 1\n )\n })\n }\n }\n traverse(data, parts[0], 0)\n }\n } else {\n runFilter({ path, condition })\n }\n })\n\n wildcardPaths.forEach(runFilter)\n\n return data\n }\n\n return data\n },\n []\n )\n\n /**\n * Ensure only visible data is returned\n */\n const visibleDataHandler: VisibleDataHandler<Data> = useCallback(\n (data = internalDataRef.current, { keepPaths, removePaths } = {}) => {\n const visibleData = {} as Partial<Data>\n\n for (const path in mountedFieldsRef.current) {\n const item = mountedFieldsRef.current[path]\n if (\n item &&\n item.isVisible !== false &&\n (item.isPreMounted !== false || item.wasStepChange === true) &&\n (removePaths ? !removePaths.includes(path) : true) &&\n pointer.has(data, path)\n ) {\n pointer.set(visibleData, path, pointer.get(data, path))\n }\n }\n\n if (keepPaths) {\n keepPaths.forEach((path) => {\n if (pointer.has(data, path)) {\n pointer.set(visibleData, path, pointer.get(data, path))\n }\n })\n }\n\n return visibleData\n },\n []\n )\n\n /**\n * Filter the data set based on the filterData function\n */\n const filterDataHandler = useCallback(\n (data: Data, filter: FilterData) => {\n if (filter) {\n return mutateDataHandler(data, filter, { remove: true })\n }\n\n return data\n },\n [mutateDataHandler]\n )\n\n const filterData = useCallback(\n (filter: FilterData, data = internalDataRef.current) => {\n return filterDataHandler(data, filter)\n },\n [filterDataHandler]\n )\n\n const fieldDisplayValueRef: ContextState['fieldDisplayValueRef'] =\n useRef({})\n\n const fieldConnectionsRef = useRef<\n Record<Path, Record<string, unknown>>\n >({})\n const setFieldConnection = useCallback(\n (path: Path, connections: Record<string, unknown>) => {\n fieldConnectionsRef.current[path] = connections\n },\n []\n )\n\n const fieldInternalsRef = useRef<FieldInternalsRef>({})\n const setFieldInternals = useCallback(\n (path: Path, props: FieldInternalsRefProps, id: string) => {\n fieldInternalsRef.current[path] = Object.assign(\n fieldInternalsRef.current[path] || {},\n { props, id }\n )\n },\n []\n )\n\n const valueInternalsRef = useRef<ValueInternalsRef>({})\n const setValueInternals = useCallback(\n (path: Path, props: ValueProps) => {\n valueInternalsRef.current[path] = Object.assign(\n valueInternalsRef.current[path] || {},\n { props }\n )\n },\n []\n )\n\n const hasFieldWithAsyncValidator = useCallback(() => {\n for (const path in fieldInternalsRef.current) {\n if (mountedFieldsRef.current[path]?.isMounted) {\n const props = fieldInternalsRef.current[path]?.props\n if (\n isAsync(props?.onChangeValidator) ||\n isAsync(props?.onBlurValidator)\n ) {\n return true\n }\n }\n }\n\n return false\n }, [])\n\n // - Shared state\n const sharedData = useSharedState<Data>(id)\n const sharedAttachments = useSharedState<SharedAttachments<Data>>(\n createReferenceKey(id, 'attachments')\n )\n const sharedDataContext = useSharedState<ContextState>(\n createReferenceKey(id, 'data-context')\n )\n\n const setSharedData = sharedData.set\n const extendSharedData = sharedData.extend\n const extendAttachment = sharedAttachments.extend\n const rerenderUseDataHook = sharedAttachments.data?.rerenderUseDataHook\n\n const cacheRef = useRef({\n data,\n schema,\n shared: sharedData.data,\n hasUsedInitialData: false,\n })\n\n const internalData = useMemo(() => {\n // NB: \"sharedData.data\" is only available on a rerender.\n // Update the shared state, if initialData is given and no shared state is available.\n // We do almost the same later in a useLayoutEffect, but we need to do it here as well, so we set the data as early as possible.\n if (id && initialData && !sharedData.data) {\n sharedData.update(initialData)\n }\n\n // Merge both internal data and the shared state, if it both where given\n if (\n id &&\n initialData &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data &&\n internalDataRef.current === initialData &&\n typeof internalDataRef.current === 'object'\n ) {\n return {\n ...internalDataRef.current,\n ...(sharedData.data || {}),\n }\n }\n\n // Use shared state if no initial and initial data, and the shared state exists\n if (\n id &&\n !initialData &&\n !internalDataRef.current &&\n sharedData.data &&\n cacheRef.current.shared === sharedData.data\n ) {\n return sharedData.data\n }\n\n // Merge the internal data with the shared state, if the shared was updated and not the same as internal data\n if (\n id &&\n sharedData.data &&\n cacheRef.current.shared !== sharedData.data &&\n sharedData.data !== internalDataRef.current &&\n typeof internalDataRef.current === 'object'\n ) {\n cacheRef.current.shared = sharedData.data\n\n if (isEmptyDataRef.current) {\n return (\n Array.isArray(internalDataRef.current) ? [] : clearedData\n ) as Data\n }\n\n return {\n ...internalDataRef.current,\n ...(sharedData.data || {}),\n }\n }\n\n // When external data has changed, update the internal data\n if (data !== cacheRef.current.data) {\n cacheRef.current.data = data\n return data\n }\n\n return internalDataRef.current\n }, [id, initialData, sharedData, data])\n\n internalDataRef.current =\n props.path && pointer.has(internalData, props.path)\n ? pointer.get(internalData, props.path)\n : internalData\n\n const clearData = useCallback(() => {\n isEmptyDataRef.current = true\n internalDataRef.current = ((typeof emptyData === 'function'\n ? emptyData(internalDataRef.current)\n : emptyData) ??\n (Array.isArray(internalDataRef.current) ? [] : clearedData)) as Data\n\n if (id) {\n setSharedData(internalDataRef.current)\n }\n\n forceUpdate()\n onClear?.()\n\n requestAnimationFrame?.(() => {\n isEmptyDataRef.current = false\n }) // Delay so the field validation error message are not shown\n }, [emptyData, id, onClear, setSharedData])\n\n useMemo(() => {\n executeAjvValidator()\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [internalDataRef.current]) // run validation when internal data has changed\n\n const storeInSession = useMemo(() => {\n return debounce(\n () => {\n window.sessionStorage?.setItem(\n sessionStorageId,\n JSON.stringify(internalDataRef.current)\n )\n },\n process.env.NODE_ENV === 'test' ? 1 : 800\n )\n }, [sessionStorageId])\n\n const setData = useCallback(\n (newData: Data, preventUpdate = false) => {\n // - Mutate the data context\n if (transformIn) {\n newData = mutateDataHandler(newData, transformIn)\n }\n\n internalDataRef.current = newData\n\n if (id) {\n // Will ensure that Form.getData() gets the correct data\n extendSharedData(newData, { preventSyncOfSameInstance: true })\n if (filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n\n if (sessionStorageId && typeof window !== 'undefined') {\n storeInSession()\n }\n\n if (!preventUpdate) {\n forceUpdate() // Will rerender the whole form initially\n }\n },\n [\n extendSharedData,\n filterSubmitData,\n id,\n mutateDataHandler,\n rerenderUseDataHook,\n sessionStorageId,\n storeInSession,\n transformIn,\n ]\n )\n\n /**\n * Update the data set\n */\n const updateDataValue: ContextState['updateDataValue'] = useCallback(\n (path, value, { preventUpdate } = {}) => {\n if (!path) {\n return\n }\n\n const givenData = (\n path === '/'\n ? // When setting the root of the data, the whole data set should be the new value\n value\n : // For sub paths, use the existing data set (or empty array/object), but modify it below (since pointer.set is not immutable)\n internalDataRef.current ??\n (path.match(isArrayJsonPointer) ? [] : {})\n ) as Data\n\n let newData: Data = null\n try {\n // Update the data even if it contains errors. Submit/SubmitRequest will be called accordingly\n newData = structuredClone(givenData)\n } catch (e) {\n newData = givenData\n }\n\n if (path !== '/') {\n pointer.set(newData, path, value)\n }\n\n setData(newData, preventUpdate)\n },\n [setData]\n )\n\n /**\n * Update the data set on user interaction (unvalidated)\n */\n const handlePathChangeUnvalidated: ContextState['handlePathChange'] =\n useCallback(\n async (path, value) => {\n if (!path) {\n return null\n }\n\n updateDataValue(path, value)\n\n if (isAsync(onPathChange)) {\n await onPathChange?.(path, value)\n } else {\n onPathChange?.(path, value)\n }\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onPathChange' && itm.path === path) {\n const { callback } = itm\n if (isAsync(callback)) {\n await callback({ value })\n } else {\n callback({ value })\n }\n }\n }\n },\n [onPathChange, updateDataValue]\n )\n\n /**\n * Update the data set on user interaction\n */\n const handlePathChange: ContextState['handlePathChange'] = useCallback(\n async (path, value = '_undefined_') => {\n if (!path) {\n return null\n }\n\n if (value !== '_undefined_') {\n handlePathChangeUnvalidated(path, value)\n }\n\n showAllErrorsRef.current = false\n\n validateData()\n\n const data = internalDataRef.current as Data\n const options = { filterData }\n const transformedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n for (const cb of changeHandlerStackRef.current) {\n if (isAsync(onChange)) {\n await cb(transformedData, options)\n } else {\n cb(transformedData, options)\n }\n }\n\n if (isAsync(onChange)) {\n return await onChange(transformedData, options)\n }\n\n return onChange?.(transformedData, options)\n },\n [\n filterData,\n handlePathChangeUnvalidated,\n mutateDataHandler,\n onChange,\n transformOut,\n validateData,\n ]\n )\n\n const changeHandlerStackRef = useRef<Array<OnChange<Data>>>([])\n const addOnChangeHandler = useCallback((callback: OnChange<Data>) => {\n const exists = changeHandlerStackRef.current.some((cb) => {\n return callback === cb\n })\n if (!exists) {\n changeHandlerStackRef.current.push(callback)\n }\n }, [])\n\n // - Mounted fields\n const setMountedFieldState = useCallback(\n (path: Path, state: MountState) => {\n if (!mountedFieldsRef.current[path]) {\n mountedFieldsRef.current[path] = { ...state }\n } else {\n Object.assign(mountedFieldsRef.current[path], state)\n }\n\n for (const itm of fieldEventListenersRef.current) {\n if (itm.type === 'onMount' && itm.path === path) {\n const { callback } = itm\n callback()\n }\n }\n },\n []\n )\n\n // - Features\n const scrollToTop = useCallback(() => {\n if (typeof window !== 'undefined') {\n window?.scrollTo?.({ top: 0, behavior: 'smooth' })\n }\n }, [])\n\n /**\n * Shared logic dedicated to submit the whole form\n */\n const handleSubmitCall = useCallback<ContextState['handleSubmitCall']>(\n async (args) => {\n const {\n onSubmit,\n enableAsyncBehavior,\n skipFieldValidation,\n skipErrorCheck,\n } = args\n\n setSubmitState({ error: undefined, customStatus: undefined })\n\n const asyncBehaviorIsEnabled =\n (skipErrorCheck\n ? true\n : // Don't enable async behavior if we have errors, but when we have a pending state\n !hasErrors() || hasFieldState('pending')) &&\n (enableAsyncBehavior || hasFieldWithAsyncValidator())\n\n if (asyncBehaviorIsEnabled) {\n setFormState('pending')\n }\n\n // Just call the submit listeners \"once\", and not on the retry/recall\n if (!skipFieldValidation) {\n for (const item of fieldEventListenersRef.current) {\n const { path, type, callback } = item\n if (\n type === 'onSubmit' &&\n mountedFieldsRef.current[path]?.isMounted\n ) {\n // Call all submit listener callbacks (e.g. to validate fields)\n if (asyncBehaviorIsEnabled) {\n await callback()\n } else {\n callback()\n }\n }\n }\n }\n\n let result: EventStateObject\n\n if (\n !(skipErrorCheck ? false : hasErrors()) &&\n !hasFieldState('pending') &&\n (skipFieldValidation ? true : !hasFieldState('error'))\n ) {\n let submitResult: OnSubmitReturn\n try {\n if (isolate) {\n submitResult = await onCommit?.(internalDataRef.current, {\n clearData,\n })\n } else {\n submitResult = await onSubmit()\n }\n\n if (submitResult instanceof Error) {\n throw submitResult\n }\n } catch (error) {\n submitResult = { error }\n }\n\n result = submitResult as EventStateObject\n\n if (asyncBehaviorIsEnabled) {\n if (result?.error) {\n setFormState('abort')\n } else if (keepPending.current !== true) {\n setFormState('complete')\n }\n }\n\n // Force the state to be set by a custom status\n if (result?.['status']) {\n setFormState(result?.['status'])\n }\n\n if (\n result?.error ||\n result?.warning ||\n result?.info ||\n result?.customStatus\n ) {\n setSubmitState(result)\n }\n } else {\n if (asyncBehaviorIsEnabled) {\n window.requestAnimationFrame(() => {\n setFormState(undefined)\n })\n\n if (!skipFieldValidation) {\n // Add a event listener to continue the submit after the pending state is resolved\n onSubmitContinueRef.current = () => {\n window.requestAnimationFrame(() => {\n // Do not call the validators again,\n // because we already did it in the first call\n // If they are async, we wait for them to finish anyway\n handleSubmitCall({ ...args, skipFieldValidation: true })\n })\n }\n }\n }\n\n onSubmitRequest?.()\n\n setShowAllErrors(true)\n }\n\n return result\n },\n [\n clearData,\n hasErrors,\n hasFieldState,\n hasFieldWithAsyncValidator,\n isolate,\n onCommit,\n onSubmitRequest,\n setFormState,\n setShowAllErrors,\n setSubmitState,\n ]\n )\n\n const handleSubmitListenersRef = useRef<Array<HandleSubmitCallback>>([])\n const setHandleSubmit: ContextState['setHandleSubmit'] = useCallback(\n (callback, { remove = false } = {}) => {\n const listeners = handleSubmitListenersRef.current\n if (remove) {\n handleSubmitListenersRef.current = listeners.filter(\n (item) => item !== callback\n )\n } else if (!listeners.includes(callback)) {\n listeners.push(callback)\n }\n },\n []\n )\n const handleSubmitListeners = useCallback(() => {\n let stop = false\n const preventSubmit = () => (stop = true)\n handleSubmitListenersRef.current.forEach((cb) => {\n cb({ preventSubmit })\n })\n return stop\n }, [])\n\n const getSubmitData = useCallback(() => {\n // - Mutate the data context\n const data = internalDataRef.current\n const mutatedData = transformOut\n ? mutateDataHandler(data, transformOut)\n : data\n\n // @deprecated – can be removed in v11 (use only mutatedData instead)\n const filteredData = filterSubmitData\n ? filterDataHandler(mutatedData, filterSubmitData)\n : mutatedData\n\n return filteredData\n }, [\n filterDataHandler,\n filterSubmitData,\n mutateDataHandler,\n transformOut,\n ])\n\n const getSubmitParams = useCallback(() => {\n const reduceToVisibleFields: VisibleDataHandler<Data> = (\n data,\n options\n ) => {\n return visibleDataHandler(\n transformOut ? mutateDataHandler(data, transformOut) : data,\n options\n )\n }\n\n const transformData = (data: Data, handler: TransformData) => {\n return mutateDataHandler(data, handler, {\n mutate: false,\n fireHandlerWhen: ({ type }) => type === 'field',\n })\n }\n\n const formElement = formElementRef.current\n const params: OnSubmitParams<Data> = {\n filterData,\n reduceToVisibleFields,\n transformData,\n resetForm: () => {\n formElement?.reset?.()\n\n if (typeof window !== 'undefined') {\n if (sessionStorageId) {\n window.sessionStorage.removeItem(sessionStorageId)\n }\n }\n\n forceUpdate() // in order to fill \"empty fields\" again with their internal states\n },\n clearData,\n }\n\n return params\n }, [\n clearData,\n filterData,\n mutateDataHandler,\n sessionStorageId,\n transformOut,\n visibleDataHandler,\n ])\n\n /**\n * Request to submit the whole form\n */\n const handleSubmit = useCallback<\n ContextState['handleSubmit']\n >(async () => {\n return await handleSubmitCall({\n enableAsyncBehavior: isAsync(onSubmit),\n onSubmit: async () => {\n if (handleSubmitListeners()) {\n return // stop here\n }\n\n const data = getSubmitData()\n const options = getSubmitParams()\n let result = undefined\n\n if (isAsync(onSubmit)) {\n result = await onSubmit(data, options)\n } else {\n result = onSubmit?.(data, options)\n }\n\n const completeResult = await onSubmitComplete?.(data, result)\n if (completeResult) {\n result =\n Object.keys(result).length > 0\n ? { ...result, ...completeResult }\n : completeResult\n }\n\n if (scrollTopOnSubmit) {\n scrollToTop()\n }\n\n return result\n },\n })\n }, [\n getSubmitData,\n getSubmitParams,\n handleSubmitCall,\n handleSubmitListeners,\n onSubmit,\n onSubmitComplete,\n scrollToTop,\n scrollTopOnSubmit,\n ])\n\n // Collect listeners to be called during form submit\n const fieldEventListenersRef = useRef<Array<EventListenerCall>>([])\n const setFieldEventListener = useCallback(\n (\n path: EventListenerCall['path'],\n type: EventListenerCall['type'],\n callback: EventListenerCall['callback']\n ) => {\n fieldEventListenersRef.current =\n fieldEventListenersRef.current.filter(\n ({ path: p, type: t, callback: c }) => {\n return !(p === path && t === type && c === callback)\n }\n )\n fieldEventListenersRef.current.push({ path, type, callback })\n },\n []\n )\n\n // Handle unresolved field states during async submit\n const onSubmitContinueRef = useRef<() => void>(null)\n if (!hasFieldState('pending')) {\n onSubmitContinueRef.current?.()\n onSubmitContinueRef.current = null\n }\n\n // - ajv validator routines\n useEffect(() => {\n if (schema) {\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n }\n\n // Validate the initial data\n validateData()\n }, [schema, validateData])\n useUpdateEffect(() => {\n if (schema && schema !== cacheRef.current.schema) {\n cacheRef.current.schema = schema\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n\n validateData()\n forceUpdate()\n }\n }, [schema, validateData, forceUpdate])\n\n const onTimeout = useCallback(() => {\n setFormState(undefined)\n setSubmitState({\n info: undefined,\n warning: undefined,\n error: undefined,\n customStatus: undefined,\n })\n }, [setFormState, setSubmitState])\n\n useLayoutEffect(() => {\n // Set the shared state, if initialData was given\n if (id) {\n if (initialData && !sharedData.data) {\n extendSharedData(initialData, { preventSyncOfSameInstance: true })\n }\n }\n }, [id, initialData, extendSharedData, sharedData.data])\n\n useLayoutEffect(() => {\n if (id) {\n extendAttachment(\n {\n visibleDataHandler,\n filterDataHandler,\n hasErrors,\n hasFieldError,\n setShowAllErrors,\n setSubmitState,\n clearData,\n setData,\n updateDataValue,\n fieldConnectionsRef,\n internalDataRef,\n },\n { preventSyncOfSameInstance: true }\n )\n if (filterSubmitData) {\n rerenderUseDataHook?.()\n }\n }\n }, [\n clearData,\n extendAttachment,\n filterDataHandler,\n filterSubmitData,\n hasErrors,\n hasFieldError,\n id,\n rerenderUseDataHook,\n setData,\n setShowAllErrors,\n setSubmitState,\n updateDataValue,\n visibleDataHandler,\n ])\n\n const { bufferedFormState: formState } = useFormStatusBuffer({\n formState: formStateRef.current,\n waitFor: hasFieldState('pending'),\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n })\n\n const submitState = submitStateRef.current\n const disabled =\n typeof rest?.['disabled'] === 'boolean'\n ? rest?.['disabled']\n : (formState === 'pending') === true\n ? true\n : undefined\n const contextErrorMessages =\n errorMessages?.[locale ?? sharedLocale] || errorMessages\n\n const contextValue: ContextState = {\n /** Method */\n handlePathChange,\n handlePathChangeUnvalidated,\n handleSubmit,\n setMountedFieldState,\n handleSubmitCall,\n setFormState,\n setSubmitState,\n setShowAllErrors,\n setVisibleError,\n setFieldEventListener,\n setFieldState,\n setFieldError,\n setFieldConnection,\n setFieldInternals,\n setValueInternals,\n hasErrors,\n hasFieldError,\n hasFieldState,\n validateData,\n updateDataValue,\n setData,\n clearData,\n visibleDataHandler,\n filterDataHandler,\n getSubmitData,\n getSubmitParams,\n addOnChangeHandler,\n setHandleSubmit,\n scrollToTop,\n\n /** State handling */\n schema,\n disabled,\n required,\n formState,\n submitState,\n contextErrorMessages,\n hasContext: true,\n errors: errorsRef.current,\n showAllErrors: showAllErrorsRef.current,\n hasVisibleError: Object.keys(hasVisibleErrorRef.current).length > 0,\n addSetShowAllErrorsRef,\n fieldConnectionsRef,\n fieldDisplayValueRef,\n fieldInternalsRef,\n valueInternalsRef,\n mountedFieldsRef,\n snapshotsRef,\n existingFieldsRef,\n formElementRef,\n isEmptyDataRef,\n fieldErrorRef,\n ajvInstance: ajvRef.current,\n\n /** Additional */\n id,\n data: internalDataRef.current,\n internalDataRef,\n props,\n ...rest,\n }\n\n if (id) {\n sharedDataContext.set(contextValue)\n }\n\n return (\n <DataContext.Provider value={contextValue}>\n <FieldPropsProvider\n FormStatus={\n globalStatusId\n ? {\n globalStatus: {\n id: globalStatusId,\n title: translation.errorSummaryTitle,\n show: Boolean(showAllErrorsRef.current),\n },\n }\n : undefined\n }\n formElement={disabled ? { disabled: true } : undefined}\n locale={locale ? locale : undefined}\n translations={translations ? translations : undefined}\n >\n {children}\n </FieldPropsProvider>\n </DataContext.Provider>\n )\n}\n\ntype FormStatusBufferProps = {\n minimumAsyncBehaviorTime?: Props<JsonObject>['minimumAsyncBehaviorTime']\n asyncSubmitTimeout?: Props<JsonObject>['asyncSubmitTimeout']\n formState: ContextState['formState']\n waitFor: boolean\n onTimeout: () => void\n}\n\nfunction useFormStatusBuffer(props: FormStatusBufferProps) {\n const {\n formState,\n waitFor,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n onTimeout,\n } = props || {}\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const stateRef = useRef<SubmitState>()\n const nowRef = useRef<number | null>(null)\n const timeoutRef = useRef<{\n complete?: NodeJS.Timeout | null\n reset?: NodeJS.Timeout | null\n timeout?: NodeJS.Timeout | null\n }>({})\n\n const setState = useCallback(\n (state: SubmitState) => {\n stateRef.current = state\n forceUpdate()\n },\n [forceUpdate]\n )\n\n const clear = useCallback(() => {\n for (const key in timeoutRef.current) {\n clearTimeout(timeoutRef.current[key])\n }\n }, [])\n\n const hadCompleteRef = useRef(false)\n const activeElementRef = useRef<HTMLElement>(null)\n\n useEffect(() => {\n // This offset is used to calculate the delay,\n // which ensures that the form state is displayed for at least minimumAsyncBehaviorTime duration.\n // If the form was 'pending' for less than minimumAsyncBehaviorTime,\n // the delay will be the remaining time to reach minimumAsyncBehaviorTime.\n const isTest = process.env.NODE_ENV === 'test'\n const minimum =\n minimumAsyncBehaviorTime ??\n // make it testable\n (isTest ? 1 : 1000)\n\n if (stateRef.current && formState === 'error') {\n clear()\n setState(undefined)\n return\n }\n\n if (formState === 'abort') {\n clear()\n setState('abort')\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n }, minimum)\n return\n }\n\n if (formState === 'complete') {\n hadCompleteRef.current = true\n }\n\n if (formState === 'pending' && stateRef.current !== 'pending') {\n activeElementRef.current = document.activeElement as HTMLElement\n clear()\n nowRef.current = Date.now()\n hadCompleteRef.current = false\n setState('pending')\n } else if (stateRef.current === 'pending') {\n const offset = Math.max(Date.now() - nowRef.current)\n const delay = isTest ? minimum : Math.max(minimum - offset, 0)\n\n if (!waitFor) {\n timeoutRef.current.complete = setTimeout(() => {\n if (hadCompleteRef.current) {\n setState('complete')\n }\n window.requestAnimationFrame(() => {\n activeElementRef.current?.focus?.()\n })\n }, delay)\n\n timeoutRef.current.reset = setTimeout(() => {\n nowRef.current = 0\n setState(undefined)\n clear()\n }, delay + minimum)\n }\n }\n\n if (stateRef.current === 'pending') {\n timeoutRef.current.timeout = setTimeout(() => {\n clear()\n setState(undefined)\n onTimeout?.()\n }, asyncSubmitTimeout ?? 30000)\n }\n\n return clear\n }, [\n clear,\n minimumAsyncBehaviorTime,\n formState,\n setState,\n waitFor,\n asyncSubmitTimeout,\n onTimeout,\n ])\n\n return { bufferedFormState: stateRef.current }\n}\n\nexport const clearedData = Object.freeze({})\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Props as StringFieldProps } from '../String';
2
+ export type Props = StringFieldProps;
3
+ declare function Address(props: Props): import("react/jsx-runtime").JSX.Element;
4
+ declare namespace Address {
5
+ var _supportsSpacingProps: boolean;
6
+ var Postal: (props: StringFieldProps) => import("react/jsx-runtime").JSX.Element;
7
+ var Street: (props: StringFieldProps) => import("react/jsx-runtime").JSX.Element;
8
+ }
9
+ export default Address;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _String = _interopRequireDefault(require("../String"));
9
+ var _useTranslation = _interopRequireDefault(require("../../hooks/useTranslation"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
17
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
18
+ function Address(props) {
19
+ const stringFieldProps = _objectSpread({
20
+ autoComplete: 'street-address',
21
+ inputMode: 'text',
22
+ trim: true
23
+ }, props);
24
+ return _react.default.createElement(_String.default, stringFieldProps);
25
+ }
26
+ Address._supportsSpacingProps = true;
27
+ Address.Postal = function PostalAddress(props) {
28
+ const {
29
+ label,
30
+ errorRequired,
31
+ errorPattern
32
+ } = (0, _useTranslation.default)().PostalAddress;
33
+ const errorMessages = (0, _react.useMemo)(() => _objectSpread({
34
+ 'Field.errorRequired': errorRequired,
35
+ 'Field.errorPattern': errorPattern
36
+ }, props.errorMessages), [errorPattern, errorRequired, props.errorMessages]);
37
+ const postalAddressProps = _objectSpread({
38
+ label,
39
+ errorMessages
40
+ }, props);
41
+ return _react.default.createElement(Address, postalAddressProps);
42
+ };
43
+ Address.Postal['_supportsSpacingProps'] = true;
44
+ Address.Street = function StreetAddress(props) {
45
+ const {
46
+ label,
47
+ errorRequired,
48
+ errorPattern
49
+ } = (0, _useTranslation.default)().StreetAddress;
50
+ const errorMessages = (0, _react.useMemo)(() => _objectSpread({
51
+ 'Field.errorRequired': errorRequired,
52
+ 'Field.errorPattern': errorPattern
53
+ }, props.errorMessages), [errorPattern, errorRequired, props.errorMessages]);
54
+ const streetAddressProps = _objectSpread({
55
+ label,
56
+ errorMessages
57
+ }, props);
58
+ return _react.default.createElement(Address, streetAddressProps);
59
+ };
60
+ Address.Street['_supportsSpacingProps'] = true;
61
+ var _default = Address;
62
+ exports.default = _default;
63
+ //# sourceMappingURL=Address.js.map