@dnb/eufemia 10.48.0 → 10.50.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 (573) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/cjs/components/breadcrumb/BreadcrumbItem.d.ts +1 -1
  3. package/cjs/components/breadcrumb/BreadcrumbItem.js +3 -3
  4. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  5. package/cjs/components/breadcrumb/BreadcrumbMultiple.js +2 -2
  6. package/cjs/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  7. package/cjs/components/checkbox/CheckboxDocs.js +1 -1
  8. package/cjs/components/checkbox/CheckboxDocs.js.map +1 -1
  9. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  10. package/cjs/components/height-animation/HeightAnimationInstance.js +13 -6
  11. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  12. package/cjs/elements/ElementDocs.d.ts +2 -0
  13. package/cjs/elements/ElementDocs.js +35 -0
  14. package/cjs/elements/ElementDocs.js.map +1 -0
  15. package/cjs/elements/blockquote/BlockquoteDocs.d.ts +2 -0
  16. package/cjs/elements/blockquote/BlockquoteDocs.js +25 -0
  17. package/cjs/elements/blockquote/BlockquoteDocs.js.map +1 -0
  18. package/cjs/elements/hr/HrDocs.d.ts +2 -0
  19. package/cjs/elements/hr/HrDocs.js +25 -0
  20. package/cjs/elements/hr/HrDocs.js.map +1 -0
  21. package/cjs/elements/img/ImgDocs.d.ts +2 -0
  22. package/cjs/elements/img/ImgDocs.js +40 -0
  23. package/cjs/elements/img/ImgDocs.js.map +1 -0
  24. package/cjs/elements/lists/DlDocs.d.ts +2 -0
  25. package/cjs/elements/lists/DlDocs.js +21 -0
  26. package/cjs/elements/lists/DlDocs.js.map +1 -0
  27. package/cjs/elements/lists/OlDocs.d.ts +2 -0
  28. package/cjs/elements/lists/OlDocs.js +31 -0
  29. package/cjs/elements/lists/OlDocs.js.map +1 -0
  30. package/cjs/elements/lists/UlDocs.d.ts +2 -0
  31. package/cjs/elements/lists/UlDocs.js +31 -0
  32. package/cjs/elements/lists/UlDocs.js.map +1 -0
  33. package/cjs/elements/typography/IngressDocs.d.ts +2 -0
  34. package/cjs/elements/typography/IngressDocs.js +15 -0
  35. package/cjs/elements/typography/IngressDocs.js.map +1 -0
  36. package/cjs/elements/typography/LeadDocs.d.ts +2 -0
  37. package/cjs/elements/typography/LeadDocs.js +15 -0
  38. package/cjs/elements/typography/LeadDocs.js.map +1 -0
  39. package/cjs/elements/typography/PDocs.d.ts +2 -0
  40. package/cjs/elements/typography/PDocs.js +40 -0
  41. package/cjs/elements/typography/PDocs.js.map +1 -0
  42. package/cjs/extensions/forms/DataContext/Context.d.ts +21 -8
  43. package/cjs/extensions/forms/DataContext/Context.js +1 -2
  44. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  45. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +4 -0
  46. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  47. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +13 -4
  48. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  49. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +0 -4
  50. package/cjs/extensions/forms/DataContext/Provider/Provider.js +85 -49
  51. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  52. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  53. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  54. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +34 -5
  55. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  56. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -4
  57. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -3
  58. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  59. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -0
  60. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +65 -2
  61. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  62. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +10 -5
  63. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +59 -32
  64. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  65. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +5 -0
  66. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  67. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +1 -1
  68. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  69. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  70. package/cjs/extensions/forms/Form/Handler/Handler.js +3 -1
  71. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  72. package/cjs/extensions/forms/Form/Isolation/Isolation.js +15 -6
  73. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  74. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -2
  75. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  76. package/cjs/extensions/forms/Form/Visibility/Visibility.js +9 -3
  77. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  78. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +6 -0
  79. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js +12 -0
  80. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -0
  81. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  82. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  83. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +3 -3
  84. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  85. package/cjs/extensions/forms/Form/data-context/getData.d.ts +2 -1
  86. package/cjs/extensions/forms/Form/data-context/getData.js +6 -1
  87. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  88. package/cjs/extensions/forms/Form/data-context/useData.d.ts +4 -1
  89. package/cjs/extensions/forms/Form/data-context/useData.js +32 -9
  90. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  91. package/cjs/extensions/forms/Iterate/Array/Array.js +40 -17
  92. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  93. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +11 -1
  94. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  95. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +1 -1
  96. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  97. package/cjs/extensions/forms/Iterate/Array/types.d.ts +2 -0
  98. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  99. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +19 -7
  100. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  101. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js +0 -1
  102. package/cjs/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  103. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +2 -2
  104. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  105. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +29 -7
  106. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  107. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js +18 -2
  108. package/cjs/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  109. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +2 -1
  110. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +30 -10
  111. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  112. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  113. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  114. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +3 -5
  115. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  116. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  117. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  118. package/cjs/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  119. package/cjs/extensions/forms/Iterate/hooks/index.js +7 -0
  120. package/cjs/extensions/forms/Iterate/hooks/index.js.map +1 -1
  121. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +15 -0
  122. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js +50 -0
  123. package/cjs/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -0
  124. package/cjs/extensions/forms/Tools/Log.js +1 -1
  125. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  126. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +12 -0
  127. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +27 -10
  128. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  129. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +10 -0
  130. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  131. package/cjs/extensions/forms/Value/Number/Number.js +3 -2
  132. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  133. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +1 -0
  134. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js +7 -23
  135. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  136. package/cjs/extensions/forms/Value/SelectCountry/useCountry.d.ts +4 -0
  137. package/cjs/extensions/forms/Value/SelectCountry/useCountry.js +33 -0
  138. package/cjs/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -0
  139. package/cjs/extensions/forms/Value/Selection/Selection.js +2 -1
  140. package/cjs/extensions/forms/Value/Selection/Selection.js.map +1 -1
  141. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  142. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  143. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +8 -6
  144. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  145. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  146. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  147. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +4 -2
  148. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +40 -22
  149. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  150. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +10 -0
  151. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  152. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +72 -70
  153. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  154. package/cjs/extensions/forms/constants/countries.d.ts +1 -0
  155. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  156. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +5 -4
  157. package/cjs/extensions/forms/constants/locales/en-GB.js +8 -7
  158. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  159. package/cjs/extensions/forms/constants/locales/en-US.d.ts +5 -4
  160. package/cjs/extensions/forms/constants/locales/index.d.ts +10 -8
  161. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +5 -4
  162. package/cjs/extensions/forms/constants/locales/nb-NO.js +8 -7
  163. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  164. package/cjs/extensions/forms/hooks/DataValueDocs.js +1 -1
  165. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  166. package/cjs/extensions/forms/hooks/useFieldProps.js +156 -58
  167. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  168. package/cjs/extensions/forms/hooks/useValueProps.js +31 -8
  169. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  170. package/cjs/extensions/forms/types.d.ts +13 -6
  171. package/cjs/extensions/forms/types.js.map +1 -1
  172. package/cjs/shared/Eufemia.d.ts +1 -1
  173. package/cjs/shared/Eufemia.js +2 -2
  174. package/cjs/shared/Eufemia.js.map +1 -1
  175. package/cjs/shared/locales/en-GB.js.map +1 -1
  176. package/cjs/shared/locales/en-US.d.ts +1 -1
  177. package/cjs/shared/locales/en-US.js +2 -2
  178. package/cjs/shared/locales/en-US.js.map +1 -1
  179. package/cjs/style/core/scopes.scss +1 -1
  180. package/cjs/style/dnb-ui-basis.css +1 -1
  181. package/cjs/style/dnb-ui-basis.min.css +1 -1
  182. package/cjs/style/dnb-ui-body.css +1 -1
  183. package/cjs/style/dnb-ui-body.min.css +1 -1
  184. package/cjs/style/dnb-ui-core.css +1 -1
  185. package/cjs/style/dnb-ui-core.min.css +1 -1
  186. package/components/breadcrumb/BreadcrumbItem.d.ts +1 -1
  187. package/components/breadcrumb/BreadcrumbItem.js +3 -3
  188. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  189. package/components/breadcrumb/BreadcrumbMultiple.js +2 -2
  190. package/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  191. package/components/checkbox/CheckboxDocs.js +1 -1
  192. package/components/checkbox/CheckboxDocs.js.map +1 -1
  193. package/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  194. package/components/height-animation/HeightAnimationInstance.js +13 -6
  195. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  196. package/elements/ElementDocs.d.ts +2 -0
  197. package/elements/ElementDocs.js +28 -0
  198. package/elements/ElementDocs.js.map +1 -0
  199. package/elements/blockquote/BlockquoteDocs.d.ts +2 -0
  200. package/elements/blockquote/BlockquoteDocs.js +18 -0
  201. package/elements/blockquote/BlockquoteDocs.js.map +1 -0
  202. package/elements/hr/HrDocs.d.ts +2 -0
  203. package/elements/hr/HrDocs.js +18 -0
  204. package/elements/hr/HrDocs.js.map +1 -0
  205. package/elements/img/ImgDocs.d.ts +2 -0
  206. package/elements/img/ImgDocs.js +33 -0
  207. package/elements/img/ImgDocs.js.map +1 -0
  208. package/elements/lists/DlDocs.d.ts +2 -0
  209. package/elements/lists/DlDocs.js +12 -0
  210. package/elements/lists/DlDocs.js.map +1 -0
  211. package/elements/lists/OlDocs.d.ts +2 -0
  212. package/elements/lists/OlDocs.js +22 -0
  213. package/elements/lists/OlDocs.js.map +1 -0
  214. package/elements/lists/UlDocs.d.ts +2 -0
  215. package/elements/lists/UlDocs.js +22 -0
  216. package/elements/lists/UlDocs.js.map +1 -0
  217. package/elements/typography/IngressDocs.d.ts +2 -0
  218. package/elements/typography/IngressDocs.js +6 -0
  219. package/elements/typography/IngressDocs.js.map +1 -0
  220. package/elements/typography/LeadDocs.d.ts +2 -0
  221. package/elements/typography/LeadDocs.js +6 -0
  222. package/elements/typography/LeadDocs.js.map +1 -0
  223. package/elements/typography/PDocs.d.ts +2 -0
  224. package/elements/typography/PDocs.js +33 -0
  225. package/elements/typography/PDocs.js.map +1 -0
  226. package/es/components/breadcrumb/BreadcrumbItem.d.ts +1 -1
  227. package/es/components/breadcrumb/BreadcrumbItem.js +3 -3
  228. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  229. package/es/components/breadcrumb/BreadcrumbMultiple.js +2 -2
  230. package/es/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  231. package/es/components/checkbox/CheckboxDocs.js +1 -1
  232. package/es/components/checkbox/CheckboxDocs.js.map +1 -1
  233. package/es/components/height-animation/HeightAnimationInstance.d.ts +1 -0
  234. package/es/components/height-animation/HeightAnimationInstance.js +13 -6
  235. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  236. package/es/elements/ElementDocs.d.ts +2 -0
  237. package/es/elements/ElementDocs.js +28 -0
  238. package/es/elements/ElementDocs.js.map +1 -0
  239. package/es/elements/blockquote/BlockquoteDocs.d.ts +2 -0
  240. package/es/elements/blockquote/BlockquoteDocs.js +18 -0
  241. package/es/elements/blockquote/BlockquoteDocs.js.map +1 -0
  242. package/es/elements/hr/HrDocs.d.ts +2 -0
  243. package/es/elements/hr/HrDocs.js +18 -0
  244. package/es/elements/hr/HrDocs.js.map +1 -0
  245. package/es/elements/img/ImgDocs.d.ts +2 -0
  246. package/es/elements/img/ImgDocs.js +33 -0
  247. package/es/elements/img/ImgDocs.js.map +1 -0
  248. package/es/elements/lists/DlDocs.d.ts +2 -0
  249. package/es/elements/lists/DlDocs.js +12 -0
  250. package/es/elements/lists/DlDocs.js.map +1 -0
  251. package/es/elements/lists/OlDocs.d.ts +2 -0
  252. package/es/elements/lists/OlDocs.js +22 -0
  253. package/es/elements/lists/OlDocs.js.map +1 -0
  254. package/es/elements/lists/UlDocs.d.ts +2 -0
  255. package/es/elements/lists/UlDocs.js +22 -0
  256. package/es/elements/lists/UlDocs.js.map +1 -0
  257. package/es/elements/typography/IngressDocs.d.ts +2 -0
  258. package/es/elements/typography/IngressDocs.js +6 -0
  259. package/es/elements/typography/IngressDocs.js.map +1 -0
  260. package/es/elements/typography/LeadDocs.d.ts +2 -0
  261. package/es/elements/typography/LeadDocs.js +6 -0
  262. package/es/elements/typography/LeadDocs.js.map +1 -0
  263. package/es/elements/typography/PDocs.d.ts +2 -0
  264. package/es/elements/typography/PDocs.js +33 -0
  265. package/es/elements/typography/PDocs.js.map +1 -0
  266. package/es/extensions/forms/DataContext/Context.d.ts +21 -8
  267. package/es/extensions/forms/DataContext/Context.js +1 -2
  268. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  269. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +4 -0
  270. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  271. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +13 -4
  272. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  273. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +0 -4
  274. package/es/extensions/forms/DataContext/Provider/Provider.js +83 -47
  275. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  276. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  277. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  278. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +35 -6
  279. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  280. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -4
  281. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -4
  282. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  283. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -0
  284. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +63 -1
  285. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  286. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +10 -5
  287. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +50 -21
  288. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  289. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +5 -0
  290. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  291. package/es/extensions/forms/FieldBlock/FieldBlock.js +1 -1
  292. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  293. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  294. package/es/extensions/forms/Form/Handler/Handler.js +3 -1
  295. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  296. package/es/extensions/forms/Form/Isolation/Isolation.js +15 -6
  297. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  298. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -2
  299. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  300. package/es/extensions/forms/Form/Visibility/Visibility.js +9 -3
  301. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  302. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +6 -0
  303. package/es/extensions/forms/Form/Visibility/VisibilityContext.js +6 -0
  304. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -0
  305. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  306. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  307. package/es/extensions/forms/Form/Visibility/useVisibility.js +3 -3
  308. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  309. package/es/extensions/forms/Form/data-context/getData.d.ts +2 -1
  310. package/es/extensions/forms/Form/data-context/getData.js +6 -1
  311. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  312. package/es/extensions/forms/Form/data-context/useData.d.ts +4 -1
  313. package/es/extensions/forms/Form/data-context/useData.js +31 -9
  314. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  315. package/es/extensions/forms/Iterate/Array/Array.js +43 -20
  316. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  317. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +11 -1
  318. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  319. package/es/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +1 -1
  320. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  321. package/es/extensions/forms/Iterate/Array/types.d.ts +2 -0
  322. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  323. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +15 -5
  324. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  325. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js +0 -1
  326. package/es/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  327. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +2 -2
  328. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  329. package/es/extensions/forms/Iterate/PushButton/PushButton.js +31 -9
  330. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  331. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js +19 -3
  332. package/es/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  333. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +2 -1
  334. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +31 -11
  335. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  336. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  337. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  338. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -6
  339. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  340. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  341. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  342. package/es/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  343. package/es/extensions/forms/Iterate/hooks/index.js +1 -0
  344. package/es/extensions/forms/Iterate/hooks/index.js.map +1 -1
  345. package/es/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +15 -0
  346. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js +43 -0
  347. package/es/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -0
  348. package/es/extensions/forms/Tools/Log.js +1 -1
  349. package/es/extensions/forms/Tools/Log.js.map +1 -1
  350. package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +12 -0
  351. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +26 -9
  352. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  353. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +10 -0
  354. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  355. package/es/extensions/forms/Value/Number/Number.js +3 -2
  356. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  357. package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +1 -0
  358. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js +7 -22
  359. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  360. package/es/extensions/forms/Value/SelectCountry/useCountry.d.ts +4 -0
  361. package/es/extensions/forms/Value/SelectCountry/useCountry.js +27 -0
  362. package/es/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -0
  363. package/es/extensions/forms/Value/Selection/Selection.js +2 -1
  364. package/es/extensions/forms/Value/Selection/Selection.js.map +1 -1
  365. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  366. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  367. package/es/extensions/forms/ValueBlock/ValueBlock.js +8 -6
  368. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  369. package/es/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  370. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  371. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +4 -2
  372. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +40 -22
  373. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  374. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +10 -0
  375. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  376. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +72 -70
  377. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  378. package/es/extensions/forms/constants/countries.d.ts +1 -0
  379. package/es/extensions/forms/constants/countries.js.map +1 -1
  380. package/es/extensions/forms/constants/locales/en-GB.d.ts +5 -4
  381. package/es/extensions/forms/constants/locales/en-GB.js +8 -7
  382. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  383. package/es/extensions/forms/constants/locales/en-US.d.ts +5 -4
  384. package/es/extensions/forms/constants/locales/index.d.ts +10 -8
  385. package/es/extensions/forms/constants/locales/nb-NO.d.ts +5 -4
  386. package/es/extensions/forms/constants/locales/nb-NO.js +8 -7
  387. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  388. package/es/extensions/forms/hooks/DataValueDocs.js +1 -1
  389. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  390. package/es/extensions/forms/hooks/useFieldProps.js +149 -54
  391. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  392. package/es/extensions/forms/hooks/useValueProps.js +32 -9
  393. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  394. package/es/extensions/forms/types.d.ts +13 -6
  395. package/es/extensions/forms/types.js.map +1 -1
  396. package/es/shared/Eufemia.d.ts +1 -1
  397. package/es/shared/Eufemia.js +2 -2
  398. package/es/shared/Eufemia.js.map +1 -1
  399. package/es/shared/locales/en-GB.js.map +1 -1
  400. package/es/shared/locales/en-US.d.ts +1 -1
  401. package/es/shared/locales/en-US.js +2 -2
  402. package/es/shared/locales/en-US.js.map +1 -1
  403. package/es/style/core/scopes.scss +1 -1
  404. package/es/style/dnb-ui-basis.css +1 -1
  405. package/es/style/dnb-ui-basis.min.css +1 -1
  406. package/es/style/dnb-ui-body.css +1 -1
  407. package/es/style/dnb-ui-body.min.css +1 -1
  408. package/es/style/dnb-ui-core.css +1 -1
  409. package/es/style/dnb-ui-core.min.css +1 -1
  410. package/esm/dnb-ui-basis.min.mjs +1 -1
  411. package/esm/dnb-ui-components.min.mjs +1 -1
  412. package/esm/dnb-ui-elements.min.mjs +1 -1
  413. package/esm/dnb-ui-extensions.min.mjs +3 -3
  414. package/esm/dnb-ui-lib.min.mjs +1 -1
  415. package/extensions/forms/DataContext/Context.d.ts +21 -8
  416. package/extensions/forms/DataContext/Context.js +1 -2
  417. package/extensions/forms/DataContext/Context.js.map +1 -1
  418. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +4 -0
  419. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  420. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +13 -4
  421. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  422. package/extensions/forms/DataContext/Provider/Provider.d.ts +0 -4
  423. package/extensions/forms/DataContext/Provider/Provider.js +85 -47
  424. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  425. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  426. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  427. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +35 -6
  428. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  429. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -4
  430. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -4
  431. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  432. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -0
  433. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +63 -1
  434. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  435. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +10 -5
  436. package/extensions/forms/Field/SelectCountry/SelectCountry.js +59 -33
  437. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  438. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +5 -0
  439. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  440. package/extensions/forms/FieldBlock/FieldBlock.js +1 -1
  441. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  442. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  443. package/extensions/forms/Form/Handler/Handler.js +3 -1
  444. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  445. package/extensions/forms/Form/Isolation/Isolation.js +15 -6
  446. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  447. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -2
  448. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  449. package/extensions/forms/Form/Visibility/Visibility.js +9 -3
  450. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  451. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +6 -0
  452. package/extensions/forms/Form/Visibility/VisibilityContext.js +6 -0
  453. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -0
  454. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  455. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  456. package/extensions/forms/Form/Visibility/useVisibility.js +3 -3
  457. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  458. package/extensions/forms/Form/data-context/getData.d.ts +2 -1
  459. package/extensions/forms/Form/data-context/getData.js +6 -1
  460. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  461. package/extensions/forms/Form/data-context/useData.d.ts +4 -1
  462. package/extensions/forms/Form/data-context/useData.js +32 -9
  463. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  464. package/extensions/forms/Iterate/Array/Array.js +43 -20
  465. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  466. package/extensions/forms/Iterate/Array/ArrayDocs.js +11 -1
  467. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  468. package/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +1 -1
  469. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  470. package/extensions/forms/Iterate/Array/types.d.ts +2 -0
  471. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  472. package/extensions/forms/Iterate/EditContainer/CancelButton.js +18 -7
  473. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  474. package/extensions/forms/Iterate/EditContainer/DoneButton.js +0 -1
  475. package/extensions/forms/Iterate/EditContainer/DoneButton.js.map +1 -1
  476. package/extensions/forms/Iterate/EditContainer/EditContainer.js +2 -2
  477. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  478. package/extensions/forms/Iterate/PushButton/PushButton.js +31 -9
  479. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  480. package/extensions/forms/Iterate/PushContainer/OpenButton.js +19 -3
  481. package/extensions/forms/Iterate/PushContainer/OpenButton.js.map +1 -1
  482. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +2 -1
  483. package/extensions/forms/Iterate/PushContainer/PushContainer.js +31 -11
  484. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  485. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +5 -0
  486. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  487. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -6
  488. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  489. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  490. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  491. package/extensions/forms/Iterate/hooks/index.d.ts +1 -0
  492. package/extensions/forms/Iterate/hooks/index.js +1 -0
  493. package/extensions/forms/Iterate/hooks/index.js.map +1 -1
  494. package/extensions/forms/Iterate/hooks/useArrayLimit.d.ts +15 -0
  495. package/extensions/forms/Iterate/hooks/useArrayLimit.js +44 -0
  496. package/extensions/forms/Iterate/hooks/useArrayLimit.js.map +1 -0
  497. package/extensions/forms/Tools/Log.js +1 -1
  498. package/extensions/forms/Tools/Log.js.map +1 -1
  499. package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +12 -0
  500. package/extensions/forms/Value/ArraySelection/ArraySelection.js +27 -10
  501. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  502. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +10 -0
  503. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  504. package/extensions/forms/Value/Number/Number.js +3 -2
  505. package/extensions/forms/Value/Number/Number.js.map +1 -1
  506. package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +1 -0
  507. package/extensions/forms/Value/SelectCountry/SelectCountry.js +7 -22
  508. package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -1
  509. package/extensions/forms/Value/SelectCountry/useCountry.d.ts +4 -0
  510. package/extensions/forms/Value/SelectCountry/useCountry.js +27 -0
  511. package/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -0
  512. package/extensions/forms/Value/Selection/Selection.js +2 -1
  513. package/extensions/forms/Value/Selection/Selection.js.map +1 -1
  514. package/extensions/forms/Value/ValueDocs.js +5 -0
  515. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  516. package/extensions/forms/ValueBlock/ValueBlock.js +8 -6
  517. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  518. package/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  519. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  520. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +4 -2
  521. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +40 -22
  522. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  523. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +10 -0
  524. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  525. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +72 -70
  526. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  527. package/extensions/forms/constants/countries.d.ts +1 -0
  528. package/extensions/forms/constants/countries.js.map +1 -1
  529. package/extensions/forms/constants/locales/en-GB.d.ts +5 -4
  530. package/extensions/forms/constants/locales/en-GB.js +8 -7
  531. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  532. package/extensions/forms/constants/locales/en-US.d.ts +5 -4
  533. package/extensions/forms/constants/locales/index.d.ts +10 -8
  534. package/extensions/forms/constants/locales/nb-NO.d.ts +5 -4
  535. package/extensions/forms/constants/locales/nb-NO.js +8 -7
  536. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  537. package/extensions/forms/hooks/DataValueDocs.js +1 -1
  538. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  539. package/extensions/forms/hooks/useFieldProps.js +154 -58
  540. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  541. package/extensions/forms/hooks/useValueProps.js +32 -9
  542. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  543. package/extensions/forms/types.d.ts +13 -6
  544. package/extensions/forms/types.js.map +1 -1
  545. package/package.json +1 -1
  546. package/shared/Eufemia.d.ts +1 -1
  547. package/shared/Eufemia.js +2 -2
  548. package/shared/Eufemia.js.map +1 -1
  549. package/shared/locales/en-GB.js.map +1 -1
  550. package/shared/locales/en-US.d.ts +1 -1
  551. package/shared/locales/en-US.js +2 -2
  552. package/shared/locales/en-US.js.map +1 -1
  553. package/style/core/scopes.scss +1 -1
  554. package/style/dnb-ui-basis.css +1 -1
  555. package/style/dnb-ui-basis.min.css +1 -1
  556. package/style/dnb-ui-body.css +1 -1
  557. package/style/dnb-ui-body.min.css +1 -1
  558. package/style/dnb-ui-core.css +1 -1
  559. package/style/dnb-ui-core.min.css +1 -1
  560. package/umd/dnb-ui-basis.min.js +1 -1
  561. package/umd/dnb-ui-components.min.js +1 -1
  562. package/umd/dnb-ui-elements.min.js +1 -1
  563. package/umd/dnb-ui-extensions.min.js +3 -3
  564. package/umd/dnb-ui-lib.min.js +1 -1
  565. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +0 -1
  566. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +0 -25
  567. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +0 -1
  568. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +0 -1
  569. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +0 -19
  570. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +0 -1
  571. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +0 -1
  572. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +0 -19
  573. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +0 -1
@@ -10,6 +10,11 @@ const SelectCountryProperties = {
10
10
  doc: 'List only a certain set of countries: `Scandinavia`, `Nordic`, `Europe` or `Prioritized`(all countries [sorted by priority](/uilib/extensions/forms/feature-fields/SelectCountry/#filter-or-prioritize-country-listing)). Defaults to `Prioritized`.',
11
11
  type: 'string',
12
12
  status: 'optional'
13
+ },
14
+ filterCountries: {
15
+ doc: 'Use this prop to filter out certain countries. The function receives the country object and should return a boolean. Returning `false` will omit the country.',
16
+ type: 'function',
17
+ status: 'optional'
13
18
  }
14
19
  };
15
20
  exports.SelectCountryProperties = SelectCountryProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectCountryDocs.js","names":["_FieldDocs","require","SelectCountryProperties","countries","doc","type","status","exports","SelectCountryGeneralEvents","getFieldEventsWithTypes","optional"],"sources":["../../../../../../src/extensions/forms/Field/SelectCountry/SelectCountryDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { getFieldEventsWithTypes } from '../FieldDocs'\n\nexport const SelectCountryProperties: PropertiesTableProps = {\n countries: {\n doc: 'List only a certain set of countries: `Scandinavia`, `Nordic`, `Europe` or `Prioritized`(all countries [sorted by priority](/uilib/extensions/forms/feature-fields/SelectCountry/#filter-or-prioritize-country-listing)). Defaults to `Prioritized`.',\n type: 'string',\n status: 'optional',\n },\n}\n\nexport const SelectCountryGeneralEvents = getFieldEventsWithTypes(\n { type: 'string', optional: true },\n { type: 'object', optional: true }\n)\n"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,uBAA6C,GAAG;EAC3DC,SAAS,EAAE;IACTC,GAAG,EAAE,sPAAsP;IAC3PC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC;AAAAC,OAAA,CAAAL,uBAAA,GAAAA,uBAAA;AAEM,MAAMM,0BAA0B,GAAG,IAAAC,kCAAuB,EAC/D;EAAEJ,IAAI,EAAE,QAAQ;EAAEK,QAAQ,EAAE;AAAK,CAAC,EAClC;EAAEL,IAAI,EAAE,QAAQ;EAAEK,QAAQ,EAAE;AAAK,CACnC,CAAC;AAAAH,OAAA,CAAAC,0BAAA,GAAAA,0BAAA"}
1
+ {"version":3,"file":"SelectCountryDocs.js","names":["_FieldDocs","require","SelectCountryProperties","countries","doc","type","status","filterCountries","exports","SelectCountryGeneralEvents","getFieldEventsWithTypes","optional"],"sources":["../../../../../../src/extensions/forms/Field/SelectCountry/SelectCountryDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { getFieldEventsWithTypes } from '../FieldDocs'\n\nexport const SelectCountryProperties: PropertiesTableProps = {\n countries: {\n doc: 'List only a certain set of countries: `Scandinavia`, `Nordic`, `Europe` or `Prioritized`(all countries [sorted by priority](/uilib/extensions/forms/feature-fields/SelectCountry/#filter-or-prioritize-country-listing)). Defaults to `Prioritized`.',\n type: 'string',\n status: 'optional',\n },\n filterCountries: {\n doc: 'Use this prop to filter out certain countries. The function receives the country object and should return a boolean. Returning `false` will omit the country.',\n type: 'function',\n status: 'optional',\n },\n}\n\nexport const SelectCountryGeneralEvents = getFieldEventsWithTypes(\n { type: 'string', optional: true },\n { type: 'object', optional: true }\n)\n"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,uBAA6C,GAAG;EAC3DC,SAAS,EAAE;IACTC,GAAG,EAAE,sPAAsP;IAC3PC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,eAAe,EAAE;IACfH,GAAG,EAAE,+JAA+J;IACpKC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAE,OAAA,CAAAN,uBAAA,GAAAA,uBAAA;AAEM,MAAMO,0BAA0B,GAAG,IAAAC,kCAAuB,EAC/D;EAAEL,IAAI,EAAE,QAAQ;EAAEM,QAAQ,EAAE;AAAK,CAAC,EAClC;EAAEN,IAAI,EAAE,QAAQ;EAAEM,QAAQ,EAAE;AAAK,CACnC,CAAC;AAAAH,OAAA,CAAAC,0BAAA,GAAAA,0BAAA"}
@@ -88,7 +88,7 @@ function FieldBlock(props) {
88
88
  const label = (0, _react.useMemo)(() => {
89
89
  let content = labelProp;
90
90
  if (iterateIndex !== undefined) {
91
- content = (0, _componentHelper.convertJsxToString)(labelProp).replace('{itemNr}', String(iterateIndex + 1));
91
+ content = (0, _componentHelper.convertJsxToString)(labelProp).replace('{itemNo}', String(iterateIndex + 1));
92
92
  }
93
93
  if (labelSuffixText) {
94
94
  if ((0, _componentHelper.convertJsxToString)(content).includes(optionalLabelSuffix)) {
@@ -1 +1 @@
1
- {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlockContext","_Context","_IterateItemContext","_components","_elements","_componentHelper","_useId","_types","_SubmitIndicator","_useSharedState","_useTranslation","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","states","exports","FieldBlock","props","dataContext","useContext","DataContext","nestedFieldBlockContext","FieldBlockContext","sharedData","createSharedState","forId","id","_Object$assign","data","className","layout","composition","label","labelProp","labelDescription","labelSuffix","labelSrOnly","asFieldset","required","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","align","labelSize","contentClassName","children","rest","iterateItemContext","IterateElementContext","index","iterateIndex","blockId","useId","wasUpdated","forceUpdate","useReducer","mountedFieldsRef","useRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","useMemo","Boolean","optionalLabelSuffix","useTranslation","Field","labelSuffixText","content","convertJsxToString","replace","includes","React","isValidElement","createElement","Fragment","setInternalRecord","useCallback","stateId","identifier","type","current","existingIndex","findIndex","item","setFieldState","showFieldError","show","map","showInitially","statusContent","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","message","getMessage","messages","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","_ref2","arr","text","CombineMessages","useEffect","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","srOnly","space","top","bottom","size","prerenderFieldProps","warn","Provider","hasErrorProp","Space","LabelDescription","FormLabel","FormStatus","ref","_ref3","result","count","findElementInChildren","child","_child$props","_child$type","_ref4","translations","errorSummary","stateSummary","Ul","_ref5","Li","_ref6","Error","FormError","toString","_supportsSpacingProps","_default"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\n\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport IterateElementContext from '../Iterate/IterateItemContext'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n warn,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport {\n ComponentProps,\n FieldProps,\n FormError,\n SubmitState,\n Identifier,\n FieldBlockWidth,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelSuffix'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: FieldBlockWidth\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: FieldBlockWidth\n /** For composition only: Align the contents vertically */\n align?: 'center' | 'bottom'\n /** Class name for the contents block */\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n /** For internal use only */\n required?: boolean\n children?: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const sharedData = createSharedState<Props>(\n 'field-block-props-' + (props.forId || props.id)\n )\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label: labelProp,\n labelDescription,\n labelSuffix,\n labelSrOnly,\n asFieldset,\n required,\n info,\n warning,\n error: errorProp,\n fieldState,\n disabled,\n width,\n contentWidth,\n align,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n\n const iterateItemContext = useContext(IterateElementContext)\n const { index: iterateIndex } = iterateItemContext ?? {}\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const { optionalLabelSuffix } = useTranslation().Field\n const labelSuffixText = useMemo(() => {\n if (required === false || typeof labelSuffix !== 'undefined') {\n return labelSuffix ?? optionalLabelSuffix\n }\n return ''\n }, [required, labelSuffix, optionalLabelSuffix])\n\n const label = useMemo(() => {\n let content = labelProp\n\n if (iterateIndex !== undefined) {\n content = convertJsxToString(labelProp).replace(\n '{itemNr}',\n String(iterateIndex + 1)\n )\n }\n\n if (labelSuffixText) {\n if (convertJsxToString(content).includes(optionalLabelSuffix)) {\n return content\n }\n\n if (typeof content === 'string') {\n return content + ' ' + labelSuffixText\n }\n\n if (React.isValidElement(content)) {\n return (\n <>\n {content}\n {' '}\n {labelSuffixText}\n </>\n )\n }\n }\n\n return content\n }, [iterateIndex, labelProp, labelSuffixText])\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props: StateBasis) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const message = getMessage(cur)\n\n if (existing) {\n existing.messages.push({\n ...cur,\n message,\n })\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages: [\n {\n ...cur,\n message,\n },\n ],\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useEffect(\n () => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n },\n []\n )\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n srOnly: labelSrOnly,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n if (fieldState && typeof label === 'undefined') {\n warn(\n 'Provide a label when using an async validator or onChange event.'\n )\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n <LabelDescription labelDescription={labelDescription}>\n {(label || labelDescription) && (\n <FormLabel {...labelProps}>\n <SubmitIndicator state={fieldState}>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </SubmitIndicator>\n </FormLabel>\n )}\n </LabelDescription>\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth &&\n `dnb-forms-field-block__contents--width-${contentWidth}`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n composition &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction LabelDescription({ labelDescription, children }) {\n if (!labelDescription) {\n return children ?? null\n }\n return <div className=\"dnb-forms-field-block__label\">{children}</div>\n}\n\nexport function getMessage(item: Partial<StateWithMessage>): StateMessage {\n const { content } = item\n\n return ((content instanceof Error && content.message) ||\n (content instanceof FormError && content.message) ||\n content?.toString() ||\n content) as StateMessage\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldBlock.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlockContext","_Context","_IterateItemContext","_components","_elements","_componentHelper","_useId","_types","_SubmitIndicator","_useSharedState","_useTranslation","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","states","exports","FieldBlock","props","dataContext","useContext","DataContext","nestedFieldBlockContext","FieldBlockContext","sharedData","createSharedState","forId","id","_Object$assign","data","className","layout","composition","label","labelProp","labelDescription","labelSuffix","labelSrOnly","asFieldset","required","info","warning","error","errorProp","fieldState","disabled","width","contentWidth","align","labelSize","contentClassName","children","rest","iterateItemContext","IterateElementContext","index","iterateIndex","blockId","useId","wasUpdated","forceUpdate","useReducer","mountedFieldsRef","useRef","stateRecordRef","fieldStateIdsRef","contentsRef","hasInitiallyErrorProp","useMemo","Boolean","optionalLabelSuffix","useTranslation","Field","labelSuffixText","content","convertJsxToString","replace","includes","React","isValidElement","createElement","Fragment","setInternalRecord","useCallback","stateId","identifier","type","current","existingIndex","findIndex","item","setFieldState","showFieldError","show","map","showInitially","statusContent","statesWithMessages","entries","flatMap","_ref","reduce","acc","cur","existing","find","message","getMessage","messages","state","width_element","no_animation","process","env","NODE_ENV","globalThis","IS_TEST","found","msg","_ref2","arr","text","CombineMessages","useEffect","mainClasses","classnames","gridClasses","enableFieldset","useEnableFieldset","labelProps","element","srOnly","space","top","bottom","size","prerenderFieldProps","warn","Provider","hasErrorProp","Space","LabelDescription","FormLabel","FormStatus","ref","_ref3","result","count","findElementInChildren","child","_child$props","_child$type","_ref4","translations","errorSummary","stateSummary","Ul","_ref5","Li","_ref6","Error","FormError","toString","_supportsSpacingProps","_default"],"sources":["../../../../../src/extensions/forms/FieldBlock/FieldBlock.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useRef,\n useReducer,\n useEffect,\n} from 'react'\nimport classnames from 'classnames'\n\nimport FieldBlockContext, {\n StateWithMessage,\n StatesWithMessages,\n FieldErrorIdsRef,\n MountedFieldsRef,\n StateRecord,\n StateMessage,\n StateTypes,\n StatusContent,\n FieldBlockContextProps,\n StateBasis,\n} from './FieldBlockContext'\nimport DataContext from '../DataContext/Context'\nimport IterateElementContext from '../Iterate/IterateItemContext'\nimport { Space, FormLabel, FormStatus } from '../../../components'\nimport { Ul, Li } from '../../../elements'\nimport {\n convertJsxToString,\n findElementInChildren,\n warn,\n} from '../../../shared/component-helper'\nimport useId from '../../../shared/helpers/useId'\nimport {\n ComponentProps,\n FieldProps,\n FormError,\n SubmitState,\n Identifier,\n FieldBlockWidth,\n} from '../types'\nimport type { FormLabelAllProps } from '../../../components/FormLabel'\nimport SubmitIndicator from '../Form/SubmitIndicator/SubmitIndicator'\nimport { createSharedState } from '../../../shared/helpers/useSharedState'\nimport useTranslation from '../hooks/useTranslation'\n\nexport const states: Array<StateTypes> = ['error', 'info', 'warning']\n\nexport type Props = Pick<\n FieldProps,\n | keyof ComponentProps\n | 'layout'\n | 'label'\n | 'labelSuffix'\n | 'labelDescription'\n | 'info'\n | 'warning'\n | 'error'\n | 'disabled'\n> & {\n /** The id to link a element with */\n forId?: string\n /** Use true if you have more than one form element */\n asFieldset?: boolean\n /** use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\n /** Defines the layout of nested fields */\n composition?: FieldBlockContextProps['composition']\n /** Width of outer block element */\n width?: FieldBlockWidth\n /** Width of contents block, while label etc can be wider if space is available */\n contentWidth?: FieldBlockWidth\n /** For composition only: Align the contents vertically */\n align?: 'center' | 'bottom'\n /** Class name for the contents block */\n contentClassName?: string\n /** To show the SubmitIndicator during async validation */\n fieldState?: SubmitState\n /** Typography size */\n labelSize?: 'medium' | 'large'\n /** For internal use only */\n required?: boolean\n children?: React.ReactNode\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction FieldBlock(props: Props) {\n const dataContext = useContext(DataContext)\n const nestedFieldBlockContext = useContext(FieldBlockContext)\n\n const sharedData = createSharedState<Props>(\n 'field-block-props-' + (props.forId || props.id)\n )\n const {\n className,\n forId,\n layout = 'vertical',\n composition,\n label: labelProp,\n labelDescription,\n labelSuffix,\n labelSrOnly,\n asFieldset,\n required,\n info,\n warning,\n error: errorProp,\n fieldState,\n disabled,\n width,\n contentWidth,\n align,\n labelSize,\n contentClassName,\n children,\n ...rest\n } = Object.assign({}, sharedData.data, props)\n\n const iterateItemContext = useContext(IterateElementContext)\n const { index: iterateIndex } = iterateItemContext ?? {}\n\n const blockId = useId(props.id)\n const [wasUpdated, forceUpdate] = useReducer(() => ({}), {})\n const mountedFieldsRef = useRef<MountedFieldsRef>({})\n const stateRecordRef = useRef<StateRecord>({})\n const fieldStateIdsRef = useRef<FieldErrorIdsRef>(null)\n const contentsRef = useRef<HTMLDivElement>(null)\n const hasInitiallyErrorProp = useMemo(() => {\n return Boolean(errorProp)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const { optionalLabelSuffix } = useTranslation().Field\n const labelSuffixText = useMemo(() => {\n if (required === false || typeof labelSuffix !== 'undefined') {\n return labelSuffix ?? optionalLabelSuffix\n }\n return ''\n }, [required, labelSuffix, optionalLabelSuffix])\n\n const label = useMemo(() => {\n let content = labelProp\n\n if (iterateIndex !== undefined) {\n content = convertJsxToString(labelProp).replace(\n '{itemNo}',\n String(iterateIndex + 1)\n )\n }\n\n if (labelSuffixText) {\n if (convertJsxToString(content).includes(optionalLabelSuffix)) {\n return content\n }\n\n if (typeof content === 'string') {\n return content + ' ' + labelSuffixText\n }\n\n if (React.isValidElement(content)) {\n return (\n <>\n {content}\n {' '}\n {labelSuffixText}\n </>\n )\n }\n }\n\n return content\n }, [iterateIndex, labelProp, labelSuffixText])\n\n const setInternalRecord = useCallback((props: StateBasis) => {\n const { stateId, identifier, type } = props\n\n if (!stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = []\n }\n\n fieldStateIdsRef.current = { error: null, warning: null, info: null }\n\n const existingIndex = stateRecordRef.current[identifier].findIndex(\n (item) => {\n return item.stateId === stateId && item.type === type\n }\n )\n\n if (existingIndex > -1) {\n stateRecordRef.current[identifier][existingIndex] = {\n ...stateRecordRef.current[identifier][existingIndex],\n ...props,\n }\n } else {\n stateRecordRef.current[identifier].push(props)\n }\n }, [])\n\n const setFieldState = useCallback(\n (props: StateBasis) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.setFieldState(props)\n return\n }\n\n setInternalRecord(props)\n\n forceUpdate()\n },\n [nestedFieldBlockContext, setInternalRecord]\n )\n\n const showFieldError = useCallback(\n (identifier: Identifier, show: boolean) => {\n if (nestedFieldBlockContext) {\n // If this FieldBlock is inside another one, forward the call to the outer one\n nestedFieldBlockContext.showFieldError(identifier, show)\n return\n }\n\n if (stateRecordRef.current[identifier]) {\n stateRecordRef.current[identifier] = stateRecordRef.current[\n identifier\n ].map((item) => {\n if (item.showInitially) {\n return item\n }\n\n return {\n ...item,\n show,\n }\n })\n\n forceUpdate()\n }\n },\n [nestedFieldBlockContext]\n )\n\n const statusContent = useMemo(() => {\n if (typeof errorProp !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: hasInitiallyErrorProp,\n type: 'error',\n content: errorProp,\n })\n }\n\n if (typeof warning !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'warning',\n content: warning,\n })\n }\n\n if (typeof info !== 'undefined') {\n setInternalRecord({\n identifier: blockId,\n showInitially: true,\n type: 'info',\n content: info,\n })\n }\n\n const statesWithMessages: Array<StatesWithMessages> =\n // 1. Prepare the states for later use\n Object.entries(stateRecordRef.current)\n .flatMap(([identifier, states]) =>\n states.map((props) => {\n return {\n identifier,\n ...props,\n }\n })\n )\n\n // 2. Take states and group the same type together\n .reduce((acc, cur) => {\n const existing = acc.find((item) => {\n return item.type === cur.type\n })\n\n const message = getMessage(cur)\n\n if (existing) {\n existing.messages.push({\n ...cur,\n message,\n })\n } else {\n acc.push({\n ...cur,\n content: undefined,\n messages: [\n {\n ...cur,\n message,\n },\n ],\n })\n }\n\n return acc\n }, [] as Array<StatesWithMessages>)\n\n // 3. Return the grouped states/messages\n return states.reduce((acc, type) => {\n const id = `${props.id || forId || blockId}-form-status--${type}`\n acc[type] = {\n id,\n label,\n state: type === 'warning' ? 'warn' : type,\n width_element: contentsRef,\n\n // Enable animation only in the browser and not in tests\n no_animation:\n process.env.NODE_ENV === 'test'\n ? true\n : typeof globalThis !== 'undefined'\n ? globalThis.IS_TEST === true\n : false,\n }\n\n const found = statesWithMessages.find((item) => {\n return item.type === type\n })\n\n if (found?.messages) {\n // Hide/remove messages that should be hidden and are not marked as to be shown initially\n const messages = found.messages\n .map((msg) => {\n if (msg.type === 'error') {\n if (!msg.showInitially && !msg.show) {\n msg.message = null\n }\n }\n\n return msg\n })\n .filter(({ message }) => message)\n .reduce((acc, msg, i, arr) => {\n const existingIndex = arr.findIndex((item) => {\n return (\n convertJsxToString(item.message) ===\n convertJsxToString(msg.message)\n )\n })\n\n // Remove duplicates, use the first found message\n if (existingIndex === i) {\n acc.push(msg)\n }\n\n return acc\n }, [])\n\n // Combine the messages and put them in an ul/li list\n if (messages.length > 0) {\n acc[type] = {\n ...acc[type],\n text: <CombineMessages type={type} messages={messages} />,\n }\n\n fieldStateIdsRef.current[type] = id\n } else {\n fieldStateIdsRef.current[type] = undefined\n }\n }\n\n return acc\n }, {}) as StatusContent\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n info,\n warning,\n errorProp,\n nestedFieldBlockContext,\n setInternalRecord,\n blockId,\n wasUpdated, // wasUpdated is needed to get the current errors\n ])\n\n // Handle the error prop from outside\n useEffect(() => {\n if (!nestedFieldBlockContext) {\n showFieldError(blockId, Boolean(errorProp))\n }\n }, [errorProp, blockId, showFieldError, nestedFieldBlockContext])\n\n useEffect(\n () => () => {\n mountedFieldsRef.current = {}\n stateRecordRef.current = {}\n },\n []\n )\n\n const mainClasses = classnames(\n 'dnb-forms-field-block',\n width !== undefined && `dnb-forms-field-block--width-${width}`,\n className\n )\n const gridClasses = classnames(\n 'dnb-forms-field-block__grid',\n `dnb-forms-field-block--layout-${layout}`\n )\n\n // A child component with a label was found, use fieldset/legend instead of div/label\n const enableFieldset = useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n })\n\n const labelProps: FormLabelAllProps = {\n element: enableFieldset ? 'legend' : 'label',\n forId: enableFieldset ? undefined : forId,\n srOnly: labelSrOnly,\n space: { top: 0, bottom: 'x-small' },\n size: labelSize,\n disabled,\n }\n\n if (dataContext?.prerenderFieldProps) {\n return null\n }\n\n if (fieldState && typeof label === 'undefined') {\n warn(\n 'Provide a label when using an async validator or onChange event.'\n )\n }\n\n return (\n <FieldBlockContext.Provider\n value={{\n setFieldState,\n showFieldError,\n hasErrorProp: Boolean(errorProp),\n fieldStateIdsRef,\n mountedFieldsRef,\n composition,\n }}\n >\n <Space\n element={enableFieldset ? 'fieldset' : 'div'} // use fieldset and legend to enhance a11y\n className={mainClasses}\n {...rest}\n >\n <div className={gridClasses}>\n <LabelDescription labelDescription={labelDescription}>\n {(label || labelDescription) && (\n <FormLabel {...labelProps}>\n <SubmitIndicator state={fieldState}>\n {label}\n {labelDescription && (\n <span className=\"dnb-forms-field-block__label-description\">\n {labelDescription}\n </span>\n )}\n </SubmitIndicator>\n </FormLabel>\n )}\n </LabelDescription>\n\n <div className=\"dnb-forms-field-block__status\">\n <FormStatus {...statusContent?.error} />\n <FormStatus {...statusContent?.warning} />\n <FormStatus {...statusContent?.info} />\n </div>\n\n <div\n className={classnames(\n 'dnb-forms-field-block__contents',\n contentWidth &&\n `dnb-forms-field-block__contents--width-${contentWidth}`,\n align && `dnb-forms-field-block__contents--align-${align}`,\n composition &&\n `dnb-forms-field-block__contents__composition--${\n composition === true ? 'horizontal' : composition\n }`,\n contentClassName\n )}\n ref={contentsRef}\n >\n {children}\n </div>\n </div>\n </Space>\n </FieldBlockContext.Provider>\n )\n}\n\nfunction useEnableFieldset({\n label,\n asFieldset,\n children,\n nestedFieldBlockContext,\n}) {\n return useMemo(() => {\n if (asFieldset === false) {\n return false\n }\n\n let result = asFieldset\n\n if (label && !result && !nestedFieldBlockContext) {\n let count = 0\n\n findElementInChildren(children, (child: React.ReactElement) => {\n if (\n child?.props?.label ||\n child?.type?.['_formElement'] === true\n ) {\n count++\n }\n if (count > 1) {\n return (result = true)\n }\n })\n }\n\n return Boolean(result)\n }, [asFieldset, children, label, nestedFieldBlockContext])\n}\n\nfunction CombineMessages({\n type,\n messages,\n}: {\n type: StateTypes\n messages: Array<StateWithMessage>\n}) {\n const translations = useTranslation().Field\n\n if (messages.length === 1) {\n return <>{messages[0].message}</>\n }\n\n return (\n <>\n {type === 'error'\n ? translations.errorSummary\n : translations.stateSummary}\n <Ul>\n {messages.map(({ message }, i) => {\n return <Li key={i}>{message}</Li>\n })}\n </Ul>\n </>\n )\n}\n\nfunction LabelDescription({ labelDescription, children }) {\n if (!labelDescription) {\n return children ?? null\n }\n return <div className=\"dnb-forms-field-block__label\">{children}</div>\n}\n\nexport function getMessage(item: Partial<StateWithMessage>): StateMessage {\n const { content } = item\n\n return ((content instanceof Error && content.message) ||\n (content instanceof FormError && content.message) ||\n content?.toString() ||\n content) as StateMessage\n}\n\nFieldBlock._supportsSpacingProps = true\n\nexport default FieldBlock\n"],"mappings":"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"}
@@ -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, ajvInstance, errorMessages, globalStatusId, filterSubmitData, transformIn, onChange, onPathChange, onSubmit, onSubmitRequest, onSubmitComplete, onClear, minimumAsyncBehaviorTime, asyncSubmitTimeout, scrollTopOnSubmit, sessionStorageId, autoComplete, locale, translations, disabled, required, ...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, globalStatusId, filterSubmitData, transformIn, transformOut, onChange, onPathChange, onSubmit, onSubmitRequest, onSubmitComplete, onClear, minimumAsyncBehaviorTime, asyncSubmitTimeout, scrollTopOnSubmit, sessionStorageId, autoComplete, locale, translations, disabled, required, ...rest }: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>): import("react/jsx-runtime").JSX.Element;
@@ -12,7 +12,7 @@ var _Element = _interopRequireDefault(require("../Element"));
12
12
  var _FormStatus = _interopRequireDefault(require("../../../../components/FormStatus"));
13
13
  var _useId = _interopRequireDefault(require("../../../../shared/helpers/useId"));
14
14
  var _componentHelper = require("../../../../shared/component-helper");
15
- const _excluded = ["children", "defaultData", "data", "schema", "ajvInstance", "errorMessages", "globalStatusId", "filterSubmitData", "transformIn", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "onSubmitComplete", "onClear", "minimumAsyncBehaviorTime", "asyncSubmitTimeout", "scrollTopOnSubmit", "sessionStorageId", "autoComplete", "locale", "translations", "disabled", "required"],
15
+ const _excluded = ["children", "defaultData", "data", "schema", "ajvInstance", "errorMessages", "globalStatusId", "filterSubmitData", "transformIn", "transformOut", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "onSubmitComplete", "onClear", "minimumAsyncBehaviorTime", "asyncSubmitTimeout", "scrollTopOnSubmit", "sessionStorageId", "autoComplete", "locale", "translations", "disabled", "required"],
16
16
  _excluded2 = ["children"];
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -31,6 +31,7 @@ function FormHandler(_ref) {
31
31
  globalStatusId,
32
32
  filterSubmitData,
33
33
  transformIn,
34
+ transformOut,
34
35
  onChange,
35
36
  onPathChange,
36
37
  onSubmit,
@@ -58,6 +59,7 @@ function FormHandler(_ref) {
58
59
  globalStatusId,
59
60
  filterSubmitData,
60
61
  transformIn,
62
+ transformOut,
61
63
  onChange,
62
64
  onPathChange,
63
65
  onSubmit,
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","names":["_react","_interopRequireWildcard","require","_Provider","_interopRequireDefault","_Context","_Element","_FormStatus","_useId","_componentHelper","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","FormHandler","_ref","children","defaultData","data","schema","ajvInstance","errorMessages","globalStatusId","filterSubmitData","transformIn","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onClear","minimumAsyncBehaviorTime","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","autoComplete","locale","translations","disabled","required","rest","providerProps","id","createElement","FormElementWithState","_ref2","useId","submitState","useContext","DataContext","states","entries","filter","_ref3","value","combineLabelledBy","map","_ref4","undefined","state","className","show","Boolean","no_animation","shellSpace","top","bottom","String"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport { JsonObject } from 'json-pointer'\nimport DataContextProvider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport DataContext from '../../DataContext/Context'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\nimport FormStatus from '../../../../components/FormStatus'\nimport useId from '../../../../shared/helpers/useId'\nimport { combineLabelledBy } from '../../../../shared/component-helper'\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 globalStatusId,\n filterSubmitData,\n transformIn,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onClear,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n locale,\n translations,\n disabled,\n required,\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 globalStatusId,\n filterSubmitData,\n transformIn,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onClear,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n locale,\n translations,\n disabled,\n required,\n }\n\n return (\n <DataContextProvider {...providerProps}>\n <FormElementWithState {...rest}>{children}</FormElementWithState>\n </DataContextProvider>\n )\n}\n\nfunction FormElementWithState({ children, ...rest }) {\n const id = useId()\n const { submitState } = useContext(DataContext) || {}\n const states = Object.entries(submitState || {}).filter(\n ([, value]) => value\n )\n\n return (\n <FormElement\n {...rest}\n aria-labelledby={\n combineLabelledBy(\n rest,\n states.map(([key]) => {\n return `${id}-form-status-${key}`\n })\n ) || undefined\n }\n >\n {children}\n\n {['error', 'warning', 'info'].map((key) => {\n const value = submitState?.[key]\n return (\n <FormStatus\n key={key}\n state={key}\n id={`${id}-form-status-${key}`}\n className=\"dnb-forms-status\"\n show={Boolean(value)}\n no_animation={false}\n shellSpace={{ top: 'small', bottom: 'medium' }}\n >\n {String(value?.['message'] || value || '')}\n </FormStatus>\n )\n })}\n </FormElement>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Handler.js","names":["_react","_interopRequireWildcard","require","_Provider","_interopRequireDefault","_Context","_Element","_FormStatus","_useId","_componentHelper","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","FormHandler","_ref","children","defaultData","data","schema","ajvInstance","errorMessages","globalStatusId","filterSubmitData","transformIn","transformOut","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onClear","minimumAsyncBehaviorTime","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","autoComplete","locale","translations","disabled","required","rest","providerProps","id","createElement","FormElementWithState","_ref2","useId","submitState","useContext","DataContext","states","entries","filter","_ref3","value","combineLabelledBy","map","_ref4","undefined","state","className","show","Boolean","no_animation","shellSpace","top","bottom","String"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport { JsonObject } from 'json-pointer'\nimport DataContextProvider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport DataContext from '../../DataContext/Context'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\nimport FormStatus from '../../../../components/FormStatus'\nimport useId from '../../../../shared/helpers/useId'\nimport { combineLabelledBy } from '../../../../shared/component-helper'\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 globalStatusId,\n filterSubmitData,\n transformIn,\n transformOut,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onClear,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n locale,\n translations,\n disabled,\n required,\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 globalStatusId,\n filterSubmitData,\n transformIn,\n transformOut,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onClear,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n locale,\n translations,\n disabled,\n required,\n }\n\n return (\n <DataContextProvider {...providerProps}>\n <FormElementWithState {...rest}>{children}</FormElementWithState>\n </DataContextProvider>\n )\n}\n\nfunction FormElementWithState({ children, ...rest }) {\n const id = useId()\n const { submitState } = useContext(DataContext) || {}\n const states = Object.entries(submitState || {}).filter(\n ([, value]) => value\n )\n\n return (\n <FormElement\n {...rest}\n aria-labelledby={\n combineLabelledBy(\n rest,\n states.map(([key]) => {\n return `${id}-form-status-${key}`\n })\n ) || undefined\n }\n >\n {children}\n\n {['error', 'warning', 'info'].map((key) => {\n const value = submitState?.[key]\n return (\n <FormStatus\n key={key}\n state={key}\n id={`${id}-form-status-${key}`}\n className=\"dnb-forms-status\"\n show={Boolean(value)}\n no_animation={false}\n shellSpace={{ top: 'small', bottom: 'medium' }}\n >\n {String(value?.['message'] || value || '')}\n </FormStatus>\n )\n })}\n </FormElement>\n )\n}\n"],"mappings":"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"}
@@ -8,6 +8,7 @@ exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _jsonPointer = _interopRequireDefault(require("json-pointer"));
10
10
  var _componentHelper = require("../../../../shared/component-helper");
11
+ var _isAsync = require("../../../../shared/helpers/isAsync");
11
12
  var _useDataValue = _interopRequireDefault(require("../../hooks/useDataValue"));
12
13
  var _DataContext = require("../../DataContext");
13
14
  var _SectionContext = _interopRequireDefault(require("../Section/SectionContext"));
@@ -62,13 +63,14 @@ function IsolationProvider(props) {
62
63
  return pathSection && _jsonPointer.default.has(data, pathSection) ? _jsonPointer.default.get(data, pathSection) : data;
63
64
  }, [pathSection]);
64
65
  const getMountedData = (0, _react.useCallback)(data => {
65
- var _dataContextRef$curre;
66
66
  const mounterData = {};
67
- (_dataContextRef$curre = dataContextRef.current) === null || _dataContextRef$curre === void 0 ? void 0 : _dataContextRef$curre.mountedFieldPathsRef.current.forEach(path => {
68
- if (_jsonPointer.default.has(data, path)) {
67
+ for (const path in (_dataContextRef$curre = dataContextRef.current) === null || _dataContextRef$curre === void 0 ? void 0 : _dataContextRef$curre.mountedFieldsRef.current) {
68
+ var _dataContextRef$curre;
69
+ const field = dataContextRef.current.mountedFieldsRef.current[path];
70
+ if (field.isMounted && _jsonPointer.default.has(data, path)) {
69
71
  _jsonPointer.default.set(mounterData, path, _jsonPointer.default.get(data, path));
70
72
  }
71
- });
73
+ }
72
74
  return mounterData;
73
75
  }, []);
74
76
  (0, _react.useEffect)(() => {
@@ -94,8 +96,15 @@ function IsolationProvider(props) {
94
96
  if (typeof transformOnCommitProp === 'function') {
95
97
  isolatedData = transformOnCommitProp(isolatedData, outerData);
96
98
  }
97
- handlePathChangeOuter === null || handlePathChangeOuter === void 0 ? void 0 : handlePathChangeOuter(path, Array.isArray(isolatedData) ? isolatedData : (0, _componentHelper.extendDeep)({}, outerData, isolatedData));
98
- return await (onCommitProp === null || onCommitProp === void 0 ? void 0 : onCommitProp(removeSectionPath(isolatedData), additionalArgs));
99
+ let stop = false;
100
+ additionalArgs.preventCommit = () => stop = true;
101
+ const commitData = removeSectionPath(isolatedData);
102
+ const result = (0, _isAsync.isAsync)(onCommitProp) ? await (onCommitProp === null || onCommitProp === void 0 ? void 0 : onCommitProp(commitData, additionalArgs)) : onCommitProp === null || onCommitProp === void 0 ? void 0 : onCommitProp(commitData, additionalArgs);
103
+ if (stop) {
104
+ return;
105
+ }
106
+ await (handlePathChangeOuter === null || handlePathChangeOuter === void 0 ? void 0 : handlePathChangeOuter(path, Array.isArray(isolatedData) ? isolatedData : (0, _componentHelper.extendDeep)({}, outerData, isolatedData)));
107
+ return result;
99
108
  }, [getMountedData, props.path, dataOuter, transformOnCommitProp, handlePathChangeOuter, onCommitProp, removeSectionPath]);
100
109
  const onClear = (0, _react.useCallback)(() => {
101
110
  localDataRef.current = _Provider.clearedData;
@@ -1 +1 @@
1
- {"version":3,"file":"Isolation.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_componentHelper","_useDataValue","_DataContext","_SectionContext","_IsolationCommitButton","_Provider","_structuredClone","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","IsolationProvider","props","children","onPathChange","onCommit","onCommitProp","onClear","onClearProp","transformOnCommit","transformOnCommitProp","commitHandleRef","data","defaultData","forceUpdate","useReducer","internalDataRef","useRef","localDataRef","dataContextRef","outerContext","useContext","Context","path","pathSection","SectionContext","handlePathChange","handlePathChangeOuter","dataOuter","moveValueToPath","useDataValue","onPathChangeHandler","useCallback","current","clearedData","pointer","replace","removeSectionPath","getMountedData","_dataContextRef$curre","mounterData","mountedFieldPathsRef","useEffect","useMemo","localData","assign","additionalArgs","_props$path","mountedData","outerData","isolatedData","structuredClone","Array","isArray","extendDeep","providerProps","isolate","createElement","Provider","Consumer","dataContext","handleSubmit","CommitButton","IsolationCommitButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/Isolation.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { extendDeep } from '../../../../shared/component-helper'\nimport useDataValue from '../../hooks/useDataValue'\nimport { Context, ContextState, Provider } from '../../DataContext'\nimport SectionContext from '../Section/SectionContext'\nimport IsolationCommitButton from './IsolationCommitButton'\nimport {\n clearedData,\n type Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport type { OnCommit, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type IsolationProviderProps<Data> = {\n /**\n * Form.Isolation: Will be called when the isolated context is committed.\n */\n onCommit?: OnCommit<Data>\n /**\n * Form.Isolation: Will be called when the form is cleared via Form.clearData\n */\n onClear?: () => void\n /**\n * Form.Isolation: A function that will be called when the isolated context is committed.\n * It will receive the data from the isolated context and the data from the outer context.\n * You can use this to transform the data before it is committed.\n */\n transformOnCommit?: (isolatedData: Data, handlerData: Data) => Data\n /**\n * Used internally by the Form.Isolation component\n */\n path?: Path\n /**\n * Used internally by the Form.Isolation component\n */\n isolate?: boolean\n}\n\nexport type IsolationProps<Data> = Omit<\n ProviderProps<Data>,\n | 'onSubmit'\n | 'onSubmitRequest'\n | 'onSubmitComplete'\n | 'minimumAsyncBehaviorTime'\n | 'asyncSubmitTimeout'\n | 'scrollTopOnSubmit'\n | 'sessionStorageId'\n | 'globalStatusId'\n> & {\n /**\n * A ref (function) that you can call in order to commit the data programmatically to the outer context.\n */\n commitHandleRef?: React.MutableRefObject<() => void>\n}\n\nfunction IsolationProvider<Data extends JsonObject>(\n props: IsolationProps<Data>\n) {\n const {\n children,\n onPathChange,\n onCommit: onCommitProp,\n onClear: onClearProp,\n transformOnCommit: transformOnCommitProp,\n commitHandleRef,\n data,\n defaultData,\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const internalDataRef = useRef<Data>()\n const localDataRef = useRef<Partial<Data>>({})\n const dataContextRef = useRef<ContextState>(null)\n const outerContext = useContext(Context)\n const { path: pathSection } = useContext(SectionContext) || {}\n const { handlePathChange: handlePathChangeOuter, data: dataOuter } =\n outerContext || {}\n const { moveValueToPath } = useDataValue()\n\n const onPathChangeHandler = useCallback(\n async (path: Path, value: unknown) => {\n if (localDataRef.current === clearedData) {\n localDataRef.current = {}\n }\n\n pointer.set(localDataRef.current, path, value)\n\n if (pathSection) {\n path = path.replace(pathSection, '')\n }\n\n return await onPathChange?.(path, value)\n },\n [onPathChange, pathSection]\n )\n\n const removeSectionPath = useCallback(\n (data: Data) => {\n return pathSection && pointer.has(data, pathSection)\n ? pointer.get(data, pathSection)\n : data\n },\n [pathSection]\n )\n\n const getMountedData = useCallback((data: Data) => {\n const mounterData = {} as Data\n dataContextRef.current?.mountedFieldPathsRef.current.forEach(\n (path) => {\n if (pointer.has(data, path)) {\n pointer.set(mounterData, path, pointer.get(data, path))\n }\n }\n )\n return mounterData\n }, [])\n\n useEffect(() => {\n localDataRef.current = getMountedData(internalDataRef.current)\n }, [getMountedData])\n\n // Update the isolated data with the outside context data\n useMemo(() => {\n if (localDataRef.current === clearedData) {\n return // stop here\n }\n\n let localData = data ?? defaultData\n\n if (\n localData &&\n pathSection &&\n !pointer.has(localDataRef.current, pathSection)\n ) {\n localData = moveValueToPath<Data>(pathSection, localData)\n }\n\n internalDataRef.current = Object.assign(\n {},\n localData || dataOuter || {},\n localDataRef.current\n )\n }, [data, defaultData, pathSection, dataOuter, moveValueToPath])\n\n const onCommit: IsolationProps<Data>['onCommit'] = useCallback(\n async (data: Data, additionalArgs) => {\n const mountedData = getMountedData(data)\n const path = props.path ?? '/'\n const outerData =\n props.path && pointer.has(dataOuter, path)\n ? pointer.get(dataOuter, path)\n : dataOuter\n\n localDataRef.current = mountedData\n let isolatedData = structuredClone(mountedData) as Data\n\n if (typeof transformOnCommitProp === 'function') {\n isolatedData = transformOnCommitProp(isolatedData, outerData)\n }\n\n // Commit the internal data to the nested context data\n handlePathChangeOuter?.(\n path,\n Array.isArray(isolatedData)\n ? isolatedData\n : extendDeep({}, outerData, isolatedData)\n )\n\n return await onCommitProp?.(\n removeSectionPath(isolatedData),\n additionalArgs\n )\n },\n [\n getMountedData,\n props.path,\n dataOuter,\n transformOnCommitProp,\n handlePathChangeOuter,\n onCommitProp,\n removeSectionPath,\n ]\n )\n\n const onClear = useCallback(() => {\n localDataRef.current = clearedData\n internalDataRef.current = clearedData as Data\n forceUpdate()\n onClearProp?.()\n }, [onClearProp])\n\n const providerProps: IsolationProps<Data> = {\n ...props,\n [defaultData ? 'defaultData' : 'data']: internalDataRef.current,\n onPathChange: onPathChangeHandler,\n onCommit,\n onClear,\n isolate: true,\n }\n\n return (\n <Provider {...providerProps}>\n <Context.Consumer>\n {(dataContext) => {\n dataContextRef.current = dataContext\n\n if (commitHandleRef) {\n commitHandleRef.current = dataContext?.handleSubmit\n }\n\n return children\n }}\n </Context.Consumer>\n </Provider>\n )\n}\n\nIsolationProvider.CommitButton = IsolationCommitButton\nIsolationProvider._supportsSpacingProps = undefined\n\nexport default IsolationProvider\n"],"mappings":"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"}
1
+ {"version":3,"file":"Isolation.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_componentHelper","_isAsync","_useDataValue","_DataContext","_SectionContext","_IsolationCommitButton","_Provider","_structuredClone","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","IsolationProvider","props","children","onPathChange","onCommit","onCommitProp","onClear","onClearProp","transformOnCommit","transformOnCommitProp","commitHandleRef","data","defaultData","forceUpdate","useReducer","internalDataRef","useRef","localDataRef","dataContextRef","outerContext","useContext","Context","path","pathSection","SectionContext","handlePathChange","handlePathChangeOuter","dataOuter","moveValueToPath","useDataValue","onPathChangeHandler","useCallback","current","clearedData","pointer","replace","removeSectionPath","getMountedData","mounterData","_dataContextRef$curre","mountedFieldsRef","field","isMounted","useEffect","useMemo","localData","assign","additionalArgs","_props$path","mountedData","outerData","isolatedData","structuredClone","stop","preventCommit","commitData","result","isAsync","Array","isArray","extendDeep","providerProps","isolate","createElement","Provider","Consumer","dataContext","handleSubmit","CommitButton","IsolationCommitButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/Isolation.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { extendDeep } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useDataValue from '../../hooks/useDataValue'\nimport { Context, ContextState, Provider } from '../../DataContext'\nimport SectionContext from '../Section/SectionContext'\nimport IsolationCommitButton from './IsolationCommitButton'\nimport {\n clearedData,\n type Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport type { OnCommit, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type IsolationProviderProps<Data> = {\n /**\n * Form.Isolation: Will be called when the isolated context is committed.\n */\n onCommit?: OnCommit<Data>\n /**\n * Form.Isolation: Will be called when the form is cleared via Form.clearData\n */\n onClear?: () => void\n /**\n * Form.Isolation: A function that will be called when the isolated context is committed.\n * It will receive the data from the isolated context and the data from the outer context.\n * You can use this to transform the data before it is committed.\n */\n transformOnCommit?: (isolatedData: Data, handlerData: Data) => Data\n /**\n * Used internally by the Form.Isolation component\n */\n path?: Path\n /**\n * Used internally by the Form.Isolation component\n */\n isolate?: boolean\n}\n\nexport type IsolationProps<Data> = Omit<\n ProviderProps<Data>,\n | 'onSubmit'\n | 'onSubmitRequest'\n | 'onSubmitComplete'\n | 'minimumAsyncBehaviorTime'\n | 'asyncSubmitTimeout'\n | 'scrollTopOnSubmit'\n | 'sessionStorageId'\n | 'globalStatusId'\n> & {\n /**\n * A ref (function) that you can call in order to commit the data programmatically to the outer context.\n */\n commitHandleRef?: React.MutableRefObject<() => void>\n}\n\nfunction IsolationProvider<Data extends JsonObject>(\n props: IsolationProps<Data>\n) {\n const {\n children,\n onPathChange,\n onCommit: onCommitProp,\n onClear: onClearProp,\n transformOnCommit: transformOnCommitProp,\n commitHandleRef,\n data,\n defaultData,\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const internalDataRef = useRef<Data>()\n const localDataRef = useRef<Partial<Data>>({})\n const dataContextRef = useRef<ContextState>(null)\n const outerContext = useContext(Context)\n const { path: pathSection } = useContext(SectionContext) || {}\n const { handlePathChange: handlePathChangeOuter, data: dataOuter } =\n outerContext || {}\n const { moveValueToPath } = useDataValue()\n\n const onPathChangeHandler = useCallback(\n async (path: Path, value: unknown) => {\n if (localDataRef.current === clearedData) {\n localDataRef.current = {}\n }\n\n pointer.set(localDataRef.current, path, value)\n\n if (pathSection) {\n path = path.replace(pathSection, '')\n }\n\n return await onPathChange?.(path, value)\n },\n [onPathChange, pathSection]\n )\n\n const removeSectionPath = useCallback(\n (data: Data) => {\n return pathSection && pointer.has(data, pathSection)\n ? pointer.get(data, pathSection)\n : data\n },\n [pathSection]\n )\n\n const getMountedData = useCallback((data: Data) => {\n const mounterData = {} as Data\n for (const path in dataContextRef.current?.mountedFieldsRef.current) {\n const field = dataContextRef.current.mountedFieldsRef.current[path]\n if (field.isMounted && pointer.has(data, path)) {\n pointer.set(mounterData, path, pointer.get(data, path))\n }\n }\n return mounterData\n }, [])\n\n useEffect(() => {\n localDataRef.current = getMountedData(internalDataRef.current)\n }, [getMountedData])\n\n // Update the isolated data with the outside context data\n useMemo(() => {\n if (localDataRef.current === clearedData) {\n return // stop here\n }\n\n let localData = data ?? defaultData\n\n if (\n localData &&\n pathSection &&\n !pointer.has(localDataRef.current, pathSection)\n ) {\n localData = moveValueToPath<Data>(pathSection, localData)\n }\n\n internalDataRef.current = Object.assign(\n {},\n localData || dataOuter || {},\n localDataRef.current\n )\n }, [data, defaultData, pathSection, dataOuter, moveValueToPath])\n\n const onCommit: IsolationProps<Data>['onCommit'] = useCallback(\n async (data: Data, additionalArgs) => {\n const mountedData = getMountedData(data)\n const path = props.path ?? '/'\n const outerData =\n props.path && pointer.has(dataOuter, path)\n ? pointer.get(dataOuter, path)\n : dataOuter\n\n localDataRef.current = mountedData\n let isolatedData = structuredClone(mountedData) as Data\n\n if (typeof transformOnCommitProp === 'function') {\n isolatedData = transformOnCommitProp(isolatedData, outerData)\n }\n\n let stop = false\n additionalArgs.preventCommit = () => (stop = true)\n\n const commitData = removeSectionPath(isolatedData)\n const result = isAsync(onCommitProp)\n ? await onCommitProp?.(commitData, additionalArgs)\n : onCommitProp?.(commitData, additionalArgs)\n\n if (stop) {\n return // stop here\n }\n\n // Commit the internal data to the nested context data\n await handlePathChangeOuter?.(\n path,\n Array.isArray(isolatedData)\n ? isolatedData\n : extendDeep({}, outerData, isolatedData)\n )\n\n return result\n },\n [\n getMountedData,\n props.path,\n dataOuter,\n transformOnCommitProp,\n handlePathChangeOuter,\n onCommitProp,\n removeSectionPath,\n ]\n )\n\n const onClear = useCallback(() => {\n localDataRef.current = clearedData\n internalDataRef.current = clearedData as Data\n forceUpdate()\n onClearProp?.()\n }, [onClearProp])\n\n const providerProps: IsolationProps<Data> = {\n ...props,\n [defaultData ? 'defaultData' : 'data']: internalDataRef.current,\n onPathChange: onPathChangeHandler,\n onCommit,\n onClear,\n isolate: true,\n }\n\n return (\n <Provider {...providerProps}>\n <Context.Consumer>\n {(dataContext) => {\n dataContextRef.current = dataContext\n\n if (commitHandleRef) {\n commitHandleRef.current = dataContext?.handleSubmit\n }\n\n return children\n }}\n </Context.Consumer>\n </Provider>\n )\n}\n\nIsolationProvider.CommitButton = IsolationCommitButton\nIsolationProvider._supportsSpacingProps = undefined\n\nexport default IsolationProvider\n"],"mappings":"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"}
@@ -12,12 +12,10 @@ var _SectionContainerContext = _interopRequireDefault(require("../containers/Sec
12
12
  var _FieldBoundaryContext = _interopRequireDefault(require("../../../DataContext/FieldBoundary/FieldBoundaryContext"));
13
13
  var _icons = require("../../../../../icons");
14
14
  var _useContainerDataStore = _interopRequireDefault(require("./useContainerDataStore"));
15
- var _useEditContainerToolbar = _interopRequireDefault(require("./useEditContainerToolbar"));
16
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
18
  function EditToolbarTools() {
20
- (0, _useEditContainerToolbar.default)();
21
19
  const {
22
20
  restoreOriginalData
23
21
  } = (0, _useContainerDataStore.default)();
@@ -1 +1 @@
1
- {"version":3,"file":"EditToolbarTools.js","names":["_react","_interopRequireWildcard","require","_components","_useTranslation","_interopRequireDefault","_SectionContainerContext","_FieldBoundaryContext","_icons","_useContainerDataStore","_useEditContainerToolbar","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EditToolbarTools","useEditContainerToolbar","restoreOriginalData","useContainerDataStore","switchContainerMode","initialContainerMode","useContext","SectionContainerContext","hasVisibleError","hasSubmitError","hasError","setShowBoundaryErrors","FieldBoundaryContext","translation","useTranslation","SectionEditContainer","showError","setShowError","useState","cancelHandler","useCallback","Date","now","doneHandler","createElement","Fragment","Flex","Horizontal","gap","Button","variant","icon","check","icon_position","on_click","doneButton","close","cancelButton","FormStatus","show","shellSpace","top","no_animation","errorInSection"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/EditToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext, useState } from 'react'\nimport { Button, Flex, FormStatus } from '../../../../../components'\nimport useTranslation from '../../../hooks/useTranslation'\nimport SectionContainerContext from '../containers/SectionContainerContext'\nimport FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { check, close } from '../../../../../icons'\nimport useContainerDataStore from './useContainerDataStore'\nimport useEditContainerToolbar from './useEditContainerToolbar'\n\nexport default function EditToolbarTools() {\n useEditContainerToolbar()\n const { restoreOriginalData } = useContainerDataStore()\n\n const { switchContainerMode, initialContainerMode } =\n useContext(SectionContainerContext) || {}\n const {\n hasVisibleError,\n hasSubmitError,\n hasError,\n setShowBoundaryErrors,\n } = useContext(FieldBoundaryContext) || {}\n\n const translation = useTranslation().SectionEditContainer\n\n const [showError, setShowError] = useState(false)\n\n const cancelHandler = useCallback(() => {\n if (hasSubmitError || (initialContainerMode === 'auto' && hasError)) {\n setShowBoundaryErrors?.(Date.now())\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowError(false)\n setShowBoundaryErrors?.(false)\n restoreOriginalData()\n switchContainerMode?.('view')\n }\n }, [\n hasSubmitError,\n initialContainerMode,\n hasError,\n setShowBoundaryErrors,\n hasVisibleError,\n restoreOriginalData,\n switchContainerMode,\n ])\n const doneHandler = useCallback(() => {\n if (hasError) {\n setShowBoundaryErrors?.(Date.now())\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowError(false)\n setShowBoundaryErrors?.(false)\n switchContainerMode?.('view')\n }\n }, [\n hasVisibleError,\n hasError,\n setShowBoundaryErrors,\n switchContainerMode,\n ])\n\n return (\n <>\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n >\n {translation.doneButton}\n </Button>\n\n <Button\n variant=\"tertiary\"\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n >\n {translation.cancelButton}\n </Button>\n </Flex.Horizontal>\n\n <FormStatus\n show={showError && hasVisibleError}\n shellSpace={{ top: 'x-small' }}\n no_animation={false}\n >\n {translation.errorInSection}\n </FormStatus>\n </>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"EditToolbarTools.js","names":["_react","_interopRequireWildcard","require","_components","_useTranslation","_interopRequireDefault","_SectionContainerContext","_FieldBoundaryContext","_icons","_useContainerDataStore","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EditToolbarTools","restoreOriginalData","useContainerDataStore","switchContainerMode","initialContainerMode","useContext","SectionContainerContext","hasVisibleError","hasSubmitError","hasError","setShowBoundaryErrors","FieldBoundaryContext","translation","useTranslation","SectionEditContainer","showError","setShowError","useState","cancelHandler","useCallback","Date","now","doneHandler","createElement","Fragment","Flex","Horizontal","gap","Button","variant","icon","check","icon_position","on_click","doneButton","close","cancelButton","FormStatus","show","shellSpace","top","no_animation","errorInSection"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/EditToolbarTools.tsx"],"sourcesContent":["import React, { useCallback, useContext, useState } from 'react'\nimport { Button, Flex, FormStatus } from '../../../../../components'\nimport useTranslation from '../../../hooks/useTranslation'\nimport SectionContainerContext from '../containers/SectionContainerContext'\nimport FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { check, close } from '../../../../../icons'\nimport useContainerDataStore from './useContainerDataStore'\n\nexport default function EditToolbarTools() {\n const { restoreOriginalData } = useContainerDataStore()\n\n const { switchContainerMode, initialContainerMode } =\n useContext(SectionContainerContext) || {}\n const {\n hasVisibleError,\n hasSubmitError,\n hasError,\n setShowBoundaryErrors,\n } = useContext(FieldBoundaryContext) || {}\n\n const translation = useTranslation().SectionEditContainer\n\n const [showError, setShowError] = useState(false)\n\n const cancelHandler = useCallback(() => {\n if (hasSubmitError || (initialContainerMode === 'auto' && hasError)) {\n setShowBoundaryErrors?.(Date.now())\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowError(false)\n setShowBoundaryErrors?.(false)\n restoreOriginalData()\n switchContainerMode?.('view')\n }\n }, [\n hasSubmitError,\n initialContainerMode,\n hasError,\n setShowBoundaryErrors,\n hasVisibleError,\n restoreOriginalData,\n switchContainerMode,\n ])\n const doneHandler = useCallback(() => {\n if (hasError) {\n setShowBoundaryErrors?.(Date.now())\n if (hasVisibleError) {\n setShowError(true)\n }\n } else {\n setShowError(false)\n setShowBoundaryErrors?.(false)\n switchContainerMode?.('view')\n }\n }, [\n hasVisibleError,\n hasError,\n setShowBoundaryErrors,\n switchContainerMode,\n ])\n\n return (\n <>\n <Flex.Horizontal gap=\"large\">\n <Button\n variant=\"tertiary\"\n icon={check}\n icon_position=\"left\"\n on_click={doneHandler}\n >\n {translation.doneButton}\n </Button>\n\n <Button\n variant=\"tertiary\"\n icon={close}\n icon_position=\"left\"\n on_click={cancelHandler}\n >\n {translation.cancelButton}\n </Button>\n </Flex.Horizontal>\n\n <FormStatus\n show={showError && hasVisibleError}\n shellSpace={{ top: 'x-small' }}\n no_animation={false}\n >\n {translation.errorInSection}\n </FormStatus>\n </>\n )\n}\n"],"mappings":"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"}
@@ -10,6 +10,7 @@ var _useMountEffect = _interopRequireDefault(require("../../../../shared/helpers
10
10
  var _HeightAnimation = _interopRequireDefault(require("../../../../components/HeightAnimation"));
11
11
  var _FieldProps = _interopRequireDefault(require("../FieldProps"));
12
12
  var _useVisibility = _interopRequireDefault(require("./useVisibility"));
13
+ var _VisibilityContext = _interopRequireDefault(require("./VisibilityContext"));
13
14
  const _excluded = ["visible", "pathDefined", "pathUndefined", "pathTruthy", "pathFalsy", "pathTrue", "pathFalse", "pathValue", "whenValue", "visibleWhen", "visibleWhenNot", "inferData", "filterData", "animate", "keepInDOM", "compensateForGap", "fieldPropsWhenHidden", "children"];
14
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
16
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -60,6 +61,11 @@ function Visibility(_ref) {
60
61
  filterData
61
62
  });
62
63
  const open = check();
64
+ const content = _react.default.createElement(_VisibilityContext.default.Provider, {
65
+ value: {
66
+ isVisible: open
67
+ }
68
+ }, children);
63
69
  if (animate) {
64
70
  const props = !open ? fieldPropsWhenHidden : null;
65
71
  return _react.default.createElement(_HeightAnimation.default, _extends({
@@ -67,16 +73,16 @@ function Visibility(_ref) {
67
73
  keepInDOM: Boolean(keepInDOM),
68
74
  className: "dnb-forms-visibility",
69
75
  compensateForGap: compensateForGap
70
- }, rest), _react.default.createElement(_FieldProps.default, props, children));
76
+ }, rest), _react.default.createElement(_FieldProps.default, props, content));
71
77
  }
72
78
  if (keepInDOM) {
73
79
  const props = !open ? fieldPropsWhenHidden : null;
74
80
  return _react.default.createElement("span", {
75
81
  className: "dnb-forms-visibility",
76
82
  hidden: !open
77
- }, _react.default.createElement(_FieldProps.default, props, children));
83
+ }, _react.default.createElement(_FieldProps.default, props, content));
78
84
  }
79
- return _react.default.createElement(_react.default.Fragment, null, open ? children : null);
85
+ return _react.default.createElement(_react.default.Fragment, null, open ? content : null);
80
86
  }
81
87
  Visibility._supportsSpacingProps = 'children';
82
88
  var _default = Visibility;
@@ -1 +1 @@
1
- {"version":3,"file":"Visibility.js","names":["_react","_interopRequireDefault","require","_helpers","_useMountEffect","_HeightAnimation","_FieldProps","_useVisibility","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Visibility","_ref","visible","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","visibleWhen","visibleWhenNot","inferData","filterData","animate","keepInDOM","compensateForGap","fieldPropsWhenHidden","children","rest","useMountEffect","warn","check","useVisibility","open","props","createElement","Boolean","className","hidden","Fragment","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/Visibility.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react'\n\nimport { warn } from '../../../../shared/helpers'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport HeightAnimation, {\n HeightAnimationProps,\n} from '../../../../components/HeightAnimation'\nimport FieldProps from '../FieldProps'\nimport useVisibility from './useVisibility'\n\nimport type { Path, UseFieldProps } from '../../types'\nimport type { DataAttributes } from '../../hooks/useFieldProps'\nimport { FilterData } from '../../DataContext'\n\nexport type VisibleWhen =\n | {\n path: Path\n hasValue: unknown\n }\n | {\n itemPath: Path\n hasValue: unknown\n }\n /**\n * @deprecated Will be remove din v11!\n */\n | {\n path: Path\n /** @deprecated Use `hasValue` instead */\n withValue: (value: unknown) => boolean\n }\n /**\n * @deprecated Will be remove din v11!\n */\n | {\n itemPath: Path\n /** @deprecated Use `hasValue` instead */\n withValue: (value: unknown) => boolean\n }\n\nexport type Props = {\n visible?: boolean\n /** Given data context path must be defined to show children */\n pathDefined?: Path\n /** Given data context path must be undefined to show children */\n pathUndefined?: Path\n /** Given data context path must be truthy to show children */\n pathTruthy?: Path\n /** Given data context path must be falsy to show children */\n pathFalsy?: Path\n /** Given data context path must be true to show children */\n pathTrue?: Path\n /** Given data context path must be false to show children */\n pathFalse?: Path\n /** Provide a `path` or `itemPath` and a `hasValue` method that returns a boolean or the excepted value in order to show children. The first parameter is the value of the path. */\n visibleWhen?: VisibleWhen\n /** Same as `visibleWhen`, but with inverted logic. */\n visibleWhenNot?: VisibleWhen\n /** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */\n inferData?: (data: unknown) => boolean\n /** Filter data based on provided criteria. The first parameter is the path, the second is the value, and the third is the props, and the fourth is the internal. Return false to filter out the data. */\n filterData?: FilterData\n /** Animate the visibility change */\n animate?: boolean\n /** Keep the content in the DOM, even if it's not visible */\n keepInDOM?: boolean\n /** To compensate for CSS gap between the rows, so animation does not jump during the animation. Provide a CSS unit or `auto`. Defaults to `null`. */\n compensateForGap?: HeightAnimationProps['compensateForGap']\n /** When visibility is hidden, and `keepInDOM` is true, pass these props to the children */\n fieldPropsWhenHidden?: UseFieldProps & DataAttributes & AriaAttributes\n element?: HeightAnimationProps['element']\n children: React.ReactNode\n\n /** @deprecated Use `visibleWhen` instead */\n pathValue?: string\n /** @deprecated Use `visibleWhen` instead */\n whenValue?: unknown\n}\n\nfunction Visibility({\n visible,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n visibleWhen,\n visibleWhenNot,\n inferData,\n filterData,\n animate,\n keepInDOM,\n compensateForGap,\n fieldPropsWhenHidden,\n children,\n ...rest\n}: Props) {\n useMountEffect(() => {\n if (fieldPropsWhenHidden && !keepInDOM) {\n warn('Using \"fieldPropsWhenHidden\" requires \"keepInDOM\" to be true.')\n }\n })\n\n const { check } = useVisibility({\n visible,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n visibleWhen,\n visibleWhenNot,\n inferData,\n filterData,\n })\n const open = check()\n\n if (animate) {\n const props = !open ? fieldPropsWhenHidden : null\n\n return (\n <HeightAnimation\n open={open}\n keepInDOM={Boolean(keepInDOM)}\n className=\"dnb-forms-visibility\"\n compensateForGap={compensateForGap}\n {...rest}\n >\n <FieldProps {...props}>{children}</FieldProps>\n </HeightAnimation>\n )\n }\n\n if (keepInDOM) {\n const props = !open ? fieldPropsWhenHidden : null\n return (\n <span className=\"dnb-forms-visibility\" hidden={!open}>\n <FieldProps {...props}>{children}</FieldProps>\n </span>\n )\n }\n\n return <>{open ? children : null}</>\n}\n\nVisibility._supportsSpacingProps = 'children'\nexport default Visibility\n"],"mappings":"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"}
1
+ {"version":3,"file":"Visibility.js","names":["_react","_interopRequireDefault","require","_helpers","_useMountEffect","_HeightAnimation","_FieldProps","_useVisibility","_VisibilityContext","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Visibility","_ref","visible","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","visibleWhen","visibleWhenNot","inferData","filterData","animate","keepInDOM","compensateForGap","fieldPropsWhenHidden","children","rest","useMountEffect","warn","check","useVisibility","open","content","createElement","Provider","value","isVisible","props","Boolean","className","hidden","Fragment","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/Visibility.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react'\n\nimport { warn } from '../../../../shared/helpers'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport HeightAnimation, {\n HeightAnimationProps,\n} from '../../../../components/HeightAnimation'\nimport FieldProps from '../FieldProps'\nimport useVisibility from './useVisibility'\n\nimport type { Path, UseFieldProps } from '../../types'\nimport type { DataAttributes } from '../../hooks/useFieldProps'\nimport { FilterData } from '../../DataContext'\nimport VisibilityContext from './VisibilityContext'\n\nexport type VisibleWhen =\n | {\n path: Path\n hasValue: unknown\n }\n | {\n itemPath: Path\n hasValue: unknown\n }\n /**\n * @deprecated Will be remove din v11!\n */\n | {\n path: Path\n /** @deprecated Use `hasValue` instead */\n withValue: (value: unknown) => boolean\n }\n /**\n * @deprecated Will be remove din v11!\n */\n | {\n itemPath: Path\n /** @deprecated Use `hasValue` instead */\n withValue: (value: unknown) => boolean\n }\n\nexport type Props = {\n visible?: boolean\n /** Given data context path must be defined to show children */\n pathDefined?: Path\n /** Given data context path must be undefined to show children */\n pathUndefined?: Path\n /** Given data context path must be truthy to show children */\n pathTruthy?: Path\n /** Given data context path must be falsy to show children */\n pathFalsy?: Path\n /** Given data context path must be true to show children */\n pathTrue?: Path\n /** Given data context path must be false to show children */\n pathFalse?: Path\n /** Provide a `path` or `itemPath` and a `hasValue` method that returns a boolean or the excepted value in order to show children. The first parameter is the value of the path. */\n visibleWhen?: VisibleWhen\n /** Same as `visibleWhen`, but with inverted logic. */\n visibleWhenNot?: VisibleWhen\n /** Infer visibility calling given derivative function with the whole data set. Should return true/false for visibility. */\n inferData?: (data: unknown) => boolean\n /** Filter data based on provided criteria. The first parameter is the path, the second is the value, and the third is the props, and the fourth is the internal. Return false to filter out the data. */\n filterData?: FilterData\n /** Animate the visibility change */\n animate?: boolean\n /** Keep the content in the DOM, even if it's not visible */\n keepInDOM?: boolean\n /** To compensate for CSS gap between the rows, so animation does not jump during the animation. Provide a CSS unit or `auto`. Defaults to `null`. */\n compensateForGap?: HeightAnimationProps['compensateForGap']\n /** When visibility is hidden, and `keepInDOM` is true, pass these props to the children */\n fieldPropsWhenHidden?: UseFieldProps & DataAttributes & AriaAttributes\n element?: HeightAnimationProps['element']\n children: React.ReactNode\n\n /** @deprecated Use `visibleWhen` instead */\n pathValue?: string\n /** @deprecated Use `visibleWhen` instead */\n whenValue?: unknown\n}\n\nfunction Visibility({\n visible,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n visibleWhen,\n visibleWhenNot,\n inferData,\n filterData,\n animate,\n keepInDOM,\n compensateForGap,\n fieldPropsWhenHidden,\n children,\n ...rest\n}: Props) {\n useMountEffect(() => {\n if (fieldPropsWhenHidden && !keepInDOM) {\n warn('Using \"fieldPropsWhenHidden\" requires \"keepInDOM\" to be true.')\n }\n })\n\n const { check } = useVisibility({\n visible,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n visibleWhen,\n visibleWhenNot,\n inferData,\n filterData,\n })\n const open = check()\n const content = (\n <VisibilityContext.Provider\n value={{\n isVisible: open,\n }}\n >\n {children}\n </VisibilityContext.Provider>\n )\n\n if (animate) {\n const props = !open ? fieldPropsWhenHidden : null\n\n return (\n <HeightAnimation\n open={open}\n keepInDOM={Boolean(keepInDOM)}\n className=\"dnb-forms-visibility\"\n compensateForGap={compensateForGap}\n {...rest}\n >\n <FieldProps {...props}>{content}</FieldProps>\n </HeightAnimation>\n )\n }\n\n if (keepInDOM) {\n const props = !open ? fieldPropsWhenHidden : null\n return (\n <span className=\"dnb-forms-visibility\" hidden={!open}>\n <FieldProps {...props}>{content}</FieldProps>\n </span>\n )\n }\n\n return <>{open ? content : null}</>\n}\n\nVisibility._supportsSpacingProps = 'children'\nexport default Visibility\n"],"mappings":"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"}