@dnb/eufemia 10.19.0 → 10.20.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 (759) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/cjs/components/accordion/AccordionContent.d.ts +1 -1
  3. package/cjs/components/accordion/AccordionContent.js.map +1 -1
  4. package/cjs/components/accordion/style/dnb-accordion.css +0 -3
  5. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  6. package/cjs/components/accordion/style/dnb-accordion.scss +0 -5
  7. package/cjs/components/breadcrumb/Breadcrumb.js +11 -2
  8. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  9. package/cjs/components/breadcrumb/BreadcrumbItem.js +11 -8
  10. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  11. package/cjs/components/card/Card.d.ts +6 -4
  12. package/cjs/components/card/Card.js +11 -15
  13. package/cjs/components/card/Card.js.map +1 -1
  14. package/cjs/components/card/style/dnb-card.css +29 -0
  15. package/cjs/components/card/style/dnb-card.min.css +1 -1
  16. package/cjs/components/card/style/dnb-card.scss +41 -0
  17. package/cjs/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  18. package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  19. package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  20. package/cjs/components/date-picker/DatePickerProvider.js +10 -10
  21. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  22. package/cjs/components/flex/Container.js +1 -1
  23. package/cjs/components/flex/Container.js.map +1 -1
  24. package/cjs/components/flex/Item.js +8 -13
  25. package/cjs/components/flex/Item.js.map +1 -1
  26. package/cjs/components/flex/style/dnb-flex.css +3 -0
  27. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  28. package/cjs/components/flex/style/flex-container.scss +3 -0
  29. package/cjs/components/flex/utils.d.ts +35 -7
  30. package/cjs/components/flex/utils.js +65 -33
  31. package/cjs/components/flex/utils.js.map +1 -1
  32. package/cjs/components/form-status/FormStatus.d.ts +5 -1
  33. package/cjs/components/form-status/FormStatus.js +38 -44
  34. package/cjs/components/form-status/FormStatus.js.map +1 -1
  35. package/cjs/components/form-status/style/dnb-form-status.css +0 -18
  36. package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
  37. package/cjs/components/form-status/style/dnb-form-status.scss +0 -45
  38. package/cjs/components/global-status/GlobalStatus.js +52 -138
  39. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  40. package/cjs/components/global-status/style/dnb-global-status.css +6 -16
  41. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  42. package/cjs/components/global-status/style/dnb-global-status.scss +11 -23
  43. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  44. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  45. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  46. package/cjs/components/height-animation/HeightAnimation.d.ts +12 -4
  47. package/cjs/components/height-animation/HeightAnimation.js +31 -14
  48. package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
  49. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  50. package/cjs/components/height-animation/HeightAnimationInstance.js +186 -158
  51. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  52. package/cjs/components/height-animation/style/dnb-height-animation.css +16 -2
  53. package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
  54. package/cjs/components/height-animation/style/dnb-height-animation.scss +18 -2
  55. package/cjs/components/height-animation/useHeightAnimation.d.ts +6 -1
  56. package/cjs/components/height-animation/useHeightAnimation.js +125 -92
  57. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  58. package/cjs/components/number-format/NumberFormat.d.ts +7 -12
  59. package/cjs/components/step-indicator/StepIndicatorItem.js +3 -21
  60. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  61. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +2 -16
  62. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  63. package/cjs/components/step-indicator/style/dnb-step-indicator.css +0 -5
  64. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  65. package/cjs/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  66. package/cjs/components/table/TableAccordionContent.js +51 -23
  67. package/cjs/components/table/TableAccordionContent.js.map +1 -1
  68. package/cjs/components/table/style/dnb-table.css +6 -3
  69. package/cjs/components/table/style/dnb-table.min.css +1 -1
  70. package/cjs/components/table/style/table-accordion.scss +6 -3
  71. package/cjs/components/tabs/Tabs.js +2 -1
  72. package/cjs/components/tabs/Tabs.js.map +1 -1
  73. package/cjs/components/tabs/TabsContentWrapper.d.ts +1 -0
  74. package/cjs/components/tabs/TabsContentWrapper.js +8 -6
  75. package/cjs/components/tabs/TabsContentWrapper.js.map +1 -1
  76. package/cjs/components/upload/Upload.js +15 -18
  77. package/cjs/components/upload/Upload.js.map +1 -1
  78. package/cjs/components/upload/UploadFileInput.js +3 -1
  79. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  80. package/cjs/components/upload/UploadFileList.js +1 -1
  81. package/cjs/components/upload/UploadFileList.js.map +1 -1
  82. package/cjs/components/upload/UploadStatus.js +6 -2
  83. package/cjs/components/upload/UploadStatus.js.map +1 -1
  84. package/cjs/components/upload/useUpload.js +5 -6
  85. package/cjs/components/upload/useUpload.js.map +1 -1
  86. package/cjs/elements/lib.d.ts +6 -0
  87. package/cjs/elements/typography/H1.d.ts +1 -0
  88. package/cjs/elements/typography/H1.js +1 -1
  89. package/cjs/elements/typography/H1.js.map +1 -1
  90. package/cjs/elements/typography/H2.d.ts +1 -0
  91. package/cjs/elements/typography/H2.js +1 -1
  92. package/cjs/elements/typography/H2.js.map +1 -1
  93. package/cjs/elements/typography/H3.d.ts +1 -0
  94. package/cjs/elements/typography/H3.js +1 -1
  95. package/cjs/elements/typography/H3.js.map +1 -1
  96. package/cjs/elements/typography/H4.d.ts +1 -0
  97. package/cjs/elements/typography/H4.js +1 -1
  98. package/cjs/elements/typography/H4.js.map +1 -1
  99. package/cjs/elements/typography/H5.d.ts +1 -0
  100. package/cjs/elements/typography/H5.js +1 -1
  101. package/cjs/elements/typography/H5.js.map +1 -1
  102. package/cjs/elements/typography/H6.d.ts +1 -0
  103. package/cjs/elements/typography/H6.js +1 -1
  104. package/cjs/elements/typography/H6.js.map +1 -1
  105. package/cjs/extensions/forms/DataContext/Context.d.ts +18 -5
  106. package/cjs/extensions/forms/DataContext/Context.js +9 -0
  107. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  108. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  109. package/cjs/extensions/forms/DataContext/Provider/Provider.js +127 -57
  110. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  111. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  112. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  113. package/cjs/extensions/forms/Field/Date/Date.js +4 -3
  114. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  115. package/cjs/extensions/forms/Field/Email/Email.js +3 -2
  116. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  117. package/cjs/extensions/forms/Field/Expiry/Expiry.js +4 -3
  118. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  119. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  120. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  121. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -4
  122. package/cjs/extensions/forms/Field/Number/Number.js +14 -15
  123. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  124. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  125. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  126. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  127. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  128. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  129. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  130. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  131. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  132. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  133. package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
  134. package/cjs/extensions/forms/Field/String/String.js +5 -3
  135. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  136. package/cjs/extensions/forms/Field/Toggle/Toggle.js +5 -2
  137. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  138. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +2 -4
  139. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  140. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
  141. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  142. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
  143. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  144. package/cjs/extensions/forms/Form/Handler/Handler.js +7 -1
  145. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  146. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  147. package/cjs/extensions/forms/Form/Visibility/Visibility.js +54 -39
  148. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  149. package/cjs/extensions/forms/Form/data-context/getData.d.ts +8 -0
  150. package/cjs/extensions/forms/Form/data-context/getData.js +21 -0
  151. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -0
  152. package/cjs/extensions/forms/Form/data-context/setData.d.ts +2 -0
  153. package/cjs/extensions/forms/Form/data-context/setData.js +12 -0
  154. package/cjs/extensions/forms/Form/data-context/setData.js.map +1 -0
  155. package/cjs/extensions/forms/Form/data-context/useData.d.ts +22 -0
  156. package/cjs/extensions/forms/Form/data-context/useData.js +65 -0
  157. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -0
  158. package/cjs/extensions/forms/Form/data-context/useError.d.ts +5 -0
  159. package/cjs/extensions/forms/Form/data-context/useError.js +18 -0
  160. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -0
  161. package/cjs/extensions/forms/Form/index.d.ts +4 -1
  162. package/cjs/extensions/forms/Form/index.js +22 -1
  163. package/cjs/extensions/forms/Form/index.js.map +1 -1
  164. package/cjs/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  165. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  166. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  167. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +30 -21
  168. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  169. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  170. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  171. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  172. package/cjs/extensions/forms/Value/Currency/Currency.js +2 -3
  173. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  174. package/cjs/extensions/forms/Value/Number/Number.d.ts +6 -10
  175. package/cjs/extensions/forms/Value/Number/Number.js +25 -27
  176. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  177. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  178. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  179. package/cjs/extensions/forms/hooks/index.d.ts +1 -0
  180. package/cjs/extensions/forms/hooks/index.js +7 -0
  181. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  182. package/cjs/extensions/forms/hooks/useDataValue.d.ts +6 -1
  183. package/cjs/extensions/forms/hooks/useDataValue.js +76 -21
  184. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  185. package/cjs/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  186. package/cjs/extensions/forms/hooks/useErrorMessage.js +23 -0
  187. package/cjs/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  188. package/cjs/extensions/forms/index.d.ts +1 -0
  189. package/cjs/extensions/forms/index.js +9 -1
  190. package/cjs/extensions/forms/index.js.map +1 -1
  191. package/cjs/extensions/forms/style/dnb-forms.css +34 -5
  192. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  193. package/cjs/extensions/forms/types.d.ts +22 -7
  194. package/cjs/extensions/forms/types.js.map +1 -1
  195. package/cjs/extensions/forms/utils/ajv.d.ts +47 -6
  196. package/cjs/extensions/forms/utils/ajv.js +29 -13
  197. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  198. package/cjs/extensions/forms/utils/index.d.ts +0 -1
  199. package/cjs/extensions/forms/utils/index.js +0 -12
  200. package/cjs/extensions/forms/utils/index.js.map +1 -1
  201. package/cjs/shared/Eufemia.d.ts +1 -1
  202. package/cjs/shared/Eufemia.js +2 -2
  203. package/cjs/shared/Eufemia.js.map +1 -1
  204. package/cjs/shared/component-helper.js +0 -3
  205. package/cjs/shared/component-helper.js.map +1 -1
  206. package/cjs/shared/helpers/useSharedState.d.ts +28 -7
  207. package/cjs/shared/helpers/useSharedState.js +62 -43
  208. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  209. package/cjs/shared/locales/en-GB.d.ts +1 -0
  210. package/cjs/shared/locales/en-GB.js +1 -0
  211. package/cjs/shared/locales/en-GB.js.map +1 -1
  212. package/cjs/shared/locales/en-US.d.ts +1 -0
  213. package/cjs/shared/locales/index.d.ts +2 -0
  214. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  215. package/cjs/shared/locales/nb-NO.js +1 -0
  216. package/cjs/shared/locales/nb-NO.js.map +1 -1
  217. package/cjs/style/core/utilities.scss +1 -1
  218. package/cjs/style/dnb-ui-components.css +94 -52
  219. package/cjs/style/dnb-ui-components.min.css +3 -3
  220. package/cjs/style/dnb-ui-extensions.css +34 -5
  221. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  222. package/cjs/style/dnb-ui-forms.css +34 -5
  223. package/cjs/style/dnb-ui-forms.min.css +1 -1
  224. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
  225. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  226. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
  227. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  228. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
  229. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  230. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
  231. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  232. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
  233. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  234. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
  235. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  236. package/cjs/style/themes/theme-ui/ui-theme-components.css +129 -79
  237. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  238. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +34 -5
  239. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  240. package/cjs/style/themes/theme-ui/ui-theme-forms.css +34 -5
  241. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  242. package/components/accordion/AccordionContent.d.ts +1 -1
  243. package/components/accordion/AccordionContent.js.map +1 -1
  244. package/components/accordion/style/dnb-accordion.css +0 -3
  245. package/components/accordion/style/dnb-accordion.min.css +1 -1
  246. package/components/accordion/style/dnb-accordion.scss +0 -5
  247. package/components/breadcrumb/Breadcrumb.js +11 -2
  248. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  249. package/components/breadcrumb/BreadcrumbItem.js +11 -8
  250. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  251. package/components/card/Card.d.ts +6 -4
  252. package/components/card/Card.js +11 -15
  253. package/components/card/Card.js.map +1 -1
  254. package/components/card/style/dnb-card.css +29 -0
  255. package/components/card/style/dnb-card.min.css +1 -1
  256. package/components/card/style/dnb-card.scss +41 -0
  257. package/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  258. package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  259. package/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  260. package/components/date-picker/DatePickerProvider.js +10 -10
  261. package/components/date-picker/DatePickerProvider.js.map +1 -1
  262. package/components/flex/Container.js +1 -1
  263. package/components/flex/Container.js.map +1 -1
  264. package/components/flex/Item.js +8 -11
  265. package/components/flex/Item.js.map +1 -1
  266. package/components/flex/style/dnb-flex.css +3 -0
  267. package/components/flex/style/dnb-flex.min.css +1 -1
  268. package/components/flex/style/flex-container.scss +3 -0
  269. package/components/flex/utils.d.ts +35 -7
  270. package/components/flex/utils.js +56 -24
  271. package/components/flex/utils.js.map +1 -1
  272. package/components/form-status/FormStatus.d.ts +5 -1
  273. package/components/form-status/FormStatus.js +38 -44
  274. package/components/form-status/FormStatus.js.map +1 -1
  275. package/components/form-status/style/dnb-form-status.css +0 -18
  276. package/components/form-status/style/dnb-form-status.min.css +1 -1
  277. package/components/form-status/style/dnb-form-status.scss +0 -45
  278. package/components/global-status/GlobalStatus.js +53 -139
  279. package/components/global-status/GlobalStatus.js.map +1 -1
  280. package/components/global-status/style/dnb-global-status.css +6 -16
  281. package/components/global-status/style/dnb-global-status.min.css +1 -1
  282. package/components/global-status/style/dnb-global-status.scss +11 -23
  283. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  284. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  285. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  286. package/components/height-animation/HeightAnimation.d.ts +12 -4
  287. package/components/height-animation/HeightAnimation.js +27 -14
  288. package/components/height-animation/HeightAnimation.js.map +1 -1
  289. package/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  290. package/components/height-animation/HeightAnimationInstance.js +186 -158
  291. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  292. package/components/height-animation/style/dnb-height-animation.css +16 -2
  293. package/components/height-animation/style/dnb-height-animation.min.css +1 -1
  294. package/components/height-animation/style/dnb-height-animation.scss +18 -2
  295. package/components/height-animation/useHeightAnimation.d.ts +6 -1
  296. package/components/height-animation/useHeightAnimation.js +124 -92
  297. package/components/height-animation/useHeightAnimation.js.map +1 -1
  298. package/components/number-format/NumberFormat.d.ts +7 -12
  299. package/components/step-indicator/StepIndicatorItem.js +4 -22
  300. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  301. package/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
  302. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  303. package/components/step-indicator/style/dnb-step-indicator.css +0 -5
  304. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  305. package/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  306. package/components/table/TableAccordionContent.js +48 -23
  307. package/components/table/TableAccordionContent.js.map +1 -1
  308. package/components/table/style/dnb-table.css +6 -3
  309. package/components/table/style/dnb-table.min.css +1 -1
  310. package/components/table/style/table-accordion.scss +6 -3
  311. package/components/tabs/Tabs.js +2 -1
  312. package/components/tabs/Tabs.js.map +1 -1
  313. package/components/tabs/TabsContentWrapper.d.ts +1 -0
  314. package/components/tabs/TabsContentWrapper.js +8 -6
  315. package/components/tabs/TabsContentWrapper.js.map +1 -1
  316. package/components/upload/Upload.js +13 -18
  317. package/components/upload/Upload.js.map +1 -1
  318. package/components/upload/UploadFileInput.js +3 -1
  319. package/components/upload/UploadFileInput.js.map +1 -1
  320. package/components/upload/UploadFileList.js +1 -1
  321. package/components/upload/UploadFileList.js.map +1 -1
  322. package/components/upload/UploadStatus.js +6 -2
  323. package/components/upload/UploadStatus.js.map +1 -1
  324. package/components/upload/useUpload.js +5 -7
  325. package/components/upload/useUpload.js.map +1 -1
  326. package/elements/lib.d.ts +6 -0
  327. package/elements/typography/H1.d.ts +1 -0
  328. package/elements/typography/H1.js +1 -1
  329. package/elements/typography/H1.js.map +1 -1
  330. package/elements/typography/H2.d.ts +1 -0
  331. package/elements/typography/H2.js +1 -1
  332. package/elements/typography/H2.js.map +1 -1
  333. package/elements/typography/H3.d.ts +1 -0
  334. package/elements/typography/H3.js +1 -1
  335. package/elements/typography/H3.js.map +1 -1
  336. package/elements/typography/H4.d.ts +1 -0
  337. package/elements/typography/H4.js +1 -1
  338. package/elements/typography/H4.js.map +1 -1
  339. package/elements/typography/H5.d.ts +1 -0
  340. package/elements/typography/H5.js +1 -1
  341. package/elements/typography/H5.js.map +1 -1
  342. package/elements/typography/H6.d.ts +1 -0
  343. package/elements/typography/H6.js +1 -1
  344. package/elements/typography/H6.js.map +1 -1
  345. package/es/components/accordion/AccordionContent.d.ts +1 -1
  346. package/es/components/accordion/AccordionContent.js.map +1 -1
  347. package/es/components/accordion/style/dnb-accordion.css +0 -3
  348. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  349. package/es/components/accordion/style/dnb-accordion.scss +0 -5
  350. package/es/components/breadcrumb/Breadcrumb.js +11 -2
  351. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  352. package/es/components/breadcrumb/BreadcrumbItem.js +11 -8
  353. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  354. package/es/components/card/Card.d.ts +6 -4
  355. package/es/components/card/Card.js +11 -15
  356. package/es/components/card/Card.js.map +1 -1
  357. package/es/components/card/style/dnb-card.css +29 -0
  358. package/es/components/card/style/dnb-card.min.css +1 -1
  359. package/es/components/card/style/dnb-card.scss +41 -0
  360. package/es/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  361. package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  362. package/es/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  363. package/es/components/date-picker/DatePickerProvider.js +10 -10
  364. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  365. package/es/components/flex/Container.js +1 -1
  366. package/es/components/flex/Container.js.map +1 -1
  367. package/es/components/flex/Item.js +8 -11
  368. package/es/components/flex/Item.js.map +1 -1
  369. package/es/components/flex/style/dnb-flex.css +3 -0
  370. package/es/components/flex/style/dnb-flex.min.css +1 -1
  371. package/es/components/flex/style/flex-container.scss +3 -0
  372. package/es/components/flex/utils.d.ts +35 -7
  373. package/es/components/flex/utils.js +55 -24
  374. package/es/components/flex/utils.js.map +1 -1
  375. package/es/components/form-status/FormStatus.d.ts +5 -1
  376. package/es/components/form-status/FormStatus.js +38 -44
  377. package/es/components/form-status/FormStatus.js.map +1 -1
  378. package/es/components/form-status/style/dnb-form-status.css +0 -18
  379. package/es/components/form-status/style/dnb-form-status.min.css +1 -1
  380. package/es/components/form-status/style/dnb-form-status.scss +0 -45
  381. package/es/components/global-status/GlobalStatus.js +51 -133
  382. package/es/components/global-status/GlobalStatus.js.map +1 -1
  383. package/es/components/global-status/style/dnb-global-status.css +6 -16
  384. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  385. package/es/components/global-status/style/dnb-global-status.scss +11 -23
  386. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  387. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  388. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  389. package/es/components/height-animation/HeightAnimation.d.ts +12 -4
  390. package/es/components/height-animation/HeightAnimation.js +27 -14
  391. package/es/components/height-animation/HeightAnimation.js.map +1 -1
  392. package/es/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  393. package/es/components/height-animation/HeightAnimationInstance.js +188 -155
  394. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  395. package/es/components/height-animation/style/dnb-height-animation.css +16 -2
  396. package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
  397. package/es/components/height-animation/style/dnb-height-animation.scss +18 -2
  398. package/es/components/height-animation/useHeightAnimation.d.ts +6 -1
  399. package/es/components/height-animation/useHeightAnimation.js +124 -92
  400. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  401. package/es/components/number-format/NumberFormat.d.ts +7 -12
  402. package/es/components/step-indicator/StepIndicatorItem.js +4 -22
  403. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  404. package/es/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
  405. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  406. package/es/components/step-indicator/style/dnb-step-indicator.css +0 -5
  407. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  408. package/es/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  409. package/es/components/table/TableAccordionContent.js +47 -23
  410. package/es/components/table/TableAccordionContent.js.map +1 -1
  411. package/es/components/table/style/dnb-table.css +6 -3
  412. package/es/components/table/style/dnb-table.min.css +1 -1
  413. package/es/components/table/style/table-accordion.scss +6 -3
  414. package/es/components/tabs/Tabs.js +2 -1
  415. package/es/components/tabs/Tabs.js.map +1 -1
  416. package/es/components/tabs/TabsContentWrapper.d.ts +1 -0
  417. package/es/components/tabs/TabsContentWrapper.js +8 -6
  418. package/es/components/tabs/TabsContentWrapper.js.map +1 -1
  419. package/es/components/upload/Upload.js +13 -18
  420. package/es/components/upload/Upload.js.map +1 -1
  421. package/es/components/upload/UploadFileInput.js +3 -1
  422. package/es/components/upload/UploadFileInput.js.map +1 -1
  423. package/es/components/upload/UploadFileList.js +1 -1
  424. package/es/components/upload/UploadFileList.js.map +1 -1
  425. package/es/components/upload/UploadStatus.js +6 -2
  426. package/es/components/upload/UploadStatus.js.map +1 -1
  427. package/es/components/upload/useUpload.js +5 -7
  428. package/es/components/upload/useUpload.js.map +1 -1
  429. package/es/elements/lib.d.ts +6 -0
  430. package/es/elements/typography/H1.d.ts +1 -0
  431. package/es/elements/typography/H1.js +1 -1
  432. package/es/elements/typography/H1.js.map +1 -1
  433. package/es/elements/typography/H2.d.ts +1 -0
  434. package/es/elements/typography/H2.js +1 -1
  435. package/es/elements/typography/H2.js.map +1 -1
  436. package/es/elements/typography/H3.d.ts +1 -0
  437. package/es/elements/typography/H3.js +1 -1
  438. package/es/elements/typography/H3.js.map +1 -1
  439. package/es/elements/typography/H4.d.ts +1 -0
  440. package/es/elements/typography/H4.js +1 -1
  441. package/es/elements/typography/H4.js.map +1 -1
  442. package/es/elements/typography/H5.d.ts +1 -0
  443. package/es/elements/typography/H5.js +1 -1
  444. package/es/elements/typography/H5.js.map +1 -1
  445. package/es/elements/typography/H6.d.ts +1 -0
  446. package/es/elements/typography/H6.js +1 -1
  447. package/es/elements/typography/H6.js.map +1 -1
  448. package/es/extensions/forms/DataContext/Context.d.ts +18 -5
  449. package/es/extensions/forms/DataContext/Context.js +9 -0
  450. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  451. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  452. package/es/extensions/forms/DataContext/Provider/Provider.js +126 -58
  453. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  454. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  455. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  456. package/es/extensions/forms/Field/Date/Date.js +4 -3
  457. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  458. package/es/extensions/forms/Field/Email/Email.js +4 -3
  459. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  460. package/es/extensions/forms/Field/Expiry/Expiry.js +5 -4
  461. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  462. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  463. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  464. package/es/extensions/forms/Field/Number/Number.d.ts +2 -4
  465. package/es/extensions/forms/Field/Number/Number.js +14 -15
  466. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  467. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  468. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  469. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  470. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  471. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  472. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  473. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  474. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  475. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  476. package/es/extensions/forms/Field/String/String.d.ts +2 -2
  477. package/es/extensions/forms/Field/String/String.js +5 -3
  478. package/es/extensions/forms/Field/String/String.js.map +1 -1
  479. package/es/extensions/forms/Field/Toggle/Toggle.js +5 -2
  480. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  481. package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -4
  482. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  483. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
  484. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  485. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
  486. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  487. package/es/extensions/forms/Form/Handler/Handler.js +7 -1
  488. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  489. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  490. package/es/extensions/forms/Form/Visibility/Visibility.js +55 -40
  491. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  492. package/es/extensions/forms/Form/data-context/getData.d.ts +8 -0
  493. package/es/extensions/forms/Form/data-context/getData.js +15 -0
  494. package/es/extensions/forms/Form/data-context/getData.js.map +1 -0
  495. package/es/extensions/forms/Form/data-context/setData.d.ts +2 -0
  496. package/es/extensions/forms/Form/data-context/setData.js +6 -0
  497. package/es/extensions/forms/Form/data-context/setData.js.map +1 -0
  498. package/es/extensions/forms/Form/data-context/useData.d.ts +22 -0
  499. package/es/extensions/forms/Form/data-context/useData.js +58 -0
  500. package/es/extensions/forms/Form/data-context/useData.js.map +1 -0
  501. package/es/extensions/forms/Form/data-context/useError.d.ts +5 -0
  502. package/es/extensions/forms/Form/data-context/useError.js +13 -0
  503. package/es/extensions/forms/Form/data-context/useError.js.map +1 -0
  504. package/es/extensions/forms/Form/index.d.ts +4 -1
  505. package/es/extensions/forms/Form/index.js +4 -1
  506. package/es/extensions/forms/Form/index.js.map +1 -1
  507. package/es/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  508. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  509. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  510. package/es/extensions/forms/StepsLayout/StepsLayout.js +31 -22
  511. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  512. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  513. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  514. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  515. package/es/extensions/forms/Value/Currency/Currency.js +2 -3
  516. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  517. package/es/extensions/forms/Value/Number/Number.d.ts +6 -10
  518. package/es/extensions/forms/Value/Number/Number.js +22 -27
  519. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  520. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  521. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  522. package/es/extensions/forms/hooks/index.d.ts +1 -0
  523. package/es/extensions/forms/hooks/index.js +1 -0
  524. package/es/extensions/forms/hooks/index.js.map +1 -1
  525. package/es/extensions/forms/hooks/useDataValue.d.ts +6 -1
  526. package/es/extensions/forms/hooks/useDataValue.js +72 -19
  527. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  528. package/es/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  529. package/es/extensions/forms/hooks/useErrorMessage.js +15 -0
  530. package/es/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  531. package/es/extensions/forms/index.d.ts +1 -0
  532. package/es/extensions/forms/index.js +1 -0
  533. package/es/extensions/forms/index.js.map +1 -1
  534. package/es/extensions/forms/style/dnb-forms.css +34 -5
  535. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  536. package/es/extensions/forms/types.d.ts +22 -7
  537. package/es/extensions/forms/types.js.map +1 -1
  538. package/es/extensions/forms/utils/ajv.d.ts +47 -6
  539. package/es/extensions/forms/utils/ajv.js +23 -15
  540. package/es/extensions/forms/utils/ajv.js.map +1 -1
  541. package/es/extensions/forms/utils/index.d.ts +0 -1
  542. package/es/extensions/forms/utils/index.js +0 -1
  543. package/es/extensions/forms/utils/index.js.map +1 -1
  544. package/es/shared/Eufemia.d.ts +1 -1
  545. package/es/shared/Eufemia.js +2 -2
  546. package/es/shared/Eufemia.js.map +1 -1
  547. package/es/shared/component-helper.js +0 -3
  548. package/es/shared/component-helper.js.map +1 -1
  549. package/es/shared/helpers/useSharedState.d.ts +28 -7
  550. package/es/shared/helpers/useSharedState.js +62 -43
  551. package/es/shared/helpers/useSharedState.js.map +1 -1
  552. package/es/shared/locales/en-GB.d.ts +1 -0
  553. package/es/shared/locales/en-GB.js +1 -0
  554. package/es/shared/locales/en-GB.js.map +1 -1
  555. package/es/shared/locales/en-US.d.ts +1 -0
  556. package/es/shared/locales/index.d.ts +2 -0
  557. package/es/shared/locales/nb-NO.d.ts +1 -0
  558. package/es/shared/locales/nb-NO.js +1 -0
  559. package/es/shared/locales/nb-NO.js.map +1 -1
  560. package/es/style/core/utilities.scss +1 -1
  561. package/es/style/dnb-ui-components.css +94 -52
  562. package/es/style/dnb-ui-components.min.css +3 -3
  563. package/es/style/dnb-ui-extensions.css +34 -5
  564. package/es/style/dnb-ui-extensions.min.css +1 -1
  565. package/es/style/dnb-ui-forms.css +34 -5
  566. package/es/style/dnb-ui-forms.min.css +1 -1
  567. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
  568. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  569. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
  570. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  571. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
  572. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  573. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
  574. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  575. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
  576. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  577. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
  578. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  579. package/es/style/themes/theme-ui/ui-theme-components.css +129 -79
  580. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  581. package/es/style/themes/theme-ui/ui-theme-extensions.css +34 -5
  582. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  583. package/es/style/themes/theme-ui/ui-theme-forms.css +34 -5
  584. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  585. package/esm/dnb-ui-basis.min.mjs +1 -1
  586. package/esm/dnb-ui-components.min.mjs +1 -1
  587. package/esm/dnb-ui-elements.min.mjs +1 -1
  588. package/esm/dnb-ui-extensions.min.mjs +3 -3
  589. package/esm/dnb-ui-lib.min.mjs +1 -1
  590. package/extensions/forms/DataContext/Context.d.ts +18 -5
  591. package/extensions/forms/DataContext/Context.js +9 -0
  592. package/extensions/forms/DataContext/Context.js.map +1 -1
  593. package/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  594. package/extensions/forms/DataContext/Provider/Provider.js +128 -58
  595. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  596. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -2
  597. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  598. package/extensions/forms/Field/Date/Date.js +4 -3
  599. package/extensions/forms/Field/Date/Date.js.map +1 -1
  600. package/extensions/forms/Field/Email/Email.js +4 -3
  601. package/extensions/forms/Field/Email/Email.js.map +1 -1
  602. package/extensions/forms/Field/Expiry/Expiry.js +5 -4
  603. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  604. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  605. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  606. package/extensions/forms/Field/Number/Number.d.ts +2 -4
  607. package/extensions/forms/Field/Number/Number.js +14 -15
  608. package/extensions/forms/Field/Number/Number.js.map +1 -1
  609. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -2
  610. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  611. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +3 -2
  612. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  613. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  614. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  615. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  616. package/extensions/forms/Field/SelectCountry/SelectCountry.js +3 -2
  617. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  618. package/extensions/forms/Field/String/String.d.ts +2 -2
  619. package/extensions/forms/Field/String/String.js +5 -3
  620. package/extensions/forms/Field/String/String.js.map +1 -1
  621. package/extensions/forms/Field/Toggle/Toggle.js +5 -2
  622. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  623. package/extensions/forms/FieldBlock/FieldBlock.js +2 -4
  624. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  625. package/extensions/forms/FieldBlock/style/dnb-field-block.css +19 -5
  626. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  627. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +25 -1
  628. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  629. package/extensions/forms/Form/Handler/Handler.js +7 -1
  630. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  631. package/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  632. package/extensions/forms/Form/Visibility/Visibility.js +53 -39
  633. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  634. package/extensions/forms/Form/data-context/getData.d.ts +8 -0
  635. package/extensions/forms/Form/data-context/getData.js +15 -0
  636. package/extensions/forms/Form/data-context/getData.js.map +1 -0
  637. package/extensions/forms/Form/data-context/setData.d.ts +2 -0
  638. package/extensions/forms/Form/data-context/setData.js +6 -0
  639. package/extensions/forms/Form/data-context/setData.js.map +1 -0
  640. package/extensions/forms/Form/data-context/useData.d.ts +22 -0
  641. package/extensions/forms/Form/data-context/useData.js +59 -0
  642. package/extensions/forms/Form/data-context/useData.js.map +1 -0
  643. package/extensions/forms/Form/data-context/useError.d.ts +5 -0
  644. package/extensions/forms/Form/data-context/useError.js +13 -0
  645. package/extensions/forms/Form/data-context/useError.js.map +1 -0
  646. package/extensions/forms/Form/index.d.ts +4 -1
  647. package/extensions/forms/Form/index.js +4 -1
  648. package/extensions/forms/Form/index.js.map +1 -1
  649. package/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  650. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  651. package/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  652. package/extensions/forms/StepsLayout/StepsLayout.js +31 -22
  653. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  654. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  655. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  656. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  657. package/extensions/forms/Value/Currency/Currency.js +2 -3
  658. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  659. package/extensions/forms/Value/Number/Number.d.ts +6 -10
  660. package/extensions/forms/Value/Number/Number.js +22 -27
  661. package/extensions/forms/Value/Number/Number.js.map +1 -1
  662. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  663. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  664. package/extensions/forms/hooks/index.d.ts +1 -0
  665. package/extensions/forms/hooks/index.js +1 -0
  666. package/extensions/forms/hooks/index.js.map +1 -1
  667. package/extensions/forms/hooks/useDataValue.d.ts +6 -1
  668. package/extensions/forms/hooks/useDataValue.js +74 -19
  669. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  670. package/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  671. package/extensions/forms/hooks/useErrorMessage.js +15 -0
  672. package/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  673. package/extensions/forms/index.d.ts +1 -0
  674. package/extensions/forms/index.js +1 -0
  675. package/extensions/forms/index.js.map +1 -1
  676. package/extensions/forms/style/dnb-forms.css +34 -5
  677. package/extensions/forms/style/dnb-forms.min.css +1 -1
  678. package/extensions/forms/types.d.ts +22 -7
  679. package/extensions/forms/types.js.map +1 -1
  680. package/extensions/forms/utils/ajv.d.ts +47 -6
  681. package/extensions/forms/utils/ajv.js +23 -15
  682. package/extensions/forms/utils/ajv.js.map +1 -1
  683. package/extensions/forms/utils/index.d.ts +0 -1
  684. package/extensions/forms/utils/index.js +0 -1
  685. package/extensions/forms/utils/index.js.map +1 -1
  686. package/package.json +1 -1
  687. package/shared/Eufemia.d.ts +1 -1
  688. package/shared/Eufemia.js +2 -2
  689. package/shared/Eufemia.js.map +1 -1
  690. package/shared/component-helper.js +0 -3
  691. package/shared/component-helper.js.map +1 -1
  692. package/shared/helpers/useSharedState.d.ts +28 -7
  693. package/shared/helpers/useSharedState.js +62 -43
  694. package/shared/helpers/useSharedState.js.map +1 -1
  695. package/shared/locales/en-GB.d.ts +1 -0
  696. package/shared/locales/en-GB.js +1 -0
  697. package/shared/locales/en-GB.js.map +1 -1
  698. package/shared/locales/en-US.d.ts +1 -0
  699. package/shared/locales/index.d.ts +2 -0
  700. package/shared/locales/nb-NO.d.ts +1 -0
  701. package/shared/locales/nb-NO.js +1 -0
  702. package/shared/locales/nb-NO.js.map +1 -1
  703. package/style/core/utilities.scss +1 -1
  704. package/style/dnb-ui-components.css +94 -52
  705. package/style/dnb-ui-components.min.css +3 -3
  706. package/style/dnb-ui-extensions.css +34 -5
  707. package/style/dnb-ui-extensions.min.css +1 -1
  708. package/style/dnb-ui-forms.css +34 -5
  709. package/style/dnb-ui-forms.min.css +1 -1
  710. package/style/themes/theme-eiendom/eiendom-theme-components.css +129 -79
  711. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  712. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +34 -5
  713. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  714. package/style/themes/theme-eiendom/eiendom-theme-forms.css +34 -5
  715. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  716. package/style/themes/theme-sbanken/sbanken-theme-components.css +129 -76
  717. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  718. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +34 -5
  719. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  720. package/style/themes/theme-sbanken/sbanken-theme-forms.css +34 -5
  721. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  722. package/style/themes/theme-ui/ui-theme-components.css +129 -79
  723. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  724. package/style/themes/theme-ui/ui-theme-extensions.css +34 -5
  725. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  726. package/style/themes/theme-ui/ui-theme-forms.css +34 -5
  727. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  728. package/umd/dnb-ui-basis.min.js +1 -1
  729. package/umd/dnb-ui-components.min.js +1 -1
  730. package/umd/dnb-ui-elements.min.js +1 -1
  731. package/umd/dnb-ui-extensions.min.js +3 -3
  732. package/umd/dnb-ui-lib.min.js +1 -1
  733. package/cjs/components/global-status/AnimationHelper.d.ts +0 -12
  734. package/cjs/components/global-status/AnimationHelper.js +0 -109
  735. package/cjs/components/global-status/AnimationHelper.js.map +0 -1
  736. package/cjs/extensions/forms/Form/hooks/useData.d.ts +0 -10
  737. package/cjs/extensions/forms/Form/hooks/useData.js +0 -39
  738. package/cjs/extensions/forms/Form/hooks/useData.js.map +0 -1
  739. package/cjs/extensions/forms/utils/numbers.d.ts +0 -17
  740. package/cjs/extensions/forms/utils/numbers.js +0 -42
  741. package/cjs/extensions/forms/utils/numbers.js.map +0 -1
  742. package/components/global-status/AnimationHelper.d.ts +0 -12
  743. package/components/global-status/AnimationHelper.js +0 -100
  744. package/components/global-status/AnimationHelper.js.map +0 -1
  745. package/es/components/global-status/AnimationHelper.d.ts +0 -12
  746. package/es/components/global-status/AnimationHelper.js +0 -100
  747. package/es/components/global-status/AnimationHelper.js.map +0 -1
  748. package/es/extensions/forms/Form/hooks/useData.d.ts +0 -10
  749. package/es/extensions/forms/Form/hooks/useData.js +0 -32
  750. package/es/extensions/forms/Form/hooks/useData.js.map +0 -1
  751. package/es/extensions/forms/utils/numbers.d.ts +0 -17
  752. package/es/extensions/forms/utils/numbers.js +0 -35
  753. package/es/extensions/forms/utils/numbers.js.map +0 -1
  754. package/extensions/forms/Form/hooks/useData.d.ts +0 -10
  755. package/extensions/forms/Form/hooks/useData.js +0 -33
  756. package/extensions/forms/Form/hooks/useData.js.map +0 -1
  757. package/extensions/forms/utils/numbers.d.ts +0 -17
  758. package/extensions/forms/utils/numbers.js +0 -35
  759. package/extensions/forms/utils/numbers.js.map +0 -1
@@ -1,33 +1,71 @@
1
1
  import React from 'react';
2
2
  import { JsonObject } from 'json-pointer';
3
- import { JSONSchema } from '../../types';
4
- export type Path = string;
3
+ import { Ajv } from '../../utils/ajv';
4
+ import { CustomErrorMessagesWithPaths, AllJSONSchemaVersions, FieldProps } from '../../types';
5
+ import { Path } from '../Context';
5
6
  export type UpdateDataValue = (path: Path, data: unknown) => void;
7
+ export type FilterDataHandler<Data> = (data: Data, filter: FilterData) => Partial<Data>;
8
+ export type FilterData = (path: Path, value: any, props: FieldProps) => boolean | undefined;
9
+ export type OnSubmitReturn = {
10
+ /** Will remove browser-side stored autocomplete data */
11
+ resetForm: () => void;
12
+ /** Will empty the whole internal data set of the form */
13
+ clearData: () => void;
14
+ };
15
+ export type OnSubmit<Data = JsonObject> = (data: Partial<Data>, { resetForm, clearData }: OnSubmitReturn) => void;
6
16
  export interface Props<Data extends JsonObject> {
7
- /** Unique ID to communicate with the hook Form.useData */
17
+ /**
18
+ * Unique ID to communicate with the hook Form.useData
19
+ */
8
20
  id?: string;
9
- /** Default source data, only used if no other source is available, and not leading to updates if changed after mount */
21
+ /**
22
+ * Default source data, only used if no other source is available, and not leading to updates if changed after mount
23
+ */
10
24
  defaultData?: Partial<Data>;
11
- /** Dynamic source data used as both initial data, and updates internal data if changed after mount */
25
+ /**
26
+ * Source data, will be used instead of defaultData, and leading to updates if changed after mount
27
+ */
12
28
  data?: Partial<Data>;
13
- /** JSON Schema for validating the data, like during input or after attempting submit */
14
- schema?: JSONSchema;
15
- /** Change handler for the whole data set */
29
+ /**
30
+ * JSON Schema to validate the data against.
31
+ */
32
+ schema?: AllJSONSchemaVersions;
33
+ /**
34
+ * Custom Ajv instance, if you want to use your own
35
+ */
36
+ ajvInstance?: Ajv;
37
+ /**
38
+ * Custom error messages for the whole data set
39
+ */
40
+ errorMessages?: CustomErrorMessagesWithPaths;
41
+ /**
42
+ * Filter the internal data context based on your criteria: `(path, value, props) => !props?.disabled`. It will iterate on each data entry.
43
+ */
44
+ filterData?: FilterData;
45
+ /**
46
+ * Change handler for the whole data set
47
+ */
16
48
  onChange?: (data: Data) => void;
17
- /** Change handler for each value */
49
+ /**
50
+ * Change handler for each value
51
+ */
18
52
  onPathChange?: (path: Path, value: any) => void;
19
- /** Submit called, data was valid (if validation available) */
20
- onSubmit?: (data: Data, { resetForm, clearData, }: {
21
- /** Will remove browser-side stored autocomplete data */
22
- resetForm: () => void;
23
- /** Will empty the whole internal data set of the form */
24
- clearData: () => void;
25
- }) => void;
26
- /** Submit was requested, but data was invalid */
53
+ /**
54
+ * Submit called, data was valid (if validation available)
55
+ */
56
+ onSubmit?: OnSubmit;
57
+ /**
58
+ * Submit was requested, but data was invalid
59
+ */
27
60
  onSubmitRequest?: () => void;
61
+ /**
62
+ * Scroll to top on submit
63
+ */
28
64
  scrollTopOnSubmit?: boolean;
29
- /** Key for caching the data in session storage */
65
+ /**
66
+ * Key for caching the data in session storage
67
+ */
30
68
  sessionStorageId?: string;
31
69
  children: React.ReactNode;
32
70
  }
33
- export default function Provider<Data extends JsonObject>({ id, defaultData, data, schema, onChange, onPathChange, onSubmit, onSubmitRequest, scrollTopOnSubmit, sessionStorageId, children, ...rest }: Props<Data>): import("react/jsx-runtime").JSX.Element;
71
+ export default function Provider<Data extends JsonObject>({ id, defaultData, data, schema, onChange, onPathChange, onSubmit, onSubmitRequest, scrollTopOnSubmit, sessionStorageId, ajvInstance, filterData, errorMessages: contextErrorMessages, children, ...rest }: Props<Data>): import("react/jsx-runtime").JSX.Element;
@@ -7,13 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = Provider;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _jsonPointer = _interopRequireDefault(require("json-pointer"));
10
- var _ajv = _interopRequireWildcard(require("../../utils/ajv"));
10
+ var _ajv = require("../../utils/ajv");
11
11
  var _useMountEffect = _interopRequireDefault(require("../../hooks/useMountEffect"));
12
12
  var _useUpdateEffect = _interopRequireDefault(require("../../hooks/useUpdateEffect"));
13
13
  var _useSharedState = require("../../../../shared/helpers/useSharedState");
14
14
  var _Context = _interopRequireDefault(require("../Context"));
15
15
  var _structuredClone = _interopRequireDefault(require("@ungap/structured-clone"));
16
- const _excluded = ["id", "defaultData", "data", "schema", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "scrollTopOnSubmit", "sessionStorageId", "children"];
16
+ const _excluded = ["id", "defaultData", "data", "schema", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "scrollTopOnSubmit", "sessionStorageId", "ajvInstance", "filterData", "errorMessages", "children"];
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
  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); }
19
19
  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; }
@@ -33,6 +33,7 @@ function removeListPath(paths, path) {
33
33
  }
34
34
  const isArrayJsonPointer = /^\/\d+(\/|$)/;
35
35
  function Provider(_ref) {
36
+ var _sharedAtachments$dat;
36
37
  let {
37
38
  id,
38
39
  defaultData,
@@ -44,6 +45,9 @@ function Provider(_ref) {
44
45
  onSubmitRequest,
45
46
  scrollTopOnSubmit,
46
47
  sessionStorageId,
48
+ ajvInstance,
49
+ filterData,
50
+ errorMessages: contextErrorMessages,
47
51
  children
48
52
  } = _ref,
49
53
  rest = _objectWithoutProperties(_ref, _excluded);
@@ -51,11 +55,13 @@ function Provider(_ref) {
51
55
  if (data !== undefined && sessionStorageId !== undefined) {
52
56
  console.error('Providing both data and sessionStorageId could lead to competing data sources. To provide default data to use only before anything is changed in the interface, use defaultData.');
53
57
  }
58
+ const ajvRef = (0, _react.useRef)((0, _ajv.makeAjvInstance)(ajvInstance));
54
59
  const mountedFieldPathsRef = (0, _react.useRef)([]);
55
60
  const errorsRef = (0, _react.useRef)();
56
61
  const showAllErrorsRef = (0, _react.useRef)(false);
57
62
  const setShowAllErrors = (0, _react.useCallback)(showAllErrors => {
58
63
  showAllErrorsRef.current = showAllErrors;
64
+ forceUpdate();
59
65
  }, []);
60
66
  const valuesWithErrorRef = (0, _react.useRef)([]);
61
67
  const initialData = (0, _react.useMemo)(() => {
@@ -69,52 +75,86 @@ function Provider(_ref) {
69
75
  return data !== null && data !== void 0 ? data : defaultData;
70
76
  }, []);
71
77
  const internalDataRef = (0, _react.useRef)(initialData);
72
- const dataCacheRef = (0, _react.useRef)(data);
73
- const ajvSchemaValidatorRef = (0, _react.useRef)();
74
- const sharedState = (0, _useSharedState.useSharedState)(id);
75
- (0, _react.useMemo)(() => {
76
- if (id && sharedState !== null && sharedState !== void 0 && sharedState.data && !initialData) {
77
- internalDataRef.current = sharedState.data;
78
- }
79
- }, [id, initialData, sharedState.data]);
80
- useLayoutEffect(() => {
81
- if (id && !(sharedState !== null && sharedState !== void 0 && sharedState.data) && initialData) {
82
- var _sharedState$set;
83
- (_sharedState$set = sharedState.set) === null || _sharedState$set === void 0 ? void 0 : _sharedState$set.call(sharedState, initialData);
84
- }
85
- if (id && sharedState !== null && sharedState !== void 0 && sharedState.data && (sharedState === null || sharedState === void 0 ? void 0 : sharedState.data) !== internalDataRef.current) {
86
- internalDataRef.current = sharedState === null || sharedState === void 0 ? void 0 : sharedState.data;
87
- }
88
- }, [id, initialData, sharedState, sharedState === null || sharedState === void 0 ? void 0 : sharedState.data]);
78
+ const cacheRef = (0, _react.useRef)({
79
+ data,
80
+ schema
81
+ });
82
+ const ajvValidatorRef = (0, _react.useRef)();
89
83
  const validateData = (0, _react.useCallback)(() => {
90
- if (!ajvSchemaValidatorRef.current) {
84
+ var _ajvValidatorRef$curr;
85
+ if (!ajvValidatorRef.current) {
91
86
  return;
92
87
  }
93
- if (!ajvSchemaValidatorRef.current(internalDataRef.current)) {
94
- const errors = (0, _ajv.ajvErrorsToFormErrors)(ajvSchemaValidatorRef.current.errors);
95
- errorsRef.current = errors;
88
+ if (!((_ajvValidatorRef$curr = ajvValidatorRef.current) !== null && _ajvValidatorRef$curr !== void 0 && _ajvValidatorRef$curr.call(ajvValidatorRef, internalDataRef.current))) {
89
+ errorsRef.current = (0, _ajv.ajvErrorsToFormErrors)(ajvValidatorRef.current.errors);
96
90
  } else {
97
91
  errorsRef.current = undefined;
98
92
  }
99
93
  forceUpdate();
100
94
  }, []);
101
- (0, _react.useEffect)(() => {
102
- if (!schema) {
103
- return;
104
- }
105
- ajvSchemaValidatorRef.current = _ajv.default.compile(schema);
106
- validateData();
107
- }, [schema, validateData]);
108
- const hasErrors = (0, _react.useCallback)(() => Boolean(mountedFieldPathsRef.current.find(mountedFieldPath => {
95
+ const hasFieldError = (0, _react.useCallback)(path => {
109
96
  var _errorsRef$current;
110
- return ((_errorsRef$current = errorsRef.current) === null || _errorsRef$current === void 0 ? void 0 : _errorsRef$current[mountedFieldPath]) !== undefined || valuesWithErrorRef.current.includes(mountedFieldPath);
111
- })), []);
112
- const setValueWithError = (0, _react.useCallback)((identifier, withError) => {
113
- if (withError !== valuesWithErrorRef.current.includes(identifier)) {
114
- valuesWithErrorRef.current = withError ? addListPath(valuesWithErrorRef.current, identifier) : removeListPath(valuesWithErrorRef.current, identifier);
97
+ return Boolean(((_errorsRef$current = errorsRef.current) === null || _errorsRef$current === void 0 ? void 0 : _errorsRef$current[path]) !== undefined || valuesWithErrorRef.current.includes(path));
98
+ }, []);
99
+ const hasErrors = (0, _react.useCallback)(() => Boolean(mountedFieldPathsRef.current.find(mountedFieldPath => hasFieldError(mountedFieldPath))), [hasFieldError]);
100
+ const setValueWithError = (0, _react.useCallback)((path, withError) => {
101
+ if (withError !== valuesWithErrorRef.current.includes(path)) {
102
+ valuesWithErrorRef.current = withError ? addListPath(valuesWithErrorRef.current, path) : removeListPath(valuesWithErrorRef.current, path);
115
103
  forceUpdate();
116
104
  }
117
105
  }, []);
106
+ const filterDataHandler = (0, _react.useCallback)(function (data) {
107
+ let filter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : filterData;
108
+ if (filter) {
109
+ const filtered = _objectSpread({}, data);
110
+ Object.entries(fieldPropsRef.current).forEach(_ref2 => {
111
+ let [path, props] = _ref2;
112
+ const exists = _jsonPointer.default.has(data, path);
113
+ const result = filter(path, exists ? _jsonPointer.default.get(data, path) : undefined, props);
114
+ if (result === false && exists) {
115
+ _jsonPointer.default.remove(filtered, path);
116
+ }
117
+ });
118
+ return filtered;
119
+ }
120
+ return data;
121
+ }, [filterData]);
122
+ const fieldPropsRef = (0, _react.useRef)({});
123
+ const setProps = (0, _react.useCallback)((path, props) => {
124
+ fieldPropsRef.current[path] = props;
125
+ }, []);
126
+ const sharedData = (0, _useSharedState.useSharedState)(id);
127
+ const sharedAtachments = (0, _useSharedState.useSharedState)(id + '-attachments');
128
+ const updateSharedData = sharedData.update;
129
+ const extendSharedData = sharedData.extend;
130
+ const extendAtachment = sharedAtachments.extend;
131
+ const rerenderUseDataHook = (_sharedAtachments$dat = sharedAtachments.data) === null || _sharedAtachments$dat === void 0 ? void 0 : _sharedAtachments$dat.rerenderUseDataHook;
132
+ (0, _react.useMemo)(() => {
133
+ if (id && sharedData.data && !initialData) {
134
+ internalDataRef.current = sharedData.data;
135
+ }
136
+ }, [id, initialData, sharedData.data]);
137
+ useLayoutEffect(() => {
138
+ if (id && !sharedData.data && initialData) {
139
+ extendSharedData === null || extendSharedData === void 0 ? void 0 : extendSharedData(initialData);
140
+ }
141
+ }, [id, initialData, extendSharedData, sharedData.data]);
142
+ useLayoutEffect(() => {
143
+ if (id && sharedData.data && sharedData.data !== internalDataRef.current) {
144
+ internalDataRef.current = sharedData.data;
145
+ }
146
+ }, [id, sharedData.data]);
147
+ useLayoutEffect(() => {
148
+ if (id) {
149
+ extendAtachment === null || extendAtachment === void 0 ? void 0 : extendAtachment({
150
+ filterDataHandler,
151
+ hasErrors
152
+ });
153
+ if (filterData) {
154
+ rerenderUseDataHook === null || rerenderUseDataHook === void 0 ? void 0 : rerenderUseDataHook();
155
+ }
156
+ }
157
+ }, [filterData, filterDataHandler, rerenderUseDataHook, hasErrors, id, extendAtachment]);
118
158
  const updateDataValue = (0, _react.useCallback)((path, value) => {
119
159
  var _internalDataRef$curr;
120
160
  if (!path) {
@@ -131,8 +171,10 @@ function Provider(_ref) {
131
171
  _jsonPointer.default.set(newData, path, value);
132
172
  }
133
173
  if (id) {
134
- var _sharedState$update;
135
- (_sharedState$update = sharedState.update) === null || _sharedState$update === void 0 ? void 0 : _sharedState$update.call(sharedState, newData);
174
+ updateSharedData === null || updateSharedData === void 0 ? void 0 : updateSharedData(newData);
175
+ if (filterData) {
176
+ rerenderUseDataHook === null || rerenderUseDataHook === void 0 ? void 0 : rerenderUseDataHook();
177
+ }
136
178
  }
137
179
  internalDataRef.current = newData;
138
180
  if (sessionStorageId && typeof window !== 'undefined') {
@@ -141,7 +183,7 @@ function Provider(_ref) {
141
183
  }
142
184
  forceUpdate();
143
185
  return newData;
144
- }, [id, sessionStorageId, sharedState]);
186
+ }, [filterData, id, sessionStorageId, rerenderUseDataHook, updateSharedData]);
145
187
  const handlePathChange = (0, _react.useCallback)((path, value) => {
146
188
  if (!path) {
147
189
  return;
@@ -156,7 +198,20 @@ function Provider(_ref) {
156
198
  mountedFieldPathsRef.current = addListPath(mountedFieldPathsRef.current, path);
157
199
  }, []);
158
200
  const handleUnMountField = (0, _react.useCallback)(path => {
201
+ var _fieldPropsRef$curren;
159
202
  mountedFieldPathsRef.current = removeListPath(mountedFieldPathsRef.current, path);
203
+ if ((_fieldPropsRef$curren = fieldPropsRef.current) !== null && _fieldPropsRef$curren !== void 0 && _fieldPropsRef$curren[path]) {
204
+ delete fieldPropsRef.current[path];
205
+ }
206
+ }, []);
207
+ const scrollToTop = (0, _react.useCallback)(() => {
208
+ if (typeof window !== 'undefined') {
209
+ var _window, _window$scrollTo;
210
+ (_window = window) === null || _window === void 0 ? void 0 : (_window$scrollTo = _window.scrollTo) === null || _window$scrollTo === void 0 ? void 0 : _window$scrollTo.call(_window, {
211
+ top: 0,
212
+ behavior: 'smooth'
213
+ });
214
+ }
160
215
  }, []);
161
216
  const handleSubmit = (0, _react.useCallback)(function () {
162
217
  let {
@@ -177,44 +232,54 @@ function Provider(_ref) {
177
232
  internalDataRef.current = {};
178
233
  forceUpdate();
179
234
  };
180
- onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(internalDataRef.current, {
235
+ onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(filterDataHandler(internalDataRef.current), {
181
236
  resetForm,
182
237
  clearData
183
238
  });
184
- if (typeof window !== 'undefined') {
185
- if (scrollTopOnSubmit) {
186
- var _window;
187
- (_window = window) === null || _window === void 0 ? void 0 : _window.scrollTo({
188
- top: 0,
189
- behavior: 'smooth'
190
- });
191
- }
239
+ if (scrollTopOnSubmit) {
240
+ scrollToTop();
192
241
  }
193
242
  } else {
194
- showAllErrorsRef.current = true;
243
+ setShowAllErrors(true);
195
244
  onSubmitRequest === null || onSubmitRequest === void 0 ? void 0 : onSubmitRequest();
196
- forceUpdate();
197
245
  }
198
246
  return internalDataRef.current;
199
- }, [scrollTopOnSubmit, hasErrors, onSubmit, onSubmitRequest, sessionStorageId]);
247
+ }, [hasErrors, onSubmit, filterDataHandler, scrollTopOnSubmit, sessionStorageId, scrollToTop, setShowAllErrors, onSubmitRequest]);
200
248
  (0, _useMountEffect.default)(() => {
249
+ if (schema) {
250
+ var _ajvRef$current;
251
+ ajvValidatorRef.current = (_ajvRef$current = ajvRef.current) === null || _ajvRef$current === void 0 ? void 0 : _ajvRef$current.compile(schema);
252
+ }
201
253
  validateData();
202
254
  });
203
255
  (0, _useUpdateEffect.default)(() => {
204
- if (data !== dataCacheRef.current) {
205
- dataCacheRef.current = data;
256
+ let hadChanges = false;
257
+ if (data !== cacheRef.current.data) {
206
258
  internalDataRef.current = data;
259
+ hadChanges = true;
260
+ cacheRef.current.data = data;
207
261
  }
208
- validateData();
209
- forceUpdate();
210
- }, [data, validateData, forceUpdate]);
262
+ if (schema && schema !== cacheRef.current.schema) {
263
+ var _ajvRef$current2;
264
+ ajvValidatorRef.current = (_ajvRef$current2 = ajvRef.current) === null || _ajvRef$current2 === void 0 ? void 0 : _ajvRef$current2.compile(schema);
265
+ hadChanges = true;
266
+ cacheRef.current.schema = schema;
267
+ }
268
+ if (hadChanges) {
269
+ validateData();
270
+ forceUpdate();
271
+ }
272
+ }, [data, schema, validateData, forceUpdate]);
211
273
  return _react.default.createElement(_Context.default.Provider, {
212
274
  value: _objectSpread(_objectSpread({
275
+ hasContext: true,
213
276
  data: internalDataRef.current
214
277
  }, rest), {}, {
215
278
  handlePathChange,
216
279
  updateDataValue,
280
+ validateData,
217
281
  handleSubmit,
282
+ scrollToTop,
218
283
  errors: errorsRef.current,
219
284
  showAllErrors: showAllErrorsRef.current,
220
285
  setShowAllErrors,
@@ -222,7 +287,12 @@ function Provider(_ref) {
222
287
  handleMountField,
223
288
  handleUnMountField,
224
289
  hasErrors,
225
- setValueWithError
290
+ hasFieldError,
291
+ setValueWithError,
292
+ setProps,
293
+ ajvInstance: ajvRef.current,
294
+ schema,
295
+ contextErrorMessages
226
296
  })
227
297
  }, children);
228
298
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_ajv","_useMountEffect","_useUpdateEffect","_useSharedState","_Context","_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","addListPath","paths","path","includes","concat","removeListPath","thisPath","isArrayJsonPointer","Provider","_ref","id","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","children","rest","forceUpdate","useReducer","console","error","mountedFieldPathsRef","useRef","errorsRef","showAllErrorsRef","setShowAllErrors","useCallback","showAllErrors","current","valuesWithErrorRef","initialData","useMemo","_window$sessionStorag","sessionDataJSON","sessionStorage","getItem","JSON","parse","internalDataRef","dataCacheRef","ajvSchemaValidatorRef","sharedState","useSharedState","_sharedState$set","validateData","errors","ajvErrorsToFormErrors","ajv","compile","hasErrors","Boolean","find","mountedFieldPath","_errorsRef$current","setValueWithError","identifier","withError","updateDataValue","_internalDataRef$curr","givenData","match","newData","structuredClone","e","pointer","_sharedState$update","update","_window$sessionStorag2","setItem","stringify","handlePathChange","handleMountField","handleUnMountField","handleSubmit","formElement","resetForm","_formElement$reset","reset","removeItem","clearData","_window","scrollTo","top","behavior","useMountEffect","useUpdateEffect","createElement","mountedFieldPaths"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/Provider.tsx"],"sourcesContent":["import React, {\n useEffect,\n useRef,\n useMemo,\n useCallback,\n useReducer,\n} from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { ValidateFunction } from 'ajv'\nimport ajv, { ajvErrorsToFormErrors } from '../../utils/ajv'\nimport { FormError, JSONSchema } from '../../types'\nimport useMountEffect from '../../hooks/useMountEffect'\nimport useUpdateEffect from '../../hooks/useUpdateEffect'\nimport { useSharedState } from '../../../../shared/helpers/useSharedState'\nimport Context, { ContextState } 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 Path = string\nexport type UpdateDataValue = (path: Path, data: unknown) => void\n\nexport interface Props<Data extends JsonObject> {\n /** Unique ID to communicate with the hook Form.useData */\n id?: string\n /** Default source data, only used if no other source is available, and not leading to updates if changed after mount */\n defaultData?: Partial<Data>\n /** Dynamic source data used as both initial data, and updates internal data if changed after mount */\n data?: Partial<Data>\n /** JSON Schema for validating the data, like during input or after attempting submit */\n schema?: JSONSchema\n /** Change handler for the whole data set */\n onChange?: (data: Data) => void\n /** Change handler for each value */\n onPathChange?: (path: Path, value: any) => void\n /** Submit called, data was valid (if validation available) */\n onSubmit?: (\n data: Data,\n {\n resetForm,\n clearData,\n }: {\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n }\n ) => void\n /** Submit was requested, but data was invalid */\n onSubmitRequest?: () => void\n scrollTopOnSubmit?: boolean\n /** Key for caching the data in session storage */\n sessionStorageId?: string\n children: React.ReactNode\n}\n\ntype PathList = string[]\n\nfunction addListPath(paths: PathList, path: Path): PathList {\n return paths.includes(path) ? paths : paths.concat(path)\n}\n\nfunction removeListPath(paths: PathList, path: Path): PathList {\n return paths.filter((thisPath) => thisPath !== path)\n}\n\nconst isArrayJsonPointer = /^\\/\\d+(\\/|$)/\n\nexport default function Provider<Data extends JsonObject>({\n id,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n children,\n ...rest\n}: Props<Data>) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n // Prop error handling\n if (data !== undefined && sessionStorageId !== undefined) {\n console.error(\n 'Providing both data and sessionStorageId could lead to competing data sources. To provide default data to use only before anything is changed in the interface, use defaultData.'\n )\n }\n\n // State\n const mountedFieldPathsRef = useRef<string[]>([])\n // - Errors from provider validation (the whole data set)\n const errorsRef = useRef<Record<string, FormError> | undefined>()\n const showAllErrorsRef = useRef<boolean>(false)\n const setShowAllErrors = useCallback((showAllErrors: boolean) => {\n showAllErrorsRef.current = showAllErrors\n }, [])\n // - Errors reported by fields, based on their direct validation rules\n const valuesWithErrorRef = useRef<string[]>([])\n // - Data\n const initialData = useMemo(() => {\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 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<Partial<Data>>(initialData)\n const dataCacheRef = useRef<Partial<Data>>(data)\n // - Validator\n const ajvSchemaValidatorRef = useRef<ValidateFunction>()\n // - Shared state\n const sharedState = useSharedState<Data>(id)\n useMemo(() => {\n // Update the internal data set, if the shared state changes\n if (id && sharedState?.data && !initialData) {\n internalDataRef.current = sharedState.data\n }\n }, [id, initialData, sharedState.data])\n useLayoutEffect(() => {\n // Update the shared state, if initialData is given\n if (id && !sharedState?.data && initialData) {\n sharedState.set?.(initialData)\n }\n\n // If the shared state changes, update the internal data set\n if (\n id &&\n sharedState?.data &&\n sharedState?.data !== internalDataRef.current\n ) {\n internalDataRef.current = sharedState?.data\n }\n }, [id, initialData, sharedState, sharedState?.data])\n\n const validateData = useCallback(() => {\n if (!ajvSchemaValidatorRef.current) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n if (!ajvSchemaValidatorRef.current(internalDataRef.current)) {\n // Errors found\n const errors = ajvErrorsToFormErrors(\n ajvSchemaValidatorRef.current.errors\n )\n errorsRef.current = errors\n } else {\n errorsRef.current = undefined\n }\n forceUpdate()\n }, [])\n\n useEffect(() => {\n if (!schema) {\n return\n }\n ajvSchemaValidatorRef.current = ajv.compile(schema)\n validateData()\n }, [schema, validateData])\n\n // Error handling\n const hasErrors = useCallback(\n () =>\n Boolean(\n mountedFieldPathsRef.current.find(\n (mountedFieldPath) =>\n errorsRef.current?.[mountedFieldPath] !== undefined ||\n valuesWithErrorRef.current.includes(mountedFieldPath)\n )\n ),\n []\n )\n\n const setValueWithError = useCallback(\n (identifier: string, withError: boolean) => {\n if (withError !== valuesWithErrorRef.current.includes(identifier)) {\n // The boolean error state for the target value was changed\n valuesWithErrorRef.current = withError\n ? addListPath(valuesWithErrorRef.current, identifier)\n : removeListPath(valuesWithErrorRef.current, identifier)\n forceUpdate()\n }\n },\n []\n )\n\n const updateDataValue: UpdateDataValue = useCallback(\n (path, value) => {\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 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\n let newData = 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 as Data, path, value)\n }\n\n if (id) {\n sharedState.update?.(newData)\n }\n\n internalDataRef.current = newData\n\n if (sessionStorageId && typeof window !== 'undefined') {\n window.sessionStorage?.setItem(\n sessionStorageId,\n JSON.stringify(newData)\n )\n }\n\n forceUpdate()\n\n return newData\n },\n [id, sessionStorageId, sharedState]\n )\n\n const handlePathChange: UpdateDataValue = useCallback(\n (path, value) => {\n if (!path) {\n return\n }\n\n onPathChange?.(path, value)\n\n const newData = updateDataValue(path, value)\n\n onChange?.(newData as Data)\n\n showAllErrorsRef.current = false\n\n validateData()\n },\n [onPathChange, updateDataValue, onChange, validateData]\n )\n\n // Mounted fields\n const handleMountField = useCallback((path: Path) => {\n mountedFieldPathsRef.current = addListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n const handleUnMountField = useCallback((path: Path) => {\n mountedFieldPathsRef.current = removeListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n /**\n * Request to submit the whole form\n */\n const handleSubmit = useCallback<ContextState['handleSubmit']>(\n ({ formElement = null } = {}) => {\n if (!hasErrors()) {\n const 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 const clearData = () => {\n internalDataRef.current = {}\n forceUpdate()\n }\n\n onSubmit?.(internalDataRef.current as Data, {\n resetForm,\n clearData,\n })\n\n if (typeof window !== 'undefined') {\n if (scrollTopOnSubmit) {\n window?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n }\n } else {\n showAllErrorsRef.current = true\n onSubmitRequest?.()\n forceUpdate()\n }\n return internalDataRef.current\n },\n [\n scrollTopOnSubmit,\n hasErrors,\n onSubmit,\n onSubmitRequest,\n sessionStorageId,\n ]\n )\n\n useMountEffect(() => {\n // Validate the initial data\n validateData()\n })\n\n useUpdateEffect(() => {\n // Update and validate changes to the external data set,\n // And avoid \"resetting\" the data with the originally given data (React.StrictMode)\n if (data !== dataCacheRef.current) {\n dataCacheRef.current = data\n internalDataRef.current = data\n }\n validateData()\n forceUpdate()\n }, [data, validateData, forceUpdate])\n\n return (\n <Context.Provider\n value={{\n data: internalDataRef.current,\n ...rest,\n handlePathChange,\n updateDataValue,\n handleSubmit,\n errors: errorsRef.current,\n showAllErrors: showAllErrorsRef.current,\n setShowAllErrors,\n mountedFieldPaths: mountedFieldPathsRef.current,\n handleMountField,\n handleUnMountField,\n hasErrors,\n setValueWithError,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Provider.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_ajv","_useMountEffect","_useUpdateEffect","_useSharedState","_Context","_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","addListPath","paths","path","includes","concat","removeListPath","thisPath","isArrayJsonPointer","Provider","_ref","_sharedAtachments$dat","id","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","ajvInstance","filterData","errorMessages","contextErrorMessages","children","rest","forceUpdate","useReducer","console","error","ajvRef","useRef","makeAjvInstance","mountedFieldPathsRef","errorsRef","showAllErrorsRef","setShowAllErrors","useCallback","showAllErrors","current","valuesWithErrorRef","initialData","useMemo","_window$sessionStorag","sessionDataJSON","sessionStorage","getItem","JSON","parse","internalDataRef","cacheRef","ajvValidatorRef","validateData","_ajvValidatorRef$curr","ajvErrorsToFormErrors","errors","hasFieldError","_errorsRef$current","Boolean","hasErrors","find","mountedFieldPath","setValueWithError","withError","filterDataHandler","filtered","entries","fieldPropsRef","_ref2","props","exists","pointer","result","remove","setProps","sharedData","useSharedState","sharedAtachments","updateSharedData","update","extendSharedData","extend","extendAtachment","rerenderUseDataHook","updateDataValue","_internalDataRef$curr","givenData","match","newData","structuredClone","e","_window$sessionStorag2","setItem","stringify","handlePathChange","handleMountField","handleUnMountField","_fieldPropsRef$curren","scrollToTop","_window","_window$scrollTo","scrollTo","top","behavior","handleSubmit","formElement","resetForm","_formElement$reset","reset","removeItem","clearData","useMountEffect","_ajvRef$current","compile","useUpdateEffect","hadChanges","_ajvRef$current2","createElement","hasContext","mountedFieldPaths"],"sources":["../../../../../../src/extensions/forms/DataContext/Provider/Provider.tsx"],"sourcesContent":["import React, { useRef, useMemo, useCallback, useReducer } from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { ValidateFunction } from 'ajv/dist/2020'\nimport {\n Ajv,\n makeAjvInstance,\n ajvErrorsToFormErrors,\n} from '../../utils/ajv'\nimport {\n FormError,\n CustomErrorMessagesWithPaths,\n AllJSONSchemaVersions,\n FieldProps,\n} from '../../types'\nimport useMountEffect from '../../hooks/useMountEffect'\nimport useUpdateEffect from '../../hooks/useUpdateEffect'\nimport { useSharedState } from '../../../../shared/helpers/useSharedState'\nimport Context, { ContextState, Path } 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 UpdateDataValue = (path: Path, data: unknown) => void\n\nexport type FilterDataHandler<Data> = (\n data: Data,\n filter: FilterData\n) => Partial<Data>\nexport type FilterData = (\n path: Path,\n value: any,\n props: FieldProps\n) => boolean | undefined\n\nexport type OnSubmitReturn = {\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmit<Data = JsonObject> = (\n data: Partial<Data>,\n { resetForm, clearData }: OnSubmitReturn\n) => void\n\nexport interface Props<Data extends JsonObject> {\n /**\n * Unique ID to communicate with the hook Form.useData\n */\n id?: string\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?: Partial<Data>\n /**\n * Source data, will be used instead of defaultData, and leading to updates if changed after mount\n */\n data?: Partial<Data>\n /**\n * JSON Schema to validate the data against.\n */\n schema?: AllJSONSchemaVersions\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?: CustomErrorMessagesWithPaths\n /**\n * Filter the internal data context based on your criteria: `(path, value, props) => !props?.disabled`. It will iterate on each data entry.\n */\n filterData?: FilterData\n /**\n * Change handler for the whole data set\n */\n onChange?: (data: Data) => void\n /**\n * Change handler for each value\n */\n onPathChange?: (path: Path, value: any) => void\n /**\n * Submit called, data was valid (if validation available)\n */\n onSubmit?: OnSubmit\n /**\n * Submit was requested, but data was invalid\n */\n onSubmitRequest?: () => void\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 children: React.ReactNode\n}\n\ntype PathList = string[]\n\nfunction addListPath(paths: PathList, path: Path): PathList {\n return paths.includes(path) ? paths : paths.concat(path)\n}\n\nfunction removeListPath(paths: PathList, path: Path): PathList {\n return paths.filter((thisPath) => thisPath !== path)\n}\n\nconst isArrayJsonPointer = /^\\/\\d+(\\/|$)/\n\nexport default function Provider<Data extends JsonObject>({\n id,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n ajvInstance,\n filterData,\n errorMessages: contextErrorMessages,\n children,\n ...rest\n}: Props<Data>) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n // Prop error handling\n if (data !== undefined && sessionStorageId !== undefined) {\n console.error(\n 'Providing both data and sessionStorageId could lead to competing data sources. To provide default data to use only before anything is changed in the interface, use defaultData.'\n )\n }\n\n // - Ajv\n const ajvRef = useRef<Ajv>(makeAjvInstance(ajvInstance))\n // - Paths\n const mountedFieldPathsRef = useRef<string[]>([])\n // - Errors from provider validation (the whole data set)\n const errorsRef = useRef<Record<string, FormError> | undefined>()\n const showAllErrorsRef = useRef<boolean>(false)\n const setShowAllErrors = useCallback((showAllErrors: boolean) => {\n showAllErrorsRef.current = showAllErrors\n forceUpdate()\n }, [])\n\n // - Errors reported by fields, based on their direct validation rules\n const valuesWithErrorRef = useRef<string[]>([])\n\n // - Data\n const initialData = useMemo(() => {\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 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<Partial<Data>>(initialData)\n const cacheRef = useRef({ data, schema })\n\n // - Validator\n const ajvValidatorRef = useRef<ValidateFunction>()\n\n const validateData = 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 )\n } else {\n errorsRef.current = undefined\n }\n\n forceUpdate()\n }, [])\n\n // - Error handling\n const hasFieldError = useCallback(\n (path: string) =>\n Boolean(\n errorsRef.current?.[path] !== undefined ||\n valuesWithErrorRef.current.includes(path)\n ),\n []\n )\n const hasErrors = useCallback(\n () =>\n Boolean(\n mountedFieldPathsRef.current.find((mountedFieldPath) =>\n hasFieldError(mountedFieldPath)\n )\n ),\n [hasFieldError]\n )\n\n /**\n * Sets the error state for a specific path\n */\n const setValueWithError = useCallback(\n (path: Path, withError: boolean) => {\n if (withError !== valuesWithErrorRef.current.includes(path)) {\n // The boolean error state for the target value was changed\n valuesWithErrorRef.current = withError\n ? addListPath(valuesWithErrorRef.current, path)\n : removeListPath(valuesWithErrorRef.current, path)\n forceUpdate()\n }\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 const filtered = { ...data }\n Object.entries(fieldPropsRef.current).forEach(([path, props]) => {\n const exists = pointer.has(data, path)\n const result = filter(\n path,\n exists ? pointer.get(data, path) : undefined,\n props\n )\n if (result === false && exists) {\n pointer.remove(filtered, path)\n }\n })\n\n return filtered\n }\n\n return data\n },\n [filterData]\n )\n const fieldPropsRef = useRef<Record<string, FieldProps>>({})\n const setProps = useCallback(\n (path: Path, props: Record<string, unknown>) => {\n fieldPropsRef.current[path] = props\n },\n []\n )\n\n // - Shared state\n const sharedData = useSharedState<Data>(id)\n const sharedAtachments = useSharedState<{\n filterDataHandler?: Props<Data>['filterData']\n hasErrors?: () => boolean\n rerenderUseDataHook?: () => void\n }>(id + '-attachments')\n\n const updateSharedData = sharedData.update\n const extendSharedData = sharedData.extend\n const extendAtachment = sharedAtachments.extend\n const rerenderUseDataHook = sharedAtachments.data?.rerenderUseDataHook\n\n useMemo(() => {\n // Update the internal data set, if the shared state changes\n if (id && sharedData.data && !initialData) {\n internalDataRef.current = sharedData.data\n }\n }, [id, initialData, sharedData.data])\n\n useLayoutEffect(() => {\n // Update the shared state, if initialData is given\n if (id && !sharedData.data && initialData) {\n extendSharedData?.(initialData)\n }\n }, [id, initialData, extendSharedData, sharedData.data])\n\n useLayoutEffect(() => {\n // If the shared state changes, update the internal data set\n if (\n id &&\n sharedData.data &&\n sharedData.data !== internalDataRef.current\n ) {\n internalDataRef.current = sharedData.data\n }\n }, [id, sharedData.data])\n\n useLayoutEffect(() => {\n if (id) {\n extendAtachment?.({ filterDataHandler, hasErrors })\n if (filterData) {\n rerenderUseDataHook?.()\n }\n }\n }, [\n filterData,\n filterDataHandler,\n rerenderUseDataHook,\n hasErrors,\n id,\n extendAtachment,\n ])\n\n /**\n * Update the data set\n */\n const updateDataValue: UpdateDataValue = useCallback(\n (path, value) => {\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 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 if (id) {\n updateSharedData?.(newData)\n if (filterData) {\n rerenderUseDataHook?.()\n }\n }\n\n internalDataRef.current = newData\n\n if (sessionStorageId && typeof window !== 'undefined') {\n window.sessionStorage?.setItem(\n sessionStorageId,\n JSON.stringify(newData)\n )\n }\n\n forceUpdate()\n\n return newData\n },\n [\n filterData,\n id,\n sessionStorageId,\n rerenderUseDataHook,\n updateSharedData,\n ]\n )\n\n /**\n * Update the data set on user interaction\n */\n const handlePathChange: UpdateDataValue = useCallback(\n (path, value) => {\n if (!path) {\n return\n }\n\n onPathChange?.(path, value)\n\n const newData = updateDataValue(path, value)\n\n onChange?.(newData as Data)\n\n showAllErrorsRef.current = false\n\n validateData()\n },\n [onPathChange, updateDataValue, onChange, validateData]\n )\n\n // - Mounted fields\n const handleMountField = useCallback((path: Path) => {\n mountedFieldPathsRef.current = addListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n const handleUnMountField = useCallback((path: Path) => {\n mountedFieldPathsRef.current = removeListPath(\n mountedFieldPathsRef.current,\n path\n )\n if (fieldPropsRef.current?.[path]) {\n delete fieldPropsRef.current[path]\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 * Request to submit the whole form\n */\n const handleSubmit = useCallback<ContextState['handleSubmit']>(\n ({ formElement = null } = {}) => {\n if (!hasErrors()) {\n const 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 const clearData = () => {\n internalDataRef.current = {}\n forceUpdate()\n }\n\n onSubmit?.(filterDataHandler(internalDataRef.current as Data), {\n resetForm,\n clearData,\n })\n\n if (scrollTopOnSubmit) {\n scrollToTop()\n }\n } else {\n setShowAllErrors(true)\n onSubmitRequest?.()\n }\n\n return internalDataRef.current\n },\n [\n hasErrors,\n onSubmit,\n filterDataHandler,\n scrollTopOnSubmit,\n sessionStorageId,\n scrollToTop,\n setShowAllErrors,\n onSubmitRequest,\n ]\n )\n\n // - ajv validator routines\n\n useMountEffect(() => {\n if (schema) {\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n }\n\n // Validate the initial data\n validateData()\n })\n\n useUpdateEffect(() => {\n let hadChanges = false\n\n // Update and validate changes to the external data set,\n // And avoid \"resetting\" the data with the originally given data (React.StrictMode)\n if (data !== cacheRef.current.data) {\n internalDataRef.current = data\n\n hadChanges = true\n cacheRef.current.data = data\n }\n\n if (schema && schema !== cacheRef.current.schema) {\n ajvValidatorRef.current = ajvRef.current?.compile(schema)\n\n hadChanges = true\n cacheRef.current.schema = schema\n }\n\n if (hadChanges) {\n validateData()\n forceUpdate()\n }\n }, [data, schema, validateData, forceUpdate])\n\n return (\n <Context.Provider\n value={{\n hasContext: true,\n data: internalDataRef.current,\n ...rest,\n handlePathChange,\n updateDataValue,\n validateData,\n handleSubmit,\n scrollToTop,\n errors: errorsRef.current,\n showAllErrors: showAllErrorsRef.current,\n setShowAllErrors,\n mountedFieldPaths: mountedFieldPathsRef.current,\n handleMountField,\n handleUnMountField,\n hasErrors,\n hasFieldError,\n setValueWithError,\n setProps,\n ajvInstance: ajvRef.current,\n schema,\n contextErrorMessages,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"mappings":"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"}
@@ -8,6 +8,7 @@ exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _String = _interopRequireDefault(require("../String"));
10
10
  var _Context = _interopRequireDefault(require("../../../../shared/Context"));
11
+ var _useErrorMessage = _interopRequireDefault(require("../../hooks/useErrorMessage"));
11
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13
  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); }
13
14
  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; }
@@ -24,10 +25,10 @@ function BankAccountNumber(props) {
24
25
  validate = true,
25
26
  omitMask
26
27
  } = props;
27
- const errorMessages = (0, _react.useMemo)(() => _objectSpread({
28
+ const errorMessages = (0, _useErrorMessage.default)(props.path, props.errorMessages, {
28
29
  required: tr.bankAccountNumberErrorRequired,
29
30
  pattern: tr.bankAccountNumberErrorPattern
30
- }, props.errorMessages), [tr, props.errorMessages]);
31
+ });
31
32
  const mask = (0, _react.useMemo)(() => omitMask ? [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/] : [/\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, /\d/], [omitMask]);
32
33
  const StringFieldProps = _objectSpread(_objectSpread({}, props), {}, {
33
34
  className: 'dnb-forms-field-bank-account-number',
@@ -1 +1 @@
1
- {"version":3,"file":"BankAccountNumber.js","names":["_react","_interopRequireWildcard","require","_String","_interopRequireDefault","_Context","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","BankAccountNumber","props","_props$pattern","_props$label","_props$width","sharedContext","useContext","SharedContext","tr","translation","Forms","validate","omitMask","errorMessages","useMemo","required","bankAccountNumberErrorRequired","pattern","bankAccountNumberErrorPattern","mask","StringFieldProps","className","label","bankAccountNumberLabel","width","inputMode","createElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/BankAccountNumber/BankAccountNumber.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport SharedContext from '../../../../shared/Context'\n\nexport type Props = StringFieldProps & {\n validate?: boolean\n omitMask?: boolean\n}\n\nfunction BankAccountNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n const { validate = true, omitMask } = props\n\n const errorMessages = useMemo(\n () => ({\n required: tr.bankAccountNumberErrorRequired,\n pattern: tr.bankAccountNumberErrorPattern,\n ...props.errorMessages,\n }),\n [tr, props.errorMessages]\n )\n const mask = useMemo(\n () =>\n omitMask\n ? [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ]\n : [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ],\n [omitMask]\n )\n\n const StringFieldProps: Props = {\n ...props,\n className: 'dnb-forms-field-bank-account-number',\n pattern: props.pattern ?? (validate ? '^[0-9]{11}$' : undefined),\n label:\n props.label ??\n sharedContext?.translation.Forms.bankAccountNumberLabel,\n errorMessages,\n mask,\n width: props.width ?? 'medium',\n inputMode: 'numeric',\n }\n\n return <StringField {...StringFieldProps} />\n}\n\nBankAccountNumber._supportsSpacingProps = true\nexport default BankAccountNumber\n"],"mappings":"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"}
1
+ {"version":3,"file":"BankAccountNumber.js","names":["_react","_interopRequireWildcard","require","_String","_interopRequireDefault","_Context","_useErrorMessage","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","BankAccountNumber","props","_props$pattern","_props$label","_props$width","sharedContext","useContext","SharedContext","tr","translation","Forms","validate","omitMask","errorMessages","useErrorMessage","path","required","bankAccountNumberErrorRequired","pattern","bankAccountNumberErrorPattern","mask","useMemo","StringFieldProps","className","label","bankAccountNumberLabel","width","inputMode","createElement","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/BankAccountNumber/BankAccountNumber.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport SharedContext from '../../../../shared/Context'\nimport useErrorMessage from '../../hooks/useErrorMessage'\n\nexport type Props = StringFieldProps & {\n validate?: boolean\n omitMask?: boolean\n}\n\nfunction BankAccountNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const tr = sharedContext?.translation.Forms\n const { validate = true, omitMask } = props\n\n const errorMessages = useErrorMessage(props.path, props.errorMessages, {\n required: tr.bankAccountNumberErrorRequired,\n pattern: tr.bankAccountNumberErrorPattern,\n })\n const mask = useMemo(\n () =>\n omitMask\n ? [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ]\n : [\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ],\n [omitMask]\n )\n\n const StringFieldProps: Props = {\n ...props,\n className: 'dnb-forms-field-bank-account-number',\n pattern: props.pattern ?? (validate ? '^[0-9]{11}$' : undefined),\n label:\n props.label ??\n sharedContext?.translation.Forms.bankAccountNumberLabel,\n errorMessages,\n mask,\n width: props.width ?? 'medium',\n inputMode: 'numeric',\n }\n\n return <StringField {...StringFieldProps} />\n}\n\nBankAccountNumber._supportsSpacingProps = true\nexport default BankAccountNumber\n"],"mappings":"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"}
@@ -13,6 +13,7 @@ var _Context = _interopRequireDefault(require("../../../../shared/Context"));
13
13
  var _classnames = _interopRequireDefault(require("classnames"));
14
14
  var _FieldBlock = _interopRequireDefault(require("../../FieldBlock"));
15
15
  var _dateFns = require("date-fns");
16
+ var _useErrorMessage = _interopRequireDefault(require("../../hooks/useErrorMessage"));
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18
  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); }
18
19
  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; }
@@ -25,10 +26,10 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
25
26
  function DateComponent(props) {
26
27
  const sharedContext = (0, _react.useContext)(_Context.default);
27
28
  const tr = sharedContext === null || sharedContext === void 0 ? void 0 : sharedContext.translation.Forms;
28
- const errorMessages = (0, _react.useMemo)(() => _objectSpread({
29
+ const errorMessages = (0, _useErrorMessage.default)(props.path, props.errorMessages, {
29
30
  required: tr.dateErrorRequired,
30
31
  pattern: tr.inputErrorPattern
31
- }, props.errorMessages), [tr, props.errorMessages]);
32
+ });
32
33
  const schema = (0, _react.useMemo)(() => {
33
34
  var _props$schema;
34
35
  return (_props$schema = props.schema) !== null && _props$schema !== void 0 ? _props$schema : {
@@ -98,7 +99,7 @@ function DateComponent(props) {
98
99
  on_reset: handleChange,
99
100
  onFocus: handleFocus,
100
101
  onBlur: handleBlur
101
- }, ariaAttributes, (0, _utils.pickSpacingProps)(props))));
102
+ }, ariaAttributes)));
102
103
  }
103
104
  DateComponent._supportsSpacingProps = true;
104
105
  var _default = DateComponent;