@dnb/eufemia 10.42.0 → 10.44.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 (522) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/cjs/components/autocomplete/Autocomplete.d.ts +2 -2
  3. package/cjs/components/autocomplete/AutocompleteDocs.js +7 -7
  4. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
  5. package/cjs/components/button/Button.d.ts +18 -1
  6. package/cjs/components/button/Button.js +6 -5
  7. package/cjs/components/button/Button.js.map +1 -1
  8. package/cjs/components/card/Card.d.ts +1 -1
  9. package/cjs/components/card/Card.js.map +1 -1
  10. package/cjs/components/input-masked/InputMaskedHooks.js +4 -0
  11. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  12. package/cjs/components/space/Space.d.ts +1 -1
  13. package/cjs/components/space/Space.js.map +1 -1
  14. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  15. package/cjs/components/table/table-navigation/TableNavigationHead.js +1 -1
  16. package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  17. package/cjs/components/tabs/Tabs.js +1 -1
  18. package/cjs/components/tabs/Tabs.js.map +1 -1
  19. package/cjs/components/upload/UploadDocs.js +1 -1
  20. package/cjs/components/upload/UploadDocs.js.map +1 -1
  21. package/cjs/components/upload/UploadInfo.js +1 -1
  22. package/cjs/components/upload/UploadInfo.js.map +1 -1
  23. package/cjs/components/upload/UploadVerify.js +4 -1
  24. package/cjs/components/upload/UploadVerify.js.map +1 -1
  25. package/cjs/components/upload/types.d.ts +2 -2
  26. package/cjs/components/upload/types.js.map +1 -1
  27. package/cjs/extensions/forms/DataContext/Context.d.ts +3 -2
  28. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  29. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +7 -2
  30. package/cjs/extensions/forms/DataContext/Provider/Provider.js +52 -17
  31. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  32. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
  33. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  34. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
  35. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +31 -0
  36. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
  37. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  38. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  39. package/cjs/extensions/forms/Field/FieldDocs.d.ts +7 -0
  40. package/cjs/extensions/forms/Field/FieldDocs.js +20 -1
  41. package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -1
  42. package/cjs/extensions/forms/Field/Number/Number.js +21 -16
  43. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  44. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -4
  45. package/cjs/extensions/forms/Field/Option/Option.js +0 -21
  46. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  47. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
  48. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +33 -15
  49. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  50. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
  51. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +28 -0
  52. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
  53. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  54. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +32 -16
  55. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  56. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
  57. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +16 -0
  58. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
  59. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +40 -16
  60. package/cjs/extensions/forms/Field/Selection/Selection.js +71 -16
  61. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  62. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
  63. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  64. package/cjs/extensions/forms/Field/String/String.d.ts +1 -0
  65. package/cjs/extensions/forms/Field/String/String.js +21 -2
  66. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  67. package/cjs/extensions/forms/Field/Toggle/Toggle.js +1 -1
  68. package/cjs/extensions/forms/Field/Toggle/Toggle.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.d.ts +41 -0
  73. package/cjs/extensions/forms/Form/Isolation/Isolation.js +108 -0
  74. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -0
  75. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.d.ts +7 -0
  76. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js +53 -0
  77. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -0
  78. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.d.ts +3 -0
  79. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +50 -0
  80. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -0
  81. package/cjs/extensions/forms/Form/Isolation/index.d.ts +2 -0
  82. package/cjs/extensions/forms/Form/Isolation/index.js +27 -0
  83. package/cjs/extensions/forms/Form/Isolation/index.js.map +1 -0
  84. package/cjs/extensions/forms/Form/Section/Section.js +2 -2
  85. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  86. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +6 -2
  87. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  88. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +26 -10
  89. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  90. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  91. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  92. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +22 -19
  93. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  94. package/cjs/extensions/forms/Form/data-context/clearData.d.ts +1 -0
  95. package/cjs/extensions/forms/Form/data-context/clearData.js +16 -0
  96. package/cjs/extensions/forms/Form/data-context/clearData.js.map +1 -0
  97. package/cjs/extensions/forms/Form/index.d.ts +2 -0
  98. package/cjs/extensions/forms/Form/index.js +14 -0
  99. package/cjs/extensions/forms/Form/index.js.map +1 -1
  100. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  101. package/cjs/extensions/forms/Iterate/Array/types.d.ts +1 -4
  102. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  103. package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
  104. package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  105. package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
  106. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  107. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  108. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +1 -1
  109. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  110. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +7 -0
  111. package/cjs/extensions/forms/constants/locales/en-GB.js +7 -0
  112. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  113. package/cjs/extensions/forms/constants/locales/en-US.d.ts +7 -0
  114. package/cjs/extensions/forms/constants/locales/index.d.ts +14 -0
  115. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
  116. package/cjs/extensions/forms/constants/locales/nb-NO.js +7 -0
  117. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  118. package/cjs/extensions/forms/hooks/DataValueDocs.js +4 -4
  119. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  120. package/cjs/extensions/forms/hooks/useDataValue.d.ts +1 -0
  121. package/cjs/extensions/forms/hooks/useDataValue.js +18 -9
  122. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  123. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +5 -5
  124. package/cjs/extensions/forms/hooks/useFieldProps.js +50 -34
  125. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  126. package/cjs/extensions/forms/hooks/usePath.d.ts +1 -1
  127. package/cjs/extensions/forms/hooks/usePath.js +9 -8
  128. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  129. package/cjs/extensions/forms/style/dnb-forms.css +1 -1
  130. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  131. package/cjs/extensions/forms/types.d.ts +16 -6
  132. package/cjs/extensions/forms/types.js.map +1 -1
  133. package/cjs/extensions/payment-card/utils/Types.js.map +1 -1
  134. package/cjs/shared/Eufemia.d.ts +1 -1
  135. package/cjs/shared/Eufemia.js +2 -2
  136. package/cjs/shared/Eufemia.js.map +1 -1
  137. package/cjs/shared/helpers/extendPropsWithContext.js +3 -3
  138. package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
  139. package/cjs/shared/helpers/isAsync.js +2 -2
  140. package/cjs/shared/helpers/isAsync.js.map +1 -1
  141. package/cjs/style/core/scopes.scss +1 -1
  142. package/cjs/style/dnb-ui-basis.css +1 -1
  143. package/cjs/style/dnb-ui-basis.min.css +1 -1
  144. package/cjs/style/dnb-ui-body.css +1 -1
  145. package/cjs/style/dnb-ui-body.min.css +1 -1
  146. package/cjs/style/dnb-ui-components.css +1 -1
  147. package/cjs/style/dnb-ui-components.min.css +1 -1
  148. package/cjs/style/dnb-ui-core.css +1 -1
  149. package/cjs/style/dnb-ui-core.min.css +1 -1
  150. package/cjs/style/dnb-ui-extensions.css +1 -1
  151. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  152. package/cjs/style/dnb-ui-forms.css +1 -1
  153. package/cjs/style/dnb-ui-forms.min.css +1 -1
  154. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +2 -2
  155. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  156. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
  157. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  158. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
  159. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  160. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +2 -2
  161. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  162. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
  163. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  164. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
  165. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  166. package/cjs/style/themes/theme-ui/ui-theme-components.css +2 -2
  167. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  168. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +1 -1
  169. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  170. package/cjs/style/themes/theme-ui/ui-theme-forms.css +1 -1
  171. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  172. package/components/autocomplete/Autocomplete.d.ts +2 -2
  173. package/components/autocomplete/AutocompleteDocs.js +7 -7
  174. package/components/autocomplete/AutocompleteDocs.js.map +1 -1
  175. package/components/button/Button.d.ts +18 -1
  176. package/components/button/Button.js +6 -5
  177. package/components/button/Button.js.map +1 -1
  178. package/components/card/Card.d.ts +1 -1
  179. package/components/card/Card.js.map +1 -1
  180. package/components/input-masked/InputMaskedHooks.js +4 -0
  181. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  182. package/components/space/Space.d.ts +1 -1
  183. package/components/space/Space.js.map +1 -1
  184. package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  185. package/components/table/table-navigation/TableNavigationHead.js +1 -1
  186. package/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  187. package/components/tabs/Tabs.js +1 -1
  188. package/components/tabs/Tabs.js.map +1 -1
  189. package/components/upload/UploadDocs.js +1 -1
  190. package/components/upload/UploadDocs.js.map +1 -1
  191. package/components/upload/UploadInfo.js +1 -1
  192. package/components/upload/UploadInfo.js.map +1 -1
  193. package/components/upload/UploadVerify.js +4 -1
  194. package/components/upload/UploadVerify.js.map +1 -1
  195. package/components/upload/types.d.ts +2 -2
  196. package/components/upload/types.js.map +1 -1
  197. package/es/components/autocomplete/Autocomplete.d.ts +2 -2
  198. package/es/components/autocomplete/AutocompleteDocs.js +7 -7
  199. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
  200. package/es/components/button/Button.d.ts +18 -1
  201. package/es/components/button/Button.js +6 -5
  202. package/es/components/button/Button.js.map +1 -1
  203. package/es/components/card/Card.d.ts +1 -1
  204. package/es/components/card/Card.js.map +1 -1
  205. package/es/components/input-masked/InputMaskedHooks.js +4 -0
  206. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  207. package/es/components/space/Space.d.ts +1 -1
  208. package/es/components/space/Space.js.map +1 -1
  209. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  210. package/es/components/table/table-navigation/TableNavigationHead.js +1 -1
  211. package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -1
  212. package/es/components/tabs/Tabs.js +1 -1
  213. package/es/components/tabs/Tabs.js.map +1 -1
  214. package/es/components/upload/UploadDocs.js +1 -1
  215. package/es/components/upload/UploadDocs.js.map +1 -1
  216. package/es/components/upload/UploadInfo.js +1 -1
  217. package/es/components/upload/UploadInfo.js.map +1 -1
  218. package/es/components/upload/UploadVerify.js +4 -1
  219. package/es/components/upload/UploadVerify.js.map +1 -1
  220. package/es/components/upload/types.d.ts +2 -2
  221. package/es/components/upload/types.js.map +1 -1
  222. package/es/extensions/forms/DataContext/Context.d.ts +3 -2
  223. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  224. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +7 -2
  225. package/es/extensions/forms/DataContext/Provider/Provider.js +50 -17
  226. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  227. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
  228. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  229. package/es/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
  230. package/es/extensions/forms/Field/Currency/CurrencyDocs.js +22 -0
  231. package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
  232. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  233. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  234. package/es/extensions/forms/Field/FieldDocs.d.ts +7 -0
  235. package/es/extensions/forms/Field/FieldDocs.js +16 -0
  236. package/es/extensions/forms/Field/FieldDocs.js.map +1 -1
  237. package/es/extensions/forms/Field/Number/Number.js +21 -16
  238. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  239. package/es/extensions/forms/Field/Option/Option.d.ts +2 -4
  240. package/es/extensions/forms/Field/Option/Option.js +0 -20
  241. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  242. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
  243. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +32 -15
  244. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  245. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
  246. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +20 -0
  247. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
  248. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  249. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +16 -3
  250. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  251. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
  252. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +9 -0
  253. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
  254. package/es/extensions/forms/Field/Selection/Selection.d.ts +40 -16
  255. package/es/extensions/forms/Field/Selection/Selection.js +67 -15
  256. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  257. package/es/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
  258. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  259. package/es/extensions/forms/Field/String/String.d.ts +1 -0
  260. package/es/extensions/forms/Field/String/String.js +20 -2
  261. package/es/extensions/forms/Field/String/String.js.map +1 -1
  262. package/es/extensions/forms/Field/Toggle/Toggle.js +1 -1
  263. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  264. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  265. package/es/extensions/forms/Form/Handler/Handler.js +3 -1
  266. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  267. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +41 -0
  268. package/es/extensions/forms/Form/Isolation/Isolation.js +97 -0
  269. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -0
  270. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.d.ts +7 -0
  271. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js +43 -0
  272. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -0
  273. package/es/extensions/forms/Form/Isolation/IsolationDocs.d.ts +3 -0
  274. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +40 -0
  275. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -0
  276. package/es/extensions/forms/Form/Isolation/index.d.ts +2 -0
  277. package/es/extensions/forms/Form/Isolation/index.js +3 -0
  278. package/es/extensions/forms/Form/Isolation/index.js.map +1 -0
  279. package/es/extensions/forms/Form/Section/Section.js +2 -2
  280. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  281. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +6 -2
  282. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  283. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +26 -10
  284. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  285. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  286. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  287. package/es/extensions/forms/Form/Visibility/useVisibility.js +22 -19
  288. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  289. package/es/extensions/forms/Form/data-context/clearData.d.ts +1 -0
  290. package/es/extensions/forms/Form/data-context/clearData.js +10 -0
  291. package/es/extensions/forms/Form/data-context/clearData.js.map +1 -0
  292. package/es/extensions/forms/Form/index.d.ts +2 -0
  293. package/es/extensions/forms/Form/index.js +2 -0
  294. package/es/extensions/forms/Form/index.js.map +1 -1
  295. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  296. package/es/extensions/forms/Iterate/Array/types.d.ts +1 -4
  297. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  298. package/es/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
  299. package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  300. package/es/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
  301. package/es/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  302. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  303. package/es/extensions/forms/Wizard/Step/StepDocs.js +1 -1
  304. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  305. package/es/extensions/forms/constants/locales/en-GB.d.ts +7 -0
  306. package/es/extensions/forms/constants/locales/en-GB.js +7 -0
  307. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  308. package/es/extensions/forms/constants/locales/en-US.d.ts +7 -0
  309. package/es/extensions/forms/constants/locales/index.d.ts +14 -0
  310. package/es/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
  311. package/es/extensions/forms/constants/locales/nb-NO.js +7 -0
  312. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  313. package/es/extensions/forms/hooks/DataValueDocs.js +4 -4
  314. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  315. package/es/extensions/forms/hooks/useDataValue.d.ts +1 -0
  316. package/es/extensions/forms/hooks/useDataValue.js +18 -9
  317. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  318. package/es/extensions/forms/hooks/useFieldProps.d.ts +5 -5
  319. package/es/extensions/forms/hooks/useFieldProps.js +50 -34
  320. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  321. package/es/extensions/forms/hooks/usePath.d.ts +1 -1
  322. package/es/extensions/forms/hooks/usePath.js +8 -8
  323. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  324. package/es/extensions/forms/style/dnb-forms.css +1 -1
  325. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  326. package/es/extensions/forms/types.d.ts +16 -6
  327. package/es/extensions/forms/types.js.map +1 -1
  328. package/es/extensions/payment-card/utils/Types.js.map +1 -1
  329. package/es/shared/Eufemia.d.ts +1 -1
  330. package/es/shared/Eufemia.js +2 -2
  331. package/es/shared/Eufemia.js.map +1 -1
  332. package/es/shared/helpers/extendPropsWithContext.js +3 -3
  333. package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
  334. package/es/shared/helpers/isAsync.js +2 -2
  335. package/es/shared/helpers/isAsync.js.map +1 -1
  336. package/es/style/core/scopes.scss +1 -1
  337. package/es/style/dnb-ui-basis.css +1 -1
  338. package/es/style/dnb-ui-basis.min.css +1 -1
  339. package/es/style/dnb-ui-body.css +1 -1
  340. package/es/style/dnb-ui-body.min.css +1 -1
  341. package/es/style/dnb-ui-components.css +1 -1
  342. package/es/style/dnb-ui-components.min.css +1 -1
  343. package/es/style/dnb-ui-core.css +1 -1
  344. package/es/style/dnb-ui-core.min.css +1 -1
  345. package/es/style/dnb-ui-extensions.css +1 -1
  346. package/es/style/dnb-ui-extensions.min.css +1 -1
  347. package/es/style/dnb-ui-forms.css +1 -1
  348. package/es/style/dnb-ui-forms.min.css +1 -1
  349. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +2 -2
  350. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  351. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
  352. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  353. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
  354. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  355. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +2 -2
  356. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  357. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
  358. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  359. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
  360. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  361. package/es/style/themes/theme-ui/ui-theme-components.css +2 -2
  362. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  363. package/es/style/themes/theme-ui/ui-theme-extensions.css +1 -1
  364. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  365. package/es/style/themes/theme-ui/ui-theme-forms.css +1 -1
  366. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  367. package/esm/dnb-ui-basis.min.mjs +1 -1
  368. package/esm/dnb-ui-components.min.mjs +1 -1
  369. package/esm/dnb-ui-elements.min.mjs +1 -1
  370. package/esm/dnb-ui-extensions.min.mjs +3 -3
  371. package/esm/dnb-ui-lib.min.mjs +1 -1
  372. package/extensions/forms/DataContext/Context.d.ts +3 -2
  373. package/extensions/forms/DataContext/Context.js.map +1 -1
  374. package/extensions/forms/DataContext/Provider/Provider.d.ts +7 -2
  375. package/extensions/forms/DataContext/Provider/Provider.js +50 -17
  376. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  377. package/extensions/forms/DataContext/Provider/ProviderDocs.js +6 -1
  378. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  379. package/extensions/forms/Field/Currency/CurrencyDocs.d.ts +2 -0
  380. package/extensions/forms/Field/Currency/CurrencyDocs.js +22 -0
  381. package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -0
  382. package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  383. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  384. package/extensions/forms/Field/FieldDocs.d.ts +7 -0
  385. package/extensions/forms/Field/FieldDocs.js +18 -0
  386. package/extensions/forms/Field/FieldDocs.js.map +1 -1
  387. package/extensions/forms/Field/Number/Number.js +21 -16
  388. package/extensions/forms/Field/Number/Number.js.map +1 -1
  389. package/extensions/forms/Field/Option/Option.d.ts +2 -4
  390. package/extensions/forms/Field/Option/Option.js +0 -20
  391. package/extensions/forms/Field/Option/Option.js.map +1 -1
  392. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -2
  393. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +33 -15
  394. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  395. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +3 -0
  396. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +20 -0
  397. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -0
  398. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  399. package/extensions/forms/Field/SelectCountry/SelectCountry.js +32 -16
  400. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  401. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +1 -0
  402. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +9 -0
  403. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -0
  404. package/extensions/forms/Field/Selection/Selection.d.ts +40 -16
  405. package/extensions/forms/Field/Selection/Selection.js +70 -15
  406. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  407. package/extensions/forms/Field/Selection/SelectionDocs.js +10 -0
  408. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  409. package/extensions/forms/Field/String/String.d.ts +1 -0
  410. package/extensions/forms/Field/String/String.js +21 -2
  411. package/extensions/forms/Field/String/String.js.map +1 -1
  412. package/extensions/forms/Field/Toggle/Toggle.js +1 -1
  413. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  414. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  415. package/extensions/forms/Form/Handler/Handler.js +3 -1
  416. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  417. package/extensions/forms/Form/Isolation/Isolation.d.ts +41 -0
  418. package/extensions/forms/Form/Isolation/Isolation.js +97 -0
  419. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -0
  420. package/extensions/forms/Form/Isolation/IsolationCommitButton.d.ts +7 -0
  421. package/extensions/forms/Form/Isolation/IsolationCommitButton.js +43 -0
  422. package/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -0
  423. package/extensions/forms/Form/Isolation/IsolationDocs.d.ts +3 -0
  424. package/extensions/forms/Form/Isolation/IsolationDocs.js +40 -0
  425. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -0
  426. package/extensions/forms/Form/Isolation/index.d.ts +2 -0
  427. package/extensions/forms/Form/Isolation/index.js +3 -0
  428. package/extensions/forms/Form/Isolation/index.js.map +1 -0
  429. package/extensions/forms/Form/Section/Section.js +2 -2
  430. package/extensions/forms/Form/Section/Section.js.map +1 -1
  431. package/extensions/forms/Form/SubmitButton/SubmitButton.js +6 -2
  432. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  433. package/extensions/forms/Form/Visibility/Visibility.d.ts +26 -10
  434. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  435. package/extensions/forms/Form/Visibility/VisibilityDocs.js +1 -1
  436. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  437. package/extensions/forms/Form/Visibility/useVisibility.js +22 -19
  438. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  439. package/extensions/forms/Form/data-context/clearData.d.ts +1 -0
  440. package/extensions/forms/Form/data-context/clearData.js +10 -0
  441. package/extensions/forms/Form/data-context/clearData.js.map +1 -0
  442. package/extensions/forms/Form/index.d.ts +2 -0
  443. package/extensions/forms/Form/index.js +2 -0
  444. package/extensions/forms/Form/index.js.map +1 -1
  445. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  446. package/extensions/forms/Iterate/Array/types.d.ts +1 -4
  447. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  448. package/extensions/forms/Iterate/style/dnb-iterate.css +1 -1
  449. package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -1
  450. package/extensions/forms/Iterate/style/dnb-iterate.scss +1 -1
  451. package/extensions/forms/Wizard/Step/Step.d.ts +1 -1
  452. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  453. package/extensions/forms/Wizard/Step/StepDocs.js +1 -1
  454. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  455. package/extensions/forms/constants/locales/en-GB.d.ts +7 -0
  456. package/extensions/forms/constants/locales/en-GB.js +7 -0
  457. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  458. package/extensions/forms/constants/locales/en-US.d.ts +7 -0
  459. package/extensions/forms/constants/locales/index.d.ts +14 -0
  460. package/extensions/forms/constants/locales/nb-NO.d.ts +7 -0
  461. package/extensions/forms/constants/locales/nb-NO.js +7 -0
  462. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  463. package/extensions/forms/hooks/DataValueDocs.js +4 -4
  464. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  465. package/extensions/forms/hooks/useDataValue.d.ts +1 -0
  466. package/extensions/forms/hooks/useDataValue.js +18 -9
  467. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  468. package/extensions/forms/hooks/useFieldProps.d.ts +5 -5
  469. package/extensions/forms/hooks/useFieldProps.js +50 -34
  470. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  471. package/extensions/forms/hooks/usePath.d.ts +1 -1
  472. package/extensions/forms/hooks/usePath.js +9 -8
  473. package/extensions/forms/hooks/usePath.js.map +1 -1
  474. package/extensions/forms/style/dnb-forms.css +1 -1
  475. package/extensions/forms/style/dnb-forms.min.css +1 -1
  476. package/extensions/forms/types.d.ts +16 -6
  477. package/extensions/forms/types.js.map +1 -1
  478. package/extensions/payment-card/utils/Types.js.map +1 -1
  479. package/package.json +1 -1
  480. package/shared/Eufemia.d.ts +1 -1
  481. package/shared/Eufemia.js +2 -2
  482. package/shared/Eufemia.js.map +1 -1
  483. package/shared/helpers/extendPropsWithContext.js +3 -3
  484. package/shared/helpers/extendPropsWithContext.js.map +1 -1
  485. package/shared/helpers/isAsync.js +2 -2
  486. package/shared/helpers/isAsync.js.map +1 -1
  487. package/style/core/scopes.scss +1 -1
  488. package/style/dnb-ui-basis.css +1 -1
  489. package/style/dnb-ui-basis.min.css +1 -1
  490. package/style/dnb-ui-body.css +1 -1
  491. package/style/dnb-ui-body.min.css +1 -1
  492. package/style/dnb-ui-components.css +1 -1
  493. package/style/dnb-ui-components.min.css +1 -1
  494. package/style/dnb-ui-core.css +1 -1
  495. package/style/dnb-ui-core.min.css +1 -1
  496. package/style/dnb-ui-extensions.css +1 -1
  497. package/style/dnb-ui-extensions.min.css +1 -1
  498. package/style/dnb-ui-forms.css +1 -1
  499. package/style/dnb-ui-forms.min.css +1 -1
  500. package/style/themes/theme-eiendom/eiendom-theme-components.css +2 -2
  501. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  502. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -1
  503. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  504. package/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -1
  505. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  506. package/style/themes/theme-sbanken/sbanken-theme-components.css +2 -2
  507. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  508. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -1
  509. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  510. package/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -1
  511. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  512. package/style/themes/theme-ui/ui-theme-components.css +2 -2
  513. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  514. package/style/themes/theme-ui/ui-theme-extensions.css +1 -1
  515. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  516. package/style/themes/theme-ui/ui-theme-forms.css +1 -1
  517. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  518. package/umd/dnb-ui-basis.min.js +1 -1
  519. package/umd/dnb-ui-components.min.js +1 -1
  520. package/umd/dnb-ui-elements.min.js +1 -1
  521. package/umd/dnb-ui-extensions.min.js +3 -3
  522. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1,30 +1,46 @@
1
1
  import React, { AriaAttributes } from 'react';
2
2
  import { HeightAnimationProps } from '../../../../components/HeightAnimation';
3
- import type { UseFieldProps } from '../../types';
3
+ import type { Path, UseFieldProps } from '../../types';
4
4
  import type { DataAttributes } from '../../hooks/useFieldProps';
5
5
  import { FilterData } from '../../DataContext';
6
6
  export type VisibleWhen = {
7
- path: string;
7
+ path: Path;
8
8
  hasValue: unknown;
9
9
  } | {
10
- path: string;
10
+ itemPath: Path;
11
+ hasValue: unknown;
12
+ }
13
+ /**
14
+ * @deprecated Will be remove din v11!
15
+ */
16
+ | {
17
+ path: Path;
18
+ /** @deprecated Use `hasValue` instead */
19
+ withValue: (value: unknown) => boolean;
20
+ }
21
+ /**
22
+ * @deprecated Will be remove din v11!
23
+ */
24
+ | {
25
+ itemPath: Path;
26
+ /** @deprecated Use `hasValue` instead */
11
27
  withValue: (value: unknown) => boolean;
12
28
  };
13
29
  export type Props = {
14
30
  visible?: boolean;
15
31
  /** Given data context path must be defined to show children */
16
- pathDefined?: string;
32
+ pathDefined?: Path;
17
33
  /** Given data context path must be undefined to show children */
18
- pathUndefined?: string;
34
+ pathUndefined?: Path;
19
35
  /** Given data context path must be truthy to show children */
20
- pathTruthy?: string;
36
+ pathTruthy?: Path;
21
37
  /** Given data context path must be falsy to show children */
22
- pathFalsy?: string;
38
+ pathFalsy?: Path;
23
39
  /** Given data context path must be true to show children */
24
- pathTrue?: string;
40
+ pathTrue?: Path;
25
41
  /** Given data context path must be false to show children */
26
- pathFalse?: string;
27
- /** Provide a `path` and a `hasValue` property with the excepted value in order to show children. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path. */
42
+ pathFalse?: Path;
43
+ /** 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. */
28
44
  visibleWhen?: VisibleWhen;
29
45
  /** Same as `visibleWhen`, but with inverted logic. */
30
46
  visibleWhenNot?: VisibleWhen;
@@ -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 { UseFieldProps } from '../../types'\nimport type { DataAttributes } from '../../hooks/useFieldProps'\nimport { FilterData } from '../../DataContext'\n\nexport type VisibleWhen =\n | {\n path: string\n hasValue: unknown\n }\n | {\n path: string\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?: string\n /** Given data context path must be undefined to show children */\n pathUndefined?: string\n /** Given data context path must be truthy to show children */\n pathTruthy?: string\n /** Given data context path must be falsy to show children */\n pathFalsy?: string\n /** Given data context path must be true to show children */\n pathTrue?: string\n /** Given data context path must be false to show children */\n pathFalse?: string\n /** Provide a `path` and a `hasValue` property with the excepted value in order to show children. You can alternatively provide a `withValue` function that returns a boolean. 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","_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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"}
@@ -36,7 +36,7 @@ const VisibilityProperties = {
36
36
  status: 'optional'
37
37
  },
38
38
  visibleWhen: {
39
- doc: 'Provide a `path` and a `hasValue` property with the excepted value in order to show children. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path.',
39
+ doc: '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.',
40
40
  type: 'object',
41
41
  status: 'optional'
42
42
  },
@@ -1 +1 @@
1
- {"version":3,"file":"VisibilityDocs.js","names":["VisibilityProperties","pathDefined","doc","type","status","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","visibleWhen","visibleWhenNot","inferData","visible","animate","keepInDOM","compensateForGap","filterData","fieldPropsWhenHidden","element","children","exports"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/VisibilityDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const VisibilityProperties: PropertiesTableProps = {\n pathDefined: {\n doc: 'Given data context path must be defined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathUndefined: {\n doc: 'Given data context path must be undefined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTruthy: {\n doc: 'Given data context path must be truthy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalsy: {\n doc: 'Given data context path must be falsy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTrue: {\n doc: 'Given data context path must be true to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalse: {\n doc: 'Given data context path must be false to show children.',\n type: 'string',\n status: 'optional',\n },\n visibleWhen: {\n doc: 'Provide a `path` and a `hasValue` property with the excepted value in order to show children. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path.',\n type: 'object',\n status: 'optional',\n },\n visibleWhenNot: {\n doc: 'Same as `visibleWhen`, but with inverted logic.',\n type: 'object',\n status: 'optional',\n },\n inferData: {\n doc: 'Will be called to decide by external logic, and show/hide contents based on the return value.',\n type: 'function',\n status: 'optional',\n },\n visible: {\n doc: 'Control visibility directly by boolean value.',\n type: 'boolean',\n status: 'optional',\n },\n animate: {\n doc: 'Define if the content should animate during show/hide.',\n type: 'boolean',\n status: 'optional',\n },\n keepInDOM: {\n doc: \"Keep the content in the DOM, even if it's not visible. Can be used to let fields run validation.\",\n type: 'boolean',\n status: 'optional',\n },\n compensateForGap: {\n doc: '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 type: 'string',\n status: 'optional',\n },\n filterData: {\n doc: 'Filter data based on provided criteria. More info about `filterData` can be found in the [Getting Started](/uilib/extensions/forms/getting-started/#filter-data) documentation.',\n type: ['object', 'function'],\n status: 'optional',\n },\n fieldPropsWhenHidden: {\n doc: 'When visibility is hidden, and `keepInDOM` is true, pass these props to the children.',\n type: 'various',\n status: 'optional',\n },\n element: {\n doc: 'Define the type of element. Defaults to `div`. Only for when `animate` is true.',\n type: 'string or React.Element',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,oBAA0C,GAAG;EACxDC,WAAW,EAAE;IACXC,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,aAAa,EAAE;IACbH,GAAG,EAAE,6DAA6D;IAClEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,UAAU,EAAE;IACVJ,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,SAAS,EAAE;IACTL,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,QAAQ,EAAE;IACRN,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,WAAW,EAAE;IACXR,GAAG,EAAE,0NAA0N;IAC/NC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,cAAc,EAAE;IACdT,GAAG,EAAE,iDAAiD;IACtDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,SAAS,EAAE;IACTV,GAAG,EAAE,+FAA+F;IACpGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDU,OAAO,EAAE;IACPZ,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,SAAS,EAAE;IACTb,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDY,gBAAgB,EAAE;IAChBd,GAAG,EAAE,gJAAgJ;IACrJC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDa,UAAU,EAAE;IACVf,GAAG,EAAE,iLAAiL;IACtLC,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC5BC,MAAM,EAAE;EACV,CAAC;EACDc,oBAAoB,EAAE;IACpBhB,GAAG,EAAE,uFAAuF;IAC5FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDe,OAAO,EAAE;IACPjB,GAAG,EAAE,iFAAiF;IACtFC,IAAI,EAAE,yBAAyB;IAC/BC,MAAM,EAAE;EACV,CAAC;EACDgB,QAAQ,EAAE;IACRlB,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAiB,OAAA,CAAArB,oBAAA,GAAAA,oBAAA"}
1
+ {"version":3,"file":"VisibilityDocs.js","names":["VisibilityProperties","pathDefined","doc","type","status","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","visibleWhen","visibleWhenNot","inferData","visible","animate","keepInDOM","compensateForGap","filterData","fieldPropsWhenHidden","element","children","exports"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/VisibilityDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const VisibilityProperties: PropertiesTableProps = {\n pathDefined: {\n doc: 'Given data context path must be defined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathUndefined: {\n doc: 'Given data context path must be undefined to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTruthy: {\n doc: 'Given data context path must be truthy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalsy: {\n doc: 'Given data context path must be falsy to show children.',\n type: 'string',\n status: 'optional',\n },\n pathTrue: {\n doc: 'Given data context path must be true to show children.',\n type: 'string',\n status: 'optional',\n },\n pathFalse: {\n doc: 'Given data context path must be false to show children.',\n type: 'string',\n status: 'optional',\n },\n visibleWhen: {\n doc: '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 type: 'object',\n status: 'optional',\n },\n visibleWhenNot: {\n doc: 'Same as `visibleWhen`, but with inverted logic.',\n type: 'object',\n status: 'optional',\n },\n inferData: {\n doc: 'Will be called to decide by external logic, and show/hide contents based on the return value.',\n type: 'function',\n status: 'optional',\n },\n visible: {\n doc: 'Control visibility directly by boolean value.',\n type: 'boolean',\n status: 'optional',\n },\n animate: {\n doc: 'Define if the content should animate during show/hide.',\n type: 'boolean',\n status: 'optional',\n },\n keepInDOM: {\n doc: \"Keep the content in the DOM, even if it's not visible. Can be used to let fields run validation.\",\n type: 'boolean',\n status: 'optional',\n },\n compensateForGap: {\n doc: '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 type: 'string',\n status: 'optional',\n },\n filterData: {\n doc: 'Filter data based on provided criteria. More info about `filterData` can be found in the [Getting Started](/uilib/extensions/forms/getting-started/#filter-data) documentation.',\n type: ['object', 'function'],\n status: 'optional',\n },\n fieldPropsWhenHidden: {\n doc: 'When visibility is hidden, and `keepInDOM` is true, pass these props to the children.',\n type: 'various',\n status: 'optional',\n },\n element: {\n doc: 'Define the type of element. Defaults to `div`. Only for when `animate` is true.',\n type: 'string or React.Element',\n status: 'optional',\n },\n children: {\n doc: 'Contents.',\n type: 'React.Node',\n status: 'required',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,oBAA0C,GAAG;EACxDC,WAAW,EAAE;IACXC,GAAG,EAAE,2DAA2D;IAChEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,aAAa,EAAE;IACbH,GAAG,EAAE,6DAA6D;IAClEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,UAAU,EAAE;IACVJ,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,SAAS,EAAE;IACTL,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,QAAQ,EAAE;IACRN,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,WAAW,EAAE;IACXR,GAAG,EAAE,8KAA8K;IACnLC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,cAAc,EAAE;IACdT,GAAG,EAAE,iDAAiD;IACtDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,SAAS,EAAE;IACTV,GAAG,EAAE,+FAA+F;IACpGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDU,OAAO,EAAE;IACPZ,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,SAAS,EAAE;IACTb,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDY,gBAAgB,EAAE;IAChBd,GAAG,EAAE,gJAAgJ;IACrJC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDa,UAAU,EAAE;IACVf,GAAG,EAAE,iLAAiL;IACtLC,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC5BC,MAAM,EAAE;EACV,CAAC;EACDc,oBAAoB,EAAE;IACpBhB,GAAG,EAAE,uFAAuF;IAC5FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDe,OAAO,EAAE;IACPjB,GAAG,EAAE,iFAAiF;IACtFC,IAAI,EAAE,yBAAyB;IAC/BC,MAAM,EAAE;EACV,CAAC;EACDgB,QAAQ,EAAE;IACRlB,GAAG,EAAE,WAAW;IAChBC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAiB,OAAA,CAAArB,oBAAA,GAAAA,oBAAA"}
@@ -8,18 +8,17 @@ exports.default = useVisibility;
8
8
  var _react = require("react");
9
9
  var _jsonPointer = _interopRequireDefault(require("json-pointer"));
10
10
  var _Context = _interopRequireDefault(require("../../DataContext/Context"));
11
- var _SectionContext = _interopRequireDefault(require("../Section/SectionContext"));
11
+ var _usePath = _interopRequireDefault(require("../../hooks/usePath"));
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
  function useVisibility(props) {
14
14
  const {
15
15
  filterDataHandler,
16
16
  data: originalData
17
17
  } = (0, _react.useContext)(_Context.default);
18
- const sectionContext = (0, _react.useContext)(_SectionContext.default);
19
- const sectionPath = sectionContext === null || sectionContext === void 0 ? void 0 : sectionContext.path;
20
- const composePath = (0, _react.useCallback)(path => {
21
- return `${sectionPath && sectionPath !== '/' ? sectionPath : ''}${path}`;
22
- }, [sectionPath]);
18
+ const {
19
+ makePath,
20
+ makeIteratePath
21
+ } = (0, _usePath.default)();
23
22
  const propsRef = (0, _react.useRef)(props);
24
23
  propsRef.current = props;
25
24
  const check = (0, _react.useCallback)(function () {
@@ -46,12 +45,16 @@ function useVisibility(props) {
46
45
  if (visibleWhenNot) {
47
46
  visibleWhen = visibleWhenNot;
48
47
  }
49
- const hasPath = _jsonPointer.default.has(data, composePath(visibleWhen.path));
48
+ const path = 'itemPath' in visibleWhen ? makeIteratePath(visibleWhen.itemPath) : makePath(visibleWhen.path);
49
+ const hasPath = _jsonPointer.default.has(data, path);
50
50
  if (hasPath) {
51
- var _visibleWhen, _visibleWhen2;
52
- const value = _jsonPointer.default.get(data, composePath(visibleWhen.path));
53
- const withValue = (_visibleWhen = visibleWhen) === null || _visibleWhen === void 0 ? void 0 : _visibleWhen['withValue'];
54
- const result = withValue && (withValue === null || withValue === void 0 ? void 0 : withValue(value)) === false || Object.prototype.hasOwnProperty.call(visibleWhen, 'hasValue') && ((_visibleWhen2 = visibleWhen) === null || _visibleWhen2 === void 0 ? void 0 : _visibleWhen2['hasValue']) !== value;
51
+ var _visibleWhen, _visibleWhen$hasValue, _visibleWhen2, _visibleWhen3;
52
+ const value = _jsonPointer.default.get(data, path);
53
+ if ((_visibleWhen = visibleWhen) !== null && _visibleWhen !== void 0 && _visibleWhen['withValue']) {
54
+ console.warn('VisibleWhen: "withValue" is deprecated, use "hasValue" instead');
55
+ }
56
+ const hasValue = (_visibleWhen$hasValue = (_visibleWhen2 = visibleWhen) === null || _visibleWhen2 === void 0 ? void 0 : _visibleWhen2['hasValue']) !== null && _visibleWhen$hasValue !== void 0 ? _visibleWhen$hasValue : (_visibleWhen3 = visibleWhen) === null || _visibleWhen3 === void 0 ? void 0 : _visibleWhen3['withValue'];
57
+ const result = typeof hasValue === 'function' ? hasValue(value) === false : hasValue !== value;
55
58
  if (visibleWhenNot) {
56
59
  if (!result) {
57
60
  return false;
@@ -63,10 +66,10 @@ function useVisibility(props) {
63
66
  return false;
64
67
  }
65
68
  }
66
- if (pathDefined && !_jsonPointer.default.has(data, composePath(pathDefined))) {
69
+ if (pathDefined && !_jsonPointer.default.has(data, makePath(pathDefined))) {
67
70
  return false;
68
71
  }
69
- if (pathUndefined && _jsonPointer.default.has(data, composePath(pathUndefined))) {
72
+ if (pathUndefined && _jsonPointer.default.has(data, makePath(pathUndefined))) {
70
73
  return false;
71
74
  }
72
75
  const getValue = path => {
@@ -74,26 +77,26 @@ function useVisibility(props) {
74
77
  return _jsonPointer.default.get(data, path);
75
78
  }
76
79
  };
77
- if (pathTrue && getValue(composePath(pathTrue)) !== true) {
80
+ if (pathTrue && getValue(makePath(pathTrue)) !== true) {
78
81
  return false;
79
82
  }
80
- if (pathFalse && getValue(composePath(pathFalse)) !== false) {
83
+ if (pathFalse && getValue(makePath(pathFalse)) !== false) {
81
84
  return false;
82
85
  }
83
- if (pathTruthy && Boolean(getValue(composePath(pathTruthy))) === false) {
86
+ if (pathTruthy && Boolean(getValue(makePath(pathTruthy))) === false) {
84
87
  return false;
85
88
  }
86
- if (pathFalsy && Boolean(getValue(composePath(pathFalsy))) === true) {
89
+ if (pathFalsy && Boolean(getValue(makePath(pathFalsy))) === true) {
87
90
  return false;
88
91
  }
89
92
  if (inferData && !inferData(data)) {
90
93
  return false;
91
94
  }
92
- if (pathValue && getValue(composePath(pathValue)) !== whenValue) {
95
+ if (pathValue && getValue(makePath(pathValue)) !== whenValue) {
93
96
  return false;
94
97
  }
95
98
  return true;
96
- }, [composePath, filterDataHandler, originalData]);
99
+ }, [makePath, filterDataHandler, originalData]);
97
100
  return {
98
101
  check
99
102
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useVisibility.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_Context","_SectionContext","obj","__esModule","default","useVisibility","props","filterDataHandler","data","originalData","useContext","DataContext","sectionContext","SectionContext","sectionPath","path","composePath","useCallback","propsRef","useRef","current","check","visible","visibleWhen","visibleWhenNot","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","filterData","arguments","length","undefined","hasPath","pointer","has","_visibleWhen","_visibleWhen2","value","get","withValue","result","Object","prototype","hasOwnProperty","call","getValue","Boolean"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/useVisibility.tsx"],"sourcesContent":["import { useCallback, useContext, useRef } from 'react'\nimport pointer from 'json-pointer'\nimport DataContext from '../../DataContext/Context'\nimport SectionContext from '../Section/SectionContext'\nimport { Path } from '../../types'\nimport { Props } from './Visibility'\n\nexport type { Props }\n\nexport default function useVisibility(props?: Partial<Props>) {\n const { filterDataHandler, data: originalData } = useContext(DataContext)\n const sectionContext = useContext(SectionContext)\n\n const sectionPath = sectionContext?.path\n const composePath = useCallback(\n (path: Path) => {\n return `${\n sectionPath && sectionPath !== '/' ? sectionPath : ''\n }${path}`\n },\n [sectionPath]\n )\n\n // Forward props to the \"check\" method with ref to avoid infinite loop\n const propsRef = useRef(props)\n propsRef.current = props\n\n const check = useCallback(\n (\n {\n visible,\n visibleWhen,\n visibleWhenNot,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n inferData,\n filterData,\n }: Partial<Props> = propsRef.current\n ) => {\n if (visible === false) {\n return false\n }\n\n const data =\n (filterData && filterDataHandler?.(originalData, filterData)) ||\n originalData\n\n if (visibleWhen || visibleWhenNot) {\n if (visibleWhenNot) {\n visibleWhen = visibleWhenNot\n }\n const hasPath = pointer.has(data, composePath(visibleWhen.path))\n if (hasPath) {\n const value = pointer.get(data, composePath(visibleWhen.path))\n\n const withValue = visibleWhen?.['withValue']\n const result =\n (withValue && withValue?.(value) === false) ||\n (Object.prototype.hasOwnProperty.call(\n visibleWhen,\n 'hasValue'\n ) &&\n visibleWhen?.['hasValue'] !== value)\n\n if (visibleWhenNot) {\n if (!result) {\n return false\n }\n } else if (result) {\n return false\n }\n } else {\n return false\n }\n }\n\n if (pathDefined && !pointer.has(data, composePath(pathDefined))) {\n return false\n }\n if (pathUndefined && pointer.has(data, composePath(pathUndefined))) {\n return false\n }\n\n const getValue = (path: Path) => {\n if (pointer.has(data, path)) {\n return pointer.get(data, path)\n }\n }\n\n if (pathTrue && getValue(composePath(pathTrue)) !== true) {\n return false\n }\n if (pathFalse && getValue(composePath(pathFalse)) !== false) {\n return false\n }\n if (\n pathTruthy &&\n Boolean(getValue(composePath(pathTruthy))) === false\n ) {\n return false\n }\n if (\n pathFalsy &&\n Boolean(getValue(composePath(pathFalsy))) === true\n ) {\n return false\n }\n if (inferData && !inferData(data)) {\n return false\n }\n\n // Deprecated can be removed in v11\n if (pathValue && getValue(composePath(pathValue)) !== whenValue) {\n return false\n }\n\n return true\n },\n [composePath, filterDataHandler, originalData]\n )\n\n return { check }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useVisibility.js","names":["_react","require","_jsonPointer","_interopRequireDefault","_Context","_usePath","obj","__esModule","default","useVisibility","props","filterDataHandler","data","originalData","useContext","DataContext","makePath","makeIteratePath","usePath","propsRef","useRef","current","check","useCallback","visible","visibleWhen","visibleWhenNot","pathDefined","pathUndefined","pathTruthy","pathFalsy","pathTrue","pathFalse","pathValue","whenValue","inferData","filterData","arguments","length","undefined","path","itemPath","hasPath","pointer","has","_visibleWhen","_visibleWhen$hasValue","_visibleWhen2","_visibleWhen3","value","get","console","warn","hasValue","result","getValue","Boolean"],"sources":["../../../../../../src/extensions/forms/Form/Visibility/useVisibility.tsx"],"sourcesContent":["import { useCallback, useContext, useRef } from 'react'\nimport pointer from 'json-pointer'\nimport DataContext from '../../DataContext/Context'\nimport usePath from '../../hooks/usePath'\nimport { Path } from '../../types'\nimport { Props } from './Visibility'\n\nexport type { Props }\n\nexport default function useVisibility(props?: Partial<Props>) {\n const { filterDataHandler, data: originalData } = useContext(DataContext)\n\n const { makePath, makeIteratePath } = usePath()\n\n // Forward props to the \"check\" method with ref to avoid infinite loop\n const propsRef = useRef(props)\n propsRef.current = props\n\n const check = useCallback(\n (\n {\n visible,\n visibleWhen,\n visibleWhenNot,\n pathDefined,\n pathUndefined,\n pathTruthy,\n pathFalsy,\n pathTrue,\n pathFalse,\n pathValue,\n whenValue,\n inferData,\n filterData,\n }: Partial<Props> = propsRef.current\n ) => {\n if (visible === false) {\n return false\n }\n\n const data =\n (filterData && filterDataHandler?.(originalData, filterData)) ||\n originalData\n\n if (visibleWhen || visibleWhenNot) {\n if (visibleWhenNot) {\n visibleWhen = visibleWhenNot\n }\n\n const path =\n 'itemPath' in visibleWhen\n ? makeIteratePath(visibleWhen.itemPath)\n : makePath(visibleWhen.path)\n const hasPath = pointer.has(data, path)\n\n if (hasPath) {\n const value = pointer.get(data, path)\n\n if (visibleWhen?.['withValue']) {\n console.warn(\n 'VisibleWhen: \"withValue\" is deprecated, use \"hasValue\" instead'\n )\n }\n\n const hasValue =\n visibleWhen?.['hasValue'] ?? visibleWhen?.['withValue']\n const result =\n typeof hasValue === 'function'\n ? hasValue(value) === false\n : hasValue !== value\n\n if (visibleWhenNot) {\n if (!result) {\n return false\n }\n } else if (result) {\n return false\n }\n } else {\n return false\n }\n }\n\n if (pathDefined && !pointer.has(data, makePath(pathDefined))) {\n return false\n }\n if (pathUndefined && pointer.has(data, makePath(pathUndefined))) {\n return false\n }\n\n const getValue = (path: Path) => {\n if (pointer.has(data, path)) {\n return pointer.get(data, path)\n }\n }\n\n if (pathTrue && getValue(makePath(pathTrue)) !== true) {\n return false\n }\n if (pathFalse && getValue(makePath(pathFalse)) !== false) {\n return false\n }\n if (\n pathTruthy &&\n Boolean(getValue(makePath(pathTruthy))) === false\n ) {\n return false\n }\n if (pathFalsy && Boolean(getValue(makePath(pathFalsy))) === true) {\n return false\n }\n if (inferData && !inferData(data)) {\n return false\n }\n\n // Deprecated can be removed in v11\n if (pathValue && getValue(makePath(pathValue)) !== whenValue) {\n return false\n }\n\n return true\n },\n [makePath, filterDataHandler, originalData]\n )\n\n return { check }\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export default function clearData(id: string): void;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = clearData;
7
+ var _useSharedState = require("../../../../shared/helpers/useSharedState");
8
+ function clearData(id) {
9
+ const sharedAttachments = (0, _useSharedState.createSharedState)(id + '-attachments');
10
+ sharedAttachments.set({});
11
+ const sharedData = (0, _useSharedState.createSharedState)(id);
12
+ sharedData.update({
13
+ clearForm: true
14
+ });
15
+ }
16
+ //# sourceMappingURL=clearData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clearData.js","names":["_useSharedState","require","clearData","id","sharedAttachments","createSharedState","set","sharedData","update","clearForm"],"sources":["../../../../../../src/extensions/forms/Form/data-context/clearData.ts"],"sourcesContent":["import { createSharedState } from '../../../../shared/helpers/useSharedState'\n\nexport default function clearData(id: string) {\n const sharedAttachments = createSharedState(id + '-attachments')\n sharedAttachments.set({})\n\n const sharedData = createSharedState(id)\n sharedData.update({ clearForm: true })\n}\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAEe,SAASC,SAASA,CAACC,EAAU,EAAE;EAC5C,MAAMC,iBAAiB,GAAG,IAAAC,iCAAiB,EAACF,EAAE,GAAG,cAAc,CAAC;EAChEC,iBAAiB,CAACE,GAAG,CAAC,CAAC,CAAC,CAAC;EAEzB,MAAMC,UAAU,GAAG,IAAAF,iCAAiB,EAACF,EAAE,CAAC;EACxCI,UAAU,CAACC,MAAM,CAAC;IAAEC,SAAS,EAAE;EAAK,CAAC,CAAC;AACxC"}
@@ -8,10 +8,12 @@ export { default as MainHeading } from './MainHeading';
8
8
  export { default as SubHeading } from './SubHeading';
9
9
  export { default as Visibility } from './Visibility';
10
10
  export { default as Section } from './Section';
11
+ export { default as Isolation } from './Isolation';
11
12
  export { default as FieldProps } from './FieldProps';
12
13
  export { default as useData } from './data-context/useData';
13
14
  export { default as setData } from './data-context/setData';
14
15
  export { default as getData } from './data-context/getData';
16
+ export { default as clearData } from './data-context/clearData';
15
17
  export { default as useError } from './data-context/useError';
16
18
  export { default as useTranslation } from '../hooks/useTranslation';
17
19
  /**
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "Handler", {
33
33
  return _Handler.default;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "Isolation", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _Isolation.default;
40
+ }
41
+ });
36
42
  Object.defineProperty(exports, "MainHeading", {
37
43
  enumerable: true,
38
44
  get: function () {
@@ -69,6 +75,12 @@ Object.defineProperty(exports, "Visibility", {
69
75
  return _Visibility.default;
70
76
  }
71
77
  });
78
+ Object.defineProperty(exports, "clearData", {
79
+ enumerable: true,
80
+ get: function () {
81
+ return _clearData.default;
82
+ }
83
+ });
72
84
  Object.defineProperty(exports, "getData", {
73
85
  enumerable: true,
74
86
  get: function () {
@@ -115,10 +127,12 @@ var _MainHeading = _interopRequireDefault(require("./MainHeading"));
115
127
  var _SubHeading = _interopRequireDefault(require("./SubHeading"));
116
128
  var _Visibility = _interopRequireDefault(require("./Visibility"));
117
129
  var _Section = _interopRequireDefault(require("./Section"));
130
+ var _Isolation = _interopRequireDefault(require("./Isolation"));
118
131
  var _FieldProps = _interopRequireDefault(require("./FieldProps"));
119
132
  var _useData = _interopRequireDefault(require("./data-context/useData"));
120
133
  var _setData = _interopRequireDefault(require("./data-context/setData"));
121
134
  var _getData = _interopRequireDefault(require("./data-context/getData"));
135
+ var _clearData = _interopRequireDefault(require("./data-context/clearData"));
122
136
  var _useError = _interopRequireDefault(require("./data-context/useError"));
123
137
  var _useTranslation = _interopRequireDefault(require("../hooks/useTranslation"));
124
138
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Handler","_interopRequireDefault","require","_Element","_Appearance","_SubmitButton","_SubmitIndicator","_ButtonRow","_MainHeading","_SubHeading","_Visibility","_Section","_FieldProps","_useData","_setData","_getData","_useError","_useTranslation","obj","__esModule","default"],"sources":["../../../../../src/extensions/forms/Form/index.ts"],"sourcesContent":["export { default as Handler } from './Handler'\nexport { default as Element } from './Element'\nexport { default as Appearance } from './Appearance'\nexport { default as SubmitButton } from './SubmitButton'\nexport { default as SubmitIndicator } from './SubmitIndicator'\nexport { default as ButtonRow } from './ButtonRow'\nexport { default as MainHeading } from './MainHeading'\nexport { default as SubHeading } from './SubHeading'\nexport { default as Visibility } from './Visibility'\nexport { default as Section } from './Section'\nexport { default as FieldProps } from './FieldProps'\nexport { default as useData } from './data-context/useData'\nexport { default as setData } from './data-context/setData'\nexport { default as getData } from './data-context/getData'\nexport { default as useError } from './data-context/useError'\nexport { default as useTranslation } from '../hooks/useTranslation'\n\n/**\n * Can be removed in v11\n * @deprecated Use `useTranslation` instead\n */\nexport { default as useLocale } from '../hooks/useTranslation'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,gBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,UAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,YAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,WAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,WAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,QAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,WAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,QAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,QAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,QAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,SAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,eAAA,GAAAhB,sBAAA,CAAAC,OAAA;AAAmE,SAAAD,uBAAAiB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
1
+ {"version":3,"file":"index.js","names":["_Handler","_interopRequireDefault","require","_Element","_Appearance","_SubmitButton","_SubmitIndicator","_ButtonRow","_MainHeading","_SubHeading","_Visibility","_Section","_Isolation","_FieldProps","_useData","_setData","_getData","_clearData","_useError","_useTranslation","obj","__esModule","default"],"sources":["../../../../../src/extensions/forms/Form/index.ts"],"sourcesContent":["export { default as Handler } from './Handler'\nexport { default as Element } from './Element'\nexport { default as Appearance } from './Appearance'\nexport { default as SubmitButton } from './SubmitButton'\nexport { default as SubmitIndicator } from './SubmitIndicator'\nexport { default as ButtonRow } from './ButtonRow'\nexport { default as MainHeading } from './MainHeading'\nexport { default as SubHeading } from './SubHeading'\nexport { default as Visibility } from './Visibility'\nexport { default as Section } from './Section'\nexport { default as Isolation } from './Isolation'\nexport { default as FieldProps } from './FieldProps'\nexport { default as useData } from './data-context/useData'\nexport { default as setData } from './data-context/setData'\nexport { default as getData } from './data-context/getData'\nexport { default as clearData } from './data-context/clearData'\nexport { default as useError } from './data-context/useError'\nexport { default as useTranslation } from '../hooks/useTranslation'\n\n/**\n * Can be removed in v11\n * @deprecated Use `useTranslation` instead\n */\nexport { default as useLocale } from '../hooks/useTranslation'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,gBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,UAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,YAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,WAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,WAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,QAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,UAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,WAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,QAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,QAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,QAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,UAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,SAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,eAAA,GAAAlB,sBAAA,CAAAC,OAAA;AAAmE,SAAAD,uBAAAmB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Array.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_jsonPointer","_hooks","_componentHelper","_components","_utils","_Container","_IterateElementContext","_SummaryListContext","_ValueBlockContext","_FieldBoundaryProvider","_structuredClone","_useDataValue","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","ArrayComponent","props","_props$value","salt","forceUpdate","useReducer","summaryListContext","useContext","SummaryListContext","valueBlockContext","ValueBlockContext","getValue","useDataValue","preparedProps","useMemo","path","countPath","countPathLimit","Infinity","countPathTransform","arrayValue","countValue","parseFloat","newValue","l","index","withoutFlex","emptyValue","placeholder","handleChange","onChange","children","useFieldProps","idsRef","useRef","isNewRef","modesRef","valueWhileClosingRef","valueCountRef","containerRef","hadPushRef","innerRefs","omitFlex","useEffect","current","elementData","_ref","map","_valueCountRef$curren","id","makeUniqueId","hasNewItems","isNew","containerMode","switchContainerMode","mode","_isNewRef$current","newArrayValue","structuredClone","pointer","handlePush","element","handleRemove","keepItems","splice","fulfillRemove","_modesRef$current","_isNewRef$current2","findIndex","indexOf","restoreOriginalValue","last","flexProps","className","classnames","pickFlexContainerProps","pickSpacingProps","innerRef","WrapperElement","Fragment","Flex","Stack","createElement","elementProps","elementRef","createRef","renderChildren","elementChild","contextValue","content","Array","isArray","child","Provider","Item","tabIndex","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, {\n useMemo,\n useRef,\n useEffect,\n useReducer,\n createRef,\n useContext,\n Fragment,\n} from 'react'\nimport classnames from 'classnames'\nimport pointer from 'json-pointer'\nimport { useFieldProps } from '../../hooks'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport {\n BasicProps as FlexContainerProps,\n Props as FlexContainerAllProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport IterateElementContext, {\n IterateElementContextState,\n} from '../IterateElementContext'\nimport SummaryListContext from '../../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from '../../ValueBlock/ValueBlockContext'\nimport FieldBoundaryProvider from '../../DataContext/FieldBoundary/FieldBoundaryProvider'\n\nimport type { ContainerMode, ElementChild, Props, Value } from './types'\nimport type { Identifier, 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'\nimport useDataValue from '../../hooks/useDataValue'\n\nexport type * from './types'\n\nfunction ArrayComponent(props: Props) {\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n\n const { getValue } = useDataValue()\n const preparedProps = useMemo(() => {\n const {\n path,\n countPath,\n countPathLimit = Infinity,\n countPathTransform,\n } = props\n\n if (countPath) {\n const arrayValue = getValue(path)\n let countValue = parseFloat(getValue(countPath))\n if (!(countValue >= 0)) {\n countValue = 0\n }\n if (countValue > countPathLimit) {\n countValue = countPathLimit\n }\n if (arrayValue?.length !== countValue) {\n const newValue = []\n for (let i = 0, l = countValue; i < l; i++) {\n const value = arrayValue?.[i]\n newValue.push(countPathTransform?.({ value, index: i }))\n }\n\n return {\n ...props,\n value: newValue,\n }\n }\n }\n\n return props\n }, [getValue, props])\n\n const {\n path,\n value: arrayValue,\n withoutFlex,\n emptyValue,\n placeholder,\n handleChange,\n onChange,\n children,\n } = useFieldProps<Value, Props>(preparedProps)\n\n const idsRef = useRef<Array<Identifier>>([])\n const isNewRef = useRef<Record<string, boolean>>({})\n const modesRef = useRef<Record<Identifier, ContainerMode>>({})\n const valueWhileClosingRef = useRef<Array<unknown>>()\n const valueCountRef = useRef(arrayValue)\n const containerRef = useRef<HTMLDivElement>()\n const hadPushRef = useRef<boolean>()\n const innerRefs = useRef<\n Record<string, React.RefObject<HTMLDivElement>>\n >({})\n\n const omitFlex = withoutFlex ?? (summaryListContext || valueBlockContext)\n\n useEffect(() => {\n // Update inside the useEffect, to support React.StrictMode\n valueCountRef.current = arrayValue || []\n }, [arrayValue])\n\n const elementData = useMemo(() => {\n return ((valueWhileClosingRef.current || arrayValue) ?? []).map(\n (value, index) => {\n const id = idsRef.current[index] || makeUniqueId()\n\n const hasNewItems =\n arrayValue.length > valueCountRef.current?.length\n\n if (!idsRef.current[index]) {\n isNewRef.current[id] = hasNewItems\n idsRef.current.push(id)\n }\n\n const isNew = isNewRef.current[id] || false\n if (!modesRef.current[id]) {\n modesRef.current[id] = isNew ? 'edit' : 'view'\n }\n\n return {\n id,\n path,\n value,\n index,\n arrayValue,\n containerRef,\n isNew,\n containerMode: modesRef.current[id],\n switchContainerMode: (mode: ContainerMode) => {\n modesRef.current[id] = mode\n delete isNewRef.current?.[id]\n forceUpdate()\n },\n handleChange: (path: Path, value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n\n // Make sure we have a new object reference,\n // else two new objects will be the same\n newArrayValue[index] = { ...newArrayValue[index] }\n\n pointer.set(newArrayValue, path, value)\n handleChange(newArrayValue)\n },\n handlePush: (element: unknown) => {\n hadPushRef.current = true\n handleChange([...(arrayValue ?? []), element])\n },\n handleRemove: ({ keepItems = false } = {}) => {\n if (keepItems) {\n // Add a backup as the array value while animating\n valueWhileClosingRef.current = arrayValue\n }\n\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(index, 1)\n handleChange(newArrayValue)\n },\n\n // - Called after animation end\n fulfillRemove: () => {\n valueWhileClosingRef.current = null\n delete modesRef.current?.[id]\n delete isNewRef.current?.[id]\n const findIndex = idsRef.current.indexOf(id)\n idsRef.current.splice(findIndex, 1)\n forceUpdate()\n },\n\n // - Called when cancel button press\n restoreOriginalValue: (value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue[index] = value\n handleChange(newArrayValue)\n },\n } as IterateElementContextState\n }\n )\n\n // In order to update \"valueWhileClosingRef\" we need to have \"salt\" in the deps array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [salt, arrayValue, path, handleChange])\n\n // - Call the onChange callback when a new element is added without calling \"handlePush\"\n useMemo(() => {\n const last = elementData?.[elementData.length - 1]\n if (last?.isNew && !hadPushRef.current) {\n onChange?.(arrayValue)\n } else {\n hadPushRef.current = false\n }\n }, [arrayValue, elementData, onChange])\n\n const flexProps: FlexContainerProps & {\n innerRef: FlexContainerAllProps['innerRef']\n } = {\n className: classnames(\n 'dnb-forms-iterate',\n 'dnb-forms-section',\n props?.className\n ),\n ...pickFlexContainerProps(props as FlexContainerProps),\n ...pickSpacingProps(props),\n innerRef: containerRef,\n }\n\n const WrapperElement = omitFlex ? Fragment : Flex.Stack\n\n return (\n <WrapperElement {...(omitFlex ? null : flexProps)}>\n {arrayValue === emptyValue || props?.value?.length === 0\n ? placeholder\n : elementData.map((elementProps) => {\n const { id, value, index } = elementProps\n const elementRef = (innerRefs.current[id] =\n innerRefs.current[id] || createRef<HTMLDivElement>())\n\n const renderChildren = (elementChild: ElementChild) => {\n return typeof elementChild === 'function'\n ? elementChild(value, index)\n : elementChild\n }\n\n const contextValue = {\n ...elementProps,\n elementRef,\n }\n\n const content = Array.isArray(children)\n ? children.map((child) => renderChildren(child))\n : renderChildren(children)\n\n if (omitFlex) {\n return (\n <IterateElementContext.Provider\n key={`element-${id}`}\n value={contextValue}\n >\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n )\n }\n\n return (\n <Flex.Item\n className=\"dnb-forms-iterate__element\"\n tabIndex={-1}\n innerRef={elementRef}\n key={`element-${id}`}\n >\n <IterateElementContext.Provider value={contextValue}>\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n </Flex.Item>\n )\n })}\n </WrapperElement>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Array.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_jsonPointer","_hooks","_componentHelper","_components","_utils","_Container","_IterateElementContext","_SummaryListContext","_ValueBlockContext","_FieldBoundaryProvider","_structuredClone","_useDataValue","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","ArrayComponent","props","_props$value","salt","forceUpdate","useReducer","summaryListContext","useContext","SummaryListContext","valueBlockContext","ValueBlockContext","getValue","useDataValue","preparedProps","useMemo","path","countPath","countPathLimit","Infinity","countPathTransform","arrayValue","countValue","parseFloat","newValue","l","index","withoutFlex","emptyValue","placeholder","handleChange","onChange","children","useFieldProps","idsRef","useRef","isNewRef","modesRef","valueWhileClosingRef","valueCountRef","containerRef","hadPushRef","innerRefs","omitFlex","useEffect","current","elementData","_ref","map","_valueCountRef$curren","id","makeUniqueId","hasNewItems","isNew","containerMode","switchContainerMode","mode","_isNewRef$current","newArrayValue","structuredClone","pointer","handlePush","element","handleRemove","keepItems","splice","fulfillRemove","_modesRef$current","_isNewRef$current2","findIndex","indexOf","restoreOriginalValue","last","flexProps","className","classnames","pickFlexContainerProps","pickSpacingProps","innerRef","WrapperElement","Fragment","Flex","Stack","createElement","elementProps","elementRef","createRef","renderChildren","elementChild","contextValue","content","Array","isArray","child","Provider","Item","tabIndex","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/Array.tsx"],"sourcesContent":["import React, {\n useMemo,\n useRef,\n useEffect,\n useReducer,\n createRef,\n useContext,\n Fragment,\n} from 'react'\nimport classnames from 'classnames'\nimport pointer from 'json-pointer'\nimport { useFieldProps } from '../../hooks'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport { Flex } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport {\n BasicProps as FlexContainerProps,\n Props as FlexContainerAllProps,\n pickFlexContainerProps,\n} from '../../../../components/flex/Container'\nimport IterateElementContext, {\n IterateElementContextState,\n} from '../IterateElementContext'\nimport SummaryListContext from '../../Value/SummaryList/SummaryListContext'\nimport ValueBlockContext from '../../ValueBlock/ValueBlockContext'\nimport FieldBoundaryProvider from '../../DataContext/FieldBoundary/FieldBoundaryProvider'\n\nimport type { ContainerMode, ElementChild, Props } from './types'\nimport type { Identifier, 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'\nimport useDataValue from '../../hooks/useDataValue'\n\nexport type * from './types'\n\nfunction ArrayComponent(props: Props) {\n const [salt, forceUpdate] = useReducer(() => ({}), {})\n\n const summaryListContext = useContext(SummaryListContext)\n const valueBlockContext = useContext(ValueBlockContext)\n\n const { getValue } = useDataValue()\n const preparedProps = useMemo(() => {\n const {\n path,\n countPath,\n countPathLimit = Infinity,\n countPathTransform,\n } = props\n\n if (countPath) {\n const arrayValue = getValue(path)\n let countValue = parseFloat(getValue(countPath))\n if (!(countValue >= 0)) {\n countValue = 0\n }\n if (countValue > countPathLimit) {\n countValue = countPathLimit\n }\n if (arrayValue?.length !== countValue) {\n const newValue = []\n for (let i = 0, l = countValue; i < l; i++) {\n const value = arrayValue?.[i]\n newValue.push(countPathTransform?.({ value, index: i }))\n }\n\n return {\n ...props,\n value: newValue,\n }\n }\n }\n\n return props\n }, [getValue, props])\n\n const {\n path,\n value: arrayValue,\n withoutFlex,\n emptyValue,\n placeholder,\n handleChange,\n onChange,\n children,\n } = useFieldProps(preparedProps)\n\n const idsRef = useRef<Array<Identifier>>([])\n const isNewRef = useRef<Record<string, boolean>>({})\n const modesRef = useRef<Record<Identifier, ContainerMode>>({})\n const valueWhileClosingRef = useRef<Array<unknown>>()\n const valueCountRef = useRef(arrayValue)\n const containerRef = useRef<HTMLDivElement>()\n const hadPushRef = useRef<boolean>()\n const innerRefs = useRef<\n Record<string, React.RefObject<HTMLDivElement>>\n >({})\n\n const omitFlex = withoutFlex ?? (summaryListContext || valueBlockContext)\n\n useEffect(() => {\n // Update inside the useEffect, to support React.StrictMode\n valueCountRef.current = arrayValue || []\n }, [arrayValue])\n\n const elementData = useMemo(() => {\n return ((valueWhileClosingRef.current || arrayValue) ?? []).map(\n (value, index) => {\n const id = idsRef.current[index] || makeUniqueId()\n\n const hasNewItems =\n arrayValue.length > valueCountRef.current?.length\n\n if (!idsRef.current[index]) {\n isNewRef.current[id] = hasNewItems\n idsRef.current.push(id)\n }\n\n const isNew = isNewRef.current[id] || false\n if (!modesRef.current[id]) {\n modesRef.current[id] = isNew ? 'edit' : 'view'\n }\n\n return {\n id,\n path,\n value,\n index,\n arrayValue,\n containerRef,\n isNew,\n containerMode: modesRef.current[id],\n switchContainerMode: (mode: ContainerMode) => {\n modesRef.current[id] = mode\n delete isNewRef.current?.[id]\n forceUpdate()\n },\n handleChange: (path: Path, value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n\n // Make sure we have a new object reference,\n // else two new objects will be the same\n newArrayValue[index] = { ...newArrayValue[index] }\n\n pointer.set(newArrayValue, path, value)\n handleChange(newArrayValue)\n },\n handlePush: (element: unknown) => {\n hadPushRef.current = true\n handleChange([...(arrayValue ?? []), element])\n },\n handleRemove: ({ keepItems = false } = {}) => {\n if (keepItems) {\n // Add a backup as the array value while animating\n valueWhileClosingRef.current = arrayValue\n }\n\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue.splice(index, 1)\n handleChange(newArrayValue)\n },\n\n // - Called after animation end\n fulfillRemove: () => {\n valueWhileClosingRef.current = null\n delete modesRef.current?.[id]\n delete isNewRef.current?.[id]\n const findIndex = idsRef.current.indexOf(id)\n idsRef.current.splice(findIndex, 1)\n forceUpdate()\n },\n\n // - Called when cancel button press\n restoreOriginalValue: (value: unknown) => {\n const newArrayValue = structuredClone(arrayValue)\n newArrayValue[index] = value\n handleChange(newArrayValue)\n },\n } as IterateElementContextState\n }\n )\n\n // In order to update \"valueWhileClosingRef\" we need to have \"salt\" in the deps array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [salt, arrayValue, path, handleChange])\n\n // - Call the onChange callback when a new element is added without calling \"handlePush\"\n useMemo(() => {\n const last = elementData?.[elementData.length - 1]\n if (last?.isNew && !hadPushRef.current) {\n onChange?.(arrayValue)\n } else {\n hadPushRef.current = false\n }\n }, [arrayValue, elementData, onChange])\n\n const flexProps: FlexContainerProps & {\n innerRef: FlexContainerAllProps['innerRef']\n } = {\n className: classnames(\n 'dnb-forms-iterate',\n 'dnb-forms-section',\n props?.className\n ),\n ...pickFlexContainerProps(props as FlexContainerProps),\n ...pickSpacingProps(props),\n innerRef: containerRef,\n }\n\n const WrapperElement = omitFlex ? Fragment : Flex.Stack\n\n return (\n <WrapperElement {...(omitFlex ? null : flexProps)}>\n {arrayValue === emptyValue || props?.value?.length === 0\n ? placeholder\n : elementData.map((elementProps) => {\n const { id, value, index } = elementProps\n const elementRef = (innerRefs.current[id] =\n innerRefs.current[id] || createRef<HTMLDivElement>())\n\n const renderChildren = (elementChild: ElementChild) => {\n return typeof elementChild === 'function'\n ? elementChild(value, index)\n : elementChild\n }\n\n const contextValue = {\n ...elementProps,\n elementRef,\n }\n\n const content = Array.isArray(children)\n ? children.map((child) => renderChildren(child))\n : renderChildren(children)\n\n if (omitFlex) {\n return (\n <IterateElementContext.Provider\n key={`element-${id}`}\n value={contextValue}\n >\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n )\n }\n\n return (\n <Flex.Item\n className=\"dnb-forms-iterate__element\"\n tabIndex={-1}\n innerRef={elementRef}\n key={`element-${id}`}\n >\n <IterateElementContext.Provider value={contextValue}>\n <FieldBoundaryProvider>{content}</FieldBoundaryProvider>\n </IterateElementContext.Provider>\n </Flex.Item>\n )\n })}\n </WrapperElement>\n )\n}\n\nArrayComponent._supportsSpacingProps = true\nexport default ArrayComponent\n"],"mappings":"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"}
@@ -4,9 +4,8 @@ import { Props as FlexContainerProps } from '../../../../components/flex/Contain
4
4
  export type ContainerMode = 'view' | 'edit';
5
5
  export type Value = Array<unknown | Record<string, unknown>>;
6
6
  export type ElementChild = React.ReactNode | ((value: any, index: number) => React.ReactNode);
7
- export type Props = Omit<FlexContainerProps, 'children' | 'width' | 'defaultValue'> & {
7
+ export type Props = Omit<FlexContainerProps, keyof Omit<React.HTMLAttributes<HTMLDivElement>, 'className'>> & Pick<UseFieldProps<Value, undefined | Value>, 'value' | 'emptyValue' | 'onChange'> & {
8
8
  children: ElementChild | Array<ElementChild>;
9
- value?: UseFieldProps<Value, undefined | Value>['value'];
10
9
  path?: Path;
11
10
  countPath?: Path;
12
11
  countPathLimit?: number;
@@ -15,7 +14,5 @@ export type Props = Omit<FlexContainerProps, 'children' | 'width' | 'defaultValu
15
14
  index: number;
16
15
  }) => any;
17
16
  withoutFlex?: boolean;
18
- emptyValue?: UseFieldProps<Value, undefined | Value>['emptyValue'];
19
17
  placeholder?: React.ReactNode;
20
- onChange?: UseFieldProps<Value, undefined | Value>['onChange'];
21
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../../src/extensions/forms/Iterate/Array/types.ts"],"sourcesContent":["import { Path, UseFieldProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\n\nexport type ContainerMode = 'view' | 'edit'\nexport type Value = Array<unknown | Record<string, unknown>>\nexport type ElementChild =\n | React.ReactNode\n | ((value: any, index: number) => React.ReactNode)\nexport type Props = Omit<\n FlexContainerProps,\n 'children' | 'width' | 'defaultValue'\n> & {\n children: ElementChild | Array<ElementChild>\n value?: UseFieldProps<Value, undefined | Value>['value']\n path?: Path\n countPath?: Path\n countPathLimit?: number\n countPathTransform?: (params: { value: any; index: number }) => any\n withoutFlex?: boolean\n emptyValue?: UseFieldProps<Value, undefined | Value>['emptyValue']\n placeholder?: React.ReactNode\n onChange?: UseFieldProps<Value, undefined | Value>['onChange']\n}\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../../src/extensions/forms/Iterate/Array/types.ts"],"sourcesContent":["import { Path, UseFieldProps } from '../../types'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\n\nexport type ContainerMode = 'view' | 'edit'\nexport type Value = Array<unknown | Record<string, unknown>>\nexport type ElementChild =\n | React.ReactNode\n | ((value: any, index: number) => React.ReactNode)\nexport type Props = Omit<\n FlexContainerProps,\n keyof Omit<React.HTMLAttributes<HTMLDivElement>, 'className'>\n> &\n Pick<\n UseFieldProps<Value, undefined | Value>,\n 'value' | 'emptyValue' | 'onChange'\n > & {\n children: ElementChild | Array<ElementChild>\n path?: Path\n countPath?: Path\n countPathLimit?: number\n countPathTransform?: (params: { value: any; index: number }) => any\n withoutFlex?: boolean\n placeholder?: React.ReactNode\n }\n"],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  .dnb-forms-iterate__element {
2
2
  outline: none;
3
3
  }
4
- .dnb-forms-iterate > .dnb-forms-iterate__element:has(.dnb-forms-iterate-block) {
4
+ .dnb-forms-iterate > .dnb-forms-iterate__element:has(> .dnb-forms-section-block) {
5
5
  margin-top: 0;
6
6
  }
@@ -1 +1 @@
1
- .dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(.dnb-forms-iterate-block){margin-top:0}
1
+ .dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(>.dnb-forms-section-block){margin-top:0}
@@ -5,7 +5,7 @@
5
5
  outline: none; // for JavaSCript focus
6
6
  }
7
7
 
8
- & > &__element:has(> &-block) {
8
+ & > &__element:has(> .dnb-forms-section-block) {
9
9
  // To make Animation not jump, we add "margin-bottom" in the inner element
10
10
  margin-top: 0;
11
11
  }
@@ -21,7 +21,7 @@ export type Props = ComponentProps & FlexContainerProps & {
21
21
  */
22
22
  active?: boolean;
23
23
  /**
24
- * Provide a `path` and a `hasValue` property with the excepted value in order to enable the step. You can alternatively provide a `withValue` function that returns a boolean. The first parameter is the value of the path.
24
+ * Provide a `path` and a `hasValue` property with the excepted value in order to enable the step. You can alternatively provide a `hasValue` function that returns a boolean. The first parameter is the value of the path.
25
25
  */
26
26
  activeWhen?: VisibleWhen;
27
27
  /**