@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,12 +1,19 @@
1
+ /*
2
+ * Utilities
3
+ */
1
4
  :root {
2
5
  --forms-field-width--small: 5rem;
3
6
  --forms-field-width--medium: 11rem;
4
7
  --forms-field-width--large: 21rem;
5
8
  }
6
9
 
7
- /*
8
- * Utilities
9
- */
10
+ @media screen and (max-width: 15em) {
11
+ .dnb-forms-field-string .dnb-input__shell,
12
+ .dnb-forms-field-number .dnb-input__shell {
13
+ width: 90%;
14
+ }
15
+ }
16
+
10
17
  fieldset.dnb-forms-field-block {
11
18
  padding: 0;
12
19
  border: none;
@@ -24,6 +31,9 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
24
31
  margin-left: 0;
25
32
  }
26
33
 
34
+ .dnb-forms-field-block {
35
+ width: 100%;
36
+ }
27
37
  .dnb-forms-field-block__grid {
28
38
  display: grid;
29
39
  }
@@ -47,7 +57,7 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
47
57
  .dnb-forms-field-block--width-stretch {
48
58
  flex-grow: 1;
49
59
  }
50
- @media screen and (min-width: 30em) {
60
+ @media screen and (min-width: 25em) {
51
61
  .dnb-forms-field-block--width-small {
52
62
  width: var(--forms-field-width--small);
53
63
  }
@@ -71,13 +81,17 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
71
81
  .dnb-forms-field-block__status {
72
82
  grid-area: status;
73
83
  }
84
+ .dnb-forms-field-block__status .dnb-form-status__shell {
85
+ margin-top: 0.5rem;
86
+ }
74
87
  .dnb-forms-field-block__contents {
75
88
  grid-area: contents;
89
+ width: 100%;
76
90
  }
77
91
  .dnb-forms-field-block__contents--width-stretch {
78
92
  width: 100%;
79
93
  }
80
- @media screen and (min-width: 30em) {
94
+ @media screen and (min-width: 25em) {
81
95
  .dnb-forms-field-block__contents--width-small {
82
96
  width: var(--forms-field-width--small);
83
97
  }
@@ -1 +1 @@
1
- :root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:30em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__contents{grid-area:contents}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:30em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}
1
+ :root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block{width:100%}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}
@@ -1,11 +1,31 @@
1
- @import '../../Field/style/field-sizes.scss';
1
+ @use 'sass:map';
2
2
  @import '../../../../style/core/utilities.scss';
3
+ @import '../../Field/style/field-sizes.scss';
4
+
5
+ $breakpoints: map.merge(
6
+ $breakpoints,
7
+ (
8
+ 'xx-small': 15em,
9
+ )
10
+ );
11
+
12
+ // Ensure inputs to not overflow on xx-small (defined above), but exclude e.g. Autocomplete
13
+ .dnb-forms-field-string,
14
+ .dnb-forms-field-number {
15
+ @include allBelow(xx-small) {
16
+ .dnb-input__shell {
17
+ width: 90%;
18
+ }
19
+ }
20
+ }
3
21
 
4
22
  fieldset.dnb-forms-field-block {
5
23
  @include fieldsetReset(true);
6
24
  }
7
25
 
8
26
  .dnb-forms-field-block {
27
+ width: 100%;
28
+
9
29
  &__grid {
10
30
  display: grid;
11
31
 
@@ -60,10 +80,14 @@ fieldset.dnb-forms-field-block {
60
80
 
61
81
  &__status {
62
82
  grid-area: status;
83
+ .dnb-form-status__shell {
84
+ margin-top: 0.5rem; // set margin-top on shell, so we can animate the height
85
+ }
63
86
  }
64
87
 
65
88
  &__contents {
66
89
  grid-area: contents;
90
+ width: 100%;
67
91
 
68
92
  &--width {
69
93
  &-stretch {
@@ -7,4 +7,4 @@ export type Props = Omit<ElementAllProps, 'data' | 'as' | 'autoComplete'> & {
7
7
  */
8
8
  autoComplete?: boolean;
9
9
  };
10
- export default function FormHandler<Data extends JsonObject>({ children, defaultData, data, schema, onChange, onPathChange, onSubmit, onSubmitRequest, scrollTopOnSubmit, sessionStorageId, autoComplete, ...rest }: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>): import("react/jsx-runtime").JSX.Element;
10
+ export default function FormHandler<Data extends JsonObject>({ children, defaultData, data, schema, ajvInstance, errorMessages, filterData, onChange, onPathChange, onSubmit, onSubmitRequest, scrollTopOnSubmit, sessionStorageId, autoComplete, ...rest }: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- const _excluded = ["children", "defaultData", "data", "schema", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "scrollTopOnSubmit", "sessionStorageId", "autoComplete"];
4
+ const _excluded = ["children", "defaultData", "data", "schema", "ajvInstance", "errorMessages", "filterData", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "scrollTopOnSubmit", "sessionStorageId", "autoComplete"];
5
5
  import React from 'react';
6
6
  import Provider from '../../DataContext/Provider';
7
7
  import FormElement from '../Element';
@@ -11,6 +11,9 @@ export default function FormHandler(_ref) {
11
11
  defaultData,
12
12
  data,
13
13
  schema,
14
+ ajvInstance,
15
+ errorMessages,
16
+ filterData,
14
17
  onChange,
15
18
  onPathChange,
16
19
  onSubmit,
@@ -25,6 +28,9 @@ export default function FormHandler(_ref) {
25
28
  defaultData,
26
29
  data,
27
30
  schema,
31
+ ajvInstance,
32
+ errorMessages,
33
+ filterData,
28
34
  onChange,
29
35
  onPathChange,
30
36
  onSubmit: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","names":["React","Provider","FormElement","FormHandler","_ref","children","defaultData","data","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","autoComplete","rest","_objectWithoutProperties","_excluded","providerProps","id","arguments","createElement"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React from 'react'\nimport { JsonObject } from 'json-pointer'\nimport Provider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n id: rest.id,\n defaultData,\n data,\n schema,\n onChange,\n onPathChange,\n onSubmit: (...args) => {\n if (typeof onSubmit === 'function') {\n onSubmit(...args)\n }\n },\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n } as Omit<ProviderProps<Data>, 'children'>\n\n return (\n <Provider {...providerProps}>\n <FormElement {...rest}>{children}</FormElement>\n </Provider>\n )\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,QAAQ,MAER,4BAA4B;AACnC,OAAOC,WAAW,MAAM,YAAY;AAapC,eAAe,SAASC,WAAWA,CAAAC,IAAA,EAa8B;EAAA,IAbJ;MAC3DC,QAAQ;MACRC,WAAW;MACXC,IAAI;MACJC,MAAM;MACNC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,eAAe;MACfC,iBAAiB;MACjBC,gBAAgB;MAChBC;IAE4D,CAAC,GAAAX,IAAA;IAD1DY,IAAI,GAAAC,wBAAA,CAAAb,IAAA,EAAAc,SAAA;EAEP,MAAMC,aAAa,GAAG;IACpBC,EAAE,EAAEJ,IAAI,CAACI,EAAE;IACXd,WAAW;IACXC,IAAI;IACJC,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAE,SAAAA,CAAA,EAAa;MACrB,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;QAClCA,QAAQ,CAAC,GAAAU,SAAO,CAAC;MACnB;IACF,CAAC;IACDT,eAAe;IACfC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAA0C;EAE1C,OACEf,KAAA,CAAAsB,aAAA,CAACrB,QAAQ,EAAKkB,aAAa,EACzBnB,KAAA,CAAAsB,aAAA,CAACpB,WAAW,EAAKc,IAAI,EAAGX,QAAsB,CACtC,CAAC;AAEf"}
1
+ {"version":3,"file":"Handler.js","names":["React","Provider","FormElement","FormHandler","_ref","children","defaultData","data","schema","ajvInstance","errorMessages","filterData","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","sessionStorageId","autoComplete","rest","_objectWithoutProperties","_excluded","providerProps","id","arguments","createElement"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React from 'react'\nimport { JsonObject } from 'json-pointer'\nimport Provider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n ajvInstance,\n errorMessages,\n filterData,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n id: rest.id,\n defaultData,\n data,\n schema,\n ajvInstance,\n errorMessages,\n filterData,\n onChange,\n onPathChange,\n onSubmit: (...args) => {\n if (typeof onSubmit === 'function') {\n onSubmit(...args)\n }\n },\n onSubmitRequest,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n } as Omit<ProviderProps<Data>, 'children'>\n\n return (\n <Provider {...providerProps}>\n <FormElement {...rest}>{children}</FormElement>\n </Provider>\n )\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,QAAQ,MAER,4BAA4B;AACnC,OAAOC,WAAW,MAAM,YAAY;AAapC,eAAe,SAASC,WAAWA,CAAAC,IAAA,EAgB8B;EAAA,IAhBJ;MAC3DC,QAAQ;MACRC,WAAW;MACXC,IAAI;MACJC,MAAM;MACNC,WAAW;MACXC,aAAa;MACbC,UAAU;MACVC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,eAAe;MACfC,iBAAiB;MACjBC,gBAAgB;MAChBC;IAE4D,CAAC,GAAAd,IAAA;IAD1De,IAAI,GAAAC,wBAAA,CAAAhB,IAAA,EAAAiB,SAAA;EAEP,MAAMC,aAAa,GAAG;IACpBC,EAAE,EAAEJ,IAAI,CAACI,EAAE;IACXjB,WAAW;IACXC,IAAI;IACJC,MAAM;IACNC,WAAW;IACXC,aAAa;IACbC,UAAU;IACVC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAE,SAAAA,CAAA,EAAa;MACrB,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;QAClCA,QAAQ,CAAC,GAAAU,SAAO,CAAC;MACnB;IACF,CAAC;IACDT,eAAe;IACfC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAA0C;EAE1C,OACElB,KAAA,CAAAyB,aAAA,CAACxB,QAAQ,EAAKqB,aAAa,EACzBtB,KAAA,CAAAyB,aAAA,CAACvB,WAAW,EAAKiB,IAAI,EAAGd,QAAsB,CACtC,CAAC;AAEf"}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { HeightAnimationProps } from '../../../../components/HeightAnimation';
2
3
  export type Props = {
3
4
  visible?: boolean;
4
5
  /** Given data context path must be defined to show children */
@@ -15,12 +16,16 @@ export type Props = {
15
16
  pathFalse?: string;
16
17
  /** Given data context path must match, as well as the "whenValue" value */
17
18
  pathValue?: string;
19
+ /** Given data context value must match this value to show children */
18
20
  whenValue?: unknown;
19
21
  /** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */
20
22
  inferData?: (data: unknown) => boolean;
23
+ /** Animate the visibility change */
24
+ animate?: boolean;
25
+ element?: HeightAnimationProps['element'];
21
26
  children: React.ReactNode;
22
27
  };
23
- declare function Visibility({ visible, pathDefined, pathUndefined, pathTruthy, pathFalsy, pathTrue, pathFalse, pathValue, whenValue, inferData, children, }: Props): import("react/jsx-runtime").JSX.Element;
28
+ declare function Visibility({ visible, pathDefined, pathUndefined, pathTruthy, pathFalsy, pathTrue, pathFalse, pathValue, whenValue, inferData, animate, children, ...rest }: Props): import("react/jsx-runtime").JSX.Element;
24
29
  declare namespace Visibility {
25
30
  var _supportsSpacingProps: string;
26
31
  }
@@ -1,51 +1,65 @@
1
1
  "use client";
2
2
 
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
+ const _excluded = ["visible", "pathDefined", "pathUndefined", "pathTruthy", "pathFalsy", "pathTrue", "pathFalse", "pathValue", "whenValue", "inferData", "animate", "children"];
3
6
  import React, { useContext } from 'react';
4
7
  import pointer from 'json-pointer';
5
8
  import * as DataContext from '../../DataContext';
9
+ import HeightAnimation from '../../../../components/HeightAnimation';
6
10
  function Visibility(_ref) {
7
11
  let {
8
- visible,
9
- pathDefined,
10
- pathUndefined,
11
- pathTruthy,
12
- pathFalsy,
13
- pathTrue,
14
- pathFalse,
15
- pathValue,
16
- whenValue,
17
- inferData,
18
- children
19
- } = _ref;
12
+ visible,
13
+ pathDefined,
14
+ pathUndefined,
15
+ pathTruthy,
16
+ pathFalsy,
17
+ pathTrue,
18
+ pathFalse,
19
+ pathValue,
20
+ whenValue,
21
+ inferData,
22
+ animate,
23
+ children
24
+ } = _ref,
25
+ rest = _objectWithoutProperties(_ref, _excluded);
20
26
  const dataContext = useContext(DataContext.Context);
21
- if (visible === false) {
22
- return null;
27
+ const check = () => {
28
+ if (visible === false) {
29
+ return;
30
+ }
31
+ if (pathDefined && !pointer.has(dataContext.data, pathDefined)) {
32
+ return;
33
+ }
34
+ if (pathUndefined && pointer.has(dataContext.data, pathUndefined)) {
35
+ return;
36
+ }
37
+ if (pathTruthy && (!pointer.has(dataContext.data, pathTruthy) || !pointer.get(dataContext.data, pathTruthy))) {
38
+ return;
39
+ }
40
+ if (pathFalsy && pointer.has(dataContext.data, pathFalsy) && Boolean(pointer.get(dataContext.data, pathFalsy))) {
41
+ return;
42
+ }
43
+ if (pathTrue && (!pointer.has(dataContext.data, pathTrue) || pointer.get(dataContext.data, pathTrue) !== true)) {
44
+ return;
45
+ }
46
+ if (pathFalse && (!pointer.has(dataContext.data, pathFalse) || pointer.get(dataContext.data, pathFalse) !== false)) {
47
+ return;
48
+ }
49
+ if (pathValue && !(pointer.has(dataContext.data, pathValue) && pointer.get(dataContext.data, pathValue) === whenValue)) {
50
+ return;
51
+ }
52
+ if (inferData && !inferData(dataContext.data)) {
53
+ return;
54
+ }
55
+ return true;
56
+ };
57
+ if (animate) {
58
+ return React.createElement(HeightAnimation, _extends({
59
+ open: Boolean(check())
60
+ }, rest), children);
23
61
  }
24
- if (pathDefined && !pointer.has(dataContext.data, pathDefined)) {
25
- return null;
26
- }
27
- if (pathUndefined && pointer.has(dataContext.data, pathUndefined)) {
28
- return null;
29
- }
30
- if (pathTruthy && (!pointer.has(dataContext.data, pathTruthy) || !pointer.get(dataContext.data, pathTruthy))) {
31
- return null;
32
- }
33
- if (pathFalsy && pointer.has(dataContext.data, pathFalsy) && Boolean(pointer.get(dataContext.data, pathFalsy))) {
34
- return null;
35
- }
36
- if (pathTrue && (!pointer.has(dataContext.data, pathTrue) || pointer.get(dataContext.data, pathTrue) !== true)) {
37
- return null;
38
- }
39
- if (pathFalse && (!pointer.has(dataContext.data, pathFalse) || pointer.get(dataContext.data, pathFalse) !== false)) {
40
- return null;
41
- }
42
- if (pathValue && !(pointer.has(dataContext.data, pathValue) && pointer.get(dataContext.data, pathValue) === whenValue)) {
43
- return null;
44
- }
45
- if (inferData && !inferData(dataContext.data)) {
46
- return null;
47
- }
48
- return React.createElement(React.Fragment, null, children);
62
+ return check() ? React.createElement(React.Fragment, null, children) : null;
49
63
  }
50
64
  Visibility._supportsSpacingProps = 'children';
51
65
  export default Visibility;
@@ -1 +1 @@
1
- {"version":3,"file":"Visibility.js","names":["React","useContext","pointer","DataContext","Visibility","_ref","visible","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","children","dataContext","Context","has","data","get","Boolean","createElement","Fragment","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/Visibility.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport pointer from 'json-pointer'\nimport * as DataContext from '../../DataContext'\n\nexport type Props = {\n visible?: boolean\n /** Given data context path must be defined to show children */\n pathDefined?: string\n /** Given data context path must be undefined to show children */\n pathUndefined?: string\n /** Given data context path must be truthy to show children */\n pathTruthy?: string\n /** Given data context path must be falsy to show children */\n pathFalsy?: string\n /** Given data context path must be true to show children */\n pathTrue?: string\n /** Given data context path must be false to show children */\n pathFalse?: string\n /** Given data context path must match, as well as the \"whenValue\" value */\n pathValue?: string\n whenValue?: unknown\n /** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */\n inferData?: (data: unknown) => boolean\n children: React.ReactNode\n}\n\nfunction Visibility({\n visible,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n inferData,\n children,\n}: Props) {\n const dataContext = useContext(DataContext.Context)\n\n if (visible === false) {\n return null\n }\n\n if (pathDefined && !pointer.has(dataContext.data, pathDefined)) {\n return null\n }\n if (pathUndefined && pointer.has(dataContext.data, pathUndefined)) {\n return null\n }\n\n if (\n pathTruthy &&\n (!pointer.has(dataContext.data, pathTruthy) ||\n !pointer.get(dataContext.data, pathTruthy))\n ) {\n return null\n }\n if (\n pathFalsy &&\n pointer.has(dataContext.data, pathFalsy) &&\n Boolean(pointer.get(dataContext.data, pathFalsy))\n ) {\n return null\n }\n\n if (\n pathTrue &&\n (!pointer.has(dataContext.data, pathTrue) ||\n pointer.get(dataContext.data, pathTrue) !== true)\n ) {\n return null\n }\n if (\n pathFalse &&\n (!pointer.has(dataContext.data, pathFalse) ||\n pointer.get(dataContext.data, pathFalse) !== false)\n ) {\n return null\n }\n\n if (\n pathValue &&\n !(\n pointer.has(dataContext.data, pathValue) &&\n pointer.get(dataContext.data, pathValue) === whenValue\n )\n ) {\n return null\n }\n\n if (inferData && !inferData(dataContext.data)) {\n return null\n }\n\n return <>{children}</>\n}\n\nVisibility._supportsSpacingProps = 'children'\nexport default Visibility\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,OAAO,MAAM,cAAc;AAClC,OAAO,KAAKC,WAAW,MAAM,mBAAmB;AAwBhD,SAASC,UAAUA,CAAAC,IAAA,EAYT;EAAA,IAZU;IAClBC,OAAO;IACPC,WAAW;IACXC,aAAa;IACbC,UAAU;IACVC,SAAS;IACTC,QAAQ;IACRC,SAAS;IACTC,SAAS;IACTC,SAAS;IACTC,SAAS;IACTC;EACK,CAAC,GAAAX,IAAA;EACN,MAAMY,WAAW,GAAGhB,UAAU,CAACE,WAAW,CAACe,OAAO,CAAC;EAEnD,IAAIZ,OAAO,KAAK,KAAK,EAAE;IACrB,OAAO,IAAI;EACb;EAEA,IAAIC,WAAW,IAAI,CAACL,OAAO,CAACiB,GAAG,CAACF,WAAW,CAACG,IAAI,EAAEb,WAAW,CAAC,EAAE;IAC9D,OAAO,IAAI;EACb;EACA,IAAIC,aAAa,IAAIN,OAAO,CAACiB,GAAG,CAACF,WAAW,CAACG,IAAI,EAAEZ,aAAa,CAAC,EAAE;IACjE,OAAO,IAAI;EACb;EAEA,IACEC,UAAU,KACT,CAACP,OAAO,CAACiB,GAAG,CAACF,WAAW,CAACG,IAAI,EAAEX,UAAU,CAAC,IACzC,CAACP,OAAO,CAACmB,GAAG,CAACJ,WAAW,CAACG,IAAI,EAAEX,UAAU,CAAC,CAAC,EAC7C;IACA,OAAO,IAAI;EACb;EACA,IACEC,SAAS,IACTR,OAAO,CAACiB,GAAG,CAACF,WAAW,CAACG,IAAI,EAAEV,SAAS,CAAC,IACxCY,OAAO,CAACpB,OAAO,CAACmB,GAAG,CAACJ,WAAW,CAACG,IAAI,EAAEV,SAAS,CAAC,CAAC,EACjD;IACA,OAAO,IAAI;EACb;EAEA,IACEC,QAAQ,KACP,CAACT,OAAO,CAACiB,GAAG,CAACF,WAAW,CAACG,IAAI,EAAET,QAAQ,CAAC,IACvCT,OAAO,CAACmB,GAAG,CAACJ,WAAW,CAACG,IAAI,EAAET,QAAQ,CAAC,KAAK,IAAI,CAAC,EACnD;IACA,OAAO,IAAI;EACb;EACA,IACEC,SAAS,KACR,CAACV,OAAO,CAACiB,GAAG,CAACF,WAAW,CAACG,IAAI,EAAER,SAAS,CAAC,IACxCV,OAAO,CAACmB,GAAG,CAACJ,WAAW,CAACG,IAAI,EAAER,SAAS,CAAC,KAAK,KAAK,CAAC,EACrD;IACA,OAAO,IAAI;EACb;EAEA,IACEC,SAAS,IACT,EACEX,OAAO,CAACiB,GAAG,CAACF,WAAW,CAACG,IAAI,EAAEP,SAAS,CAAC,IACxCX,OAAO,CAACmB,GAAG,CAACJ,WAAW,CAACG,IAAI,EAAEP,SAAS,CAAC,KAAKC,SAAS,CACvD,EACD;IACA,OAAO,IAAI;EACb;EAEA,IAAIC,SAAS,IAAI,CAACA,SAAS,CAACE,WAAW,CAACG,IAAI,CAAC,EAAE;IAC7C,OAAO,IAAI;EACb;EAEA,OAAOpB,KAAA,CAAAuB,aAAA,CAAAvB,KAAA,CAAAwB,QAAA,QAAGR,QAAW,CAAC;AACxB;AAEAZ,UAAU,CAACqB,qBAAqB,GAAG,UAAU;AAC7C,eAAerB,UAAU"}
1
+ {"version":3,"file":"Visibility.js","names":["React","useContext","pointer","DataContext","HeightAnimation","Visibility","_ref","visible","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","animate","children","rest","_objectWithoutProperties","_excluded","dataContext","Context","check","has","data","get","Boolean","createElement","_extends","open","Fragment","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/Visibility.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport pointer from 'json-pointer'\nimport * as DataContext from '../../DataContext'\nimport HeightAnimation, {\n HeightAnimationProps,\n} from '../../../../components/HeightAnimation'\n\nexport type Props = {\n visible?: boolean\n /** Given data context path must be defined to show children */\n pathDefined?: string\n /** Given data context path must be undefined to show children */\n pathUndefined?: string\n /** Given data context path must be truthy to show children */\n pathTruthy?: string\n /** Given data context path must be falsy to show children */\n pathFalsy?: string\n /** Given data context path must be true to show children */\n pathTrue?: string\n /** Given data context path must be false to show children */\n pathFalse?: string\n /** Given data context path must match, as well as the \"whenValue\" value */\n pathValue?: string\n /** Given data context value must match this value to show children */\n whenValue?: unknown\n /** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */\n inferData?: (data: unknown) => boolean\n /** Animate the visibility change */\n animate?: boolean\n element?: HeightAnimationProps['element']\n children: React.ReactNode\n}\n\nfunction Visibility({\n visible,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n inferData,\n animate,\n children,\n ...rest\n}: Props) {\n const dataContext = useContext(DataContext.Context)\n\n const check = () => {\n if (visible === false) {\n return\n }\n\n if (pathDefined && !pointer.has(dataContext.data, pathDefined)) {\n return\n }\n if (pathUndefined && pointer.has(dataContext.data, pathUndefined)) {\n return\n }\n\n if (\n pathTruthy &&\n (!pointer.has(dataContext.data, pathTruthy) ||\n !pointer.get(dataContext.data, pathTruthy))\n ) {\n return\n }\n if (\n pathFalsy &&\n pointer.has(dataContext.data, pathFalsy) &&\n Boolean(pointer.get(dataContext.data, pathFalsy))\n ) {\n return\n }\n\n if (\n pathTrue &&\n (!pointer.has(dataContext.data, pathTrue) ||\n pointer.get(dataContext.data, pathTrue) !== true)\n ) {\n return\n }\n if (\n pathFalse &&\n (!pointer.has(dataContext.data, pathFalse) ||\n pointer.get(dataContext.data, pathFalse) !== false)\n ) {\n return\n }\n\n if (\n pathValue &&\n !(\n pointer.has(dataContext.data, pathValue) &&\n pointer.get(dataContext.data, pathValue) === whenValue\n )\n ) {\n return\n }\n\n if (inferData && !inferData(dataContext.data)) {\n return\n }\n\n return true\n }\n\n if (animate) {\n return (\n <HeightAnimation open={Boolean(check())} {...rest}>\n {children}\n </HeightAnimation>\n )\n }\n\n return check() ? <>{children}</> : null\n}\n\nVisibility._supportsSpacingProps = 'children'\nexport default Visibility\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,OAAO,MAAM,cAAc;AAClC,OAAO,KAAKC,WAAW,MAAM,mBAAmB;AAChD,OAAOC,eAAe,MAEf,wCAAwC;AA4B/C,SAASC,UAAUA,CAAAC,IAAA,EAcT;EAAA,IAdU;MAClBC,OAAO;MACPC,WAAW;MACXC,aAAa;MACbC,UAAU;MACVC,SAAS;MACTC,QAAQ;MACRC,SAAS;MACTC,SAAS;MACTC,SAAS;MACTC,SAAS;MACTC,OAAO;MACPC;IAEK,CAAC,GAAAZ,IAAA;IADHa,IAAI,GAAAC,wBAAA,CAAAd,IAAA,EAAAe,SAAA;EAEP,MAAMC,WAAW,GAAGrB,UAAU,CAACE,WAAW,CAACoB,OAAO,CAAC;EAEnD,MAAMC,KAAK,GAAGA,CAAA,KAAM;IAClB,IAAIjB,OAAO,KAAK,KAAK,EAAE;MACrB;IACF;IAEA,IAAIC,WAAW,IAAI,CAACN,OAAO,CAACuB,GAAG,CAACH,WAAW,CAACI,IAAI,EAAElB,WAAW,CAAC,EAAE;MAC9D;IACF;IACA,IAAIC,aAAa,IAAIP,OAAO,CAACuB,GAAG,CAACH,WAAW,CAACI,IAAI,EAAEjB,aAAa,CAAC,EAAE;MACjE;IACF;IAEA,IACEC,UAAU,KACT,CAACR,OAAO,CAACuB,GAAG,CAACH,WAAW,CAACI,IAAI,EAAEhB,UAAU,CAAC,IACzC,CAACR,OAAO,CAACyB,GAAG,CAACL,WAAW,CAACI,IAAI,EAAEhB,UAAU,CAAC,CAAC,EAC7C;MACA;IACF;IACA,IACEC,SAAS,IACTT,OAAO,CAACuB,GAAG,CAACH,WAAW,CAACI,IAAI,EAAEf,SAAS,CAAC,IACxCiB,OAAO,CAAC1B,OAAO,CAACyB,GAAG,CAACL,WAAW,CAACI,IAAI,EAAEf,SAAS,CAAC,CAAC,EACjD;MACA;IACF;IAEA,IACEC,QAAQ,KACP,CAACV,OAAO,CAACuB,GAAG,CAACH,WAAW,CAACI,IAAI,EAAEd,QAAQ,CAAC,IACvCV,OAAO,CAACyB,GAAG,CAACL,WAAW,CAACI,IAAI,EAAEd,QAAQ,CAAC,KAAK,IAAI,CAAC,EACnD;MACA;IACF;IACA,IACEC,SAAS,KACR,CAACX,OAAO,CAACuB,GAAG,CAACH,WAAW,CAACI,IAAI,EAAEb,SAAS,CAAC,IACxCX,OAAO,CAACyB,GAAG,CAACL,WAAW,CAACI,IAAI,EAAEb,SAAS,CAAC,KAAK,KAAK,CAAC,EACrD;MACA;IACF;IAEA,IACEC,SAAS,IACT,EACEZ,OAAO,CAACuB,GAAG,CAACH,WAAW,CAACI,IAAI,EAAEZ,SAAS,CAAC,IACxCZ,OAAO,CAACyB,GAAG,CAACL,WAAW,CAACI,IAAI,EAAEZ,SAAS,CAAC,KAAKC,SAAS,CACvD,EACD;MACA;IACF;IAEA,IAAIC,SAAS,IAAI,CAACA,SAAS,CAACM,WAAW,CAACI,IAAI,CAAC,EAAE;MAC7C;IACF;IAEA,OAAO,IAAI;EACb,CAAC;EAED,IAAIT,OAAO,EAAE;IACX,OACEjB,KAAA,CAAA6B,aAAA,CAACzB,eAAe,EAAA0B,QAAA;MAACC,IAAI,EAAEH,OAAO,CAACJ,KAAK,CAAC,CAAC;IAAE,GAAKL,IAAI,GAC9CD,QACc,CAAC;EAEtB;EAEA,OAAOM,KAAK,CAAC,CAAC,GAAGxB,KAAA,CAAA6B,aAAA,CAAA7B,KAAA,CAAAgC,QAAA,QAAGd,QAAW,CAAC,GAAG,IAAI;AACzC;AAEAb,UAAU,CAAC4B,qBAAqB,GAAG,UAAU;AAC7C,eAAe5B,UAAU"}
@@ -0,0 +1,8 @@
1
+ import { SharedStateId } from '../../../../shared/helpers/useSharedState';
2
+ import type { FilterData } from '../../DataContext/Provider';
3
+ type SetDataReturn<Data> = {
4
+ data: Data;
5
+ filterData: (filterDataHandler: FilterData) => Partial<Data>;
6
+ };
7
+ export default function getData<Data>(id: SharedStateId): SetDataReturn<Data>;
8
+ export {};
@@ -0,0 +1,15 @@
1
+ import { createSharedState } from '../../../../shared/helpers/useSharedState';
2
+ export default function getData(id) {
3
+ const sharedState = createSharedState(id);
4
+ const sharedAttachments = createSharedState(id + '-attachments');
5
+ const data = sharedState.get();
6
+ const filterData = filter => {
7
+ var _sharedAttachments$da, _sharedAttachments$da2;
8
+ return (_sharedAttachments$da = sharedAttachments.data) === null || _sharedAttachments$da === void 0 ? void 0 : (_sharedAttachments$da2 = _sharedAttachments$da.filterDataHandler) === null || _sharedAttachments$da2 === void 0 ? void 0 : _sharedAttachments$da2.call(_sharedAttachments$da, data, filter);
9
+ };
10
+ return {
11
+ data,
12
+ filterData
13
+ };
14
+ }
15
+ //# sourceMappingURL=getData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getData.js","names":["createSharedState","getData","id","sharedState","sharedAttachments","data","get","filterData","filter","_sharedAttachments$da","_sharedAttachments$da2","filterDataHandler","call"],"sources":["../../../../../../src/extensions/forms/Form/data-context/getData.tsx"],"sourcesContent":["import {\n SharedStateId,\n createSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport type {\n FilterData,\n FilterDataHandler,\n} from '../../DataContext/Provider'\n\ntype SharedAttachment<Data> = {\n filterDataHandler: FilterDataHandler<Data>\n}\n\ntype SetDataReturn<Data> = {\n data: Data\n filterData: (filterDataHandler: FilterData) => Partial<Data>\n}\n\nexport default function getData<Data>(\n id: SharedStateId\n): SetDataReturn<Data> {\n const sharedState = createSharedState(id)\n const sharedAttachments = createSharedState<SharedAttachment<Data>>(\n id + '-attachments'\n )\n\n const data = sharedState.get() as Data\n const filterData: SetDataReturn<Data>['filterData'] = (filter) =>\n sharedAttachments.data?.filterDataHandler?.(data, filter)\n\n return {\n data,\n filterData,\n }\n}\n"],"mappings":"AAAA,SAEEA,iBAAiB,QACZ,2CAA2C;AAelD,eAAe,SAASC,OAAOA,CAC7BC,EAAiB,EACI;EACrB,MAAMC,WAAW,GAAGH,iBAAiB,CAACE,EAAE,CAAC;EACzC,MAAME,iBAAiB,GAAGJ,iBAAiB,CACzCE,EAAE,GAAG,cACP,CAAC;EAED,MAAMG,IAAI,GAAGF,WAAW,CAACG,GAAG,CAAC,CAAS;EACtC,MAAMC,UAA6C,GAAIC,MAAM;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAAA,QAAAD,qBAAA,GAC3DL,iBAAiB,CAACC,IAAI,cAAAI,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwBE,iBAAiB,cAAAD,sBAAA,uBAAzCA,sBAAA,CAAAE,IAAA,CAAAH,qBAAA,EAA4CJ,IAAI,EAAEG,MAAM,CAAC;EAAA;EAE3D,OAAO;IACLH,IAAI;IACJE;EACF,CAAC;AACH"}
@@ -0,0 +1,2 @@
1
+ import { SharedStateId } from '../../../../shared/helpers/useSharedState';
2
+ export default function setData<Data>(id: SharedStateId, data: Data): void;
@@ -0,0 +1,6 @@
1
+ import { createSharedState } from '../../../../shared/helpers/useSharedState';
2
+ export default function setData(id, data) {
3
+ const sharedState = createSharedState(id);
4
+ sharedState.extend(data);
5
+ }
6
+ //# sourceMappingURL=setData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setData.js","names":["createSharedState","setData","id","data","sharedState","extend"],"sources":["../../../../../../src/extensions/forms/Form/data-context/setData.tsx"],"sourcesContent":["import {\n SharedStateId,\n createSharedState,\n} from '../../../../shared/helpers/useSharedState'\n\nexport default function setData<Data>(id: SharedStateId, data: Data) {\n const sharedState = createSharedState(id)\n sharedState.extend(data)\n}\n"],"mappings":"AAAA,SAEEA,iBAAiB,QACZ,2CAA2C;AAElD,eAAe,SAASC,OAAOA,CAAOC,EAAiB,EAAEC,IAAU,EAAE;EACnE,MAAMC,WAAW,GAAGJ,iBAAiB,CAACE,EAAE,CAAC;EACzCE,WAAW,CAACC,MAAM,CAACF,IAAI,CAAC;AAC1B"}
@@ -0,0 +1,22 @@
1
+ import { SharedStateId } from '../../../../shared/helpers/useSharedState';
2
+ import type { Path } from '../../DataContext/Context';
3
+ import type { FilterData } from '../../DataContext/Provider';
4
+ type PathImpl<T, P extends string> = P extends `${infer Key}/${infer Rest}` ? Key extends keyof T ? Rest extends '' ? T[Key] : PathImpl<T[Key], Rest> : never : T[P & keyof T];
5
+ type PathType<T, P extends string> = P extends `/${infer Rest}` ? PathImpl<T, Rest> : never;
6
+ type UseDataReturnUpdate<Data> = <P extends Path>(path: P, fn: (value: PathType<Data, P>) => unknown) => void;
7
+ type UseDataReturn<Data> = {
8
+ data: Data;
9
+ update: UseDataReturnUpdate<Data>;
10
+ set: (newData: Data) => void;
11
+ filterData: (filterDataHandler: FilterData) => Partial<Data>;
12
+ };
13
+ /**
14
+ * Custom hook that provides form data management functionality.
15
+ *
16
+ * @template Data - The type of data being managed.
17
+ * @param {SharedStateId} id - The identifier for the data.
18
+ * @param {Data} initialData - The initial data value (optional).
19
+ * @returns {UseDataReturn<Data>} An object containing the data and data management functions.
20
+ */
21
+ export default function useData<Data>(id: SharedStateId, initialData?: Data): UseDataReturn<Data>;
22
+ export {};
@@ -0,0 +1,59 @@
1
+ "use client";
2
+
3
+ import { useCallback, useEffect, useReducer, useRef } from 'react';
4
+ import pointer from 'json-pointer';
5
+ import { useSharedState } from '../../../../shared/helpers/useSharedState';
6
+ import { useMountEffect } from '../../hooks';
7
+ export default function useData(id) {
8
+ let initialData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
9
+ const sharedDataRef = useRef(null);
10
+ const sharedAttachmentsRef = useRef(null);
11
+ const hasMounted = useRef(false);
12
+ const [, forceUpdate] = useReducer(() => ({}), {});
13
+ useEffect(() => {
14
+ hasMounted.current = true;
15
+ return () => {
16
+ hasMounted.current = false;
17
+ };
18
+ }, []);
19
+ const rerenderUseDataHook = useCallback(() => {
20
+ if (hasMounted.current) {
21
+ if (typeof window !== 'undefined') {
22
+ window.requestAnimationFrame(forceUpdate);
23
+ }
24
+ } else {
25
+ forceUpdate();
26
+ }
27
+ }, []);
28
+ sharedDataRef.current = useSharedState(id, initialData, forceUpdate);
29
+ sharedAttachmentsRef.current = useSharedState(id + '-attachments', {
30
+ rerenderUseDataHook
31
+ });
32
+ const setHandler = useCallback(newData => {
33
+ sharedDataRef.current.update(newData);
34
+ }, []);
35
+ const updateHandler = useCallback((path, fn) => {
36
+ const existingData = sharedDataRef.current.data || {};
37
+ const existingValue = pointer.has(existingData, path) ? pointer.get(existingData, path) : undefined;
38
+ const newValue = fn(existingValue);
39
+ pointer.set(existingData, path, newValue);
40
+ sharedDataRef.current.update(existingData);
41
+ }, []);
42
+ const filterData = useCallback(filter => {
43
+ var _sharedAttachmentsRef, _sharedAttachmentsRef2;
44
+ const data = sharedDataRef.current.data;
45
+ return (_sharedAttachmentsRef = sharedAttachmentsRef.current.data) === null || _sharedAttachmentsRef === void 0 ? void 0 : (_sharedAttachmentsRef2 = _sharedAttachmentsRef.filterDataHandler) === null || _sharedAttachmentsRef2 === void 0 ? void 0 : _sharedAttachmentsRef2.call(_sharedAttachmentsRef, data, filter);
46
+ }, []);
47
+ useMountEffect(() => {
48
+ if (id && !sharedDataRef.current.hadInitialData && initialData) {
49
+ sharedDataRef.current.update(initialData);
50
+ }
51
+ });
52
+ return {
53
+ data: sharedDataRef.current.data,
54
+ update: updateHandler,
55
+ set: setHandler,
56
+ filterData
57
+ };
58
+ }
59
+ //# sourceMappingURL=useData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useData.js","names":["useCallback","useEffect","useReducer","useRef","pointer","useSharedState","useMountEffect","useData","id","initialData","arguments","length","undefined","sharedDataRef","sharedAttachmentsRef","hasMounted","forceUpdate","current","rerenderUseDataHook","window","requestAnimationFrame","setHandler","newData","update","updateHandler","path","fn","existingData","data","existingValue","has","get","newValue","set","filterData","filter","_sharedAttachmentsRef","_sharedAttachmentsRef2","filterDataHandler","call","hadInitialData"],"sources":["../../../../../../src/extensions/forms/Form/data-context/useData.tsx"],"sourcesContent":["import { useCallback, useEffect, useReducer, useRef } from 'react'\nimport pointer from 'json-pointer'\nimport {\n SharedStateId,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport type { Path } from '../../DataContext/Context'\nimport type {\n FilterData,\n FilterDataHandler,\n} from '../../DataContext/Provider'\nimport { useMountEffect } from '../../hooks'\n\ntype PathImpl<T, P extends string> = P extends `${infer Key}/${infer Rest}`\n ? Key extends keyof T\n ? Rest extends ''\n ? T[Key]\n : PathImpl<T[Key], Rest>\n : never\n : T[P & keyof T]\n\ntype PathType<T, P extends string> = P extends `/${infer Rest}`\n ? PathImpl<T, Rest>\n : never\n\ntype UseDataReturnUpdate<Data> = <P extends Path>(\n path: P,\n fn: (value: PathType<Data, P>) => unknown\n) => void\n\ntype UseDataReturn<Data> = {\n data: Data\n update: UseDataReturnUpdate<Data>\n set: (newData: Data) => void\n filterData: (filterDataHandler: FilterData) => Partial<Data>\n}\n\ntype SharedAttachment<Data> = {\n rerenderUseDataHook: () => void\n filterDataHandler?: FilterDataHandler<Data>\n}\n\n/**\n * Custom hook that provides form data management functionality.\n *\n * @template Data - The type of data being managed.\n * @param {SharedStateId} id - The identifier for the data.\n * @param {Data} initialData - The initial data value (optional).\n * @returns {UseDataReturn<Data>} An object containing the data and data management functions.\n */\nexport default function useData<Data>(\n id: SharedStateId,\n initialData: Data = undefined\n): UseDataReturn<Data> {\n const sharedDataRef =\n useRef<ReturnType<typeof useSharedState<Data>>>(null)\n const sharedAttachmentsRef =\n useRef<ReturnType<typeof useSharedState<SharedAttachment<Data>>>>(null)\n const hasMounted = useRef(false)\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n useEffect(() => {\n hasMounted.current = true\n return () => {\n hasMounted.current = false\n }\n }, [])\n\n const rerenderUseDataHook = useCallback(() => {\n if (hasMounted.current) {\n if (typeof window !== 'undefined') {\n // Because we need to wait for the updated props of the fields to be in latest state\n window.requestAnimationFrame(forceUpdate)\n }\n } else {\n forceUpdate()\n }\n }, [])\n\n sharedDataRef.current = useSharedState<Data>(\n id,\n initialData,\n forceUpdate\n )\n\n sharedAttachmentsRef.current = useSharedState<SharedAttachment<Data>>(\n id + '-attachments',\n { rerenderUseDataHook }\n )\n\n const setHandler = useCallback((newData: Data) => {\n sharedDataRef.current.update(newData)\n }, [])\n\n const updateHandler = useCallback<UseDataReturnUpdate<Data>>(\n (path, fn) => {\n const existingData = sharedDataRef.current.data || ({} as Data)\n const existingValue = pointer.has(existingData, path)\n ? pointer.get(existingData, path)\n : undefined\n\n // get new value\n const newValue = fn(existingValue)\n\n // update existing data\n pointer.set(existingData, path, newValue)\n\n // update provider\n sharedDataRef.current.update(existingData)\n },\n []\n )\n\n const filterData = useCallback<UseDataReturn<Data>['filterData']>(\n (filter) => {\n const data = sharedDataRef.current.data\n return sharedAttachmentsRef.current.data?.filterDataHandler?.(\n data,\n filter\n )\n },\n []\n )\n\n useMountEffect(() => {\n if (id && !sharedDataRef.current.hadInitialData && initialData) {\n sharedDataRef.current.update(initialData)\n }\n })\n\n return {\n data: sharedDataRef.current.data,\n update: updateHandler,\n set: setHandler,\n filterData,\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ type UseDataReturn = {
2
+ hasErrors: () => boolean;
3
+ };
4
+ export default function useError(id: string): UseDataReturn;
5
+ export {};
@@ -0,0 +1,13 @@
1
+ "use client";
2
+
3
+ import { useRef } from 'react';
4
+ import { useSharedState } from '../../../../shared/helpers/useSharedState';
5
+ export default function useError(id) {
6
+ var _sharedAttachmentsRef, _sharedAttachmentsRef2;
7
+ const sharedAttachmentsRef = useRef(null);
8
+ sharedAttachmentsRef.current = useSharedState(id + '-attachments');
9
+ return {
10
+ hasErrors: ((_sharedAttachmentsRef = sharedAttachmentsRef.current) === null || _sharedAttachmentsRef === void 0 ? void 0 : (_sharedAttachmentsRef2 = _sharedAttachmentsRef.data) === null || _sharedAttachmentsRef2 === void 0 ? void 0 : _sharedAttachmentsRef2.hasErrors) || (() => false)
11
+ };
12
+ }
13
+ //# sourceMappingURL=useError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useError.js","names":["useRef","useSharedState","useError","id","_sharedAttachmentsRef","_sharedAttachmentsRef2","sharedAttachmentsRef","current","hasErrors","data"],"sources":["../../../../../../src/extensions/forms/Form/data-context/useError.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useSharedState } from '../../../../shared/helpers/useSharedState'\n\ntype UseDataReturn = {\n hasErrors: () => boolean\n}\n\nexport default function useError(id: string): UseDataReturn {\n const sharedAttachmentsRef = useRef(null)\n\n sharedAttachmentsRef.current = useSharedState<{\n hasErrors?: UseDataReturn['hasErrors']\n }>(id + '-attachments')\n\n return {\n hasErrors:\n sharedAttachmentsRef.current?.data?.hasErrors || (() => false),\n }\n}\n"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,cAAc,QAAQ,2CAA2C;AAM1E,eAAe,SAASC,QAAQA,CAACC,EAAU,EAAiB;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EAC1D,MAAMC,oBAAoB,GAAGN,MAAM,CAAC,IAAI,CAAC;EAEzCM,oBAAoB,CAACC,OAAO,GAAGN,cAAc,CAE1CE,EAAE,GAAG,cAAc,CAAC;EAEvB,OAAO;IACLK,SAAS,EACP,EAAAJ,qBAAA,GAAAE,oBAAoB,CAACC,OAAO,cAAAH,qBAAA,wBAAAC,sBAAA,GAA5BD,qBAAA,CAA8BK,IAAI,cAAAJ,sBAAA,uBAAlCA,sBAAA,CAAoCG,SAAS,MAAK,MAAM,KAAK;EACjE,CAAC;AACH"}
@@ -5,4 +5,7 @@ export { default as ButtonRow } from './ButtonRow';
5
5
  export { default as MainHeading } from './MainHeading';
6
6
  export { default as SubHeading } from './SubHeading';
7
7
  export { default as Visibility } from './Visibility';
8
- export { default as useData } from './hooks/useData';
8
+ export { default as useData } from './data-context/useData';
9
+ export { default as setData } from './data-context/setData';
10
+ export { default as getData } from './data-context/getData';
11
+ export { default as useError } from './data-context/useError';
@@ -5,5 +5,8 @@ export { default as ButtonRow } from './ButtonRow';
5
5
  export { default as MainHeading } from './MainHeading';
6
6
  export { default as SubHeading } from './SubHeading';
7
7
  export { default as Visibility } from './Visibility';
8
- export { default as useData } from './hooks/useData';
8
+ export { default as useData } from './data-context/useData';
9
+ export { default as setData } from './data-context/setData';
10
+ export { default as getData } from './data-context/getData';
11
+ export { default as useError } from './data-context/useError';
9
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","Handler","Element","SubmitButton","ButtonRow","MainHeading","SubHeading","Visibility","useData"],"sources":["../../../../../src/extensions/forms/Form/index.ts"],"sourcesContent":["export { default as Handler } from './Handler'\nexport { default as Element } from './Element'\nexport { default as SubmitButton } from './SubmitButton'\nexport { default as ButtonRow } from './ButtonRow'\nexport { default as MainHeading } from './MainHeading'\nexport { default as SubHeading } from './SubHeading'\nexport { default as Visibility } from './Visibility'\nexport { default as useData } from './hooks/useData'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,OAAO,QAAQ,WAAW;AAC9C,SAASD,OAAO,IAAIE,OAAO,QAAQ,WAAW;AAC9C,SAASF,OAAO,IAAIG,YAAY,QAAQ,gBAAgB;AACxD,SAASH,OAAO,IAAII,SAAS,QAAQ,aAAa;AAClD,SAASJ,OAAO,IAAIK,WAAW,QAAQ,eAAe;AACtD,SAASL,OAAO,IAAIM,UAAU,QAAQ,cAAc;AACpD,SAASN,OAAO,IAAIO,UAAU,QAAQ,cAAc;AACpD,SAASP,OAAO,IAAIQ,OAAO,QAAQ,iBAAiB"}
1
+ {"version":3,"file":"index.js","names":["default","Handler","Element","SubmitButton","ButtonRow","MainHeading","SubHeading","Visibility","useData","setData","getData","useError"],"sources":["../../../../../src/extensions/forms/Form/index.ts"],"sourcesContent":["export { default as Handler } from './Handler'\nexport { default as Element } from './Element'\nexport { default as SubmitButton } from './SubmitButton'\nexport { default as ButtonRow } from './ButtonRow'\nexport { default as MainHeading } from './MainHeading'\nexport { default as SubHeading } from './SubHeading'\nexport { default as Visibility } from './Visibility'\nexport { default as useData } from './data-context/useData'\nexport { default as setData } from './data-context/setData'\nexport { default as getData } from './data-context/getData'\nexport { default as useError } from './data-context/useError'\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,OAAO,QAAQ,WAAW;AAC9C,SAASD,OAAO,IAAIE,OAAO,QAAQ,WAAW;AAC9C,SAASF,OAAO,IAAIG,YAAY,QAAQ,gBAAgB;AACxD,SAASH,OAAO,IAAII,SAAS,QAAQ,aAAa;AAClD,SAASJ,OAAO,IAAIK,WAAW,QAAQ,eAAe;AACtD,SAASL,OAAO,IAAIM,UAAU,QAAQ,cAAc;AACpD,SAASN,OAAO,IAAIO,UAAU,QAAQ,cAAc;AACpD,SAASP,OAAO,IAAIQ,OAAO,QAAQ,wBAAwB;AAC3D,SAASR,OAAO,IAAIS,OAAO,QAAQ,wBAAwB;AAC3D,SAAST,OAAO,IAAIU,OAAO,QAAQ,wBAAwB;AAC3D,SAASV,OAAO,IAAIW,QAAQ,QAAQ,yBAAyB"}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { Props as FieldBlockProps } from '../../FieldBlock';
3
- import { FieldProps, FieldHelpProps } from '../../types';
3
+ import { FieldProps, FieldHelpProps, CustomErrorMessages } from '../../types';
4
4
  import { BasicProps as FlexContainerProps } from '../../../../components/flex/Container';
5
- interface ErrorMessages {
5
+ interface ErrorMessages extends CustomErrorMessages {
6
6
  required?: string;
7
7
  schema?: string;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Array.js","names":["React","useMemo","useCallback","classnames","pointer","IterateElementContext","FieldBlock","useDataValue","pickSpacingProps","pickFlexContainerProps","Flex","ArrayComponent","props","className","layout","placeholder","label","labelDescription","path","value","arrayValue","info","warning","error","emptyValue","width","handleChange","children","elementData","map","elementValue","elementIndex","handleElementChange","newArrayValue","structuredClone","set","handleRemoveElement","splice","handlePush","element","createElement","_extends","contentWidth","undefined","Container","spacing","_ref","Provider","key","index","handleRemove","Array","isArray","childElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport pointer from 'json-pointer'\nimport IterateElementContext from '../IterateElementContext'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport { FieldProps, FieldHelpProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport {\n BasicProps as FlexContainerProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport Flex from '../../../../components/flex/Flex'\n\ninterface ErrorMessages {\n required?: string\n schema?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<unknown[], undefined, ErrorMessages> &\n Omit<FieldBlockProps, 'children'> &\n Omit<FlexContainerProps, 'children' | 'width'> & {\n children:\n | React.ReactNode\n | ((value: any, index: number) => React.ReactNode)\n | Array<\n | React.ReactNode\n | ((value: any, index: number) => React.ReactNode)\n >\n }\n\nfunction ArrayComponent(props: Props) {\n const {\n className,\n layout = 'vertical',\n placeholder,\n label,\n labelDescription,\n path,\n value: arrayValue,\n info,\n warning,\n error,\n emptyValue,\n width,\n handleChange,\n children,\n } = useDataValue(props)\n\n const elementData: {\n elementValue: unknown\n handleElementChange: (path: string, value: unknown) => void\n handleRemoveElement: () => void\n }[] = useMemo(() => {\n return (arrayValue ?? []).map((elementValue, elementIndex) => ({\n elementValue,\n handleElementChange: (path, value) => {\n const newArrayValue = structuredClone(arrayValue)\n pointer.set(newArrayValue, path, value)\n handleChange?.(newArrayValue)\n },\n handleRemoveElement: () => {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(elementIndex, 1)\n handleChange?.(newArrayValue)\n },\n }))\n }, [arrayValue, handleChange])\n\n const handlePush = useCallback(\n (element: unknown) => {\n handleChange([...(arrayValue ?? []), element])\n },\n [arrayValue, handleChange]\n )\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-number', className)}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n info={info}\n warning={warning}\n error={error}\n width={width}\n contentWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n <Flex.Container\n {...pickFlexContainerProps(props as FlexContainerProps, {\n spacing: 'small',\n })}\n >\n {arrayValue === emptyValue ? (\n <em>{placeholder}</em>\n ) : (\n elementData.map(\n (\n { elementValue, handleElementChange, handleRemoveElement },\n elementIndex\n ) => {\n return (\n <IterateElementContext.Provider\n key={`element-${elementIndex}`}\n value={{\n index: elementIndex,\n value: elementValue,\n path,\n handleChange: handleElementChange,\n handleRemove: handleRemoveElement,\n handlePush,\n }}\n >\n {Array.isArray(children)\n ? children.map((childElement) =>\n typeof childElement === 'function'\n ? childElement(elementValue, elementIndex)\n : childElement\n )\n : typeof children === 'function'\n ? children(elementValue, elementIndex)\n : children}\n </IterateElementContext.Provider>\n )\n }\n )\n )}\n </Flex.Container>\n </FieldBlock>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Array.js","names":["React","useMemo","useCallback","classnames","pointer","IterateElementContext","FieldBlock","useDataValue","pickSpacingProps","pickFlexContainerProps","Flex","ArrayComponent","props","className","layout","placeholder","label","labelDescription","path","value","arrayValue","info","warning","error","emptyValue","width","handleChange","children","elementData","map","elementValue","elementIndex","handleElementChange","newArrayValue","structuredClone","set","handleRemoveElement","splice","handlePush","element","createElement","_extends","contentWidth","undefined","Container","spacing","_ref","Provider","key","index","handleRemove","Array","isArray","childElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport pointer from 'json-pointer'\nimport IterateElementContext from '../IterateElementContext'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useDataValue } from '../../hooks'\nimport {\n FieldProps,\n FieldHelpProps,\n CustomErrorMessages,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport {\n BasicProps as FlexContainerProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport Flex from '../../../../components/flex/Flex'\n\ninterface ErrorMessages extends CustomErrorMessages {\n required?: string\n schema?: string\n}\n\nexport type Props = FieldHelpProps &\n FieldProps<unknown[], undefined, ErrorMessages> &\n Omit<FieldBlockProps, 'children'> &\n Omit<FlexContainerProps, 'children' | 'width'> & {\n children:\n | React.ReactNode\n | ((value: any, index: number) => React.ReactNode)\n | Array<\n | React.ReactNode\n | ((value: any, index: number) => React.ReactNode)\n >\n }\n\nfunction ArrayComponent(props: Props) {\n const {\n className,\n layout = 'vertical',\n placeholder,\n label,\n labelDescription,\n path,\n value: arrayValue,\n info,\n warning,\n error,\n emptyValue,\n width,\n handleChange,\n children,\n } = useDataValue(props)\n\n const elementData: {\n elementValue: unknown\n handleElementChange: (path: string, value: unknown) => void\n handleRemoveElement: () => void\n }[] = useMemo(() => {\n return (arrayValue ?? []).map((elementValue, elementIndex) => ({\n elementValue,\n handleElementChange: (path, value) => {\n const newArrayValue = structuredClone(arrayValue)\n pointer.set(newArrayValue, path, value)\n handleChange?.(newArrayValue)\n },\n handleRemoveElement: () => {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(elementIndex, 1)\n handleChange?.(newArrayValue)\n },\n }))\n }, [arrayValue, handleChange])\n\n const handlePush = useCallback(\n (element: unknown) => {\n handleChange([...(arrayValue ?? []), element])\n },\n [arrayValue, handleChange]\n )\n\n return (\n <FieldBlock\n className={classnames('dnb-forms-field-number', className)}\n layout={layout}\n label={label}\n labelDescription={labelDescription}\n info={info}\n warning={warning}\n error={error}\n width={width}\n contentWidth={width !== false ? width : undefined}\n {...pickSpacingProps(props)}\n >\n <Flex.Container\n {...pickFlexContainerProps(props as FlexContainerProps, {\n spacing: 'small',\n })}\n >\n {arrayValue === emptyValue ? (\n <em>{placeholder}</em>\n ) : (\n elementData.map(\n (\n { elementValue, handleElementChange, handleRemoveElement },\n elementIndex\n ) => {\n return (\n <IterateElementContext.Provider\n key={`element-${elementIndex}`}\n value={{\n index: elementIndex,\n value: elementValue,\n path,\n handleChange: handleElementChange,\n handleRemove: handleRemoveElement,\n handlePush,\n }}\n >\n {Array.isArray(children)\n ? children.map((childElement) =>\n typeof childElement === 'function'\n ? childElement(elementValue, elementIndex)\n : childElement\n )\n : typeof children === 'function'\n ? children(elementValue, elementIndex)\n : children}\n </IterateElementContext.Provider>\n )\n }\n )\n )}\n </Flex.Container>\n </FieldBlock>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":"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"}
@@ -7,6 +7,9 @@ export type Props = ComponentProps & {
7
7
  initialActiveIndex?: number;
8
8
  onStepChange?: (index: number) => void;
9
9
  children: React.ReactNode;
10
+ variant?: 'sidebar' | 'drawer';
11
+ noAnimation?: boolean;
12
+ sidebarId?: string;
10
13
  };
11
14
  declare function StepsLayout(props: Props): import("react/jsx-runtime").JSX.Element;
12
15
  declare namespace StepsLayout {