@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,13 +1,13 @@
1
1
  "use client";
2
2
 
3
3
  import { useCallback, useContext, useMemo } from 'react';
4
- import { useSharedState } from '../../../../shared/helpers/useSharedState';
4
+ import { createReferenceKey, useSharedState } from '../../../../shared/helpers/useSharedState';
5
5
  import DataContext from '../../DataContext/Context';
6
6
  export default function useValidation() {
7
7
  let id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
8
8
  const {
9
9
  data
10
- } = useSharedState(id + '-attachments');
10
+ } = useSharedState(createReferenceKey(id, 'attachments'));
11
11
  const fallback = useCallback(() => false, []);
12
12
  const context = useContext(DataContext);
13
13
  const hasErrors = (data === null || data === void 0 ? void 0 : data.hasErrors) || !id && (context === null || context === void 0 ? void 0 : context.hasErrors) || fallback;
@@ -37,7 +37,7 @@ function useConnections() {
37
37
  let id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
38
38
  const {
39
39
  get
40
- } = useSharedState(id + '-attachments');
40
+ } = useSharedState(createReferenceKey(id, 'attachments'));
41
41
  const dataContext = useContext(DataContext);
42
42
  const {
43
43
  fieldConnectionsRef
@@ -1 +1 @@
1
- {"version":3,"file":"useValidation.js","names":["useCallback","useContext","useMemo","useSharedState","DataContext","useValidation","id","arguments","length","undefined","data","fallback","context","hasErrors","hasFieldError","setSubmitState","setFormError","error","getFieldConnections","useConnections","setFieldStatus","path","status","_connections$path","_connections$path$set","connections","setEventResult","call","get","dataContext","fieldConnectionsRef","attachments","current"],"sources":["../../../../../../src/extensions/forms/Form/data-context/useValidation.tsx"],"sourcesContent":["import { useCallback, useContext, useMemo } from 'react'\nimport {\n SharedStateId,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport { SharedAttachments } from '../../DataContext/Provider'\nimport { EventStateObject, Path } from '../../types'\n\ntype UseDataReturn = {\n hasErrors: ContextState['hasErrors']\n hasFieldError: ContextState['hasFieldError']\n setFormError: (error: Error) => void\n setFieldStatus: (path: Path, status: EventStateObject) => void\n}\n\nexport default function useValidation(\n id: SharedStateId = undefined\n): UseDataReturn {\n const { data } = useSharedState<\n UseDataReturn & SharedAttachments<unknown>\n >(id + '-attachments')\n\n const fallback = useCallback(() => false, [])\n\n // If no id is provided, use the context version\n const context = useContext(DataContext)\n const hasErrors =\n data?.hasErrors || (!id && context?.hasErrors) || fallback\n const hasFieldError =\n data?.hasFieldError || (!id && context?.hasFieldError) || fallback\n\n // Error handling\n const setSubmitState =\n data?.setSubmitState || (!id && context?.setSubmitState) || fallback\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n // Field status\n const { getFieldConnections } = useConnections(id)\n const setFieldStatus = useCallback(\n (path: Path, status: EventStateObject) => {\n const connections = getFieldConnections()\n connections?.[path]?.setEventResult?.(status)\n },\n [getFieldConnections]\n )\n\n return useMemo(\n () => ({ hasErrors, hasFieldError, setFormError, setFieldStatus }),\n [hasErrors, hasFieldError, setFormError, setFieldStatus]\n )\n}\n\ntype UseConnectionsSharedState = {\n fieldConnectionsRef: ContextState['fieldConnectionsRef']\n}\n\nfunction useConnections(id: SharedStateId = undefined) {\n const { get } = useSharedState<UseConnectionsSharedState>(\n id + '-attachments'\n )\n\n const dataContext = useContext(DataContext)\n const { fieldConnectionsRef } = dataContext || {}\n\n const getFieldConnections = useCallback(() => {\n const attachments = get()\n const connections =\n attachments?.fieldConnectionsRef || (!id && fieldConnectionsRef)\n\n return connections.current\n }, [fieldConnectionsRef, get, id])\n\n return useMemo(() => ({ getFieldConnections }), [getFieldConnections])\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useValidation.js","names":["useCallback","useContext","useMemo","createReferenceKey","useSharedState","DataContext","useValidation","id","arguments","length","undefined","data","fallback","context","hasErrors","hasFieldError","setSubmitState","setFormError","error","getFieldConnections","useConnections","setFieldStatus","path","status","_connections$path","_connections$path$set","connections","setEventResult","call","get","dataContext","fieldConnectionsRef","attachments","current"],"sources":["../../../../../../src/extensions/forms/Form/data-context/useValidation.tsx"],"sourcesContent":["import { useCallback, useContext, useMemo } from 'react'\nimport {\n SharedStateId,\n createReferenceKey,\n useSharedState,\n} from '../../../../shared/helpers/useSharedState'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport { SharedAttachments } from '../../DataContext/Provider'\nimport { EventStateObject, Path } from '../../types'\n\ntype UseDataReturn = {\n hasErrors: ContextState['hasErrors']\n hasFieldError: ContextState['hasFieldError']\n setFormError: (error: Error) => void\n setFieldStatus: (path: Path, status: EventStateObject) => void\n}\n\nexport default function useValidation(\n id: SharedStateId = undefined\n): UseDataReturn {\n const { data } = useSharedState<\n UseDataReturn & SharedAttachments<unknown>\n >(createReferenceKey(id, 'attachments'))\n\n const fallback = useCallback(() => false, [])\n\n // If no id is provided, use the context version\n const context = useContext(DataContext)\n const hasErrors =\n data?.hasErrors || (!id && context?.hasErrors) || fallback\n const hasFieldError =\n data?.hasFieldError || (!id && context?.hasFieldError) || fallback\n\n // Error handling\n const setSubmitState =\n data?.setSubmitState || (!id && context?.setSubmitState) || fallback\n const setFormError = useCallback(\n (error: Error) => {\n setSubmitState?.({ error })\n },\n [setSubmitState]\n )\n\n // Field status\n const { getFieldConnections } = useConnections(id)\n const setFieldStatus = useCallback(\n (path: Path, status: EventStateObject) => {\n const connections = getFieldConnections()\n connections?.[path]?.setEventResult?.(status)\n },\n [getFieldConnections]\n )\n\n return useMemo(\n () => ({ hasErrors, hasFieldError, setFormError, setFieldStatus }),\n [hasErrors, hasFieldError, setFormError, setFieldStatus]\n )\n}\n\ntype UseConnectionsSharedState = {\n fieldConnectionsRef: ContextState['fieldConnectionsRef']\n}\n\nfunction useConnections(id: SharedStateId = undefined) {\n const { get } = useSharedState<UseConnectionsSharedState>(\n createReferenceKey(id, 'attachments')\n )\n\n const dataContext = useContext(DataContext)\n const { fieldConnectionsRef } = dataContext || {}\n\n const getFieldConnections = useCallback(() => {\n const attachments = get()\n const connections =\n attachments?.fieldConnectionsRef || (!id && fieldConnectionsRef)\n\n return connections.current\n }, [fieldConnectionsRef, get, id])\n\n return useMemo(() => ({ getFieldConnections }), [getFieldConnections])\n}\n"],"mappings":"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"}
@@ -2,10 +2,11 @@ import { Props as FlexContainerProps } from '../../../../components/flex/Contain
2
2
  import { ContainerMode } from './types';
3
3
  export type ArrayItemAreaProps = {
4
4
  /**
5
- * Defines the variant of the ViewContainer, EditContainer or PushContainer. Can be `outline` or `basic`.
5
+ * Defines the variant of the ViewContainer, EditContainer or PushContainer. Can be `outline`, `filled` or `basic`.
6
6
  * Defaults to `outline`.
7
7
  */
8
- variant?: 'outline' | 'basic';
8
+ variant?: 'outline' | 'basic' | 'filled';
9
+ toolbarVariant?: 'minimumOneItem' | 'custom';
9
10
  };
10
11
  export type Props = {
11
12
  mode: ContainerMode;
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- const _excluded = ["mode", "open", "ariaLabel", "onAnimationEnd", "className", "children", "openDelay", "variant"];
5
+ const _excluded = ["mode", "open", "ariaLabel", "onAnimationEnd", "className", "children", "openDelay", "variant", "toolbarVariant"];
6
6
  import React, { useCallback, useContext, useReducer, useRef } from 'react';
7
7
  import classnames from 'classnames';
8
8
  import { Card, HeightAnimation } from '../../../../components';
@@ -20,7 +20,8 @@ function ArrayItemArea(props) {
20
20
  className,
21
21
  children,
22
22
  openDelay = 100,
23
- variant = 'outline'
23
+ variant = 'outline',
24
+ toolbarVariant
24
25
  } = props,
25
26
  restProps = _objectWithoutProperties(props, _excluded);
26
27
  const localContextRef = useRef();
@@ -123,14 +124,16 @@ function ArrayItemArea(props) {
123
124
  nextFocusElementRef.current = Array.from(localContextRef.current.elementRef.current.parentElement.childNodes).at(index - 1);
124
125
  } catch (e) {}
125
126
  isRemoving.current = true;
127
+ setOpenState(false);
126
128
  handleRemove === null || handleRemove === void 0 ? void 0 : handleRemove({
127
129
  keepItems: true
128
130
  });
129
- setOpenState(false);
130
131
  }, [handleRemove, index, setOpenState]);
131
132
  return React.createElement(ArrayItemAreaContext.Provider, {
132
133
  value: {
133
- handleRemoveItem
134
+ handleRemoveItem,
135
+ variant,
136
+ toolbarVariant
134
137
  }
135
138
  }, React.createElement(HeightAnimation, {
136
139
  className: classnames('dnb-forms-section-block', className, variant && `dnb-forms-section-block--variant-${variant}`, isNew && 'dnb-forms-section-block--new', hasSubmitError && 'dnb-forms-section-block--error'),
@@ -140,7 +143,8 @@ function ArrayItemArea(props) {
140
143
  keepInDOM: true
141
144
  }, React.createElement(Card, _extends({
142
145
  stack: true,
143
- innerSpace: "small",
146
+ filled: variant === 'filled',
147
+ innerSpace: variant === 'basic' ? false : 'small',
144
148
  className: "dnb-forms-section-block__inner"
145
149
  }, restProps, {
146
150
  "aria-label": ariaLabel
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayItemArea.js","names":["React","useCallback","useContext","useReducer","useRef","classnames","Card","HeightAnimation","IterateItemContext","ArrayItemAreaContext","FieldBoundaryContext","useLayoutEffect","window","useEffect","ArrayItemArea","props","forceUpdate","mode","open","ariaLabel","onAnimationEnd","className","children","openDelay","variant","restProps","_objectWithoutProperties","_excluded","localContextRef","hasError","hasSubmitError","current","nextFocusElementRef","isNew","determineMode","value","initialContainerMode","Object","keys","length","containerMode","modeOptions","omitFocusManagement","editMode","switchContainerMode","preventUpdate","handleRemove","index","previousContainerMode","openRef","isRemoving","setOpenState","setTimeout","setFocus","state","_localContextRef$curr","_localContextRef$curr2","_localContextRef$curr3","_localContextRef$curr4","elementRef","focus","call","_nextFocusElementRef$","_nextFocusElementRef$2","handleAnimationEnd","_localContextRef$curr5","_localContextRef$curr6","fulfillRemove","handleRemoveItem","Array","from","parentElement","childNodes","at","e","keepItems","createElement","Provider","duration","keepInDOM","_extends","stack","innerSpace","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/ArrayItemArea.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer, useRef } from 'react'\nimport classnames from 'classnames'\nimport { Card, HeightAnimation } from '../../../../components'\nimport IterateItemContext, {\n IterateItemContextState,\n} from '../IterateItemContext'\nimport ArrayItemAreaContext from './ArrayItemAreaContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { ContainerMode } from './types'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type ArrayItemAreaProps = {\n /**\n * Defines the variant of the ViewContainer, EditContainer or PushContainer. Can be `outline` or `basic`.\n * Defaults to `outline`.\n */\n variant?: 'outline' | 'basic'\n}\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n openDelay?: number\n} & ArrayItemAreaProps\n\nfunction ArrayItemArea(props: Props & FlexContainerProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n openDelay = 100,\n variant = 'outline',\n ...restProps\n } = props\n\n const localContextRef = useRef<IterateItemContextState>()\n const { hasError, hasSubmitError } =\n useContext(FieldBoundaryContext) || {}\n localContextRef.current = useContext(IterateItemContext) || {}\n const nextFocusElementRef = useRef<HTMLElement>()\n const { isNew } = localContextRef.current\n\n const determineMode = useCallback(() => {\n const { value, initialContainerMode } = localContextRef.current\n if (initialContainerMode === 'auto') {\n // - Set the container mode to \"edit\" if we have an error\n if (\n hasSubmitError ||\n hasError ||\n !value ||\n (typeof value === 'object' && Object.keys(value).length === 0)\n ) {\n return 'edit'\n }\n }\n }, [hasError, hasSubmitError])\n\n if (determineMode() === 'edit') {\n localContextRef.current.containerMode = 'edit'\n if (!localContextRef.current.modeOptions) {\n localContextRef.current.modeOptions = {}\n }\n localContextRef.current.modeOptions.omitFocusManagement = true\n }\n if (localContextRef.current.containerMode === 'auto') {\n localContextRef.current.containerMode = 'view'\n }\n\n useLayoutEffect(() => {\n if (mode === 'edit') {\n const editMode = determineMode()\n if (editMode) {\n const { switchContainerMode } = localContextRef.current\n switchContainerMode?.(editMode, {\n omitFocusManagement: true,\n preventUpdate: true,\n })\n }\n }\n }, [determineMode, mode])\n\n const { handleRemove, index, previousContainerMode, containerMode } =\n localContextRef.current\n\n const openRef = useRef(open ?? (containerMode === mode && !isNew))\n const isRemoving = useRef(false)\n\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useLayoutEffect(() => {\n if (!isRemoving.current) {\n // - Set the open state, if it's controlled\n if (typeof open !== 'undefined') {\n setOpenState(open)\n } else {\n // - Open the block with animation, if it's in the right mode\n if (openRef.current !== (containerMode === mode)) {\n if (isNew) {\n setTimeout(() => {\n setOpenState(containerMode === mode)\n }, openDelay) // in order to apply the animation\n } else {\n setOpenState(containerMode === mode)\n }\n }\n }\n }\n }, [containerMode, isNew, mode, open, openDelay, setOpenState])\n\n const setFocus = useCallback(\n (state) => {\n if (\n localContextRef.current.modeOptions?.omitFocusManagement !==\n true &&\n !hasSubmitError &&\n containerMode === mode && // ensure we match the correct mode\n containerMode !== previousContainerMode // ensure we have a new mode\n ) {\n if (state === 'opened') {\n localContextRef.current.elementRef?.current?.focus?.()\n } else if (state === 'closed') {\n nextFocusElementRef.current?.focus?.()\n }\n }\n },\n [containerMode, hasSubmitError, mode, previousContainerMode]\n )\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state) => {\n if (!openRef.current && isRemoving.current) {\n isRemoving.current = false\n localContextRef.current.fulfillRemove?.()\n }\n\n setFocus(state)\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, setFocus]\n )\n\n const handleRemoveItem = useCallback(() => {\n try {\n // Because \"previousElementSibling\" did not work in Jest/JSDOM\n nextFocusElementRef.current = Array.from(\n localContextRef.current.elementRef.current.parentElement.childNodes\n ).at(index - 1) as HTMLElement\n } catch (e) {\n //\n }\n isRemoving.current = true\n handleRemove?.({ keepItems: true })\n setOpenState(false)\n }, [handleRemove, index, setOpenState])\n\n return (\n <ArrayItemAreaContext.Provider value={{ handleRemoveItem }}>\n <HeightAnimation\n className={classnames(\n 'dnb-forms-section-block',\n variant && `dnb-forms-section-block--variant-${variant}`,\n isNew && 'dnb-forms-section-block--new',\n hasSubmitError && 'dnb-forms-section-block--error',\n className\n )}\n open={openRef.current}\n onAnimationEnd={handleAnimationEnd}\n duration={450}\n keepInDOM // Ensure fields get mounted so they will sync with the data context\n >\n <Card\n stack\n innerSpace=\"small\"\n className=\"dnb-forms-section-block__inner\"\n {...restProps}\n aria-label={ariaLabel}\n >\n {children}\n </Card>\n </HeightAnimation>\n </ArrayItemAreaContext.Provider>\n )\n}\n\nArrayItemArea._supportsSpacingProps = true\nexport default ArrayItemArea\n"],"mappings":"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"}
1
+ {"version":3,"file":"ArrayItemArea.js","names":["React","useCallback","useContext","useReducer","useRef","classnames","Card","HeightAnimation","IterateItemContext","ArrayItemAreaContext","FieldBoundaryContext","useLayoutEffect","window","useEffect","ArrayItemArea","props","forceUpdate","mode","open","ariaLabel","onAnimationEnd","className","children","openDelay","variant","toolbarVariant","restProps","_objectWithoutProperties","_excluded","localContextRef","hasError","hasSubmitError","current","nextFocusElementRef","isNew","determineMode","value","initialContainerMode","Object","keys","length","containerMode","modeOptions","omitFocusManagement","editMode","switchContainerMode","preventUpdate","handleRemove","index","previousContainerMode","openRef","isRemoving","setOpenState","setTimeout","setFocus","state","_localContextRef$curr","_localContextRef$curr2","_localContextRef$curr3","_localContextRef$curr4","elementRef","focus","call","_nextFocusElementRef$","_nextFocusElementRef$2","handleAnimationEnd","_localContextRef$curr5","_localContextRef$curr6","fulfillRemove","handleRemoveItem","Array","from","parentElement","childNodes","at","e","keepItems","createElement","Provider","duration","keepInDOM","_extends","stack","filled","innerSpace","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/ArrayItemArea.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer, useRef } from 'react'\nimport classnames from 'classnames'\nimport { Card, HeightAnimation } from '../../../../components'\nimport IterateItemContext, {\n IterateItemContextState,\n} from '../IterateItemContext'\nimport ArrayItemAreaContext from './ArrayItemAreaContext'\nimport FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport { ContainerMode } from './types'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type ArrayItemAreaProps = {\n /**\n * Defines the variant of the ViewContainer, EditContainer or PushContainer. Can be `outline`, `filled` or `basic`.\n * Defaults to `outline`.\n */\n variant?: 'outline' | 'basic' | 'filled'\n toolbarVariant?: 'minimumOneItem' | 'custom'\n}\n\nexport type Props = {\n mode: ContainerMode\n open?: boolean | undefined\n ariaLabel?: string\n openDelay?: number\n} & ArrayItemAreaProps\n\nfunction ArrayItemArea(props: Props & FlexContainerProps) {\n const [, forceUpdate] = useReducer(() => ({}), {})\n\n const {\n mode,\n open,\n ariaLabel,\n onAnimationEnd,\n className,\n children,\n openDelay = 100,\n variant = 'outline',\n toolbarVariant,\n ...restProps\n } = props\n\n const localContextRef = useRef<IterateItemContextState>()\n const { hasError, hasSubmitError } =\n useContext(FieldBoundaryContext) || {}\n localContextRef.current = useContext(IterateItemContext) || {}\n const nextFocusElementRef = useRef<HTMLElement>()\n const { isNew } = localContextRef.current\n\n const determineMode = useCallback(() => {\n const { value, initialContainerMode } = localContextRef.current\n if (initialContainerMode === 'auto') {\n // - Set the container mode to \"edit\" if we have an error\n if (\n hasSubmitError ||\n hasError ||\n !value ||\n (typeof value === 'object' && Object.keys(value).length === 0)\n ) {\n return 'edit'\n }\n }\n }, [hasError, hasSubmitError])\n\n if (determineMode() === 'edit') {\n localContextRef.current.containerMode = 'edit'\n if (!localContextRef.current.modeOptions) {\n localContextRef.current.modeOptions = {}\n }\n localContextRef.current.modeOptions.omitFocusManagement = true\n }\n if (localContextRef.current.containerMode === 'auto') {\n localContextRef.current.containerMode = 'view'\n }\n\n useLayoutEffect(() => {\n if (mode === 'edit') {\n const editMode = determineMode()\n if (editMode) {\n const { switchContainerMode } = localContextRef.current\n switchContainerMode?.(editMode, {\n omitFocusManagement: true,\n preventUpdate: true,\n })\n }\n }\n }, [determineMode, mode])\n\n const { handleRemove, index, previousContainerMode, containerMode } =\n localContextRef.current\n\n const openRef = useRef(open ?? (containerMode === mode && !isNew))\n const isRemoving = useRef(false)\n\n const setOpenState = useCallback((open: boolean) => {\n openRef.current = open\n forceUpdate()\n }, [])\n\n useLayoutEffect(() => {\n if (!isRemoving.current) {\n // - Set the open state, if it's controlled\n if (typeof open !== 'undefined') {\n setOpenState(open)\n } else {\n // - Open the block with animation, if it's in the right mode\n if (openRef.current !== (containerMode === mode)) {\n if (isNew) {\n setTimeout(() => {\n setOpenState(containerMode === mode)\n }, openDelay) // in order to apply the animation\n } else {\n setOpenState(containerMode === mode)\n }\n }\n }\n }\n }, [containerMode, isNew, mode, open, openDelay, setOpenState])\n\n const setFocus = useCallback(\n (state) => {\n if (\n localContextRef.current.modeOptions?.omitFocusManagement !==\n true &&\n !hasSubmitError &&\n containerMode === mode && // ensure we match the correct mode\n containerMode !== previousContainerMode // ensure we have a new mode\n ) {\n if (state === 'opened') {\n localContextRef.current.elementRef?.current?.focus?.()\n } else if (state === 'closed') {\n nextFocusElementRef.current?.focus?.()\n }\n }\n },\n [containerMode, hasSubmitError, mode, previousContainerMode]\n )\n\n // - Remove the block with animation, if it's in the right mode\n const handleAnimationEnd = useCallback(\n (state) => {\n if (!openRef.current && isRemoving.current) {\n isRemoving.current = false\n localContextRef.current.fulfillRemove?.()\n }\n\n setFocus(state)\n onAnimationEnd?.(state)\n },\n [onAnimationEnd, setFocus]\n )\n\n const handleRemoveItem = useCallback(() => {\n try {\n // Because \"previousElementSibling\" did not work in Jest/JSDOM\n nextFocusElementRef.current = Array.from(\n localContextRef.current.elementRef.current.parentElement.childNodes\n ).at(index - 1) as HTMLElement\n } catch (e) {\n //\n }\n isRemoving.current = true\n setOpenState(false)\n handleRemove?.({ keepItems: true })\n }, [handleRemove, index, setOpenState])\n\n return (\n <ArrayItemAreaContext.Provider\n value={{ handleRemoveItem, variant, toolbarVariant }}\n >\n <HeightAnimation\n className={classnames(\n 'dnb-forms-section-block',\n variant && `dnb-forms-section-block--variant-${variant}`,\n isNew && 'dnb-forms-section-block--new',\n hasSubmitError && 'dnb-forms-section-block--error',\n className\n )}\n open={openRef.current}\n onAnimationEnd={handleAnimationEnd}\n duration={450}\n keepInDOM // Ensure fields get mounted so they will sync with the data context\n >\n <Card\n stack\n filled={variant === 'filled'}\n innerSpace={variant === 'basic' ? false : 'small'}\n className=\"dnb-forms-section-block__inner\"\n {...restProps}\n aria-label={ariaLabel}\n >\n {children}\n </Card>\n </HeightAnimation>\n </ArrayItemAreaContext.Provider>\n )\n}\n\nArrayItemArea._supportsSpacingProps = true\nexport default ArrayItemArea\n"],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  /// <reference types="react" />
2
+ import { ArrayItemAreaProps } from './ArrayItemArea';
2
3
  type ArrayItemAreaContext = {
3
4
  handleRemoveItem?: () => void;
5
+ variant?: ArrayItemAreaProps['variant'];
6
+ toolbarVariant?: ArrayItemAreaProps['toolbarVariant'];
4
7
  };
5
8
  declare const ArrayItemAreaContext: import("react").Context<ArrayItemAreaContext>;
6
9
  export default ArrayItemAreaContext;
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayItemAreaContext.js","names":["createContext","ArrayItemAreaContext"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/ArrayItemAreaContext.ts"],"sourcesContent":["import { createContext } from 'react'\n\ntype ArrayItemAreaContext = {\n handleRemoveItem?: () => void\n}\n\nconst ArrayItemAreaContext = createContext<ArrayItemAreaContext>(null)\n\nexport default ArrayItemAreaContext\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAMrC,MAAMC,oBAAoB,GAAGD,aAAa,CAAuB,IAAI,CAAC;AAEtE,eAAeC,oBAAoB"}
1
+ {"version":3,"file":"ArrayItemAreaContext.js","names":["createContext","ArrayItemAreaContext"],"sources":["../../../../../../src/extensions/forms/Iterate/Array/ArrayItemAreaContext.ts"],"sourcesContent":["import { createContext } from 'react'\nimport { ArrayItemAreaProps } from './ArrayItemArea'\n\ntype ArrayItemAreaContext = {\n handleRemoveItem?: () => void\n variant?: ArrayItemAreaProps['variant']\n toolbarVariant?: ArrayItemAreaProps['toolbarVariant']\n}\n\nconst ArrayItemAreaContext = createContext<ArrayItemAreaContext>(null)\n\nexport default ArrayItemAreaContext\n"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AASrC,MAAMC,oBAAoB,GAAGD,aAAa,CAAuB,IAAI,CAAC;AAEtE,eAAeC,oBAAoB"}
@@ -1,4 +1,5 @@
1
- import { Identifier, Path } from '../../types';
1
+ import { Path } from '../../types';
2
+ import { SharedStateId } from '../../../../shared/helpers/useSharedState';
2
3
  export type Props = {
3
4
  /**
4
5
  * The path (JSON Pointer) to the array or object to count.
@@ -7,7 +8,7 @@ export type Props = {
7
8
  /**
8
9
  * A Form.Handler or DataContext `id` for when called outside of the context.
9
10
  */
10
- id?: Identifier;
11
+ id?: SharedStateId;
11
12
  /**
12
13
  * A filter function to filter the data before counting.
13
14
  */
@@ -15,6 +16,6 @@ export type Props = {
15
16
  };
16
17
  export declare function Count(props: Props): number;
17
18
  export declare function count(props: Props): number;
18
- export declare function useCount(id?: Identifier): {
19
+ export declare function useCount(id?: SharedStateId): {
19
20
  count: (path: Props['path'], filter?: Props['filter']) => number;
20
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Count.js","names":["useCallback","pointer","useData","getData","Count","props","data","id","countData","_ref","path","filter","has","value","get","Array","isArray","length","Object","entries","keys","NaN","count","useCount","arguments","undefined"],"sources":["../../../../../../src/extensions/forms/Iterate/Count/Count.tsx"],"sourcesContent":["import { useCallback } from 'react'\nimport pointer from '../../utils/json-pointer'\nimport { Identifier, Path } from '../../types'\nimport { useData, getData } from '../../Form'\n\nexport type Props = {\n /**\n * The path (JSON Pointer) to the array or object to count.\n */\n path: Path\n\n /**\n * A Form.Handler or DataContext `id` for when called outside of the context.\n */\n id?: Identifier\n\n /**\n * A filter function to filter the data before counting.\n */\n filter?: (item: unknown) => boolean\n}\n\nexport function Count(props: Props) {\n const { data } = useData(props.id)\n return countData(data, props)\n}\n\nfunction countData(data: unknown, { path, filter }: Props) {\n if (pointer.has(data, path)) {\n const value = pointer.get(data, path)\n if (Array.isArray(value)) {\n return filter ? value.filter(filter).length : value.length\n } else if (typeof value === 'object' && value) {\n return filter\n ? Object.entries(value).filter(filter).length\n : Object.keys(value).length\n }\n }\n\n return NaN\n}\n\nexport function count(props: Props) {\n const { data } = getData(props.id)\n return countData(data, props)\n}\n\nexport function useCount(id: Identifier = undefined) {\n const { data } = useData(id)\n\n const count = useCallback(\n (path: Props['path'], filter?: Props['filter']) => {\n return countData(data, { path, filter })\n },\n [data]\n )\n\n return { count }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,OAAOC,OAAO,MAAM,0BAA0B;AAE9C,SAASC,OAAO,EAAEC,OAAO,QAAQ,YAAY;AAmB7C,OAAO,SAASC,KAAKA,CAACC,KAAY,EAAE;EAClC,MAAM;IAAEC;EAAK,CAAC,GAAGJ,OAAO,CAACG,KAAK,CAACE,EAAE,CAAC;EAClC,OAAOC,SAAS,CAACF,IAAI,EAAED,KAAK,CAAC;AAC/B;AAEA,SAASG,SAASA,CAACF,IAAa,EAAAG,IAAA,EAA2B;EAAA,IAAzB;IAAEC,IAAI;IAAEC;EAAc,CAAC,GAAAF,IAAA;EACvD,IAAIR,OAAO,CAACW,GAAG,CAACN,IAAI,EAAEI,IAAI,CAAC,EAAE;IAC3B,MAAMG,KAAK,GAAGZ,OAAO,CAACa,GAAG,CAACR,IAAI,EAAEI,IAAI,CAAC;IACrC,IAAIK,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;MACxB,OAAOF,MAAM,GAAGE,KAAK,CAACF,MAAM,CAACA,MAAM,CAAC,CAACM,MAAM,GAAGJ,KAAK,CAACI,MAAM;IAC5D,CAAC,MAAM,IAAI,OAAOJ,KAAK,KAAK,QAAQ,IAAIA,KAAK,EAAE;MAC7C,OAAOF,MAAM,GACTO,MAAM,CAACC,OAAO,CAACN,KAAK,CAAC,CAACF,MAAM,CAACA,MAAM,CAAC,CAACM,MAAM,GAC3CC,MAAM,CAACE,IAAI,CAACP,KAAK,CAAC,CAACI,MAAM;IAC/B;EACF;EAEA,OAAOI,GAAG;AACZ;AAEA,OAAO,SAASC,KAAKA,CAACjB,KAAY,EAAE;EAClC,MAAM;IAAEC;EAAK,CAAC,GAAGH,OAAO,CAACE,KAAK,CAACE,EAAE,CAAC;EAClC,OAAOC,SAAS,CAACF,IAAI,EAAED,KAAK,CAAC;AAC/B;AAEA,OAAO,SAASkB,QAAQA,CAAA,EAA6B;EAAA,IAA5BhB,EAAc,GAAAiB,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAGC,SAAS;EACjD,MAAM;IAAEnB;EAAK,CAAC,GAAGJ,OAAO,CAACK,EAAE,CAAC;EAE5B,MAAMe,KAAK,GAAGtB,WAAW,CACvB,CAACU,IAAmB,EAAEC,MAAwB,KAAK;IACjD,OAAOH,SAAS,CAACF,IAAI,EAAE;MAAEI,IAAI;MAAEC;IAAO,CAAC,CAAC;EAC1C,CAAC,EACD,CAACL,IAAI,CACP,CAAC;EAED,OAAO;IAAEgB;EAAM,CAAC;AAClB"}
1
+ {"version":3,"file":"Count.js","names":["useCallback","pointer","useData","getData","Count","props","data","id","countData","_ref","path","filter","has","value","get","Array","isArray","length","Object","entries","keys","NaN","count","useCount","arguments","undefined"],"sources":["../../../../../../src/extensions/forms/Iterate/Count/Count.tsx"],"sourcesContent":["import { useCallback } from 'react'\nimport pointer from '../../utils/json-pointer'\nimport { Path } from '../../types'\nimport { useData, getData } from '../../Form'\nimport { SharedStateId } from '../../../../shared/helpers/useSharedState'\n\nexport type Props = {\n /**\n * The path (JSON Pointer) to the array or object to count.\n */\n path: Path\n\n /**\n * A Form.Handler or DataContext `id` for when called outside of the context.\n */\n id?: SharedStateId\n\n /**\n * A filter function to filter the data before counting.\n */\n filter?: (item: unknown) => boolean\n}\n\nexport function Count(props: Props) {\n const { data } = useData(props.id)\n return countData(data, props)\n}\n\nfunction countData(data: unknown, { path, filter }: Props) {\n if (pointer.has(data, path)) {\n const value = pointer.get(data, path)\n if (Array.isArray(value)) {\n return filter ? value.filter(filter).length : value.length\n } else if (typeof value === 'object' && value) {\n return filter\n ? Object.entries(value).filter(filter).length\n : Object.keys(value).length\n }\n }\n\n return NaN\n}\n\nexport function count(props: Props) {\n const { data } = getData(props.id)\n return countData(data, props)\n}\n\nexport function useCount(id: SharedStateId = undefined) {\n const { data } = useData(id)\n\n const count = useCallback(\n (path: Props['path'], filter?: Props['filter']) => {\n return countData(data, { path, filter })\n },\n [data]\n )\n\n return { count }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,OAAOC,OAAO,MAAM,0BAA0B;AAE9C,SAASC,OAAO,EAAEC,OAAO,QAAQ,YAAY;AAoB7C,OAAO,SAASC,KAAKA,CAACC,KAAY,EAAE;EAClC,MAAM;IAAEC;EAAK,CAAC,GAAGJ,OAAO,CAACG,KAAK,CAACE,EAAE,CAAC;EAClC,OAAOC,SAAS,CAACF,IAAI,EAAED,KAAK,CAAC;AAC/B;AAEA,SAASG,SAASA,CAACF,IAAa,EAAAG,IAAA,EAA2B;EAAA,IAAzB;IAAEC,IAAI;IAAEC;EAAc,CAAC,GAAAF,IAAA;EACvD,IAAIR,OAAO,CAACW,GAAG,CAACN,IAAI,EAAEI,IAAI,CAAC,EAAE;IAC3B,MAAMG,KAAK,GAAGZ,OAAO,CAACa,GAAG,CAACR,IAAI,EAAEI,IAAI,CAAC;IACrC,IAAIK,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;MACxB,OAAOF,MAAM,GAAGE,KAAK,CAACF,MAAM,CAACA,MAAM,CAAC,CAACM,MAAM,GAAGJ,KAAK,CAACI,MAAM;IAC5D,CAAC,MAAM,IAAI,OAAOJ,KAAK,KAAK,QAAQ,IAAIA,KAAK,EAAE;MAC7C,OAAOF,MAAM,GACTO,MAAM,CAACC,OAAO,CAACN,KAAK,CAAC,CAACF,MAAM,CAACA,MAAM,CAAC,CAACM,MAAM,GAC3CC,MAAM,CAACE,IAAI,CAACP,KAAK,CAAC,CAACI,MAAM;IAC/B;EACF;EAEA,OAAOI,GAAG;AACZ;AAEA,OAAO,SAASC,KAAKA,CAACjB,KAAY,EAAE;EAClC,MAAM;IAAEC;EAAK,CAAC,GAAGH,OAAO,CAACE,KAAK,CAACE,EAAE,CAAC;EAClC,OAAOC,SAAS,CAACF,IAAI,EAAED,KAAK,CAAC;AAC/B;AAEA,OAAO,SAASkB,QAAQA,CAAA,EAAgC;EAAA,IAA/BhB,EAAiB,GAAAiB,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAGC,SAAS;EACpD,MAAM;IAAEnB;EAAK,CAAC,GAAGJ,OAAO,CAACK,EAAE,CAAC;EAE5B,MAAMe,KAAK,GAAGtB,WAAW,CACvB,CAACU,IAAmB,EAAEC,MAAwB,KAAK;IACjD,OAAOH,SAAS,CAACF,IAAI,EAAE;MAAEI,IAAI;MAAEC;IAAO,CAAC,CAAC;EAC1C,CAAC,EACD,CAACL,IAAI,CACP,CAAC;EAED,OAAO;IAAEgB;EAAM,CAAC;AAClB"}
@@ -21,7 +21,7 @@ export type Props = {
21
21
  /**
22
22
  * The variant of the toolbar.
23
23
  */
24
- toolbarVariant?: 'minimumOneItem';
24
+ toolbarVariant?: ArrayItemAreaProps['toolbarVariant'];
25
25
  };
26
26
  export type AllProps = Props & FlexContainerProps & ArrayItemAreaProps;
27
27
  declare function EditContainer(props: AllProps): import("react/jsx-runtime").JSX.Element;
@@ -4,7 +4,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  var _Toolbar;
6
6
  const _excluded = ["toolbar", "toolbarVariant", "children"],
7
- _excluded2 = ["children", "className", "title", "titleWhenNew", "toolbar"];
7
+ _excluded2 = ["children", "className", "title", "titleWhenNew", "toolbar", "toolbarVariant"];
8
8
  import React, { useContext, useMemo } from 'react';
9
9
  import classnames from 'classnames';
10
10
  import { convertJsxToString } from '../../../../shared/component-helper';
@@ -35,7 +35,8 @@ export default function EditContainer(props) {
35
35
  return (child === null || child === void 0 ? void 0 : child['type']) === Toolbar;
36
36
  });
37
37
  return React.createElement(EditContainerWithoutToolbar, _extends({
38
- toolbar: hasToolbar ? null : (_toolbarElement = toolbarElement) !== null && _toolbarElement !== void 0 ? _toolbarElement : _Toolbar || (_Toolbar = React.createElement(Toolbar, null, React.createElement(DoneButton, null), React.createElement(CancelButton, null)))
38
+ toolbar: hasToolbar ? null : (_toolbarElement = toolbarElement) !== null && _toolbarElement !== void 0 ? _toolbarElement : toolbarVariant !== 'custom' && (_Toolbar || (_Toolbar = React.createElement(Toolbar, null, React.createElement(DoneButton, null), React.createElement(CancelButton, null)))),
39
+ toolbarVariant: toolbarVariant
39
40
  }, rest), children);
40
41
  }
41
42
  export function EditContainerWithoutToolbar(props) {
@@ -51,7 +52,8 @@ export function EditContainerWithoutToolbar(props) {
51
52
  className,
52
53
  title,
53
54
  titleWhenNew,
54
- toolbar
55
+ toolbar,
56
+ toolbarVariant
55
57
  } = _ref,
56
58
  restProps = _objectWithoutProperties(_ref, _excluded2);
57
59
  const wasNew = useWasNew({
@@ -67,7 +69,8 @@ export function EditContainerWithoutToolbar(props) {
67
69
  return React.createElement(ArrayItemArea, _extends({
68
70
  mode: "edit",
69
71
  className: classnames('dnb-forms-section-edit-block', className),
70
- ariaLabel: convertJsxToString(itemTitle)
72
+ ariaLabel: convertJsxToString(itemTitle),
73
+ toolbarVariant: toolbarVariant
71
74
  }, restProps), itemTitle && React.createElement(Lead, {
72
75
  size: "basis"
73
76
  }, itemTitle), children, toolbar);
@@ -1 +1 @@
1
- {"version":3,"file":"EditContainer.js","names":["React","useContext","useMemo","classnames","convertJsxToString","Lead","IterateItemContext","ArrayItemArea","Toolbar","useSwitchContainerMode","DoneButton","CancelButton","useWasNew","replaceItemNo","EditContainer","props","_toolbarElement","toolbar","toolbarVariant","children","rest","_objectWithoutProperties","_excluded","arrayValue","toolbarElement","length","createElement","Fragment","hasToolbar","Children","toArray","some","child","EditContainerWithoutToolbar","_extends","_Toolbar","containerMode","isNew","index","path","_ref","className","title","titleWhenNew","restProps","_excluded2","wasNew","itemTitle","mode","ariaLabel","size","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Lead } from '../../../../elements'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport IterateItemContext from '../IterateItemContext'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport Toolbar from '../Toolbar'\nimport { useSwitchContainerMode } from '../hooks'\nimport DoneButton from './DoneButton'\nimport CancelButton, { useWasNew } from './CancelButton'\nimport { replaceItemNo } from '../ItemNo'\n\nexport type Props = {\n /**\n * The title of the EditContainer.\n */\n title?: React.ReactNode\n\n /**\n * The title for a new item show within the EditContainer.\n */\n titleWhenNew?: React.ReactNode\n\n /**\n * If the EditContainer is open or not.\n */\n open?: boolean\n\n /**\n * An alternative toolbar to be shown in the EditContainer.\n */\n toolbar?: React.ReactNode\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: 'minimumOneItem'\n}\n\nexport type AllProps = Props & FlexContainerProps & ArrayItemAreaProps\n\nexport default function EditContainer(props: AllProps) {\n const { toolbar, toolbarVariant, children, ...rest } = props\n const { arrayValue } = useContext(IterateItemContext)\n\n let toolbarElement = toolbar\n if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {\n toolbarElement = <></>\n }\n\n const hasToolbar =\n !toolbarElement &&\n React.Children.toArray(children).some((child) => {\n return child?.['type'] === Toolbar\n })\n\n return (\n <EditContainerWithoutToolbar\n toolbar={\n hasToolbar\n ? null\n : toolbarElement ?? (\n <Toolbar>\n <DoneButton />\n <CancelButton />\n </Toolbar>\n )\n }\n {...rest}\n >\n {children}\n </EditContainerWithoutToolbar>\n )\n}\n\nexport function EditContainerWithoutToolbar(\n props: Props & FlexContainerProps & { toolbar?: React.ReactNode }\n) {\n const { containerMode, isNew, index, path } =\n useContext(IterateItemContext)\n\n const {\n children,\n className,\n title,\n titleWhenNew,\n toolbar,\n ...restProps\n } = props || {}\n\n const wasNew = useWasNew({ isNew, containerMode })\n const itemTitle = useMemo(() => {\n return replaceItemNo(\n wasNew && titleWhenNew ? titleWhenNew : title,\n index\n )\n }, [index, title, titleWhenNew, wasNew])\n\n useSwitchContainerMode({ path })\n\n return (\n <ArrayItemArea\n mode=\"edit\"\n className={classnames('dnb-forms-section-edit-block', className)}\n ariaLabel={convertJsxToString(itemTitle)}\n {...restProps}\n >\n {itemTitle && <Lead size=\"basis\">{itemTitle}</Lead>}\n {children}\n {toolbar}\n </ArrayItemArea>\n )\n}\n\nEditContainer.DoneButton = DoneButton\nEditContainer.CancelButton = CancelButton\n\nEditContainer._supportsSpacingProps = true\nEditContainerWithoutToolbar._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"EditContainer.js","names":["React","useContext","useMemo","classnames","convertJsxToString","Lead","IterateItemContext","ArrayItemArea","Toolbar","useSwitchContainerMode","DoneButton","CancelButton","useWasNew","replaceItemNo","EditContainer","props","_toolbarElement","toolbar","toolbarVariant","children","rest","_objectWithoutProperties","_excluded","arrayValue","toolbarElement","length","createElement","Fragment","hasToolbar","Children","toArray","some","child","EditContainerWithoutToolbar","_extends","_Toolbar","containerMode","isNew","index","path","_ref","className","title","titleWhenNew","restProps","_excluded2","wasNew","itemTitle","mode","ariaLabel","size","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainer.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Lead } from '../../../../elements'\nimport { Props as FlexContainerProps } from '../../../../components/flex/Container'\nimport IterateItemContext from '../IterateItemContext'\nimport ArrayItemArea, { ArrayItemAreaProps } from '../Array/ArrayItemArea'\nimport Toolbar from '../Toolbar'\nimport { useSwitchContainerMode } from '../hooks'\nimport DoneButton from './DoneButton'\nimport CancelButton, { useWasNew } from './CancelButton'\nimport { replaceItemNo } from '../ItemNo'\n\nexport type Props = {\n /**\n * The title of the EditContainer.\n */\n title?: React.ReactNode\n\n /**\n * The title for a new item show within the EditContainer.\n */\n titleWhenNew?: React.ReactNode\n\n /**\n * If the EditContainer is open or not.\n */\n open?: boolean\n\n /**\n * An alternative toolbar to be shown in the EditContainer.\n */\n toolbar?: React.ReactNode\n\n /**\n * The variant of the toolbar.\n */\n toolbarVariant?: ArrayItemAreaProps['toolbarVariant']\n}\n\nexport type AllProps = Props & FlexContainerProps & ArrayItemAreaProps\n\nexport default function EditContainer(props: AllProps) {\n const { toolbar, toolbarVariant, children, ...rest } = props\n const { arrayValue } = useContext(IterateItemContext)\n\n let toolbarElement = toolbar\n if (toolbarVariant === 'minimumOneItem' && arrayValue.length <= 1) {\n toolbarElement = <></>\n }\n\n const hasToolbar =\n !toolbarElement &&\n React.Children.toArray(children).some((child) => {\n return child?.['type'] === Toolbar\n })\n\n return (\n <EditContainerWithoutToolbar\n toolbar={\n hasToolbar\n ? null\n : toolbarElement ??\n (toolbarVariant !== 'custom' && (\n <Toolbar>\n <DoneButton />\n <CancelButton />\n </Toolbar>\n ))\n }\n toolbarVariant={toolbarVariant}\n {...rest}\n >\n {children}\n </EditContainerWithoutToolbar>\n )\n}\n\nexport function EditContainerWithoutToolbar(\n props: Props & FlexContainerProps & { toolbar?: React.ReactNode }\n) {\n const { containerMode, isNew, index, path } =\n useContext(IterateItemContext)\n\n const {\n children,\n className,\n title,\n titleWhenNew,\n toolbar,\n toolbarVariant,\n ...restProps\n } = props || {}\n\n const wasNew = useWasNew({ isNew, containerMode })\n const itemTitle = useMemo(() => {\n return replaceItemNo(\n wasNew && titleWhenNew ? titleWhenNew : title,\n index\n )\n }, [index, title, titleWhenNew, wasNew])\n\n useSwitchContainerMode({ path })\n\n return (\n <ArrayItemArea\n mode=\"edit\"\n className={classnames('dnb-forms-section-edit-block', className)}\n ariaLabel={convertJsxToString(itemTitle)}\n toolbarVariant={toolbarVariant}\n {...restProps}\n >\n {itemTitle && <Lead size=\"basis\">{itemTitle}</Lead>}\n {children}\n {toolbar}\n </ArrayItemArea>\n )\n}\n\nEditContainer.DoneButton = DoneButton\nEditContainer.CancelButton = CancelButton\n\nEditContainer._supportsSpacingProps = true\nEditContainerWithoutToolbar._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -10,7 +10,7 @@ export const EditContainerProperties = {
10
10
  status: 'optional'
11
11
  },
12
12
  variant: {
13
- doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',
13
+ doc: 'Defines the variant of the container. Can be `outline`, `filled` or `basic`. Defaults to `outline`.',
14
14
  type: 'string',
15
15
  status: 'optional'
16
16
  },
@@ -20,7 +20,7 @@ export const EditContainerProperties = {
20
20
  status: 'optional'
21
21
  },
22
22
  toolbarVariant: {
23
- doc: 'Use variants to render the toolbar differently. Currently there is only the `minimumOneItem` variant. See the info section for more info.',
23
+ doc: 'Use variants to render the toolbar differently. Currently there are the `minimumOneItem` and `custom` variants. See the info section for more info.',
24
24
  type: 'string',
25
25
  status: 'optional'
26
26
  },
@@ -1 +1 @@
1
- {"version":3,"file":"EditContainerDocs.js","names":["EditContainerProperties","title","doc","type","status","titleWhenNew","variant","toolbar","toolbarVariant","open","EditContainerEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const EditContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n titleWhenNew: {\n doc: 'The title for a new item.',\n type: 'React.Node',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n toolbar: {\n doc: 'An alternative toolbar to be shown in the container.',\n type: 'React.Node',\n status: 'optional',\n },\n toolbarVariant: {\n doc: 'Use variants to render the toolbar differently. Currently there is only the `minimumOneItem` variant. See the info section for more info.',\n type: 'string',\n status: 'optional',\n },\n open: {\n doc: 'If the container should be open or not. This is taken care of internally by default.',\n type: 'boolean',\n status: 'optional',\n },\n '[FlexVertical](/uilib/layout/flex/container/properties)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const EditContainerEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,YAAY,EAAE;IACZH,GAAG,EAAE,2BAA2B;IAChCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,OAAO,EAAE;IACPL,GAAG,EAAE,sDAAsD;IAC3DC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDI,cAAc,EAAE;IACdN,GAAG,EAAE,2IAA2I;IAChJC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,sFAAsF;IAC3FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yDAAyD,EAAE;IACzDF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMM,mBAAyC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"EditContainerDocs.js","names":["EditContainerProperties","title","doc","type","status","titleWhenNew","variant","toolbar","toolbarVariant","open","EditContainerEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/EditContainer/EditContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const EditContainerProperties: PropertiesTableProps = {\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n titleWhenNew: {\n doc: 'The title for a new item.',\n type: 'React.Node',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline`, `filled` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n toolbar: {\n doc: 'An alternative toolbar to be shown in the container.',\n type: 'React.Node',\n status: 'optional',\n },\n toolbarVariant: {\n doc: 'Use variants to render the toolbar differently. Currently there are the `minimumOneItem` and `custom` variants. See the info section for more info.',\n type: 'string',\n status: 'optional',\n },\n open: {\n doc: 'If the container should be open or not. This is taken care of internally by default.',\n type: 'boolean',\n status: 'optional',\n },\n '[FlexVertical](/uilib/layout/flex/container/properties)': {\n doc: 'All Flex.Vertical properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const EditContainerEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,uBAA6C,GAAG;EAC3DC,KAAK,EAAE;IACLC,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDC,YAAY,EAAE;IACZH,GAAG,EAAE,2BAA2B;IAChCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDE,OAAO,EAAE;IACPJ,GAAG,EAAE,qGAAqG;IAC1GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,OAAO,EAAE;IACPL,GAAG,EAAE,sDAAsD;IAC3DC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDI,cAAc,EAAE;IACdN,GAAG,EAAE,qJAAqJ;IAC1JC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,sFAAsF;IAC3FC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,yDAAyD,EAAE;IACzDF,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMM,mBAAyC,GAAG,CAAC,CAAC"}
@@ -41,7 +41,7 @@ export const PushContainerProperties = {
41
41
  status: 'optional'
42
42
  },
43
43
  variant: {
44
- doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',
44
+ doc: 'Defines the variant of the container. Can be `outline`, `filled` or `basic`. Defaults to `outline`.',
45
45
  type: 'string',
46
46
  status: 'optional'
47
47
  },
@@ -1 +1 @@
1
- {"version":3,"file":"PushContainerDocs.js","names":["IsolationEvents","PushContainerProperties","path","doc","type","status","title","data","defaultData","isolatedData","bubbleValidation","openButton","showOpenButtonWhen","variant","toolbar","children","PushContainerEvents","onCommit"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { IsolationEvents } from '../../Form/Isolation/IsolationDocs'\n\nexport const PushContainerProperties: PropertiesTableProps = {\n path: {\n doc: 'The path to the array to add the new item to.',\n type: 'string',\n status: 'required',\n },\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n data: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`. Use `defaultData` when possible.',\n type: ['object', 'array'],\n status: 'optional',\n },\n defaultData: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`',\n type: ['object', 'array'],\n status: 'optional',\n },\n isolatedData: {\n doc: 'Provide additional data that will be put into the root of the isolated data context (parallel to `/pushContainerItems/0`).',\n type: 'object',\n status: 'optional',\n },\n bubbleValidation: {\n doc: 'Prevent the form from being submitted when there are fields with errors inside the PushContainer.',\n type: 'boolean',\n status: 'optional',\n },\n openButton: {\n doc: 'The button to open container.',\n type: 'React.Node',\n status: 'optional',\n },\n showOpenButtonWhen: {\n doc: 'Define when the \"open button\" should be shown. Should be a function that returns a boolean.',\n type: 'function',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n toolbar: {\n doc: 'A custom toolbar to be shown below the container.',\n type: 'React.Node',\n status: 'optional',\n },\n children: {\n doc: 'The container contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const PushContainerEvents: PropertiesTableProps = {\n onCommit: IsolationEvents.onCommit,\n}\n"],"mappings":"AACA,SAASA,eAAe,QAAQ,oCAAoC;AAEpE,OAAO,MAAMC,uBAA6C,GAAG;EAC3DC,IAAI,EAAE;IACJC,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDE,IAAI,EAAE;IACJJ,GAAG,EAAE,qIAAqI;IAC1IC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDG,WAAW,EAAE;IACXL,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDI,YAAY,EAAE;IACZN,GAAG,EAAE,4HAA4H;IACjIC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,gBAAgB,EAAE;IAChBP,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDM,UAAU,EAAE;IACVR,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDO,kBAAkB,EAAE;IAClBT,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDQ,OAAO,EAAE;IACPV,GAAG,EAAE,2FAA2F;IAChGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDU,QAAQ,EAAE;IACRZ,GAAG,EAAE,yBAAyB;IAC9BC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMW,mBAAyC,GAAG;EACvDC,QAAQ,EAAEjB,eAAe,CAACiB;AAC5B,CAAC"}
1
+ {"version":3,"file":"PushContainerDocs.js","names":["IsolationEvents","PushContainerProperties","path","doc","type","status","title","data","defaultData","isolatedData","bubbleValidation","openButton","showOpenButtonWhen","variant","toolbar","children","PushContainerEvents","onCommit"],"sources":["../../../../../../src/extensions/forms/Iterate/PushContainer/PushContainerDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { IsolationEvents } from '../../Form/Isolation/IsolationDocs'\n\nexport const PushContainerProperties: PropertiesTableProps = {\n path: {\n doc: 'The path to the array to add the new item to.',\n type: 'string',\n status: 'required',\n },\n title: {\n doc: 'The title of the container.',\n type: 'React.Node',\n status: 'optional',\n },\n data: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`. Use `defaultData` when possible.',\n type: ['object', 'array'],\n status: 'optional',\n },\n defaultData: {\n doc: 'Prefilled data to be used by fields. The data will be put into this path: `/pushContainerItems/0`',\n type: ['object', 'array'],\n status: 'optional',\n },\n isolatedData: {\n doc: 'Provide additional data that will be put into the root of the isolated data context (parallel to `/pushContainerItems/0`).',\n type: 'object',\n status: 'optional',\n },\n bubbleValidation: {\n doc: 'Prevent the form from being submitted when there are fields with errors inside the PushContainer.',\n type: 'boolean',\n status: 'optional',\n },\n openButton: {\n doc: 'The button to open container.',\n type: 'React.Node',\n status: 'optional',\n },\n showOpenButtonWhen: {\n doc: 'Define when the \"open button\" should be shown. Should be a function that returns a boolean.',\n type: 'function',\n status: 'optional',\n },\n variant: {\n doc: 'Defines the variant of the container. Can be `outline`, `filled` or `basic`. Defaults to `outline`.',\n type: 'string',\n status: 'optional',\n },\n toolbar: {\n doc: 'A custom toolbar to be shown below the container.',\n type: 'React.Node',\n status: 'optional',\n },\n children: {\n doc: 'The container contents.',\n type: 'React.Node',\n status: 'required',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const PushContainerEvents: PropertiesTableProps = {\n onCommit: IsolationEvents.onCommit,\n}\n"],"mappings":"AACA,SAASA,eAAe,QAAQ,oCAAoC;AAEpE,OAAO,MAAMC,uBAA6C,GAAG;EAC3DC,IAAI,EAAE;IACJC,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,6BAA6B;IAClCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDE,IAAI,EAAE;IACJJ,GAAG,EAAE,qIAAqI;IAC1IC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDG,WAAW,EAAE;IACXL,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDI,YAAY,EAAE;IACZN,GAAG,EAAE,4HAA4H;IACjIC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,gBAAgB,EAAE;IAChBP,GAAG,EAAE,mGAAmG;IACxGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDM,UAAU,EAAE;IACVR,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDO,kBAAkB,EAAE;IAClBT,GAAG,EAAE,6FAA6F;IAClGC,IAAI,EAAE,UAAU;IAChBC,MAAM,EAAE;EACV,CAAC;EACDQ,OAAO,EAAE;IACPV,GAAG,EAAE,qGAAqG;IAC1GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACDU,QAAQ,EAAE;IACRZ,GAAG,EAAE,yBAAyB;IAC9BC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMW,mBAAyC,GAAG;EACvDC,QAAQ,EAAEjB,eAAe,CAACiB;AAC5B,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { ButtonProps } from '../../../../components/Button';
2
2
  import { DataValueReadWriteComponentProps } from '../../types';
3
- export type Props = ButtonProps & DataValueReadWriteComponentProps<unknown[]>;
3
+ export type Props = ButtonProps & DataValueReadWriteComponentProps<unknown[]> & {
4
+ showConfirmDialog?: boolean;
5
+ };
4
6
  declare function RemoveButton(props: Props): import("react/jsx-runtime").JSX.Element;
5
7
  declare namespace RemoveButton {
6
8
  var _supportsSpacingProps: boolean;
@@ -1,11 +1,14 @@
1
1
  "use client";
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- const _excluded = ["text", "children", "className"];
6
+ const _excluded = ["text", "children", "className", "showConfirmDialog"];
7
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
9
  import React, { useCallback, useContext } from 'react';
7
10
  import classnames from 'classnames';
8
- import { Button } from '../../../../components';
11
+ import { Button, Dialog } from '../../../../components';
9
12
  import IterateItemContext from '../IterateItemContext';
10
13
  import { useTranslation } from '../../hooks';
11
14
  import ArrayItemAreaContext from '../Array/ArrayItemAreaContext';
@@ -22,7 +25,8 @@ function RemoveButton(props) {
22
25
  const {
23
26
  text,
24
27
  children,
25
- className
28
+ className,
29
+ showConfirmDialog
26
30
  } = props,
27
31
  restProps = _objectWithoutProperties(props, _excluded);
28
32
  const buttonProps = omitDataValueReadWriteProps(restProps);
@@ -32,20 +36,35 @@ function RemoveButton(props) {
32
36
  const {
33
37
  handleRemoveItem
34
38
  } = elementBlockContext || {};
35
- const handleClick = useCallback(() => {
39
+ const handleClick = useCallback(_ref => {
40
+ let {
41
+ close
42
+ } = _ref;
43
+ close === null || close === void 0 ? void 0 : close();
36
44
  if (handleRemoveItem) {
37
45
  handleRemoveItem === null || handleRemoveItem === void 0 ? void 0 : handleRemoveItem();
38
46
  } else {
39
47
  handleRemove === null || handleRemove === void 0 ? void 0 : handleRemove();
40
48
  }
41
49
  }, [handleRemove, handleRemoveItem]);
42
- return React.createElement(Button, _extends({
50
+ const triggerAttributes = _objectSpread({
43
51
  className: classnames('dnb-forms-iterate-remove-element-button', className),
52
+ text: textContent,
44
53
  variant: textContent ? 'tertiary' : 'secondary',
45
54
  icon: trash,
46
- icon_position: "left",
55
+ icon_position: 'left'
56
+ }, buttonProps);
57
+ if (showConfirmDialog) {
58
+ return React.createElement(Dialog, {
59
+ variant: "confirmation",
60
+ title: translation.confirmRemoveText,
61
+ triggerAttributes: triggerAttributes,
62
+ onConfirm: handleClick
63
+ });
64
+ }
65
+ return React.createElement(Button, _extends({}, triggerAttributes, {
47
66
  on_click: handleClick
48
- }, buttonProps), textContent);
67
+ }, buttonProps));
49
68
  }
50
69
  RemoveButton._supportsSpacingProps = true;
51
70
  export default RemoveButton;
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveButton.js","names":["React","useCallback","useContext","classnames","Button","IterateItemContext","useTranslation","ArrayItemAreaContext","omitDataValueReadWriteProps","trash","RemoveButton","props","iterateItemContext","handleRemove","Error","text","children","className","restProps","_objectWithoutProperties","_excluded","buttonProps","translation","textContent","elementBlockContext","handleRemoveItem","handleClick","createElement","_extends","variant","icon","icon_position","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/RemoveButton/RemoveButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateItemContext from '../IterateItemContext'\nimport { useTranslation } from '../../hooks'\nimport ArrayItemAreaContext from '../Array/ArrayItemAreaContext'\nimport {\n DataValueReadWriteComponentProps,\n omitDataValueReadWriteProps,\n} from '../../types'\nimport { trash } from '../../../../icons'\n\nexport type Props = ButtonProps &\n DataValueReadWriteComponentProps<unknown[]>\n\nfunction RemoveButton(props: Props) {\n const iterateItemContext = useContext(IterateItemContext)\n const { handleRemove } = iterateItemContext || {}\n\n if (!iterateItemContext) {\n throw new Error('RemoveButton must be inside an Iterate.Array')\n }\n\n const { text, children, className, ...restProps } = props\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const translation = useTranslation().RemoveButton\n const textContent = text || children || translation.text\n\n const elementBlockContext = useContext(ArrayItemAreaContext)\n const { handleRemoveItem } = elementBlockContext || {}\n\n const handleClick = useCallback(() => {\n if (handleRemoveItem) {\n handleRemoveItem?.()\n } else {\n handleRemove?.()\n }\n }, [handleRemove, handleRemoveItem])\n\n return (\n <Button\n className={classnames(\n 'dnb-forms-iterate-remove-element-button',\n className\n )}\n variant={textContent ? 'tertiary' : 'secondary'}\n icon={trash}\n icon_position=\"left\"\n on_click={handleClick}\n {...buttonProps}\n >\n {textContent}\n </Button>\n )\n}\n\nRemoveButton._supportsSpacingProps = true\nexport default RemoveButton\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,SAASC,cAAc,QAAQ,aAAa;AAC5C,OAAOC,oBAAoB,MAAM,+BAA+B;AAChE,SAEEC,2BAA2B,QACtB,aAAa;AACpB,SAASC,KAAK,QAAQ,mBAAmB;AAKzC,SAASC,YAAYA,CAACC,KAAY,EAAE;EAClC,MAAMC,kBAAkB,GAAGV,UAAU,CAACG,kBAAkB,CAAC;EACzD,MAAM;IAAEQ;EAAa,CAAC,GAAGD,kBAAkB,IAAI,CAAC,CAAC;EAEjD,IAAI,CAACA,kBAAkB,EAAE;IACvB,MAAM,IAAIE,KAAK,CAAC,8CAA8C,CAAC;EACjE;EAEA,MAAM;MAAEC,IAAI;MAAEC,QAAQ;MAAEC;IAAwB,CAAC,GAAGN,KAAK;IAAnBO,SAAS,GAAAC,wBAAA,CAAKR,KAAK,EAAAS,SAAA;EACzD,MAAMC,WAAW,GAAGb,2BAA2B,CAACU,SAAS,CAAC;EAC1D,MAAMI,WAAW,GAAGhB,cAAc,CAAC,CAAC,CAACI,YAAY;EACjD,MAAMa,WAAW,GAAGR,IAAI,IAAIC,QAAQ,IAAIM,WAAW,CAACP,IAAI;EAExD,MAAMS,mBAAmB,GAAGtB,UAAU,CAACK,oBAAoB,CAAC;EAC5D,MAAM;IAAEkB;EAAiB,CAAC,GAAGD,mBAAmB,IAAI,CAAC,CAAC;EAEtD,MAAME,WAAW,GAAGzB,WAAW,CAAC,MAAM;IACpC,IAAIwB,gBAAgB,EAAE;MACpBA,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAG,CAAC;IACtB,CAAC,MAAM;MACLZ,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG,CAAC;IAClB;EACF,CAAC,EAAE,CAACA,YAAY,EAAEY,gBAAgB,CAAC,CAAC;EAEpC,OACEzB,KAAA,CAAA2B,aAAA,CAACvB,MAAM,EAAAwB,QAAA;IACLX,SAAS,EAAEd,UAAU,CACnB,yCAAyC,EACzCc,SACF,CAAE;IACFY,OAAO,EAAEN,WAAW,GAAG,UAAU,GAAG,WAAY;IAChDO,IAAI,EAAErB,KAAM;IACZsB,aAAa,EAAC,MAAM;IACpBC,QAAQ,EAAEN;EAAY,GAClBL,WAAW,GAEdE,WACK,CAAC;AAEb;AAEAb,YAAY,CAACuB,qBAAqB,GAAG,IAAI;AACzC,eAAevB,YAAY"}
1
+ {"version":3,"file":"RemoveButton.js","names":["React","useCallback","useContext","classnames","Button","Dialog","IterateItemContext","useTranslation","ArrayItemAreaContext","omitDataValueReadWriteProps","trash","RemoveButton","props","iterateItemContext","handleRemove","Error","text","children","className","showConfirmDialog","restProps","_objectWithoutProperties","_excluded","buttonProps","translation","textContent","elementBlockContext","handleRemoveItem","handleClick","_ref","close","triggerAttributes","_objectSpread","variant","icon","icon_position","createElement","title","confirmRemoveText","onConfirm","_extends","on_click","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Iterate/RemoveButton/RemoveButton.tsx"],"sourcesContent":["import React, { useCallback, useContext } from 'react'\nimport classnames from 'classnames'\nimport { Button, Dialog } from '../../../../components'\nimport { ButtonProps } from '../../../../components/Button'\nimport IterateItemContext from '../IterateItemContext'\nimport { useTranslation } from '../../hooks'\nimport ArrayItemAreaContext from '../Array/ArrayItemAreaContext'\nimport {\n DataValueReadWriteComponentProps,\n omitDataValueReadWriteProps,\n} from '../../types'\nimport { trash } from '../../../../icons'\n\nexport type Props = ButtonProps &\n DataValueReadWriteComponentProps<unknown[]> & {\n showConfirmDialog?: boolean\n }\n\nfunction RemoveButton(props: Props) {\n const iterateItemContext = useContext(IterateItemContext)\n const { handleRemove } = iterateItemContext || {}\n\n if (!iterateItemContext) {\n throw new Error('RemoveButton must be inside an Iterate.Array')\n }\n\n const { text, children, className, showConfirmDialog, ...restProps } =\n props\n const buttonProps = omitDataValueReadWriteProps(restProps)\n const translation = useTranslation().RemoveButton\n const textContent = text || children || translation.text\n\n const elementBlockContext = useContext(ArrayItemAreaContext)\n const { handleRemoveItem } = elementBlockContext || {}\n\n const handleClick = useCallback(\n ({ close }) => {\n close?.()\n\n if (handleRemoveItem) {\n handleRemoveItem?.()\n } else {\n handleRemove?.()\n }\n },\n [handleRemove, handleRemoveItem]\n )\n\n const triggerAttributes: ButtonProps = {\n className: classnames(\n 'dnb-forms-iterate-remove-element-button',\n className\n ),\n text: textContent,\n variant: textContent ? 'tertiary' : 'secondary',\n icon: trash,\n icon_position: 'left',\n ...buttonProps,\n }\n\n if (showConfirmDialog) {\n return (\n <Dialog\n variant=\"confirmation\"\n title={translation.confirmRemoveText}\n triggerAttributes={triggerAttributes}\n onConfirm={handleClick}\n />\n )\n }\n\n return (\n <Button\n {...triggerAttributes}\n on_click={handleClick}\n {...buttonProps}\n />\n )\n}\n\nRemoveButton._supportsSpacingProps = true\nexport default RemoveButton\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,QAAQ,OAAO;AACtD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,EAAEC,MAAM,QAAQ,wBAAwB;AAEvD,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,SAASC,cAAc,QAAQ,aAAa;AAC5C,OAAOC,oBAAoB,MAAM,+BAA+B;AAChE,SAEEC,2BAA2B,QACtB,aAAa;AACpB,SAASC,KAAK,QAAQ,mBAAmB;AAOzC,SAASC,YAAYA,CAACC,KAAY,EAAE;EAClC,MAAMC,kBAAkB,GAAGX,UAAU,CAACI,kBAAkB,CAAC;EACzD,MAAM;IAAEQ;EAAa,CAAC,GAAGD,kBAAkB,IAAI,CAAC,CAAC;EAEjD,IAAI,CAACA,kBAAkB,EAAE;IACvB,MAAM,IAAIE,KAAK,CAAC,8CAA8C,CAAC;EACjE;EAEA,MAAM;MAAEC,IAAI;MAAEC,QAAQ;MAAEC,SAAS;MAAEC;IAAgC,CAAC,GAClEP,KAAK;IADkDQ,SAAS,GAAAC,wBAAA,CAChET,KAAK,EAAAU,SAAA;EACP,MAAMC,WAAW,GAAGd,2BAA2B,CAACW,SAAS,CAAC;EAC1D,MAAMI,WAAW,GAAGjB,cAAc,CAAC,CAAC,CAACI,YAAY;EACjD,MAAMc,WAAW,GAAGT,IAAI,IAAIC,QAAQ,IAAIO,WAAW,CAACR,IAAI;EAExD,MAAMU,mBAAmB,GAAGxB,UAAU,CAACM,oBAAoB,CAAC;EAC5D,MAAM;IAAEmB;EAAiB,CAAC,GAAGD,mBAAmB,IAAI,CAAC,CAAC;EAEtD,MAAME,WAAW,GAAG3B,WAAW,CAC7B4B,IAAA,IAAe;IAAA,IAAd;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACRC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAG,CAAC;IAET,IAAIH,gBAAgB,EAAE;MACpBA,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAG,CAAC;IACtB,CAAC,MAAM;MACLb,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAG,CAAC;IAClB;EACF,CAAC,EACD,CAACA,YAAY,EAAEa,gBAAgB,CACjC,CAAC;EAED,MAAMI,iBAA8B,GAAAC,aAAA;IAClCd,SAAS,EAAEf,UAAU,CACnB,yCAAyC,EACzCe,SACF,CAAC;IACDF,IAAI,EAAES,WAAW;IACjBQ,OAAO,EAAER,WAAW,GAAG,UAAU,GAAG,WAAW;IAC/CS,IAAI,EAAExB,KAAK;IACXyB,aAAa,EAAE;EAAM,GAClBZ,WAAW,CACf;EAED,IAAIJ,iBAAiB,EAAE;IACrB,OACEnB,KAAA,CAAAoC,aAAA,CAAC/B,MAAM;MACL4B,OAAO,EAAC,cAAc;MACtBI,KAAK,EAAEb,WAAW,CAACc,iBAAkB;MACrCP,iBAAiB,EAAEA,iBAAkB;MACrCQ,SAAS,EAAEX;IAAY,CACxB,CAAC;EAEN;EAEA,OACE5B,KAAA,CAAAoC,aAAA,CAAChC,MAAM,EAAAoC,QAAA,KACDT,iBAAiB;IACrBU,QAAQ,EAAEb;EAAY,GAClBL,WAAW,CAChB,CAAC;AAEN;AAEAZ,YAAY,CAAC+B,qBAAqB,GAAG,IAAI;AACzC,eAAe/B,YAAY"}
@@ -1,4 +1,9 @@
1
1
  export const RemoveButtonProperties = {
2
+ showConfirmDialog: {
3
+ doc: 'Use `true` to show a confirmation dialog before removing the item.',
4
+ type: 'boolean',
5
+ status: 'optional'
6
+ },
2
7
  '[Button](/uilib/components/button/properties)': {
3
8
  doc: 'All button properties.',
4
9
  type: 'Various',
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveButtonDocs.js","names":["RemoveButtonProperties","doc","type","status","RemoveButtonEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const RemoveButtonProperties: PropertiesTableProps = {\n '[Button](/uilib/components/button/properties)': {\n doc: 'All button properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const RemoveButtonEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,sBAA4C,GAAG;EAC1D,+CAA+C,EAAE;IAC/CC,GAAG,EAAE,wBAAwB;IAC7BC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMC,kBAAwC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"RemoveButtonDocs.js","names":["RemoveButtonProperties","showConfirmDialog","doc","type","status","RemoveButtonEvents"],"sources":["../../../../../../src/extensions/forms/Iterate/RemoveButton/RemoveButtonDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const RemoveButtonProperties: PropertiesTableProps = {\n showConfirmDialog: {\n doc: 'Use `true` to show a confirmation dialog before removing the item.',\n type: 'boolean',\n status: 'optional',\n },\n '[Button](/uilib/components/button/properties)': {\n doc: 'All button properties.',\n type: 'Various',\n status: 'optional',\n },\n}\n\nexport const RemoveButtonEvents: PropertiesTableProps = {}\n"],"mappings":"AAEA,OAAO,MAAMA,sBAA4C,GAAG;EAC1DC,iBAAiB,EAAE;IACjBC,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACD,+CAA+C,EAAE;IAC/CF,GAAG,EAAE,wBAAwB;IAC7BC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMC,kBAAwC,GAAG,CAAC,CAAC"}
@@ -11,6 +11,7 @@ import { Flex, FormStatus, Space } from '../../../../components';
11
11
  import IterateItemContext from '../IterateItemContext';
12
12
  import ToolbarContext from './ToolbarContext';
13
13
  import FieldBoundaryContext from '../../DataContext/FieldBoundary/FieldBoundaryContext';
14
+ import ArrayItemAreaContext from '../Array/ArrayItemAreaContext';
14
15
  import { useTranslation } from '../../hooks';
15
16
  export default function Toolbar() {
16
17
  let _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -24,6 +25,9 @@ export default function Toolbar() {
24
25
  value,
25
26
  arrayValue: items
26
27
  } = useContext(IterateItemContext) || {};
28
+ const {
29
+ toolbarVariant
30
+ } = useContext(ArrayItemAreaContext) || {};
27
31
  const {
28
32
  errorInContainer
29
33
  } = useTranslation().IterateEditContainer;
@@ -49,16 +53,16 @@ export default function Toolbar() {
49
53
  return React.createElement(React.Fragment, null);
50
54
  }
51
55
  return React.createElement(Space, _extends({
52
- top: "medium",
56
+ top: toolbarVariant === 'custom' ? false : 'medium',
53
57
  className: classnames('dnb-forms-iterate-toolbar', className)
54
- }, rest), _Hr || (_Hr = React.createElement(Hr, {
58
+ }, rest), toolbarVariant !== 'custom' && (_Hr || (_Hr = React.createElement(Hr, {
55
59
  space: 0
56
- })), React.createElement(ToolbarContext.Provider, {
60
+ }))), React.createElement(ToolbarContext.Provider, {
57
61
  value: {
58
62
  setShowError
59
63
  }
60
64
  }, React.createElement(Flex.Horizontal, {
61
- top: "x-small",
65
+ top: toolbarVariant === 'custom' ? false : 'x-small',
62
66
  gap: "large"
63
67
  }, children)), React.createElement(FormStatus, {
64
68
  show: showError && hasVisibleError,