@dnb/eufemia 10.57.0 → 10.58.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 (826) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/assets/flags/1x1/ad.svg +148 -0
  3. package/assets/flags/1x1/ae.svg +6 -0
  4. package/assets/flags/1x1/af.svg +81 -0
  5. package/assets/flags/1x1/ag.svg +14 -0
  6. package/assets/flags/1x1/ai.svg +29 -0
  7. package/assets/flags/1x1/al.svg +5 -0
  8. package/assets/flags/1x1/am.svg +5 -0
  9. package/assets/flags/1x1/ao.svg +13 -0
  10. package/assets/flags/1x1/aq.svg +5 -0
  11. package/assets/flags/1x1/ar.svg +32 -0
  12. package/assets/flags/1x1/arab.svg +109 -0
  13. package/assets/flags/1x1/as.svg +73 -0
  14. package/assets/flags/1x1/at.svg +4 -0
  15. package/assets/flags/1x1/au.svg +8 -0
  16. package/assets/flags/1x1/aw.svg +186 -0
  17. package/assets/flags/1x1/ax.svg +18 -0
  18. package/assets/flags/1x1/az.svg +8 -0
  19. package/assets/flags/1x1/ba.svg +12 -0
  20. package/assets/flags/1x1/bb.svg +6 -0
  21. package/assets/flags/1x1/bd.svg +4 -0
  22. package/assets/flags/1x1/be.svg +7 -0
  23. package/assets/flags/1x1/bf.svg +7 -0
  24. package/assets/flags/1x1/bg.svg +5 -0
  25. package/assets/flags/1x1/bh.svg +4 -0
  26. package/assets/flags/1x1/bi.svg +15 -0
  27. package/assets/flags/1x1/bj.svg +14 -0
  28. package/assets/flags/1x1/bl.svg +7 -0
  29. package/assets/flags/1x1/bm.svg +97 -0
  30. package/assets/flags/1x1/bn.svg +36 -0
  31. package/assets/flags/1x1/bo.svg +674 -0
  32. package/assets/flags/1x1/bq.svg +5 -0
  33. package/assets/flags/1x1/br.svg +45 -0
  34. package/assets/flags/1x1/bs.svg +13 -0
  35. package/assets/flags/1x1/bt.svg +89 -0
  36. package/assets/flags/1x1/bv.svg +13 -0
  37. package/assets/flags/1x1/bw.svg +7 -0
  38. package/assets/flags/1x1/by.svg +18 -0
  39. package/assets/flags/1x1/bz.svg +145 -0
  40. package/assets/flags/1x1/ca.svg +4 -0
  41. package/assets/flags/1x1/cc.svg +19 -0
  42. package/assets/flags/1x1/cd.svg +12 -0
  43. package/assets/flags/1x1/cefta.svg +13 -0
  44. package/assets/flags/1x1/cf.svg +15 -0
  45. package/assets/flags/1x1/cg.svg +12 -0
  46. package/assets/flags/1x1/ch.svg +9 -0
  47. package/assets/flags/1x1/ci.svg +7 -0
  48. package/assets/flags/1x1/ck.svg +9 -0
  49. package/assets/flags/1x1/cl.svg +13 -0
  50. package/assets/flags/1x1/cm.svg +15 -0
  51. package/assets/flags/1x1/cn.svg +11 -0
  52. package/assets/flags/1x1/co.svg +7 -0
  53. package/assets/flags/1x1/cp.svg +7 -0
  54. package/assets/flags/1x1/cr.svg +7 -0
  55. package/assets/flags/1x1/cu.svg +13 -0
  56. package/assets/flags/1x1/cv.svg +13 -0
  57. package/assets/flags/1x1/cw.svg +14 -0
  58. package/assets/flags/1x1/cx.svg +15 -0
  59. package/assets/flags/1x1/cy.svg +6 -0
  60. package/assets/flags/1x1/cz.svg +5 -0
  61. package/assets/flags/1x1/de.svg +5 -0
  62. package/assets/flags/1x1/dg.svg +130 -0
  63. package/assets/flags/1x1/dj.svg +13 -0
  64. package/assets/flags/1x1/dk.svg +5 -0
  65. package/assets/flags/1x1/dm.svg +152 -0
  66. package/assets/flags/1x1/do.svg +123 -0
  67. package/assets/flags/1x1/dz.svg +5 -0
  68. package/assets/flags/1x1/eac.svg +48 -0
  69. package/assets/flags/1x1/ec.svg +138 -0
  70. package/assets/flags/1x1/ee.svg +5 -0
  71. package/assets/flags/1x1/eg.svg +38 -0
  72. package/assets/flags/1x1/eh.svg +11 -0
  73. package/assets/flags/1x1/er.svg +13 -0
  74. package/assets/flags/1x1/es-ct.svg +4 -0
  75. package/assets/flags/1x1/es-ga.svg +187 -0
  76. package/assets/flags/1x1/es-pv.svg +5 -0
  77. package/assets/flags/1x1/es.svg +547 -0
  78. package/assets/flags/1x1/et.svg +14 -0
  79. package/assets/flags/1x1/eu.svg +28 -0
  80. package/assets/flags/1x1/fi.svg +5 -0
  81. package/assets/flags/1x1/fj.svg +123 -0
  82. package/assets/flags/1x1/fk.svg +89 -0
  83. package/assets/flags/1x1/fm.svg +11 -0
  84. package/assets/flags/1x1/fo.svg +12 -0
  85. package/assets/flags/1x1/fr.svg +5 -0
  86. package/assets/flags/1x1/ga.svg +7 -0
  87. package/assets/flags/1x1/gb-eng.svg +5 -0
  88. package/assets/flags/1x1/gb-nir.svg +131 -0
  89. package/assets/flags/1x1/gb-sct.svg +4 -0
  90. package/assets/flags/1x1/gb-wls.svg +9 -0
  91. package/assets/flags/1x1/gb.svg +7 -0
  92. package/assets/flags/1x1/gd.svg +27 -0
  93. package/assets/flags/1x1/ge.svg +6 -0
  94. package/assets/flags/1x1/gf.svg +5 -0
  95. package/assets/flags/1x1/gg.svg +9 -0
  96. package/assets/flags/1x1/gh.svg +6 -0
  97. package/assets/flags/1x1/gi.svg +32 -0
  98. package/assets/flags/1x1/gl.svg +4 -0
  99. package/assets/flags/1x1/gm.svg +9 -0
  100. package/assets/flags/1x1/gn.svg +7 -0
  101. package/assets/flags/1x1/gp.svg +5 -0
  102. package/assets/flags/1x1/gq.svg +23 -0
  103. package/assets/flags/1x1/gr.svg +16 -0
  104. package/assets/flags/1x1/gs.svg +132 -0
  105. package/assets/flags/1x1/gt.svg +204 -0
  106. package/assets/flags/1x1/gu.svg +23 -0
  107. package/assets/flags/1x1/gw.svg +15 -0
  108. package/assets/flags/1x1/gy.svg +9 -0
  109. package/assets/flags/1x1/hk.svg +8 -0
  110. package/assets/flags/1x1/hm.svg +8 -0
  111. package/assets/flags/1x1/hn.svg +18 -0
  112. package/assets/flags/1x1/hr.svg +56 -0
  113. package/assets/flags/1x1/ht.svg +116 -0
  114. package/assets/flags/1x1/hu.svg +7 -0
  115. package/assets/flags/1x1/ic.svg +7 -0
  116. package/assets/flags/1x1/id.svg +4 -0
  117. package/assets/flags/1x1/ie.svg +7 -0
  118. package/assets/flags/1x1/il.svg +14 -0
  119. package/assets/flags/1x1/im.svg +36 -0
  120. package/assets/flags/1x1/in.svg +25 -0
  121. package/assets/flags/1x1/io.svg +130 -0
  122. package/assets/flags/1x1/iq.svg +10 -0
  123. package/assets/flags/1x1/ir.svg +219 -0
  124. package/assets/flags/1x1/is.svg +12 -0
  125. package/assets/flags/1x1/it.svg +7 -0
  126. package/assets/flags/1x1/je.svg +62 -0
  127. package/assets/flags/1x1/jm.svg +8 -0
  128. package/assets/flags/1x1/jo.svg +16 -0
  129. package/assets/flags/1x1/jp.svg +11 -0
  130. package/assets/flags/1x1/ke.svg +23 -0
  131. package/assets/flags/1x1/kg.svg +15 -0
  132. package/assets/flags/1x1/kh.svg +61 -0
  133. package/assets/flags/1x1/ki.svg +36 -0
  134. package/assets/flags/1x1/km.svg +16 -0
  135. package/assets/flags/1x1/kn.svg +14 -0
  136. package/assets/flags/1x1/kp.svg +15 -0
  137. package/assets/flags/1x1/kr.svg +17 -0
  138. package/assets/flags/1x1/kw.svg +13 -0
  139. package/assets/flags/1x1/ky.svg +103 -0
  140. package/assets/flags/1x1/kz.svg +36 -0
  141. package/assets/flags/1x1/la.svg +12 -0
  142. package/assets/flags/1x1/lb.svg +15 -0
  143. package/assets/flags/1x1/lc.svg +8 -0
  144. package/assets/flags/1x1/li.svg +43 -0
  145. package/assets/flags/1x1/lk.svg +22 -0
  146. package/assets/flags/1x1/lr.svg +14 -0
  147. package/assets/flags/1x1/ls.svg +8 -0
  148. package/assets/flags/1x1/lt.svg +7 -0
  149. package/assets/flags/1x1/lu.svg +5 -0
  150. package/assets/flags/1x1/lv.svg +6 -0
  151. package/assets/flags/1x1/ly.svg +13 -0
  152. package/assets/flags/1x1/ma.svg +4 -0
  153. package/assets/flags/1x1/mc.svg +6 -0
  154. package/assets/flags/1x1/md.svg +71 -0
  155. package/assets/flags/1x1/me.svg +118 -0
  156. package/assets/flags/1x1/mf.svg +5 -0
  157. package/assets/flags/1x1/mg.svg +7 -0
  158. package/assets/flags/1x1/mh.svg +8 -0
  159. package/assets/flags/1x1/mk.svg +5 -0
  160. package/assets/flags/1x1/ml.svg +7 -0
  161. package/assets/flags/1x1/mm.svg +10 -0
  162. package/assets/flags/1x1/mn.svg +14 -0
  163. package/assets/flags/1x1/mo.svg +9 -0
  164. package/assets/flags/1x1/mp.svg +86 -0
  165. package/assets/flags/1x1/mq.svg +5 -0
  166. package/assets/flags/1x1/mr.svg +6 -0
  167. package/assets/flags/1x1/ms.svg +25 -0
  168. package/assets/flags/1x1/mt.svg +56 -0
  169. package/assets/flags/1x1/mu.svg +8 -0
  170. package/assets/flags/1x1/mv.svg +6 -0
  171. package/assets/flags/1x1/mw.svg +15 -0
  172. package/assets/flags/1x1/mx.svg +377 -0
  173. package/assets/flags/1x1/my.svg +18 -0
  174. package/assets/flags/1x1/mz.svg +21 -0
  175. package/assets/flags/1x1/na.svg +16 -0
  176. package/assets/flags/1x1/nc.svg +12 -0
  177. package/assets/flags/1x1/ne.svg +6 -0
  178. package/assets/flags/1x1/nf.svg +11 -0
  179. package/assets/flags/1x1/ng.svg +6 -0
  180. package/assets/flags/1x1/ni.svg +129 -0
  181. package/assets/flags/1x1/nl.svg +5 -0
  182. package/assets/flags/1x1/no.svg +7 -0
  183. package/assets/flags/1x1/np.svg +18 -0
  184. package/assets/flags/1x1/nr.svg +12 -0
  185. package/assets/flags/1x1/nu.svg +10 -0
  186. package/assets/flags/1x1/nz.svg +36 -0
  187. package/assets/flags/1x1/om.svg +115 -0
  188. package/assets/flags/1x1/pa.svg +13 -0
  189. package/assets/flags/1x1/pc.svg +33 -0
  190. package/assets/flags/1x1/pe.svg +4 -0
  191. package/assets/flags/1x1/pf.svg +18 -0
  192. package/assets/flags/1x1/pg.svg +16 -0
  193. package/assets/flags/1x1/ph.svg +6 -0
  194. package/assets/flags/1x1/pk.svg +15 -0
  195. package/assets/flags/1x1/pl.svg +6 -0
  196. package/assets/flags/1x1/pm.svg +5 -0
  197. package/assets/flags/1x1/pn.svg +53 -0
  198. package/assets/flags/1x1/pr.svg +13 -0
  199. package/assets/flags/1x1/ps.svg +15 -0
  200. package/assets/flags/1x1/pt.svg +57 -0
  201. package/assets/flags/1x1/pw.svg +11 -0
  202. package/assets/flags/1x1/py.svg +156 -0
  203. package/assets/flags/1x1/qa.svg +4 -0
  204. package/assets/flags/1x1/re.svg +7 -0
  205. package/assets/flags/1x1/ro.svg +7 -0
  206. package/assets/flags/1x1/rs.svg +296 -0
  207. package/assets/flags/1x1/ru.svg +5 -0
  208. package/assets/flags/1x1/rw.svg +13 -0
  209. package/assets/flags/1x1/sa.svg +25 -0
  210. package/assets/flags/1x1/sb.svg +13 -0
  211. package/assets/flags/1x1/sc.svg +7 -0
  212. package/assets/flags/1x1/sd.svg +13 -0
  213. package/assets/flags/1x1/se.svg +4 -0
  214. package/assets/flags/1x1/sg.svg +13 -0
  215. package/assets/flags/1x1/sh-ac.svg +690 -0
  216. package/assets/flags/1x1/sh-hl.svg +164 -0
  217. package/assets/flags/1x1/sh-ta.svg +76 -0
  218. package/assets/flags/1x1/sh.svg +7 -0
  219. package/assets/flags/1x1/si.svg +18 -0
  220. package/assets/flags/1x1/sj.svg +7 -0
  221. package/assets/flags/1x1/sk.svg +9 -0
  222. package/assets/flags/1x1/sl.svg +12 -0
  223. package/assets/flags/1x1/sm.svg +73 -0
  224. package/assets/flags/1x1/sn.svg +8 -0
  225. package/assets/flags/1x1/so.svg +11 -0
  226. package/assets/flags/1x1/sr.svg +6 -0
  227. package/assets/flags/1x1/ss.svg +8 -0
  228. package/assets/flags/1x1/st.svg +16 -0
  229. package/assets/flags/1x1/sv.svg +594 -0
  230. package/assets/flags/1x1/sx.svg +56 -0
  231. package/assets/flags/1x1/sy.svg +6 -0
  232. package/assets/flags/1x1/sz.svg +34 -0
  233. package/assets/flags/1x1/tc.svg +50 -0
  234. package/assets/flags/1x1/td.svg +7 -0
  235. package/assets/flags/1x1/tf.svg +15 -0
  236. package/assets/flags/1x1/tg.svg +14 -0
  237. package/assets/flags/1x1/th.svg +7 -0
  238. package/assets/flags/1x1/tj.svg +26 -0
  239. package/assets/flags/1x1/tk.svg +5 -0
  240. package/assets/flags/1x1/tl.svg +13 -0
  241. package/assets/flags/1x1/tm.svg +205 -0
  242. package/assets/flags/1x1/tn.svg +4 -0
  243. package/assets/flags/1x1/to.svg +10 -0
  244. package/assets/flags/1x1/tr.svg +8 -0
  245. package/assets/flags/1x1/tt.svg +7 -0
  246. package/assets/flags/1x1/tv.svg +9 -0
  247. package/assets/flags/1x1/tw.svg +32 -0
  248. package/assets/flags/1x1/tz.svg +15 -0
  249. package/assets/flags/1x1/ua.svg +6 -0
  250. package/assets/flags/1x1/ug.svg +30 -0
  251. package/assets/flags/1x1/um.svg +9 -0
  252. package/assets/flags/1x1/un.svg +16 -0
  253. package/assets/flags/1x1/us.svg +9 -0
  254. package/assets/flags/1x1/uy.svg +28 -0
  255. package/assets/flags/1x1/uz.svg +30 -0
  256. package/assets/flags/1x1/va.svg +190 -0
  257. package/assets/flags/1x1/vc.svg +8 -0
  258. package/assets/flags/1x1/ve.svg +26 -0
  259. package/assets/flags/1x1/vg.svg +59 -0
  260. package/assets/flags/1x1/vi.svg +28 -0
  261. package/assets/flags/1x1/vn.svg +11 -0
  262. package/assets/flags/1x1/vu.svg +21 -0
  263. package/assets/flags/1x1/wf.svg +5 -0
  264. package/assets/flags/1x1/ws.svg +7 -0
  265. package/assets/flags/1x1/xk.svg +5 -0
  266. package/assets/flags/1x1/xx.svg +4 -0
  267. package/assets/flags/1x1/ye.svg +7 -0
  268. package/assets/flags/1x1/yt.svg +5 -0
  269. package/assets/flags/1x1/za.svg +17 -0
  270. package/assets/flags/1x1/zm.svg +27 -0
  271. package/assets/flags/1x1/zw.svg +21 -0
  272. package/assets/flags/LICENSE +23 -0
  273. package/cjs/components/card/style/dnb-card.css +1 -0
  274. package/cjs/components/card/style/dnb-card.min.css +1 -1
  275. package/cjs/components/card/style/dnb-card.scss +1 -0
  276. package/cjs/components/country-flag/style/dnb-country-flag-icons.css +280 -272
  277. package/cjs/components/country-flag/style/dnb-country-flag-icons.min.css +1 -1
  278. package/cjs/components/country-flag/style/dnb-country-flag-icons.scss +280 -272
  279. package/cjs/components/date-picker/DatePickerContext.d.ts +1 -1
  280. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  281. package/cjs/components/date-picker/DatePickerFooter.js +5 -5
  282. package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
  283. package/cjs/components/date-picker/DatePickerProvider.js +2 -2
  284. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  285. package/cjs/components/date-picker/hooks/useDates.d.ts +1 -1
  286. package/cjs/components/date-picker/hooks/useDates.js +94 -23
  287. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  288. package/cjs/components/dialog/parts/DialogAction.js +18 -16
  289. package/cjs/components/dialog/parts/DialogAction.js.map +1 -1
  290. package/cjs/components/number-format/NumberUtils.js +15 -15
  291. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  292. package/cjs/extensions/forms/DataContext/Context.d.ts +8 -5
  293. package/cjs/extensions/forms/DataContext/Context.js +0 -1
  294. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  295. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +4 -3
  296. package/cjs/extensions/forms/DataContext/Provider/Provider.js +2 -2
  297. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  298. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  299. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  300. package/cjs/extensions/forms/Field/Date/Date.js +2 -2
  301. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  302. package/cjs/extensions/forms/Field/Provider/FieldProvider.d.ts +3 -2
  303. package/cjs/extensions/forms/Field/Provider/FieldProvider.js.map +1 -1
  304. package/cjs/extensions/forms/Field/Upload/Upload.js +11 -3
  305. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  306. package/cjs/extensions/forms/Form/Card/Card.d.ts +3 -0
  307. package/cjs/extensions/forms/Form/Card/Card.js +1 -0
  308. package/cjs/extensions/forms/Form/Card/Card.js.map +1 -1
  309. package/cjs/extensions/forms/Form/Element/Element.d.ts +2 -2
  310. package/cjs/extensions/forms/Form/Element/Element.js +50 -11
  311. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  312. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +7 -3
  313. package/cjs/extensions/forms/Form/Handler/Handler.js +23 -97
  314. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  315. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +3 -3
  316. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  317. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
  318. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  319. package/cjs/extensions/forms/Form/Section/Section.d.ts +4 -4
  320. package/cjs/extensions/forms/Form/Section/Section.js +2 -1
  321. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  322. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
  323. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  324. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +1 -1
  325. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +1 -0
  326. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  327. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +10 -6
  328. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  329. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +13 -7
  330. package/cjs/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.css +3 -0
  331. package/cjs/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
  332. package/cjs/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.scss +7 -0
  333. package/cjs/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.css +4 -0
  334. package/cjs/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.min.css +1 -0
  335. package/cjs/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.scss +8 -0
  336. package/cjs/extensions/forms/Form/Section/style/themes/ui.d.ts +1 -0
  337. package/cjs/extensions/forms/Form/Section/style/themes/ui.js +4 -0
  338. package/cjs/extensions/forms/Form/Section/style/themes/ui.js.map +1 -0
  339. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  340. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  341. package/cjs/extensions/forms/Form/data-context/clearData.d.ts +2 -1
  342. package/cjs/extensions/forms/Form/data-context/clearData.js +1 -1
  343. package/cjs/extensions/forms/Form/data-context/clearData.js.map +1 -1
  344. package/cjs/extensions/forms/Form/data-context/getData.js +1 -1
  345. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  346. package/cjs/extensions/forms/Form/data-context/useData.js +1 -1
  347. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  348. package/cjs/extensions/forms/Form/data-context/useValidation.js +2 -2
  349. package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  350. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  351. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js +9 -5
  352. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  353. package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +3 -0
  354. package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -1
  355. package/cjs/extensions/forms/Iterate/Count/Count.d.ts +4 -3
  356. package/cjs/extensions/forms/Iterate/Count/Count.js.map +1 -1
  357. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -1
  358. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +7 -4
  359. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  360. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +2 -2
  361. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  362. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +1 -1
  363. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  364. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.d.ts +3 -1
  365. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +27 -6
  366. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  367. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js +5 -0
  368. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js.map +1 -1
  369. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +8 -4
  370. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  371. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +2 -1
  372. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js +4 -3
  373. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -1
  374. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  375. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +3 -2
  376. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  377. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +2 -2
  378. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  379. package/cjs/extensions/forms/Iterate/hooks/useItem.d.ts +5 -1
  380. package/cjs/extensions/forms/Iterate/hooks/useItem.js.map +1 -1
  381. package/cjs/extensions/forms/Tools/ListAllProps.d.ts +7 -7
  382. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
  383. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js +1 -1
  384. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  385. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  386. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  387. package/cjs/extensions/forms/Wizard/hooks/useStep.d.ts +2 -2
  388. package/cjs/extensions/forms/Wizard/hooks/useStep.js +1 -1
  389. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  390. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +2 -0
  391. package/cjs/extensions/forms/constants/countries.js +1 -1
  392. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  393. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  394. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  395. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  396. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  397. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  398. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  399. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  400. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  401. package/cjs/extensions/forms/hooks/useDataContext.js +1 -1
  402. package/cjs/extensions/forms/hooks/useDataContext.js.map +1 -1
  403. package/cjs/extensions/forms/hooks/useSnapshot.d.ts +3 -2
  404. package/cjs/extensions/forms/hooks/useSnapshot.js.map +1 -1
  405. package/cjs/extensions/forms/style/dnb-forms.css +10 -6
  406. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  407. package/cjs/extensions/forms/types.d.ts +4 -4
  408. package/cjs/extensions/forms/types.js.map +1 -1
  409. package/cjs/extensions/forms/utils/json-pointer/json-pointer.d.ts +2 -2
  410. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  411. package/cjs/shared/Eufemia.d.ts +1 -1
  412. package/cjs/shared/Eufemia.js +2 -2
  413. package/cjs/shared/Eufemia.js.map +1 -1
  414. package/cjs/shared/helpers/useSharedState.d.ts +19 -13
  415. package/cjs/shared/helpers/useSharedState.js +23 -11
  416. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  417. package/cjs/style/core/scopes.scss +1 -1
  418. package/cjs/style/dnb-ui-basis.css +1 -1
  419. package/cjs/style/dnb-ui-basis.min.css +1 -1
  420. package/cjs/style/dnb-ui-body.css +1 -1
  421. package/cjs/style/dnb-ui-body.min.css +1 -1
  422. package/cjs/style/dnb-ui-components.css +291 -278
  423. package/cjs/style/dnb-ui-components.min.css +2 -2
  424. package/cjs/style/dnb-ui-core.css +1 -1
  425. package/cjs/style/dnb-ui-core.min.css +1 -1
  426. package/cjs/style/dnb-ui-extensions.css +10 -6
  427. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  428. package/cjs/style/dnb-ui-forms.css +10 -6
  429. package/cjs/style/dnb-ui-forms.min.css +1 -1
  430. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +306 -284
  431. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  432. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -6
  433. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  434. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  435. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -6
  436. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  437. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  438. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +305 -284
  439. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  440. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +14 -6
  441. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  442. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  443. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +14 -6
  444. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  445. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  446. package/cjs/style/themes/theme-ui/ui-theme-components.css +306 -284
  447. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  448. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +15 -6
  449. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  450. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  451. package/cjs/style/themes/theme-ui/ui-theme-forms.css +15 -6
  452. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  453. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  454. package/components/card/style/dnb-card.css +1 -0
  455. package/components/card/style/dnb-card.min.css +1 -1
  456. package/components/card/style/dnb-card.scss +1 -0
  457. package/components/country-flag/style/dnb-country-flag-icons.css +280 -272
  458. package/components/country-flag/style/dnb-country-flag-icons.min.css +1 -1
  459. package/components/country-flag/style/dnb-country-flag-icons.scss +280 -272
  460. package/components/date-picker/DatePickerContext.d.ts +1 -1
  461. package/components/date-picker/DatePickerContext.js.map +1 -1
  462. package/components/date-picker/DatePickerFooter.js +5 -5
  463. package/components/date-picker/DatePickerFooter.js.map +1 -1
  464. package/components/date-picker/DatePickerProvider.js +2 -2
  465. package/components/date-picker/DatePickerProvider.js.map +1 -1
  466. package/components/date-picker/hooks/useDates.d.ts +1 -1
  467. package/components/date-picker/hooks/useDates.js +95 -24
  468. package/components/date-picker/hooks/useDates.js.map +1 -1
  469. package/components/dialog/parts/DialogAction.js +19 -17
  470. package/components/dialog/parts/DialogAction.js.map +1 -1
  471. package/components/number-format/NumberUtils.js +15 -15
  472. package/components/number-format/NumberUtils.js.map +1 -1
  473. package/es/components/card/style/dnb-card.css +1 -0
  474. package/es/components/card/style/dnb-card.min.css +1 -1
  475. package/es/components/card/style/dnb-card.scss +1 -0
  476. package/es/components/country-flag/style/dnb-country-flag-icons.css +280 -272
  477. package/es/components/country-flag/style/dnb-country-flag-icons.min.css +1 -1
  478. package/es/components/country-flag/style/dnb-country-flag-icons.scss +280 -272
  479. package/es/components/date-picker/DatePickerContext.d.ts +1 -1
  480. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  481. package/es/components/date-picker/DatePickerFooter.js +5 -5
  482. package/es/components/date-picker/DatePickerFooter.js.map +1 -1
  483. package/es/components/date-picker/DatePickerProvider.js +2 -2
  484. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  485. package/es/components/date-picker/hooks/useDates.d.ts +1 -1
  486. package/es/components/date-picker/hooks/useDates.js +87 -17
  487. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  488. package/es/components/dialog/parts/DialogAction.js +19 -17
  489. package/es/components/dialog/parts/DialogAction.js.map +1 -1
  490. package/es/components/number-format/NumberUtils.js +15 -15
  491. package/es/components/number-format/NumberUtils.js.map +1 -1
  492. package/es/extensions/forms/DataContext/Context.d.ts +8 -5
  493. package/es/extensions/forms/DataContext/Context.js +0 -1
  494. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  495. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +4 -3
  496. package/es/extensions/forms/DataContext/Provider/Provider.js +3 -3
  497. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  498. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  499. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  500. package/es/extensions/forms/Field/Date/Date.js +2 -2
  501. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  502. package/es/extensions/forms/Field/Provider/FieldProvider.d.ts +3 -2
  503. package/es/extensions/forms/Field/Provider/FieldProvider.js.map +1 -1
  504. package/es/extensions/forms/Field/Upload/Upload.js +6 -1
  505. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  506. package/es/extensions/forms/Form/Card/Card.d.ts +3 -0
  507. package/es/extensions/forms/Form/Card/Card.js +1 -0
  508. package/es/extensions/forms/Form/Card/Card.js.map +1 -1
  509. package/es/extensions/forms/Form/Element/Element.d.ts +2 -2
  510. package/es/extensions/forms/Form/Element/Element.js +45 -12
  511. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  512. package/es/extensions/forms/Form/Handler/Handler.d.ts +7 -3
  513. package/es/extensions/forms/Form/Handler/Handler.js +24 -93
  514. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  515. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +3 -3
  516. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  517. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
  518. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  519. package/es/extensions/forms/Form/Section/Section.d.ts +4 -4
  520. package/es/extensions/forms/Form/Section/Section.js +2 -1
  521. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  522. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
  523. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  524. package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +1 -1
  525. package/es/extensions/forms/Form/Section/containers/SectionContainer.js +1 -0
  526. package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  527. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +10 -6
  528. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  529. package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +13 -7
  530. package/es/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.css +3 -0
  531. package/es/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
  532. package/es/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.scss +7 -0
  533. package/es/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.css +4 -0
  534. package/es/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.min.css +1 -0
  535. package/es/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.scss +8 -0
  536. package/es/extensions/forms/Form/Section/style/themes/ui.d.ts +1 -0
  537. package/es/extensions/forms/Form/Section/style/themes/ui.js +1 -0
  538. package/es/extensions/forms/Form/Section/style/themes/ui.js.map +1 -0
  539. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  540. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  541. package/es/extensions/forms/Form/data-context/clearData.d.ts +2 -1
  542. package/es/extensions/forms/Form/data-context/clearData.js +2 -2
  543. package/es/extensions/forms/Form/data-context/clearData.js.map +1 -1
  544. package/es/extensions/forms/Form/data-context/getData.js +2 -2
  545. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  546. package/es/extensions/forms/Form/data-context/useData.js +2 -2
  547. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  548. package/es/extensions/forms/Form/data-context/useValidation.js +3 -3
  549. package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  550. package/es/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  551. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +9 -5
  552. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  553. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +3 -0
  554. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -1
  555. package/es/extensions/forms/Iterate/Count/Count.d.ts +4 -3
  556. package/es/extensions/forms/Iterate/Count/Count.js.map +1 -1
  557. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -1
  558. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +7 -4
  559. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  560. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +2 -2
  561. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  562. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +1 -1
  563. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  564. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.d.ts +3 -1
  565. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +25 -7
  566. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  567. package/es/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js +5 -0
  568. package/es/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js.map +1 -1
  569. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +8 -4
  570. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  571. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +2 -1
  572. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js +4 -3
  573. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -1
  574. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  575. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +3 -2
  576. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  577. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +2 -2
  578. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  579. package/es/extensions/forms/Iterate/hooks/useItem.d.ts +5 -1
  580. package/es/extensions/forms/Iterate/hooks/useItem.js.map +1 -1
  581. package/es/extensions/forms/Tools/ListAllProps.d.ts +7 -7
  582. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
  583. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +2 -2
  584. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  585. package/es/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
  586. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  587. package/es/extensions/forms/Wizard/hooks/useStep.d.ts +2 -2
  588. package/es/extensions/forms/Wizard/hooks/useStep.js +2 -2
  589. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  590. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +2 -0
  591. package/es/extensions/forms/constants/countries.js +1 -1
  592. package/es/extensions/forms/constants/countries.js.map +1 -1
  593. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  594. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  595. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  596. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  597. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  598. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  599. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  600. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  601. package/es/extensions/forms/hooks/useDataContext.js +2 -2
  602. package/es/extensions/forms/hooks/useDataContext.js.map +1 -1
  603. package/es/extensions/forms/hooks/useSnapshot.d.ts +3 -2
  604. package/es/extensions/forms/hooks/useSnapshot.js.map +1 -1
  605. package/es/extensions/forms/style/dnb-forms.css +10 -6
  606. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  607. package/es/extensions/forms/types.d.ts +4 -4
  608. package/es/extensions/forms/types.js.map +1 -1
  609. package/es/extensions/forms/utils/json-pointer/json-pointer.d.ts +2 -2
  610. package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  611. package/es/shared/Eufemia.d.ts +1 -1
  612. package/es/shared/Eufemia.js +2 -2
  613. package/es/shared/Eufemia.js.map +1 -1
  614. package/es/shared/helpers/useSharedState.d.ts +19 -13
  615. package/es/shared/helpers/useSharedState.js +22 -11
  616. package/es/shared/helpers/useSharedState.js.map +1 -1
  617. package/es/style/core/scopes.scss +1 -1
  618. package/es/style/dnb-ui-basis.css +1 -1
  619. package/es/style/dnb-ui-basis.min.css +1 -1
  620. package/es/style/dnb-ui-body.css +1 -1
  621. package/es/style/dnb-ui-body.min.css +1 -1
  622. package/es/style/dnb-ui-components.css +291 -278
  623. package/es/style/dnb-ui-components.min.css +2 -2
  624. package/es/style/dnb-ui-core.css +1 -1
  625. package/es/style/dnb-ui-core.min.css +1 -1
  626. package/es/style/dnb-ui-extensions.css +10 -6
  627. package/es/style/dnb-ui-extensions.min.css +1 -1
  628. package/es/style/dnb-ui-forms.css +10 -6
  629. package/es/style/dnb-ui-forms.min.css +1 -1
  630. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +306 -284
  631. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  632. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -6
  633. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  634. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  635. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -6
  636. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  637. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  638. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +305 -284
  639. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  640. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +14 -6
  641. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  642. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  643. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +14 -6
  644. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  645. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  646. package/es/style/themes/theme-ui/ui-theme-components.css +306 -284
  647. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  648. package/es/style/themes/theme-ui/ui-theme-extensions.css +15 -6
  649. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  650. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  651. package/es/style/themes/theme-ui/ui-theme-forms.css +15 -6
  652. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  653. package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  654. package/esm/dnb-ui-basis.min.mjs +1 -1
  655. package/esm/dnb-ui-components.min.mjs +1 -1
  656. package/esm/dnb-ui-elements.min.mjs +1 -1
  657. package/esm/dnb-ui-extensions.min.mjs +1 -1
  658. package/esm/dnb-ui-lib.min.mjs +1 -1
  659. package/extensions/forms/DataContext/Context.d.ts +8 -5
  660. package/extensions/forms/DataContext/Context.js +0 -1
  661. package/extensions/forms/DataContext/Context.js.map +1 -1
  662. package/extensions/forms/DataContext/Provider/Provider.d.ts +4 -3
  663. package/extensions/forms/DataContext/Provider/Provider.js +3 -3
  664. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  665. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  666. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  667. package/extensions/forms/Field/Date/Date.js +2 -2
  668. package/extensions/forms/Field/Date/Date.js.map +1 -1
  669. package/extensions/forms/Field/Provider/FieldProvider.d.ts +3 -2
  670. package/extensions/forms/Field/Provider/FieldProvider.js.map +1 -1
  671. package/extensions/forms/Field/Upload/Upload.js +11 -3
  672. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  673. package/extensions/forms/Form/Card/Card.d.ts +3 -0
  674. package/extensions/forms/Form/Card/Card.js +1 -0
  675. package/extensions/forms/Form/Card/Card.js.map +1 -1
  676. package/extensions/forms/Form/Element/Element.d.ts +2 -2
  677. package/extensions/forms/Form/Element/Element.js +50 -13
  678. package/extensions/forms/Form/Element/Element.js.map +1 -1
  679. package/extensions/forms/Form/Handler/Handler.d.ts +7 -3
  680. package/extensions/forms/Form/Handler/Handler.js +24 -97
  681. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  682. package/extensions/forms/Form/Isolation/Isolation.d.ts +3 -3
  683. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  684. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
  685. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  686. package/extensions/forms/Form/Section/Section.d.ts +4 -4
  687. package/extensions/forms/Form/Section/Section.js +2 -1
  688. package/extensions/forms/Form/Section/Section.js.map +1 -1
  689. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
  690. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  691. package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +1 -1
  692. package/extensions/forms/Form/Section/containers/SectionContainer.js +1 -0
  693. package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  694. package/extensions/forms/Form/Section/style/dnb-form-section.css +10 -6
  695. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  696. package/extensions/forms/Form/Section/style/dnb-form-section.scss +13 -7
  697. package/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.css +3 -0
  698. package/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
  699. package/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.scss +7 -0
  700. package/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.css +4 -0
  701. package/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.min.css +1 -0
  702. package/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.scss +8 -0
  703. package/extensions/forms/Form/Section/style/themes/ui.d.ts +1 -0
  704. package/extensions/forms/Form/Section/style/themes/ui.js +1 -0
  705. package/extensions/forms/Form/Section/style/themes/ui.js.map +1 -0
  706. package/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  707. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  708. package/extensions/forms/Form/data-context/clearData.d.ts +2 -1
  709. package/extensions/forms/Form/data-context/clearData.js +2 -2
  710. package/extensions/forms/Form/data-context/clearData.js.map +1 -1
  711. package/extensions/forms/Form/data-context/getData.js +2 -2
  712. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  713. package/extensions/forms/Form/data-context/useData.js +2 -2
  714. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  715. package/extensions/forms/Form/data-context/useValidation.js +3 -3
  716. package/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  717. package/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  718. package/extensions/forms/Iterate/Array/ArrayItemArea.js +9 -5
  719. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  720. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +3 -0
  721. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -1
  722. package/extensions/forms/Iterate/Count/Count.d.ts +4 -3
  723. package/extensions/forms/Iterate/Count/Count.js.map +1 -1
  724. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -1
  725. package/extensions/forms/Iterate/EditContainer/EditContainer.js +7 -4
  726. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  727. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +2 -2
  728. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  729. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +1 -1
  730. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  731. package/extensions/forms/Iterate/RemoveButton/RemoveButton.d.ts +3 -1
  732. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +26 -7
  733. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  734. package/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js +5 -0
  735. package/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js.map +1 -1
  736. package/extensions/forms/Iterate/Toolbar/Toolbar.js +8 -4
  737. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  738. package/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +2 -1
  739. package/extensions/forms/Iterate/ViewContainer/RemoveButton.js +4 -3
  740. package/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -1
  741. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  742. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +3 -2
  743. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  744. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +2 -2
  745. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  746. package/extensions/forms/Iterate/hooks/useItem.d.ts +5 -1
  747. package/extensions/forms/Iterate/hooks/useItem.js.map +1 -1
  748. package/extensions/forms/Tools/ListAllProps.d.ts +7 -7
  749. package/extensions/forms/Tools/ListAllProps.js.map +1 -1
  750. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +2 -2
  751. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  752. package/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
  753. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  754. package/extensions/forms/Wizard/hooks/useStep.d.ts +2 -2
  755. package/extensions/forms/Wizard/hooks/useStep.js +2 -2
  756. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  757. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +2 -0
  758. package/extensions/forms/constants/countries.js +1 -1
  759. package/extensions/forms/constants/countries.js.map +1 -1
  760. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  761. package/extensions/forms/constants/locales/en-GB.js +2 -1
  762. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  763. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  764. package/extensions/forms/constants/locales/index.d.ts +2 -0
  765. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  766. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  767. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  768. package/extensions/forms/hooks/useDataContext.js +2 -2
  769. package/extensions/forms/hooks/useDataContext.js.map +1 -1
  770. package/extensions/forms/hooks/useSnapshot.d.ts +3 -2
  771. package/extensions/forms/hooks/useSnapshot.js.map +1 -1
  772. package/extensions/forms/style/dnb-forms.css +10 -6
  773. package/extensions/forms/style/dnb-forms.min.css +1 -1
  774. package/extensions/forms/types.d.ts +4 -4
  775. package/extensions/forms/types.js.map +1 -1
  776. package/extensions/forms/utils/json-pointer/json-pointer.d.ts +2 -2
  777. package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  778. package/package.json +1 -2
  779. package/shared/Eufemia.d.ts +1 -1
  780. package/shared/Eufemia.js +2 -2
  781. package/shared/Eufemia.js.map +1 -1
  782. package/shared/helpers/useSharedState.d.ts +19 -13
  783. package/shared/helpers/useSharedState.js +22 -11
  784. package/shared/helpers/useSharedState.js.map +1 -1
  785. package/style/core/scopes.scss +1 -1
  786. package/style/dnb-ui-basis.css +1 -1
  787. package/style/dnb-ui-basis.min.css +1 -1
  788. package/style/dnb-ui-body.css +1 -1
  789. package/style/dnb-ui-body.min.css +1 -1
  790. package/style/dnb-ui-components.css +291 -278
  791. package/style/dnb-ui-components.min.css +2 -2
  792. package/style/dnb-ui-core.css +1 -1
  793. package/style/dnb-ui-core.min.css +1 -1
  794. package/style/dnb-ui-extensions.css +10 -6
  795. package/style/dnb-ui-extensions.min.css +1 -1
  796. package/style/dnb-ui-forms.css +10 -6
  797. package/style/dnb-ui-forms.min.css +1 -1
  798. package/style/themes/theme-eiendom/eiendom-theme-components.css +306 -284
  799. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  800. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -6
  801. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  802. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  803. package/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -6
  804. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  805. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  806. package/style/themes/theme-sbanken/sbanken-theme-components.css +305 -284
  807. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  808. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +14 -6
  809. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  810. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  811. package/style/themes/theme-sbanken/sbanken-theme-forms.css +14 -6
  812. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  813. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  814. package/style/themes/theme-ui/ui-theme-components.css +306 -284
  815. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  816. package/style/themes/theme-ui/ui-theme-extensions.css +15 -6
  817. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  818. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  819. package/style/themes/theme-ui/ui-theme-forms.css +15 -6
  820. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  821. package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  822. package/umd/dnb-ui-basis.min.js +1 -1
  823. package/umd/dnb-ui-components.min.js +1 -1
  824. package/umd/dnb-ui-elements.min.js +1 -1
  825. package/umd/dnb-ui-extensions.min.js +1 -1
  826. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Isolation.js","names":["React","useCallback","useContext","useEffect","useMemo","useReducer","useRef","pointer","extendDeep","isAsync","useId","useDataValue","Context","DataContext","Provider","SectionContext","IsolationCommitButton","clearedData","structuredClone","IsolationProvider","props","children","onPathChange","onCommit","onCommitProp","onClear","onClearProp","transformOnCommit","transformOnCommitProp","commitHandleRef","bubbleValidation","data","defaultData","forceUpdate","internalDataRef","localDataRef","dataContextRef","outerContext","path","pathSection","handlePathChange","handlePathChangeOuter","dataOuter","moveValueToPath","onPathChangeHandler","value","current","set","replace","removeSectionPath","has","get","getMountedData","mounterData","_dataContextRef$curre","mountedFieldsRef","field","isMounted","localData","Object","assign","additionalArgs","_props$path","mountedData","outerData","isolatedData","stop","preventCommit","commitData","result","Array","isArray","providerProps","_objectSpread","isolate","createElement","Consumer","dataContext","handleSubmit","BubbleValidation","_ref","setMountedFieldState","setFieldError","id","errors","hasErrors","Error","undefined","CommitButton","_supportsSpacingProps"],"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 '../../utils/json-pointer'\nimport { extendDeep } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport useDataValue from '../../hooks/useDataValue'\nimport {\n Context as DataContext,\n ContextState,\n Provider,\n} 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 it's 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?: (\n isolatedData: JsonObject,\n handlerData: JsonObject\n ) => unknown\n /**\n * Prevent the form from being submitted when there are fields with errors inside the Form.Isolation.\n */\n bubbleValidation?: boolean\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 bubbleValidation,\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(DataContext)\n const { path: pathSection } = useContext(SectionContext) || {}\n const { handlePathChange: handlePathChangeOuter, data: dataOuter } =\n outerContext || {}\n const { moveValueToPath } = useDataValue()\n\n const onPathChangeHandler = useCallback(\n async (path: Path, value: unknown) => {\n if (localDataRef.current === clearedData) {\n localDataRef.current = {}\n }\n\n pointer.set(localDataRef.current, path, value)\n\n if (pathSection) {\n path = path.replace(pathSection, '')\n }\n\n return await onPathChange?.(path, value)\n },\n [onPathChange, pathSection]\n )\n\n const removeSectionPath = useCallback(\n (data: Data) => {\n return pathSection && pointer.has(data, pathSection)\n ? pointer.get(data, pathSection)\n : data\n },\n [pathSection]\n )\n\n const getMountedData = useCallback((data: Data) => {\n const mounterData = {} as Data\n for (const path in dataContextRef.current?.mountedFieldsRef.current) {\n const field = dataContextRef.current.mountedFieldsRef.current[path]\n if (field.isMounted && pointer.has(data, path)) {\n pointer.set(mounterData, path, pointer.get(data, path))\n }\n }\n return mounterData\n }, [])\n\n useEffect(() => {\n localDataRef.current = getMountedData(internalDataRef.current)\n }, [getMountedData])\n\n // Update the isolated data with the outside context data\n useMemo(() => {\n if (localDataRef.current === clearedData) {\n return // stop here\n }\n\n let localData = data ?? defaultData\n\n if (\n localData &&\n pathSection &&\n !pointer.has(localDataRef.current, pathSection)\n ) {\n localData = moveValueToPath<Data>(pathSection, localData)\n }\n\n internalDataRef.current = Object.assign(\n {},\n localData || dataOuter || {},\n localDataRef.current\n )\n }, [data, defaultData, pathSection, dataOuter, moveValueToPath])\n\n const onCommit: IsolationProps<Data>['onCommit'] = useCallback(\n async (data: Data, additionalArgs) => {\n const mountedData = getMountedData(data)\n const path = props.path ?? '/'\n const outerData =\n props.path && pointer.has(dataOuter, path)\n ? pointer.get(dataOuter, path)\n : dataOuter\n\n localDataRef.current = mountedData\n let isolatedData = structuredClone(mountedData)\n\n if (typeof transformOnCommitProp === 'function') {\n isolatedData = transformOnCommitProp(isolatedData, outerData)\n }\n\n let stop = false\n additionalArgs.preventCommit = () => (stop = true)\n\n const commitData = removeSectionPath(isolatedData)\n const result = isAsync(onCommitProp)\n ? await onCommitProp?.(commitData, additionalArgs)\n : onCommitProp?.(commitData, additionalArgs)\n\n if (stop) {\n return // stop here\n }\n\n // Commit the internal data to the nested context data\n await handlePathChangeOuter?.(\n path,\n Array.isArray(isolatedData)\n ? isolatedData\n : extendDeep({}, outerData, isolatedData)\n )\n\n return result\n },\n [\n getMountedData,\n props.path,\n dataOuter,\n transformOnCommitProp,\n handlePathChangeOuter,\n onCommitProp,\n removeSectionPath,\n ]\n )\n\n const onClear = useCallback(() => {\n localDataRef.current = clearedData\n internalDataRef.current = clearedData as Data\n forceUpdate()\n onClearProp?.()\n }, [onClearProp])\n\n const providerProps: IsolationProps<Data> = {\n ...props,\n [defaultData ? 'defaultData' : 'data']: internalDataRef.current,\n onPathChange: onPathChangeHandler,\n onCommit,\n onClear,\n isolate: true,\n }\n\n return (\n <Provider {...providerProps}>\n <DataContext.Consumer>\n {(dataContext) => {\n dataContextRef.current = dataContext\n\n if (commitHandleRef) {\n commitHandleRef.current = dataContext?.handleSubmit\n }\n\n return children\n }}\n </DataContext.Consumer>\n\n {bubbleValidation && (\n <BubbleValidation outerContext={outerContext} />\n )}\n </Provider>\n )\n}\n\nfunction BubbleValidation({ outerContext }) {\n const { setMountedFieldState, setFieldError } = outerContext || {}\n const dataContext = useContext(DataContext)\n\n const id = useId()\n useEffect(() => {\n const path = `/${id}`\n const errors = dataContext.hasErrors()\n if (errors) {\n setMountedFieldState?.(path, {\n isMounted: true,\n })\n }\n setFieldError?.(path, errors ? new Error('Form.Isolation') : undefined)\n }, [dataContext, id, setFieldError, setMountedFieldState])\n\n return null\n}\n\nIsolationProvider.CommitButton = IsolationCommitButton\nIsolationProvider._supportsSpacingProps = undefined\n\nexport default IsolationProvider\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IACVC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,UAAU,EACVC,MAAM,QACD,OAAO;AACd,OAAOC,OAAO,MAAsB,0BAA0B;AAC9D,SAASC,UAAU,QAAQ,qCAAqC;AAChE,SAASC,OAAO,QAAQ,oCAAoC;AAC5D,OAAOC,KAAK,MAAM,kCAAkC;AACpD,OAAOC,YAAY,MAAM,0BAA0B;AACnD,SACEC,OAAO,IAAIC,WAAW,EAEtBC,QAAQ,QACH,mBAAmB;AAC1B,OAAOC,cAAc,MAAM,2BAA2B;AACtD,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,SACEC,WAAW,QAEN,4BAA4B;AAOnC,OAAOC,eAAe,MAAM,yBAAyB;AAmDrD,SAASC,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,gBAAgB;IAChBC,IAAI;IACJC;EACF,CAAC,GAAGZ,KAAK;EAET,MAAM,GAAGa,WAAW,CAAC,GAAG5B,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClD,MAAM6B,eAAe,GAAG5B,MAAM,CAAO,CAAC;EACtC,MAAM6B,YAAY,GAAG7B,MAAM,CAAgB,CAAC,CAAC,CAAC;EAC9C,MAAM8B,cAAc,GAAG9B,MAAM,CAAe,IAAI,CAAC;EACjD,MAAM+B,YAAY,GAAGnC,UAAU,CAACW,WAAW,CAAC;EAC5C,MAAM;IAAEyB,IAAI,EAAEC;EAAY,CAAC,GAAGrC,UAAU,CAACa,cAAc,CAAC,IAAI,CAAC,CAAC;EAC9D,MAAM;IAAEyB,gBAAgB,EAAEC,qBAAqB;IAAEV,IAAI,EAAEW;EAAU,CAAC,GAChEL,YAAY,IAAI,CAAC,CAAC;EACpB,MAAM;IAAEM;EAAgB,CAAC,GAAGhC,YAAY,CAAC,CAAC;EAE1C,MAAMiC,mBAAmB,GAAG3C,WAAW,CACrC,OAAOqC,IAAU,EAAEO,KAAc,KAAK;IACpC,IAAIV,YAAY,CAACW,OAAO,KAAK7B,WAAW,EAAE;MACxCkB,YAAY,CAACW,OAAO,GAAG,CAAC,CAAC;IAC3B;IAEAvC,OAAO,CAACwC,GAAG,CAACZ,YAAY,CAACW,OAAO,EAAER,IAAI,EAAEO,KAAK,CAAC;IAE9C,IAAIN,WAAW,EAAE;MACfD,IAAI,GAAGA,IAAI,CAACU,OAAO,CAACT,WAAW,EAAE,EAAE,CAAC;IACtC;IAEA,OAAO,OAAMjB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGgB,IAAI,EAAEO,KAAK,CAAC;EAC1C,CAAC,EACD,CAACvB,YAAY,EAAEiB,WAAW,CAC5B,CAAC;EAED,MAAMU,iBAAiB,GAAGhD,WAAW,CAClC8B,IAAU,IAAK;IACd,OAAOQ,WAAW,IAAIhC,OAAO,CAAC2C,GAAG,CAACnB,IAAI,EAAEQ,WAAW,CAAC,GAChDhC,OAAO,CAAC4C,GAAG,CAACpB,IAAI,EAAEQ,WAAW,CAAC,GAC9BR,IAAI;EACV,CAAC,EACD,CAACQ,WAAW,CACd,CAAC;EAED,MAAMa,cAAc,GAAGnD,WAAW,CAAE8B,IAAU,IAAK;IACjD,MAAMsB,WAAW,GAAG,CAAC,CAAS;IAC9B,KAAK,MAAMf,IAAI,KAAAgB,qBAAA,GAAIlB,cAAc,CAACU,OAAO,cAAAQ,qBAAA,uBAAtBA,qBAAA,CAAwBC,gBAAgB,CAACT,OAAO,EAAE;MAAA,IAAAQ,qBAAA;MACnE,MAAME,KAAK,GAAGpB,cAAc,CAACU,OAAO,CAACS,gBAAgB,CAACT,OAAO,CAACR,IAAI,CAAC;MACnE,IAAIkB,KAAK,CAACC,SAAS,IAAIlD,OAAO,CAAC2C,GAAG,CAACnB,IAAI,EAAEO,IAAI,CAAC,EAAE;QAC9C/B,OAAO,CAACwC,GAAG,CAACM,WAAW,EAAEf,IAAI,EAAE/B,OAAO,CAAC4C,GAAG,CAACpB,IAAI,EAAEO,IAAI,CAAC,CAAC;MACzD;IACF;IACA,OAAOe,WAAW;EACpB,CAAC,EAAE,EAAE,CAAC;EAENlD,SAAS,CAAC,MAAM;IACdgC,YAAY,CAACW,OAAO,GAAGM,cAAc,CAAClB,eAAe,CAACY,OAAO,CAAC;EAChE,CAAC,EAAE,CAACM,cAAc,CAAC,CAAC;EAGpBhD,OAAO,CAAC,MAAM;IACZ,IAAI+B,YAAY,CAACW,OAAO,KAAK7B,WAAW,EAAE;MACxC;IACF;IAEA,IAAIyC,SAAS,GAAG3B,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIC,WAAW;IAEnC,IACE0B,SAAS,IACTnB,WAAW,IACX,CAAChC,OAAO,CAAC2C,GAAG,CAACf,YAAY,CAACW,OAAO,EAAEP,WAAW,CAAC,EAC/C;MACAmB,SAAS,GAAGf,eAAe,CAAOJ,WAAW,EAAEmB,SAAS,CAAC;IAC3D;IAEAxB,eAAe,CAACY,OAAO,GAAGa,MAAM,CAACC,MAAM,CACrC,CAAC,CAAC,EACFF,SAAS,IAAIhB,SAAS,IAAI,CAAC,CAAC,EAC5BP,YAAY,CAACW,OACf,CAAC;EACH,CAAC,EAAE,CAACf,IAAI,EAAEC,WAAW,EAAEO,WAAW,EAAEG,SAAS,EAAEC,eAAe,CAAC,CAAC;EAEhE,MAAMpB,QAA0C,GAAGtB,WAAW,CAC5D,OAAO8B,IAAU,EAAE8B,cAAc,KAAK;IAAA,IAAAC,WAAA;IACpC,MAAMC,WAAW,GAAGX,cAAc,CAACrB,IAAI,CAAC;IACxC,MAAMO,IAAI,IAAAwB,WAAA,GAAG1C,KAAK,CAACkB,IAAI,cAAAwB,WAAA,cAAAA,WAAA,GAAI,GAAG;IAC9B,MAAME,SAAS,GACb5C,KAAK,CAACkB,IAAI,IAAI/B,OAAO,CAAC2C,GAAG,CAACR,SAAS,EAAEJ,IAAI,CAAC,GACtC/B,OAAO,CAAC4C,GAAG,CAACT,SAAS,EAAEJ,IAAI,CAAC,GAC5BI,SAAS;IAEfP,YAAY,CAACW,OAAO,GAAGiB,WAAW;IAClC,IAAIE,YAAY,GAAG/C,eAAe,CAAC6C,WAAW,CAAC;IAE/C,IAAI,OAAOnC,qBAAqB,KAAK,UAAU,EAAE;MAC/CqC,YAAY,GAAGrC,qBAAqB,CAACqC,YAAY,EAAED,SAAS,CAAC;IAC/D;IAEA,IAAIE,IAAI,GAAG,KAAK;IAChBL,cAAc,CAACM,aAAa,GAAG,MAAOD,IAAI,GAAG,IAAK;IAElD,MAAME,UAAU,GAAGnB,iBAAiB,CAACgB,YAAY,CAAC;IAClD,MAAMI,MAAM,GAAG5D,OAAO,CAACe,YAAY,CAAC,GAChC,OAAMA,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG4C,UAAU,EAAEP,cAAc,CAAC,IAChDrC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG4C,UAAU,EAAEP,cAAc,CAAC;IAE9C,IAAIK,IAAI,EAAE;MACR;IACF;IAGA,OAAMzB,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CACzBH,IAAI,EACJgC,KAAK,CAACC,OAAO,CAACN,YAAY,CAAC,GACvBA,YAAY,GACZzD,UAAU,CAAC,CAAC,CAAC,EAAEwD,SAAS,EAAEC,YAAY,CAC5C,CAAC;IAED,OAAOI,MAAM;EACf,CAAC,EACD,CACEjB,cAAc,EACdhC,KAAK,CAACkB,IAAI,EACVI,SAAS,EACTd,qBAAqB,EACrBa,qBAAqB,EACrBjB,YAAY,EACZyB,iBAAiB,CAErB,CAAC;EAED,MAAMxB,OAAO,GAAGxB,WAAW,CAAC,MAAM;IAChCkC,YAAY,CAACW,OAAO,GAAG7B,WAAW;IAClCiB,eAAe,CAACY,OAAO,GAAG7B,WAAmB;IAC7CgB,WAAW,CAAC,CAAC;IACbP,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAG,CAAC;EACjB,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,MAAM8C,aAAmC,GAAAC,aAAA,CAAAA,aAAA,KACpCrD,KAAK;IACR,CAACY,WAAW,GAAG,aAAa,GAAG,MAAM,GAAGE,eAAe,CAACY,OAAO;IAC/DxB,YAAY,EAAEsB,mBAAmB;IACjCrB,QAAQ;IACRE,OAAO;IACPiD,OAAO,EAAE;EAAI,EACd;EAED,OACE1E,KAAA,CAAA2E,aAAA,CAAC7D,QAAQ,EAAK0D,aAAa,EACzBxE,KAAA,CAAA2E,aAAA,CAAC9D,WAAW,CAAC+D,QAAQ,QACjBC,WAAW,IAAK;IAChBzC,cAAc,CAACU,OAAO,GAAG+B,WAAW;IAEpC,IAAIhD,eAAe,EAAE;MACnBA,eAAe,CAACiB,OAAO,GAAG+B,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEC,YAAY;IACrD;IAEA,OAAOzD,QAAQ;EACjB,CACoB,CAAC,EAEtBS,gBAAgB,IACf9B,KAAA,CAAA2E,aAAA,CAACI,gBAAgB;IAAC1C,YAAY,EAAEA;EAAa,CAAE,CAEzC,CAAC;AAEf;AAEA,SAAS0C,gBAAgBA,CAAAC,IAAA,EAAmB;EAAA,IAAlB;IAAE3C;EAAa,CAAC,GAAA2C,IAAA;EACxC,MAAM;IAAEC,oBAAoB;IAAEC;EAAc,CAAC,GAAG7C,YAAY,IAAI,CAAC,CAAC;EAClE,MAAMwC,WAAW,GAAG3E,UAAU,CAACW,WAAW,CAAC;EAE3C,MAAMsE,EAAE,GAAGzE,KAAK,CAAC,CAAC;EAClBP,SAAS,CAAC,MAAM;IACd,MAAMmC,IAAI,GAAI,IAAG6C,EAAG,EAAC;IACrB,MAAMC,MAAM,GAAGP,WAAW,CAACQ,SAAS,CAAC,CAAC;IACtC,IAAID,MAAM,EAAE;MACVH,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAG3C,IAAI,EAAE;QAC3BmB,SAAS,EAAE;MACb,CAAC,CAAC;IACJ;IACAyB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAG5C,IAAI,EAAE8C,MAAM,GAAG,IAAIE,KAAK,CAAC,gBAAgB,CAAC,GAAGC,SAAS,CAAC;EACzE,CAAC,EAAE,CAACV,WAAW,EAAEM,EAAE,EAAED,aAAa,EAAED,oBAAoB,CAAC,CAAC;EAE1D,OAAO,IAAI;AACb;AAEA9D,iBAAiB,CAACqE,YAAY,GAAGxE,qBAAqB;AACtDG,iBAAiB,CAACsE,qBAAqB,GAAGF,SAAS;AAEnD,eAAepE,iBAAiB"}
1
+ {"version":3,"file":"Isolation.js","names":["React","useCallback","useContext","useEffect","useMemo","useReducer","useRef","pointer","extendDeep","isAsync","useId","useDataValue","Context","DataContext","Provider","SectionContext","IsolationCommitButton","clearedData","structuredClone","IsolationProvider","props","children","onPathChange","onCommit","onCommitProp","onClear","onClearProp","transformOnCommit","transformOnCommitProp","commitHandleRef","bubbleValidation","data","defaultData","forceUpdate","internalDataRef","localDataRef","dataContextRef","outerContext","path","pathSection","handlePathChange","handlePathChangeOuter","dataOuter","moveValueToPath","onPathChangeHandler","value","current","set","replace","removeSectionPath","has","get","getMountedData","mounterData","_dataContextRef$curre","mountedFieldsRef","field","isMounted","localData","Object","assign","additionalArgs","_props$path","mountedData","outerData","isolatedData","stop","preventCommit","commitData","result","Array","isArray","providerProps","_objectSpread","isolate","createElement","Consumer","dataContext","handleSubmit","BubbleValidation","_ref","setMountedFieldState","setFieldError","id","errors","hasErrors","Error","undefined","CommitButton","_supportsSpacingProps"],"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 '../../utils/json-pointer'\nimport { extendDeep } from '../../../../shared/component-helper'\nimport { isAsync } from '../../../../shared/helpers/isAsync'\nimport useId from '../../../../shared/helpers/useId'\nimport useDataValue from '../../hooks/useDataValue'\nimport {\n Context as DataContext,\n ContextState,\n Provider,\n} 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 it's a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport type IsolationProviderProps<Data extends JsonObject> = {\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) => JsonObject\n /**\n * Prevent the form from being submitted when there are fields with errors inside the Form.Isolation.\n */\n bubbleValidation?: boolean\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 extends JsonObject> = 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 bubbleValidation,\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(DataContext)\n const { path: pathSection } = useContext(SectionContext) || {}\n const { handlePathChange: handlePathChangeOuter, data: dataOuter } =\n outerContext || {}\n const { moveValueToPath } = useDataValue()\n\n const onPathChangeHandler = useCallback(\n async (path: Path, value: unknown) => {\n if (localDataRef.current === clearedData) {\n localDataRef.current = {}\n }\n\n pointer.set(localDataRef.current, path, value)\n\n if (pathSection) {\n path = path.replace(pathSection, '')\n }\n\n return await onPathChange?.(path, value)\n },\n [onPathChange, pathSection]\n )\n\n const removeSectionPath = useCallback(\n (data: Data) => {\n return pathSection && pointer.has(data, pathSection)\n ? pointer.get(data, pathSection)\n : data\n },\n [pathSection]\n )\n\n const getMountedData = useCallback((data: Data) => {\n const mounterData = {} as Data\n for (const path in dataContextRef.current?.mountedFieldsRef.current) {\n const field = dataContextRef.current.mountedFieldsRef.current[path]\n if (field.isMounted && pointer.has(data, path)) {\n pointer.set(mounterData, path, pointer.get(data, path))\n }\n }\n return mounterData\n }, [])\n\n useEffect(() => {\n localDataRef.current = getMountedData(internalDataRef.current)\n }, [getMountedData])\n\n // Update the isolated data with the outside context data\n useMemo(() => {\n if (localDataRef.current === clearedData) {\n return // stop here\n }\n\n let localData = data ?? defaultData\n\n if (\n localData &&\n pathSection &&\n !pointer.has(localDataRef.current, pathSection)\n ) {\n localData = moveValueToPath<Data>(pathSection, localData)\n }\n\n internalDataRef.current = Object.assign(\n {},\n localData || dataOuter || {},\n localDataRef.current\n )\n }, [data, defaultData, pathSection, dataOuter, moveValueToPath])\n\n const onCommit: IsolationProps<Data>['onCommit'] = useCallback(\n async (data: Data, additionalArgs) => {\n const mountedData = getMountedData(data)\n const path = props.path ?? '/'\n const outerData =\n props.path && pointer.has(dataOuter, path)\n ? pointer.get(dataOuter, path)\n : dataOuter\n\n localDataRef.current = mountedData\n let isolatedData = structuredClone(mountedData)\n\n if (typeof transformOnCommitProp === 'function') {\n isolatedData = transformOnCommitProp(isolatedData, outerData)\n }\n\n let stop = false\n additionalArgs.preventCommit = () => (stop = true)\n\n const commitData = removeSectionPath(isolatedData)\n const result = isAsync(onCommitProp)\n ? await onCommitProp?.(commitData, additionalArgs)\n : onCommitProp?.(commitData, additionalArgs)\n\n if (stop) {\n return // stop here\n }\n\n // Commit the internal data to the nested context data\n await handlePathChangeOuter?.(\n path,\n Array.isArray(isolatedData)\n ? isolatedData\n : extendDeep({}, outerData, isolatedData)\n )\n\n return result\n },\n [\n getMountedData,\n props.path,\n dataOuter,\n transformOnCommitProp,\n handlePathChangeOuter,\n onCommitProp,\n removeSectionPath,\n ]\n )\n\n const onClear = useCallback(() => {\n localDataRef.current = clearedData\n internalDataRef.current = clearedData as Data\n forceUpdate()\n onClearProp?.()\n }, [onClearProp])\n\n const providerProps: IsolationProps<Data> = {\n ...props,\n [defaultData ? 'defaultData' : 'data']: internalDataRef.current,\n onPathChange: onPathChangeHandler,\n onCommit,\n onClear,\n isolate: true,\n }\n\n return (\n <Provider {...providerProps}>\n <DataContext.Consumer>\n {(dataContext) => {\n dataContextRef.current = dataContext\n\n if (commitHandleRef) {\n commitHandleRef.current = dataContext?.handleSubmit\n }\n\n return children\n }}\n </DataContext.Consumer>\n\n {bubbleValidation && (\n <BubbleValidation outerContext={outerContext} />\n )}\n </Provider>\n )\n}\n\nfunction BubbleValidation({ outerContext }) {\n const { setMountedFieldState, setFieldError } = outerContext || {}\n const dataContext = useContext(DataContext)\n\n const id = useId()\n useEffect(() => {\n const path = `/${id}`\n const errors = dataContext.hasErrors()\n if (errors) {\n setMountedFieldState?.(path, {\n isMounted: true,\n })\n }\n setFieldError?.(path, errors ? new Error('Form.Isolation') : undefined)\n }, [dataContext, id, setFieldError, setMountedFieldState])\n\n return null\n}\n\nIsolationProvider.CommitButton = IsolationCommitButton\nIsolationProvider._supportsSpacingProps = undefined\n\nexport default IsolationProvider\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ export const EditContainerProperties = {
5
5
  status: 'optional'
6
6
  },
7
7
  variant: {
8
- doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',
8
+ doc: 'Defines the variant of the container. Can be `outline`, `filled` or `basic`. Defaults to `outline`.',
9
9
  type: 'string',
10
10
  status: 'optional'
11
11
  },
@@ -1 +1 @@
1
- {"version":3,"file":"EditContainerDocs.js","names":["EditContainerProperties","title","doc","type","status","variant","EditContainerEvents","onDone","onCancel"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/EditContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../../shared/types'\n\nexport const EditContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n\n '[FlexVertical](/uilib/layout/flex/container/properties)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const EditContainerEvents: PropertiesTableProps = {\n onDone: {\n doc: 'Callback for the done button.',\n type: 'Function',\n status: 'optional',\n },\n onCancel: {\n doc: 'Callback for the cancel button.',\n type: 'Function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACPH,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EAED,yDAAyD,EAAE;IACzDF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAME,mBAAyC,GAAG;EACvDC,MAAM,EAAE;IACNL,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDI,QAAQ,EAAE;IACRN,GAAG,EAAE,iCAAiC;IACtCC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
1
+ {"version":3,"file":"EditContainerDocs.js","names":["EditContainerProperties","title","doc","type","status","variant","EditContainerEvents","onDone","onCancel"],"sources":["../../../../../../../src/extensions/forms/Form/Section/EditContainer/EditContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../../shared/types'\n\nexport const EditContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline`, `filled` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n\n '[FlexVertical](/uilib/layout/flex/container/properties)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const EditContainerEvents: PropertiesTableProps = {\n onDone: {\n doc: 'Callback for the done button.',\n type: 'Function',\n status: 'optional',\n },\n onCancel: {\n doc: 'Callback for the cancel button.',\n type: 'Function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACPH,GAAG,EAAE,qGAAqG;IAC1GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EAED,yDAAyD,EAAE;IACzDF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAME,mBAAyC,GAAG;EACvDC,MAAM,EAAE;IACNL,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDI,QAAQ,EAAE;IACRN,GAAG,EAAE,iCAAiC;IACtCC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
@@ -8,7 +8,7 @@ import type { SharedFieldBlockProps } from '../../FieldBlock';
8
8
  export type OverwritePropsDefaults = {
9
9
  [key: Path]: (FieldProps & SharedFieldBlockProps) | OverwritePropsDefaults;
10
10
  };
11
- export type SectionProps<overwriteProps = OverwritePropsDefaults> = {
11
+ export type SectionProps<overwriteProps = OverwritePropsDefaults, Data extends JsonObject = JsonObject> = {
12
12
  /**
13
13
  * Path to the section.
14
14
  * When defined, fields inside the section will get this path as a prefix of their own path.
@@ -38,11 +38,11 @@ export type SectionProps<overwriteProps = OverwritePropsDefaults> = {
38
38
  * Can be `fieldSchema`, `sectionSchema` or `contextSchema.
39
39
  */
40
40
  errorPrioritization?: SectionContextState['errorPrioritization'];
41
- } & Pick<DataContextProps<JsonObject>, 'data' | 'defaultData' | 'onChange' | 'translations'>;
42
- export type LocalProps = SectionProps & {
41
+ } & Pick<DataContextProps<Data>, 'data' | 'defaultData' | 'onChange' | 'translations'>;
42
+ export type LocalProps<overwriteProps = OverwritePropsDefaults> = SectionProps<overwriteProps> & {
43
43
  children: React.ReactNode;
44
44
  };
45
- declare function SectionComponent(props: LocalProps): import("react/jsx-runtime").JSX.Element;
45
+ declare function SectionComponent<overwriteProps = OverwritePropsDefaults>(props: LocalProps<overwriteProps>): import("react/jsx-runtime").JSX.Element;
46
46
  declare namespace SectionComponent {
47
47
  var Toolbar: typeof import("./Toolbar").default;
48
48
  var ViewContainer: typeof import("./ViewContainer/ViewContainer").default;
@@ -58,11 +58,12 @@ function SectionComponent(props) {
58
58
  defaultData: defaultData
59
59
  }, React.createElement(SectionComponent, props));
60
60
  }
61
+ const sectionProps = props;
61
62
  return React.createElement(SectionContext.Provider, {
62
63
  value: {
63
64
  path: identifier,
64
65
  errorPrioritization,
65
- props
66
+ props: sectionProps
66
67
  }
67
68
  }, React.createElement(SectionContainerProvider, {
68
69
  validateInitially: validateInitially,
@@ -1 +1 @@
1
- {"version":3,"file":"Section.js","names":["React","useCallback","useContext","useMemo","SectionContext","DataContext","Provider","FieldPropsProvider","SectionContainerProvider","ViewContainer","EditContainer","Toolbar","SectionComponent","props","_path$startsWith","_nestedProps$overwrit","path","overwriteProps","translations","required","data","defaultData","validateInitially","containerMode","onChange","errorPrioritization","children","startsWith","call","Error","hasContext","addOnChangeHandler","nestedPath","nestedProps","handleChange","_len","arguments","length","args","Array","_key","identifier","fieldProps","undefined","createElement","value","_extends","_objectSpread","substring","_supportsSpacingProps"],"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 '../../Field/Provider'\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 { Path, FieldProps, OnChange } from '../../types'\nimport type { JsonObject } from '../../utils/json-pointer'\nimport type { SharedFieldBlockProps } from '../../FieldBlock'\nimport Toolbar from './Toolbar'\n\nexport type OverwritePropsDefaults = {\n [key: Path]:\n | (FieldProps & SharedFieldBlockProps)\n | 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 * If set to `true`, the whole section will be validated initially. All fields will then automatically get `validateInitially` and show their error messages. Can be useful in combination with `containerMode=\"auto\"`.\n */\n validateInitially?: boolean\n\n /**\n * Defines the container mode. Can be `view`, `edit` or `auto`.\n * When set to `auto`, the mode will initially be \"edit\" if fields contain errors.\n * Defaults to `auto`.\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<JsonObject>,\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 validateInitially,\n containerMode = 'auto',\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\n validateInitially={validateInitially}\n containerMode={containerMode}\n >\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.Toolbar = Toolbar\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","useCallback","useContext","useMemo","SectionContext","DataContext","Provider","FieldPropsProvider","SectionContainerProvider","ViewContainer","EditContainer","Toolbar","SectionComponent","props","_path$startsWith","_nestedProps$overwrit","path","overwriteProps","translations","required","data","defaultData","validateInitially","containerMode","onChange","errorPrioritization","children","startsWith","call","Error","hasContext","addOnChangeHandler","nestedPath","nestedProps","handleChange","_len","arguments","length","args","Array","_key","identifier","fieldProps","undefined","createElement","sectionProps","value","_extends","_objectSpread","substring","_supportsSpacingProps"],"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 '../../Field/Provider'\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 { Path, FieldProps, OnChange } from '../../types'\nimport type { JsonObject } from '../../utils/json-pointer'\nimport type { SharedFieldBlockProps } from '../../FieldBlock'\nimport Toolbar from './Toolbar'\n\nexport type OverwritePropsDefaults = {\n [key: Path]:\n | (FieldProps & SharedFieldBlockProps)\n | OverwritePropsDefaults\n}\nexport type SectionProps<\n overwriteProps = OverwritePropsDefaults,\n Data extends JsonObject = JsonObject,\n> = {\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 * If set to `true`, the whole section will be validated initially. All fields will then automatically get `validateInitially` and show their error messages. Can be useful in combination with `containerMode=\"auto\"`.\n */\n validateInitially?: boolean\n\n /**\n * Defines the container mode. Can be `view`, `edit` or `auto`.\n * When set to `auto`, the mode will initially be \"edit\" if fields contain errors.\n * Defaults to `auto`.\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<Data>,\n 'data' | 'defaultData' | 'onChange' | 'translations'\n>\n\nexport type LocalProps<overwriteProps = OverwritePropsDefaults> =\n SectionProps<overwriteProps> & {\n children: React.ReactNode\n }\n\nfunction SectionComponent<overwriteProps = OverwritePropsDefaults>(\n props: LocalProps<overwriteProps>\n) {\n const {\n path,\n overwriteProps,\n translations,\n required,\n data,\n defaultData,\n validateInitially,\n containerMode = 'auto',\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 const sectionProps = props as SectionProps\n\n return (\n <SectionContext.Provider\n value={{\n path: identifier,\n errorPrioritization,\n props: sectionProps,\n }}\n >\n <SectionContainerProvider\n validateInitially={validateInitially}\n containerMode={containerMode}\n >\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.Toolbar = Toolbar\nSectionComponent.ViewContainer = ViewContainer\nSectionComponent.EditContainer = EditContainer\n\nSectionComponent._supportsSpacingProps = undefined\nexport default SectionComponent\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ export const ViewContainerProperties = {
5
5
  status: 'optional'
6
6
  },
7
7
  variant: {
8
- doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',
8
+ doc: 'Defines the variant of the container. Can be `outline`, `filled` or `basic`. Defaults to `outline`.',
9
9
  type: 'string',
10
10
  status: 'optional'
11
11
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ViewContainerDocs.js","names":["ViewContainerProperties","title","doc","type","status","variant","ViewContainerEvents","onEdit"],"sources":["../../../../../../../src/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../../shared/types'\n\nexport const ViewContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n '[FlexVertical](/uilib/layout/flex/container/properties)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const ViewContainerEvents: PropertiesTableProps = {\n onEdit: {\n doc: 'Callback for the edit button.',\n type: 'Function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACPH,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACD,yDAAyD,EAAE;IACzDF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAME,mBAAyC,GAAG;EACvDC,MAAM,EAAE;IACNL,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
1
+ {"version":3,"file":"ViewContainerDocs.js","names":["ViewContainerProperties","title","doc","type","status","variant","ViewContainerEvents","onEdit"],"sources":["../../../../../../../src/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../../shared/types'\n\nexport const ViewContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline`, `filled` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n '[FlexVertical](/uilib/layout/flex/container/properties)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const ViewContainerEvents: PropertiesTableProps = {\n onEdit: {\n doc: 'Callback for the edit button.',\n type: 'Function',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,OAAO,EAAE;IACPH,GAAG,EAAE,qGAAqG;IAC1GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACD,yDAAyD,EAAE;IACzDF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAME,mBAAyC,GAAG;EACvDC,MAAM,EAAE;IACNL,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV;AACF,CAAC"}
@@ -6,7 +6,7 @@ export type SectionContainerProps = {
6
6
  * Defines the variant of the ViewContainer or EditContainer. Can be `outline`.
7
7
  * Defaults to `outline`.
8
8
  */
9
- variant?: 'outline' | 'basic';
9
+ variant?: 'outline' | 'basic' | 'filled';
10
10
  };
11
11
  export type Props = {
12
12
  mode: ContainerMode;
@@ -74,6 +74,7 @@ function SectionContainer(props) {
74
74
  }, React.createElement(Card, _extends({
75
75
  stack: true,
76
76
  innerSpace: variant === 'basic' ? false : 'small',
77
+ filled: variant === 'filled',
77
78
  className: "dnb-forms-section-block__inner"
78
79
  }, restProps, {
79
80
  "aria-label": ariaLabel,
@@ -1 +1 @@
1
- {"version":3,"file":"SectionContainer.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","classnames","Card","HeightAnimation","SectionContainerContext","FieldBoundaryContext","SectionContainer","props","mode","open","ariaLabel","onAnimationEnd","className","children","variant","omitFocusManagementRef","current","undefined","restProps","_objectWithoutProperties","_excluded","forceUpdate","containerRef","contextRef","hasError","hasSubmitError","containerMode","openRef","setOpenState","setFocus","state","_containerRef$current","_containerRef$current2","focus","call","handleAnimationEnd","createElement","duration","keepInDOM","_extends","stack","innerSpace","innerRef","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../../src/extensions/forms/Form/Section/containers/SectionContainer.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { Card, HeightAnimation } from '../../../../../components'\nimport SectionContainerContext, {\n SectionContainerContextState,\n} from './SectionContainerContext'\nimport { Props as FlexContainerProps } from '../../../../../components/flex/Container'\nimport FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext'\n\nexport type ContainerMode = 'view' | 'edit' | 'auto'\nexport type SectionContainerProps = {\n /**\n * Defines the variant of the ViewContainer or EditContainer. Can be `outline`.\n * Defaults to `outline`.\n */\n variant?: 'outline' | 'basic'\n}\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n omitFocusManagementRef?: React.MutableRefObject<boolean>\n} & SectionContainerProps\n\nfunction SectionContainer(props: Props & FlexContainerProps) {\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n variant = 'outline',\n omitFocusManagementRef = { current: undefined },\n ...restProps\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const containerRef = useRef<HTMLDivElement>()\n const contextRef = useRef<\n SectionContainerContextState & {\n hasError?: boolean\n hasSubmitError?: boolean\n }\n >()\n contextRef.current = useContext(SectionContainerContext) || {}\n\n const { hasError, hasSubmitError } =\n useContext(FieldBoundaryContext) || {}\n contextRef.current.hasError = hasError\n contextRef.current.hasSubmitError = hasSubmitError\n\n // - Set the container mode to \"edit\" if we have an error\n if (hasSubmitError) {\n contextRef.current.containerMode = 'edit'\n }\n\n const { containerMode } = contextRef.current\n\n const openRef = useRef(open ?? containerMode === mode)\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useEffect(() => {\n // - Set the open state, if it's controlled\n if (typeof open !== 'undefined') {\n setOpenState(open)\n } else {\n // - Open the block with animation, if it's in the right mode\n if (openRef.current !== (containerMode === mode)) {\n setOpenState(containerMode === mode)\n }\n }\n }, [containerMode, mode, open, setOpenState])\n\n const setFocus = useCallback(\n (state) => {\n if (state === 'opened') {\n if (\n !omitFocusManagementRef.current &&\n !contextRef.current.hasSubmitError\n ) {\n containerRef?.current?.focus?.()\n }\n omitFocusManagementRef.current = false\n }\n },\n [omitFocusManagementRef]\n )\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state) => {\n setFocus(state)\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, setFocus]\n )\n\n return (\n <HeightAnimation\n className={classnames(\n 'dnb-forms-section-block',\n variant && `dnb-forms-section-block--variant-${variant}`,\n omitFocusManagementRef.current &&\n 'dnb-forms-section-block--no-animation',\n contextRef.current.hasSubmitError &&\n 'dnb-forms-section-block--error',\n className\n )}\n open={openRef.current}\n onAnimationEnd={handleAnimationEnd}\n duration={450}\n keepInDOM // Ensure fields get mounted so they will sync with the data context\n >\n <Card\n stack\n innerSpace={variant === 'basic' ? false : 'small'}\n className=\"dnb-forms-section-block__inner\"\n {...restProps}\n aria-label={ariaLabel}\n innerRef={containerRef}\n tabIndex={-1}\n >\n {children}\n </Card>\n </HeightAnimation>\n )\n}\n\nSectionContainer._supportsSpacingProps = true\nexport default SectionContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"SectionContainer.js","names":["React","useCallback","useContext","useEffect","useReducer","useRef","classnames","Card","HeightAnimation","SectionContainerContext","FieldBoundaryContext","SectionContainer","props","mode","open","ariaLabel","onAnimationEnd","className","children","variant","omitFocusManagementRef","current","undefined","restProps","_objectWithoutProperties","_excluded","forceUpdate","containerRef","contextRef","hasError","hasSubmitError","containerMode","openRef","setOpenState","setFocus","state","_containerRef$current","_containerRef$current2","focus","call","handleAnimationEnd","createElement","duration","keepInDOM","_extends","stack","innerSpace","filled","innerRef","tabIndex","_supportsSpacingProps"],"sources":["../../../../../../../src/extensions/forms/Form/Section/containers/SectionContainer.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { Card, HeightAnimation } from '../../../../../components'\nimport SectionContainerContext, {\n SectionContainerContextState,\n} from './SectionContainerContext'\nimport { Props as FlexContainerProps } from '../../../../../components/flex/Container'\nimport FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext'\n\nexport type ContainerMode = 'view' | 'edit' | 'auto'\nexport type SectionContainerProps = {\n /**\n * Defines the variant of the ViewContainer or EditContainer. Can be `outline`.\n * Defaults to `outline`.\n */\n variant?: 'outline' | 'basic' | 'filled'\n}\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n omitFocusManagementRef?: React.MutableRefObject<boolean>\n} & SectionContainerProps\n\nfunction SectionContainer(props: Props & FlexContainerProps) {\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n variant = 'outline',\n omitFocusManagementRef = { current: undefined },\n ...restProps\n } = props\n\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const containerRef = useRef<HTMLDivElement>()\n const contextRef = useRef<\n SectionContainerContextState & {\n hasError?: boolean\n hasSubmitError?: boolean\n }\n >()\n contextRef.current = useContext(SectionContainerContext) || {}\n\n const { hasError, hasSubmitError } =\n useContext(FieldBoundaryContext) || {}\n contextRef.current.hasError = hasError\n contextRef.current.hasSubmitError = hasSubmitError\n\n // - Set the container mode to \"edit\" if we have an error\n if (hasSubmitError) {\n contextRef.current.containerMode = 'edit'\n }\n\n const { containerMode } = contextRef.current\n\n const openRef = useRef(open ?? containerMode === mode)\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useEffect(() => {\n // - Set the open state, if it's controlled\n if (typeof open !== 'undefined') {\n setOpenState(open)\n } else {\n // - Open the block with animation, if it's in the right mode\n if (openRef.current !== (containerMode === mode)) {\n setOpenState(containerMode === mode)\n }\n }\n }, [containerMode, mode, open, setOpenState])\n\n const setFocus = useCallback(\n (state) => {\n if (state === 'opened') {\n if (\n !omitFocusManagementRef.current &&\n !contextRef.current.hasSubmitError\n ) {\n containerRef?.current?.focus?.()\n }\n omitFocusManagementRef.current = false\n }\n },\n [omitFocusManagementRef]\n )\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state) => {\n setFocus(state)\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, setFocus]\n )\n\n return (\n <HeightAnimation\n className={classnames(\n 'dnb-forms-section-block',\n variant && `dnb-forms-section-block--variant-${variant}`,\n omitFocusManagementRef.current &&\n 'dnb-forms-section-block--no-animation',\n contextRef.current.hasSubmitError &&\n 'dnb-forms-section-block--error',\n className\n )}\n open={openRef.current}\n onAnimationEnd={handleAnimationEnd}\n duration={450}\n keepInDOM // Ensure fields get mounted so they will sync with the data context\n >\n <Card\n stack\n innerSpace={variant === 'basic' ? false : 'small'}\n filled={variant === 'filled'}\n className=\"dnb-forms-section-block__inner\"\n {...restProps}\n aria-label={ariaLabel}\n innerRef={containerRef}\n tabIndex={-1}\n >\n {children}\n </Card>\n </HeightAnimation>\n )\n}\n\nSectionContainer._supportsSpacingProps = true\nexport default SectionContainer\n"],"mappings":"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"}
@@ -8,12 +8,6 @@
8
8
  display: flex;
9
9
  flex-direction: column;
10
10
  }
11
- .dnb-forms-section-block--variant-basic {
12
- --border-color: transparent;
13
- }
14
- .dnb-forms-section-block--variant-basic .dnb-card {
15
- --card-outline-color: transparent;
16
- }
17
11
  .dnb-forms-section-block__inner {
18
12
  flex: 1;
19
13
  outline: none;
@@ -33,6 +27,16 @@
33
27
  .dnb-forms-section-block__inner .dnb-dl .dnb-dd {
34
28
  margin-bottom: 0;
35
29
  }
30
+ .dnb-forms-section-block--variant-basic {
31
+ --border-color: transparent;
32
+ }
33
+ .dnb-forms-section-block--variant-basic .dnb-card, .dnb-card .dnb-forms-section-block--variant-basic .dnb-card {
34
+ --card-outline-color: transparent;
35
+ }
36
+ .dnb-forms-section-block--variant-filled .dnb-forms-section-block__inner {
37
+ --space: var(--spacing-small);
38
+ background-color: var(--color-lavender);
39
+ }
36
40
  .dnb-forms-section-block--no-animation .dnb-forms-section-block__inner {
37
41
  transform: translateY(0);
38
42
  }
@@ -1 +1 @@
1
- .dnb-forms-section-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-section-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block--variant-basic{--border-color:transparent}.dnb-forms-section-block--variant-basic .dnb-card{--card-outline-color:transparent}.dnb-forms-section-block__inner{flex:1;margin-bottom:var(--space);outline:none;transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-small){--space:var(--spacing-small)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-medium){--space:var(--spacing-medium)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-large){--space:var(--spacing-large)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block--no-animation .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}
1
+ .dnb-forms-section-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-section-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block__inner{flex:1;margin-bottom:var(--space);outline:none;transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-small){--space:var(--spacing-small)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-medium){--space:var(--spacing-medium)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-large){--space:var(--spacing-large)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block--variant-basic{--border-color:transparent}.dnb-card .dnb-forms-section-block--variant-basic .dnb-card,.dnb-forms-section-block--variant-basic .dnb-card{--card-outline-color:transparent}.dnb-forms-section-block--variant-filled .dnb-forms-section-block__inner{--space:var(--spacing-small);background-color:var(--color-lavender)}.dnb-forms-section-block--no-animation .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}
@@ -11,13 +11,6 @@
11
11
  flex-direction: column;
12
12
  }
13
13
 
14
- &--variant-basic {
15
- --border-color: transparent;
16
- .dnb-card {
17
- --card-outline-color: transparent;
18
- }
19
- }
20
-
21
14
  &__inner {
22
15
  flex: 1;
23
16
  outline: none; // for JavaSCript focus
@@ -43,6 +36,19 @@
43
36
  }
44
37
  }
45
38
 
39
+ &--variant-basic {
40
+ --border-color: transparent;
41
+ .dnb-card,
42
+ .dnb-card & .dnb-card {
43
+ --card-outline-color: transparent;
44
+ }
45
+ }
46
+
47
+ &--variant-filled &__inner {
48
+ --space: var(--spacing-small);
49
+ background-color: var(--color-lavender);
50
+ }
51
+
46
52
  &--no-animation &__inner {
47
53
  transform: translateY(0);
48
54
  }
@@ -0,0 +1,3 @@
1
+ .dnb-forms-section-block--variant-filled .dnb-forms-section-block__inner {
2
+ --space: var(--spacing-small);
3
+ }
@@ -0,0 +1 @@
1
+ .dnb-forms-section-block--variant-filled .dnb-forms-section-block__inner{--space:var(--spacing-small)}
@@ -0,0 +1,7 @@
1
+ .dnb-forms-section {
2
+ &-block {
3
+ &--variant-filled &__inner {
4
+ --space: var(--spacing-small);
5
+ }
6
+ }
7
+ }
@@ -0,0 +1,4 @@
1
+ .dnb-forms-section-block--variant-filled .dnb-forms-section-block__inner {
2
+ --space: var(--spacing-small);
3
+ background-color: var(--color-lavender);
4
+ }
@@ -0,0 +1 @@
1
+ .dnb-forms-section-block--variant-filled .dnb-forms-section-block__inner{--space:var(--spacing-small);background-color:var(--color-lavender)}
@@ -0,0 +1,8 @@
1
+ .dnb-forms-section {
2
+ &-block {
3
+ &--variant-filled &__inner {
4
+ --space: var(--spacing-small);
5
+ background-color: var(--color-lavender);
6
+ }
7
+ }
8
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ import "./dnb-section-theme-ui.min.css";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","names":[],"sources":["../../../../../../../../src/extensions/forms/Form/Section/style/themes/ui.js"],"sourcesContent":["/**\n * Imports the default theme\n *\n */\n\nimport './dnb-section-theme-ui.scss'\n"],"mappings":"AAKA,OAAO,gCAA6B"}
@@ -24,17 +24,17 @@ function SubmitButton(props) {
24
24
  const {
25
25
  formState,
26
26
  handleSubmit,
27
- isInsideFormElement,
27
+ hasElementRef,
28
28
  props: dataContextProps
29
29
  } = useContext(DataContext) || {};
30
30
  const {
31
31
  isolate
32
32
  } = dataContextProps || {};
33
33
  const onClickHandler = useCallback(() => {
34
- if (!isInsideFormElement) {
34
+ if (!(hasElementRef !== null && hasElementRef !== void 0 && hasElementRef.current)) {
35
35
  handleSubmit === null || handleSubmit === void 0 ? void 0 : handleSubmit();
36
36
  }
37
- }, [isInsideFormElement, handleSubmit]);
37
+ }, [hasElementRef, handleSubmit]);
38
38
  return React.createElement(Button, _extends({
39
39
  className: classnames('dnb-forms-submit-button', className),
40
40
  onClick: onClickHandler,
@@ -1 +1 @@
1
- {"version":3,"file":"SubmitButton.js","names":["React","useCallback","useContext","classnames","DataContext","Button","SubmitIndicator","useTranslation","send","SubmitButton","props","translations","variant","className","showIndicator","children","text","rest","_objectWithoutProperties","_excluded","content","sendText","formState","handleSubmit","isInsideFormElement","dataContextProps","isolate","onClickHandler","createElement","_extends","onClick","type","icon","state","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/SubmitButton/SubmitButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport type { ComponentProps } from '../../types'\nimport DataContext from '../../DataContext/Context'\nimport Button, { ButtonProps } from '../../../../components/button/Button'\nimport SubmitIndicator from '../SubmitIndicator'\nimport useTranslation from '../../hooks/useTranslation'\nimport { send } from '../../../../icons'\n\nexport type Props = {\n /**\n * Show the submit indicator\n */\n showIndicator?: boolean\n} & ComponentProps &\n Omit<ButtonProps, 'variant'> &\n Partial<React.HTMLAttributes<HTMLButtonElement | HTMLAnchorElement>> & {\n variant?: 'send'\n }\n\nfunction SubmitButton(props: Props) {\n const translations = useTranslation().SubmitButton\n\n const { variant, className, showIndicator, children, text, ...rest } =\n props\n\n const content =\n text ||\n children ||\n (variant === 'send' ? translations.sendText : translations.text)\n\n const {\n formState,\n handleSubmit,\n isInsideFormElement,\n props: dataContextProps,\n } = useContext(DataContext) || {}\n const { isolate } = dataContextProps || {}\n\n const onClickHandler = useCallback(() => {\n if (!isInsideFormElement) {\n handleSubmit?.()\n }\n }, [isInsideFormElement, handleSubmit])\n\n return (\n <Button\n className={classnames('dnb-forms-submit-button', className)}\n onClick={onClickHandler}\n type={isolate ? 'button' : 'submit'}\n icon={variant === 'send' ? send : null}\n {...rest}\n >\n {content}\n\n <SubmitIndicator state={showIndicator ? 'pending' : formState} />\n </Button>\n )\n}\n\nSubmitButton._supportsSpacingProps = true\nexport default SubmitButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,MAAM,MAAuB,sCAAsC;AAC1E,OAAOC,eAAe,MAAM,oBAAoB;AAChD,OAAOC,cAAc,MAAM,4BAA4B;AACvD,SAASC,IAAI,QAAQ,mBAAmB;AAaxC,SAASC,YAAYA,CAACC,KAAY,EAAE;EAClC,MAAMC,YAAY,GAAGJ,cAAc,CAAC,CAAC,CAACE,YAAY;EAElD,MAAM;MAAEG,OAAO;MAAEC,SAAS;MAAEC,aAAa;MAAEC,QAAQ;MAAEC;IAAc,CAAC,GAClEN,KAAK;IADuDO,IAAI,GAAAC,wBAAA,CAChER,KAAK,EAAAS,SAAA;EAEP,MAAMC,OAAO,GACXJ,IAAI,IACJD,QAAQ,KACPH,OAAO,KAAK,MAAM,GAAGD,YAAY,CAACU,QAAQ,GAAGV,YAAY,CAACK,IAAI,CAAC;EAElE,MAAM;IACJM,SAAS;IACTC,YAAY;IACZC,mBAAmB;IACnBd,KAAK,EAAEe;EACT,CAAC,GAAGvB,UAAU,CAACE,WAAW,CAAC,IAAI,CAAC,CAAC;EACjC,MAAM;IAAEsB;EAAQ,CAAC,GAAGD,gBAAgB,IAAI,CAAC,CAAC;EAE1C,MAAME,cAAc,GAAG1B,WAAW,CAAC,MAAM;IACvC,IAAI,CAACuB,mBAAmB,EAAE;MACxBD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG,CAAC;IAClB;EACF,CAAC,EAAE,CAACC,mBAAmB,EAAED,YAAY,CAAC,CAAC;EAEvC,OACEvB,KAAA,CAAA4B,aAAA,CAACvB,MAAM,EAAAwB,QAAA;IACLhB,SAAS,EAAEV,UAAU,CAAC,yBAAyB,EAAEU,SAAS,CAAE;IAC5DiB,OAAO,EAAEH,cAAe;IACxBI,IAAI,EAAEL,OAAO,GAAG,QAAQ,GAAG,QAAS;IACpCM,IAAI,EAAEpB,OAAO,KAAK,MAAM,GAAGJ,IAAI,GAAG;EAAK,GACnCS,IAAI,GAEPG,OAAO,EAERpB,KAAA,CAAA4B,aAAA,CAACtB,eAAe;IAAC2B,KAAK,EAAEnB,aAAa,GAAG,SAAS,GAAGQ;EAAU,CAAE,CAC1D,CAAC;AAEb;AAEAb,YAAY,CAACyB,qBAAqB,GAAG,IAAI;AACzC,eAAezB,YAAY"}
1
+ {"version":3,"file":"SubmitButton.js","names":["React","useCallback","useContext","classnames","DataContext","Button","SubmitIndicator","useTranslation","send","SubmitButton","props","translations","variant","className","showIndicator","children","text","rest","_objectWithoutProperties","_excluded","content","sendText","formState","handleSubmit","hasElementRef","dataContextProps","isolate","onClickHandler","current","createElement","_extends","onClick","type","icon","state","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Form/SubmitButton/SubmitButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport type { ComponentProps } from '../../types'\nimport DataContext from '../../DataContext/Context'\nimport Button, { ButtonProps } from '../../../../components/button/Button'\nimport SubmitIndicator from '../SubmitIndicator'\nimport useTranslation from '../../hooks/useTranslation'\nimport { send } from '../../../../icons'\n\nexport type Props = {\n /**\n * Show the submit indicator\n */\n showIndicator?: boolean\n} & ComponentProps &\n Omit<ButtonProps, 'variant'> &\n Partial<React.HTMLAttributes<HTMLButtonElement | HTMLAnchorElement>> & {\n variant?: 'send'\n }\n\nfunction SubmitButton(props: Props) {\n const translations = useTranslation().SubmitButton\n\n const { variant, className, showIndicator, children, text, ...rest } =\n props\n\n const content =\n text ||\n children ||\n (variant === 'send' ? translations.sendText : translations.text)\n\n const {\n formState,\n handleSubmit,\n hasElementRef,\n props: dataContextProps,\n } = useContext(DataContext) || {}\n const { isolate } = dataContextProps || {}\n\n const onClickHandler = useCallback(() => {\n if (!hasElementRef?.current) {\n handleSubmit?.()\n }\n }, [hasElementRef, handleSubmit])\n\n return (\n <Button\n className={classnames('dnb-forms-submit-button', className)}\n onClick={onClickHandler}\n type={isolate ? 'button' : 'submit'}\n icon={variant === 'send' ? send : null}\n {...rest}\n >\n {content}\n\n <SubmitIndicator state={showIndicator ? 'pending' : formState} />\n </Button>\n )\n}\n\nSubmitButton._supportsSpacingProps = true\nexport default SubmitButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,MAAM,MAAuB,sCAAsC;AAC1E,OAAOC,eAAe,MAAM,oBAAoB;AAChD,OAAOC,cAAc,MAAM,4BAA4B;AACvD,SAASC,IAAI,QAAQ,mBAAmB;AAaxC,SAASC,YAAYA,CAACC,KAAY,EAAE;EAClC,MAAMC,YAAY,GAAGJ,cAAc,CAAC,CAAC,CAACE,YAAY;EAElD,MAAM;MAAEG,OAAO;MAAEC,SAAS;MAAEC,aAAa;MAAEC,QAAQ;MAAEC;IAAc,CAAC,GAClEN,KAAK;IADuDO,IAAI,GAAAC,wBAAA,CAChER,KAAK,EAAAS,SAAA;EAEP,MAAMC,OAAO,GACXJ,IAAI,IACJD,QAAQ,KACPH,OAAO,KAAK,MAAM,GAAGD,YAAY,CAACU,QAAQ,GAAGV,YAAY,CAACK,IAAI,CAAC;EAElE,MAAM;IACJM,SAAS;IACTC,YAAY;IACZC,aAAa;IACbd,KAAK,EAAEe;EACT,CAAC,GAAGvB,UAAU,CAACE,WAAW,CAAC,IAAI,CAAC,CAAC;EACjC,MAAM;IAAEsB;EAAQ,CAAC,GAAGD,gBAAgB,IAAI,CAAC,CAAC;EAE1C,MAAME,cAAc,GAAG1B,WAAW,CAAC,MAAM;IACvC,IAAI,EAACuB,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAEI,OAAO,GAAE;MAC3BL,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG,CAAC;IAClB;EACF,CAAC,EAAE,CAACC,aAAa,EAAED,YAAY,CAAC,CAAC;EAEjC,OACEvB,KAAA,CAAA6B,aAAA,CAACxB,MAAM,EAAAyB,QAAA;IACLjB,SAAS,EAAEV,UAAU,CAAC,yBAAyB,EAAEU,SAAS,CAAE;IAC5DkB,OAAO,EAAEJ,cAAe;IACxBK,IAAI,EAAEN,OAAO,GAAG,QAAQ,GAAG,QAAS;IACpCO,IAAI,EAAErB,OAAO,KAAK,MAAM,GAAGJ,IAAI,GAAG;EAAK,GACnCS,IAAI,GAEPG,OAAO,EAERpB,KAAA,CAAA6B,aAAA,CAACvB,eAAe;IAAC4B,KAAK,EAAEpB,aAAa,GAAG,SAAS,GAAGQ;EAAU,CAAE,CAC1D,CAAC;AAEb;AAEAb,YAAY,CAAC0B,qBAAqB,GAAG,IAAI;AACzC,eAAe1B,YAAY"}
@@ -1 +1,2 @@
1
- export default function clearData(id: string): void;
1
+ import { SharedStateId } from '../../../../shared/helpers/useSharedState';
2
+ export default function clearData(id: SharedStateId): void;
@@ -1,7 +1,7 @@
1
- import { createSharedState } from '../../../../shared/helpers/useSharedState';
1
+ import { createReferenceKey, createSharedState } from '../../../../shared/helpers/useSharedState';
2
2
  export default function clearData(id) {
3
3
  var _sharedAttachments$da, _sharedAttachments$da2;
4
- const sharedAttachments = createSharedState(id + '-attachments');
4
+ const sharedAttachments = createSharedState(createReferenceKey(id, 'attachments'));
5
5
  (_sharedAttachments$da = (_sharedAttachments$da2 = sharedAttachments.data).clearData) === null || _sharedAttachments$da === void 0 ? void 0 : _sharedAttachments$da.call(_sharedAttachments$da2);
6
6
  }
7
7
  //# sourceMappingURL=clearData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clearData.js","names":["createSharedState","clearData","id","_sharedAttachments$da","_sharedAttachments$da2","sharedAttachments","data","call"],"sources":["../../../../../../src/extensions/forms/Form/data-context/clearData.ts"],"sourcesContent":["import { createSharedState } from '../../../../shared/helpers/useSharedState'\nimport { SharedAttachments } from '../../DataContext/Provider'\n\nexport default function clearData(id: string) {\n const sharedAttachments = createSharedState<SharedAttachments<unknown>>(\n id + '-attachments'\n )\n sharedAttachments.data.clearData?.()\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,2CAA2C;AAG7E,eAAe,SAASC,SAASA,CAACC,EAAU,EAAE;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EAC5C,MAAMC,iBAAiB,GAAGL,iBAAiB,CACzCE,EAAE,GAAG,cACP,CAAC;EACD,CAAAC,qBAAA,IAAAC,sBAAA,GAAAC,iBAAiB,CAACC,IAAI,EAACL,SAAS,cAAAE,qBAAA,uBAAhCA,qBAAA,CAAAI,IAAA,CAAAH,sBAAmC,CAAC;AACtC"}
1
+ {"version":3,"file":"clearData.js","names":["createReferenceKey","createSharedState","clearData","id","_sharedAttachments$da","_sharedAttachments$da2","sharedAttachments","data","call"],"sources":["../../../../../../src/extensions/forms/Form/data-context/clearData.ts"],"sourcesContent":["import {\n SharedStateId,\n createReferenceKey,\n createSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport { SharedAttachments } from '../../DataContext/Provider'\n\nexport default function clearData(id: SharedStateId) {\n const sharedAttachments = createSharedState<SharedAttachments<unknown>>(\n createReferenceKey(id, 'attachments')\n )\n sharedAttachments.data.clearData?.()\n}\n"],"mappings":"AAAA,SAEEA,kBAAkB,EAClBC,iBAAiB,QACZ,2CAA2C;AAGlD,eAAe,SAASC,SAASA,CAACC,EAAiB,EAAE;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EACnD,MAAMC,iBAAiB,GAAGL,iBAAiB,CACzCD,kBAAkB,CAACG,EAAE,EAAE,aAAa,CACtC,CAAC;EACD,CAAAC,qBAAA,IAAAC,sBAAA,GAAAC,iBAAiB,CAACC,IAAI,EAACL,SAAS,cAAAE,qBAAA,uBAAhCA,qBAAA,CAAAI,IAAA,CAAAH,sBAAmC,CAAC;AACtC"}
@@ -1,8 +1,8 @@
1
1
  import pointer from '../../utils/json-pointer';
2
- import { createSharedState } from '../../../../shared/helpers/useSharedState';
2
+ import { createReferenceKey, createSharedState } from '../../../../shared/helpers/useSharedState';
3
3
  export default function getData(id) {
4
4
  const sharedState = createSharedState(id);
5
- const sharedAttachments = createSharedState(id + '-attachments');
5
+ const sharedAttachments = createSharedState(createReferenceKey(id, 'attachments'));
6
6
  const data = sharedState.get();
7
7
  const filterData = filter => {
8
8
  var _sharedAttachments$da, _sharedAttachments$da2;
@@ -1 +1 @@
1
- {"version":3,"file":"getData.js","names":["pointer","createSharedState","getData","id","sharedState","sharedAttachments","data","get","filterData","filter","_sharedAttachments$da","_sharedAttachments$da2","filterDataHandler","call","reduceToVisibleFields","options","_sharedAttachments$da3","_sharedAttachments$da4","visibleDataHandler","getValue","path","has","undefined"],"sources":["../../../../../../src/extensions/forms/Form/data-context/getData.tsx"],"sourcesContent":["import pointer from '../../utils/json-pointer'\nimport {\n SharedStateId,\n createSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport { SharedAttachments } from '../../DataContext/Provider'\nimport type { Path } from '../../types'\nimport type {\n UseDataReturnGetValue,\n UseDataReturnFilterData,\n UseDataReturnVisibleData,\n} from './useData'\n\ntype SetDataReturn<Data> = {\n data: Data\n getValue: UseDataReturnGetValue<Data>\n filterData: UseDataReturnFilterData<Data>\n reduceToVisibleFields: UseDataReturnVisibleData<Data>\n}\n\nexport default function getData<Data>(\n id: SharedStateId\n): SetDataReturn<Data> {\n const sharedState = createSharedState(id)\n const sharedAttachments = createSharedState<SharedAttachments<Data>>(\n id + '-attachments'\n )\n\n const data = sharedState.get() as Data\n\n const filterData: SetDataReturn<Data>['filterData'] = (filter) =>\n sharedAttachments.data?.filterDataHandler?.(data, filter)\n\n const reduceToVisibleFields: SetDataReturn<Data>['reduceToVisibleFields'] =\n (data, options) =>\n sharedAttachments.data?.visibleDataHandler?.(data, options)\n\n const getValue = (path: Path) => {\n if (pointer.has(data, path)) {\n return pointer.get(data, path)\n }\n\n return undefined\n }\n\n return {\n data,\n getValue,\n filterData,\n reduceToVisibleFields,\n }\n}\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,0BAA0B;AAC9C,SAEEC,iBAAiB,QACZ,2CAA2C;AAgBlD,eAAe,SAASC,OAAOA,CAC7BC,EAAiB,EACI;EACrB,MAAMC,WAAW,GAAGH,iBAAiB,CAACE,EAAE,CAAC;EACzC,MAAME,iBAAiB,GAAGJ,iBAAiB,CACzCE,EAAE,GAAG,cACP,CAAC;EAED,MAAMG,IAAI,GAAGF,WAAW,CAACG,GAAG,CAAC,CAAS;EAEtC,MAAMC,UAA6C,GAAIC,MAAM;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAAA,QAAAD,qBAAA,GAC3DL,iBAAiB,CAACC,IAAI,cAAAI,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwBE,iBAAiB,cAAAD,sBAAA,uBAAzCA,sBAAA,CAAAE,IAAA,CAAAH,qBAAA,EAA4CJ,IAAI,EAAEG,MAAM,CAAC;EAAA;EAE3D,MAAMK,qBAAmE,GACvEA,CAACR,IAAI,EAAES,OAAO;IAAA,IAAAC,sBAAA,EAAAC,sBAAA;IAAA,QAAAD,sBAAA,GACZX,iBAAiB,CAACC,IAAI,cAAAU,sBAAA,wBAAAC,sBAAA,GAAtBD,sBAAA,CAAwBE,kBAAkB,cAAAD,sBAAA,uBAA1CA,sBAAA,CAAAJ,IAAA,CAAAG,sBAAA,EAA6CV,IAAI,EAAES,OAAO,CAAC;EAAA;EAE/D,MAAMI,QAAQ,GAAIC,IAAU,IAAK;IAC/B,IAAIpB,OAAO,CAACqB,GAAG,CAACf,IAAI,EAAEc,IAAI,CAAC,EAAE;MAC3B,OAAOpB,OAAO,CAACO,GAAG,CAACD,IAAI,EAAEc,IAAI,CAAC;IAChC;IAEA,OAAOE,SAAS;EAClB,CAAC;EAED,OAAO;IACLhB,IAAI;IACJa,QAAQ;IACRX,UAAU;IACVM;EACF,CAAC;AACH"}
1
+ {"version":3,"file":"getData.js","names":["pointer","createReferenceKey","createSharedState","getData","id","sharedState","sharedAttachments","data","get","filterData","filter","_sharedAttachments$da","_sharedAttachments$da2","filterDataHandler","call","reduceToVisibleFields","options","_sharedAttachments$da3","_sharedAttachments$da4","visibleDataHandler","getValue","path","has","undefined"],"sources":["../../../../../../src/extensions/forms/Form/data-context/getData.tsx"],"sourcesContent":["import pointer from '../../utils/json-pointer'\nimport {\n SharedStateId,\n createReferenceKey,\n createSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport { SharedAttachments } from '../../DataContext/Provider'\nimport type { Path } from '../../types'\nimport type {\n UseDataReturnGetValue,\n UseDataReturnFilterData,\n UseDataReturnVisibleData,\n} from './useData'\n\ntype SetDataReturn<Data> = {\n data: Data\n getValue: UseDataReturnGetValue<Data>\n filterData: UseDataReturnFilterData<Data>\n reduceToVisibleFields: UseDataReturnVisibleData<Data>\n}\n\nexport default function getData<Data>(\n id: SharedStateId\n): SetDataReturn<Data> {\n const sharedState = createSharedState(id)\n const sharedAttachments = createSharedState<SharedAttachments<Data>>(\n createReferenceKey(id, 'attachments')\n )\n\n const data = sharedState.get() as Data\n\n const filterData: SetDataReturn<Data>['filterData'] = (filter) =>\n sharedAttachments.data?.filterDataHandler?.(data, filter)\n\n const reduceToVisibleFields: SetDataReturn<Data>['reduceToVisibleFields'] =\n (data, options) =>\n sharedAttachments.data?.visibleDataHandler?.(data, options)\n\n const getValue = (path: Path) => {\n if (pointer.has(data, path)) {\n return pointer.get(data, path)\n }\n\n return undefined\n }\n\n return {\n data,\n getValue,\n filterData,\n reduceToVisibleFields,\n }\n}\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,0BAA0B;AAC9C,SAEEC,kBAAkB,EAClBC,iBAAiB,QACZ,2CAA2C;AAgBlD,eAAe,SAASC,OAAOA,CAC7BC,EAAiB,EACI;EACrB,MAAMC,WAAW,GAAGH,iBAAiB,CAACE,EAAE,CAAC;EACzC,MAAME,iBAAiB,GAAGJ,iBAAiB,CACzCD,kBAAkB,CAACG,EAAE,EAAE,aAAa,CACtC,CAAC;EAED,MAAMG,IAAI,GAAGF,WAAW,CAACG,GAAG,CAAC,CAAS;EAEtC,MAAMC,UAA6C,GAAIC,MAAM;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAAA,QAAAD,qBAAA,GAC3DL,iBAAiB,CAACC,IAAI,cAAAI,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwBE,iBAAiB,cAAAD,sBAAA,uBAAzCA,sBAAA,CAAAE,IAAA,CAAAH,qBAAA,EAA4CJ,IAAI,EAAEG,MAAM,CAAC;EAAA;EAE3D,MAAMK,qBAAmE,GACvEA,CAACR,IAAI,EAAES,OAAO;IAAA,IAAAC,sBAAA,EAAAC,sBAAA;IAAA,QAAAD,sBAAA,GACZX,iBAAiB,CAACC,IAAI,cAAAU,sBAAA,wBAAAC,sBAAA,GAAtBD,sBAAA,CAAwBE,kBAAkB,cAAAD,sBAAA,uBAA1CA,sBAAA,CAAAJ,IAAA,CAAAG,sBAAA,EAA6CV,IAAI,EAAES,OAAO,CAAC;EAAA;EAE/D,MAAMI,QAAQ,GAAIC,IAAU,IAAK;IAC/B,IAAIrB,OAAO,CAACsB,GAAG,CAACf,IAAI,EAAEc,IAAI,CAAC,EAAE;MAC3B,OAAOrB,OAAO,CAACQ,GAAG,CAACD,IAAI,EAAEc,IAAI,CAAC;IAChC;IAEA,OAAOE,SAAS;EAClB,CAAC;EAED,OAAO;IACLhB,IAAI;IACJa,QAAQ;IACRX,UAAU;IACVM;EACF,CAAC;AACH"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { useCallback, useContext, useMemo, useReducer, useRef } from 'react';
4
4
  import pointer from '../../utils/json-pointer';
5
- import { useSharedState } from '../../../../shared/helpers/useSharedState';
5
+ import { createReferenceKey, useSharedState } from '../../../../shared/helpers/useSharedState';
6
6
  import useMountEffect from '../../../../shared/helpers/useMountEffect';
7
7
  import DataContext from '../../DataContext/Context';
8
8
  import structuredClone from '@ungap/structured-clone';
@@ -13,7 +13,7 @@ export default function useData() {
13
13
  const sharedAttachmentsRef = useRef(null);
14
14
  const [, forceUpdate] = useReducer(() => ({}), {});
15
15
  sharedDataRef.current = useSharedState(id, initialData, forceUpdate);
16
- sharedAttachmentsRef.current = useSharedState(id + '-attachments', {
16
+ sharedAttachmentsRef.current = useSharedState(createReferenceKey(id, 'attachments'), {
17
17
  rerenderUseDataHook: forceUpdate
18
18
  });
19
19
  const dataContext = useContext(DataContext);
@@ -1 +1 @@
1
- {"version":3,"file":"useData.js","names":["useCallback","useContext","useMemo","useReducer","useRef","pointer","useSharedState","useMountEffect","DataContext","structuredClone","useData","id","arguments","length","undefined","initialData","sharedDataRef","sharedAttachmentsRef","forceUpdate","current","rerenderUseDataHook","dataContext","hasContext","Error","data","filterDataHandler","updateDataValue","setData","set","newData","update","path","value","existingData","existingValue","has","get","newValue","extend","remove","reduceToVisibleFields","_dataContext$visibleD","options","_sharedAttachmentsRef","_sharedAttachmentsRef2","visibleDataHandler","call","filterData","filter","_dataContext$filterDa","_sharedAttachmentsRef3","_sharedAttachmentsRef4","getValue","hadInitialData"],"sources":["../../../../../../src/extensions/forms/Form/data-context/useData.tsx"],"sourcesContent":["import {\n useCallback,\n useContext,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport pointer, { JsonObject } from '../../utils/json-pointer'\nimport {\n SharedStateId,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport type { Path } from '../../types'\nimport DataContext, {\n FilterData,\n VisibleDataHandler,\n} from '../../DataContext/Context'\nimport { SharedAttachments } from '../../DataContext/Provider'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So it's a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\ntype PathImpl<T, P extends string> = P extends `${infer Key}/${infer Rest}`\n ? Key extends keyof T\n ? Rest extends ''\n ? T[Key]\n : PathImpl<T[Key], Rest>\n : never\n : T[P & keyof T]\n\ntype PathType<T, P extends string> = P extends `/${infer Rest}`\n ? PathImpl<T, Rest>\n : never\n\ntype UseDataReturnUpdate<Data> = <P extends Path>(\n path: P,\n value: ((value: PathType<Data, P>) => unknown) | unknown\n) => void\n\nexport type UseDataReturnGetValue<Data> = <P extends Path>(\n path: P\n) => PathType<Data, P> | any\n\nexport type UseDataReturnFilterData<Data> = (\n filterDataHandler: FilterData,\n data?: Data\n) => Partial<Data>\n\nexport type UseDataReturnVisibleData<Data> = VisibleDataHandler<Data>\n\ntype UseDataReturn<Data> = {\n data: Data\n set: (newData: Data) => void\n update: UseDataReturnUpdate<Data>\n remove: (path: Path) => void\n getValue: UseDataReturnGetValue<Data>\n filterData: UseDataReturnFilterData<Data>\n reduceToVisibleFields: UseDataReturnVisibleData<Data>\n}\n\n/**\n * Custom hook that provides form data management functionality.\n *\n * @template Data - The type of data being managed.\n * @param {SharedStateId} id - The identifier for the data.\n * @param {Data} initialData - The initial data value (optional).\n * @returns {UseDataReturn<Data>} An object containing the data and data management functions.\n */\nexport default function useData<Data = JsonObject>(\n id: SharedStateId = undefined,\n initialData: Data = undefined\n): UseDataReturn<Data> {\n const sharedDataRef =\n useRef<ReturnType<typeof useSharedState<Data>>>(null)\n const sharedAttachmentsRef =\n useRef<ReturnType<typeof useSharedState<SharedAttachments<Data>>>>(\n null\n )\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n sharedDataRef.current = useSharedState<Data>(\n id,\n initialData,\n forceUpdate\n )\n\n sharedAttachmentsRef.current = useSharedState<SharedAttachments<Data>>(\n id + '-attachments',\n { rerenderUseDataHook: forceUpdate }\n )\n\n // If no id is provided, use the context data\n const dataContext = useContext(DataContext)\n if (!id) {\n if (!dataContext.hasContext) {\n throw new Error(\n 'useData needs to run inside DataContext (Form.Handler) or have a valid id'\n )\n }\n\n sharedDataRef.current.data = dataContext.data\n sharedAttachmentsRef.current.data.filterDataHandler =\n dataContext.filterDataHandler\n }\n\n const updateDataValue = dataContext?.updateDataValue\n const setData = dataContext?.setData\n\n const set = useCallback(\n (newData: Data) => {\n if (id) {\n sharedDataRef.current.update(newData)\n } else {\n setData?.(newData)\n }\n },\n [id, setData]\n )\n\n const update = useCallback<UseDataReturnUpdate<Data>>(\n (path, value = undefined) => {\n const existingData = structuredClone(\n sharedDataRef.current.data || {}\n ) as Data & JsonObject\n const existingValue = pointer.has(existingData, path)\n ? pointer.get(existingData, path)\n : undefined\n\n // Get new value\n const newValue =\n typeof value === 'function' ? value(existingValue) : value\n\n if (newValue !== existingValue) {\n // Update existing data\n pointer.set(existingData, path, newValue)\n\n // Update provider with new data\n if (id) {\n sharedDataRef.current.extend(existingData)\n } else {\n updateDataValue(path, newValue)\n }\n }\n },\n [id, updateDataValue]\n )\n\n const remove = useCallback<UseDataReturn<Data>['remove']>(\n (path) => {\n const existingData = structuredClone(\n sharedDataRef.current.data || {}\n ) as Data & JsonObject\n\n if (pointer.has(existingData, path)) {\n // Remove existing data\n pointer.remove(existingData, path)\n\n // Update provider with new data\n if (id) {\n sharedDataRef.current.set(existingData)\n } else {\n updateDataValue(path, undefined)\n }\n }\n },\n [id, updateDataValue]\n )\n\n const reduceToVisibleFields = useCallback<\n UseDataReturn<Data>['reduceToVisibleFields']\n >(\n (data, options = {}) => {\n if (id) {\n return sharedAttachmentsRef.current.data?.visibleDataHandler?.(\n data,\n options\n )\n }\n\n return dataContext?.visibleDataHandler?.(data, options)\n },\n [dataContext, id]\n )\n\n const filterData = useCallback<UseDataReturn<Data>['filterData']>(\n (filter, data = sharedDataRef.current.data) => {\n if (id) {\n return sharedAttachmentsRef.current.data?.filterDataHandler?.(\n data,\n filter\n )\n }\n\n return dataContext?.filterDataHandler?.(data, filter)\n },\n [dataContext, id]\n )\n\n const getValue = useCallback<UseDataReturn<Data>['getValue']>((path) => {\n if (pointer.has(sharedDataRef.current.data, path)) {\n return pointer.get(sharedDataRef.current.data, path)\n }\n\n return undefined\n }, [])\n\n useMountEffect(() => {\n if (id && !sharedDataRef.current.hadInitialData && initialData) {\n sharedDataRef.current.extend(initialData)\n }\n })\n\n const { data } = sharedDataRef.current\n\n return useMemo(\n () => ({\n data,\n remove,\n update,\n set,\n getValue,\n reduceToVisibleFields,\n filterData,\n }),\n [\n data,\n remove,\n update,\n set,\n getValue,\n reduceToVisibleFields,\n filterData,\n ]\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useData.js","names":["useCallback","useContext","useMemo","useReducer","useRef","pointer","createReferenceKey","useSharedState","useMountEffect","DataContext","structuredClone","useData","id","arguments","length","undefined","initialData","sharedDataRef","sharedAttachmentsRef","forceUpdate","current","rerenderUseDataHook","dataContext","hasContext","Error","data","filterDataHandler","updateDataValue","setData","set","newData","update","path","value","existingData","existingValue","has","get","newValue","extend","remove","reduceToVisibleFields","_dataContext$visibleD","options","_sharedAttachmentsRef","_sharedAttachmentsRef2","visibleDataHandler","call","filterData","filter","_dataContext$filterDa","_sharedAttachmentsRef3","_sharedAttachmentsRef4","getValue","hadInitialData"],"sources":["../../../../../../src/extensions/forms/Form/data-context/useData.tsx"],"sourcesContent":["import {\n useCallback,\n useContext,\n useMemo,\n useReducer,\n useRef,\n} from 'react'\nimport pointer, { JsonObject } from '../../utils/json-pointer'\nimport {\n SharedStateId,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport useMountEffect from '../../../../shared/helpers/useMountEffect'\nimport type { Path } from '../../types'\nimport DataContext, {\n FilterData,\n VisibleDataHandler,\n} from '../../DataContext/Context'\nimport { SharedAttachments } from '../../DataContext/Provider'\n\n/**\n * Deprecated, as it is supported by all major browsers and Node.js >=v18\n * So it's a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\ntype PathImpl<T, P extends string> = P extends `${infer Key}/${infer Rest}`\n ? Key extends keyof T\n ? Rest extends ''\n ? T[Key]\n : PathImpl<T[Key], Rest>\n : never\n : T[P & keyof T]\n\ntype PathType<T, P extends string> = P extends `/${infer Rest}`\n ? PathImpl<T, Rest>\n : never\n\ntype UseDataReturnUpdate<Data> = <P extends Path>(\n path: P,\n value: ((value: PathType<Data, P>) => unknown) | unknown\n) => void\n\nexport type UseDataReturnGetValue<Data> = <P extends Path>(\n path: P\n) => PathType<Data, P> | any\n\nexport type UseDataReturnFilterData<Data> = (\n filterDataHandler: FilterData,\n data?: Data\n) => Partial<Data>\n\nexport type UseDataReturnVisibleData<Data> = VisibleDataHandler<Data>\n\ntype UseDataReturn<Data> = {\n data: Data\n set: (newData: Data) => void\n update: UseDataReturnUpdate<Data>\n remove: (path: Path) => void\n getValue: UseDataReturnGetValue<Data>\n filterData: UseDataReturnFilterData<Data>\n reduceToVisibleFields: UseDataReturnVisibleData<Data>\n}\n\n/**\n * Custom hook that provides form data management functionality.\n *\n * @template Data - The type of data being managed.\n * @param {SharedStateId} id - The identifier for the data.\n * @param {Data} initialData - The initial data value (optional).\n * @returns {UseDataReturn<Data>} An object containing the data and data management functions.\n */\nexport default function useData<Data = JsonObject>(\n id: SharedStateId = undefined,\n initialData: Data = undefined\n): UseDataReturn<Data> {\n const sharedDataRef =\n useRef<ReturnType<typeof useSharedState<Data>>>(null)\n const sharedAttachmentsRef =\n useRef<ReturnType<typeof useSharedState<SharedAttachments<Data>>>>(\n null\n )\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n sharedDataRef.current = useSharedState<Data>(\n id,\n initialData,\n forceUpdate\n )\n\n sharedAttachmentsRef.current = useSharedState<SharedAttachments<Data>>(\n createReferenceKey(id, 'attachments'),\n { rerenderUseDataHook: forceUpdate }\n )\n\n // If no id is provided, use the context data\n const dataContext = useContext(DataContext)\n if (!id) {\n if (!dataContext.hasContext) {\n throw new Error(\n 'useData needs to run inside DataContext (Form.Handler) or have a valid id'\n )\n }\n\n sharedDataRef.current.data = dataContext.data\n sharedAttachmentsRef.current.data.filterDataHandler =\n dataContext.filterDataHandler\n }\n\n const updateDataValue = dataContext?.updateDataValue\n const setData = dataContext?.setData\n\n const set = useCallback(\n (newData: Data) => {\n if (id) {\n sharedDataRef.current.update(newData)\n } else {\n setData?.(newData)\n }\n },\n [id, setData]\n )\n\n const update = useCallback<UseDataReturnUpdate<Data>>(\n (path, value = undefined) => {\n const existingData = structuredClone(\n sharedDataRef.current.data || {}\n ) as Data & JsonObject\n const existingValue = pointer.has(existingData, path)\n ? pointer.get(existingData, path)\n : undefined\n\n // Get new value\n const newValue =\n typeof value === 'function' ? value(existingValue) : value\n\n if (newValue !== existingValue) {\n // Update existing data\n pointer.set(existingData, path, newValue)\n\n // Update provider with new data\n if (id) {\n sharedDataRef.current.extend(existingData)\n } else {\n updateDataValue(path, newValue)\n }\n }\n },\n [id, updateDataValue]\n )\n\n const remove = useCallback<UseDataReturn<Data>['remove']>(\n (path) => {\n const existingData = structuredClone(\n sharedDataRef.current.data || {}\n ) as Data & JsonObject\n\n if (pointer.has(existingData, path)) {\n // Remove existing data\n pointer.remove(existingData, path)\n\n // Update provider with new data\n if (id) {\n sharedDataRef.current.set(existingData)\n } else {\n updateDataValue(path, undefined)\n }\n }\n },\n [id, updateDataValue]\n )\n\n const reduceToVisibleFields = useCallback<\n UseDataReturn<Data>['reduceToVisibleFields']\n >(\n (data, options = {}) => {\n if (id) {\n return sharedAttachmentsRef.current.data?.visibleDataHandler?.(\n data,\n options\n )\n }\n\n return dataContext?.visibleDataHandler?.(data, options)\n },\n [dataContext, id]\n )\n\n const filterData = useCallback<UseDataReturn<Data>['filterData']>(\n (filter, data = sharedDataRef.current.data) => {\n if (id) {\n return sharedAttachmentsRef.current.data?.filterDataHandler?.(\n data,\n filter\n )\n }\n\n return dataContext?.filterDataHandler?.(data, filter)\n },\n [dataContext, id]\n )\n\n const getValue = useCallback<UseDataReturn<Data>['getValue']>((path) => {\n if (pointer.has(sharedDataRef.current.data, path)) {\n return pointer.get(sharedDataRef.current.data, path)\n }\n\n return undefined\n }, [])\n\n useMountEffect(() => {\n if (id && !sharedDataRef.current.hadInitialData && initialData) {\n sharedDataRef.current.extend(initialData)\n }\n })\n\n const { data } = sharedDataRef.current\n\n return useMemo(\n () => ({\n data,\n remove,\n update,\n set,\n getValue,\n reduceToVisibleFields,\n filterData,\n }),\n [\n data,\n remove,\n update,\n set,\n getValue,\n reduceToVisibleFields,\n filterData,\n ]\n )\n}\n"],"mappings":"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"}