@dnb/eufemia 10.45.0 → 10.46.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 (465) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/cjs/components/CopyOnClick.d.ts +12 -0
  3. package/cjs/components/CopyOnClick.js +24 -0
  4. package/cjs/components/CopyOnClick.js.map +1 -0
  5. package/cjs/components/copy-on-click/CopyOnClick.d.ts +9 -0
  6. package/cjs/components/copy-on-click/CopyOnClick.js +72 -0
  7. package/cjs/components/copy-on-click/CopyOnClick.js.map +1 -0
  8. package/cjs/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
  9. package/cjs/components/copy-on-click/CopyOnClickDocs.js +25 -0
  10. package/cjs/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
  11. package/cjs/components/copy-on-click/index.d.ts +7 -0
  12. package/cjs/components/copy-on-click/index.js +24 -0
  13. package/cjs/components/copy-on-click/index.js.map +1 -0
  14. package/cjs/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
  15. package/cjs/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
  16. package/cjs/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
  17. package/cjs/components/copy-on-click/style/index.d.ts +5 -0
  18. package/cjs/components/copy-on-click/style/index.js +4 -0
  19. package/cjs/components/copy-on-click/style/index.js.map +1 -0
  20. package/cjs/components/copy-on-click/style.d.ts +5 -0
  21. package/cjs/components/copy-on-click/style.js +4 -0
  22. package/cjs/components/copy-on-click/style.js.map +1 -0
  23. package/cjs/components/copy-on-click/types.d.ts +19 -0
  24. package/cjs/components/copy-on-click/types.js +1 -0
  25. package/cjs/components/copy-on-click/types.js.map +1 -0
  26. package/cjs/components/index.d.ts +2 -1
  27. package/cjs/components/index.js +7 -0
  28. package/cjs/components/index.js.map +1 -1
  29. package/cjs/components/lib.d.ts +6 -1
  30. package/cjs/components/lib.js +8 -0
  31. package/cjs/components/lib.js.map +1 -1
  32. package/cjs/components/pagination/Pagination.d.ts +27 -1
  33. package/cjs/components/pagination/Pagination.js +3 -1
  34. package/cjs/components/pagination/Pagination.js.map +1 -1
  35. package/cjs/components/pagination/PaginationInfinity.js +20 -8
  36. package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
  37. package/cjs/extensions/forms/DataContext/Context.d.ts +2 -2
  38. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  39. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  40. package/cjs/extensions/forms/DataContext/Provider/Provider.js +26 -19
  41. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  42. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
  43. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  44. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +15 -3
  45. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -3
  46. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  47. package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
  48. package/cjs/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  49. package/cjs/extensions/forms/Field/Email/Email.js +1 -1
  50. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  51. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +22 -3
  52. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  53. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
  54. package/cjs/extensions/forms/Field/Number/Number.js +33 -31
  55. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  56. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
  57. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +11 -3
  58. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  59. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +1 -1
  60. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  61. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
  62. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  63. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  64. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -3
  65. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  66. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
  67. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  68. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
  69. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  70. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  71. package/cjs/extensions/forms/Form/data-context/useData.js +9 -7
  72. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  73. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
  74. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js +54 -0
  75. package/cjs/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
  76. package/cjs/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
  77. package/cjs/extensions/forms/Value/SelectCountry/index.js +27 -0
  78. package/cjs/extensions/forms/Value/SelectCountry/index.js.map +1 -0
  79. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js +1 -1
  80. package/cjs/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -1
  81. package/cjs/extensions/forms/Value/index.d.ts +1 -0
  82. package/cjs/extensions/forms/Value/index.js +7 -0
  83. package/cjs/extensions/forms/Value/index.js.map +1 -1
  84. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -3
  85. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  86. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
  87. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  88. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
  89. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
  90. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  91. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -0
  92. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -1
  93. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  94. package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -0
  95. package/cjs/extensions/forms/constants/locales/index.d.ts +4 -0
  96. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -0
  97. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -1
  98. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  99. package/cjs/extensions/forms/hooks/DataValueDocs.js +3 -3
  100. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  101. package/cjs/extensions/forms/style/dnb-forms.css +3 -0
  102. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  103. package/cjs/extensions/forms/types.d.ts +5 -2
  104. package/cjs/extensions/forms/types.js.map +1 -1
  105. package/cjs/index.d.ts +2 -1
  106. package/cjs/index.js +7 -0
  107. package/cjs/index.js.map +1 -1
  108. package/cjs/shared/Context.js +4 -6
  109. package/cjs/shared/Context.js.map +1 -1
  110. package/cjs/shared/Eufemia.d.ts +1 -1
  111. package/cjs/shared/Eufemia.js +2 -2
  112. package/cjs/shared/Eufemia.js.map +1 -1
  113. package/cjs/shared/locales/en-GB.d.ts +3 -0
  114. package/cjs/shared/locales/en-GB.js +3 -0
  115. package/cjs/shared/locales/en-GB.js.map +1 -1
  116. package/cjs/shared/locales/en-US.d.ts +3 -0
  117. package/cjs/shared/locales/index.d.ts +6 -0
  118. package/cjs/shared/locales/nb-NO.d.ts +3 -0
  119. package/cjs/shared/locales/nb-NO.js +3 -0
  120. package/cjs/shared/locales/nb-NO.js.map +1 -1
  121. package/cjs/style/core/scopes.scss +1 -1
  122. package/cjs/style/dnb-ui-basis.css +1 -1
  123. package/cjs/style/dnb-ui-basis.min.css +1 -1
  124. package/cjs/style/dnb-ui-body.css +1 -1
  125. package/cjs/style/dnb-ui-body.min.css +1 -1
  126. package/cjs/style/dnb-ui-components.css +11 -0
  127. package/cjs/style/dnb-ui-components.min.css +2 -2
  128. package/cjs/style/dnb-ui-components.scss +1 -0
  129. package/cjs/style/dnb-ui-core.css +1 -1
  130. package/cjs/style/dnb-ui-core.min.css +1 -1
  131. package/cjs/style/dnb-ui-extensions.css +3 -0
  132. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  133. package/cjs/style/dnb-ui-forms.css +3 -0
  134. package/cjs/style/dnb-ui-forms.min.css +1 -1
  135. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +14 -0
  136. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  137. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  138. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  139. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  140. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  141. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +14 -0
  142. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  143. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  144. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  145. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  146. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  147. package/cjs/style/themes/theme-ui/ui-theme-components.css +14 -0
  148. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  149. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  150. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  151. package/cjs/style/themes/theme-ui/ui-theme-forms.css +3 -0
  152. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  153. package/components/CopyOnClick.d.ts +12 -0
  154. package/components/CopyOnClick.js +4 -0
  155. package/components/CopyOnClick.js.map +1 -0
  156. package/components/copy-on-click/CopyOnClick.d.ts +9 -0
  157. package/components/copy-on-click/CopyOnClick.js +62 -0
  158. package/components/copy-on-click/CopyOnClick.js.map +1 -0
  159. package/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
  160. package/components/copy-on-click/CopyOnClickDocs.js +18 -0
  161. package/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
  162. package/components/copy-on-click/index.d.ts +7 -0
  163. package/components/copy-on-click/index.js +4 -0
  164. package/components/copy-on-click/index.js.map +1 -0
  165. package/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
  166. package/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
  167. package/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
  168. package/components/copy-on-click/style/index.d.ts +5 -0
  169. package/components/copy-on-click/style/index.js +1 -0
  170. package/components/copy-on-click/style/index.js.map +1 -0
  171. package/components/copy-on-click/style.d.ts +5 -0
  172. package/components/copy-on-click/style.js +1 -0
  173. package/components/copy-on-click/style.js.map +1 -0
  174. package/components/copy-on-click/types.d.ts +19 -0
  175. package/components/copy-on-click/types.js +1 -0
  176. package/components/copy-on-click/types.js.map +1 -0
  177. package/components/index.d.ts +2 -1
  178. package/components/index.js +2 -1
  179. package/components/index.js.map +1 -1
  180. package/components/lib.d.ts +6 -1
  181. package/components/lib.js +3 -1
  182. package/components/lib.js.map +1 -1
  183. package/components/pagination/Pagination.d.ts +27 -1
  184. package/components/pagination/Pagination.js +3 -1
  185. package/components/pagination/Pagination.js.map +1 -1
  186. package/components/pagination/PaginationInfinity.js +20 -8
  187. package/components/pagination/PaginationInfinity.js.map +1 -1
  188. package/es/components/CopyOnClick.d.ts +12 -0
  189. package/es/components/CopyOnClick.js +4 -0
  190. package/es/components/CopyOnClick.js.map +1 -0
  191. package/es/components/copy-on-click/CopyOnClick.d.ts +9 -0
  192. package/es/components/copy-on-click/CopyOnClick.js +62 -0
  193. package/es/components/copy-on-click/CopyOnClick.js.map +1 -0
  194. package/es/components/copy-on-click/CopyOnClickDocs.d.ts +2 -0
  195. package/es/components/copy-on-click/CopyOnClickDocs.js +18 -0
  196. package/es/components/copy-on-click/CopyOnClickDocs.js.map +1 -0
  197. package/es/components/copy-on-click/index.d.ts +7 -0
  198. package/es/components/copy-on-click/index.js +4 -0
  199. package/es/components/copy-on-click/index.js.map +1 -0
  200. package/es/components/copy-on-click/style/dnb-copy-on-click.css +7 -0
  201. package/es/components/copy-on-click/style/dnb-copy-on-click.min.css +1 -0
  202. package/es/components/copy-on-click/style/dnb-copy-on-click.scss +10 -0
  203. package/es/components/copy-on-click/style/index.d.ts +5 -0
  204. package/es/components/copy-on-click/style/index.js +1 -0
  205. package/es/components/copy-on-click/style/index.js.map +1 -0
  206. package/es/components/copy-on-click/style.d.ts +5 -0
  207. package/es/components/copy-on-click/style.js +1 -0
  208. package/es/components/copy-on-click/style.js.map +1 -0
  209. package/es/components/copy-on-click/types.d.ts +19 -0
  210. package/es/components/copy-on-click/types.js +1 -0
  211. package/es/components/copy-on-click/types.js.map +1 -0
  212. package/es/components/index.d.ts +2 -1
  213. package/es/components/index.js +2 -1
  214. package/es/components/index.js.map +1 -1
  215. package/es/components/lib.d.ts +6 -1
  216. package/es/components/lib.js +3 -1
  217. package/es/components/lib.js.map +1 -1
  218. package/es/components/pagination/Pagination.d.ts +27 -1
  219. package/es/components/pagination/Pagination.js +3 -1
  220. package/es/components/pagination/Pagination.js.map +1 -1
  221. package/es/components/pagination/PaginationInfinity.js +20 -8
  222. package/es/components/pagination/PaginationInfinity.js.map +1 -1
  223. package/es/extensions/forms/DataContext/Context.d.ts +2 -2
  224. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  225. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  226. package/es/extensions/forms/DataContext/Provider/Provider.js +25 -18
  227. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  228. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
  229. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  230. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +15 -3
  231. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -3
  232. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  233. package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
  234. package/es/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  235. package/es/extensions/forms/Field/Email/Email.js +1 -1
  236. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  237. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +23 -4
  238. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  239. package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
  240. package/es/extensions/forms/Field/Number/Number.js +33 -31
  241. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  242. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
  243. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
  244. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  245. package/es/extensions/forms/Field/Selection/Selection.d.ts +1 -1
  246. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  247. package/es/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
  248. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  249. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  250. package/es/extensions/forms/Form/Handler/Handler.js +1 -3
  251. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  252. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
  253. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  254. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
  255. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  256. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  257. package/es/extensions/forms/Form/data-context/useData.js +9 -7
  258. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  259. package/es/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
  260. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js +44 -0
  261. package/es/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
  262. package/es/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
  263. package/es/extensions/forms/Value/SelectCountry/index.js +3 -0
  264. package/es/extensions/forms/Value/SelectCountry/index.js.map +1 -0
  265. package/es/extensions/forms/Value/Selection/SelectionDocs.js +1 -1
  266. package/es/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -1
  267. package/es/extensions/forms/Value/index.d.ts +1 -0
  268. package/es/extensions/forms/Value/index.js +1 -0
  269. package/es/extensions/forms/Value/index.js.map +1 -1
  270. package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -3
  271. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  272. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
  273. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  274. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
  275. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
  276. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  277. package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -0
  278. package/es/extensions/forms/constants/locales/en-GB.js +3 -1
  279. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  280. package/es/extensions/forms/constants/locales/en-US.d.ts +2 -0
  281. package/es/extensions/forms/constants/locales/index.d.ts +4 -0
  282. package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -0
  283. package/es/extensions/forms/constants/locales/nb-NO.js +3 -1
  284. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  285. package/es/extensions/forms/hooks/DataValueDocs.js +3 -3
  286. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  287. package/es/extensions/forms/style/dnb-forms.css +3 -0
  288. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  289. package/es/extensions/forms/types.d.ts +5 -2
  290. package/es/extensions/forms/types.js.map +1 -1
  291. package/es/index.d.ts +2 -1
  292. package/es/index.js +2 -1
  293. package/es/index.js.map +1 -1
  294. package/es/shared/Context.js +4 -6
  295. package/es/shared/Context.js.map +1 -1
  296. package/es/shared/Eufemia.d.ts +1 -1
  297. package/es/shared/Eufemia.js +2 -2
  298. package/es/shared/Eufemia.js.map +1 -1
  299. package/es/shared/locales/en-GB.d.ts +3 -0
  300. package/es/shared/locales/en-GB.js +3 -0
  301. package/es/shared/locales/en-GB.js.map +1 -1
  302. package/es/shared/locales/en-US.d.ts +3 -0
  303. package/es/shared/locales/index.d.ts +6 -0
  304. package/es/shared/locales/nb-NO.d.ts +3 -0
  305. package/es/shared/locales/nb-NO.js +3 -0
  306. package/es/shared/locales/nb-NO.js.map +1 -1
  307. package/es/style/core/scopes.scss +1 -1
  308. package/es/style/dnb-ui-basis.css +1 -1
  309. package/es/style/dnb-ui-basis.min.css +1 -1
  310. package/es/style/dnb-ui-body.css +1 -1
  311. package/es/style/dnb-ui-body.min.css +1 -1
  312. package/es/style/dnb-ui-components.css +11 -0
  313. package/es/style/dnb-ui-components.min.css +2 -2
  314. package/es/style/dnb-ui-components.scss +1 -0
  315. package/es/style/dnb-ui-core.css +1 -1
  316. package/es/style/dnb-ui-core.min.css +1 -1
  317. package/es/style/dnb-ui-extensions.css +3 -0
  318. package/es/style/dnb-ui-extensions.min.css +1 -1
  319. package/es/style/dnb-ui-forms.css +3 -0
  320. package/es/style/dnb-ui-forms.min.css +1 -1
  321. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +14 -0
  322. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  323. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  324. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  325. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  326. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  327. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +14 -0
  328. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  329. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  330. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  331. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  332. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  333. package/es/style/themes/theme-ui/ui-theme-components.css +14 -0
  334. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  335. package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  336. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  337. package/es/style/themes/theme-ui/ui-theme-forms.css +3 -0
  338. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  339. package/esm/dnb-ui-basis.min.mjs +1 -1
  340. package/esm/dnb-ui-components.min.mjs +1 -1
  341. package/esm/dnb-ui-elements.min.mjs +1 -1
  342. package/esm/dnb-ui-extensions.min.mjs +2 -2
  343. package/esm/dnb-ui-lib.min.mjs +1 -1
  344. package/extensions/forms/DataContext/Context.d.ts +2 -2
  345. package/extensions/forms/DataContext/Context.js.map +1 -1
  346. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  347. package/extensions/forms/DataContext/Provider/Provider.js +26 -19
  348. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  349. package/extensions/forms/DataContext/Provider/ProviderDocs.js +2 -7
  350. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  351. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +15 -3
  352. package/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -3
  353. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  354. package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js +10 -0
  355. package/extensions/forms/Field/ArraySelection/ArraySelectionDocs.js.map +1 -1
  356. package/extensions/forms/Field/Email/Email.js +1 -1
  357. package/extensions/forms/Field/Email/Email.js.map +1 -1
  358. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +23 -4
  359. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  360. package/extensions/forms/Field/Number/Number.d.ts +2 -2
  361. package/extensions/forms/Field/Number/Number.js +33 -31
  362. package/extensions/forms/Field/Number/Number.js.map +1 -1
  363. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.d.ts +3 -1
  364. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +8 -1
  365. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  366. package/extensions/forms/Field/Selection/Selection.d.ts +1 -1
  367. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  368. package/extensions/forms/Field/Selection/SelectionDocs.js +6 -1
  369. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  370. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  371. package/extensions/forms/Form/Handler/Handler.js +1 -3
  372. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  373. package/extensions/forms/Form/Isolation/Isolation.d.ts +1 -1
  374. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  375. package/extensions/forms/Form/Isolation/IsolationDocs.js +0 -1
  376. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  377. package/extensions/forms/Form/Section/Section.js.map +1 -1
  378. package/extensions/forms/Form/data-context/useData.js +9 -7
  379. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  380. package/extensions/forms/Value/SelectCountry/SelectCountry.d.ts +7 -0
  381. package/extensions/forms/Value/SelectCountry/SelectCountry.js +44 -0
  382. package/extensions/forms/Value/SelectCountry/SelectCountry.js.map +1 -0
  383. package/extensions/forms/Value/SelectCountry/index.d.ts +2 -0
  384. package/extensions/forms/Value/SelectCountry/index.js +3 -0
  385. package/extensions/forms/Value/SelectCountry/index.js.map +1 -0
  386. package/extensions/forms/Value/Selection/SelectionDocs.js +1 -1
  387. package/extensions/forms/Value/Selection/SelectionDocs.js.map +1 -1
  388. package/extensions/forms/Value/index.d.ts +1 -0
  389. package/extensions/forms/Value/index.js +1 -0
  390. package/extensions/forms/Value/index.js.map +1 -1
  391. package/extensions/forms/ValueBlock/ValueBlock.js +4 -3
  392. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  393. package/extensions/forms/ValueBlock/style/dnb-value-block.css +3 -0
  394. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  395. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +3 -0
  396. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +4 -4
  397. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  398. package/extensions/forms/constants/locales/en-GB.d.ts +2 -0
  399. package/extensions/forms/constants/locales/en-GB.js +3 -1
  400. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  401. package/extensions/forms/constants/locales/en-US.d.ts +2 -0
  402. package/extensions/forms/constants/locales/index.d.ts +4 -0
  403. package/extensions/forms/constants/locales/nb-NO.d.ts +2 -0
  404. package/extensions/forms/constants/locales/nb-NO.js +3 -1
  405. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  406. package/extensions/forms/hooks/DataValueDocs.js +3 -3
  407. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  408. package/extensions/forms/style/dnb-forms.css +3 -0
  409. package/extensions/forms/style/dnb-forms.min.css +1 -1
  410. package/extensions/forms/types.d.ts +5 -2
  411. package/extensions/forms/types.js.map +1 -1
  412. package/index.d.ts +2 -1
  413. package/index.js +2 -1
  414. package/index.js.map +1 -1
  415. package/package.json +2 -1
  416. package/shared/Context.js +4 -6
  417. package/shared/Context.js.map +1 -1
  418. package/shared/Eufemia.d.ts +1 -1
  419. package/shared/Eufemia.js +2 -2
  420. package/shared/Eufemia.js.map +1 -1
  421. package/shared/locales/en-GB.d.ts +3 -0
  422. package/shared/locales/en-GB.js +3 -0
  423. package/shared/locales/en-GB.js.map +1 -1
  424. package/shared/locales/en-US.d.ts +3 -0
  425. package/shared/locales/index.d.ts +6 -0
  426. package/shared/locales/nb-NO.d.ts +3 -0
  427. package/shared/locales/nb-NO.js +3 -0
  428. package/shared/locales/nb-NO.js.map +1 -1
  429. package/style/core/scopes.scss +1 -1
  430. package/style/dnb-ui-basis.css +1 -1
  431. package/style/dnb-ui-basis.min.css +1 -1
  432. package/style/dnb-ui-body.css +1 -1
  433. package/style/dnb-ui-body.min.css +1 -1
  434. package/style/dnb-ui-components.css +11 -0
  435. package/style/dnb-ui-components.min.css +2 -2
  436. package/style/dnb-ui-components.scss +1 -0
  437. package/style/dnb-ui-core.css +1 -1
  438. package/style/dnb-ui-core.min.css +1 -1
  439. package/style/dnb-ui-extensions.css +3 -0
  440. package/style/dnb-ui-extensions.min.css +1 -1
  441. package/style/dnb-ui-forms.css +3 -0
  442. package/style/dnb-ui-forms.min.css +1 -1
  443. package/style/themes/theme-eiendom/eiendom-theme-components.css +14 -0
  444. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  445. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -0
  446. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  447. package/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -0
  448. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  449. package/style/themes/theme-sbanken/sbanken-theme-components.css +14 -0
  450. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  451. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -0
  452. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  453. package/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -0
  454. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  455. package/style/themes/theme-ui/ui-theme-components.css +14 -0
  456. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  457. package/style/themes/theme-ui/ui-theme-extensions.css +3 -0
  458. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  459. package/style/themes/theme-ui/ui-theme-forms.css +3 -0
  460. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  461. package/umd/dnb-ui-basis.min.js +1 -1
  462. package/umd/dnb-ui-components.min.js +1 -1
  463. package/umd/dnb-ui-elements.min.js +1 -1
  464. package/umd/dnb-ui-extensions.min.js +2 -2
  465. package/umd/dnb-ui-lib.min.js +1 -1
@@ -3,14 +3,22 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.selectCountryGeneralEvents = void 0;
6
+ exports.SelectCountryProperties = exports.SelectCountryGeneralEvents = void 0;
7
7
  var _FieldDocs = require("../FieldDocs");
8
- const selectCountryGeneralEvents = (0, _FieldDocs.getFieldEventsWithTypes)({
8
+ const SelectCountryProperties = {
9
+ countries: {
10
+ doc: 'List only a certain set of countries: `Scandinavia`, `Nordic`, `Europe` or `Prioritized`(all countries [sorted by priority](/uilib/extensions/forms/feature-fields/SelectCountry/#filter-or-prioritize-country-listing)). Defaults to `Prioritized`.',
11
+ type: 'string',
12
+ status: 'optional'
13
+ }
14
+ };
15
+ exports.SelectCountryProperties = SelectCountryProperties;
16
+ const SelectCountryGeneralEvents = (0, _FieldDocs.getFieldEventsWithTypes)({
9
17
  type: 'string',
10
18
  optional: true
11
19
  }, {
12
20
  type: 'object',
13
21
  optional: true
14
22
  });
15
- exports.selectCountryGeneralEvents = selectCountryGeneralEvents;
23
+ exports.SelectCountryGeneralEvents = SelectCountryGeneralEvents;
16
24
  //# sourceMappingURL=SelectCountryDocs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectCountryDocs.js","names":["_FieldDocs","require","selectCountryGeneralEvents","getFieldEventsWithTypes","type","optional","exports"],"sources":["../../../../../../src/extensions/forms/Field/SelectCountry/SelectCountryDocs.ts"],"sourcesContent":["import { getFieldEventsWithTypes } from '../FieldDocs'\n\nexport const selectCountryGeneralEvents = getFieldEventsWithTypes(\n { type: 'string', optional: true },\n { type: 'object', optional: true }\n)\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,0BAA0B,GAAG,IAAAC,kCAAuB,EAC/D;EAAEC,IAAI,EAAE,QAAQ;EAAEC,QAAQ,EAAE;AAAK,CAAC,EAClC;EAAED,IAAI,EAAE,QAAQ;EAAEC,QAAQ,EAAE;AAAK,CACnC,CAAC;AAAAC,OAAA,CAAAJ,0BAAA,GAAAA,0BAAA"}
1
+ {"version":3,"file":"SelectCountryDocs.js","names":["_FieldDocs","require","SelectCountryProperties","countries","doc","type","status","exports","SelectCountryGeneralEvents","getFieldEventsWithTypes","optional"],"sources":["../../../../../../src/extensions/forms/Field/SelectCountry/SelectCountryDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { getFieldEventsWithTypes } from '../FieldDocs'\n\nexport const SelectCountryProperties: PropertiesTableProps = {\n countries: {\n doc: 'List only a certain set of countries: `Scandinavia`, `Nordic`, `Europe` or `Prioritized`(all countries [sorted by priority](/uilib/extensions/forms/feature-fields/SelectCountry/#filter-or-prioritize-country-listing)). Defaults to `Prioritized`.',\n type: 'string',\n status: 'optional',\n },\n}\n\nexport const SelectCountryGeneralEvents = getFieldEventsWithTypes(\n { type: 'string', optional: true },\n { type: 'object', optional: true }\n)\n"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,uBAA6C,GAAG;EAC3DC,SAAS,EAAE;IACTC,GAAG,EAAE,sPAAsP;IAC3PC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC;AAAAC,OAAA,CAAAL,uBAAA,GAAAA,uBAAA;AAEM,MAAMM,0BAA0B,GAAG,IAAAC,kCAAuB,EAC/D;EAAEJ,IAAI,EAAE,QAAQ;EAAEK,QAAQ,EAAE;AAAK,CAAC,EAClC;EAAEL,IAAI,EAAE,QAAQ;EAAEK,QAAQ,EAAE;AAAK,CACnC,CAAC;AAAAH,OAAA,CAAAC,0BAAA,GAAAA,0BAAA"}
@@ -32,7 +32,7 @@ export type Props = FieldHelpProps & FieldProps<IOption['value']> & {
32
32
  optionsLayout?: 'horizontal' | 'vertical';
33
33
  /**
34
34
  * The path to the context data (Form.Handler).
35
- * The object needs to have a `value` and a `title` property.
35
+ * The context data object needs to have a `value` and a `title` property.
36
36
  */
37
37
  dataPath?: Path;
38
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Selection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_Option","_hooks","_utils","_FieldBlock","_types","_withCamelCaseProps","_useDataValue","_em","_em2","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","sourceKeys","keys","_extends","assign","bind","arguments","apply","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Selection","props","clearValue","useMemo","makeUniqueId","id","className","variant","label","labelDescription","layout","optionsLayout","placeholder","info","warning","error","hasError","disabled","help","emptyValue","width","htmlAttributes","setHasFocus","handleChange","data","dataPath","children","autocompleteProps","dropdownProps","useFieldProps","getValueByPath","useDataValue","dataList","handleDropdownChange","useCallback","_ref","selectedKey","onChangeHandler","_ref2","handleShow","_ref3","handleHide","_ref4","cn","classnames","fieldBlockProps","forId","pickSpacingProps","Component","Radio","ToggleButton","items","renderRadioItems","createElement","asFieldset","React","Children","count","Group","layout_direction","on_change","status","getStatus","renderDropdownItems","concat","makeOptions","Boolean","sharedProps","list_class","portal_class","title","suffix","HelpButton","content","on_show","on_hide","stretch","Autocomplete","convertCamelCaseProps","Dropdown","_error$message","message","Error","FormError","toString","_ref5","optionsCount","createOption","rest","size","text","map","mapOptions","_ref6","child","isValidElement","type","OptionField","nestedChildren","cloneElement","_child","_child$props","_child$props$children","_ref7","_props$children","_props$value","_ref8","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n HelpButton,\n Autocomplete,\n} from '../../../../components'\nimport OptionField, { Props as OptionFieldProps } from '../Option'\nimport { useFieldProps } from '../../hooks'\nimport { ReturnAdditional } from '../../hooks/useFieldProps'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport FieldBlock from '../../FieldBlock'\nimport {\n FormError,\n FieldProps,\n FieldHelpProps,\n FieldBlockWidth,\n Path,\n} from '../../types'\nimport type { FormStatusText } from '../../../../components/FormStatus'\nimport type { AutocompleteAllProps } from '../../../../components/Autocomplete'\nimport type { DropdownAllProps } from '../../../../components/Dropdown'\nimport { HelpButtonProps } from '../../../../components/HelpButton'\nimport { DrawerListProps } from '../../../../fragments/DrawerList'\nimport {\n convertCamelCaseProps,\n ToCamelCase,\n} from '../../../../shared/helpers/withCamelCaseProps'\nimport useDataValue from '../../hooks/useDataValue'\n\ntype IOption = {\n title: string | React.ReactNode\n value: number | string\n status: FormStatusText\n}\nexport type Data = Array<{\n value: string\n title: React.ReactNode\n text?: React.ReactNode\n}>\n\nexport type Props = FieldHelpProps &\n FieldProps<IOption['value']> & {\n /**\n * Defines the variant of the component.\n * Default: dropdown\n */\n variant?: 'dropdown' | 'autocomplete' | 'radio' | 'button'\n\n /**\n * The width of the component.\n * Default: large\n */\n width?: FieldBlockWidth\n\n /**\n * Defines the layout of the options for radio and button variants.\n */\n optionsLayout?: 'horizontal' | 'vertical'\n\n /**\n * The path to the context data (Form.Handler).\n * The object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n /**\n * Autocomplete specific props\n */\n autocompleteProps?: ToCamelCase<AutocompleteAllProps>\n\n /**\n * Dropdown specific props\n */\n dropdownProps?: ToCamelCase<DropdownAllProps>\n\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n }\n\nfunction Selection(props: Props) {\n const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, [])\n\n const {\n id,\n className,\n variant = 'dropdown',\n label,\n labelDescription,\n layout = 'vertical',\n optionsLayout = 'vertical',\n placeholder,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n help,\n emptyValue,\n width = 'large',\n htmlAttributes,\n setHasFocus,\n handleChange,\n data,\n dataPath,\n children,\n\n // - Autocomplete and Dropdown specific props\n autocompleteProps,\n dropdownProps,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n let dataList = data\n if (dataPath) {\n dataList = getValueByPath(dataPath)\n }\n\n const handleDropdownChange = useCallback(\n ({ data }) => {\n const selectedKey = data?.selectedKey\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const onChangeHandler = useCallback(\n ({ value }) => {\n handleChange?.(value === undefined ? emptyValue : value)\n },\n [handleChange, emptyValue]\n )\n\n // Specific handleShow and handleHide because Dropdown preserve the initially received callbacks, so changes\n // due to `useCallback` usage will have no effect, leading to useFieldPropss handleFocus and handleBlur sending out old\n // copies of value as arguments.\n const handleShow = useCallback(\n ({ data }) => {\n setHasFocus(true, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const cn = classnames(\n 'dnb-forms-field-selection',\n `dnb-forms-field-selection__variant--${variant}`,\n `dnb-forms-field-selection__options-layout--${optionsLayout}`,\n className\n )\n\n const fieldBlockProps = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n layout,\n label,\n labelDescription,\n }\n\n switch (variant) {\n case 'radio':\n case 'button': {\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n const items = renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n })\n\n return (\n <FieldBlock\n {...fieldBlockProps}\n asFieldset={React.Children.count(items) > 1}\n >\n <Component.Group\n className={cn}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n disabled={disabled}\n on_change={onChangeHandler}\n value={String(value ?? '')}\n >\n {items}\n </Component.Group>\n </FieldBlock>\n )\n }\n\n case 'autocomplete':\n case 'dropdown': {\n const status = getStatus(error, info, warning)\n const data = renderDropdownItems(dataList)\n .concat(makeOptions(children))\n .filter(Boolean)\n\n const sharedProps: AutocompleteAllProps & DropdownAllProps = {\n id,\n list_class: 'dnb-forms-field-selection__list',\n portal_class: 'dnb-forms-field-selection__portal',\n title: placeholder,\n value: String(value ?? ''),\n status: (hasError || status) && 'error',\n disabled,\n ...htmlAttributes,\n data,\n suffix: help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n on_change: handleDropdownChange,\n on_show: handleShow,\n on_hide: handleHide,\n stretch: true,\n }\n\n return (\n <FieldBlock {...fieldBlockProps} width={width}>\n {variant === 'autocomplete' ? (\n <Autocomplete\n {...sharedProps}\n {...(autocompleteProps\n ? (convertCamelCaseProps(\n autocompleteProps\n ) as AutocompleteAllProps)\n : null)}\n />\n ) : (\n <Dropdown\n {...sharedProps}\n {...(dropdownProps\n ? (convertCamelCaseProps(\n dropdownProps\n ) as DropdownAllProps)\n : null)}\n />\n )}\n </FieldBlock>\n )\n }\n }\n}\n\nexport function getStatus(\n error: Error | FormError | undefined,\n info: React.ReactNode,\n warning: React.ReactNode\n) {\n return (\n error?.message ??\n ((warning instanceof Error && warning.message) ||\n (warning instanceof FormError && warning.message) ||\n warning?.toString() ||\n (info instanceof Error && info.message) ||\n (info instanceof FormError && info.message) ||\n info?.toString())\n )\n}\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n error?: Error | FormError | undefined\n title: React.ReactNode\n help?: HelpButtonProps\n children?: React.ReactNode\n }>\n>\n\nfunction renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n}: {\n id: string\n value: Props['value']\n variant: Props['variant']\n info: Props['info']\n warning: Props['warning']\n htmlAttributes: Props['htmlAttributes']\n children: Props['children']\n dataList: Data\n hasError: ReturnAdditional<Props['value']>['hasError']\n}) {\n const optionsCount =\n React.Children.count(children) + (dataList?.length || 0)\n\n const createOption = (props: OptionProps, i: number) => {\n const { error, title, help, children, ...rest } = props\n\n const label = title ?? children\n const status = getStatus(error, info, warning)\n const suffix = help ? (\n <HelpButton size=\"small\" title={help.title}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n label={variant === 'radio' ? label : undefined}\n text={variant === 'button' ? label : undefined}\n value={String(value ?? '')}\n status={(hasError || status) && 'error'}\n suffix={suffix}\n {...htmlAttributes}\n {...rest}\n />\n )\n }\n\n return [\n ...(dataList || []).map((props, i) => {\n return createOption(props as OptionProps, i)\n }),\n ...(mapOptions(children, { createOption }) || []),\n ].filter(Boolean)\n}\n\nexport function mapOptions(children: React.ReactNode, { createOption }) {\n return React.Children.map(\n children,\n (child: React.ReactElement<OptionProps>, i) => {\n if (React.isValidElement(child)) {\n if (child.type === OptionField) {\n return createOption(child.props, i)\n }\n\n if (child.props.children) {\n const nestedChildren = mapOptions(child.props.children, {\n createOption,\n })\n return React.cloneElement(child, child.props, nestedChildren)\n }\n }\n\n return child\n }\n )\n}\n\nexport function makeOptions<T = DrawerListProps['data']>(\n children: React.ReactNode\n): T {\n return React.Children.map(children, (child) => {\n if (child?.['props']?.children?.type === OptionField) {\n child = child['props'].children\n }\n\n if (React.isValidElement(child) && child.type === OptionField) {\n const props = child.props as OptionFieldProps\n const title = props.children ?? props.title ?? <em>Untitled</em>\n const content = props.text ? [title, props.text] : title\n const selectedKey = String(props.value ?? '')\n\n return { selectedKey, content }\n }\n\n // For other children, just show them as content\n if (child) {\n return {\n content: child,\n }\n }\n }) as T\n}\n\nfunction renderDropdownItems(data: Data) {\n return (\n data?.map(({ value, title, text }) => ({\n selectedKey: value,\n content: (text ? [title, text] : title) || <em>Untitled</em>,\n })) || []\n )\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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"}
1
+ {"version":3,"file":"Selection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_Option","_hooks","_utils","_FieldBlock","_types","_withCamelCaseProps","_useDataValue","_em","_em2","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","sourceKeys","keys","_extends","assign","bind","arguments","apply","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Selection","props","clearValue","useMemo","makeUniqueId","id","className","variant","label","labelDescription","layout","optionsLayout","placeholder","info","warning","error","hasError","disabled","help","emptyValue","width","htmlAttributes","setHasFocus","handleChange","data","dataPath","children","autocompleteProps","dropdownProps","useFieldProps","getValueByPath","useDataValue","dataList","handleDropdownChange","useCallback","_ref","selectedKey","onChangeHandler","_ref2","handleShow","_ref3","handleHide","_ref4","cn","classnames","fieldBlockProps","forId","pickSpacingProps","Component","Radio","ToggleButton","items","renderRadioItems","createElement","asFieldset","React","Children","count","Group","layout_direction","on_change","status","getStatus","renderDropdownItems","concat","makeOptions","Boolean","sharedProps","list_class","portal_class","title","suffix","HelpButton","content","on_show","on_hide","stretch","Autocomplete","convertCamelCaseProps","Dropdown","_error$message","message","Error","FormError","toString","_ref5","optionsCount","createOption","rest","size","text","map","mapOptions","_ref6","child","isValidElement","type","OptionField","nestedChildren","cloneElement","_child","_child$props","_child$props$children","_ref7","_props$children","_props$value","_ref8","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n HelpButton,\n Autocomplete,\n} from '../../../../components'\nimport OptionField, { Props as OptionFieldProps } from '../Option'\nimport { useFieldProps } from '../../hooks'\nimport { ReturnAdditional } from '../../hooks/useFieldProps'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport FieldBlock from '../../FieldBlock'\nimport {\n FormError,\n FieldProps,\n FieldHelpProps,\n FieldBlockWidth,\n Path,\n} from '../../types'\nimport type { FormStatusText } from '../../../../components/FormStatus'\nimport type { AutocompleteAllProps } from '../../../../components/Autocomplete'\nimport type { DropdownAllProps } from '../../../../components/Dropdown'\nimport { HelpButtonProps } from '../../../../components/HelpButton'\nimport { DrawerListProps } from '../../../../fragments/DrawerList'\nimport {\n convertCamelCaseProps,\n ToCamelCase,\n} from '../../../../shared/helpers/withCamelCaseProps'\nimport useDataValue from '../../hooks/useDataValue'\n\ntype IOption = {\n title: string | React.ReactNode\n value: number | string\n status: FormStatusText\n}\nexport type Data = Array<{\n value: string\n title: React.ReactNode\n text?: React.ReactNode\n}>\n\nexport type Props = FieldHelpProps &\n FieldProps<IOption['value']> & {\n /**\n * Defines the variant of the component.\n * Default: dropdown\n */\n variant?: 'dropdown' | 'autocomplete' | 'radio' | 'button'\n\n /**\n * The width of the component.\n * Default: large\n */\n width?: FieldBlockWidth\n\n /**\n * Defines the layout of the options for radio and button variants.\n */\n optionsLayout?: 'horizontal' | 'vertical'\n\n /**\n * The path to the context data (Form.Handler).\n * The context data object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n /**\n * Autocomplete specific props\n */\n autocompleteProps?: ToCamelCase<AutocompleteAllProps>\n\n /**\n * Dropdown specific props\n */\n dropdownProps?: ToCamelCase<DropdownAllProps>\n\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n }\n\nfunction Selection(props: Props) {\n const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, [])\n\n const {\n id,\n className,\n variant = 'dropdown',\n label,\n labelDescription,\n layout = 'vertical',\n optionsLayout = 'vertical',\n placeholder,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n help,\n emptyValue,\n width = 'large',\n htmlAttributes,\n setHasFocus,\n handleChange,\n data,\n dataPath,\n children,\n\n // - Autocomplete and Dropdown specific props\n autocompleteProps,\n dropdownProps,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n let dataList = data\n if (dataPath) {\n dataList = getValueByPath(dataPath)\n }\n\n const handleDropdownChange = useCallback(\n ({ data }) => {\n const selectedKey = data?.selectedKey\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const onChangeHandler = useCallback(\n ({ value }) => {\n handleChange?.(value === undefined ? emptyValue : value)\n },\n [handleChange, emptyValue]\n )\n\n // Specific handleShow and handleHide because Dropdown preserve the initially received callbacks, so changes\n // due to `useCallback` usage will have no effect, leading to useFieldPropss handleFocus and handleBlur sending out old\n // copies of value as arguments.\n const handleShow = useCallback(\n ({ data }) => {\n setHasFocus(true, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const cn = classnames(\n 'dnb-forms-field-selection',\n `dnb-forms-field-selection__variant--${variant}`,\n `dnb-forms-field-selection__options-layout--${optionsLayout}`,\n className\n )\n\n const fieldBlockProps = {\n forId: id,\n className: cn,\n ...pickSpacingProps(props),\n info,\n warning,\n error,\n layout,\n label,\n labelDescription,\n }\n\n switch (variant) {\n case 'radio':\n case 'button': {\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n const items = renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n })\n\n return (\n <FieldBlock\n {...fieldBlockProps}\n asFieldset={React.Children.count(items) > 1}\n >\n <Component.Group\n className={cn}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n disabled={disabled}\n on_change={onChangeHandler}\n value={String(value ?? '')}\n >\n {items}\n </Component.Group>\n </FieldBlock>\n )\n }\n\n case 'autocomplete':\n case 'dropdown': {\n const status = getStatus(error, info, warning)\n const data = renderDropdownItems(dataList)\n .concat(makeOptions(children))\n .filter(Boolean)\n\n const sharedProps: AutocompleteAllProps & DropdownAllProps = {\n id,\n list_class: 'dnb-forms-field-selection__list',\n portal_class: 'dnb-forms-field-selection__portal',\n title: placeholder,\n value: String(value ?? ''),\n status: (hasError || status) && 'error',\n disabled,\n ...htmlAttributes,\n data,\n suffix: help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n on_change: handleDropdownChange,\n on_show: handleShow,\n on_hide: handleHide,\n stretch: true,\n }\n\n return (\n <FieldBlock {...fieldBlockProps} width={width}>\n {variant === 'autocomplete' ? (\n <Autocomplete\n {...sharedProps}\n {...(autocompleteProps\n ? (convertCamelCaseProps(\n autocompleteProps\n ) as AutocompleteAllProps)\n : null)}\n />\n ) : (\n <Dropdown\n {...sharedProps}\n {...(dropdownProps\n ? (convertCamelCaseProps(\n dropdownProps\n ) as DropdownAllProps)\n : null)}\n />\n )}\n </FieldBlock>\n )\n }\n }\n}\n\nexport function getStatus(\n error: Error | FormError | undefined,\n info: React.ReactNode,\n warning: React.ReactNode\n) {\n return (\n error?.message ??\n ((warning instanceof Error && warning.message) ||\n (warning instanceof FormError && warning.message) ||\n warning?.toString() ||\n (info instanceof Error && info.message) ||\n (info instanceof FormError && info.message) ||\n info?.toString())\n )\n}\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n error?: Error | FormError | undefined\n title: React.ReactNode\n help?: HelpButtonProps\n children?: React.ReactNode\n }>\n>\n\nfunction renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n}: {\n id: string\n value: Props['value']\n variant: Props['variant']\n info: Props['info']\n warning: Props['warning']\n htmlAttributes: Props['htmlAttributes']\n children: Props['children']\n dataList: Data\n hasError: ReturnAdditional<Props['value']>['hasError']\n}) {\n const optionsCount =\n React.Children.count(children) + (dataList?.length || 0)\n\n const createOption = (props: OptionProps, i: number) => {\n const { error, title, help, children, ...rest } = props\n\n const label = title ?? children\n const status = getStatus(error, info, warning)\n const suffix = help ? (\n <HelpButton size=\"small\" title={help.title}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n label={variant === 'radio' ? label : undefined}\n text={variant === 'button' ? label : undefined}\n value={String(value ?? '')}\n status={(hasError || status) && 'error'}\n suffix={suffix}\n {...htmlAttributes}\n {...rest}\n />\n )\n }\n\n return [\n ...(dataList || []).map((props, i) => {\n return createOption(props as OptionProps, i)\n }),\n ...(mapOptions(children, { createOption }) || []),\n ].filter(Boolean)\n}\n\nexport function mapOptions(children: React.ReactNode, { createOption }) {\n return React.Children.map(\n children,\n (child: React.ReactElement<OptionProps>, i) => {\n if (React.isValidElement(child)) {\n if (child.type === OptionField) {\n return createOption(child.props, i)\n }\n\n if (child.props.children) {\n const nestedChildren = mapOptions(child.props.children, {\n createOption,\n })\n return React.cloneElement(child, child.props, nestedChildren)\n }\n }\n\n return child\n }\n )\n}\n\nexport function makeOptions<T = DrawerListProps['data']>(\n children: React.ReactNode\n): T {\n return React.Children.map(children, (child) => {\n if (child?.['props']?.children?.type === OptionField) {\n child = child['props'].children\n }\n\n if (React.isValidElement(child) && child.type === OptionField) {\n const props = child.props as OptionFieldProps\n const title = props.children ?? props.title ?? <em>Untitled</em>\n const content = props.text ? [title, props.text] : title\n const selectedKey = String(props.value ?? '')\n\n return { selectedKey, content }\n }\n\n // For other children, just show them as content\n if (child) {\n return {\n content: child,\n }\n }\n }) as T\n}\n\nfunction renderDropdownItems(data: Data) {\n return (\n data?.map(({ value, title, text }) => ({\n selectedKey: value,\n content: (text ? [title, text] : title) || <em>Untitled</em>,\n })) || []\n )\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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"}
@@ -10,6 +10,11 @@ const SelectionProperties = {
10
10
  type: 'string',
11
11
  status: 'optional'
12
12
  },
13
+ value: {
14
+ doc: 'Defines the `value`. When using variant `radio` or `button`, value has to be a `string`.',
15
+ type: ['number', 'string'],
16
+ status: 'optional'
17
+ },
13
18
  optionsLayout: {
14
19
  doc: 'Layout for the list of options. Can be `horizontal` or `vertical`.',
15
20
  type: 'string',
@@ -31,7 +36,7 @@ const SelectionProperties = {
31
36
  status: 'optional'
32
37
  },
33
38
  dataPath: {
34
- doc: 'The path to the context data (Form.Handler). The object needs to have a `value` and a `title` property. The generated options will be placed above given JSX based children.',
39
+ doc: 'The path to the context data (Form.Handler). The context data object needs to have a `value` and a `title` property. The generated options will be placed above given JSX based children.',
35
40
  type: 'string',
36
41
  status: 'optional'
37
42
  },
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionDocs.js","names":["SelectionProperties","variant","doc","type","status","optionsLayout","width","help","data","dataPath","autocompleteProps","dropdownProps","children","exports"],"sources":["../../../../../../src/extensions/forms/Field/Selection/SelectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const SelectionProperties: PropertiesTableProps = {\n variant: {\n doc: 'Choice of UI feature. Can be: `dropdown`, `autocomplete`, `radio` or `button`.',\n type: 'string',\n status: 'optional',\n },\n optionsLayout: {\n doc: 'Layout for the list of options. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`small`, `medium` or `large` for predefined standard widths, `stretch` for fill available width.',\n type: ['string', 'false'],\n status: 'optional',\n },\n help: {\n doc: 'Provide a help button. Object consisting of `title` and `content`.',\n type: 'object',\n status: 'optional',\n },\n data: {\n doc: 'Data to be used for the component. The object needs to have a `value` and a `title` property. Provide the Dropdown or Autocomplete data in the format documented here: [Dropdown](/uilib/components/dropdown) and [Autocomplete](/uilib/components/autocomplete) documentation.',\n type: 'array',\n status: 'optional',\n },\n dataPath: {\n doc: 'The path to the context data (Form.Handler). The object needs to have a `value` and a `title` property. The generated options will be placed above given JSX based children.',\n type: 'string',\n status: 'optional',\n },\n autocompleteProps: {\n doc: 'Forward any additional props (camelCase) to the [Autocomplete](/uilib/components/autocomplete/) component.',\n type: 'object',\n status: 'optional',\n },\n dropdownProps: {\n doc: 'Forward any additional props (camelCase) to the [Dropdown](/uilib/components/dropdown/) component.',\n type: 'object',\n status: 'optional',\n },\n children: {\n doc: 'For providing Option components.',\n type: 'React.Node',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,mBAAyC,GAAG;EACvDC,OAAO,EAAE;IACPC,GAAG,EAAE,gFAAgF;IACrFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,aAAa,EAAE;IACbH,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,KAAK,EAAE;IACLJ,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDG,IAAI,EAAE;IACJL,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACJN,GAAG,EAAE,iRAAiR;IACtRC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE;EACV,CAAC;EACDK,QAAQ,EAAE;IACRP,GAAG,EAAE,8KAA8K;IACnLC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,iBAAiB,EAAE;IACjBR,GAAG,EAAE,4GAA4G;IACjHC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,aAAa,EAAE;IACbT,GAAG,EAAE,oGAAoG;IACzGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,QAAQ,EAAE;IACRV,GAAG,EAAE,kCAAkC;IACvCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAS,OAAA,CAAAb,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"file":"SelectionDocs.js","names":["SelectionProperties","variant","doc","type","status","value","optionsLayout","width","help","data","dataPath","autocompleteProps","dropdownProps","children","exports"],"sources":["../../../../../../src/extensions/forms/Field/Selection/SelectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const SelectionProperties: PropertiesTableProps = {\n variant: {\n doc: 'Choice of UI feature. Can be: `dropdown`, `autocomplete`, `radio` or `button`.',\n type: 'string',\n status: 'optional',\n },\n value: {\n doc: 'Defines the `value`. When using variant `radio` or `button`, value has to be a `string`.',\n type: ['number', 'string'],\n status: 'optional',\n },\n optionsLayout: {\n doc: 'Layout for the list of options. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`small`, `medium` or `large` for predefined standard widths, `stretch` for fill available width.',\n type: ['string', 'false'],\n status: 'optional',\n },\n help: {\n doc: 'Provide a help button. Object consisting of `title` and `content`.',\n type: 'object',\n status: 'optional',\n },\n data: {\n doc: 'Data to be used for the component. The object needs to have a `value` and a `title` property. Provide the Dropdown or Autocomplete data in the format documented here: [Dropdown](/uilib/components/dropdown) and [Autocomplete](/uilib/components/autocomplete) documentation.',\n type: 'array',\n status: 'optional',\n },\n dataPath: {\n doc: 'The path to the context data (Form.Handler). The context data object needs to have a `value` and a `title` property. The generated options will be placed above given JSX based children.',\n type: 'string',\n status: 'optional',\n },\n autocompleteProps: {\n doc: 'Forward any additional props (camelCase) to the [Autocomplete](/uilib/components/autocomplete/) component.',\n type: 'object',\n status: 'optional',\n },\n dropdownProps: {\n doc: 'Forward any additional props (camelCase) to the [Dropdown](/uilib/components/dropdown/) component.',\n type: 'object',\n status: 'optional',\n },\n children: {\n doc: 'For providing Option components.',\n type: 'React.Node',\n status: 'optional',\n },\n}\n"],"mappings":";;;;;;AAEO,MAAMA,mBAAyC,GAAG;EACvDC,OAAO,EAAE;IACPC,GAAG,EAAE,gFAAgF;IACrFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,0FAA0F;IAC/FC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDE,aAAa,EAAE;IACbJ,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,KAAK,EAAE;IACLL,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACJN,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,iRAAiR;IACtRC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,2LAA2L;IAChMC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,iBAAiB,EAAE;IACjBT,GAAG,EAAE,4GAA4G;IACjHC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,aAAa,EAAE;IACbV,GAAG,EAAE,oGAAoG;IACzGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDS,QAAQ,EAAE;IACRX,GAAG,EAAE,kCAAkC;IACvCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAU,OAAA,CAAAd,mBAAA,GAAAA,mBAAA"}
@@ -7,4 +7,4 @@ export type Props = Omit<ElementAllProps, 'data' | 'as' | 'autoComplete'> & {
7
7
  */
8
8
  autoComplete?: boolean;
9
9
  };
10
- export default function FormHandler<Data extends JsonObject>({ children, defaultData, data, schema, ajvInstance, errorMessages, globalStatusId, filterSubmitData, filterData, transformIn, onChange, onPathChange, onSubmit, onSubmitRequest, onSubmitComplete, onClear, minimumAsyncBehaviorTime, asyncSubmitTimeout, scrollTopOnSubmit, sessionStorageId, autoComplete, locale, translations, disabled, required, ...rest }: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>): import("react/jsx-runtime").JSX.Element;
10
+ export default function FormHandler<Data extends JsonObject>({ children, defaultData, data, schema, ajvInstance, errorMessages, globalStatusId, filterSubmitData, transformIn, onChange, onPathChange, onSubmit, onSubmitRequest, onSubmitComplete, onClear, minimumAsyncBehaviorTime, asyncSubmitTimeout, scrollTopOnSubmit, sessionStorageId, autoComplete, locale, translations, disabled, required, ...rest }: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>): import("react/jsx-runtime").JSX.Element;
@@ -12,7 +12,7 @@ var _Element = _interopRequireDefault(require("../Element"));
12
12
  var _FormStatus = _interopRequireDefault(require("../../../../components/FormStatus"));
13
13
  var _useId = _interopRequireDefault(require("../../../../shared/helpers/useId"));
14
14
  var _componentHelper = require("../../../../shared/component-helper");
15
- const _excluded = ["children", "defaultData", "data", "schema", "ajvInstance", "errorMessages", "globalStatusId", "filterSubmitData", "filterData", "transformIn", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "onSubmitComplete", "onClear", "minimumAsyncBehaviorTime", "asyncSubmitTimeout", "scrollTopOnSubmit", "sessionStorageId", "autoComplete", "locale", "translations", "disabled", "required"],
15
+ const _excluded = ["children", "defaultData", "data", "schema", "ajvInstance", "errorMessages", "globalStatusId", "filterSubmitData", "transformIn", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "onSubmitComplete", "onClear", "minimumAsyncBehaviorTime", "asyncSubmitTimeout", "scrollTopOnSubmit", "sessionStorageId", "autoComplete", "locale", "translations", "disabled", "required"],
16
16
  _excluded2 = ["children"];
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -30,7 +30,6 @@ function FormHandler(_ref) {
30
30
  errorMessages,
31
31
  globalStatusId,
32
32
  filterSubmitData,
33
- filterData,
34
33
  transformIn,
35
34
  onChange,
36
35
  onPathChange,
@@ -58,7 +57,6 @@ function FormHandler(_ref) {
58
57
  errorMessages,
59
58
  globalStatusId,
60
59
  filterSubmitData,
61
- filterData,
62
60
  transformIn,
63
61
  onChange,
64
62
  onPathChange,
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","names":["_react","_interopRequireWildcard","require","_Provider","_interopRequireDefault","_Context","_Element","_FormStatus","_useId","_componentHelper","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","FormHandler","_ref","children","defaultData","data","schema","ajvInstance","errorMessages","globalStatusId","filterSubmitData","filterData","transformIn","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onClear","minimumAsyncBehaviorTime","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","autoComplete","locale","translations","disabled","required","rest","providerProps","id","createElement","FormElementWithState","_ref2","useId","submitState","useContext","DataContext","states","entries","filter","_ref3","value","combineLabelledBy","map","_ref4","undefined","state","className","show","Boolean","no_animation","shellSpace","top","bottom","String"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport { JsonObject } from 'json-pointer'\nimport DataContextProvider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport DataContext from '../../DataContext/Context'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\nimport FormStatus from '../../../../components/FormStatus'\nimport useId from '../../../../shared/helpers/useId'\nimport { combineLabelledBy } from '../../../../shared/component-helper'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n ajvInstance,\n errorMessages,\n globalStatusId,\n filterSubmitData,\n filterData,\n transformIn,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onClear,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n locale,\n translations,\n disabled,\n required,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n id: rest.id,\n defaultData,\n data,\n schema,\n ajvInstance,\n errorMessages,\n globalStatusId,\n filterSubmitData,\n filterData,\n transformIn,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onClear,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n locale,\n translations,\n disabled,\n required,\n }\n\n return (\n <DataContextProvider {...providerProps}>\n <FormElementWithState {...rest}>{children}</FormElementWithState>\n </DataContextProvider>\n )\n}\n\nfunction FormElementWithState({ children, ...rest }) {\n const id = useId()\n const { submitState } = useContext(DataContext) || {}\n const states = Object.entries(submitState || {}).filter(\n ([, value]) => value\n )\n\n return (\n <FormElement\n {...rest}\n aria-labelledby={\n combineLabelledBy(\n rest,\n states.map(([key]) => {\n return `${id}-form-status-${key}`\n })\n ) || undefined\n }\n >\n {children}\n\n {['error', 'warning', 'info'].map((key) => {\n const value = submitState?.[key]\n return (\n <FormStatus\n key={key}\n state={key}\n id={`${id}-form-status-${key}`}\n className=\"dnb-forms-status\"\n show={Boolean(value)}\n no_animation={false}\n shellSpace={{ top: 'small', bottom: 'medium' }}\n >\n {String(value?.['message'] || value || '')}\n </FormStatus>\n )\n })}\n </FormElement>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Handler.js","names":["_react","_interopRequireWildcard","require","_Provider","_interopRequireDefault","_Context","_Element","_FormStatus","_useId","_componentHelper","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","FormHandler","_ref","children","defaultData","data","schema","ajvInstance","errorMessages","globalStatusId","filterSubmitData","transformIn","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onClear","minimumAsyncBehaviorTime","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","autoComplete","locale","translations","disabled","required","rest","providerProps","id","createElement","FormElementWithState","_ref2","useId","submitState","useContext","DataContext","states","entries","filter","_ref3","value","combineLabelledBy","map","_ref4","undefined","state","className","show","Boolean","no_animation","shellSpace","top","bottom","String"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport { JsonObject } from 'json-pointer'\nimport DataContextProvider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport DataContext from '../../DataContext/Context'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\nimport FormStatus from '../../../../components/FormStatus'\nimport useId from '../../../../shared/helpers/useId'\nimport { combineLabelledBy } from '../../../../shared/component-helper'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n ajvInstance,\n errorMessages,\n globalStatusId,\n filterSubmitData,\n transformIn,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onClear,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n locale,\n translations,\n disabled,\n required,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n id: rest.id,\n defaultData,\n data,\n schema,\n ajvInstance,\n errorMessages,\n globalStatusId,\n filterSubmitData,\n transformIn,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onClear,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n locale,\n translations,\n disabled,\n required,\n }\n\n return (\n <DataContextProvider {...providerProps}>\n <FormElementWithState {...rest}>{children}</FormElementWithState>\n </DataContextProvider>\n )\n}\n\nfunction FormElementWithState({ children, ...rest }) {\n const id = useId()\n const { submitState } = useContext(DataContext) || {}\n const states = Object.entries(submitState || {}).filter(\n ([, value]) => value\n )\n\n return (\n <FormElement\n {...rest}\n aria-labelledby={\n combineLabelledBy(\n rest,\n states.map(([key]) => {\n return `${id}-form-status-${key}`\n })\n ) || undefined\n }\n >\n {children}\n\n {['error', 'warning', 'info'].map((key) => {\n const value = submitState?.[key]\n return (\n <FormStatus\n key={key}\n state={key}\n id={`${id}-form-status-${key}`}\n className=\"dnb-forms-status\"\n show={Boolean(value)}\n no_animation={false}\n shellSpace={{ top: 'small', bottom: 'medium' }}\n >\n {String(value?.['message'] || value || '')}\n </FormStatus>\n )\n })}\n </FormElement>\n )\n}\n"],"mappings":"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"}
@@ -27,7 +27,7 @@ export type IsolationProviderProps<Data> = {
27
27
  */
28
28
  isolate?: boolean;
29
29
  };
30
- export type IsolationProps<Data> = Omit<ProviderProps<Data>, 'onSubmit' | 'onSubmitRequest' | 'onSubmitComplete' | 'minimumAsyncBehaviorTime' | 'asyncSubmitTimeout' | 'scrollTopOnSubmit' | 'sessionStorageId' | 'filterSubmitData' | 'globalStatusId'> & {
30
+ export type IsolationProps<Data> = Omit<ProviderProps<Data>, 'onSubmit' | 'onSubmitRequest' | 'onSubmitComplete' | 'minimumAsyncBehaviorTime' | 'asyncSubmitTimeout' | 'scrollTopOnSubmit' | 'sessionStorageId' | 'globalStatusId'> & {
31
31
  /**
32
32
  * A ref (function) that you can call in order to commit the data programmatically to the outer context.
33
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Isolation.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_componentHelper","_useDataValue","_DataContext","_SectionContext","_IsolationCommitButton","_Provider","_structuredClone","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","IsolationProvider","props","children","onPathChange","onCommit","onCommitProp","onClear","onClearProp","transformOnCommit","transformOnCommitProp","commitHandleRef","data","defaultData","forceUpdate","useReducer","internalDataRef","useRef","localDataRef","dataContextRef","outerContext","useContext","Context","path","pathSection","SectionContext","handlePathChange","handlePathChangeOuter","dataOuter","moveValueToPath","useDataValue","onPathChangeHandler","useCallback","current","clearedData","pointer","replace","removeSectionPath","getMountedData","_dataContextRef$curre","mounterData","mountedFieldPathsRef","useEffect","useMemo","localData","assign","additionalArgs","_props$path","mountedData","outerData","isolatedData","structuredClone","extendDeep","providerProps","isolate","createElement","Provider","Consumer","dataContext","handleSubmit","CommitButton","IsolationCommitButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/Isolation.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { extendDeep } from '../../../../shared/component-helper'\nimport useDataValue from '../../hooks/useDataValue'\nimport { Context, ContextState, Provider } from '../../DataContext'\nimport SectionContext from '../Section/SectionContext'\nimport IsolationCommitButton from './IsolationCommitButton'\nimport {\n clearedData,\n type Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport type { OnCommit, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type IsolationProviderProps<Data> = {\n /**\n * Form.Isolation: Will be called when the isolated context is committed.\n */\n onCommit?: OnCommit<Data>\n /**\n * Form.Isolation: Will be called when the form is cleared via Form.clearData\n */\n onClear?: () => void\n /**\n * Form.Isolation: A function that will be called when the isolated context is committed.\n * It will receive the data from the isolated context and the data from the outer context.\n * You can use this to transform the data before it is committed.\n */\n transformOnCommit?: (isolatedData: Data, handlerData: Data) => Data\n /**\n * Used internally by the Form.Isolation component\n */\n path?: Path\n /**\n * Used internally by the Form.Isolation component\n */\n isolate?: boolean\n}\n\nexport type IsolationProps<Data> = Omit<\n ProviderProps<Data>,\n | 'onSubmit'\n | 'onSubmitRequest'\n | 'onSubmitComplete'\n | 'minimumAsyncBehaviorTime'\n | 'asyncSubmitTimeout'\n | 'scrollTopOnSubmit'\n | 'sessionStorageId'\n | 'filterSubmitData'\n | 'globalStatusId'\n> & {\n /**\n * A ref (function) that you can call in order to commit the data programmatically to the outer context.\n */\n commitHandleRef?: React.MutableRefObject<() => void>\n}\n\nfunction IsolationProvider<Data extends JsonObject>(\n props: IsolationProps<Data>\n) {\n const {\n children,\n onPathChange,\n onCommit: onCommitProp,\n onClear: onClearProp,\n transformOnCommit: transformOnCommitProp,\n commitHandleRef,\n data,\n defaultData,\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const internalDataRef = useRef<Data>()\n const localDataRef = useRef<Partial<Data>>({})\n const dataContextRef = useRef<ContextState>(null)\n const outerContext = useContext(Context)\n const { path: pathSection } = useContext(SectionContext) || {}\n const { handlePathChange: handlePathChangeOuter, data: dataOuter } =\n outerContext || {}\n const { moveValueToPath } = useDataValue()\n\n const onPathChangeHandler = useCallback(\n async (path: Path, value: unknown) => {\n if (localDataRef.current === clearedData) {\n localDataRef.current = {}\n }\n\n pointer.set(localDataRef.current, path, value)\n\n if (pathSection) {\n path = path.replace(pathSection, '')\n }\n\n return await onPathChange?.(path, value)\n },\n [onPathChange, pathSection]\n )\n\n const removeSectionPath = useCallback(\n (data: Data) => {\n return pathSection && pointer.has(data, pathSection)\n ? pointer.get(data, pathSection)\n : data\n },\n [pathSection]\n )\n\n const getMountedData = useCallback((data: Data) => {\n const mounterData = {} as Data\n dataContextRef.current?.mountedFieldPathsRef.current.forEach(\n (path) => {\n if (pointer.has(data, path)) {\n pointer.set(mounterData, path, pointer.get(data, path))\n }\n }\n )\n return mounterData\n }, [])\n\n useEffect(() => {\n localDataRef.current = getMountedData(internalDataRef.current)\n }, [getMountedData])\n\n // Update the isolated data with the outside context data\n useMemo(() => {\n if (localDataRef.current === clearedData) {\n return // stop here\n }\n\n let localData = data ?? defaultData\n\n if (\n localData &&\n pathSection &&\n !pointer.has(localDataRef.current, pathSection)\n ) {\n localData = moveValueToPath<Data>(pathSection, localData)\n }\n\n internalDataRef.current = Object.assign(\n {},\n localData || dataOuter || {},\n localDataRef.current\n )\n }, [data, defaultData, pathSection, dataOuter, moveValueToPath])\n\n const onCommit: IsolationProps<Data>['onCommit'] = useCallback(\n async (data: Data, additionalArgs) => {\n const mountedData = getMountedData(data)\n const path = props.path ?? '/'\n const outerData =\n props.path && pointer.has(dataOuter, path)\n ? pointer.get(dataOuter, path)\n : dataOuter\n\n localDataRef.current = mountedData\n let isolatedData = structuredClone(mountedData) as Data\n\n if (typeof transformOnCommitProp === 'function') {\n isolatedData = transformOnCommitProp(isolatedData, outerData)\n }\n\n // Commit the internal data to the nested context data\n handlePathChangeOuter?.(\n path,\n extendDeep({}, outerData, isolatedData)\n )\n\n return await onCommitProp?.(\n removeSectionPath(isolatedData),\n additionalArgs\n )\n },\n [\n getMountedData,\n props.path,\n dataOuter,\n transformOnCommitProp,\n handlePathChangeOuter,\n onCommitProp,\n removeSectionPath,\n ]\n )\n\n const onClear = useCallback(() => {\n localDataRef.current = clearedData\n internalDataRef.current = clearedData as Data\n forceUpdate()\n onClearProp?.()\n }, [onClearProp])\n\n const providerProps: IsolationProps<Data> = {\n ...props,\n data: internalDataRef.current,\n defaultData: undefined,\n onPathChange: onPathChangeHandler,\n onCommit,\n onClear,\n isolate: true,\n }\n\n return (\n <Provider {...providerProps}>\n <Context.Consumer>\n {(dataContext) => {\n dataContextRef.current = dataContext\n\n if (commitHandleRef) {\n commitHandleRef.current = dataContext?.handleSubmit\n }\n\n return children\n }}\n </Context.Consumer>\n </Provider>\n )\n}\n\nIsolationProvider.CommitButton = IsolationCommitButton\nIsolationProvider._supportsSpacingProps = undefined\n\nexport default IsolationProvider\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAQA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,sBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AAUA,IAAAS,gBAAA,GAAAP,sBAAA,CAAAF,OAAA;AAAqD,SAAAE,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAf,wBAAAW,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAZ,MAAA,CAAAY,IAAA,CAAAF,MAAA,OAAAV,MAAA,CAAAa,qBAAA,QAAAC,OAAA,GAAAd,MAAA,CAAAa,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhB,MAAA,CAAAE,wBAAA,CAAAQ,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAT,MAAA,CAAAyB,MAAA,OAAAC,OAAA,WAAAvB,GAAA,IAAAwB,eAAA,CAAAN,MAAA,EAAAlB,GAAA,EAAAsB,MAAA,CAAAtB,GAAA,SAAAH,MAAA,CAAA4B,yBAAA,GAAA5B,MAAA,CAAA6B,gBAAA,CAAAR,MAAA,EAAArB,MAAA,CAAA4B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAT,MAAA,CAAAyB,MAAA,GAAAC,OAAA,WAAAvB,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAoB,MAAA,EAAAlB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAuB,MAAA,EAAAtB,GAAA,iBAAAkB,MAAA;AAAA,SAAAM,gBAAAxC,GAAA,EAAAgB,GAAA,EAAA2B,KAAA,IAAA3B,GAAA,GAAA4B,cAAA,CAAA5B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA2B,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAA9C,GAAA,CAAAgB,GAAA,IAAA2B,KAAA,WAAA3C,GAAA;AAAA,SAAA4C,eAAAG,GAAA,QAAA/B,GAAA,GAAAgC,YAAA,CAAAD,GAAA,2BAAA/B,GAAA,gBAAAA,GAAA,GAAAiC,MAAA,CAAAjC,GAAA;AAAA,SAAAgC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAjC,IAAA,CAAA+B,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AA6CrD,SAASS,iBAAiBA,CACxBC,KAA2B,EAC3B;EACA,MAAM;IACJC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAEC,YAAY;IACtBC,OAAO,EAAEC,WAAW;IACpBC,iBAAiB,EAAEC,qBAAqB;IACxCC,eAAe;IACfC,IAAI;IACJC;EACF,CAAC,GAAGX,KAAK;EAET,MAAM,GAAGY,WAAW,CAAC,GAAG,IAAAC,iBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAMC,eAAe,GAAG,IAAAC,aAAM,EAAO,CAAC;EACtC,MAAMC,YAAY,GAAG,IAAAD,aAAM,EAAgB,CAAC,CAAC,CAAC;EAC9C,MAAME,cAAc,GAAG,IAAAF,aAAM,EAAe,IAAI,CAAC;EACjD,MAAMG,YAAY,GAAG,IAAAC,iBAAU,EAACC,oBAAO,CAAC;EACxC,MAAM;IAAEC,IAAI,EAAEC;EAAY,CAAC,GAAG,IAAAH,iBAAU,EAACI,uBAAc,CAAC,IAAI,CAAC,CAAC;EAC9D,MAAM;IAAEC,gBAAgB,EAAEC,qBAAqB;IAAEf,IAAI,EAAEgB;EAAU,CAAC,GAChER,YAAY,IAAI,CAAC,CAAC;EACpB,MAAM;IAAES;EAAgB,CAAC,GAAG,IAAAC,qBAAY,EAAC,CAAC;EAE1C,MAAMC,mBAAmB,GAAG,IAAAC,kBAAW,EACrC,OAAOT,IAAU,EAAEtC,KAAc,KAAK;IACpC,IAAIiC,YAAY,CAACe,OAAO,KAAKC,qBAAW,EAAE;MACxChB,YAAY,CAACe,OAAO,GAAG,CAAC,CAAC;IAC3B;IAEAE,oBAAO,CAACxE,GAAG,CAACuD,YAAY,CAACe,OAAO,EAAEV,IAAI,EAAEtC,KAAK,CAAC;IAE9C,IAAIuC,WAAW,EAAE;MACfD,IAAI,GAAGA,IAAI,CAACa,OAAO,CAACZ,WAAW,EAAE,EAAE,CAAC;IACtC;IAEA,OAAO,OAAMpB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGmB,IAAI,EAAEtC,KAAK,CAAC;EAC1C,CAAC,EACD,CAACmB,YAAY,EAAEoB,WAAW,CAC5B,CAAC;EAED,MAAMa,iBAAiB,GAAG,IAAAL,kBAAW,EAClCpB,IAAU,IAAK;IACd,OAAOY,WAAW,IAAIW,oBAAO,CAACpF,GAAG,CAAC6D,IAAI,EAAEY,WAAW,CAAC,GAChDW,oBAAO,CAACnF,GAAG,CAAC4D,IAAI,EAAEY,WAAW,CAAC,GAC9BZ,IAAI;EACV,CAAC,EACD,CAACY,WAAW,CACd,CAAC;EAED,MAAMc,cAAc,GAAG,IAAAN,kBAAW,EAAEpB,IAAU,IAAK;IAAA,IAAA2B,qBAAA;IACjD,MAAMC,WAAW,GAAG,CAAC,CAAS;IAC9B,CAAAD,qBAAA,GAAApB,cAAc,CAACc,OAAO,cAAAM,qBAAA,uBAAtBA,qBAAA,CAAwBE,oBAAoB,CAACR,OAAO,CAACpD,OAAO,CACzD0C,IAAI,IAAK;MACR,IAAIY,oBAAO,CAACpF,GAAG,CAAC6D,IAAI,EAAEW,IAAI,CAAC,EAAE;QAC3BY,oBAAO,CAACxE,GAAG,CAAC6E,WAAW,EAAEjB,IAAI,EAAEY,oBAAO,CAACnF,GAAG,CAAC4D,IAAI,EAAEW,IAAI,CAAC,CAAC;MACzD;IACF,CACF,CAAC;IACD,OAAOiB,WAAW;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAE,gBAAS,EAAC,MAAM;IACdxB,YAAY,CAACe,OAAO,GAAGK,cAAc,CAACtB,eAAe,CAACiB,OAAO,CAAC;EAChE,CAAC,EAAE,CAACK,cAAc,CAAC,CAAC;EAGpB,IAAAK,cAAO,EAAC,MAAM;IACZ,IAAIzB,YAAY,CAACe,OAAO,KAAKC,qBAAW,EAAE;MACxC;IACF;IAEA,IAAIU,SAAS,GAAGhC,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIC,WAAW;IAEnC,IACE+B,SAAS,IACTpB,WAAW,IACX,CAACW,oBAAO,CAACpF,GAAG,CAACmE,YAAY,CAACe,OAAO,EAAET,WAAW,CAAC,EAC/C;MACAoB,SAAS,GAAGf,eAAe,CAAOL,WAAW,EAAEoB,SAAS,CAAC;IAC3D;IAEA5B,eAAe,CAACiB,OAAO,GAAG9E,MAAM,CAAC0F,MAAM,CACrC,CAAC,CAAC,EACFD,SAAS,IAAIhB,SAAS,IAAI,CAAC,CAAC,EAC5BV,YAAY,CAACe,OACf,CAAC;EACH,CAAC,EAAE,CAACrB,IAAI,EAAEC,WAAW,EAAEW,WAAW,EAAEI,SAAS,EAAEC,eAAe,CAAC,CAAC;EAEhE,MAAMxB,QAA0C,GAAG,IAAA2B,kBAAW,EAC5D,OAAOpB,IAAU,EAAEkC,cAAc,KAAK;IAAA,IAAAC,WAAA;IACpC,MAAMC,WAAW,GAAGV,cAAc,CAAC1B,IAAI,CAAC;IACxC,MAAMW,IAAI,IAAAwB,WAAA,GAAG7C,KAAK,CAACqB,IAAI,cAAAwB,WAAA,cAAAA,WAAA,GAAI,GAAG;IAC9B,MAAME,SAAS,GACb/C,KAAK,CAACqB,IAAI,IAAIY,oBAAO,CAACpF,GAAG,CAAC6E,SAAS,EAAEL,IAAI,CAAC,GACtCY,oBAAO,CAACnF,GAAG,CAAC4E,SAAS,EAAEL,IAAI,CAAC,GAC5BK,SAAS;IAEfV,YAAY,CAACe,OAAO,GAAGe,WAAW;IAClC,IAAIE,YAAY,GAAG,IAAAC,wBAAe,EAACH,WAAW,CAAS;IAEvD,IAAI,OAAOtC,qBAAqB,KAAK,UAAU,EAAE;MAC/CwC,YAAY,GAAGxC,qBAAqB,CAACwC,YAAY,EAAED,SAAS,CAAC;IAC/D;IAGAtB,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CACnBJ,IAAI,EACJ,IAAA6B,2BAAU,EAAC,CAAC,CAAC,EAAEH,SAAS,EAAEC,YAAY,CACxC,CAAC;IAED,OAAO,OAAM5C,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CACvB+B,iBAAiB,CAACa,YAAY,CAAC,EAC/BJ,cACF,CAAC;EACH,CAAC,EACD,CACER,cAAc,EACdpC,KAAK,CAACqB,IAAI,EACVK,SAAS,EACTlB,qBAAqB,EACrBiB,qBAAqB,EACrBrB,YAAY,EACZ+B,iBAAiB,CAErB,CAAC;EAED,MAAM9B,OAAO,GAAG,IAAAyB,kBAAW,EAAC,MAAM;IAChCd,YAAY,CAACe,OAAO,GAAGC,qBAAW;IAClClB,eAAe,CAACiB,OAAO,GAAGC,qBAAmB;IAC7CpB,WAAW,CAAC,CAAC;IACbN,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAG,CAAC;EACjB,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,MAAM6C,aAAmC,GAAA9E,aAAA,CAAAA,aAAA,KACpC2B,KAAK;IACRU,IAAI,EAAEI,eAAe,CAACiB,OAAO;IAC7BpB,WAAW,EAAEhB,SAAS;IACtBO,YAAY,EAAE2B,mBAAmB;IACjC1B,QAAQ;IACRE,OAAO;IACP+C,OAAO,EAAE;EAAI,EACd;EAED,OACE5H,MAAA,CAAAc,OAAA,CAAA+G,aAAA,CAACtH,YAAA,CAAAuH,QAAQ,EAAKH,aAAa,EACzB3H,MAAA,CAAAc,OAAA,CAAA+G,aAAA,CAACtH,YAAA,CAAAqF,OAAO,CAACmC,QAAQ,QACbC,WAAW,IAAK;IAChBvC,cAAc,CAACc,OAAO,GAAGyB,WAAW;IAEpC,IAAI/C,eAAe,EAAE;MACnBA,eAAe,CAACsB,OAAO,GAAGyB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEC,YAAY;IACrD;IAEA,OAAOxD,QAAQ;EACjB,CACgB,CACV,CAAC;AAEf;AAEAF,iBAAiB,CAAC2D,YAAY,GAAGC,8BAAqB;AACtD5D,iBAAiB,CAAC6D,qBAAqB,GAAGjE,SAAS;AAAA,IAAAkE,QAAA,GAEpC9D,iBAAiB;AAAA+D,OAAA,CAAAxH,OAAA,GAAAuH,QAAA"}
1
+ {"version":3,"file":"Isolation.js","names":["_react","_interopRequireWildcard","require","_jsonPointer","_interopRequireDefault","_componentHelper","_useDataValue","_DataContext","_SectionContext","_IsolationCommitButton","_Provider","_structuredClone","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","IsolationProvider","props","children","onPathChange","onCommit","onCommitProp","onClear","onClearProp","transformOnCommit","transformOnCommitProp","commitHandleRef","data","defaultData","forceUpdate","useReducer","internalDataRef","useRef","localDataRef","dataContextRef","outerContext","useContext","Context","path","pathSection","SectionContext","handlePathChange","handlePathChangeOuter","dataOuter","moveValueToPath","useDataValue","onPathChangeHandler","useCallback","current","clearedData","pointer","replace","removeSectionPath","getMountedData","_dataContextRef$curre","mounterData","mountedFieldPathsRef","useEffect","useMemo","localData","assign","additionalArgs","_props$path","mountedData","outerData","isolatedData","structuredClone","extendDeep","providerProps","isolate","createElement","Provider","Consumer","dataContext","handleSubmit","CommitButton","IsolationCommitButton","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/Isolation.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { extendDeep } from '../../../../shared/component-helper'\nimport useDataValue from '../../hooks/useDataValue'\nimport { Context, ContextState, Provider } from '../../DataContext'\nimport SectionContext from '../Section/SectionContext'\nimport IsolationCommitButton from './IsolationCommitButton'\nimport {\n clearedData,\n type Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport type { OnCommit, Path } from '../../types'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type IsolationProviderProps<Data> = {\n /**\n * Form.Isolation: Will be called when the isolated context is committed.\n */\n onCommit?: OnCommit<Data>\n /**\n * Form.Isolation: Will be called when the form is cleared via Form.clearData\n */\n onClear?: () => void\n /**\n * Form.Isolation: A function that will be called when the isolated context is committed.\n * It will receive the data from the isolated context and the data from the outer context.\n * You can use this to transform the data before it is committed.\n */\n transformOnCommit?: (isolatedData: Data, handlerData: Data) => Data\n /**\n * Used internally by the Form.Isolation component\n */\n path?: Path\n /**\n * Used internally by the Form.Isolation component\n */\n isolate?: boolean\n}\n\nexport type IsolationProps<Data> = Omit<\n ProviderProps<Data>,\n | 'onSubmit'\n | 'onSubmitRequest'\n | 'onSubmitComplete'\n | 'minimumAsyncBehaviorTime'\n | 'asyncSubmitTimeout'\n | 'scrollTopOnSubmit'\n | 'sessionStorageId'\n | 'globalStatusId'\n> & {\n /**\n * A ref (function) that you can call in order to commit the data programmatically to the outer context.\n */\n commitHandleRef?: React.MutableRefObject<() => void>\n}\n\nfunction IsolationProvider<Data extends JsonObject>(\n props: IsolationProps<Data>\n) {\n const {\n children,\n onPathChange,\n onCommit: onCommitProp,\n onClear: onClearProp,\n transformOnCommit: transformOnCommitProp,\n commitHandleRef,\n data,\n defaultData,\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n const internalDataRef = useRef<Data>()\n const localDataRef = useRef<Partial<Data>>({})\n const dataContextRef = useRef<ContextState>(null)\n const outerContext = useContext(Context)\n const { path: pathSection } = useContext(SectionContext) || {}\n const { handlePathChange: handlePathChangeOuter, data: dataOuter } =\n outerContext || {}\n const { moveValueToPath } = useDataValue()\n\n const onPathChangeHandler = useCallback(\n async (path: Path, value: unknown) => {\n if (localDataRef.current === clearedData) {\n localDataRef.current = {}\n }\n\n pointer.set(localDataRef.current, path, value)\n\n if (pathSection) {\n path = path.replace(pathSection, '')\n }\n\n return await onPathChange?.(path, value)\n },\n [onPathChange, pathSection]\n )\n\n const removeSectionPath = useCallback(\n (data: Data) => {\n return pathSection && pointer.has(data, pathSection)\n ? pointer.get(data, pathSection)\n : data\n },\n [pathSection]\n )\n\n const getMountedData = useCallback((data: Data) => {\n const mounterData = {} as Data\n dataContextRef.current?.mountedFieldPathsRef.current.forEach(\n (path) => {\n if (pointer.has(data, path)) {\n pointer.set(mounterData, path, pointer.get(data, path))\n }\n }\n )\n return mounterData\n }, [])\n\n useEffect(() => {\n localDataRef.current = getMountedData(internalDataRef.current)\n }, [getMountedData])\n\n // Update the isolated data with the outside context data\n useMemo(() => {\n if (localDataRef.current === clearedData) {\n return // stop here\n }\n\n let localData = data ?? defaultData\n\n if (\n localData &&\n pathSection &&\n !pointer.has(localDataRef.current, pathSection)\n ) {\n localData = moveValueToPath<Data>(pathSection, localData)\n }\n\n internalDataRef.current = Object.assign(\n {},\n localData || dataOuter || {},\n localDataRef.current\n )\n }, [data, defaultData, pathSection, dataOuter, moveValueToPath])\n\n const onCommit: IsolationProps<Data>['onCommit'] = useCallback(\n async (data: Data, additionalArgs) => {\n const mountedData = getMountedData(data)\n const path = props.path ?? '/'\n const outerData =\n props.path && pointer.has(dataOuter, path)\n ? pointer.get(dataOuter, path)\n : dataOuter\n\n localDataRef.current = mountedData\n let isolatedData = structuredClone(mountedData) as Data\n\n if (typeof transformOnCommitProp === 'function') {\n isolatedData = transformOnCommitProp(isolatedData, outerData)\n }\n\n // Commit the internal data to the nested context data\n handlePathChangeOuter?.(\n path,\n extendDeep({}, outerData, isolatedData)\n )\n\n return await onCommitProp?.(\n removeSectionPath(isolatedData),\n additionalArgs\n )\n },\n [\n getMountedData,\n props.path,\n dataOuter,\n transformOnCommitProp,\n handlePathChangeOuter,\n onCommitProp,\n removeSectionPath,\n ]\n )\n\n const onClear = useCallback(() => {\n localDataRef.current = clearedData\n internalDataRef.current = clearedData as Data\n forceUpdate()\n onClearProp?.()\n }, [onClearProp])\n\n const providerProps: IsolationProps<Data> = {\n ...props,\n data: internalDataRef.current,\n defaultData: undefined,\n onPathChange: onPathChangeHandler,\n onCommit,\n onClear,\n isolate: true,\n }\n\n return (\n <Provider {...providerProps}>\n <Context.Consumer>\n {(dataContext) => {\n dataContextRef.current = dataContext\n\n if (commitHandleRef) {\n commitHandleRef.current = dataContext?.handleSubmit\n }\n\n return children\n }}\n </Context.Consumer>\n </Provider>\n )\n}\n\nIsolationProvider.CommitButton = IsolationCommitButton\nIsolationProvider._supportsSpacingProps = undefined\n\nexport default IsolationProvider\n"],"mappings":"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"}
@@ -31,7 +31,6 @@ const IsolationProperties = _objectSpread(_objectSpread({
31
31
  asyncSubmitTimeout: undefined,
32
32
  scrollTopOnSubmit: undefined,
33
33
  sessionStorageId: undefined,
34
- filterSubmitData: undefined,
35
34
  globalStatusId: undefined
36
35
  });
37
36
  exports.IsolationProperties = IsolationProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"IsolationDocs.js","names":["_ProviderDocs","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","IsolationProperties","path","doc","type","status","transformOnCommit","commitHandleRef","ProviderProperties","minimumAsyncBehaviorTime","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","filterSubmitData","globalStatusId","exports","IsolationEvents","onCommit","ProviderEvents","onSubmit","onSubmitRequest","onSubmitComplete"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/IsolationDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport {\n ProviderEvents,\n ProviderProperties,\n} from '../../DataContext/Provider/ProviderDocs'\n\nexport const IsolationProperties: PropertiesTableProps = {\n path: {\n doc: 'JSON Pointer to define the object key for all the generated nested field data.',\n type: 'string',\n status: 'optional',\n },\n transformOnCommit: {\n doc: 'Transform the data before it gets committed to the form. The first parameter is the isolated data object. The second parameter is the outer context data object (Form.Handler).',\n type: 'function',\n status: 'optional',\n },\n commitHandleRef: {\n doc: 'Provide a ref to a function that can be called from any location to commit the data to the form.',\n type: 'React.Ref',\n status: 'optional',\n },\n ...ProviderProperties,\n minimumAsyncBehaviorTime: undefined,\n asyncSubmitTimeout: undefined,\n scrollTopOnSubmit: undefined,\n sessionStorageId: undefined,\n filterSubmitData: undefined,\n globalStatusId: undefined,\n}\n\nexport const IsolationEvents: PropertiesTableProps = {\n onCommit: {\n doc: 'Will be called on a nested form context commit – if validation has passed. The first parameter is the committed data object. The second parameter is an object containing a method to clear the internal data `{ clearData }`.',\n type: 'function',\n status: 'optional',\n },\n ...ProviderEvents,\n onSubmit: undefined,\n onSubmitRequest: undefined,\n onSubmitComplete: undefined,\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"IsolationDocs.js","names":["_ProviderDocs","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","IsolationProperties","path","doc","type","status","transformOnCommit","commitHandleRef","ProviderProperties","minimumAsyncBehaviorTime","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","globalStatusId","exports","IsolationEvents","onCommit","ProviderEvents","onSubmit","onSubmitRequest","onSubmitComplete"],"sources":["../../../../../../src/extensions/forms/Form/Isolation/IsolationDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport {\n ProviderEvents,\n ProviderProperties,\n} from '../../DataContext/Provider/ProviderDocs'\n\nexport const IsolationProperties: PropertiesTableProps = {\n path: {\n doc: 'JSON Pointer to define the object key for all the generated nested field data.',\n type: 'string',\n status: 'optional',\n },\n transformOnCommit: {\n doc: 'Transform the data before it gets committed to the form. The first parameter is the isolated data object. The second parameter is the outer context data object (Form.Handler).',\n type: 'function',\n status: 'optional',\n },\n commitHandleRef: {\n doc: 'Provide a ref to a function that can be called from any location to commit the data to the form.',\n type: 'React.Ref',\n status: 'optional',\n },\n ...ProviderProperties,\n minimumAsyncBehaviorTime: undefined,\n asyncSubmitTimeout: undefined,\n scrollTopOnSubmit: undefined,\n sessionStorageId: undefined,\n globalStatusId: undefined,\n}\n\nexport const IsolationEvents: PropertiesTableProps = {\n onCommit: {\n doc: 'Will be called on a nested form context commit – if validation has passed. The first parameter is the committed data object. The second parameter is an object containing a method to clear the internal data `{ clearData }`.',\n type: 'function',\n status: 'optional',\n },\n ...ProviderEvents,\n onSubmit: undefined,\n onSubmitRequest: undefined,\n onSubmitComplete: undefined,\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Section.js","names":["_react","_interopRequireWildcard","require","_SectionContext","_interopRequireDefault","_Context","_Provider","_FieldProps","_SectionContainerProvider","_ViewContainer","_EditContainer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","SectionComponent","props","_path$startsWith","_nestedProps$overwrit","path","overwriteProps","translations","required","data","defaultData","containerMode","onChange","errorPrioritization","children","startsWith","Error","hasContext","addOnChangeHandler","useContext","DataContext","nestedPath","nestedProps","SectionContext","handleChange","useCallback","_len","args","Array","_key","identifier","useMemo","fieldProps","createElement","Provider","substring","ViewContainer","EditContainer","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Section/Section.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport SectionContext, { SectionContextState } from './SectionContext'\nimport DataContext from '../../DataContext/Context'\nimport Provider from '../../DataContext/Provider/Provider'\nimport FieldPropsProvider from '../FieldProps'\nimport SectionContainerProvider from './containers/SectionContainerProvider'\nimport ViewContainer from './ViewContainer'\nimport EditContainer from './EditContainer'\n\nimport type { Props as DataContextProps } from '../../DataContext/Provider'\nimport type { ContainerMode } from './containers/SectionContainer'\nimport type {\n FieldBlockProps,\n Path,\n FieldProps,\n OnChange,\n} from '../../types'\n\nexport type OverwritePropsDefaults = {\n [key: Path]: (FieldProps & FieldBlockProps) | OverwritePropsDefaults\n}\nexport type SectionProps<overwriteProps = OverwritePropsDefaults> = {\n /**\n * Path to the section.\n * When defined, fields inside the section will get this path as a prefix of their own path.\n */\n path?: Path\n\n /**\n * Overwrite field props for the section.\n */\n overwriteProps?: overwriteProps | OverwritePropsDefaults\n\n /**\n * Makes all fields inside it required.\n */\n required?: boolean\n\n /**\n * Defines the container mode. Can be `view` or `edit`.\n * Defaults to `view`.\n */\n containerMode?: ContainerMode\n\n /**\n * Only for internal use and undocumented for now.\n * Prioritize error techniques for the section.\n * Can be `fieldSchema`, `sectionSchema` or `contextSchema.\n */\n errorPrioritization?: SectionContextState['errorPrioritization']\n} & Pick<\n DataContextProps<unknown>,\n 'data' | 'defaultData' | 'onChange' | 'translations'\n>\n\nexport type LocalProps = SectionProps & {\n children: React.ReactNode\n}\n\nfunction SectionComponent(props: LocalProps) {\n const {\n path,\n overwriteProps,\n translations,\n required,\n data,\n defaultData,\n containerMode = 'view',\n onChange,\n errorPrioritization = ['contextSchema'],\n children,\n } = props\n\n if (path && !path.startsWith?.('/')) {\n throw new Error(`path=\"${path}\" must start with a slash`)\n }\n\n const { hasContext, addOnChangeHandler } = useContext(DataContext)\n\n const { path: nestedPath, props: nestedProps } =\n useContext(SectionContext) || {}\n\n const handleChange = useCallback<OnChange<unknown>>(\n (...args) => onChange?.(...args),\n [onChange]\n )\n addOnChangeHandler?.(handleChange)\n\n const identifier = useMemo(() => {\n return `${nestedPath && nestedPath !== '/' ? nestedPath : ''}${\n path || ''\n }`\n }, [path, nestedPath])\n const fieldProps = required ? { required: true } : undefined\n\n if (!hasContext) {\n return (\n <Provider data={data} defaultData={defaultData}>\n <SectionComponent {...props} />\n </Provider>\n )\n }\n\n return (\n <SectionContext.Provider\n value={{\n path: identifier,\n errorPrioritization,\n props,\n }}\n >\n <SectionContainerProvider containerMode={containerMode}>\n <FieldPropsProvider\n overwriteProps={{\n ...overwriteProps,\n ...(nestedProps?.overwriteProps?.[\n path.substring(1)\n ] as OverwritePropsDefaults),\n }}\n translations={translations}\n {...fieldProps}\n >\n {children}\n </FieldPropsProvider>\n </SectionContainerProvider>\n </SectionContext.Provider>\n )\n}\n\nSectionComponent.ViewContainer = ViewContainer\nSectionComponent.EditContainer = EditContainer\n\nSectionComponent._supportsSpacingProps = undefined\nexport default SectionComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"Section.js","names":["_react","_interopRequireWildcard","require","_SectionContext","_interopRequireDefault","_Context","_Provider","_FieldProps","_SectionContainerProvider","_ViewContainer","_EditContainer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","SectionComponent","props","_path$startsWith","_nestedProps$overwrit","path","overwriteProps","translations","required","data","defaultData","containerMode","onChange","errorPrioritization","children","startsWith","Error","hasContext","addOnChangeHandler","useContext","DataContext","nestedPath","nestedProps","SectionContext","handleChange","useCallback","_len","args","Array","_key","identifier","useMemo","fieldProps","createElement","Provider","substring","ViewContainer","EditContainer","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Section/Section.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport SectionContext, { SectionContextState } from './SectionContext'\nimport DataContext from '../../DataContext/Context'\nimport Provider from '../../DataContext/Provider/Provider'\nimport FieldPropsProvider from '../FieldProps'\nimport SectionContainerProvider from './containers/SectionContainerProvider'\nimport ViewContainer from './ViewContainer'\nimport EditContainer from './EditContainer'\n\nimport type { Props as DataContextProps } from '../../DataContext/Provider'\nimport type { ContainerMode } from './containers/SectionContainer'\nimport type {\n FieldBlockProps,\n Path,\n FieldProps,\n OnChange,\n} from '../../types'\n\nexport type OverwritePropsDefaults = {\n [key: Path]: (FieldProps & FieldBlockProps) | OverwritePropsDefaults\n}\nexport type SectionProps<overwriteProps = OverwritePropsDefaults> = {\n /**\n * Path to the section.\n * When defined, fields inside the section will get this path as a prefix of their own path.\n */\n path?: Path\n\n /**\n * Overwrite field props for the section.\n */\n overwriteProps?: overwriteProps | OverwritePropsDefaults\n\n /**\n * Makes all fields inside it required.\n */\n required?: boolean\n\n /**\n * Defines the container mode. Can be `view` or `edit`.\n * Defaults to `view`.\n */\n containerMode?: ContainerMode\n\n /**\n * Only for internal use and undocumented for now.\n * Prioritize error techniques for the section.\n * Can be `fieldSchema`, `sectionSchema` or `contextSchema.\n */\n errorPrioritization?: SectionContextState['errorPrioritization']\n} & Pick<\n DataContextProps<unknown>,\n 'data' | 'defaultData' | 'onChange' | 'translations'\n>\n\nexport type LocalProps = SectionProps & {\n children: React.ReactNode\n}\n\nfunction SectionComponent(props: LocalProps) {\n const {\n path,\n overwriteProps,\n translations,\n required,\n data,\n defaultData,\n containerMode = 'view',\n onChange,\n errorPrioritization = ['contextSchema'],\n children,\n } = props\n\n if (path && !path.startsWith?.('/')) {\n throw new Error(`path=\"${path}\" must start with a slash`)\n }\n\n const { hasContext, addOnChangeHandler } = useContext(DataContext)\n\n const { path: nestedPath, props: nestedProps } =\n useContext(SectionContext) || {}\n\n const handleChange = useCallback<OnChange>(\n (...args) => onChange?.(...args),\n [onChange]\n )\n addOnChangeHandler?.(handleChange)\n\n const identifier = useMemo(() => {\n return `${nestedPath && nestedPath !== '/' ? nestedPath : ''}${\n path || ''\n }`\n }, [path, nestedPath])\n const fieldProps = required ? { required: true } : undefined\n\n if (!hasContext) {\n return (\n <Provider data={data} defaultData={defaultData}>\n <SectionComponent {...props} />\n </Provider>\n )\n }\n\n return (\n <SectionContext.Provider\n value={{\n path: identifier,\n errorPrioritization,\n props,\n }}\n >\n <SectionContainerProvider containerMode={containerMode}>\n <FieldPropsProvider\n overwriteProps={{\n ...overwriteProps,\n ...(nestedProps?.overwriteProps?.[\n path.substring(1)\n ] as OverwritePropsDefaults),\n }}\n translations={translations}\n {...fieldProps}\n >\n {children}\n </FieldPropsProvider>\n </SectionContainerProvider>\n </SectionContext.Provider>\n )\n}\n\nSectionComponent.ViewContainer = ViewContainer\nSectionComponent.EditContainer = EditContainer\n\nSectionComponent._supportsSpacingProps = undefined\nexport default SectionComponent\n"],"mappings":"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"}
@@ -18,19 +18,21 @@ function useData() {
18
18
  const sharedAttachmentsRef = (0, _react.useRef)(null);
19
19
  const [, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
20
20
  sharedDataRef.current = (0, _useSharedState.useSharedState)(id, initialData, forceUpdate);
21
+ sharedAttachmentsRef.current = (0, _useSharedState.useSharedState)(id + '-attachments', {
22
+ rerenderUseDataHook: forceUpdate
23
+ });
21
24
  const context = (0, _react.useContext)(_Context.default);
22
25
  if (!id) {
23
- if (context !== null && context !== void 0 && context.data) {
24
- sharedDataRef.current.data = context.data;
25
- } else if (!(context !== null && context !== void 0 && context.hasContext)) {
26
+ if (!(context !== null && context !== void 0 && context.hasContext)) {
26
27
  throw new Error('useData needs to run inside DataContext (Form.Handler) or have a valid id');
27
28
  }
29
+ if (context) {
30
+ sharedDataRef.current.data = context.data;
31
+ sharedAttachmentsRef.current.data.filterDataHandler = context.filterDataHandler;
32
+ }
28
33
  }
29
34
  const updateDataValue = context === null || context === void 0 ? void 0 : context.updateDataValue;
30
35
  const setData = context === null || context === void 0 ? void 0 : context.setData;
31
- sharedAttachmentsRef.current = (0, _useSharedState.useSharedState)(id + '-attachments', {
32
- rerenderUseDataHook: forceUpdate
33
- });
34
36
  const setHandler = (0, _react.useCallback)(newData => {
35
37
  if (id) {
36
38
  sharedDataRef.current.update(newData);
@@ -80,6 +82,6 @@ function useData() {
80
82
  set: setHandler,
81
83
  getValue,
82
84
  filterData
83
- }), [data, filterData, getValue, setHandler, updateHandler]);
85
+ }), [data, getValue, setHandler, updateHandler, filterData]);
84
86
  }
85
87
  //# sourceMappingURL=useData.js.map