@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
@@ -3,16 +3,17 @@ import { Props as DataContextProps } from '../../DataContext/Provider';
3
3
  import { FormStatusProps } from '../../../../components/FormStatus';
4
4
  import { ContextProps } from '../../../../shared/Context';
5
5
  import { FieldProps, Path } from '../../types';
6
+ import { JsonObject } from '../../utils';
6
7
  export type FieldProviderProps = FieldProps & {
7
8
  children: React.ReactNode;
8
9
  /**
9
10
  * Locale to use for all nested Eufemia components
10
11
  */
11
- locale?: DataContextProps<unknown>['locale'];
12
+ locale?: DataContextProps<JsonObject>['locale'];
12
13
  /**
13
14
  * Provide your own translations. Use the same format as defined in the translation files
14
15
  */
15
- translations?: DataContextProps<unknown>['translations'];
16
+ translations?: DataContextProps<JsonObject>['translations'];
16
17
  /** For internal use only */
17
18
  overwriteProps?: {
18
19
  [key: Path]: FieldProps;
@@ -1 +1 @@
1
- {"version":3,"file":"FieldProvider.js","names":["_react","_interopRequireDefault","require","_FieldProviderContext","_Provider","_useFieldProvider2","_excluded","_excluded2","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","FieldProviderProvider","props","children","restProps","_useFieldProvider","useFieldProvider","sharedProviderParams","providerValue","createElement","Provider","value","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Provider/FieldProvider.tsx"],"sourcesContent":["import React from 'react'\nimport { Props as DataContextProps } from '../../DataContext/Provider'\nimport { FormStatusProps } from '../../../../components/FormStatus'\nimport FieldProviderContext from './FieldProviderContext'\nimport SharedProvider from '../../../../shared/Provider'\nimport { ContextProps } from '../../../../shared/Context'\nimport useFieldProvider from './useFieldProvider'\nimport { FieldProps, Path } from '../../types'\n\nexport type FieldProviderProps = FieldProps & {\n children: React.ReactNode\n\n /**\n * Locale to use for all nested Eufemia components\n */\n locale?: DataContextProps<unknown>['locale']\n\n /**\n * Provide your own translations. Use the same format as defined in the translation files\n */\n translations?: DataContextProps<unknown>['translations']\n\n /** For internal use only */\n overwriteProps?: {\n [key: Path]: FieldProps\n }\n\n /** For internal use only */\n formElement?: ContextProps['formElement']\n\n /** For internal use only */\n FormStatus?: { globalStatus: FormStatusProps }\n}\n\nfunction FieldProviderProvider(props: FieldProviderProps) {\n const { children, ...restProps } = props\n const { sharedProviderParams, ...providerValue } =\n useFieldProvider(restProps)\n\n return (\n <FieldProviderContext.Provider value={providerValue}>\n <SharedProvider {...sharedProviderParams}>{children}</SharedProvider>\n </FieldProviderContext.Provider>\n )\n}\n\nFieldProviderProvider._supportsSpacingProps = 'children'\nexport default FieldProviderProvider\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,qBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,kBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAiD,MAAAI,SAAA;EAAAC,UAAA;AAAA,SAAAN,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,GAAAC,6BAAA,CAAAH,MAAA,EAAAC,QAAA,OAAAG,GAAA,EAAAC,CAAA,MAAAC,MAAA,CAAAC,qBAAA,QAAAC,gBAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAP,MAAA,QAAAK,CAAA,MAAAA,CAAA,GAAAG,gBAAA,CAAAC,MAAA,EAAAJ,CAAA,MAAAD,GAAA,GAAAI,gBAAA,CAAAH,CAAA,OAAAJ,QAAA,CAAAS,OAAA,CAAAN,GAAA,uBAAAE,MAAA,CAAAK,SAAA,CAAAC,oBAAA,CAAAC,IAAA,CAAAb,MAAA,EAAAI,GAAA,aAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,cAAAF,MAAA;AAAA,SAAAC,8BAAAH,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,WAAAY,UAAA,GAAAR,MAAA,CAAAS,IAAA,CAAAf,MAAA,OAAAI,GAAA,EAAAC,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAS,UAAA,CAAAL,MAAA,EAAAJ,CAAA,MAAAD,GAAA,GAAAU,UAAA,CAAAT,CAAA,OAAAJ,QAAA,CAAAS,OAAA,CAAAN,GAAA,kBAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,YAAAF,MAAA;AA4BjD,SAASc,qBAAqBA,CAACC,KAAyB,EAAE;EACxD,MAAM;MAAEC;IAAuB,CAAC,GAAGD,KAAK;IAAnBE,SAAS,GAAApB,wBAAA,CAAKkB,KAAK,EAAAvB,SAAA;EACxC,MAAA0B,iBAAA,GACE,IAAAC,0BAAgB,EAACF,SAAS,CAAC;IADvB;MAAEG;IAAuC,CAAC,GAAAF,iBAAA;IAAfG,aAAa,GAAAxB,wBAAA,CAAAqB,iBAAA,EAAAzB,UAAA;EAG9C,OACEP,MAAA,CAAAU,OAAA,CAAA0B,aAAA,CAACjC,qBAAA,CAAAO,OAAoB,CAAC2B,QAAQ;IAACC,KAAK,EAAEH;EAAc,GAClDnC,MAAA,CAAAU,OAAA,CAAA0B,aAAA,CAAChC,SAAA,CAAAM,OAAc,EAAKwB,oBAAoB,EAAGJ,QAAyB,CACvC,CAAC;AAEpC;AAEAF,qBAAqB,CAACW,qBAAqB,GAAG,UAAU;AAAA,IAAAC,QAAA,GACzCZ,qBAAqB;AAAAa,OAAA,CAAA/B,OAAA,GAAA8B,QAAA"}
1
+ {"version":3,"file":"FieldProvider.js","names":["_react","_interopRequireDefault","require","_FieldProviderContext","_Provider","_useFieldProvider2","_excluded","_excluded2","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","FieldProviderProvider","props","children","restProps","_useFieldProvider","useFieldProvider","sharedProviderParams","providerValue","createElement","Provider","value","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Provider/FieldProvider.tsx"],"sourcesContent":["import React from 'react'\nimport { Props as DataContextProps } from '../../DataContext/Provider'\nimport { FormStatusProps } from '../../../../components/FormStatus'\nimport FieldProviderContext from './FieldProviderContext'\nimport SharedProvider from '../../../../shared/Provider'\nimport { ContextProps } from '../../../../shared/Context'\nimport useFieldProvider from './useFieldProvider'\nimport { FieldProps, Path } from '../../types'\nimport { JsonObject } from '../../utils'\n\nexport type FieldProviderProps = FieldProps & {\n children: React.ReactNode\n\n /**\n * Locale to use for all nested Eufemia components\n */\n locale?: DataContextProps<JsonObject>['locale']\n\n /**\n * Provide your own translations. Use the same format as defined in the translation files\n */\n translations?: DataContextProps<JsonObject>['translations']\n\n /** For internal use only */\n overwriteProps?: {\n [key: Path]: FieldProps\n }\n\n /** For internal use only */\n formElement?: ContextProps['formElement']\n\n /** For internal use only */\n FormStatus?: { globalStatus: FormStatusProps }\n}\n\nfunction FieldProviderProvider(props: FieldProviderProps) {\n const { children, ...restProps } = props\n const { sharedProviderParams, ...providerValue } =\n useFieldProvider(restProps)\n\n return (\n <FieldProviderContext.Provider value={providerValue}>\n <SharedProvider {...sharedProviderParams}>{children}</SharedProvider>\n </FieldProviderContext.Provider>\n )\n}\n\nFieldProviderProvider._supportsSpacingProps = 'children'\nexport default FieldProviderProvider\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,qBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,kBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAiD,MAAAI,SAAA;EAAAC,UAAA;AAAA,SAAAN,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,GAAAC,6BAAA,CAAAH,MAAA,EAAAC,QAAA,OAAAG,GAAA,EAAAC,CAAA,MAAAC,MAAA,CAAAC,qBAAA,QAAAC,gBAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAP,MAAA,QAAAK,CAAA,MAAAA,CAAA,GAAAG,gBAAA,CAAAC,MAAA,EAAAJ,CAAA,MAAAD,GAAA,GAAAI,gBAAA,CAAAH,CAAA,OAAAJ,QAAA,CAAAS,OAAA,CAAAN,GAAA,uBAAAE,MAAA,CAAAK,SAAA,CAAAC,oBAAA,CAAAC,IAAA,CAAAb,MAAA,EAAAI,GAAA,aAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,cAAAF,MAAA;AAAA,SAAAC,8BAAAH,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,WAAAY,UAAA,GAAAR,MAAA,CAAAS,IAAA,CAAAf,MAAA,OAAAI,GAAA,EAAAC,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAS,UAAA,CAAAL,MAAA,EAAAJ,CAAA,MAAAD,GAAA,GAAAU,UAAA,CAAAT,CAAA,OAAAJ,QAAA,CAAAS,OAAA,CAAAN,GAAA,kBAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,YAAAF,MAAA;AA6BjD,SAASc,qBAAqBA,CAACC,KAAyB,EAAE;EACxD,MAAM;MAAEC;IAAuB,CAAC,GAAGD,KAAK;IAAnBE,SAAS,GAAApB,wBAAA,CAAKkB,KAAK,EAAAvB,SAAA;EACxC,MAAA0B,iBAAA,GACE,IAAAC,0BAAgB,EAACF,SAAS,CAAC;IADvB;MAAEG;IAAuC,CAAC,GAAAF,iBAAA;IAAfG,aAAa,GAAAxB,wBAAA,CAAAqB,iBAAA,EAAAzB,UAAA;EAG9C,OACEP,MAAA,CAAAU,OAAA,CAAA0B,aAAA,CAACjC,qBAAA,CAAAO,OAAoB,CAAC2B,QAAQ;IAACC,KAAK,EAAEH;EAAc,GAClDnC,MAAA,CAAAU,OAAA,CAAA0B,aAAA,CAAChC,SAAA,CAAAM,OAAc,EAAKwB,oBAAoB,EAAGJ,QAAyB,CACvC,CAAC;AAEpC;AAEAF,qBAAqB,CAACW,qBAAqB,GAAG,UAAU;AAAA,IAAAC,QAAA,GACzCZ,qBAAqB;AAAAa,OAAA,CAAA/B,OAAA,GAAA8B,QAAA"}
@@ -95,7 +95,15 @@ function UploadComponent(props) {
95
95
  setFiles
96
96
  } = (0, _useUpload.default)(id);
97
97
  (0, _react.useEffect)(() => {
98
- setFiles(value);
98
+ const hasInvalidFiles = value === null || value === void 0 ? void 0 : value.some(_ref2 => {
99
+ let {
100
+ file
101
+ } = _ref2;
102
+ return !(file !== null && file !== void 0 && file.name);
103
+ });
104
+ if (!hasInvalidFiles) {
105
+ setFiles(value);
106
+ }
99
107
  }, [setFiles, value]);
100
108
  const handleChangeAsync = (0, _react.useCallback)(async files => {
101
109
  const existingFileIds = (fileContext === null || fileContext === void 0 ? void 0 : fileContext.map(file => file.id)) || [];
@@ -112,10 +120,10 @@ function UploadComponent(props) {
112
120
  handleChange(files);
113
121
  }
114
122
  }, [fileContext, setFiles, fileHandler, handleChange]);
115
- const changeHandler = (0, _react.useCallback)(_ref2 => {
123
+ const changeHandler = (0, _react.useCallback)(_ref3 => {
116
124
  let {
117
125
  files
118
- } = _ref2;
126
+ } = _ref3;
119
127
  handleBlur();
120
128
  handleFocus();
121
129
  if (fileHandler) {
@@ -1 +1 @@
1
- {"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlock","_hooks","_Upload","_useUpload","_utils","_HelpButtonInline","_shared","_utils2","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","validateRequired","_ref","required","isChanged","error","hasError","some","file","errorMessage","FormError","hasFiles","updateFileLoadingState","files","isLoading","map","UploadComponent","props","sharedTr","useSharedTranslation","Upload","formsTr","useFormsTranslation","errorMessages","useMemo","errorRequired","preparedProps","_useFieldProps","useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","label","labelDescription","help","htmlAttributes","handleChange","handleFocus","handleBlur","fileHandler","rest","title","text","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","fileContext","setFiles","useUpload","useEffect","handleChangeAsync","useCallback","existingFileIds","newFiles","includes","uploadedFiles","changeHandler","_ref2","fieldBlockProps","forId","labelSrOnly","classnames","pickSpacingProps","createElement","onChange","Fragment","contentId","left","HelpButtonInlineContent","_default","exports","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react'\nimport classnames from 'classnames'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport { FieldProps } from '../../types'\nimport Upload, {\n UploadFile,\n UploadFileNative,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n} from '../../../../components/help-button/HelpButtonInline'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\nimport { FormError } from '../../utils'\n\nexport type UploadValue = Array<UploadFile | UploadFileNative>\nexport type Props = Omit<\n FieldProps<UploadValue, UploadValue | undefined>,\n 'name'\n> &\n SpacingProps & {\n width?: Omit<FieldBlockWidth, 'medium' | 'small'>\n } & Pick<\n Partial<UploadProps>,\n | 'title'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'skeleton'\n > & {\n fileHandler?: (\n newFiles: UploadValue\n ) => UploadValue | Promise<UploadValue>\n }\n\nconst validateRequired = (\n value: UploadValue,\n { required, isChanged, error }\n) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError('Upload.errorInvalidFiles')\n }\n\n const hasFiles = value?.length > 0\n if (required && ((!isChanged && !hasFiles) || !hasFiles)) {\n return error\n }\n\n return undefined\n}\n\nconst updateFileLoadingState = (\n files: UploadValue,\n { isLoading } = { isLoading: false }\n) => {\n return files.map((file) => ({ ...file, isLoading }))\n}\n\nfunction UploadComponent(props: Props) {\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': formsTr.errorRequired,\n }),\n [formsTr.errorRequired]\n )\n\n const preparedProps = {\n errorMessages,\n validateRequired,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n value,\n label,\n labelDescription,\n help,\n htmlAttributes,\n handleChange,\n handleFocus,\n handleBlur,\n fileHandler,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n } = rest\n\n const { files: fileContext, setFiles } = useUpload(id)\n\n useEffect(() => {\n setFiles(value)\n }, [setFiles, value])\n\n const handleChangeAsync = useCallback(\n async (files: UploadValue) => {\n // Filter out existing files\n const existingFileIds = fileContext?.map((file) => file.id) || []\n const newFiles = files.filter(\n (file) => !existingFileIds.includes(file.id)\n )\n\n if (newFiles.length > 0) {\n // Set loading\n setFiles([\n ...fileContext,\n ...updateFileLoadingState(newFiles, { isLoading: true }),\n ])\n\n const uploadedFiles = updateFileLoadingState(\n await fileHandler(newFiles),\n { isLoading: false }\n )\n\n // Set error, if any\n handleChange([...fileContext, ...uploadedFiles])\n } else {\n handleChange(files)\n }\n },\n [fileContext, setFiles, fileHandler, handleChange]\n )\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n\n if (fileHandler) {\n handleChangeAsync(files)\n } else {\n handleChange(files)\n }\n },\n [handleBlur, handleFocus, fileHandler, handleChangeAsync, handleChange]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n id,\n forId: `${id}-input`,\n labelSrOnly: true,\n className: classnames('dnb-forms-field-upload', className),\n width,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n title={label ?? title}\n text={\n help ? (\n <>\n {labelDescription ?? text}\n <HelpButtonInline\n contentId={`${id}-help`}\n left={text ? 'x-small' : false}\n help={help}\n />\n </>\n ) : (\n labelDescription ?? text\n )\n }\n {...htmlAttributes}\n >\n {help && (\n <HelpButtonInlineContent contentId={`${id}-help`} help={help} />\n )}\n </Upload>\n </FieldBlock>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Upload.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_FieldBlock","_hooks","_Upload","_useUpload","_utils","_HelpButtonInline","_shared","_utils2","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","validateRequired","_ref","required","isChanged","error","hasError","some","file","errorMessage","FormError","hasFiles","updateFileLoadingState","files","isLoading","map","UploadComponent","props","sharedTr","useSharedTranslation","Upload","formsTr","useFormsTranslation","errorMessages","useMemo","errorRequired","preparedProps","_useFieldProps","useFieldProps","executeOnChangeRegardlessOfError","id","className","width","widthProp","label","labelDescription","help","htmlAttributes","handleChange","handleFocus","handleBlur","fileHandler","rest","title","text","acceptedFileTypes","filesAmountLimit","fileMaxSize","skeleton","onFileDelete","fileContext","setFiles","useUpload","useEffect","hasInvalidFiles","_ref2","name","handleChangeAsync","useCallback","existingFileIds","newFiles","includes","uploadedFiles","changeHandler","_ref3","fieldBlockProps","forId","labelSrOnly","classnames","pickSpacingProps","createElement","onChange","Fragment","contentId","left","HelpButtonInlineContent","_default","exports","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Upload/Upload.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react'\nimport classnames from 'classnames'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport {\n useFieldProps,\n useTranslation as useFormsTranslation,\n} from '../../hooks'\nimport { FieldProps } from '../../types'\nimport Upload, {\n UploadFile,\n UploadFileNative,\n UploadProps,\n} from '../../../../components/Upload'\nimport useUpload from '../../../../components/upload/useUpload'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport HelpButtonInline, {\n HelpButtonInlineContent,\n} from '../../../../components/help-button/HelpButtonInline'\nimport { useTranslation as useSharedTranslation } from '../../../../shared'\nimport { SpacingProps } from '../../../../shared/types'\nimport { FormError } from '../../utils'\n\nexport type UploadValue = Array<UploadFile | UploadFileNative>\nexport type Props = Omit<\n FieldProps<UploadValue, UploadValue | undefined>,\n 'name'\n> &\n SpacingProps & {\n width?: Omit<FieldBlockWidth, 'medium' | 'small'>\n } & Pick<\n Partial<UploadProps>,\n | 'title'\n | 'text'\n | 'acceptedFileTypes'\n | 'filesAmountLimit'\n | 'fileMaxSize'\n | 'onFileDelete'\n | 'skeleton'\n > & {\n fileHandler?: (\n newFiles: UploadValue\n ) => UploadValue | Promise<UploadValue>\n }\n\nconst validateRequired = (\n value: UploadValue,\n { required, isChanged, error }\n) => {\n const hasError = value?.some((file) => file.errorMessage)\n if (hasError) {\n return new FormError('Upload.errorInvalidFiles')\n }\n\n const hasFiles = value?.length > 0\n if (required && ((!isChanged && !hasFiles) || !hasFiles)) {\n return error\n }\n\n return undefined\n}\n\nconst updateFileLoadingState = (\n files: UploadValue,\n { isLoading } = { isLoading: false }\n) => {\n return files.map((file) => ({ ...file, isLoading }))\n}\n\nfunction UploadComponent(props: Props) {\n const sharedTr = useSharedTranslation().Upload\n const formsTr = useFormsTranslation().Upload\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': formsTr.errorRequired,\n }),\n [formsTr.errorRequired]\n )\n\n const preparedProps = {\n errorMessages,\n validateRequired,\n ...props,\n }\n\n const {\n id,\n className,\n width: widthProp = 'stretch',\n value,\n label,\n labelDescription,\n help,\n htmlAttributes,\n handleChange,\n handleFocus,\n handleBlur,\n fileHandler,\n ...rest\n } = useFieldProps(preparedProps, {\n executeOnChangeRegardlessOfError: true,\n })\n\n // Upload props\n const {\n title = sharedTr.title,\n text = sharedTr.text,\n acceptedFileTypes = ['pdf', 'png', 'jpg', 'jpeg'],\n filesAmountLimit = 100,\n fileMaxSize = 5,\n skeleton,\n onFileDelete,\n } = rest\n\n const { files: fileContext, setFiles } = useUpload(id)\n\n useEffect(() => {\n // Files stored in session storage will not have a property (due to serialization).\n const hasInvalidFiles = value?.some(({ file }) => !file?.name)\n if (!hasInvalidFiles) {\n setFiles(value)\n }\n }, [setFiles, value])\n\n const handleChangeAsync = useCallback(\n async (files: UploadValue) => {\n // Filter out existing files\n const existingFileIds = fileContext?.map((file) => file.id) || []\n const newFiles = files.filter(\n (file) => !existingFileIds.includes(file.id)\n )\n\n if (newFiles.length > 0) {\n // Set loading\n setFiles([\n ...fileContext,\n ...updateFileLoadingState(newFiles, { isLoading: true }),\n ])\n\n const uploadedFiles = updateFileLoadingState(\n await fileHandler(newFiles),\n { isLoading: false }\n )\n\n // Set error, if any\n handleChange([...fileContext, ...uploadedFiles])\n } else {\n handleChange(files)\n }\n },\n [fileContext, setFiles, fileHandler, handleChange]\n )\n\n const changeHandler = useCallback(\n ({ files }: { files: UploadValue }) => {\n // Prevents the form-status from showing up\n handleBlur()\n handleFocus()\n\n if (fileHandler) {\n handleChangeAsync(files)\n } else {\n handleChange(files)\n }\n },\n [handleBlur, handleFocus, fileHandler, handleChangeAsync, handleChange]\n )\n\n const width = widthProp as FieldBlockWidth\n const fieldBlockProps: FieldBlockProps = {\n id,\n forId: `${id}-input`,\n labelSrOnly: true,\n className: classnames('dnb-forms-field-upload', className),\n width,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Upload\n id={id}\n acceptedFileTypes={acceptedFileTypes}\n filesAmountLimit={filesAmountLimit}\n fileMaxSize={fileMaxSize}\n skeleton={skeleton}\n onChange={changeHandler}\n onFileDelete={onFileDelete}\n title={label ?? title}\n text={\n help ? (\n <>\n {labelDescription ?? text}\n <HelpButtonInline\n contentId={`${id}-help`}\n left={text ? 'x-small' : false}\n help={help}\n />\n </>\n ) : (\n labelDescription ?? text\n )\n }\n {...htmlAttributes}\n >\n {help && (\n <HelpButtonInlineContent contentId={`${id}-help`} help={help} />\n )}\n </Upload>\n </FieldBlock>\n )\n}\n\nexport default UploadComponent\n\nUploadComponent._supportsSpacingProps = true\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AAIA,IAAAI,MAAA,GAAAJ,OAAA;AAKA,IAAAK,OAAA,GAAAH,sBAAA,CAAAF,OAAA;AAKA,IAAAM,UAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,iBAAA,GAAAT,uBAAA,CAAAC,OAAA;AAGA,IAAAS,OAAA,GAAAT,OAAA;AAEA,IAAAU,OAAA,GAAAV,OAAA;AAAuC,MAAAW,SAAA;AAAA,SAAAT,uBAAAU,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAjB,wBAAAa,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,yBAAAF,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,GAAAQ,6BAAA,CAAAJ,MAAA,EAAAG,QAAA,OAAAhB,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAAqB,qBAAA,QAAAC,gBAAA,GAAAtB,MAAA,CAAAqB,qBAAA,CAAAL,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAS,gBAAA,CAAAP,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAmB,gBAAA,CAAAT,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAoB,oBAAA,CAAAlB,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAAQ,8BAAAJ,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,WAAAa,UAAA,GAAAzB,MAAA,CAAA0B,IAAA,CAAAV,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAY,UAAA,CAAAV,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAsB,UAAA,CAAAZ,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAAA,SAAAe,QAAAC,MAAA,EAAAC,cAAA,QAAAH,IAAA,GAAA1B,MAAA,CAAA0B,IAAA,CAAAE,MAAA,OAAA5B,MAAA,CAAAqB,qBAAA,QAAAS,OAAA,GAAA9B,MAAA,CAAAqB,qBAAA,CAAAO,MAAA,GAAAC,cAAA,KAAAC,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhC,MAAA,CAAAE,wBAAA,CAAA0B,MAAA,EAAAI,GAAA,EAAAC,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAjB,KAAA,CAAAS,IAAA,EAAAI,OAAA,YAAAJ,IAAA;AAAA,SAAAS,cAAAvB,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAc,OAAA,CAAA3B,MAAA,CAAAgB,MAAA,OAAAoB,OAAA,WAAAjC,GAAA,IAAAkC,eAAA,CAAAzB,MAAA,EAAAT,GAAA,EAAAa,MAAA,CAAAb,GAAA,SAAAH,MAAA,CAAAsC,yBAAA,GAAAtC,MAAA,CAAAuC,gBAAA,CAAA3B,MAAA,EAAAZ,MAAA,CAAAsC,yBAAA,CAAAtB,MAAA,KAAAW,OAAA,CAAA3B,MAAA,CAAAgB,MAAA,GAAAoB,OAAA,WAAAjC,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAW,MAAA,EAAAT,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAc,MAAA,EAAAb,GAAA,iBAAAS,MAAA;AAAA,SAAAyB,gBAAAlD,GAAA,EAAAgB,GAAA,EAAAqC,KAAA,IAAArC,GAAA,GAAAsC,cAAA,CAAAtC,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAAqC,KAAA,EAAAA,KAAA,EAAAP,UAAA,QAAAS,YAAA,QAAAC,QAAA,oBAAAxD,GAAA,CAAAgB,GAAA,IAAAqC,KAAA,WAAArD,GAAA;AAAA,SAAAsD,eAAAG,GAAA,QAAAzC,GAAA,GAAA0C,YAAA,CAAAD,GAAA,2BAAAzC,GAAA,gBAAAA,GAAA,GAAA2C,MAAA,CAAA3C,GAAA;AAAA,SAAA0C,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAA3C,IAAA,CAAAyC,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAwBvC,MAAMS,gBAAgB,GAAGA,CACvBhB,KAAkB,EAAAiB,IAAA,KAEf;EAAA,IADH;IAAEC,QAAQ;IAAEC,SAAS;IAAEC;EAAM,CAAC,GAAAH,IAAA;EAE9B,MAAMI,QAAQ,GAAGrB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsB,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,YAAY,CAAC;EACzD,IAAIH,QAAQ,EAAE;IACZ,OAAO,IAAII,iBAAS,CAAC,0BAA0B,CAAC;EAClD;EAEA,MAAMC,QAAQ,GAAG,CAAA1B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEzB,MAAM,IAAG,CAAC;EAClC,IAAI2C,QAAQ,KAAM,CAACC,SAAS,IAAI,CAACO,QAAQ,IAAK,CAACA,QAAQ,CAAC,EAAE;IACxD,OAAON,KAAK;EACd;EAEA,OAAOR,SAAS;AAClB,CAAC;AAED,MAAMe,sBAAsB,GAAG,SAAAA,CAC7BC,KAAkB,EAEf;EAAA,IADH;IAAEC;EAAU,CAAC,GAAAvD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsC,SAAA,GAAAtC,SAAA,MAAG;IAAEuD,SAAS,EAAE;EAAM,CAAC;EAEpC,OAAOD,KAAK,CAACE,GAAG,CAAEP,IAAI,IAAA5B,aAAA,CAAAA,aAAA,KAAW4B,IAAI;IAAEM;EAAS,EAAG,CAAC;AACtD,CAAC;AAED,SAASE,eAAeA,CAACC,KAAY,EAAE;EACrC,MAAMC,QAAQ,GAAG,IAAAC,sBAAoB,EAAC,CAAC,CAACC,MAAM;EAC9C,MAAMC,OAAO,GAAG,IAAAC,qBAAmB,EAAC,CAAC,CAACF,MAAM;EAE5C,MAAMG,aAAa,GAAG,IAAAC,cAAO,EAC3B,OAAO;IACL,qBAAqB,EAAEH,OAAO,CAACI;EACjC,CAAC,CAAC,EACF,CAACJ,OAAO,CAACI,aAAa,CACxB,CAAC;EAED,MAAMC,aAAa,GAAA9C,aAAA;IACjB2C,aAAa;IACbtB;EAAgB,GACbgB,KAAK,CACT;EAED,MAAAU,cAAA,GAcI,IAAAC,oBAAa,EAACF,aAAa,EAAE;MAC/BG,gCAAgC,EAAE;IACpC,CAAC,CAAC;IAhBI;MACJC,EAAE;MACFC,SAAS;MACTC,KAAK,EAAEC,SAAS,GAAG,SAAS;MAC5BhD,KAAK;MACLiD,KAAK;MACLC,gBAAgB;MAChBC,IAAI;MACJC,cAAc;MACdC,YAAY;MACZC,WAAW;MACXC,UAAU;MACVC;IAEF,CAAC,GAAAd,cAAA;IADIe,IAAI,GAAA/E,wBAAA,CAAAgE,cAAA,EAAAhG,SAAA;EAMT,MAAM;IACJgH,KAAK,GAAGzB,QAAQ,CAACyB,KAAK;IACtBC,IAAI,GAAG1B,QAAQ,CAAC0B,IAAI;IACpBC,iBAAiB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;IACjDC,gBAAgB,GAAG,GAAG;IACtBC,WAAW,GAAG,CAAC;IACfC,QAAQ;IACRC;EACF,CAAC,GAAGP,IAAI;EAER,MAAM;IAAE7B,KAAK,EAAEqC,WAAW;IAAEC;EAAS,CAAC,GAAG,IAAAC,kBAAS,EAACtB,EAAE,CAAC;EAEtD,IAAAuB,gBAAS,EAAC,MAAM;IAEd,MAAMC,eAAe,GAAGrE,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsB,IAAI,CAACgD,KAAA;MAAA,IAAC;QAAE/C;MAAK,CAAC,GAAA+C,KAAA;MAAA,OAAK,EAAC/C,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEgD,IAAI;IAAA,EAAC;IAC9D,IAAI,CAACF,eAAe,EAAE;MACpBH,QAAQ,CAAClE,KAAK,CAAC;IACjB;EACF,CAAC,EAAE,CAACkE,QAAQ,EAAElE,KAAK,CAAC,CAAC;EAErB,MAAMwE,iBAAiB,GAAG,IAAAC,kBAAW,EACnC,MAAO7C,KAAkB,IAAK;IAE5B,MAAM8C,eAAe,GAAG,CAAAT,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEnC,GAAG,CAAEP,IAAI,IAAKA,IAAI,CAACsB,EAAE,CAAC,KAAI,EAAE;IACjE,MAAM8B,QAAQ,GAAG/C,KAAK,CAACrC,MAAM,CAC1BgC,IAAI,IAAK,CAACmD,eAAe,CAACE,QAAQ,CAACrD,IAAI,CAACsB,EAAE,CAC7C,CAAC;IAED,IAAI8B,QAAQ,CAACpG,MAAM,GAAG,CAAC,EAAE;MAEvB2F,QAAQ,CAAC,CACP,GAAGD,WAAW,EACd,GAAGtC,sBAAsB,CAACgD,QAAQ,EAAE;QAAE9C,SAAS,EAAE;MAAK,CAAC,CAAC,CACzD,CAAC;MAEF,MAAMgD,aAAa,GAAGlD,sBAAsB,CAC1C,MAAM6B,WAAW,CAACmB,QAAQ,CAAC,EAC3B;QAAE9C,SAAS,EAAE;MAAM,CACrB,CAAC;MAGDwB,YAAY,CAAC,CAAC,GAAGY,WAAW,EAAE,GAAGY,aAAa,CAAC,CAAC;IAClD,CAAC,MAAM;MACLxB,YAAY,CAACzB,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAACqC,WAAW,EAAEC,QAAQ,EAAEV,WAAW,EAAEH,YAAY,CACnD,CAAC;EAED,MAAMyB,aAAa,GAAG,IAAAL,kBAAW,EAC/BM,KAAA,IAAuC;IAAA,IAAtC;MAAEnD;IAA8B,CAAC,GAAAmD,KAAA;IAEhCxB,UAAU,CAAC,CAAC;IACZD,WAAW,CAAC,CAAC;IAEb,IAAIE,WAAW,EAAE;MACfgB,iBAAiB,CAAC5C,KAAK,CAAC;IAC1B,CAAC,MAAM;MACLyB,YAAY,CAACzB,KAAK,CAAC;IACrB;EACF,CAAC,EACD,CAAC2B,UAAU,EAAED,WAAW,EAAEE,WAAW,EAAEgB,iBAAiB,EAAEnB,YAAY,CACxE,CAAC;EAED,MAAMN,KAAK,GAAGC,SAA4B;EAC1C,MAAMgC,eAAgC,GAAArF,aAAA;IACpCkD,EAAE;IACFoC,KAAK,EAAG,GAAEpC,EAAG,QAAO;IACpBqC,WAAW,EAAE,IAAI;IACjBpC,SAAS,EAAE,IAAAqC,mBAAU,EAAC,wBAAwB,EAAErC,SAAS,CAAC;IAC1DC,KAAK;IACLI,IAAI,EAAEvC;EAAS,GACZ,IAAAwE,uBAAgB,EAACpD,KAAK,CAAC,CAC3B;EAED,OACEnG,MAAA,CAAAgB,OAAA,CAAAwI,aAAA,CAACnJ,WAAA,CAAAW,OAAU,EAAKmI,eAAe,EAC7BnJ,MAAA,CAAAgB,OAAA,CAAAwI,aAAA,CAACjJ,OAAA,CAAAS,OAAM,EAAAoB,QAAA;IACL4E,EAAE,EAAEA,EAAG;IACPe,iBAAiB,EAAEA,iBAAkB;IACrCC,gBAAgB,EAAEA,gBAAiB;IACnCC,WAAW,EAAEA,WAAY;IACzBC,QAAQ,EAAEA,QAAS;IACnBuB,QAAQ,EAAER,aAAc;IACxBd,YAAY,EAAEA,YAAa;IAC3BN,KAAK,EAAET,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIS,KAAM;IACtBC,IAAI,EACFR,IAAI,GACFtH,MAAA,CAAAgB,OAAA,CAAAwI,aAAA,CAAAxJ,MAAA,CAAAgB,OAAA,CAAA0I,QAAA,QACGrC,gBAAgB,aAAhBA,gBAAgB,cAAhBA,gBAAgB,GAAIS,IAAI,EACzB9H,MAAA,CAAAgB,OAAA,CAAAwI,aAAA,CAAC9I,iBAAA,CAAAM,OAAgB;MACf2I,SAAS,EAAG,GAAE3C,EAAG,OAAO;MACxB4C,IAAI,EAAE9B,IAAI,GAAG,SAAS,GAAG,KAAM;MAC/BR,IAAI,EAAEA;IAAK,CACZ,CACD,CAAC,GAEHD,gBAAgB,aAAhBA,gBAAgB,cAAhBA,gBAAgB,GAAIS;EAEvB,GACGP,cAAc,GAEjBD,IAAI,IACHtH,MAAA,CAAAgB,OAAA,CAAAwI,aAAA,CAAC9I,iBAAA,CAAAmJ,uBAAuB;IAACF,SAAS,EAAG,GAAE3C,EAAG,OAAO;IAACM,IAAI,EAAEA;EAAK,CAAE,CAE3D,CACE,CAAC;AAEjB;AAAC,IAAAwC,QAAA,GAEc5D,eAAe;AAAA6D,OAAA,CAAA/I,OAAA,GAAA8I,QAAA;AAE9B5D,eAAe,CAAC8D,qBAAqB,GAAG,IAAI"}
@@ -1,3 +1,6 @@
1
1
  import { Props as CardProps } from '../../../../components/card/Card';
2
2
  declare function Card(props: CardProps): import("react/jsx-runtime").JSX.Element;
3
+ declare namespace Card {
4
+ var _supportsSpacingProps: boolean;
5
+ }
3
6
  export default Card;
@@ -14,6 +14,7 @@ function Card(props) {
14
14
  outset: true
15
15
  }, props));
16
16
  }
17
+ Card._supportsSpacingProps = true;
17
18
  var _default = Card;
18
19
  exports.default = _default;
19
20
  //# sourceMappingURL=Card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["_react","_interopRequireDefault","require","_Card","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","Card","props","createElement","stack","outset","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Card/Card.tsx"],"sourcesContent":["import React from 'react'\nimport CardInstance, {\n Props as CardProps,\n} from '../../../../components/card/Card'\n\nfunction Card(props: CardProps) {\n return <CardInstance stack outset {...props} />\n}\n\nexport default Card\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEyC,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAEzC,SAASQ,IAAIA,CAACC,KAAgB,EAAE;EAC9B,OAAOtB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAACpB,KAAA,CAAAG,OAAY,EAAAC,QAAA;IAACiB,KAAK;IAACC,MAAM;EAAA,GAAKH,KAAK,CAAG,CAAC;AACjD;AAAC,IAAAI,QAAA,GAEcL,IAAI;AAAAM,OAAA,CAAArB,OAAA,GAAAoB,QAAA"}
1
+ {"version":3,"file":"Card.js","names":["_react","_interopRequireDefault","require","_Card","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","Card","props","createElement","stack","outset","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Form/Card/Card.tsx"],"sourcesContent":["import React from 'react'\nimport CardInstance, {\n Props as CardProps,\n} from '../../../../components/card/Card'\n\nfunction Card(props: CardProps) {\n return <CardInstance stack outset {...props} />\n}\n\nCard._supportsSpacingProps = true\n\nexport default Card\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEyC,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAEzC,SAASQ,IAAIA,CAACC,KAAgB,EAAE;EAC9B,OAAOtB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAACpB,KAAA,CAAAG,OAAY,EAAAC,QAAA;IAACiB,KAAK;IAACC,MAAM;EAAA,GAAKH,KAAK,CAAG,CAAC;AACjD;AAEAD,IAAI,CAACK,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAElBN,IAAI;AAAAO,OAAA,CAAAtB,OAAA,GAAAqB,QAAA"}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import type { SpacingProps } from '../../../../shared/types';
3
- export type Props = React.HTMLAttributes<HTMLFormElement> & SpacingProps;
4
- export default function FormElement({ children, className, onSubmit, ...rest }: Props): import("react/jsx-runtime").JSX.Element;
3
+ export type Props = Omit<React.HTMLProps<HTMLFormElement>, 'ref' | 'autoComplete'> & SpacingProps;
4
+ export default function FormElement(props: Props): import("react/jsx-runtime").JSX.Element;
@@ -6,25 +6,47 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = FormElement;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
+ var _classnames = _interopRequireDefault(require("classnames"));
9
10
  var _Context = _interopRequireDefault(require("../../DataContext/Context"));
10
11
  var _Space = _interopRequireDefault(require("../../../../components/space/Space"));
11
- var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _useId = _interopRequireDefault(require("../../../../shared/helpers/useId"));
13
+ var _components = require("../../../../components");
14
+ var _componentHelper = require("../../../../shared/component-helper");
12
15
  const _excluded = ["children", "className", "onSubmit"];
13
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
17
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
19
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
24
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
17
25
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
18
26
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
19
- function FormElement(_ref) {
20
- let {
21
- children,
22
- className = null,
23
- onSubmit = null
24
- } = _ref,
25
- rest = _objectWithoutProperties(_ref, _excluded);
27
+ function FormElement(props) {
28
+ const id = (0, _useId.default)();
26
29
  const dataContext = (0, _react.useContext)(_Context.default);
27
- dataContext.isInsideFormElement = true;
30
+ const {
31
+ submitState,
32
+ restHandlerProps
33
+ } = dataContext || {};
34
+ const states = Object.entries(submitState || {}).filter(_ref => {
35
+ let [, value] = _ref;
36
+ return value;
37
+ });
38
+ const _ref2 = _objectSpread(_objectSpread({}, restHandlerProps), props),
39
+ {
40
+ children,
41
+ className,
42
+ onSubmit
43
+ } = _ref2,
44
+ restProps = _objectWithoutProperties(_ref2, _excluded);
45
+ const hasElementRef = (0, _react.useRef)(false);
46
+ if (!dataContext.hasElementRef) {
47
+ dataContext.hasElementRef = hasElementRef;
48
+ }
49
+ dataContext.hasElementRef.current = true;
28
50
  const onSubmitHandler = (0, _react.useCallback)(event => {
29
51
  event === null || event === void 0 ? void 0 : event.preventDefault();
30
52
  const formElement = event.target;
@@ -39,7 +61,24 @@ function FormElement(_ref) {
39
61
  return _react.default.createElement(_Space.default, _extends({
40
62
  element: "form",
41
63
  className: (0, _classnames.default)('dnb-forms-form', className),
42
- onSubmit: onSubmitHandler
43
- }, rest), children);
64
+ onSubmit: onSubmitHandler,
65
+ "aria-labelledby": (0, _componentHelper.combineLabelledBy)(restProps, states.map(_ref3 => {
66
+ let [key] = _ref3;
67
+ return `${id}-form-status-${key}`;
68
+ })) || undefined
69
+ }, restProps), children, ['error', 'warning', 'info'].map(key => {
70
+ const value = submitState === null || submitState === void 0 ? void 0 : submitState[key];
71
+ return _react.default.createElement(_components.FormStatus, {
72
+ key: key,
73
+ state: key,
74
+ id: `${id}-form-status-${key}`,
75
+ className: "dnb-forms-status",
76
+ show: Boolean(value),
77
+ no_animation: false,
78
+ shellSpace: {
79
+ top: 'small'
80
+ }
81
+ }, String((value === null || value === void 0 ? void 0 : value['message']) || value || ''));
82
+ }));
44
83
  }
45
84
  //# sourceMappingURL=Element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Element.js","names":["_react","_interopRequireWildcard","require","_Context","_interopRequireDefault","_Space","_classnames","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","FormElement","_ref","children","className","onSubmit","rest","dataContext","useContext","Context","isInsideFormElement","onSubmitHandler","useCallback","event","preventDefault","formElement","hasContext","formElementRef","current","handleSubmit","createElement","element","classnames"],"sources":["../../../../../../src/extensions/forms/Form/Element/Element.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport Context from '../../DataContext/Context'\nimport Space from '../../../../components/space/Space'\nimport classnames from 'classnames'\nimport type { SpacingProps } from '../../../../shared/types'\n\nexport type Props = React.HTMLAttributes<HTMLFormElement> & SpacingProps\n\nexport default function FormElement({\n children,\n className = null,\n onSubmit = null,\n ...rest\n}: Props) {\n const dataContext = useContext(Context)\n\n /**\n * Set to true,\n * this way we prevent \"handleSubmit\" to be called twice when the SubmitButton is pressed.\n */\n dataContext.isInsideFormElement = true\n\n const onSubmitHandler = useCallback(\n (event: React.SyntheticEvent<HTMLFormElement>) => {\n event?.preventDefault()\n\n const formElement = event.target as HTMLFormElement\n\n if (dataContext.hasContext) {\n dataContext.formElementRef.current = formElement\n dataContext.handleSubmit()\n }\n\n if (typeof onSubmit === 'function') {\n onSubmit(event)\n }\n },\n [dataContext, onSubmit]\n )\n\n return (\n <Space\n element=\"form\"\n className={classnames('dnb-forms-form', className)}\n onSubmit={onSubmitHandler}\n {...rest}\n >\n {children}\n </Space>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Element.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_Space","_useId","_components","_componentHelper","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","FormElement","props","id","useId","dataContext","useContext","DataContext","submitState","restHandlerProps","states","entries","_ref","_ref2","children","className","onSubmit","restProps","hasElementRef","useRef","current","onSubmitHandler","useCallback","event","preventDefault","formElement","hasContext","formElementRef","handleSubmit","createElement","element","classnames","combineLabelledBy","map","_ref3","FormStatus","state","show","Boolean","no_animation","shellSpace","top"],"sources":["../../../../../../src/extensions/forms/Form/Element/Element.tsx"],"sourcesContent":["import React, { useCallback, useContext, useRef } from 'react'\nimport classnames from 'classnames'\nimport DataContext from '../../DataContext/Context'\nimport Space from '../../../../components/space/Space'\nimport useId from '../../../../shared/helpers/useId'\nimport type { SpacingProps } from '../../../../shared/types'\nimport { FormStatus } from '../../../../components'\nimport { combineLabelledBy } from '../../../../shared/component-helper'\n\nexport type Props = Omit<\n React.HTMLProps<HTMLFormElement>,\n 'ref' | 'autoComplete'\n> &\n SpacingProps\n\nexport default function FormElement(props: Props) {\n const id = useId()\n const dataContext = useContext(DataContext)\n const { submitState, restHandlerProps } = dataContext || {}\n const states = Object.entries(submitState || {}).filter(\n ([, value]) => value\n )\n\n const { children, className, onSubmit, ...restProps } = {\n ...restHandlerProps,\n ...props,\n } as Props\n\n /**\n * Set to true,\n * this way we prevent \"handleSubmit\" to be called twice when the SubmitButton is pressed.\n */\n const hasElementRef = useRef(false)\n if (!dataContext.hasElementRef) {\n dataContext.hasElementRef = hasElementRef\n }\n dataContext.hasElementRef.current = true\n\n const onSubmitHandler = useCallback(\n (event: React.SyntheticEvent<HTMLFormElement>) => {\n event?.preventDefault()\n\n const formElement = event.target as HTMLFormElement\n\n if (dataContext.hasContext) {\n dataContext.formElementRef.current = formElement\n dataContext.handleSubmit()\n }\n\n if (typeof onSubmit === 'function') {\n onSubmit(event)\n }\n },\n [dataContext, onSubmit]\n )\n\n return (\n <Space\n element=\"form\"\n className={classnames('dnb-forms-form', className)}\n onSubmit={onSubmitHandler}\n aria-labelledby={\n combineLabelledBy(\n restProps,\n states.map(([key]) => {\n return `${id}-form-status-${key}`\n })\n ) || undefined\n }\n {...restProps}\n >\n {children}\n\n {['error', 'warning', 'info'].map((key) => {\n const value = submitState?.[key]\n return (\n <FormStatus\n key={key}\n state={key}\n id={`${id}-form-status-${key}`}\n className=\"dnb-forms-status\"\n show={Boolean(value)}\n no_animation={false}\n shellSpace={{ top: 'small' }}\n >\n {String(value?.['message'] || value || '')}\n </FormStatus>\n )\n })}\n </Space>\n )\n}\n"],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import { JsonObject } from '../../utils/json-pointer';
2
2
  import { Props as ProviderProps } from '../../DataContext/Provider';
3
- import type { ElementAllProps } from '../../../../elements/Element';
4
- export type Props = Omit<ElementAllProps, 'data' | 'as' | 'autoComplete'> & {
3
+ import { Props as FormElementProps } from '../Element';
4
+ export type Props = FormElementProps & {
5
5
  /**
6
6
  * Will enable autoComplete for all nested Field.String fields
7
7
  */
8
8
  autoComplete?: boolean;
9
+ /**
10
+ * Will decouple the form element from rendering
11
+ */
12
+ decoupleForm?: boolean;
9
13
  };
10
- export default function FormHandler<Data extends JsonObject>({ children, defaultData, data, schema, ajvInstance, errorMessages, globalStatusId, filterSubmitData, transformIn, transformOut, onChange, onPathChange, onSubmit, onSubmitRequest, onSubmitComplete, onClear, minimumAsyncBehaviorTime, asyncSubmitTimeout, scrollTopOnSubmit, sessionStorageId, autoComplete, locale, translations, disabled, required, ...rest }: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>): import("react/jsx-runtime").JSX.Element;
14
+ export default function FormHandler<Data extends JsonObject>(props: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>): import("react/jsx-runtime").JSX.Element;
@@ -6,109 +6,35 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = FormHandler;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
+ var _helpers = require("../../../../shared/helpers");
9
10
  var _Provider = _interopRequireDefault(require("../../DataContext/Provider"));
10
- var _Context = _interopRequireDefault(require("../../DataContext/Context"));
11
11
  var _Element = _interopRequireDefault(require("../Element"));
12
- var _FormStatus = _interopRequireDefault(require("../../../../components/FormStatus"));
13
- var _useId = _interopRequireDefault(require("../../../../shared/helpers/useId"));
14
- var _componentHelper = require("../../../../shared/component-helper");
15
- const _excluded = ["children", "defaultData", "data", "schema", "ajvInstance", "errorMessages", "globalStatusId", "filterSubmitData", "transformIn", "transformOut", "onChange", "onPathChange", "onSubmit", "onSubmitRequest", "onSubmitComplete", "onClear", "minimumAsyncBehaviorTime", "asyncSubmitTimeout", "scrollTopOnSubmit", "sessionStorageId", "autoComplete", "locale", "translations", "disabled", "required"],
16
- _excluded2 = ["children"];
17
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
22
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
- function FormHandler(_ref) {
24
- let {
25
- children,
26
- defaultData,
27
- data,
28
- schema,
29
- ajvInstance,
30
- errorMessages,
31
- globalStatusId,
32
- filterSubmitData,
33
- transformIn,
34
- transformOut,
35
- onChange,
36
- onPathChange,
37
- onSubmit,
38
- onSubmitRequest,
39
- onSubmitComplete,
40
- onClear,
41
- minimumAsyncBehaviorTime,
42
- asyncSubmitTimeout,
43
- scrollTopOnSubmit,
44
- sessionStorageId,
45
- autoComplete,
46
- locale,
47
- translations,
48
- disabled,
49
- required
50
- } = _ref,
51
- rest = _objectWithoutProperties(_ref, _excluded);
15
+ const allowedProviderContextProps = ['id', 'defaultData', 'data', 'schema', 'ajvInstance', 'errorMessages', 'globalStatusId', 'filterSubmitData', 'transformIn', 'transformOut', 'onChange', 'onPathChange', 'onSubmit', 'onSubmitRequest', 'onSubmitComplete', 'onClear', 'minimumAsyncBehaviorTime', 'asyncSubmitTimeout', 'scrollTopOnSubmit', 'sessionStorageId', 'locale', 'translations', 'autoComplete', 'disabled', 'required', 'decoupleForm', 'restHandlerProps'];
16
+ function FormHandler(props) {
17
+ const {
18
+ decoupleForm,
19
+ children
20
+ } = props;
21
+ const hasElementRef = (0, _react.useRef)(false);
22
+ (0, _react.useEffect)(() => {
23
+ if (decoupleForm && !hasElementRef.current) {
24
+ (0, _helpers.warn)('Please include a Form.Element when using decoupleForm!');
25
+ }
26
+ }, [decoupleForm]);
52
27
  const providerProps = {
53
- id: rest.id,
54
- defaultData,
55
- data,
56
- schema,
57
- ajvInstance,
58
- errorMessages,
59
- globalStatusId,
60
- filterSubmitData,
61
- transformIn,
62
- transformOut,
63
- onChange,
64
- onPathChange,
65
- onSubmit,
66
- onSubmitRequest,
67
- onSubmitComplete,
68
- onClear,
69
- minimumAsyncBehaviorTime,
70
- asyncSubmitTimeout,
71
- scrollTopOnSubmit,
72
- sessionStorageId,
73
- autoComplete,
74
- locale,
75
- translations,
76
- disabled,
77
- required
28
+ hasElementRef,
29
+ restHandlerProps: {}
78
30
  };
79
- return _react.default.createElement(_Provider.default, providerProps, _react.default.createElement(FormElementWithState, rest, children));
80
- }
81
- function FormElementWithState(_ref2) {
82
- let {
83
- children
84
- } = _ref2,
85
- rest = _objectWithoutProperties(_ref2, _excluded2);
86
- const id = (0, _useId.default)();
87
- const {
88
- submitState
89
- } = (0, _react.useContext)(_Context.default) || {};
90
- const states = Object.entries(submitState || {}).filter(_ref3 => {
91
- let [, value] = _ref3;
92
- return value;
93
- });
94
- return _react.default.createElement(_Element.default, _extends({}, rest, {
95
- "aria-labelledby": (0, _componentHelper.combineLabelledBy)(rest, states.map(_ref4 => {
96
- let [key] = _ref4;
97
- return `${id}-form-status-${key}`;
98
- })) || undefined
99
- }), children, ['error', 'warning', 'info'].map(key => {
100
- const value = submitState === null || submitState === void 0 ? void 0 : submitState[key];
101
- return _react.default.createElement(_FormStatus.default, {
102
- key: key,
103
- state: key,
104
- id: `${id}-form-status-${key}`,
105
- className: "dnb-forms-status",
106
- show: Boolean(value),
107
- no_animation: false,
108
- shellSpace: {
109
- top: 'small'
110
- }
111
- }, String((value === null || value === void 0 ? void 0 : value['message']) || value || ''));
112
- }));
31
+ for (const key in props) {
32
+ if (allowedProviderContextProps.includes(key)) {
33
+ providerProps[key] = props[key];
34
+ } else if (key !== 'children') {
35
+ providerProps.restHandlerProps[key] = props[key];
36
+ }
37
+ }
38
+ return _react.default.createElement(_Provider.default, providerProps, decoupleForm ? children : _react.default.createElement(_Element.default, null, children));
113
39
  }
114
40
  //# sourceMappingURL=Handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","names":["_react","_interopRequireWildcard","require","_Provider","_interopRequireDefault","_Context","_Element","_FormStatus","_useId","_componentHelper","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","FormHandler","_ref","children","defaultData","data","schema","ajvInstance","errorMessages","globalStatusId","filterSubmitData","transformIn","transformOut","onChange","onPathChange","onSubmit","onSubmitRequest","onSubmitComplete","onClear","minimumAsyncBehaviorTime","asyncSubmitTimeout","scrollTopOnSubmit","sessionStorageId","autoComplete","locale","translations","disabled","required","rest","providerProps","id","createElement","FormElementWithState","_ref2","useId","submitState","useContext","DataContext","states","entries","filter","_ref3","value","combineLabelledBy","map","_ref4","undefined","state","className","show","Boolean","no_animation","shellSpace","top","String"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport { JsonObject } from '../../utils/json-pointer'\nimport DataContextProvider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport DataContext from '../../DataContext/Context'\nimport FormElement from '../Element'\nimport type { ElementAllProps } from '../../../../elements/Element'\nimport FormStatus from '../../../../components/FormStatus'\nimport useId from '../../../../shared/helpers/useId'\nimport { combineLabelledBy } from '../../../../shared/component-helper'\n\nexport type Props = Omit<\n ElementAllProps,\n 'data' | 'as' | 'autoComplete'\n> & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n}\n\nexport default function FormHandler<Data extends JsonObject>({\n children,\n defaultData,\n data,\n schema,\n ajvInstance,\n errorMessages,\n globalStatusId,\n filterSubmitData,\n transformIn,\n transformOut,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onClear,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n locale,\n translations,\n disabled,\n required,\n ...rest\n}: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>) {\n const providerProps = {\n id: rest.id,\n defaultData,\n data,\n schema,\n ajvInstance,\n errorMessages,\n globalStatusId,\n filterSubmitData,\n transformIn,\n transformOut,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n onSubmitComplete,\n onClear,\n minimumAsyncBehaviorTime,\n asyncSubmitTimeout,\n scrollTopOnSubmit,\n sessionStorageId,\n autoComplete,\n locale,\n translations,\n disabled,\n required,\n }\n\n return (\n <DataContextProvider {...providerProps}>\n <FormElementWithState {...rest}>{children}</FormElementWithState>\n </DataContextProvider>\n )\n}\n\nfunction FormElementWithState({ children, ...rest }) {\n const id = useId()\n const { submitState } = useContext(DataContext) || {}\n const states = Object.entries(submitState || {}).filter(\n ([, value]) => value\n )\n\n return (\n <FormElement\n {...rest}\n aria-labelledby={\n combineLabelledBy(\n rest,\n states.map(([key]) => {\n return `${id}-form-status-${key}`\n })\n ) || undefined\n }\n >\n {children}\n\n {['error', 'warning', 'info'].map((key) => {\n const value = submitState?.[key]\n return (\n <FormStatus\n key={key}\n state={key}\n id={`${id}-form-status-${key}`}\n className=\"dnb-forms-status\"\n show={Boolean(value)}\n no_animation={false}\n shellSpace={{ top: 'small' }}\n >\n {String(value?.['message'] || value || '')}\n </FormStatus>\n )\n })}\n </FormElement>\n )\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,QAAA,GAAAF,sBAAA,CAAAF,OAAA;AAEA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,MAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AAAuE,MAAAQ,SAAA;EAAAC,UAAA;AAAA,SAAAP,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAf,wBAAAW,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,yBAAAF,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,GAAAQ,6BAAA,CAAAJ,MAAA,EAAAG,QAAA,OAAAhB,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAAqB,qBAAA,QAAAC,gBAAA,GAAAtB,MAAA,CAAAqB,qBAAA,CAAAL,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAS,gBAAA,CAAAP,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAmB,gBAAA,CAAAT,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAoB,oBAAA,CAAAlB,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAAQ,8BAAAJ,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,WAAAa,UAAA,GAAAzB,MAAA,CAAA0B,IAAA,CAAAV,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAY,UAAA,CAAAV,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAsB,UAAA,CAAAZ,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAYxD,SAASe,WAAWA,CAAAC,IAAA,EA2B8B;EAAA,IA3BJ;MAC3DC,QAAQ;MACRC,WAAW;MACXC,IAAI;MACJC,MAAM;MACNC,WAAW;MACXC,aAAa;MACbC,cAAc;MACdC,gBAAgB;MAChBC,WAAW;MACXC,YAAY;MACZC,QAAQ;MACRC,YAAY;MACZC,QAAQ;MACRC,eAAe;MACfC,gBAAgB;MAChBC,OAAO;MACPC,wBAAwB;MACxBC,kBAAkB;MAClBC,iBAAiB;MACjBC,gBAAgB;MAChBC,YAAY;MACZC,MAAM;MACNC,YAAY;MACZC,QAAQ;MACRC;IAE4D,CAAC,GAAAzB,IAAA;IAD1D0B,IAAI,GAAApC,wBAAA,CAAAU,IAAA,EAAA3C,SAAA;EAEP,MAAMsE,aAAa,GAAG;IACpBC,EAAE,EAAEF,IAAI,CAACE,EAAE;IACX1B,WAAW;IACXC,IAAI;IACJC,MAAM;IACNC,WAAW;IACXC,aAAa;IACbC,cAAc;IACdC,gBAAgB;IAChBC,WAAW;IACXC,YAAY;IACZC,QAAQ;IACRC,YAAY;IACZC,QAAQ;IACRC,eAAe;IACfC,gBAAgB;IAChBC,OAAO;IACPC,wBAAwB;IACxBC,kBAAkB;IAClBC,iBAAiB;IACjBC,gBAAgB;IAChBC,YAAY;IACZC,MAAM;IACNC,YAAY;IACZC,QAAQ;IACRC;EACF,CAAC;EAED,OACE9E,MAAA,CAAAc,OAAA,CAAAoE,aAAA,CAAC/E,SAAA,CAAAW,OAAmB,EAAKkE,aAAa,EACpChF,MAAA,CAAAc,OAAA,CAAAoE,aAAA,CAACC,oBAAoB,EAAKJ,IAAI,EAAGzB,QAA+B,CAC7C,CAAC;AAE1B;AAEA,SAAS6B,oBAAoBA,CAAAC,KAAA,EAAwB;EAAA,IAAvB;MAAE9B;IAAkB,CAAC,GAAA8B,KAAA;IAANL,IAAI,GAAApC,wBAAA,CAAAyC,KAAA,EAAAzE,UAAA;EAC/C,MAAMsE,EAAE,GAAG,IAAAI,cAAK,EAAC,CAAC;EAClB,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,iBAAU,EAACC,gBAAW,CAAC,IAAI,CAAC,CAAC;EACrD,MAAMC,MAAM,GAAGhE,MAAM,CAACiE,OAAO,CAACJ,WAAW,IAAI,CAAC,CAAC,CAAC,CAACK,MAAM,CACrDC,KAAA;IAAA,IAAC,GAAGC,KAAK,CAAC,GAAAD,KAAA;IAAA,OAAKC,KAAK;EAAA,CACtB,CAAC;EAED,OACE7F,MAAA,CAAAc,OAAA,CAAAoE,aAAA,CAAC5E,QAAA,CAAAQ,OAAW,EAAAoB,QAAA,KACN6C,IAAI;IACR,mBACE,IAAAe,kCAAiB,EACff,IAAI,EACJU,MAAM,CAACM,GAAG,CAACC,KAAA,IAAW;MAAA,IAAV,CAACpE,GAAG,CAAC,GAAAoE,KAAA;MACf,OAAQ,GAAEf,EAAG,gBAAerD,GAAI,EAAC;IACnC,CAAC,CACH,CAAC,IAAIqE;EACN,IAEA3C,QAAQ,EAER,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAACyC,GAAG,CAAEnE,GAAG,IAAK;IACzC,MAAMiE,KAAK,GAAGP,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAG1D,GAAG,CAAC;IAChC,OACE5B,MAAA,CAAAc,OAAA,CAAAoE,aAAA,CAAC3E,WAAA,CAAAO,OAAU;MACTc,GAAG,EAAEA,GAAI;MACTsE,KAAK,EAAEtE,GAAI;MACXqD,EAAE,EAAG,GAAEA,EAAG,gBAAerD,GAAI,EAAE;MAC/BuE,SAAS,EAAC,kBAAkB;MAC5BC,IAAI,EAAEC,OAAO,CAACR,KAAK,CAAE;MACrBS,YAAY,EAAE,KAAM;MACpBC,UAAU,EAAE;QAAEC,GAAG,EAAE;MAAQ;IAAE,GAE5BC,MAAM,CAAC,CAAAZ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAG,SAAS,CAAC,KAAIA,KAAK,IAAI,EAAE,CAC/B,CAAC;EAEjB,CAAC,CACU,CAAC;AAElB"}
1
+ {"version":3,"file":"Handler.js","names":["_react","_interopRequireWildcard","require","_helpers","_Provider","_interopRequireDefault","_Element","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","allowedProviderContextProps","FormHandler","props","decoupleForm","children","hasElementRef","useRef","useEffect","current","warn","providerProps","restHandlerProps","includes","createElement"],"sources":["../../../../../../src/extensions/forms/Form/Handler/Handler.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react'\nimport { JsonObject } from '../../utils/json-pointer'\nimport { warn } from '../../../../shared/helpers'\nimport DataContextProvider, {\n Props as ProviderProps,\n} from '../../DataContext/Provider'\nimport FormElement, { Props as FormElementProps } from '../Element'\nimport { ContextState } from '../../DataContext'\n\nexport type Props = FormElementProps & {\n /**\n * Will enable autoComplete for all nested Field.String fields\n */\n autoComplete?: boolean\n\n /**\n * Will decouple the form element from rendering\n */\n decoupleForm?: boolean\n}\n\ntype AllowedProviderContextProps = ProviderProps<JsonObject> &\n Pick<Props, 'decoupleForm' | 'autoComplete' | 'disabled'> &\n Pick<ContextState, 'restHandlerProps' | 'hasElementRef'>\n\nconst allowedProviderContextProps: Array<\n keyof AllowedProviderContextProps\n> = [\n 'id',\n 'defaultData',\n 'data',\n 'schema',\n 'ajvInstance',\n 'errorMessages',\n 'globalStatusId',\n 'filterSubmitData',\n 'transformIn',\n 'transformOut',\n 'onChange',\n 'onPathChange',\n 'onSubmit',\n 'onSubmitRequest',\n 'onSubmitComplete',\n 'onClear',\n 'minimumAsyncBehaviorTime',\n 'asyncSubmitTimeout',\n 'scrollTopOnSubmit',\n 'sessionStorageId',\n 'locale',\n 'translations',\n 'autoComplete',\n 'disabled',\n 'required',\n 'decoupleForm',\n 'restHandlerProps',\n]\n\nexport default function FormHandler<Data extends JsonObject>(\n props: ProviderProps<Data> & Omit<Props, keyof ProviderProps<Data>>\n) {\n const { decoupleForm, children } = props\n\n const hasElementRef = useRef(false)\n useEffect(() => {\n if (decoupleForm && !hasElementRef.current) {\n warn('Please include a Form.Element when using decoupleForm!')\n }\n }, [decoupleForm])\n\n const providerProps = {\n hasElementRef,\n restHandlerProps: {},\n } as AllowedProviderContextProps\n\n for (const key in props) {\n if (\n allowedProviderContextProps.includes(\n key as keyof AllowedProviderContextProps\n )\n ) {\n providerProps[key] = props[key]\n } else if (key !== 'children') {\n providerProps.restHandlerProps[key] = props[key]\n }\n }\n\n return (\n <DataContextProvider {...providerProps}>\n {decoupleForm ? children : <FormElement>{children}</FormElement>}\n </DataContextProvider>\n )\n}\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { JsonObject } from '../../utils/json-pointer';
3
3
  import IsolationCommitButton from './IsolationCommitButton';
4
4
  import { type Props as ProviderProps } from '../../DataContext/Provider';
5
5
  import type { OnCommit, Path } from '../../types';
6
- export type IsolationProviderProps<Data> = {
6
+ export type IsolationProviderProps<Data extends JsonObject> = {
7
7
  /**
8
8
  * Form.Isolation: Will be called when the isolated context is committed.
9
9
  */
@@ -17,7 +17,7 @@ export type IsolationProviderProps<Data> = {
17
17
  * It will receive the data from the isolated context and the data from the outer context.
18
18
  * You can use this to transform the data before it is committed.
19
19
  */
20
- transformOnCommit?: (isolatedData: JsonObject, handlerData: JsonObject) => unknown;
20
+ transformOnCommit?: (isolatedData: Data, handlerData: Data) => JsonObject;
21
21
  /**
22
22
  * Prevent the form from being submitted when there are fields with errors inside the Form.Isolation.
23
23
  */
@@ -31,7 +31,7 @@ export type IsolationProviderProps<Data> = {
31
31
  */
32
32
  isolate?: boolean;
33
33
  };
34
- export type IsolationProps<Data> = Omit<ProviderProps<Data>, 'onSubmit' | 'onSubmitRequest' | 'onSubmitComplete' | 'minimumAsyncBehaviorTime' | 'asyncSubmitTimeout' | 'scrollTopOnSubmit' | 'sessionStorageId' | 'globalStatusId'> & {
34
+ export type IsolationProps<Data extends JsonObject> = Omit<ProviderProps<Data>, 'onSubmit' | 'onSubmitRequest' | 'onSubmitComplete' | 'minimumAsyncBehaviorTime' | 'asyncSubmitTimeout' | 'scrollTopOnSubmit' | 'sessionStorageId' | 'globalStatusId'> & {
35
35
  /**
36
36
  * A ref (function) that you can call in order to commit the data programmatically to the outer context.
37
37
  */