@dnb/eufemia 10.57.0 → 10.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (826) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/assets/flags/1x1/ad.svg +148 -0
  3. package/assets/flags/1x1/ae.svg +6 -0
  4. package/assets/flags/1x1/af.svg +81 -0
  5. package/assets/flags/1x1/ag.svg +14 -0
  6. package/assets/flags/1x1/ai.svg +29 -0
  7. package/assets/flags/1x1/al.svg +5 -0
  8. package/assets/flags/1x1/am.svg +5 -0
  9. package/assets/flags/1x1/ao.svg +13 -0
  10. package/assets/flags/1x1/aq.svg +5 -0
  11. package/assets/flags/1x1/ar.svg +32 -0
  12. package/assets/flags/1x1/arab.svg +109 -0
  13. package/assets/flags/1x1/as.svg +73 -0
  14. package/assets/flags/1x1/at.svg +4 -0
  15. package/assets/flags/1x1/au.svg +8 -0
  16. package/assets/flags/1x1/aw.svg +186 -0
  17. package/assets/flags/1x1/ax.svg +18 -0
  18. package/assets/flags/1x1/az.svg +8 -0
  19. package/assets/flags/1x1/ba.svg +12 -0
  20. package/assets/flags/1x1/bb.svg +6 -0
  21. package/assets/flags/1x1/bd.svg +4 -0
  22. package/assets/flags/1x1/be.svg +7 -0
  23. package/assets/flags/1x1/bf.svg +7 -0
  24. package/assets/flags/1x1/bg.svg +5 -0
  25. package/assets/flags/1x1/bh.svg +4 -0
  26. package/assets/flags/1x1/bi.svg +15 -0
  27. package/assets/flags/1x1/bj.svg +14 -0
  28. package/assets/flags/1x1/bl.svg +7 -0
  29. package/assets/flags/1x1/bm.svg +97 -0
  30. package/assets/flags/1x1/bn.svg +36 -0
  31. package/assets/flags/1x1/bo.svg +674 -0
  32. package/assets/flags/1x1/bq.svg +5 -0
  33. package/assets/flags/1x1/br.svg +45 -0
  34. package/assets/flags/1x1/bs.svg +13 -0
  35. package/assets/flags/1x1/bt.svg +89 -0
  36. package/assets/flags/1x1/bv.svg +13 -0
  37. package/assets/flags/1x1/bw.svg +7 -0
  38. package/assets/flags/1x1/by.svg +18 -0
  39. package/assets/flags/1x1/bz.svg +145 -0
  40. package/assets/flags/1x1/ca.svg +4 -0
  41. package/assets/flags/1x1/cc.svg +19 -0
  42. package/assets/flags/1x1/cd.svg +12 -0
  43. package/assets/flags/1x1/cefta.svg +13 -0
  44. package/assets/flags/1x1/cf.svg +15 -0
  45. package/assets/flags/1x1/cg.svg +12 -0
  46. package/assets/flags/1x1/ch.svg +9 -0
  47. package/assets/flags/1x1/ci.svg +7 -0
  48. package/assets/flags/1x1/ck.svg +9 -0
  49. package/assets/flags/1x1/cl.svg +13 -0
  50. package/assets/flags/1x1/cm.svg +15 -0
  51. package/assets/flags/1x1/cn.svg +11 -0
  52. package/assets/flags/1x1/co.svg +7 -0
  53. package/assets/flags/1x1/cp.svg +7 -0
  54. package/assets/flags/1x1/cr.svg +7 -0
  55. package/assets/flags/1x1/cu.svg +13 -0
  56. package/assets/flags/1x1/cv.svg +13 -0
  57. package/assets/flags/1x1/cw.svg +14 -0
  58. package/assets/flags/1x1/cx.svg +15 -0
  59. package/assets/flags/1x1/cy.svg +6 -0
  60. package/assets/flags/1x1/cz.svg +5 -0
  61. package/assets/flags/1x1/de.svg +5 -0
  62. package/assets/flags/1x1/dg.svg +130 -0
  63. package/assets/flags/1x1/dj.svg +13 -0
  64. package/assets/flags/1x1/dk.svg +5 -0
  65. package/assets/flags/1x1/dm.svg +152 -0
  66. package/assets/flags/1x1/do.svg +123 -0
  67. package/assets/flags/1x1/dz.svg +5 -0
  68. package/assets/flags/1x1/eac.svg +48 -0
  69. package/assets/flags/1x1/ec.svg +138 -0
  70. package/assets/flags/1x1/ee.svg +5 -0
  71. package/assets/flags/1x1/eg.svg +38 -0
  72. package/assets/flags/1x1/eh.svg +11 -0
  73. package/assets/flags/1x1/er.svg +13 -0
  74. package/assets/flags/1x1/es-ct.svg +4 -0
  75. package/assets/flags/1x1/es-ga.svg +187 -0
  76. package/assets/flags/1x1/es-pv.svg +5 -0
  77. package/assets/flags/1x1/es.svg +547 -0
  78. package/assets/flags/1x1/et.svg +14 -0
  79. package/assets/flags/1x1/eu.svg +28 -0
  80. package/assets/flags/1x1/fi.svg +5 -0
  81. package/assets/flags/1x1/fj.svg +123 -0
  82. package/assets/flags/1x1/fk.svg +89 -0
  83. package/assets/flags/1x1/fm.svg +11 -0
  84. package/assets/flags/1x1/fo.svg +12 -0
  85. package/assets/flags/1x1/fr.svg +5 -0
  86. package/assets/flags/1x1/ga.svg +7 -0
  87. package/assets/flags/1x1/gb-eng.svg +5 -0
  88. package/assets/flags/1x1/gb-nir.svg +131 -0
  89. package/assets/flags/1x1/gb-sct.svg +4 -0
  90. package/assets/flags/1x1/gb-wls.svg +9 -0
  91. package/assets/flags/1x1/gb.svg +7 -0
  92. package/assets/flags/1x1/gd.svg +27 -0
  93. package/assets/flags/1x1/ge.svg +6 -0
  94. package/assets/flags/1x1/gf.svg +5 -0
  95. package/assets/flags/1x1/gg.svg +9 -0
  96. package/assets/flags/1x1/gh.svg +6 -0
  97. package/assets/flags/1x1/gi.svg +32 -0
  98. package/assets/flags/1x1/gl.svg +4 -0
  99. package/assets/flags/1x1/gm.svg +9 -0
  100. package/assets/flags/1x1/gn.svg +7 -0
  101. package/assets/flags/1x1/gp.svg +5 -0
  102. package/assets/flags/1x1/gq.svg +23 -0
  103. package/assets/flags/1x1/gr.svg +16 -0
  104. package/assets/flags/1x1/gs.svg +132 -0
  105. package/assets/flags/1x1/gt.svg +204 -0
  106. package/assets/flags/1x1/gu.svg +23 -0
  107. package/assets/flags/1x1/gw.svg +15 -0
  108. package/assets/flags/1x1/gy.svg +9 -0
  109. package/assets/flags/1x1/hk.svg +8 -0
  110. package/assets/flags/1x1/hm.svg +8 -0
  111. package/assets/flags/1x1/hn.svg +18 -0
  112. package/assets/flags/1x1/hr.svg +56 -0
  113. package/assets/flags/1x1/ht.svg +116 -0
  114. package/assets/flags/1x1/hu.svg +7 -0
  115. package/assets/flags/1x1/ic.svg +7 -0
  116. package/assets/flags/1x1/id.svg +4 -0
  117. package/assets/flags/1x1/ie.svg +7 -0
  118. package/assets/flags/1x1/il.svg +14 -0
  119. package/assets/flags/1x1/im.svg +36 -0
  120. package/assets/flags/1x1/in.svg +25 -0
  121. package/assets/flags/1x1/io.svg +130 -0
  122. package/assets/flags/1x1/iq.svg +10 -0
  123. package/assets/flags/1x1/ir.svg +219 -0
  124. package/assets/flags/1x1/is.svg +12 -0
  125. package/assets/flags/1x1/it.svg +7 -0
  126. package/assets/flags/1x1/je.svg +62 -0
  127. package/assets/flags/1x1/jm.svg +8 -0
  128. package/assets/flags/1x1/jo.svg +16 -0
  129. package/assets/flags/1x1/jp.svg +11 -0
  130. package/assets/flags/1x1/ke.svg +23 -0
  131. package/assets/flags/1x1/kg.svg +15 -0
  132. package/assets/flags/1x1/kh.svg +61 -0
  133. package/assets/flags/1x1/ki.svg +36 -0
  134. package/assets/flags/1x1/km.svg +16 -0
  135. package/assets/flags/1x1/kn.svg +14 -0
  136. package/assets/flags/1x1/kp.svg +15 -0
  137. package/assets/flags/1x1/kr.svg +17 -0
  138. package/assets/flags/1x1/kw.svg +13 -0
  139. package/assets/flags/1x1/ky.svg +103 -0
  140. package/assets/flags/1x1/kz.svg +36 -0
  141. package/assets/flags/1x1/la.svg +12 -0
  142. package/assets/flags/1x1/lb.svg +15 -0
  143. package/assets/flags/1x1/lc.svg +8 -0
  144. package/assets/flags/1x1/li.svg +43 -0
  145. package/assets/flags/1x1/lk.svg +22 -0
  146. package/assets/flags/1x1/lr.svg +14 -0
  147. package/assets/flags/1x1/ls.svg +8 -0
  148. package/assets/flags/1x1/lt.svg +7 -0
  149. package/assets/flags/1x1/lu.svg +5 -0
  150. package/assets/flags/1x1/lv.svg +6 -0
  151. package/assets/flags/1x1/ly.svg +13 -0
  152. package/assets/flags/1x1/ma.svg +4 -0
  153. package/assets/flags/1x1/mc.svg +6 -0
  154. package/assets/flags/1x1/md.svg +71 -0
  155. package/assets/flags/1x1/me.svg +118 -0
  156. package/assets/flags/1x1/mf.svg +5 -0
  157. package/assets/flags/1x1/mg.svg +7 -0
  158. package/assets/flags/1x1/mh.svg +8 -0
  159. package/assets/flags/1x1/mk.svg +5 -0
  160. package/assets/flags/1x1/ml.svg +7 -0
  161. package/assets/flags/1x1/mm.svg +10 -0
  162. package/assets/flags/1x1/mn.svg +14 -0
  163. package/assets/flags/1x1/mo.svg +9 -0
  164. package/assets/flags/1x1/mp.svg +86 -0
  165. package/assets/flags/1x1/mq.svg +5 -0
  166. package/assets/flags/1x1/mr.svg +6 -0
  167. package/assets/flags/1x1/ms.svg +25 -0
  168. package/assets/flags/1x1/mt.svg +56 -0
  169. package/assets/flags/1x1/mu.svg +8 -0
  170. package/assets/flags/1x1/mv.svg +6 -0
  171. package/assets/flags/1x1/mw.svg +15 -0
  172. package/assets/flags/1x1/mx.svg +377 -0
  173. package/assets/flags/1x1/my.svg +18 -0
  174. package/assets/flags/1x1/mz.svg +21 -0
  175. package/assets/flags/1x1/na.svg +16 -0
  176. package/assets/flags/1x1/nc.svg +12 -0
  177. package/assets/flags/1x1/ne.svg +6 -0
  178. package/assets/flags/1x1/nf.svg +11 -0
  179. package/assets/flags/1x1/ng.svg +6 -0
  180. package/assets/flags/1x1/ni.svg +129 -0
  181. package/assets/flags/1x1/nl.svg +5 -0
  182. package/assets/flags/1x1/no.svg +7 -0
  183. package/assets/flags/1x1/np.svg +18 -0
  184. package/assets/flags/1x1/nr.svg +12 -0
  185. package/assets/flags/1x1/nu.svg +10 -0
  186. package/assets/flags/1x1/nz.svg +36 -0
  187. package/assets/flags/1x1/om.svg +115 -0
  188. package/assets/flags/1x1/pa.svg +13 -0
  189. package/assets/flags/1x1/pc.svg +33 -0
  190. package/assets/flags/1x1/pe.svg +4 -0
  191. package/assets/flags/1x1/pf.svg +18 -0
  192. package/assets/flags/1x1/pg.svg +16 -0
  193. package/assets/flags/1x1/ph.svg +6 -0
  194. package/assets/flags/1x1/pk.svg +15 -0
  195. package/assets/flags/1x1/pl.svg +6 -0
  196. package/assets/flags/1x1/pm.svg +5 -0
  197. package/assets/flags/1x1/pn.svg +53 -0
  198. package/assets/flags/1x1/pr.svg +13 -0
  199. package/assets/flags/1x1/ps.svg +15 -0
  200. package/assets/flags/1x1/pt.svg +57 -0
  201. package/assets/flags/1x1/pw.svg +11 -0
  202. package/assets/flags/1x1/py.svg +156 -0
  203. package/assets/flags/1x1/qa.svg +4 -0
  204. package/assets/flags/1x1/re.svg +7 -0
  205. package/assets/flags/1x1/ro.svg +7 -0
  206. package/assets/flags/1x1/rs.svg +296 -0
  207. package/assets/flags/1x1/ru.svg +5 -0
  208. package/assets/flags/1x1/rw.svg +13 -0
  209. package/assets/flags/1x1/sa.svg +25 -0
  210. package/assets/flags/1x1/sb.svg +13 -0
  211. package/assets/flags/1x1/sc.svg +7 -0
  212. package/assets/flags/1x1/sd.svg +13 -0
  213. package/assets/flags/1x1/se.svg +4 -0
  214. package/assets/flags/1x1/sg.svg +13 -0
  215. package/assets/flags/1x1/sh-ac.svg +690 -0
  216. package/assets/flags/1x1/sh-hl.svg +164 -0
  217. package/assets/flags/1x1/sh-ta.svg +76 -0
  218. package/assets/flags/1x1/sh.svg +7 -0
  219. package/assets/flags/1x1/si.svg +18 -0
  220. package/assets/flags/1x1/sj.svg +7 -0
  221. package/assets/flags/1x1/sk.svg +9 -0
  222. package/assets/flags/1x1/sl.svg +12 -0
  223. package/assets/flags/1x1/sm.svg +73 -0
  224. package/assets/flags/1x1/sn.svg +8 -0
  225. package/assets/flags/1x1/so.svg +11 -0
  226. package/assets/flags/1x1/sr.svg +6 -0
  227. package/assets/flags/1x1/ss.svg +8 -0
  228. package/assets/flags/1x1/st.svg +16 -0
  229. package/assets/flags/1x1/sv.svg +594 -0
  230. package/assets/flags/1x1/sx.svg +56 -0
  231. package/assets/flags/1x1/sy.svg +6 -0
  232. package/assets/flags/1x1/sz.svg +34 -0
  233. package/assets/flags/1x1/tc.svg +50 -0
  234. package/assets/flags/1x1/td.svg +7 -0
  235. package/assets/flags/1x1/tf.svg +15 -0
  236. package/assets/flags/1x1/tg.svg +14 -0
  237. package/assets/flags/1x1/th.svg +7 -0
  238. package/assets/flags/1x1/tj.svg +26 -0
  239. package/assets/flags/1x1/tk.svg +5 -0
  240. package/assets/flags/1x1/tl.svg +13 -0
  241. package/assets/flags/1x1/tm.svg +205 -0
  242. package/assets/flags/1x1/tn.svg +4 -0
  243. package/assets/flags/1x1/to.svg +10 -0
  244. package/assets/flags/1x1/tr.svg +8 -0
  245. package/assets/flags/1x1/tt.svg +7 -0
  246. package/assets/flags/1x1/tv.svg +9 -0
  247. package/assets/flags/1x1/tw.svg +32 -0
  248. package/assets/flags/1x1/tz.svg +15 -0
  249. package/assets/flags/1x1/ua.svg +6 -0
  250. package/assets/flags/1x1/ug.svg +30 -0
  251. package/assets/flags/1x1/um.svg +9 -0
  252. package/assets/flags/1x1/un.svg +16 -0
  253. package/assets/flags/1x1/us.svg +9 -0
  254. package/assets/flags/1x1/uy.svg +28 -0
  255. package/assets/flags/1x1/uz.svg +30 -0
  256. package/assets/flags/1x1/va.svg +190 -0
  257. package/assets/flags/1x1/vc.svg +8 -0
  258. package/assets/flags/1x1/ve.svg +26 -0
  259. package/assets/flags/1x1/vg.svg +59 -0
  260. package/assets/flags/1x1/vi.svg +28 -0
  261. package/assets/flags/1x1/vn.svg +11 -0
  262. package/assets/flags/1x1/vu.svg +21 -0
  263. package/assets/flags/1x1/wf.svg +5 -0
  264. package/assets/flags/1x1/ws.svg +7 -0
  265. package/assets/flags/1x1/xk.svg +5 -0
  266. package/assets/flags/1x1/xx.svg +4 -0
  267. package/assets/flags/1x1/ye.svg +7 -0
  268. package/assets/flags/1x1/yt.svg +5 -0
  269. package/assets/flags/1x1/za.svg +17 -0
  270. package/assets/flags/1x1/zm.svg +27 -0
  271. package/assets/flags/1x1/zw.svg +21 -0
  272. package/assets/flags/LICENSE +23 -0
  273. package/cjs/components/card/style/dnb-card.css +1 -0
  274. package/cjs/components/card/style/dnb-card.min.css +1 -1
  275. package/cjs/components/card/style/dnb-card.scss +1 -0
  276. package/cjs/components/country-flag/style/dnb-country-flag-icons.css +280 -272
  277. package/cjs/components/country-flag/style/dnb-country-flag-icons.min.css +1 -1
  278. package/cjs/components/country-flag/style/dnb-country-flag-icons.scss +280 -272
  279. package/cjs/components/date-picker/DatePickerContext.d.ts +1 -1
  280. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  281. package/cjs/components/date-picker/DatePickerFooter.js +5 -5
  282. package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
  283. package/cjs/components/date-picker/DatePickerProvider.js +2 -2
  284. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  285. package/cjs/components/date-picker/hooks/useDates.d.ts +1 -1
  286. package/cjs/components/date-picker/hooks/useDates.js +94 -23
  287. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  288. package/cjs/components/dialog/parts/DialogAction.js +18 -16
  289. package/cjs/components/dialog/parts/DialogAction.js.map +1 -1
  290. package/cjs/components/number-format/NumberUtils.js +15 -15
  291. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  292. package/cjs/extensions/forms/DataContext/Context.d.ts +8 -5
  293. package/cjs/extensions/forms/DataContext/Context.js +0 -1
  294. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  295. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +4 -3
  296. package/cjs/extensions/forms/DataContext/Provider/Provider.js +2 -2
  297. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  298. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  299. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  300. package/cjs/extensions/forms/Field/Date/Date.js +2 -2
  301. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  302. package/cjs/extensions/forms/Field/Provider/FieldProvider.d.ts +3 -2
  303. package/cjs/extensions/forms/Field/Provider/FieldProvider.js.map +1 -1
  304. package/cjs/extensions/forms/Field/Upload/Upload.js +11 -3
  305. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  306. package/cjs/extensions/forms/Form/Card/Card.d.ts +3 -0
  307. package/cjs/extensions/forms/Form/Card/Card.js +1 -0
  308. package/cjs/extensions/forms/Form/Card/Card.js.map +1 -1
  309. package/cjs/extensions/forms/Form/Element/Element.d.ts +2 -2
  310. package/cjs/extensions/forms/Form/Element/Element.js +50 -11
  311. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  312. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +7 -3
  313. package/cjs/extensions/forms/Form/Handler/Handler.js +23 -97
  314. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  315. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +3 -3
  316. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  317. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
  318. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  319. package/cjs/extensions/forms/Form/Section/Section.d.ts +4 -4
  320. package/cjs/extensions/forms/Form/Section/Section.js +2 -1
  321. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  322. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
  323. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  324. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +1 -1
  325. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +1 -0
  326. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  327. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +10 -6
  328. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  329. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +13 -7
  330. package/cjs/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.css +3 -0
  331. package/cjs/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
  332. package/cjs/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.scss +7 -0
  333. package/cjs/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.css +4 -0
  334. package/cjs/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.min.css +1 -0
  335. package/cjs/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.scss +8 -0
  336. package/cjs/extensions/forms/Form/Section/style/themes/ui.d.ts +1 -0
  337. package/cjs/extensions/forms/Form/Section/style/themes/ui.js +4 -0
  338. package/cjs/extensions/forms/Form/Section/style/themes/ui.js.map +1 -0
  339. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  340. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  341. package/cjs/extensions/forms/Form/data-context/clearData.d.ts +2 -1
  342. package/cjs/extensions/forms/Form/data-context/clearData.js +1 -1
  343. package/cjs/extensions/forms/Form/data-context/clearData.js.map +1 -1
  344. package/cjs/extensions/forms/Form/data-context/getData.js +1 -1
  345. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  346. package/cjs/extensions/forms/Form/data-context/useData.js +1 -1
  347. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  348. package/cjs/extensions/forms/Form/data-context/useValidation.js +2 -2
  349. package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  350. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  351. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js +9 -5
  352. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  353. package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +3 -0
  354. package/cjs/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -1
  355. package/cjs/extensions/forms/Iterate/Count/Count.d.ts +4 -3
  356. package/cjs/extensions/forms/Iterate/Count/Count.js.map +1 -1
  357. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -1
  358. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +7 -4
  359. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  360. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +2 -2
  361. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  362. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +1 -1
  363. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  364. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.d.ts +3 -1
  365. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +27 -6
  366. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  367. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js +5 -0
  368. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js.map +1 -1
  369. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +8 -4
  370. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  371. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +2 -1
  372. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js +4 -3
  373. package/cjs/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -1
  374. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  375. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +3 -2
  376. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  377. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +2 -2
  378. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  379. package/cjs/extensions/forms/Iterate/hooks/useItem.d.ts +5 -1
  380. package/cjs/extensions/forms/Iterate/hooks/useItem.js.map +1 -1
  381. package/cjs/extensions/forms/Tools/ListAllProps.d.ts +7 -7
  382. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
  383. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js +1 -1
  384. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  385. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  386. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  387. package/cjs/extensions/forms/Wizard/hooks/useStep.d.ts +2 -2
  388. package/cjs/extensions/forms/Wizard/hooks/useStep.js +1 -1
  389. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  390. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +2 -0
  391. package/cjs/extensions/forms/constants/countries.js +1 -1
  392. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  393. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  394. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  395. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  396. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  397. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  398. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  399. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  400. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  401. package/cjs/extensions/forms/hooks/useDataContext.js +1 -1
  402. package/cjs/extensions/forms/hooks/useDataContext.js.map +1 -1
  403. package/cjs/extensions/forms/hooks/useSnapshot.d.ts +3 -2
  404. package/cjs/extensions/forms/hooks/useSnapshot.js.map +1 -1
  405. package/cjs/extensions/forms/style/dnb-forms.css +10 -6
  406. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  407. package/cjs/extensions/forms/types.d.ts +4 -4
  408. package/cjs/extensions/forms/types.js.map +1 -1
  409. package/cjs/extensions/forms/utils/json-pointer/json-pointer.d.ts +2 -2
  410. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  411. package/cjs/shared/Eufemia.d.ts +1 -1
  412. package/cjs/shared/Eufemia.js +2 -2
  413. package/cjs/shared/Eufemia.js.map +1 -1
  414. package/cjs/shared/helpers/useSharedState.d.ts +19 -13
  415. package/cjs/shared/helpers/useSharedState.js +23 -11
  416. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  417. package/cjs/style/core/scopes.scss +1 -1
  418. package/cjs/style/dnb-ui-basis.css +1 -1
  419. package/cjs/style/dnb-ui-basis.min.css +1 -1
  420. package/cjs/style/dnb-ui-body.css +1 -1
  421. package/cjs/style/dnb-ui-body.min.css +1 -1
  422. package/cjs/style/dnb-ui-components.css +291 -278
  423. package/cjs/style/dnb-ui-components.min.css +2 -2
  424. package/cjs/style/dnb-ui-core.css +1 -1
  425. package/cjs/style/dnb-ui-core.min.css +1 -1
  426. package/cjs/style/dnb-ui-extensions.css +10 -6
  427. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  428. package/cjs/style/dnb-ui-forms.css +10 -6
  429. package/cjs/style/dnb-ui-forms.min.css +1 -1
  430. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +306 -284
  431. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  432. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -6
  433. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  434. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  435. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -6
  436. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  437. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  438. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +305 -284
  439. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  440. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +14 -6
  441. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  442. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  443. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +14 -6
  444. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  445. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  446. package/cjs/style/themes/theme-ui/ui-theme-components.css +306 -284
  447. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  448. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +15 -6
  449. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  450. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  451. package/cjs/style/themes/theme-ui/ui-theme-forms.css +15 -6
  452. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  453. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  454. package/components/card/style/dnb-card.css +1 -0
  455. package/components/card/style/dnb-card.min.css +1 -1
  456. package/components/card/style/dnb-card.scss +1 -0
  457. package/components/country-flag/style/dnb-country-flag-icons.css +280 -272
  458. package/components/country-flag/style/dnb-country-flag-icons.min.css +1 -1
  459. package/components/country-flag/style/dnb-country-flag-icons.scss +280 -272
  460. package/components/date-picker/DatePickerContext.d.ts +1 -1
  461. package/components/date-picker/DatePickerContext.js.map +1 -1
  462. package/components/date-picker/DatePickerFooter.js +5 -5
  463. package/components/date-picker/DatePickerFooter.js.map +1 -1
  464. package/components/date-picker/DatePickerProvider.js +2 -2
  465. package/components/date-picker/DatePickerProvider.js.map +1 -1
  466. package/components/date-picker/hooks/useDates.d.ts +1 -1
  467. package/components/date-picker/hooks/useDates.js +95 -24
  468. package/components/date-picker/hooks/useDates.js.map +1 -1
  469. package/components/dialog/parts/DialogAction.js +19 -17
  470. package/components/dialog/parts/DialogAction.js.map +1 -1
  471. package/components/number-format/NumberUtils.js +15 -15
  472. package/components/number-format/NumberUtils.js.map +1 -1
  473. package/es/components/card/style/dnb-card.css +1 -0
  474. package/es/components/card/style/dnb-card.min.css +1 -1
  475. package/es/components/card/style/dnb-card.scss +1 -0
  476. package/es/components/country-flag/style/dnb-country-flag-icons.css +280 -272
  477. package/es/components/country-flag/style/dnb-country-flag-icons.min.css +1 -1
  478. package/es/components/country-flag/style/dnb-country-flag-icons.scss +280 -272
  479. package/es/components/date-picker/DatePickerContext.d.ts +1 -1
  480. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  481. package/es/components/date-picker/DatePickerFooter.js +5 -5
  482. package/es/components/date-picker/DatePickerFooter.js.map +1 -1
  483. package/es/components/date-picker/DatePickerProvider.js +2 -2
  484. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  485. package/es/components/date-picker/hooks/useDates.d.ts +1 -1
  486. package/es/components/date-picker/hooks/useDates.js +87 -17
  487. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  488. package/es/components/dialog/parts/DialogAction.js +19 -17
  489. package/es/components/dialog/parts/DialogAction.js.map +1 -1
  490. package/es/components/number-format/NumberUtils.js +15 -15
  491. package/es/components/number-format/NumberUtils.js.map +1 -1
  492. package/es/extensions/forms/DataContext/Context.d.ts +8 -5
  493. package/es/extensions/forms/DataContext/Context.js +0 -1
  494. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  495. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +4 -3
  496. package/es/extensions/forms/DataContext/Provider/Provider.js +3 -3
  497. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  498. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  499. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  500. package/es/extensions/forms/Field/Date/Date.js +2 -2
  501. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  502. package/es/extensions/forms/Field/Provider/FieldProvider.d.ts +3 -2
  503. package/es/extensions/forms/Field/Provider/FieldProvider.js.map +1 -1
  504. package/es/extensions/forms/Field/Upload/Upload.js +6 -1
  505. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  506. package/es/extensions/forms/Form/Card/Card.d.ts +3 -0
  507. package/es/extensions/forms/Form/Card/Card.js +1 -0
  508. package/es/extensions/forms/Form/Card/Card.js.map +1 -1
  509. package/es/extensions/forms/Form/Element/Element.d.ts +2 -2
  510. package/es/extensions/forms/Form/Element/Element.js +45 -12
  511. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  512. package/es/extensions/forms/Form/Handler/Handler.d.ts +7 -3
  513. package/es/extensions/forms/Form/Handler/Handler.js +24 -93
  514. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  515. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +3 -3
  516. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  517. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
  518. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  519. package/es/extensions/forms/Form/Section/Section.d.ts +4 -4
  520. package/es/extensions/forms/Form/Section/Section.js +2 -1
  521. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  522. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
  523. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  524. package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +1 -1
  525. package/es/extensions/forms/Form/Section/containers/SectionContainer.js +1 -0
  526. package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  527. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +10 -6
  528. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  529. package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +13 -7
  530. package/es/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.css +3 -0
  531. package/es/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
  532. package/es/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.scss +7 -0
  533. package/es/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.css +4 -0
  534. package/es/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.min.css +1 -0
  535. package/es/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.scss +8 -0
  536. package/es/extensions/forms/Form/Section/style/themes/ui.d.ts +1 -0
  537. package/es/extensions/forms/Form/Section/style/themes/ui.js +1 -0
  538. package/es/extensions/forms/Form/Section/style/themes/ui.js.map +1 -0
  539. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  540. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  541. package/es/extensions/forms/Form/data-context/clearData.d.ts +2 -1
  542. package/es/extensions/forms/Form/data-context/clearData.js +2 -2
  543. package/es/extensions/forms/Form/data-context/clearData.js.map +1 -1
  544. package/es/extensions/forms/Form/data-context/getData.js +2 -2
  545. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  546. package/es/extensions/forms/Form/data-context/useData.js +2 -2
  547. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  548. package/es/extensions/forms/Form/data-context/useValidation.js +3 -3
  549. package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  550. package/es/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  551. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +9 -5
  552. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  553. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +3 -0
  554. package/es/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -1
  555. package/es/extensions/forms/Iterate/Count/Count.d.ts +4 -3
  556. package/es/extensions/forms/Iterate/Count/Count.js.map +1 -1
  557. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -1
  558. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +7 -4
  559. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  560. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +2 -2
  561. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  562. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +1 -1
  563. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  564. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.d.ts +3 -1
  565. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +25 -7
  566. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  567. package/es/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js +5 -0
  568. package/es/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js.map +1 -1
  569. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +8 -4
  570. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  571. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +2 -1
  572. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js +4 -3
  573. package/es/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -1
  574. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  575. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +3 -2
  576. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  577. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +2 -2
  578. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  579. package/es/extensions/forms/Iterate/hooks/useItem.d.ts +5 -1
  580. package/es/extensions/forms/Iterate/hooks/useItem.js.map +1 -1
  581. package/es/extensions/forms/Tools/ListAllProps.d.ts +7 -7
  582. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
  583. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +2 -2
  584. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  585. package/es/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
  586. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  587. package/es/extensions/forms/Wizard/hooks/useStep.d.ts +2 -2
  588. package/es/extensions/forms/Wizard/hooks/useStep.js +2 -2
  589. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  590. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +2 -0
  591. package/es/extensions/forms/constants/countries.js +1 -1
  592. package/es/extensions/forms/constants/countries.js.map +1 -1
  593. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  594. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  595. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  596. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  597. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  598. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  599. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  600. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  601. package/es/extensions/forms/hooks/useDataContext.js +2 -2
  602. package/es/extensions/forms/hooks/useDataContext.js.map +1 -1
  603. package/es/extensions/forms/hooks/useSnapshot.d.ts +3 -2
  604. package/es/extensions/forms/hooks/useSnapshot.js.map +1 -1
  605. package/es/extensions/forms/style/dnb-forms.css +10 -6
  606. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  607. package/es/extensions/forms/types.d.ts +4 -4
  608. package/es/extensions/forms/types.js.map +1 -1
  609. package/es/extensions/forms/utils/json-pointer/json-pointer.d.ts +2 -2
  610. package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  611. package/es/shared/Eufemia.d.ts +1 -1
  612. package/es/shared/Eufemia.js +2 -2
  613. package/es/shared/Eufemia.js.map +1 -1
  614. package/es/shared/helpers/useSharedState.d.ts +19 -13
  615. package/es/shared/helpers/useSharedState.js +22 -11
  616. package/es/shared/helpers/useSharedState.js.map +1 -1
  617. package/es/style/core/scopes.scss +1 -1
  618. package/es/style/dnb-ui-basis.css +1 -1
  619. package/es/style/dnb-ui-basis.min.css +1 -1
  620. package/es/style/dnb-ui-body.css +1 -1
  621. package/es/style/dnb-ui-body.min.css +1 -1
  622. package/es/style/dnb-ui-components.css +291 -278
  623. package/es/style/dnb-ui-components.min.css +2 -2
  624. package/es/style/dnb-ui-core.css +1 -1
  625. package/es/style/dnb-ui-core.min.css +1 -1
  626. package/es/style/dnb-ui-extensions.css +10 -6
  627. package/es/style/dnb-ui-extensions.min.css +1 -1
  628. package/es/style/dnb-ui-forms.css +10 -6
  629. package/es/style/dnb-ui-forms.min.css +1 -1
  630. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +306 -284
  631. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  632. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -6
  633. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  634. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  635. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -6
  636. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  637. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  638. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +305 -284
  639. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  640. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +14 -6
  641. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  642. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  643. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +14 -6
  644. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  645. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  646. package/es/style/themes/theme-ui/ui-theme-components.css +306 -284
  647. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  648. package/es/style/themes/theme-ui/ui-theme-extensions.css +15 -6
  649. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  650. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  651. package/es/style/themes/theme-ui/ui-theme-forms.css +15 -6
  652. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  653. package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  654. package/esm/dnb-ui-basis.min.mjs +1 -1
  655. package/esm/dnb-ui-components.min.mjs +1 -1
  656. package/esm/dnb-ui-elements.min.mjs +1 -1
  657. package/esm/dnb-ui-extensions.min.mjs +1 -1
  658. package/esm/dnb-ui-lib.min.mjs +1 -1
  659. package/extensions/forms/DataContext/Context.d.ts +8 -5
  660. package/extensions/forms/DataContext/Context.js +0 -1
  661. package/extensions/forms/DataContext/Context.js.map +1 -1
  662. package/extensions/forms/DataContext/Provider/Provider.d.ts +4 -3
  663. package/extensions/forms/DataContext/Provider/Provider.js +3 -3
  664. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  665. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  666. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  667. package/extensions/forms/Field/Date/Date.js +2 -2
  668. package/extensions/forms/Field/Date/Date.js.map +1 -1
  669. package/extensions/forms/Field/Provider/FieldProvider.d.ts +3 -2
  670. package/extensions/forms/Field/Provider/FieldProvider.js.map +1 -1
  671. package/extensions/forms/Field/Upload/Upload.js +11 -3
  672. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  673. package/extensions/forms/Form/Card/Card.d.ts +3 -0
  674. package/extensions/forms/Form/Card/Card.js +1 -0
  675. package/extensions/forms/Form/Card/Card.js.map +1 -1
  676. package/extensions/forms/Form/Element/Element.d.ts +2 -2
  677. package/extensions/forms/Form/Element/Element.js +50 -13
  678. package/extensions/forms/Form/Element/Element.js.map +1 -1
  679. package/extensions/forms/Form/Handler/Handler.d.ts +7 -3
  680. package/extensions/forms/Form/Handler/Handler.js +24 -97
  681. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  682. package/extensions/forms/Form/Isolation/Isolation.d.ts +3 -3
  683. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  684. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
  685. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  686. package/extensions/forms/Form/Section/Section.d.ts +4 -4
  687. package/extensions/forms/Form/Section/Section.js +2 -1
  688. package/extensions/forms/Form/Section/Section.js.map +1 -1
  689. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
  690. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  691. package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +1 -1
  692. package/extensions/forms/Form/Section/containers/SectionContainer.js +1 -0
  693. package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  694. package/extensions/forms/Form/Section/style/dnb-form-section.css +10 -6
  695. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  696. package/extensions/forms/Form/Section/style/dnb-form-section.scss +13 -7
  697. package/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.css +3 -0
  698. package/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
  699. package/extensions/forms/Form/Section/style/themes/dnb-section-theme-sbanken.scss +7 -0
  700. package/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.css +4 -0
  701. package/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.min.css +1 -0
  702. package/extensions/forms/Form/Section/style/themes/dnb-section-theme-ui.scss +8 -0
  703. package/extensions/forms/Form/Section/style/themes/ui.d.ts +1 -0
  704. package/extensions/forms/Form/Section/style/themes/ui.js +1 -0
  705. package/extensions/forms/Form/Section/style/themes/ui.js.map +1 -0
  706. package/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  707. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  708. package/extensions/forms/Form/data-context/clearData.d.ts +2 -1
  709. package/extensions/forms/Form/data-context/clearData.js +2 -2
  710. package/extensions/forms/Form/data-context/clearData.js.map +1 -1
  711. package/extensions/forms/Form/data-context/getData.js +2 -2
  712. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  713. package/extensions/forms/Form/data-context/useData.js +2 -2
  714. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  715. package/extensions/forms/Form/data-context/useValidation.js +3 -3
  716. package/extensions/forms/Form/data-context/useValidation.js.map +1 -1
  717. package/extensions/forms/Iterate/Array/ArrayItemArea.d.ts +3 -2
  718. package/extensions/forms/Iterate/Array/ArrayItemArea.js +9 -5
  719. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  720. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.d.ts +3 -0
  721. package/extensions/forms/Iterate/Array/ArrayItemAreaContext.js.map +1 -1
  722. package/extensions/forms/Iterate/Count/Count.d.ts +4 -3
  723. package/extensions/forms/Iterate/Count/Count.js.map +1 -1
  724. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +1 -1
  725. package/extensions/forms/Iterate/EditContainer/EditContainer.js +7 -4
  726. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  727. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +2 -2
  728. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  729. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +1 -1
  730. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  731. package/extensions/forms/Iterate/RemoveButton/RemoveButton.d.ts +3 -1
  732. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +26 -7
  733. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  734. package/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js +5 -0
  735. package/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.js.map +1 -1
  736. package/extensions/forms/Iterate/Toolbar/Toolbar.js +8 -4
  737. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  738. package/extensions/forms/Iterate/ViewContainer/RemoveButton.d.ts +2 -1
  739. package/extensions/forms/Iterate/ViewContainer/RemoveButton.js +4 -3
  740. package/extensions/forms/Iterate/ViewContainer/RemoveButton.js.map +1 -1
  741. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +1 -1
  742. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +3 -2
  743. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  744. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +2 -2
  745. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  746. package/extensions/forms/Iterate/hooks/useItem.d.ts +5 -1
  747. package/extensions/forms/Iterate/hooks/useItem.js.map +1 -1
  748. package/extensions/forms/Tools/ListAllProps.d.ts +7 -7
  749. package/extensions/forms/Tools/ListAllProps.js.map +1 -1
  750. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +2 -2
  751. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  752. package/extensions/forms/Wizard/Container/WizardContainer.js +2 -2
  753. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  754. package/extensions/forms/Wizard/hooks/useStep.d.ts +2 -2
  755. package/extensions/forms/Wizard/hooks/useStep.js +2 -2
  756. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  757. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +2 -0
  758. package/extensions/forms/constants/countries.js +1 -1
  759. package/extensions/forms/constants/countries.js.map +1 -1
  760. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  761. package/extensions/forms/constants/locales/en-GB.js +2 -1
  762. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  763. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  764. package/extensions/forms/constants/locales/index.d.ts +2 -0
  765. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  766. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  767. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  768. package/extensions/forms/hooks/useDataContext.js +2 -2
  769. package/extensions/forms/hooks/useDataContext.js.map +1 -1
  770. package/extensions/forms/hooks/useSnapshot.d.ts +3 -2
  771. package/extensions/forms/hooks/useSnapshot.js.map +1 -1
  772. package/extensions/forms/style/dnb-forms.css +10 -6
  773. package/extensions/forms/style/dnb-forms.min.css +1 -1
  774. package/extensions/forms/types.d.ts +4 -4
  775. package/extensions/forms/types.js.map +1 -1
  776. package/extensions/forms/utils/json-pointer/json-pointer.d.ts +2 -2
  777. package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  778. package/package.json +1 -2
  779. package/shared/Eufemia.d.ts +1 -1
  780. package/shared/Eufemia.js +2 -2
  781. package/shared/Eufemia.js.map +1 -1
  782. package/shared/helpers/useSharedState.d.ts +19 -13
  783. package/shared/helpers/useSharedState.js +22 -11
  784. package/shared/helpers/useSharedState.js.map +1 -1
  785. package/style/core/scopes.scss +1 -1
  786. package/style/dnb-ui-basis.css +1 -1
  787. package/style/dnb-ui-basis.min.css +1 -1
  788. package/style/dnb-ui-body.css +1 -1
  789. package/style/dnb-ui-body.min.css +1 -1
  790. package/style/dnb-ui-components.css +291 -278
  791. package/style/dnb-ui-components.min.css +2 -2
  792. package/style/dnb-ui-core.css +1 -1
  793. package/style/dnb-ui-core.min.css +1 -1
  794. package/style/dnb-ui-extensions.css +10 -6
  795. package/style/dnb-ui-extensions.min.css +1 -1
  796. package/style/dnb-ui-forms.css +10 -6
  797. package/style/dnb-ui-forms.min.css +1 -1
  798. package/style/themes/theme-eiendom/eiendom-theme-components.css +306 -284
  799. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  800. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +15 -6
  801. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  802. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  803. package/style/themes/theme-eiendom/eiendom-theme-forms.css +15 -6
  804. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  805. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  806. package/style/themes/theme-sbanken/sbanken-theme-components.css +305 -284
  807. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  808. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +14 -6
  809. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  810. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  811. package/style/themes/theme-sbanken/sbanken-theme-forms.css +14 -6
  812. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  813. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  814. package/style/themes/theme-ui/ui-theme-components.css +306 -284
  815. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  816. package/style/themes/theme-ui/ui-theme-extensions.css +15 -6
  817. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  818. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  819. package/style/themes/theme-ui/ui-theme-forms.css +15 -6
  820. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  821. package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  822. package/umd/dnb-ui-basis.min.js +1 -1
  823. package/umd/dnb-ui-components.min.js +1 -1
  824. package/umd/dnb-ui-elements.min.js +1 -1
  825. package/umd/dnb-ui-extensions.min.js +1 -1
  826. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1,9 +1,10 @@
1
1
  /// <reference types="react" />
2
+ import pointer, { JsonObject } from '../utils/json-pointer';
2
3
  import { SharedStateId } from '../../../shared/helpers/useSharedState';
3
4
  import { SnapshotId, SnapshotName } from '../Form/Snapshot';
4
5
  export default function useSnapshot(id?: SharedStateId): {
5
- createSnapshot: (id?: SnapshotId, name?: SnapshotName, content?: unknown) => SnapshotId;
6
+ createSnapshot: (id?: SnapshotId, name?: SnapshotName, content?: JsonObject) => SnapshotId;
6
7
  revertSnapshot: (id: SnapshotId, name?: SnapshotName) => void;
7
8
  applySnapshot: (id: SnapshotId, name?: SnapshotName) => void;
8
- internalSnapshotsRef: import("react").MutableRefObject<Map<SnapshotId, unknown>>;
9
+ internalSnapshotsRef: import("react").MutableRefObject<Map<SnapshotId, pointer.JsonObject>>;
9
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useSnapshot.js","names":["_react","require","_componentHelper","_jsonPointer","_interopRequireDefault","_useDataContext","_useData","obj","__esModule","default","useSnapshot","id","internalSnapshotsRef","useRef","current","Map","getContext","useDataContext","set","setData","update","updateData","useData","createSnapshot","useCallback","arguments","length","undefined","makeUniqueId","name","content","internalDataRef","snapshotsRef","_snapshotsRef$current","_snapshotsRef$current2","snapshotWithPaths","get","call","collectedData","forEach","isMounted","path","pointer","has","combineIdWithName","getSnapshot","deleteSnapshot","delete","applySnapshot","snapshot","value","revertSnapshot"],"sources":["../../../../../src/extensions/forms/hooks/useSnapshot.tsx"],"sourcesContent":["import { useCallback, useRef } from 'react'\nimport { makeUniqueId } from '../../../shared/component-helper'\nimport pointer from '../utils/json-pointer'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\nimport useDataContext from './useDataContext'\nimport { SnapshotId, SnapshotName } from '../Form/Snapshot'\nimport useData from '../Form/data-context/useData'\n\nexport default function useSnapshot(id?: SharedStateId) {\n const internalSnapshotsRef = useRef<Map<SnapshotId, unknown>>()\n if (!internalSnapshotsRef.current) {\n internalSnapshotsRef.current = new Map()\n }\n\n const { getContext } = useDataContext(id)\n const { set: setData, update: updateData } = useData(id)\n\n const createSnapshot = useCallback(\n (\n id: SnapshotId = makeUniqueId(),\n name: SnapshotName = null,\n content: unknown = null\n ): SnapshotId => {\n const { internalDataRef, snapshotsRef } = getContext()\n\n if (!content) {\n const snapshotWithPaths = snapshotsRef?.current?.get?.(name)\n if (snapshotWithPaths) {\n const collectedData = new Map()\n snapshotWithPaths.forEach((isMounted, path) => {\n if (isMounted && pointer.has(internalDataRef.current, path)) {\n collectedData.set(\n path,\n pointer.get(internalDataRef.current, path)\n )\n }\n })\n content = collectedData\n } else {\n content = internalDataRef.current\n }\n }\n\n internalSnapshotsRef.current.set(\n combineIdWithName(id, name),\n content\n )\n\n return id\n },\n [getContext]\n )\n\n const getSnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null): unknown => {\n return internalSnapshotsRef.current.get(combineIdWithName(id, name))\n },\n []\n )\n\n const deleteSnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null): void => {\n internalSnapshotsRef.current.delete(combineIdWithName(id, name))\n },\n []\n )\n\n const applySnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null) => {\n const snapshot = getSnapshot(id, name)\n\n if (snapshot instanceof Map) {\n snapshot.forEach((value, path) => {\n updateData(path, value)\n })\n } else if (snapshot) {\n setData(snapshot)\n }\n },\n [getSnapshot, setData, updateData]\n )\n\n const revertSnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null) => {\n applySnapshot(id, name)\n deleteSnapshot(id, name)\n },\n [applySnapshot, deleteSnapshot]\n )\n\n return {\n createSnapshot,\n revertSnapshot,\n applySnapshot,\n internalSnapshotsRef,\n }\n}\n\nfunction combineIdWithName(id: SnapshotId, name: SnapshotName = null) {\n return name ? `${id}-${name}` : id\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useSnapshot.js","names":["_react","require","_componentHelper","_jsonPointer","_interopRequireDefault","_useDataContext","_useData","obj","__esModule","default","useSnapshot","id","internalSnapshotsRef","useRef","current","Map","getContext","useDataContext","set","setData","update","updateData","useData","createSnapshot","useCallback","arguments","length","undefined","makeUniqueId","name","content","internalDataRef","snapshotsRef","_snapshotsRef$current","_snapshotsRef$current2","snapshotWithPaths","get","call","collectedData","forEach","isMounted","path","pointer","has","combineIdWithName","getSnapshot","deleteSnapshot","delete","applySnapshot","snapshot","value","revertSnapshot"],"sources":["../../../../../src/extensions/forms/hooks/useSnapshot.tsx"],"sourcesContent":["import { useCallback, useRef } from 'react'\nimport { makeUniqueId } from '../../../shared/component-helper'\nimport pointer, { JsonObject } from '../utils/json-pointer'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\nimport useDataContext from './useDataContext'\nimport { SnapshotId, SnapshotName } from '../Form/Snapshot'\nimport useData from '../Form/data-context/useData'\n\nexport default function useSnapshot(id?: SharedStateId) {\n const internalSnapshotsRef = useRef<Map<SnapshotId, JsonObject>>()\n if (!internalSnapshotsRef.current) {\n internalSnapshotsRef.current = new Map()\n }\n\n const { getContext } = useDataContext(id)\n const { set: setData, update: updateData } = useData(id)\n\n const createSnapshot = useCallback(\n (\n id: SnapshotId = makeUniqueId(),\n name: SnapshotName = null,\n content: JsonObject = null\n ): SnapshotId => {\n const { internalDataRef, snapshotsRef } = getContext()\n\n if (!content) {\n const snapshotWithPaths = snapshotsRef?.current?.get?.(name)\n if (snapshotWithPaths) {\n const collectedData: Map<string, JsonObject> = new Map()\n snapshotWithPaths.forEach((isMounted, path) => {\n if (isMounted && pointer.has(internalDataRef.current, path)) {\n collectedData.set(\n path,\n pointer.get(internalDataRef.current, path)\n )\n }\n })\n content = collectedData as unknown as JsonObject\n } else {\n content = internalDataRef.current\n }\n }\n\n internalSnapshotsRef.current.set(\n combineIdWithName(id, name),\n content\n )\n\n return id\n },\n [getContext]\n )\n\n const getSnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null): JsonObject => {\n return internalSnapshotsRef.current.get(combineIdWithName(id, name))\n },\n []\n )\n\n const deleteSnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null): void => {\n internalSnapshotsRef.current.delete(combineIdWithName(id, name))\n },\n []\n )\n\n const applySnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null) => {\n const snapshot = getSnapshot(id, name)\n\n if (snapshot instanceof Map) {\n snapshot.forEach((value, path) => {\n updateData(path, value)\n })\n } else if (snapshot) {\n setData(snapshot)\n }\n },\n [getSnapshot, setData, updateData]\n )\n\n const revertSnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null) => {\n applySnapshot(id, name)\n deleteSnapshot(id, name)\n },\n [applySnapshot, deleteSnapshot]\n )\n\n return {\n createSnapshot,\n revertSnapshot,\n applySnapshot,\n internalSnapshotsRef,\n }\n}\n\nfunction combineIdWithName(id: SnapshotId, name: SnapshotName = null) {\n return name ? `${id}-${name}` : id\n}\n"],"mappings":"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"}
@@ -493,12 +493,6 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
493
493
  display: flex;
494
494
  flex-direction: column;
495
495
  }
496
- .dnb-forms-section-block--variant-basic {
497
- --border-color: transparent;
498
- }
499
- .dnb-forms-section-block--variant-basic .dnb-card {
500
- --card-outline-color: transparent;
501
- }
502
496
  .dnb-forms-section-block__inner {
503
497
  flex: 1;
504
498
  outline: none;
@@ -518,6 +512,16 @@ fieldset.dnb-forms-field-block:not([class*=space__left]) {
518
512
  .dnb-forms-section-block__inner .dnb-dl .dnb-dd {
519
513
  margin-bottom: 0;
520
514
  }
515
+ .dnb-forms-section-block--variant-basic {
516
+ --border-color: transparent;
517
+ }
518
+ .dnb-forms-section-block--variant-basic .dnb-card, .dnb-card .dnb-forms-section-block--variant-basic .dnb-card {
519
+ --card-outline-color: transparent;
520
+ }
521
+ .dnb-forms-section-block--variant-filled .dnb-forms-section-block__inner {
522
+ --space: var(--spacing-small);
523
+ background-color: var(--color-lavender);
524
+ }
521
525
  .dnb-forms-section-block--no-animation .dnb-forms-section-block__inner {
522
526
  transform: translateY(0);
523
527
  }
@@ -1 +1 @@
1
- .dnb-forms-field-array-selection{--row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--variant-button{--row-gap:var(--spacing-small)}.dnb-forms-field-array-selection--options-layout--vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--row-gap)}.dnb-forms-field-array-selection--options-layout--vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.dnb-forms-field-array-selection--variant-button.dnb-forms-field-array-selection--options-layout--vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{line-height:2.5rem}.dnb-forms-field-array-selection--options-layout--horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--row-gap)}@media screen and (min-width:40.00625em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-input__border{flex-grow:1}@media screen and (max-width:xx-small0){.dnb-forms-field-number .dnb-input__shell{width:90%}}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button{color:var(--color-fire-red)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button:hover{color:var(--color-white)}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection--options-layout--vertical.dnb-forms-field-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}.dnb-forms-field-selection .dnb-forms-field-block__contents{display:flex}.dnb-forms-field-selection .dnb-radio-group .dnb-height-animation,.dnb-forms-field-selection .dnb-radio-group>.dnb-flex-container,.dnb-forms-field-selection .dnb-toggle-button-group .dnb-height-animation,.dnb-forms-field-selection .dnb-toggle-button-group>.dnb-flex-container{flex-grow:1;width:100%}.dnb-forms-field-string .dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__label.dnb-form-label{align-items:baseline}@media screen and (max-width:xx-small0){.dnb-forms-field-string .dnb-input__shell{width:90%}}.dnb-forms-field-upload .dnb-help-button__content .dnb-section{margin-left:var(--upload-border-width);margin-right:var(--upload-border-width)}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block{--label-margin:0.25rem;--max-width:var(--forms-field-width--large)}.dnb-forms-field-block__grid{display:grid;grid-template-areas:"label" "help" "contents" "indicator" "status";grid-template-columns:minmax(min-content,var(--block-content-width,auto))}.dnb-forms-field-block--label-height-small{--label-margin:0}.dnb-forms-field-block--label-height-medium{--label-margin:0.5rem}.dnb-forms-field-block--label-height-large{--label-margin:0.7rem}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25.00625em){.dnb-forms-field-block--width-custom{width:calc(var(--dnb-forms-field-block-width))}.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block:not([class*="--content-width"]){--max-width:60ch}.dnb-forms-field-block__label,.dnb-forms-field-block__label.dnb-form-label{align-items:center;display:flex;grid-area:label;margin-right:0;max-width:var(--max-width)}.dnb-forms-field-block__label.dnb-form-label__description,.dnb-forms-field-block__label__description{margin-left:.3em}.dnb-forms-field-block__label.dnb-form-label__content:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label__description:has(+.dnb-help-button),.dnb-forms-field-block__label__content:has(+.dnb-help-button),.dnb-forms-field-block__label__description:has(+.dnb-help-button){margin-right:.5rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical{flex-wrap:wrap}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical>.dnb-form-label{margin-bottom:.5rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__label{margin-right:1rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:var(--label-margin);margin-top:var(--label-margin)}@media screen and (max-width:40em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:calc(var(--label-margin) + .5rem)}}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" ". help" ". indicator" ". status";grid-template-columns:minmax(var(--dnb-forms-field-block-layout-width-min,min-content),var(--dnb-forms-field-block-layout-width-max,max-content)) auto}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content{--help-button-indent-width:0}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content .dnb-section{--rounded-corner:0.25rem;align-self:flex-start}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__contents{align-self:end}}.dnb-forms-field-block__indicator{grid-area:indicator}.dnb-forms-field-block__help{display:flex;flex-flow:column;grid-area:help}.dnb-forms-field-block__help .dnb-section{margin-bottom:1rem}.dnb-forms-field-block__help .dnb-section>.dnb-p--lead{margin-bottom:.5rem}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__help .dnb-section{margin-bottom:0;margin-top:.5rem}}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem;max-width:60ch}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{display:flex;grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25.00625em){.dnb-forms-field-block__contents--width-custom{width:calc(var(--dnb-forms-field-block-content-width))}.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__composition--vertical .dnb-forms-field-block__contents{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25.00625em){.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{align-items:flex-end}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-submit-indicator{display:none}}@media screen and (min-width:25.00625em){.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-field-block__contents .dnb-forms-submit-indicator{display:none}}.dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40.00625em){.dnb-card:not([style*="--outset"])+.dnb-button--primary:not([class*=space__left]),.dnb-card:not([style*="--outset"])+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}.dnb-forms-main-heading+.dnb-help-button__content .dnb-section{margin-top:1rem}.dnb-forms-section-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-section-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block--variant-basic{--border-color:transparent}.dnb-forms-section-block--variant-basic .dnb-card{--card-outline-color:transparent}.dnb-forms-section-block__inner{flex:1;margin-bottom:var(--space);outline:none;transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-small){--space:var(--spacing-small)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-medium){--space:var(--spacing-medium)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-large){--space:var(--spacing-large)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block--no-animation .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-sub-heading+.dnb-help-button__content .dnb-section{margin-top:1rem}.dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(>.dnb-forms-section-block){margin-top:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal)>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25.00625em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-none{--column-gap:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25.00625em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}.dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-x-large);column-gap:var(--spacing-x-large);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__indicator{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60.00625em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:21.5rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;display:flex;padding:.5rem 1rem;width:100%}
1
+ .dnb-forms-field-array-selection{--row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--variant-button{--row-gap:var(--spacing-small)}.dnb-forms-field-array-selection--options-layout--vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--row-gap)}.dnb-forms-field-array-selection--options-layout--vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.dnb-forms-field-array-selection--variant-button.dnb-forms-field-array-selection--options-layout--vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-block__label{line-height:2.5rem}.dnb-forms-field-array-selection--options-layout--horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--row-gap)}@media screen and (min-width:40.00625em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-stretch .dnb-input__border{flex-grow:1}@media screen and (max-width:xx-small0){.dnb-forms-field-number .dnb-input__shell{width:90%}}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button{color:var(--color-fire-red)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button:hover{color:var(--color-white)}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection--options-layout--vertical.dnb-forms-field-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}.dnb-forms-field-selection .dnb-forms-field-block__contents{display:flex}.dnb-forms-field-selection .dnb-radio-group .dnb-height-animation,.dnb-forms-field-selection .dnb-radio-group>.dnb-flex-container,.dnb-forms-field-selection .dnb-toggle-button-group .dnb-height-animation,.dnb-forms-field-selection .dnb-toggle-button-group>.dnb-flex-container{flex-grow:1;width:100%}.dnb-forms-field-string .dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__label.dnb-form-label{align-items:baseline}@media screen and (max-width:xx-small0){.dnb-forms-field-string .dnb-input__shell{width:90%}}.dnb-forms-field-upload .dnb-help-button__content .dnb-section{margin-left:var(--upload-border-width);margin-right:var(--upload-border-width)}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block{--label-margin:0.25rem;--max-width:var(--forms-field-width--large)}.dnb-forms-field-block__grid{display:grid;grid-template-areas:"label" "help" "contents" "indicator" "status";grid-template-columns:minmax(min-content,var(--block-content-width,auto))}.dnb-forms-field-block--label-height-small{--label-margin:0}.dnb-forms-field-block--label-height-medium{--label-margin:0.5rem}.dnb-forms-field-block--label-height-large{--label-margin:0.7rem}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25.00625em){.dnb-forms-field-block--width-custom{width:calc(var(--dnb-forms-field-block-width))}.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block:not([class*="--content-width"]){--max-width:60ch}.dnb-forms-field-block__label,.dnb-forms-field-block__label.dnb-form-label{align-items:center;display:flex;grid-area:label;margin-right:0;max-width:var(--max-width)}.dnb-forms-field-block__label.dnb-form-label__description,.dnb-forms-field-block__label__description{margin-left:.3em}.dnb-forms-field-block__label.dnb-form-label__content:has(+.dnb-help-button),.dnb-forms-field-block__label.dnb-form-label__description:has(+.dnb-help-button),.dnb-forms-field-block__label__content:has(+.dnb-help-button),.dnb-forms-field-block__label__description:has(+.dnb-help-button){margin-right:.5rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical{flex-wrap:wrap}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-vertical>.dnb-form-label{margin-bottom:.5rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__label{margin-right:1rem}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:var(--label-margin);margin-top:var(--label-margin)}@media screen and (max-width:40em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal>.dnb-form-label{margin-bottom:calc(var(--label-margin) + .5rem)}}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" ". help" ". indicator" ". status";grid-template-columns:minmax(var(--dnb-forms-field-block-layout-width-min,min-content),var(--dnb-forms-field-block-layout-width-max,max-content)) auto}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content{--help-button-indent-width:0}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-help-button__content .dnb-section{--rounded-corner:0.25rem;align-self:flex-start}.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__contents{align-self:end}}.dnb-forms-field-block__indicator{grid-area:indicator}.dnb-forms-field-block__help{display:flex;flex-flow:column;grid-area:help}.dnb-forms-field-block__help .dnb-section{margin-bottom:1rem}.dnb-forms-field-block__help .dnb-section>.dnb-p--lead{margin-bottom:.5rem}@media screen and (min-width:40.00625em){.dnb-forms-field-block__grid.dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__help .dnb-section{margin-bottom:0;margin-top:.5rem}}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem;max-width:60ch}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{display:flex;grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25.00625em){.dnb-forms-field-block__contents--width-custom{width:calc(var(--dnb-forms-field-block-content-width))}.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__composition--vertical .dnb-forms-field-block__contents{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25.00625em){.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{align-items:flex-end}.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents[class*=align-center]{align-items:center}}@media screen and (max-width:25em){.dnb-forms-field-block__composition--horizontal .dnb-forms-field-block__contents{flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-submit-indicator{display:none}}@media screen and (min-width:25.00625em){.dnb-forms-field-block__composition>.dnb-forms-field-block__grid>.dnb-forms-field-block__contents .dnb-forms-submit-indicator{display:none}}.dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40.00625em){.dnb-card:not([style*="--outset"])+.dnb-button--primary:not([class*=space__left]),.dnb-card:not([style*="--outset"])+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}.dnb-forms-main-heading+.dnb-help-button__content .dnb-section{margin-top:1rem}.dnb-forms-section-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-section-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-section-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-section-block__inner{flex:1;margin-bottom:var(--space);outline:none;transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-small){--space:var(--spacing-small)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-medium){--space:var(--spacing-medium)}.dnb-forms-section-block__inner:has(.dnb-flex-container--spacing-large){--space:var(--spacing-large)}.dnb-forms-section-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-section-block--variant-basic{--border-color:transparent}.dnb-card .dnb-forms-section-block--variant-basic .dnb-card,.dnb-forms-section-block--variant-basic .dnb-card{--card-outline-color:transparent}.dnb-forms-section-block--variant-filled .dnb-forms-section-block__inner{--space:var(--spacing-small);background-color:var(--color-lavender)}.dnb-forms-section-block--no-animation .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-forms-section-block.dnb-height-animation--is-visible .dnb-forms-section-block__inner{transform:translateY(-.5rem)}.dnb-forms-section-block.dnb-height-animation--parallax .dnb-forms-section-block__inner{transform:translateY(0)}.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-sub-heading+.dnb-help-button__content .dnb-section{margin-top:1rem}.dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(>.dnb-forms-section-block){margin-top:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal) .dnb-dt,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal)>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--horizontal):not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25.00625em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-none{--column-gap:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25.00625em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}.dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-x-large);column-gap:var(--spacing-x-large);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__indicator{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60.00625em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:21.5rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;display:flex;padding:.5rem 1rem;width:100%}
@@ -329,13 +329,13 @@ export type EventStateObjectWithSuccess = EventStateObjectOr & {
329
329
  */
330
330
  export type EventReturnWithStateObject = Error | EventStateObject;
331
331
  export type EventReturnWithStateObjectAndSuccess = Error | EventStateObjectWithSuccess;
332
- export type OnSubmitParams = {
332
+ export type OnSubmitParams<Data = JsonObject> = {
333
333
  /** Will remove data entries of fields that are not visible */
334
- reduceToVisibleFields: (data: JsonObject, options?: VisibleDataOptions) => Partial<JsonObject>;
334
+ reduceToVisibleFields: (data: Data, options?: VisibleDataOptions) => Partial<Data>;
335
335
  /** Will call the given function for each data path. The returned `value` will replace each data entry. It's up to you to define the shape of the value. */
336
- transformData: (data: JsonObject, handler: TransformData) => TransformData;
336
+ transformData: (data: Data, handler: TransformData) => Partial<Data>;
337
337
  /** Will filter data based on the given "filterDataHandler" method */
338
- filterData: (filterDataHandler: FilterData) => Partial<JsonObject>;
338
+ filterData: (filterDataHandler: FilterData) => Partial<Data>;
339
339
  /** Will remove browser-side stored autocomplete data */
340
340
  resetForm: () => void;
341
341
  /** Will empty the whole internal data set of the form */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","key","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { AriaAttributes } from 'react'\nimport type { SpacingProps } from '../../components/space/types'\nimport type {\n FilterData,\n TransformData,\n VisibleDataOptions,\n} from './DataContext'\nimport type { SharedFieldBlockProps } from './FieldBlock'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject, FormError } from './utils'\nimport {\n FormsTranslationFlat,\n FormsTranslationLocale,\n} from './hooks/useTranslation'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersionsBasis<DataType> =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<DataType>\nexport type AllJSONSchemaVersions<DataType = unknown> =\n | AllJSONSchemaVersionsBasis<DataType>\n\n // In order to support \"schema = { ... } as const\"\n | (Omit<AllJSONSchemaVersionsBasis<DataType>, 'required'> & {\n required?: readonly string[]\n })\nexport { JSONSchemaType }\n\nexport type ValidatorReturnSync<Value> =\n | Error\n | undefined\n | void\n | Array<Validator<Value>>\n\nexport type ValidatorReturnAsync<Value> =\n | ValidatorReturnSync<Value>\n | Promise<ValidatorReturnSync<Value>>\nexport type Validator<Value, ErrorMessages = DefaultErrorMessages> = (\n value: Value,\n additionalArgs?: ValidatorAdditionalArgs<Value, ErrorMessages>\n) => ValidatorReturnAsync<Value>\nexport type ValidatorAdditionalArgs<\n Value,\n ErrorMessages = DefaultErrorMessages,\n> = {\n /**\n * Returns the error messages from the { errorMessages } object.\n */\n errorMessages: ErrorMessages\n\n /**\n * Connects the validator to another field.\n * This allows you to rerun the validator function once the value of the connected field changes.\n */\n connectWithPath: (path: Path) => { getValue: () => Value }\n\n /**\n * Returns the validators from the { exportValidators } object.\n */\n validators: Record<string, Validator<Value>>\n} & {\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n pattern?: string\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n required?: string\n}\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type GlobalErrorMessagesWithPaths =\n | VariousErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: VariousErrorMessages\n }\n\n/**\n * 'MyCustom.message': 'Your custom message'\n */\nexport type DotNotationErrorMessages = Record<\n `${string}` | `${string}.${string}`,\n string\n>\n/**\n * { 'nb-NO': { 'Field.errorRequired': 'Dette feltet er påkrevd' } }\n */\nexport type ErrorMessagesWithLocaleSupport = Record<\n FormsTranslationLocale,\n DefaultErrorMessages\n>\n\nexport type InternalErrorMessages = Record<FormsTranslationFlat, string>\nexport type DefaultErrorMessages = Partial<InternalErrorMessages> &\n Partial<DotNotationErrorMessages> &\n Partial<DeprecatedErrorMessages>\n\nexport type VariousErrorMessages =\n | DefaultErrorMessages\n | ErrorMessagesWithLocaleSupport\n\nexport type DeprecatedErrorMessages = {\n /**\n * @deprecated Use translation keys as the message instead of this parameter (e.g. Field.errorRequired)\n */\n required?: string\n /**\n * @deprecated Use translation keys as the message instead of this parameter (e.g. Field.errorPattern)\n */\n pattern?: string\n /**\n * @deprecated use StringField.errorMinLength instead\n */\n minLength?: string\n /**\n * @deprecated use StringField.errorMaxLength instead\n */\n maxLength?: string\n /**\n * @deprecated use NumberField.errorMinimum instead\n */\n minimum?: string\n /**\n * @deprecated use NumberField.errorMaximum instead\n */\n maximum?: string\n /**\n * @deprecated use NumberField.errorExclusiveMinimum instead\n */\n exclusiveMinimum?: string\n /**\n * @deprecated use NumberField.errorExclusiveMaximum instead\n */\n exclusiveMaximum?: string\n /**\n * @deprecated use NumberField.errorMultipleOf instead\n */\n multipleOf?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: Path\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: Path\n /** Source data value for the field. Will take precedence over the path value given in the data context */\n value?: Value\n /** Default source data value for the field. Will not take precedence over the path value given in the data context */\n defaultValue?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\ntype EventArgs<\n Value,\n ExtraValue extends AdditionalEventArgs,\n> = ExtraValue extends undefined\n ? [value: Value]\n : [value: Value, additionalArgs?: ExtraValue]\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ExtraValue extends AdditionalEventArgs = undefined,\n> {\n emptyValue?: EmptyValue\n onFocus?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onBlur?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onChange?: (\n ...args: EventArgs<Value | EmptyValue, ExtraValue>\n ) => OnChangeReturnType\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n /**\n * NB: Undocumented for now.\n * Forwards all given props in a props object.\n */\n props?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError | Array<Error | FormError>\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions<Value>\n /** @deprecated Use `onChangeValidator` instead */\n validator?: Validator<Value>\n onChangeValidator?: Validator<Value>\n onBlurValidator?: Validator<Value>\n exportValidators?: Record<string, Validator<Value>>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before it's displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: unknown) => Value\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (internal: Value, additionalArgs?: unknown) => unknown\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transform additionalArgs or generate it based on `value`.\n */\n provideAdditionalArgs?: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => AdditionalEventArgs\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value from the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n\n /**\n * For internal use only.\n */\n valueType?: string | number | boolean | Array<string | number | boolean>\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & SharedFieldBlockProps\n\nexport type FieldPropsGeneric<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, AdditionalEventArgs>\n\nexport type FieldPropsWithExtraValue<\n Value = unknown,\n ExtraValue extends AdditionalEventArgs = AdditionalEventArgs,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, ExtraValue>\n\nexport interface ValueProps<Value = unknown>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /** Use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\n\n /**\n * Use `true` to inherit the label from a visible (rendered) field with the same path.\n */\n inheritLabel?: boolean\n\n /**\n * Use `true` to inherit the visibility from a field with the same path.\n */\n inheritVisibility?: boolean\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the label before it gets displayed. Receives the label as the first parameter. The second parameter is a object containing the `convertJsxToString` function.\n */\n transformLabel?: (\n label: React.ReactNode,\n convertJsxToString: (label: React.ReactNode) => string\n ) => React.ReactNode\n\n /**\n * Transforms the `value` before it's displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n customStatus?: unknown\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n | { customStatus: unknown }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams = {\n /** Will remove data entries of fields that are not visible */\n reduceToVisibleFields: (\n data: JsonObject,\n options?: VisibleDataOptions\n ) => Partial<JsonObject>\n\n /** Will call the given function for each data path. The returned `value` will replace each data entry. It's up to you to define the shape of the value. */\n transformData: (\n data: JsonObject,\n handler: TransformData\n ) => TransformData\n\n /** Will filter data based on the given \"filterDataHandler\" method */\n filterData: (filterDataHandler: FilterData) => Partial<JsonObject>\n\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmitReturn =\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n {\n reduceToVisibleFields,\n transformData,\n filterData,\n resetForm,\n clearData,\n }: OnSubmitParams\n) => OnSubmitReturn\n\nexport type OnCommit<Data = JsonObject> = (\n data: Data,\n {\n clearData,\n preventCommit,\n }: {\n clearData: () => void\n preventCommit?: () => void\n }\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = JsonObject> = (\n data: Data,\n additionalArgs: Pick<OnSubmitParams, 'filterData'>\n) => OnChangeReturnType\n\ntype OnChangeReturnType =\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":";;;;;;;;;;;AA4JA,MAAMA,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;AAEjD,SAASC,sBAAsBA,CACpCC,KAAY,EACQ;EACpB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACC,IAAA;IAAA,IAAC,CAACC,GAAG,CAAC,GAAAD,IAAA;IAAA,OACvCP,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC;EAAA,CAClC,CACF,CAAC;AACH;AAEO,SAASE,sBAAsBA,CACpCR,KAAY,EACwC;EACpD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCK,KAAA;IAAA,IAAC,CAACH,GAAG,CAAC,GAAAG,KAAA;IAAA,OAAK,CAACX,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC;EAAA,CAC9C,CACF,CAAC;AACH;AAsBA,MAAMI,mBAAmB,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;AAEpE,SAASC,uBAAuBA,CACrCX,KAAY,EACS;EACrB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACQ,KAAA;IAAA,IAAC,CAACN,GAAG,CAAC,GAAAM,KAAA;IAAA,OACvCF,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACnC,CACF,CAAC;AACH;AAEO,SAASO,uBAAuBA,CACrCb,KAAY,EAC0C;EACtD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCU,KAAA;IAAA,IAAC,CAACR,GAAG,CAAC,GAAAQ,KAAA;IAAA,OAAK,CAACJ,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CAC/C,CACF,CAAC;AACH;AAOO,SAASS,2BAA2BA,CAEzCf,KAAY,EAA2B;EACvC,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCY,KAAA;IAAA,IAAC,CAACV,GAAG,CAAC,GAAAU,KAAA;IAAA,OACJlB,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC,IAChCI,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACrC,CACF,CAAC;AACH;AAEO,SAASW,2BAA2BA,CAGzCjB,KAAY,EACkD;EAC9D,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCc,KAAA;IAAA,IAAC,CAACZ,GAAG,CAAC,GAAAY,KAAA;IAAA,OACJ,CAACpB,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC,IACjC,CAACI,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACtC,CACF,CAAC;AACH"}
1
+ {"version":3,"file":"types.js","names":["dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","key","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { AriaAttributes } from 'react'\nimport type { SpacingProps } from '../../components/space/types'\nimport type {\n FilterData,\n TransformData,\n VisibleDataOptions,\n} from './DataContext'\nimport type { SharedFieldBlockProps } from './FieldBlock'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject, FormError } from './utils'\nimport {\n FormsTranslationFlat,\n FormsTranslationLocale,\n} from './hooks/useTranslation'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersionsBasis<DataType> =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<DataType>\nexport type AllJSONSchemaVersions<DataType = unknown> =\n | AllJSONSchemaVersionsBasis<DataType>\n\n // In order to support \"schema = { ... } as const\"\n | (Omit<AllJSONSchemaVersionsBasis<DataType>, 'required'> & {\n required?: readonly string[]\n })\nexport { JSONSchemaType }\n\nexport type ValidatorReturnSync<Value> =\n | Error\n | undefined\n | void\n | Array<Validator<Value>>\n\nexport type ValidatorReturnAsync<Value> =\n | ValidatorReturnSync<Value>\n | Promise<ValidatorReturnSync<Value>>\nexport type Validator<Value, ErrorMessages = DefaultErrorMessages> = (\n value: Value,\n additionalArgs?: ValidatorAdditionalArgs<Value, ErrorMessages>\n) => ValidatorReturnAsync<Value>\nexport type ValidatorAdditionalArgs<\n Value,\n ErrorMessages = DefaultErrorMessages,\n> = {\n /**\n * Returns the error messages from the { errorMessages } object.\n */\n errorMessages: ErrorMessages\n\n /**\n * Connects the validator to another field.\n * This allows you to rerun the validator function once the value of the connected field changes.\n */\n connectWithPath: (path: Path) => { getValue: () => Value }\n\n /**\n * Returns the validators from the { exportValidators } object.\n */\n validators: Record<string, Validator<Value>>\n} & {\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n pattern?: string\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n required?: string\n}\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type GlobalErrorMessagesWithPaths =\n | VariousErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: VariousErrorMessages\n }\n\n/**\n * 'MyCustom.message': 'Your custom message'\n */\nexport type DotNotationErrorMessages = Record<\n `${string}` | `${string}.${string}`,\n string\n>\n/**\n * { 'nb-NO': { 'Field.errorRequired': 'Dette feltet er påkrevd' } }\n */\nexport type ErrorMessagesWithLocaleSupport = Record<\n FormsTranslationLocale,\n DefaultErrorMessages\n>\n\nexport type InternalErrorMessages = Record<FormsTranslationFlat, string>\nexport type DefaultErrorMessages = Partial<InternalErrorMessages> &\n Partial<DotNotationErrorMessages> &\n Partial<DeprecatedErrorMessages>\n\nexport type VariousErrorMessages =\n | DefaultErrorMessages\n | ErrorMessagesWithLocaleSupport\n\nexport type DeprecatedErrorMessages = {\n /**\n * @deprecated Use translation keys as the message instead of this parameter (e.g. Field.errorRequired)\n */\n required?: string\n /**\n * @deprecated Use translation keys as the message instead of this parameter (e.g. Field.errorPattern)\n */\n pattern?: string\n /**\n * @deprecated use StringField.errorMinLength instead\n */\n minLength?: string\n /**\n * @deprecated use StringField.errorMaxLength instead\n */\n maxLength?: string\n /**\n * @deprecated use NumberField.errorMinimum instead\n */\n minimum?: string\n /**\n * @deprecated use NumberField.errorMaximum instead\n */\n maximum?: string\n /**\n * @deprecated use NumberField.errorExclusiveMinimum instead\n */\n exclusiveMinimum?: string\n /**\n * @deprecated use NumberField.errorExclusiveMaximum instead\n */\n exclusiveMaximum?: string\n /**\n * @deprecated use NumberField.errorMultipleOf instead\n */\n multipleOf?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: Path\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: Path\n /** Source data value for the field. Will take precedence over the path value given in the data context */\n value?: Value\n /** Default source data value for the field. Will not take precedence over the path value given in the data context */\n defaultValue?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\ntype EventArgs<\n Value,\n ExtraValue extends AdditionalEventArgs,\n> = ExtraValue extends undefined\n ? [value: Value]\n : [value: Value, additionalArgs?: ExtraValue]\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ExtraValue extends AdditionalEventArgs = undefined,\n> {\n emptyValue?: EmptyValue\n onFocus?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onBlur?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onChange?: (\n ...args: EventArgs<Value | EmptyValue, ExtraValue>\n ) => OnChangeReturnType\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n /**\n * NB: Undocumented for now.\n * Forwards all given props in a props object.\n */\n props?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError | Array<Error | FormError>\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions<Value>\n /** @deprecated Use `onChangeValidator` instead */\n validator?: Validator<Value>\n onChangeValidator?: Validator<Value>\n onBlurValidator?: Validator<Value>\n exportValidators?: Record<string, Validator<Value>>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before it's displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: unknown) => Value\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (internal: Value, additionalArgs?: unknown) => unknown\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transform additionalArgs or generate it based on `value`.\n */\n provideAdditionalArgs?: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => AdditionalEventArgs\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value from the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n\n /**\n * For internal use only.\n */\n valueType?: string | number | boolean | Array<string | number | boolean>\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & SharedFieldBlockProps\n\nexport type FieldPropsGeneric<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, AdditionalEventArgs>\n\nexport type FieldPropsWithExtraValue<\n Value = unknown,\n ExtraValue extends AdditionalEventArgs = AdditionalEventArgs,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, ExtraValue>\n\nexport interface ValueProps<Value = unknown>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /** Use `true` to make the label only readable by screen readers. */\n labelSrOnly?: boolean\n\n /**\n * Use `true` to inherit the label from a visible (rendered) field with the same path.\n */\n inheritLabel?: boolean\n\n /**\n * Use `true` to inherit the visibility from a field with the same path.\n */\n inheritVisibility?: boolean\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the label before it gets displayed. Receives the label as the first parameter. The second parameter is a object containing the `convertJsxToString` function.\n */\n transformLabel?: (\n label: React.ReactNode,\n convertJsxToString: (label: React.ReactNode) => string\n ) => React.ReactNode\n\n /**\n * Transforms the `value` before it's displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n customStatus?: unknown\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n | { customStatus: unknown }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams<Data = JsonObject> = {\n /** Will remove data entries of fields that are not visible */\n reduceToVisibleFields: (\n data: Data,\n options?: VisibleDataOptions\n ) => Partial<Data>\n\n /** Will call the given function for each data path. The returned `value` will replace each data entry. It's up to you to define the shape of the value. */\n transformData: (data: Data, handler: TransformData) => Partial<Data>\n\n /** Will filter data based on the given \"filterDataHandler\" method */\n filterData: (filterDataHandler: FilterData) => Partial<Data>\n\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmitReturn =\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n {\n reduceToVisibleFields,\n transformData,\n filterData,\n resetForm,\n clearData,\n }: OnSubmitParams\n) => OnSubmitReturn\n\nexport type OnCommit<Data = JsonObject> = (\n data: Data,\n {\n clearData,\n preventCommit,\n }: {\n clearData: () => void\n preventCommit?: () => void\n }\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = JsonObject> = (\n data: Data,\n additionalArgs: Pick<OnSubmitParams, 'filterData'>\n) => OnChangeReturnType\n\ntype OnChangeReturnType =\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":";;;;;;;;;;;AA4JA,MAAMA,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;AAEjD,SAASC,sBAAsBA,CACpCC,KAAY,EACQ;EACpB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACC,IAAA;IAAA,IAAC,CAACC,GAAG,CAAC,GAAAD,IAAA;IAAA,OACvCP,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC;EAAA,CAClC,CACF,CAAC;AACH;AAEO,SAASE,sBAAsBA,CACpCR,KAAY,EACwC;EACpD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCK,KAAA;IAAA,IAAC,CAACH,GAAG,CAAC,GAAAG,KAAA;IAAA,OAAK,CAACX,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC;EAAA,CAC9C,CACF,CAAC;AACH;AAsBA,MAAMI,mBAAmB,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;AAEpE,SAASC,uBAAuBA,CACrCX,KAAY,EACS;EACrB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACQ,KAAA;IAAA,IAAC,CAACN,GAAG,CAAC,GAAAM,KAAA;IAAA,OACvCF,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACnC,CACF,CAAC;AACH;AAEO,SAASO,uBAAuBA,CACrCb,KAAY,EAC0C;EACtD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCU,KAAA;IAAA,IAAC,CAACR,GAAG,CAAC,GAAAQ,KAAA;IAAA,OAAK,CAACJ,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CAC/C,CACF,CAAC;AACH;AAOO,SAASS,2BAA2BA,CAEzCf,KAAY,EAA2B;EACvC,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCY,KAAA;IAAA,IAAC,CAACV,GAAG,CAAC,GAAAU,KAAA;IAAA,OACJlB,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC,IAChCI,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACrC,CACF,CAAC;AACH;AAEO,SAASW,2BAA2BA,CAGzCjB,KAAY,EACkD;EAC9D,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChCc,KAAA;IAAA,IAAC,CAACZ,GAAG,CAAC,GAAAY,KAAA;IAAA,OACJ,CAACpB,kBAAkB,CAACS,QAAQ,CAACD,GAAG,CAAC,IACjC,CAACI,mBAAmB,CAACH,QAAQ,CAACD,GAAG,CAAC;EAAA,CACtC,CACF,CAAC;AACH"}
@@ -1,6 +1,6 @@
1
1
  export type PointerPath = string | Array<string>;
2
- export type JsonValue = any;
3
- export type JsonObject = any;
2
+ export type JsonValue = unknown;
3
+ export type JsonObject = Record<string | number, unknown> | Array<unknown>;
4
4
  /**
5
5
  * Lookup a json pointer in an object
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"json-pointer.js","names":["get","obj","pointer","refTokens","Array","isArray","parse","i","length","tok","Error","set","value","nextTok","String","match","remove","finalToken","undefined","parent","slice","index","isNaN","prototype","splice","call","dict","descend","arguments","results","walk","iterator","type","Object","toString","next","cur","reduce","acc","keys","forEach","key","push","compile","pop","has","e","escape","str","replace","unescape","charAt","substring","split","map","join"],"sources":["../../../../../../src/extensions/forms/utils/json-pointer/json-pointer.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PointerPath = string | Array<string>\nexport type JsonValue = any\nexport type JsonObject = any\n\n/**\n * Lookup a json pointer in an object\n */\nexport function get<T = JsonObject>(obj: T, pointer: PointerPath) {\n const refTokens = Array.isArray(pointer) ? pointer : parse(pointer)\n\n for (let i = 0; i < refTokens.length; ++i) {\n const tok = refTokens[i]\n if (!(typeof obj == 'object' && tok in obj)) {\n throw new Error('Invalid reference token: ' + tok)\n }\n obj = obj[tok] as T\n }\n\n return obj as T\n}\n\n/**\n * Sets a value on an object\n */\nexport function set<T = JsonObject>(\n obj: T,\n pointer: PointerPath,\n value: JsonValue\n) {\n const refTokens = (\n Array.isArray(pointer) ? pointer : parse(pointer)\n ) as Array<number | string>\n let nextTok = refTokens[0]\n\n if (refTokens.length === 0) {\n throw Error('Can not set the root object')\n }\n\n for (let i = 0; i < refTokens.length - 1; ++i) {\n let tok = refTokens[i]\n if (typeof tok !== 'string' && typeof tok !== 'number') {\n tok = String(tok)\n }\n if (\n tok === '__proto__' ||\n tok === 'constructor' ||\n tok === 'prototype'\n ) {\n continue\n }\n if (tok === '-' && Array.isArray(obj)) {\n tok = obj.length\n }\n nextTok = refTokens[i + 1] as string\n\n if (!(tok in (obj as JsonObject))) {\n if (nextTok.match(/^(\\d+|-)$/)) {\n obj[tok] = []\n } else {\n obj[tok] = {}\n }\n }\n obj = obj[tok] as T\n }\n\n if (nextTok === '-' && Array.isArray(obj)) {\n nextTok = obj.length\n }\n\n obj[nextTok] = value\n}\n\n/**\n * Removes an attribute\n */\nexport function remove<T = JsonObject>(obj: T, pointer: PointerPath) {\n const refTokens = Array.isArray(pointer) ? pointer : parse(pointer)\n const finalToken = refTokens[refTokens.length - 1]\n if (finalToken === undefined) {\n throw new Error('Invalid JSON pointer for remove: \"' + pointer + '\"')\n }\n\n const parent = get(obj, refTokens.slice(0, -1))\n if (Array.isArray(parent)) {\n const index = +finalToken\n if (finalToken === '' && isNaN(index)) {\n throw new Error('Invalid array index: \"' + finalToken + '\"')\n }\n\n Array.prototype.splice.call(parent, index, 1)\n } else {\n delete parent[finalToken]\n }\n}\n\n/**\n * Returns a (pointer -> value) dictionary for an object\n */\nexport function dict<T = JsonObject>(obj: T, descend = null) {\n const results = {}\n walk(\n obj,\n function (value, pointer: string) {\n results[pointer] = value\n },\n descend\n )\n return results\n}\n\n/**\n * Iterates over an object\n */\nexport function walk<T = JsonObject>(obj: T, iterator, descend = null) {\n const refTokens = []\n\n descend =\n descend ||\n function (value) {\n const type = Object.prototype.toString.call(value)\n return type === '[object Object]' || type === '[object Array]'\n }\n\n function next(cur) {\n if (Array.isArray(cur)) {\n cur = cur.reduce((acc, cur, i) => {\n acc[i] = cur\n return acc\n }, {})\n }\n\n Object.keys(cur).forEach((key) => {\n refTokens.push(String(key))\n if (descend(cur[key])) {\n next(cur[key])\n } else {\n iterator(cur[key], compile(refTokens))\n }\n refTokens.pop()\n })\n }\n\n next(obj)\n}\n\n/**\n * Tests if an object has a value for a json pointer\n */\nexport function has<T = JsonObject>(obj: T, pointer: PointerPath) {\n try {\n get<T>(obj, pointer)\n } catch (e) {\n return false\n }\n return true\n}\n\n/**\n * Escapes a reference token\n */\nexport function escape(str: string) {\n return str.toString().replace(/~/g, '~0').replace(/\\//g, '~1')\n}\n\n/**\n * Unescape a reference token\n */\nexport function unescape(str: string) {\n return str.replace(/~1/g, '/').replace(/~0/g, '~')\n}\n\n/**\n * Converts a json pointer into a array of reference tokens\n */\nexport function parse(pointer: Extract<PointerPath, string>): PointerPath {\n if (pointer === '') {\n return []\n }\n if (pointer?.charAt(0) !== '/') {\n throw new Error('Invalid JSON pointer: ' + pointer)\n }\n return pointer.substring(1).split(/\\//).map(unescape)\n}\n\n/**\n * Builds a json pointer from a array of reference tokens\n */\nexport function compile(refTokens: Extract<PointerPath, Array<string>>) {\n if (refTokens.length === 0) {\n return ''\n }\n return '/' + refTokens.map(escape).join('/')\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"json-pointer.js","names":["get","obj","pointer","refTokens","Array","isArray","parse","i","length","tok","Error","set","value","nextTok","String","match","remove","finalToken","undefined","parent","slice","index","isNaN","prototype","splice","call","dict","descend","arguments","results","walk","iterator","type","Object","toString","next","cur","reduce","acc","keys","forEach","key","push","compile","pop","has","e","escape","str","replace","unescape","charAt","substring","split","map","join"],"sources":["../../../../../../src/extensions/forms/utils/json-pointer/json-pointer.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PointerPath = string | Array<string>\nexport type JsonValue = unknown\nexport type JsonObject = Record<string | number, unknown> | Array<unknown>\n\n/**\n * Lookup a json pointer in an object\n */\nexport function get<T = JsonObject>(obj: T, pointer: PointerPath) {\n const refTokens = Array.isArray(pointer) ? pointer : parse(pointer)\n\n for (let i = 0; i < refTokens.length; ++i) {\n const tok = refTokens[i]\n if (!(typeof obj == 'object' && tok in obj)) {\n throw new Error('Invalid reference token: ' + tok)\n }\n obj = obj[tok] as T\n }\n\n return obj as T\n}\n\n/**\n * Sets a value on an object\n */\nexport function set<T = JsonObject>(\n obj: T,\n pointer: PointerPath,\n value: JsonValue\n) {\n const refTokens = (\n Array.isArray(pointer) ? pointer : parse(pointer)\n ) as Array<number | string>\n let nextTok = refTokens[0]\n\n if (refTokens.length === 0) {\n throw Error('Can not set the root object')\n }\n\n for (let i = 0; i < refTokens.length - 1; ++i) {\n let tok = refTokens[i]\n if (typeof tok !== 'string' && typeof tok !== 'number') {\n tok = String(tok)\n }\n if (\n tok === '__proto__' ||\n tok === 'constructor' ||\n tok === 'prototype'\n ) {\n continue\n }\n if (tok === '-' && Array.isArray(obj)) {\n tok = obj.length\n }\n nextTok = refTokens[i + 1] as string\n\n if (!(tok in (obj as JsonObject))) {\n if (nextTok.match(/^(\\d+|-)$/)) {\n obj[tok] = []\n } else {\n obj[tok] = {}\n }\n }\n obj = obj[tok] as T\n }\n\n if (nextTok === '-' && Array.isArray(obj)) {\n nextTok = obj.length\n }\n\n obj[nextTok] = value\n}\n\n/**\n * Removes an attribute\n */\nexport function remove<T = JsonObject>(obj: T, pointer: PointerPath) {\n const refTokens = Array.isArray(pointer) ? pointer : parse(pointer)\n const finalToken = refTokens[refTokens.length - 1]\n if (finalToken === undefined) {\n throw new Error('Invalid JSON pointer for remove: \"' + pointer + '\"')\n }\n\n const parent = get(obj, refTokens.slice(0, -1))\n if (Array.isArray(parent)) {\n const index = +finalToken\n if (finalToken === '' && isNaN(index)) {\n throw new Error('Invalid array index: \"' + finalToken + '\"')\n }\n\n Array.prototype.splice.call(parent, index, 1)\n } else {\n delete parent[finalToken]\n }\n}\n\n/**\n * Returns a (pointer -> value) dictionary for an object\n */\nexport function dict<T = JsonObject>(obj: T, descend = null) {\n const results = {}\n walk(\n obj,\n function (value, pointer: string) {\n results[pointer] = value\n },\n descend\n )\n return results\n}\n\n/**\n * Iterates over an object\n */\nexport function walk<T = JsonObject>(obj: T, iterator, descend = null) {\n const refTokens = []\n\n descend =\n descend ||\n function (value) {\n const type = Object.prototype.toString.call(value)\n return type === '[object Object]' || type === '[object Array]'\n }\n\n function next(cur) {\n if (Array.isArray(cur)) {\n cur = cur.reduce((acc, cur, i) => {\n acc[i] = cur\n return acc\n }, {})\n }\n\n Object.keys(cur).forEach((key) => {\n refTokens.push(String(key))\n if (descend(cur[key])) {\n next(cur[key])\n } else {\n iterator(cur[key], compile(refTokens))\n }\n refTokens.pop()\n })\n }\n\n next(obj)\n}\n\n/**\n * Tests if an object has a value for a json pointer\n */\nexport function has<T = JsonObject>(obj: T, pointer: PointerPath) {\n try {\n get<T>(obj, pointer)\n } catch (e) {\n return false\n }\n return true\n}\n\n/**\n * Escapes a reference token\n */\nexport function escape(str: string) {\n return str.toString().replace(/~/g, '~0').replace(/\\//g, '~1')\n}\n\n/**\n * Unescape a reference token\n */\nexport function unescape(str: string) {\n return str.replace(/~1/g, '/').replace(/~0/g, '~')\n}\n\n/**\n * Converts a json pointer into a array of reference tokens\n */\nexport function parse(pointer: Extract<PointerPath, string>): PointerPath {\n if (pointer === '') {\n return []\n }\n if (pointer?.charAt(0) !== '/') {\n throw new Error('Invalid JSON pointer: ' + pointer)\n }\n return pointer.substring(1).split(/\\//).map(unescape)\n}\n\n/**\n * Builds a json pointer from a array of reference tokens\n */\nexport function compile(refTokens: Extract<PointerPath, Array<string>>) {\n if (refTokens.length === 0) {\n return ''\n }\n return '/' + refTokens.map(escape).join('/')\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "10.57.0";
1
+ export declare const version = "10.58.0";
2
2
  export declare function init(): void;
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.init = init;
7
7
  exports.version = void 0;
8
- const version = '10.57.0';
8
+ const version = '10.58.0';
9
9
  exports.version = version;
10
10
  function init() {
11
11
  if (typeof window !== 'undefined') {
12
12
  class Eufemia {
13
13
  get version() {
14
- return '10.57.0';
14
+ return '10.58.0';
15
15
  }
16
16
  }
17
17
  window.Eufemia = new Eufemia();
@@ -1 +1 @@
1
- {"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.57.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.57.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,SAAS;AAAAC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAEzB,SAASE,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIJ,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAG,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
1
+ {"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.58.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.58.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,SAAS;AAAAC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAEzB,SAASE,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIJ,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAG,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
@@ -1,14 +1,15 @@
1
- export type SharedStateId = string;
1
+ import React from 'react';
2
+ export type SharedStateId = string | (() => void) | Promise<() => void> | React.Context<any> | Record<string, unknown>;
2
3
  /**
3
4
  * Custom hook that provides shared state functionality.
4
- *
5
- * @template Data - The type of data stored in the shared state.
6
- * @param {SharedStateId} id - The identifier for the shared state.
7
- * @param {Data} initialData - The initial data for the shared state.
8
- * @param {Function} onChange - Optional callback function to be called when the shared state is set from another instance/component.
9
- * @returns {Object} - An object containing the shared state data, update function, extend function, and set function.
10
5
  */
11
- export declare function useSharedState<Data>(id: SharedStateId, initialData?: Data, onChange?: any): {
6
+ export declare function useSharedState<Data>(
7
+ /** The identifier for the shared state. */
8
+ id: SharedStateId | undefined,
9
+ /** The initial data for the shared state. */
10
+ initialData?: Data,
11
+ /** Optional callback function to be called when the shared state is set from another instance/component. */
12
+ onChange?: any): {
12
13
  get: () => Data;
13
14
  data: Data;
14
15
  hadInitialData: boolean;
@@ -32,10 +33,15 @@ interface SharedStateInstance<Data> extends SharedStateReturn<Data> {
32
33
  }
33
34
  /**
34
35
  * Creates a shared state instance with the specified ID and initial data.
35
- * @template Data The type of data stored in the shared state.
36
- * @param id The ID of the shared state.
37
- * @param initialData The initial data for the shared state.
38
- * @returns The created shared state instance.
39
36
  */
40
- export declare function createSharedState<Data>(id: SharedStateId, initialData?: Data): SharedStateInstance<Data>;
37
+ export declare function createSharedState<Data>(
38
+ /** The identifier for the shared state. */
39
+ id: SharedStateId,
40
+ /** The initial data for the shared state. */
41
+ initialData?: Data): SharedStateInstance<Data>;
42
+ /**
43
+ * Creates a reference key for the shared state.
44
+ * You can pass any JavaScript instance as the reference.
45
+ */
46
+ export declare function createReferenceKey(ref1: any, ref2: any): any;
41
47
  export {};
@@ -4,6 +4,7 @@
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ exports.createReferenceKey = createReferenceKey;
7
8
  exports.createSharedState = createSharedState;
8
9
  exports.useSharedState = useSharedState;
9
10
  var _react = _interopRequireWildcard(require("react"));
@@ -44,7 +45,7 @@ function useSharedState(id) {
44
45
  }, [id, initialData]);
45
46
  const sharedAttachment = (0, _react.useMemo)(() => {
46
47
  if (id) {
47
- return createSharedState(id + '-oc', {
48
+ return createSharedState(createReferenceKey(id, 'oc'), {
48
49
  onChange
49
50
  });
50
51
  }
@@ -99,20 +100,20 @@ function useSharedState(id) {
99
100
  sync
100
101
  };
101
102
  }
102
- const sharedStates = {};
103
+ const sharedStates = new Map();
103
104
  function createSharedState(id, initialData) {
104
- if (!sharedStates[id]) {
105
+ if (!sharedStates.get(id)) {
105
106
  let subscribers = [];
106
- const get = () => sharedStates[id].data;
107
+ const get = () => sharedStates.get(id).data;
107
108
  const set = newData => {
108
- sharedStates[id].data = _objectSpread({}, newData);
109
+ sharedStates.get(id).data = _objectSpread({}, newData);
109
110
  };
110
111
  const update = newData => {
111
112
  set(newData);
112
113
  sync();
113
114
  };
114
115
  const extend = newData => {
115
- sharedStates[id].data = _objectSpread(_objectSpread({}, sharedStates[id].data), newData);
116
+ sharedStates.get(id).data = _objectSpread(_objectSpread({}, sharedStates.get(id).data), newData);
116
117
  sync();
117
118
  };
118
119
  const subscribe = subscriber => {
@@ -126,7 +127,7 @@ function createSharedState(id, initialData) {
126
127
  const sync = () => {
127
128
  subscribers.forEach(subscriber => subscriber());
128
129
  };
129
- sharedStates[id] = {
130
+ sharedStates.set(id, {
130
131
  data: undefined,
131
132
  get,
132
133
  set,
@@ -135,13 +136,24 @@ function createSharedState(id, initialData) {
135
136
  subscribe,
136
137
  unsubscribe,
137
138
  hadInitialData: Boolean(initialData)
138
- };
139
+ });
139
140
  if (initialData) {
140
141
  extend(initialData);
141
142
  }
142
- } else if (sharedStates[id].data === undefined && initialData !== undefined) {
143
- sharedStates[id].data = _objectSpread({}, initialData);
143
+ } else if (sharedStates.get(id).data === undefined && initialData !== undefined) {
144
+ sharedStates.get(id).data = _objectSpread({}, initialData);
145
+ }
146
+ return sharedStates.get(id);
147
+ }
148
+ function createReferenceKey(ref1, ref2) {
149
+ if (!cache.has(ref1)) {
150
+ cache.set(ref1, new Map());
151
+ }
152
+ const innerMap = cache.get(ref1);
153
+ if (!innerMap.has(ref2)) {
154
+ innerMap.set(ref2, {});
144
155
  }
145
- return sharedStates[id];
156
+ return innerMap.get(ref2);
146
157
  }
158
+ const cache = new Map();
147
159
  //# sourceMappingURL=useSharedState.js.map