@dnb/eufemia 10.56.0 → 10.57.1

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 (949) hide show
  1. package/CHANGELOG.md +41 -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/autocomplete/Autocomplete.js.map +1 -1
  274. package/cjs/components/autocomplete/AutocompleteDocs.js +1 -1
  275. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
  276. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +2 -2
  277. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  278. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +2 -2
  279. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  280. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  281. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  282. package/cjs/components/card/Card.d.ts +2 -1
  283. package/cjs/components/card/Card.js +3 -1
  284. package/cjs/components/card/Card.js.map +1 -1
  285. package/cjs/components/card/CardDocs.js +5 -0
  286. package/cjs/components/card/CardDocs.js.map +1 -1
  287. package/cjs/components/card/style/dnb-card.css +17 -10
  288. package/cjs/components/card/style/dnb-card.min.css +1 -1
  289. package/cjs/components/card/style/dnb-card.scss +26 -7
  290. package/cjs/components/country-flag/style/dnb-country-flag-icons.css +280 -272
  291. package/cjs/components/country-flag/style/dnb-country-flag-icons.min.css +1 -1
  292. package/cjs/components/country-flag/style/dnb-country-flag-icons.scss +280 -272
  293. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  294. package/cjs/components/help-button/HelpButtonInline.d.ts +3 -0
  295. package/cjs/components/help-button/HelpButtonInline.js +8 -4
  296. package/cjs/components/help-button/HelpButtonInline.js.map +1 -1
  297. package/cjs/components/help-button/style/dnb-help-button-inline.css +6 -5
  298. package/cjs/components/help-button/style/dnb-help-button-inline.min.css +1 -1
  299. package/cjs/components/help-button/style/dnb-help-button-inline.scss +6 -11
  300. package/cjs/components/help-button/style/dnb-help-button.css +6 -5
  301. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
  302. package/cjs/components/icon/Icon.js +5 -0
  303. package/cjs/components/icon/Icon.js.map +1 -1
  304. package/cjs/components/modal/parts/ModalHeader.d.ts +2 -1
  305. package/cjs/components/modal/parts/ModalHeader.js.map +1 -1
  306. package/cjs/components/section/Section.d.ts +5 -0
  307. package/cjs/components/section/Section.js +4 -3
  308. package/cjs/components/section/Section.js.map +1 -1
  309. package/cjs/components/section/SectionDocs.d.ts +2 -0
  310. package/cjs/components/section/SectionDocs.js +65 -0
  311. package/cjs/components/section/SectionDocs.js.map +1 -0
  312. package/cjs/components/section/style/dnb-section.css +12 -0
  313. package/cjs/components/section/style/dnb-section.min.css +3 -3
  314. package/cjs/components/section/style/dnb-section.scss +22 -0
  315. package/cjs/core/jest/jestSetupScreenshots.css +11 -1
  316. package/cjs/elements/lib.d.ts +10 -1
  317. package/cjs/elements/span/Span.d.ts +13 -4
  318. package/cjs/elements/span/Span.js +3 -3
  319. package/cjs/elements/span/Span.js.map +1 -1
  320. package/cjs/elements/span/SpanDocs.d.ts +2 -0
  321. package/cjs/elements/span/SpanDocs.js +15 -0
  322. package/cjs/elements/span/SpanDocs.js.map +1 -0
  323. package/cjs/elements/typography/Ingress.js +1 -1
  324. package/cjs/elements/typography/Ingress.js.map +1 -1
  325. package/cjs/elements/typography/P.d.ts +10 -16
  326. package/cjs/elements/typography/P.js +54 -24
  327. package/cjs/elements/typography/P.js.map +1 -1
  328. package/cjs/elements/typography/PDocs.js +14 -23
  329. package/cjs/elements/typography/PDocs.js.map +1 -1
  330. package/cjs/elements/typography/Typography.d.ts +55 -0
  331. package/cjs/elements/typography/Typography.js +37 -0
  332. package/cjs/elements/typography/Typography.js.map +1 -0
  333. package/cjs/elements/typography/TypographyDocs.d.ts +2 -0
  334. package/cjs/elements/typography/TypographyDocs.js +55 -0
  335. package/cjs/elements/typography/TypographyDocs.js.map +1 -0
  336. package/cjs/elements/typography/style/_dnb-t.scss +93 -0
  337. package/cjs/elements/typography/style/dnb-typography.scss +2 -1
  338. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +0 -1
  339. package/cjs/elements/typography/style/typography-mixins.scss +25 -15
  340. package/cjs/extensions/forms/DataContext/Provider/Provider.js +1 -1
  341. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  342. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
  343. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  344. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  345. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  346. package/cjs/extensions/forms/Field/Option/Option.js +1 -1
  347. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  348. package/cjs/extensions/forms/Field/Option/OptionDocs.js +9 -4
  349. package/cjs/extensions/forms/Field/Option/OptionDocs.js.map +1 -1
  350. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
  351. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  352. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +2 -1
  353. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  354. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +8 -10
  355. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  356. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +1 -0
  357. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +12 -2
  358. package/cjs/extensions/forms/Field/Selection/Selection.js +9 -5
  359. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  360. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  361. package/cjs/extensions/forms/Field/Upload/Upload.js +17 -8
  362. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  363. package/cjs/extensions/forms/Field/Upload/UploadDocs.js +7 -1
  364. package/cjs/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
  365. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +15 -6
  366. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  367. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +3 -2
  368. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  369. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +16 -6
  370. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  371. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +32 -20
  372. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +4 -6
  373. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  374. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +17 -9
  375. package/cjs/extensions/forms/Form/Card/Card.d.ts +6 -0
  376. package/cjs/extensions/forms/Form/Card/Card.js +20 -0
  377. package/cjs/extensions/forms/Form/Card/Card.js.map +1 -0
  378. package/cjs/extensions/forms/Form/Card/CardDocs.d.ts +2 -0
  379. package/cjs/extensions/forms/Form/Card/CardDocs.js +27 -0
  380. package/cjs/extensions/forms/Form/Card/CardDocs.js.map +1 -0
  381. package/cjs/extensions/forms/Form/Card/index.d.ts +2 -0
  382. package/cjs/extensions/forms/Form/Card/index.js +27 -0
  383. package/cjs/extensions/forms/Form/Card/index.js.map +1 -0
  384. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  385. package/cjs/extensions/forms/Form/index.js +7 -0
  386. package/cjs/extensions/forms/Form/index.js.map +1 -1
  387. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +1 -1
  388. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  389. package/cjs/extensions/forms/Iterate/Array/types.d.ts +1 -1
  390. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  391. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  392. package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +1 -1
  393. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  394. package/cjs/extensions/forms/Value/ValueDocs.js +5 -0
  395. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  396. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  397. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  398. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  399. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  400. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  401. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -7
  402. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  403. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js +1 -1
  404. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  405. package/cjs/extensions/forms/hooks/useFieldProps.js +50 -36
  406. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  407. package/cjs/extensions/forms/style/dnb-forms.css +22 -14
  408. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  409. package/cjs/extensions/forms/types.d.ts +4 -0
  410. package/cjs/extensions/forms/types.js.map +1 -1
  411. package/cjs/extensions/payment-card/style/dnb-payment-card.css +1 -1
  412. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  413. package/cjs/fragments/drawer-list/DrawerList.d.ts +22 -21
  414. package/cjs/fragments/drawer-list/DrawerList.js +14 -5
  415. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  416. package/cjs/fragments/drawer-list/DrawerListDocs.d.ts +1 -0
  417. package/cjs/fragments/drawer-list/DrawerListDocs.js +39 -6
  418. package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  419. package/cjs/fragments/drawer-list/DrawerListHelpers.js +13 -6
  420. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  421. package/cjs/fragments/drawer-list/DrawerListProvider.js +3 -0
  422. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  423. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +11 -0
  424. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +26 -19
  425. package/cjs/shared/Eufemia.d.ts +1 -1
  426. package/cjs/shared/Eufemia.js +2 -2
  427. package/cjs/shared/Eufemia.js.map +1 -1
  428. package/cjs/shared/VisibilityByTheme.d.ts +5 -2
  429. package/cjs/shared/VisibilityByTheme.js +12 -0
  430. package/cjs/shared/VisibilityByTheme.js.map +1 -1
  431. package/cjs/style/core/scopes.scss +1 -1
  432. package/cjs/style/dnb-ui-basis.css +1 -1
  433. package/cjs/style/dnb-ui-basis.min.css +1 -1
  434. package/cjs/style/dnb-ui-body.css +1 -1
  435. package/cjs/style/dnb-ui-body.min.css +1 -1
  436. package/cjs/style/dnb-ui-components.css +352 -306
  437. package/cjs/style/dnb-ui-components.min.css +6 -4
  438. package/cjs/style/dnb-ui-core.css +1 -1
  439. package/cjs/style/dnb-ui-core.min.css +1 -1
  440. package/cjs/style/dnb-ui-elements.css +91 -6
  441. package/cjs/style/dnb-ui-elements.min.css +1 -1
  442. package/cjs/style/dnb-ui-extensions.css +23 -15
  443. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  444. package/cjs/style/dnb-ui-forms.css +22 -14
  445. package/cjs/style/dnb-ui-forms.min.css +1 -1
  446. package/cjs/style/dnb-ui-fragments.css +9 -0
  447. package/cjs/style/dnb-ui-fragments.min.css +3 -1
  448. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +92 -6
  449. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  450. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +376 -322
  451. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +8 -6
  452. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +91 -6
  453. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  454. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +23 -15
  455. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  456. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +22 -14
  457. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  458. package/cjs/style/themes/theme-eiendom/properties.d.ts +2 -1
  459. package/cjs/style/themes/theme-eiendom/properties.js +2 -1
  460. package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
  461. package/cjs/style/themes/theme-sbanken/fonts.scss +7 -3
  462. package/cjs/style/themes/theme-sbanken/properties.d.ts +2 -1
  463. package/cjs/style/themes/theme-sbanken/properties.js +2 -1
  464. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  465. package/cjs/style/themes/theme-sbanken/properties.scss +1 -1
  466. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +101 -10
  467. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  468. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +396 -339
  469. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
  470. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +91 -7
  471. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  472. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +23 -15
  473. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  474. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +22 -14
  475. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  476. package/cjs/style/themes/theme-sbanken/theme-mapping.scss +1 -0
  477. package/cjs/style/themes/theme-ui/properties.d.ts +2 -1
  478. package/cjs/style/themes/theme-ui/properties.js +2 -1
  479. package/cjs/style/themes/theme-ui/properties.js.map +1 -1
  480. package/cjs/style/themes/theme-ui/properties.scss +1 -0
  481. package/cjs/style/themes/theme-ui/ui-theme-basis.css +92 -6
  482. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  483. package/cjs/style/themes/theme-ui/ui-theme-components.css +376 -322
  484. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +8 -6
  485. package/cjs/style/themes/theme-ui/ui-theme-elements.css +91 -6
  486. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  487. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +23 -15
  488. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  489. package/cjs/style/themes/theme-ui/ui-theme-forms.css +22 -14
  490. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  491. package/cjs/style/themes/theme-ui/ui-theme-properties.css +1 -0
  492. package/cjs/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  493. package/cjs/style/themes/theme-ui/ui-theme-tags.css +9 -5
  494. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  495. package/components/autocomplete/Autocomplete.js.map +1 -1
  496. package/components/autocomplete/AutocompleteDocs.js +1 -1
  497. package/components/autocomplete/AutocompleteDocs.js.map +1 -1
  498. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +2 -2
  499. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  500. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +2 -2
  501. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  502. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  503. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  504. package/components/card/Card.d.ts +2 -1
  505. package/components/card/Card.js +3 -1
  506. package/components/card/Card.js.map +1 -1
  507. package/components/card/CardDocs.js +5 -0
  508. package/components/card/CardDocs.js.map +1 -1
  509. package/components/card/style/dnb-card.css +17 -10
  510. package/components/card/style/dnb-card.min.css +1 -1
  511. package/components/card/style/dnb-card.scss +26 -7
  512. package/components/country-flag/style/dnb-country-flag-icons.css +280 -272
  513. package/components/country-flag/style/dnb-country-flag-icons.min.css +1 -1
  514. package/components/country-flag/style/dnb-country-flag-icons.scss +280 -272
  515. package/components/dropdown/Dropdown.js.map +1 -1
  516. package/components/help-button/HelpButtonInline.d.ts +3 -0
  517. package/components/help-button/HelpButtonInline.js +8 -4
  518. package/components/help-button/HelpButtonInline.js.map +1 -1
  519. package/components/help-button/style/dnb-help-button-inline.css +6 -5
  520. package/components/help-button/style/dnb-help-button-inline.min.css +1 -1
  521. package/components/help-button/style/dnb-help-button-inline.scss +6 -11
  522. package/components/help-button/style/dnb-help-button.css +6 -5
  523. package/components/help-button/style/dnb-help-button.min.css +1 -1
  524. package/components/icon/Icon.js +5 -0
  525. package/components/icon/Icon.js.map +1 -1
  526. package/components/modal/parts/ModalHeader.d.ts +2 -1
  527. package/components/modal/parts/ModalHeader.js.map +1 -1
  528. package/components/section/Section.d.ts +5 -0
  529. package/components/section/Section.js +4 -3
  530. package/components/section/Section.js.map +1 -1
  531. package/components/section/SectionDocs.d.ts +2 -0
  532. package/components/section/SectionDocs.js +58 -0
  533. package/components/section/SectionDocs.js.map +1 -0
  534. package/components/section/style/dnb-section.css +12 -0
  535. package/components/section/style/dnb-section.min.css +3 -3
  536. package/components/section/style/dnb-section.scss +22 -0
  537. package/core/jest/jestSetupScreenshots.css +11 -1
  538. package/elements/lib.d.ts +10 -1
  539. package/elements/span/Span.d.ts +13 -4
  540. package/elements/span/Span.js +3 -3
  541. package/elements/span/Span.js.map +1 -1
  542. package/elements/span/SpanDocs.d.ts +2 -0
  543. package/elements/span/SpanDocs.js +6 -0
  544. package/elements/span/SpanDocs.js.map +1 -0
  545. package/elements/typography/Ingress.js +1 -1
  546. package/elements/typography/Ingress.js.map +1 -1
  547. package/elements/typography/P.d.ts +10 -16
  548. package/elements/typography/P.js +52 -24
  549. package/elements/typography/P.js.map +1 -1
  550. package/elements/typography/PDocs.js +12 -23
  551. package/elements/typography/PDocs.js.map +1 -1
  552. package/elements/typography/Typography.d.ts +55 -0
  553. package/elements/typography/Typography.js +28 -0
  554. package/elements/typography/Typography.js.map +1 -0
  555. package/elements/typography/TypographyDocs.d.ts +2 -0
  556. package/elements/typography/TypographyDocs.js +48 -0
  557. package/elements/typography/TypographyDocs.js.map +1 -0
  558. package/elements/typography/style/_dnb-t.scss +93 -0
  559. package/elements/typography/style/dnb-typography.scss +2 -1
  560. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +0 -1
  561. package/elements/typography/style/typography-mixins.scss +25 -15
  562. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  563. package/es/components/autocomplete/AutocompleteDocs.js +1 -1
  564. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
  565. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +2 -2
  566. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  567. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +2 -2
  568. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.css +2 -2
  569. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.min.css +1 -1
  570. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -2
  571. package/es/components/card/Card.d.ts +2 -1
  572. package/es/components/card/Card.js +3 -1
  573. package/es/components/card/Card.js.map +1 -1
  574. package/es/components/card/CardDocs.js +5 -0
  575. package/es/components/card/CardDocs.js.map +1 -1
  576. package/es/components/card/style/dnb-card.css +17 -10
  577. package/es/components/card/style/dnb-card.min.css +1 -1
  578. package/es/components/card/style/dnb-card.scss +26 -7
  579. package/es/components/country-flag/style/dnb-country-flag-icons.css +280 -272
  580. package/es/components/country-flag/style/dnb-country-flag-icons.min.css +1 -1
  581. package/es/components/country-flag/style/dnb-country-flag-icons.scss +280 -272
  582. package/es/components/dropdown/Dropdown.js.map +1 -1
  583. package/es/components/help-button/HelpButtonInline.d.ts +3 -0
  584. package/es/components/help-button/HelpButtonInline.js +8 -4
  585. package/es/components/help-button/HelpButtonInline.js.map +1 -1
  586. package/es/components/help-button/style/dnb-help-button-inline.css +6 -5
  587. package/es/components/help-button/style/dnb-help-button-inline.min.css +1 -1
  588. package/es/components/help-button/style/dnb-help-button-inline.scss +6 -11
  589. package/es/components/help-button/style/dnb-help-button.css +6 -5
  590. package/es/components/help-button/style/dnb-help-button.min.css +1 -1
  591. package/es/components/icon/Icon.js +5 -0
  592. package/es/components/icon/Icon.js.map +1 -1
  593. package/es/components/modal/parts/ModalHeader.d.ts +2 -1
  594. package/es/components/modal/parts/ModalHeader.js.map +1 -1
  595. package/es/components/section/Section.d.ts +5 -0
  596. package/es/components/section/Section.js +4 -3
  597. package/es/components/section/Section.js.map +1 -1
  598. package/es/components/section/SectionDocs.d.ts +2 -0
  599. package/es/components/section/SectionDocs.js +58 -0
  600. package/es/components/section/SectionDocs.js.map +1 -0
  601. package/es/components/section/style/dnb-section.css +12 -0
  602. package/es/components/section/style/dnb-section.min.css +3 -3
  603. package/es/components/section/style/dnb-section.scss +22 -0
  604. package/es/core/jest/jestSetupScreenshots.css +11 -1
  605. package/es/elements/lib.d.ts +10 -1
  606. package/es/elements/span/Span.d.ts +13 -4
  607. package/es/elements/span/Span.js +3 -3
  608. package/es/elements/span/Span.js.map +1 -1
  609. package/es/elements/span/SpanDocs.d.ts +2 -0
  610. package/es/elements/span/SpanDocs.js +6 -0
  611. package/es/elements/span/SpanDocs.js.map +1 -0
  612. package/es/elements/typography/Ingress.js +1 -1
  613. package/es/elements/typography/Ingress.js.map +1 -1
  614. package/es/elements/typography/P.d.ts +10 -16
  615. package/es/elements/typography/P.js +52 -24
  616. package/es/elements/typography/P.js.map +1 -1
  617. package/es/elements/typography/PDocs.js +12 -23
  618. package/es/elements/typography/PDocs.js.map +1 -1
  619. package/es/elements/typography/Typography.d.ts +55 -0
  620. package/es/elements/typography/Typography.js +28 -0
  621. package/es/elements/typography/Typography.js.map +1 -0
  622. package/es/elements/typography/TypographyDocs.d.ts +2 -0
  623. package/es/elements/typography/TypographyDocs.js +48 -0
  624. package/es/elements/typography/TypographyDocs.js.map +1 -0
  625. package/es/elements/typography/style/_dnb-t.scss +93 -0
  626. package/es/elements/typography/style/dnb-typography.scss +2 -1
  627. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +0 -1
  628. package/es/elements/typography/style/typography-mixins.scss +25 -15
  629. package/es/extensions/forms/DataContext/Provider/Provider.js +1 -1
  630. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  631. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
  632. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  633. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  634. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  635. package/es/extensions/forms/Field/Option/Option.js +1 -1
  636. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  637. package/es/extensions/forms/Field/Option/OptionDocs.js +9 -4
  638. package/es/extensions/forms/Field/Option/OptionDocs.js.map +1 -1
  639. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
  640. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  641. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +2 -1
  642. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  643. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +9 -11
  644. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  645. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +1 -0
  646. package/es/extensions/forms/Field/Selection/Selection.d.ts +12 -2
  647. package/es/extensions/forms/Field/Selection/Selection.js +9 -5
  648. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  649. package/es/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  650. package/es/extensions/forms/Field/Upload/Upload.js +16 -8
  651. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  652. package/es/extensions/forms/Field/Upload/UploadDocs.js +7 -1
  653. package/es/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
  654. package/es/extensions/forms/FieldBlock/FieldBlock.js +15 -6
  655. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  656. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +3 -2
  657. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  658. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +16 -6
  659. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  660. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +32 -20
  661. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +4 -6
  662. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  663. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +17 -9
  664. package/es/extensions/forms/Form/Card/Card.d.ts +6 -0
  665. package/es/extensions/forms/Form/Card/Card.js +12 -0
  666. package/es/extensions/forms/Form/Card/Card.js.map +1 -0
  667. package/es/extensions/forms/Form/Card/CardDocs.d.ts +2 -0
  668. package/es/extensions/forms/Form/Card/CardDocs.js +18 -0
  669. package/es/extensions/forms/Form/Card/CardDocs.js.map +1 -0
  670. package/es/extensions/forms/Form/Card/index.d.ts +2 -0
  671. package/es/extensions/forms/Form/Card/index.js +3 -0
  672. package/es/extensions/forms/Form/Card/index.js.map +1 -0
  673. package/es/extensions/forms/Form/index.d.ts +1 -0
  674. package/es/extensions/forms/Form/index.js +1 -0
  675. package/es/extensions/forms/Form/index.js.map +1 -1
  676. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +1 -1
  677. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  678. package/es/extensions/forms/Iterate/Array/types.d.ts +1 -1
  679. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  680. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  681. package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +1 -1
  682. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  683. package/es/extensions/forms/Value/ValueDocs.js +5 -0
  684. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  685. package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  686. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  687. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  688. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  689. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  690. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -7
  691. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  692. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js +1 -1
  693. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  694. package/es/extensions/forms/hooks/useFieldProps.js +50 -36
  695. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  696. package/es/extensions/forms/style/dnb-forms.css +22 -14
  697. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  698. package/es/extensions/forms/types.d.ts +4 -0
  699. package/es/extensions/forms/types.js.map +1 -1
  700. package/es/extensions/payment-card/style/dnb-payment-card.css +1 -1
  701. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  702. package/es/fragments/drawer-list/DrawerList.d.ts +22 -21
  703. package/es/fragments/drawer-list/DrawerList.js +14 -5
  704. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  705. package/es/fragments/drawer-list/DrawerListDocs.d.ts +1 -0
  706. package/es/fragments/drawer-list/DrawerListDocs.js +37 -5
  707. package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  708. package/es/fragments/drawer-list/DrawerListHelpers.js +13 -6
  709. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  710. package/es/fragments/drawer-list/DrawerListProvider.js +3 -0
  711. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  712. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +11 -0
  713. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +26 -19
  714. package/es/shared/Eufemia.d.ts +1 -1
  715. package/es/shared/Eufemia.js +2 -2
  716. package/es/shared/Eufemia.js.map +1 -1
  717. package/es/shared/VisibilityByTheme.d.ts +5 -2
  718. package/es/shared/VisibilityByTheme.js +12 -0
  719. package/es/shared/VisibilityByTheme.js.map +1 -1
  720. package/es/style/core/scopes.scss +1 -1
  721. package/es/style/dnb-ui-basis.css +1 -1
  722. package/es/style/dnb-ui-basis.min.css +1 -1
  723. package/es/style/dnb-ui-body.css +1 -1
  724. package/es/style/dnb-ui-body.min.css +1 -1
  725. package/es/style/dnb-ui-components.css +352 -306
  726. package/es/style/dnb-ui-components.min.css +6 -4
  727. package/es/style/dnb-ui-core.css +1 -1
  728. package/es/style/dnb-ui-core.min.css +1 -1
  729. package/es/style/dnb-ui-elements.css +91 -6
  730. package/es/style/dnb-ui-elements.min.css +1 -1
  731. package/es/style/dnb-ui-extensions.css +23 -15
  732. package/es/style/dnb-ui-extensions.min.css +1 -1
  733. package/es/style/dnb-ui-forms.css +22 -14
  734. package/es/style/dnb-ui-forms.min.css +1 -1
  735. package/es/style/dnb-ui-fragments.css +9 -0
  736. package/es/style/dnb-ui-fragments.min.css +3 -1
  737. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +92 -6
  738. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  739. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +376 -322
  740. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +8 -6
  741. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +91 -6
  742. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  743. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +23 -15
  744. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  745. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +22 -14
  746. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  747. package/es/style/themes/theme-eiendom/properties.d.ts +2 -1
  748. package/es/style/themes/theme-eiendom/properties.js +2 -1
  749. package/es/style/themes/theme-eiendom/properties.js.map +1 -1
  750. package/es/style/themes/theme-sbanken/fonts.scss +7 -3
  751. package/es/style/themes/theme-sbanken/properties.d.ts +2 -1
  752. package/es/style/themes/theme-sbanken/properties.js +2 -1
  753. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  754. package/es/style/themes/theme-sbanken/properties.scss +1 -1
  755. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +101 -10
  756. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  757. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +396 -339
  758. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
  759. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +91 -7
  760. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  761. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +23 -15
  762. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  763. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +22 -14
  764. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  765. package/es/style/themes/theme-sbanken/theme-mapping.scss +1 -0
  766. package/es/style/themes/theme-ui/properties.d.ts +2 -1
  767. package/es/style/themes/theme-ui/properties.js +2 -1
  768. package/es/style/themes/theme-ui/properties.js.map +1 -1
  769. package/es/style/themes/theme-ui/properties.scss +1 -0
  770. package/es/style/themes/theme-ui/ui-theme-basis.css +92 -6
  771. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  772. package/es/style/themes/theme-ui/ui-theme-components.css +376 -322
  773. package/es/style/themes/theme-ui/ui-theme-components.min.css +8 -6
  774. package/es/style/themes/theme-ui/ui-theme-elements.css +91 -6
  775. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  776. package/es/style/themes/theme-ui/ui-theme-extensions.css +23 -15
  777. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  778. package/es/style/themes/theme-ui/ui-theme-forms.css +22 -14
  779. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  780. package/es/style/themes/theme-ui/ui-theme-properties.css +1 -0
  781. package/es/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  782. package/es/style/themes/theme-ui/ui-theme-tags.css +9 -5
  783. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  784. package/esm/dnb-ui-basis.min.mjs +1 -1
  785. package/esm/dnb-ui-components.min.mjs +1 -1
  786. package/esm/dnb-ui-elements.min.mjs +1 -1
  787. package/esm/dnb-ui-extensions.min.mjs +3 -3
  788. package/esm/dnb-ui-lib.min.mjs +1 -1
  789. package/extensions/forms/DataContext/Provider/Provider.js +1 -1
  790. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  791. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -1
  792. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  793. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -2
  794. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  795. package/extensions/forms/Field/Option/Option.js +1 -1
  796. package/extensions/forms/Field/Option/Option.js.map +1 -1
  797. package/extensions/forms/Field/Option/OptionDocs.js +9 -4
  798. package/extensions/forms/Field/Option/OptionDocs.js.map +1 -1
  799. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -1
  800. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  801. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +2 -1
  802. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  803. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +9 -11
  804. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  805. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +1 -0
  806. package/extensions/forms/Field/Selection/Selection.d.ts +12 -2
  807. package/extensions/forms/Field/Selection/Selection.js +9 -5
  808. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  809. package/extensions/forms/Field/Upload/Upload.d.ts +1 -1
  810. package/extensions/forms/Field/Upload/Upload.js +17 -8
  811. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  812. package/extensions/forms/Field/Upload/UploadDocs.js +7 -1
  813. package/extensions/forms/Field/Upload/UploadDocs.js.map +1 -1
  814. package/extensions/forms/FieldBlock/FieldBlock.js +15 -6
  815. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  816. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +3 -2
  817. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  818. package/extensions/forms/FieldBlock/style/dnb-field-block.css +16 -6
  819. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  820. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +32 -20
  821. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +4 -6
  822. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  823. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +17 -9
  824. package/extensions/forms/Form/Card/Card.d.ts +6 -0
  825. package/extensions/forms/Form/Card/Card.js +12 -0
  826. package/extensions/forms/Form/Card/Card.js.map +1 -0
  827. package/extensions/forms/Form/Card/CardDocs.d.ts +2 -0
  828. package/extensions/forms/Form/Card/CardDocs.js +18 -0
  829. package/extensions/forms/Form/Card/CardDocs.js.map +1 -0
  830. package/extensions/forms/Form/Card/index.d.ts +2 -0
  831. package/extensions/forms/Form/Card/index.js +3 -0
  832. package/extensions/forms/Form/Card/index.js.map +1 -0
  833. package/extensions/forms/Form/index.d.ts +1 -0
  834. package/extensions/forms/Form/index.js +1 -0
  835. package/extensions/forms/Form/index.js.map +1 -1
  836. package/extensions/forms/Iterate/Array/ArrayDocs.js +1 -1
  837. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  838. package/extensions/forms/Iterate/Array/types.d.ts +1 -1
  839. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  840. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -0
  841. package/extensions/forms/Value/SummaryList/SummaryList.d.ts +1 -1
  842. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  843. package/extensions/forms/Value/ValueDocs.js +5 -0
  844. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  845. package/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  846. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  847. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -2
  848. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  849. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -1
  850. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -7
  851. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  852. package/extensions/forms/hooks/DataValueWritePropsDocs.js +1 -1
  853. package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  854. package/extensions/forms/hooks/useFieldProps.js +50 -36
  855. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  856. package/extensions/forms/style/dnb-forms.css +22 -14
  857. package/extensions/forms/style/dnb-forms.min.css +1 -1
  858. package/extensions/forms/types.d.ts +4 -0
  859. package/extensions/forms/types.js.map +1 -1
  860. package/extensions/payment-card/style/dnb-payment-card.css +1 -1
  861. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  862. package/fragments/drawer-list/DrawerList.d.ts +22 -21
  863. package/fragments/drawer-list/DrawerList.js +14 -5
  864. package/fragments/drawer-list/DrawerList.js.map +1 -1
  865. package/fragments/drawer-list/DrawerListDocs.d.ts +1 -0
  866. package/fragments/drawer-list/DrawerListDocs.js +37 -5
  867. package/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  868. package/fragments/drawer-list/DrawerListHelpers.js +13 -6
  869. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  870. package/fragments/drawer-list/DrawerListProvider.js +3 -0
  871. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  872. package/fragments/drawer-list/style/dnb-drawer-list.scss +11 -0
  873. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +26 -19
  874. package/package.json +1 -2
  875. package/shared/Eufemia.d.ts +1 -1
  876. package/shared/Eufemia.js +2 -2
  877. package/shared/Eufemia.js.map +1 -1
  878. package/shared/VisibilityByTheme.d.ts +5 -2
  879. package/shared/VisibilityByTheme.js +12 -0
  880. package/shared/VisibilityByTheme.js.map +1 -1
  881. package/style/core/scopes.scss +1 -1
  882. package/style/dnb-ui-basis.css +1 -1
  883. package/style/dnb-ui-basis.min.css +1 -1
  884. package/style/dnb-ui-body.css +1 -1
  885. package/style/dnb-ui-body.min.css +1 -1
  886. package/style/dnb-ui-components.css +352 -306
  887. package/style/dnb-ui-components.min.css +6 -4
  888. package/style/dnb-ui-core.css +1 -1
  889. package/style/dnb-ui-core.min.css +1 -1
  890. package/style/dnb-ui-elements.css +91 -6
  891. package/style/dnb-ui-elements.min.css +1 -1
  892. package/style/dnb-ui-extensions.css +23 -15
  893. package/style/dnb-ui-extensions.min.css +1 -1
  894. package/style/dnb-ui-forms.css +22 -14
  895. package/style/dnb-ui-forms.min.css +1 -1
  896. package/style/dnb-ui-fragments.css +9 -0
  897. package/style/dnb-ui-fragments.min.css +3 -1
  898. package/style/themes/theme-eiendom/eiendom-theme-basis.css +92 -6
  899. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  900. package/style/themes/theme-eiendom/eiendom-theme-components.css +376 -322
  901. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +8 -6
  902. package/style/themes/theme-eiendom/eiendom-theme-elements.css +91 -6
  903. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  904. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +23 -15
  905. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  906. package/style/themes/theme-eiendom/eiendom-theme-forms.css +22 -14
  907. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  908. package/style/themes/theme-eiendom/properties.d.ts +2 -1
  909. package/style/themes/theme-eiendom/properties.js +2 -1
  910. package/style/themes/theme-eiendom/properties.js.map +1 -1
  911. package/style/themes/theme-sbanken/fonts.scss +7 -3
  912. package/style/themes/theme-sbanken/properties.d.ts +2 -1
  913. package/style/themes/theme-sbanken/properties.js +2 -1
  914. package/style/themes/theme-sbanken/properties.js.map +1 -1
  915. package/style/themes/theme-sbanken/properties.scss +1 -1
  916. package/style/themes/theme-sbanken/sbanken-theme-basis.css +101 -10
  917. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +2 -2
  918. package/style/themes/theme-sbanken/sbanken-theme-components.css +396 -339
  919. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
  920. package/style/themes/theme-sbanken/sbanken-theme-elements.css +91 -7
  921. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  922. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +23 -15
  923. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  924. package/style/themes/theme-sbanken/sbanken-theme-forms.css +22 -14
  925. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  926. package/style/themes/theme-sbanken/theme-mapping.scss +1 -0
  927. package/style/themes/theme-ui/properties.d.ts +2 -1
  928. package/style/themes/theme-ui/properties.js +2 -1
  929. package/style/themes/theme-ui/properties.js.map +1 -1
  930. package/style/themes/theme-ui/properties.scss +1 -0
  931. package/style/themes/theme-ui/ui-theme-basis.css +92 -6
  932. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  933. package/style/themes/theme-ui/ui-theme-components.css +376 -322
  934. package/style/themes/theme-ui/ui-theme-components.min.css +8 -6
  935. package/style/themes/theme-ui/ui-theme-elements.css +91 -6
  936. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  937. package/style/themes/theme-ui/ui-theme-extensions.css +23 -15
  938. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  939. package/style/themes/theme-ui/ui-theme-forms.css +22 -14
  940. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  941. package/style/themes/theme-ui/ui-theme-properties.css +1 -0
  942. package/style/themes/theme-ui/ui-theme-properties.min.css +1 -1
  943. package/style/themes/theme-ui/ui-theme-tags.css +9 -5
  944. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  945. package/umd/dnb-ui-basis.min.js +1 -1
  946. package/umd/dnb-ui-components.min.js +1 -1
  947. package/umd/dnb-ui-elements.min.js +1 -1
  948. package/umd/dnb-ui-extensions.min.js +1 -1
  949. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","keycode","AlignmentHelper","spacingPropTypes","createSpacingClasses","pickFormElementProps","Suffix","Icon","FormLabel","FormStatus","Button","buttonVariantPropType","DrawerList","DrawerListContext","DrawerListProvider","drawerListPropTypes","drawerListProviderPropTypes","parseContentTitle","getCurrentData","Dropdown","PureComponent","render","id","props","more_menu","action_menu","prevent_selection","children","data","createElement","_extends","opened","tagName","ignore_events","DropdownInstance","_defineProperty","title","variant","icon","icon_size","icon_position","triangle_position","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","innerRef","buttonRef","suffix","scrollable","focusable","max_height","direction","skip_portal","portal_class","no_animation","no_scroll_animation","independent_width","size","align_dropdown","trigger_element","default_value","value","open_on_focus","prevent_close","keep_open","disabled","stretch","skeleton","className","on_show","on_hide","on_change","on_select","on_state_update","process","env","NODE_ENV","propTypes","_objectSpread","string","oneOfType","node","func","oneOf","bool","object","shape","message","number","arrayOf","selectedKey","selected_key","selected_value","content","array","constructor","_this","this","context","drawerList","setWrapperElement","_refWrapper","current","setVisible","setHidden","arguments","hidden","isOpen","e","preventDefault","args","length","undefined","attributes","res","setFocus","clearTimeout","_focusTimeout","setTimeout","element","_refButton","focus","preventHideFocus","preventScroll","parseFloat","active_item","_id","state","_ref","createRef","componentDidMount","componentWillUnmount","getTitle","currentOptionData","selected_item","_this$context","_this$context2","_this$context3","defaultProps","getTranslation","FormRow","formElement","fixed_position","enable_body_lock","CustomTrigger","_title","_icon","_align_dropdown","_icon_position","_data","_children","_direction","_opened","_value","_objectWithoutProperties","_excluded","handleAsMenu","isPopupMenu","showStatus","Object","assign","mainParams","triggerParams","onFocus","onFocusHandler","onBlur","onBlurHandler","onClick","onClickHandler","onKeyDown","onTriggerKeyDownHandler","ref","forId","text","labelDirection","srOnly","_AlignmentHelper","show","text_id","custom_content","Fragment","role","list_class","is_popup","align_drawer","onChangeHandler","onSelectHandler","onHideHandler","HorizontalItem","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/dropdown/Dropdown.js"],"sourcesContent":["/**\n * Web Dropdown Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nimport Suffix from '../../shared/helpers/Suffix'\nimport Icon from '../icon-primary/IconPrimary'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport DrawerList from '../../fragments/drawer-list/DrawerList'\nimport DrawerListContext from '../../fragments/drawer-list/DrawerListContext'\nimport DrawerListProvider from '../../fragments/drawer-list/DrawerListProvider'\nimport {\n drawerListPropTypes,\n drawerListProviderPropTypes,\n parseContentTitle,\n getCurrentData,\n} from '../../fragments/drawer-list/DrawerListHelpers'\n\nexport default class Dropdown extends React.PureComponent {\n static propTypes = {\n ...spacingPropTypes,\n ...drawerListPropTypes,\n ...drawerListProviderPropTypes,\n\n id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n variant: buttonVariantPropType.variant,\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.string,\n icon_position: PropTypes.oneOf(['left', 'right']),\n triangle_position: PropTypes.oneOf(['left', 'right']),\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n buttonRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n max_height: PropTypes.number,\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n more_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n align_dropdown: PropTypes.oneOf(['left', 'right']),\n trigger_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n default_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n open_on_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n on_change: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: 'Option Menu',\n variant: 'secondary',\n icon: null,\n icon_size: null,\n icon_position: null,\n triangle_position: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n innerRef: null,\n buttonRef: null,\n suffix: null,\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n skip_portal: null,\n portal_class: null,\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n more_menu: false,\n action_menu: false,\n independent_width: false,\n size: 'default',\n align_dropdown: null,\n trigger_element: null,\n data: null,\n default_value: null,\n value: 'initval',\n open_on_focus: false,\n prevent_close: false,\n keep_open: false,\n opened: false,\n disabled: null,\n stretch: null,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n\n on_change: null,\n on_select: null,\n on_state_update: null,\n }\n\n render() {\n // generate ID here, so we can send it along the provider\n const id = this.props.id || makeUniqueId()\n const { more_menu, action_menu, prevent_selection, children, data } =\n this.props\n\n return (\n <DrawerListProvider\n {...this.props}\n id={id}\n data={data || children}\n opened={null}\n tagName=\"dnb-dropdown\"\n ignore_events={false}\n prevent_selection={\n isTrue(more_menu) ||\n isTrue(action_menu) ||\n isTrue(prevent_selection)\n }\n >\n <DropdownInstance {...this.props} id={id} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DropdownInstance extends React.PureComponent {\n static propTypes = Dropdown.propTypes\n static defaultProps = Dropdown.defaultProps\n static contextType = DrawerListContext\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n\n this.attributes = {}\n this.state = this.state || {}\n\n this._ref = props.innerRef || React.createRef()\n this._refWrapper = React.createRef()\n this._refButton = props.buttonRef || React.createRef()\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n }\n\n setVisible = () => {\n this.context.drawerList\n .setWrapperElement(this._refWrapper.current)\n .setVisible()\n }\n\n setHidden = (...args) => {\n this.context.drawerList.setHidden(...args)\n }\n\n onFocusHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setVisible()\n }\n }\n\n onBlurHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setHidden()\n }\n }\n\n onClickHandler = () => {\n if (isTrue(this.props.disabled)) {\n return // stop here\n }\n if (\n !this.context.drawerList.hidden &&\n this.context.drawerList.isOpen\n ) {\n this.setHidden()\n } else {\n this.setVisible()\n }\n }\n\n onTriggerKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'enter':\n case 'space':\n e.preventDefault()\n this.setVisible()\n break\n\n case 'up':\n case 'down':\n e.preventDefault()\n this.setVisible()\n\n break\n\n case 'esc':\n this.setHidden()\n break\n\n case 'home':\n case 'end':\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n onHideHandler = (args = {}) => {\n const attributes = this.attributes || {}\n const res = dispatchCustomElementEvent(this, 'on_hide', {\n ...args,\n attributes,\n })\n\n if (res !== false) {\n this.setFocus(args)\n }\n\n return res\n }\n\n setFocus = (args) => {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(() => {\n try {\n const element = this._refButton.current\n if (element && typeof element.focus === 'function') {\n if (args.preventHideFocus !== true) {\n element.focus({ preventScroll: true })\n }\n dispatchCustomElementEvent(this, 'on_hide_focus', { element })\n }\n } catch (e) {\n // do noting\n }\n }, 1) // NVDA / Firefox needs a delay to set this focus\n }\n\n onSelectHandler = (args) => {\n if (parseFloat(args.active_item) > -1) {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_select', {\n ...args,\n attributes,\n })\n }\n }\n\n onChangeHandler = (args) => {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_change', {\n ...args,\n attributes,\n })\n }\n\n getTitle(title = null) {\n const { data } = this.context.drawerList\n if (data && data.length > 0) {\n const currentOptionData = getCurrentData(\n this.context.drawerList.selected_item,\n data\n )\n if (currentOptionData) {\n title =\n currentOptionData.selected_value ||\n parseContentTitle(currentOptionData)\n }\n }\n return title\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Dropdown.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Dropdown,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Dropdown\n )\n\n const {\n label,\n label_direction,\n label_sr_only,\n icon_size,\n size,\n fixed_position,\n enable_body_lock,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n scrollable,\n focusable,\n keep_open,\n prevent_close,\n no_animation,\n no_scroll_animation,\n triangle_position,\n skip_portal,\n portal_class,\n trigger_element: CustomTrigger,\n more_menu,\n action_menu,\n independent_width,\n prevent_selection,\n max_height,\n default_value,\n className,\n disabled,\n stretch,\n skeleton,\n variant,\n\n title: _title,\n icon: _icon, // eslint-disable-line\n align_dropdown: _align_dropdown, // eslint-disable-line\n icon_position: _icon_position, // eslint-disable-line\n data: _data, // eslint-disable-line\n children: _children, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n id: _id, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n buttonRef, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...attributes\n } = props\n\n let { icon, icon_position, align_dropdown } = props\n const id = this._id\n\n const handleAsMenu =\n isTrue(action_menu) || isTrue(more_menu) || isTrue(prevent_selection)\n const isPopupMenu = isTrue(more_menu) || !(_title && _title.length > 0)\n if (isPopupMenu) {\n icon = icon || (isTrue(more_menu) ? 'more' : 'chevron_down')\n }\n if (isPopupMenu || isTrue(action_menu)) {\n if (icon_position !== 'right' && align_dropdown !== 'right') {\n icon_position = 'left'\n align_dropdown = 'left'\n }\n }\n\n const { selected_item, direction, opened } = this.context.drawerList\n const showStatus = getStatusState(status)\n const title = this.getTitle(_title)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const mainParams = {\n className: classnames(\n 'dnb-dropdown',\n `dnb-dropdown--${direction}`,\n opened && 'dnb-dropdown--opened',\n label_direction && `dnb-dropdown--${label_direction}`,\n `dnb-dropdown--icon-position-${icon_position || 'right'}`,\n isPopupMenu && 'dnb-dropdown--is-popup',\n isTrue(action_menu) && `dnb-dropdown--action-menu`,\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-dropdown--independent-width',\n size && `dnb-dropdown--${size}`,\n isTrue(stretch) && `dnb-dropdown--stretch`,\n `dnb-dropdown--${align_dropdown || 'right'}`,\n status && `dnb-dropdown__status--${status_state}`,\n showStatus && 'dnb-dropdown__form-status',\n 'dnb-form-component',\n createSpacingClasses(props),\n className\n ),\n }\n\n const triggerParams = {\n className: classnames(\n 'dnb-dropdown__trigger',\n opened && 'dnb-button--active'\n ),\n id,\n disabled,\n 'aria-haspopup': handleAsMenu ? true : 'listbox',\n 'aria-expanded': opened,\n ...attributes,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n onClick: this.onClickHandler,\n onKeyDown: this.onTriggerKeyDownHandler,\n }\n\n if (opened) {\n triggerParams['aria-controls'] = `${id}-ul`\n }\n\n if (showStatus || suffix) {\n triggerParams['aria-describedby'] = combineDescribedBy(\n triggerParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n if (label) {\n triggerParams['aria-labelledby'] = combineLabelledBy(\n triggerParams,\n id + '-label',\n id // used to read the current value\n )\n }\n\n // also used for code markup simulation\n validateDOMAttributes(null, mainParams)\n validateDOMAttributes(this.props, triggerParams)\n\n // make it possible to grab the rest attributes and return it with all events\n this.attributes = validateDOMAttributes(null, attributes)\n\n return (\n <span ref={this._ref} {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n onClick={this.onClickHandler}\n />\n )}\n\n <span className=\"dnb-dropdown__inner\" ref={this._refWrapper}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-dropdown__row\">\n <span className=\"dnb-dropdown__shell\">\n {CustomTrigger ? (\n <CustomTrigger {...triggerParams} />\n ) : (\n <Button\n variant={variant}\n icon={false} // only to suppress the warning about the icon when tertiary variant is used\n size={size === 'default' ? 'medium' : size}\n innerRef={this._refButton}\n custom_content={\n <>\n {!isPopupMenu && (\n <span className=\"dnb-dropdown__text dnb-button__text\">\n <span className=\"dnb-dropdown__text__inner\">\n {title}\n </span>\n </span>\n )}\n <span\n aria-hidden\n className={classnames(\n 'dnb-dropdown__icon',\n parseFloat(selected_item) === 0 &&\n 'dnb-dropdown__icon--first'\n )}\n >\n {icon !== false && (\n <Icon\n icon={icon || 'chevron_down'}\n size={\n icon_size ||\n (size === 'large' ? 'medium' : 'default')\n }\n />\n )}\n </span>\n </>\n }\n {...triggerParams}\n />\n )}\n\n <DrawerList\n id={id}\n role={handleAsMenu ? 'menu' : 'listbox'}\n portal_class={portal_class}\n list_class={classnames(\n 'dnb-dropdown__list',\n variant === 'tertiary' && 'dnb-dropdown__list--tertiary'\n )}\n value={selected_item}\n default_value={default_value}\n scrollable={scrollable}\n focusable={focusable}\n no_animation={no_animation}\n no_scroll_animation={no_scroll_animation}\n skip_portal={skip_portal}\n prevent_selection={handleAsMenu}\n action_menu={action_menu}\n triangle_position={\n triangle_position || icon_position || 'right'\n }\n keep_open={keep_open}\n prevent_close={prevent_close}\n independent_width={\n isTrue(independent_width) || isPopupMenu || action_menu\n }\n is_popup={isPopupMenu || action_menu}\n align_drawer={align_dropdown || 'left'}\n fixed_position={fixed_position}\n enable_body_lock={enable_body_lock}\n disabled={disabled}\n max_height={max_height}\n direction={direction}\n size={size}\n on_change={this.onChangeHandler}\n on_select={this.onSelectHandler}\n on_hide={this.onHideHandler}\n />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-dropdown__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n onClick={this.setHidden}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nDropdown.HorizontalItem = DrawerList.HorizontalItem\nDropdown._formElement = true\nDropdown._supportsSpacingProps = true\n"],"mappings":";;;;;;;AAOA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,MAAM,EACNC,YAAY,EACZC,sCAAsC,EACtCC,qBAAqB,EACrBC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,0BAA0B,EAC1BC,OAAO,QACF,+BAA+B;AACtC,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,SACEC,gBAAgB,EAChBC,oBAAoB,QACf,wBAAwB;AAC/B,SAASC,oBAAoB,QAAQ,uCAAuC;AAE5E,OAAOC,MAAM,MAAM,6BAA6B;AAChD,OAAOC,IAAI,MAAM,6BAA6B;AAC9C,OAAOC,SAAS,MAAM,yBAAyB;AAC/C,OAAOC,UAAU,MAAM,2BAA2B;AAClD,OAAOC,MAAM,IAAIC,qBAAqB,QAAQ,kBAAkB;AAChE,OAAOC,UAAU,MAAM,wCAAwC;AAC/D,OAAOC,iBAAiB,MAAM,+CAA+C;AAC7E,OAAOC,kBAAkB,MAAM,gDAAgD;AAC/E,SACEC,mBAAmB,EACnBC,2BAA2B,EAC3BC,iBAAiB,EACjBC,cAAc,QACT,+CAA+C;AAEtD,eAAe,MAAMC,QAAQ,SAAS7B,KAAK,CAAC8B,aAAa,CAAC;EA4LxDC,MAAMA,CAAA,EAAG;IAEP,MAAMC,EAAE,GAAG,IAAI,CAACC,KAAK,CAACD,EAAE,IAAI5B,YAAY,CAAC,CAAC;IAC1C,MAAM;MAAE8B,SAAS;MAAEC,WAAW;MAAEC,iBAAiB;MAAEC,QAAQ;MAAEC;IAAK,CAAC,GACjE,IAAI,CAACL,KAAK;IAEZ,OACEjC,KAAA,CAAAuC,aAAA,CAACf,kBAAkB,EAAAgB,QAAA,KACb,IAAI,CAACP,KAAK;MACdD,EAAE,EAAEA,EAAG;MACPM,IAAI,EAAEA,IAAI,IAAID,QAAS;MACvBI,MAAM,EAAE,IAAK;MACbC,OAAO,EAAC,cAAc;MACtBC,aAAa,EAAE,KAAM;MACrBP,iBAAiB,EACfjC,MAAM,CAAC+B,SAAS,CAAC,IACjB/B,MAAM,CAACgC,WAAW,CAAC,IACnBhC,MAAM,CAACiC,iBAAiB;IACzB,IAEDpC,KAAA,CAAAuC,aAAA,CAACK,gBAAgB,EAAAJ,QAAA,KAAK,IAAI,CAACP,KAAK;MAAED,EAAE,EAAEA;IAAG,EAAE,CACzB,CAAC;EAEzB;AACF;AAACa,eAAA,CApNoBhB,QAAQ,kBAoIL;EACpBG,EAAE,EAAE,IAAI;EACRc,KAAK,EAAE,aAAa;EACpBC,OAAO,EAAE,WAAW;EACpBC,IAAI,EAAE,IAAI;EACVC,SAAS,EAAE,IAAI;EACfC,aAAa,EAAE,IAAI;EACnBC,iBAAiB,EAAE,IAAI;EACvBC,KAAK,EAAE,IAAI;EACXC,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,IAAI;EACnBC,MAAM,EAAE,IAAI;EACZC,YAAY,EAAE,OAAO;EACrBC,YAAY,EAAE,IAAI;EAClBC,mBAAmB,EAAE,IAAI;EACzBC,YAAY,EAAE,IAAI;EAClBC,QAAQ,EAAE,IAAI;EACdC,SAAS,EAAE,IAAI;EACfC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,IAAI;EAChBC,SAAS,EAAE,KAAK;EAChBC,UAAU,EAAE,IAAI;EAChBC,SAAS,EAAE,MAAM;EACjBC,WAAW,EAAE,IAAI;EACjBC,YAAY,EAAE,IAAI;EAClBC,YAAY,EAAE,KAAK;EACnBC,mBAAmB,EAAE,KAAK;EAC1BlC,iBAAiB,EAAE,KAAK;EACxBF,SAAS,EAAE,KAAK;EAChBC,WAAW,EAAE,KAAK;EAClBoC,iBAAiB,EAAE,KAAK;EACxBC,IAAI,EAAE,SAAS;EACfC,cAAc,EAAE,IAAI;EACpBC,eAAe,EAAE,IAAI;EACrBpC,IAAI,EAAE,IAAI;EACVqC,aAAa,EAAE,IAAI;EACnBC,KAAK,EAAE,SAAS;EAChBC,aAAa,EAAE,KAAK;EACpBC,aAAa,EAAE,KAAK;EACpBC,SAAS,EAAE,KAAK;EAChBtC,MAAM,EAAE,KAAK;EACbuC,QAAQ,EAAE,IAAI;EACdC,OAAO,EAAE,IAAI;EACbC,QAAQ,EAAE,IAAI;EAEdC,SAAS,EAAE,IAAI;EACf9C,QAAQ,EAAE,IAAI;EAEd+C,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,IAAI;EAEbC,SAAS,EAAE,IAAI;EACfC,SAAS,EAAE,IAAI;EACfC,eAAe,EAAE;AACnB,CAAC;AAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBA1LkB9D,QAAQ,CACpB+D,SAAS,GAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACXhF,gBAAgB,GAChBY,mBAAmB,GACnBC,2BAA2B;EAE9BM,EAAE,EAAE/B,SAAS,CAAC6F,MAAM;EACpBhD,KAAK,EAAE7C,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAAC+F,IAAI,CAAC,CAAC;EAC9DjD,OAAO,EAAE1B,qBAAqB,CAAC0B,OAAO;EACtCC,IAAI,EAAE/C,SAAS,CAAC8F,SAAS,CAAC,CACxB9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAAC+F,IAAI,EACd/F,SAAS,CAACgG,IAAI,CACf,CAAC;EACFhD,SAAS,EAAEhD,SAAS,CAAC6F,MAAM;EAC3B5C,aAAa,EAAEjD,SAAS,CAACiG,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EACjD/C,iBAAiB,EAAElD,SAAS,CAACiG,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EACrD9C,KAAK,EAAEnD,SAAS,CAAC8F,SAAS,CAAC,CACzB9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACgG,IAAI,EACdhG,SAAS,CAAC+F,IAAI,CACf,CAAC;EACF3C,eAAe,EAAEpD,SAAS,CAACiG,KAAK,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;EAC5D5C,aAAa,EAAErD,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACtE5C,MAAM,EAAEtD,SAAS,CAAC8F,SAAS,CAAC,CAC1B9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACkG,IAAI,EACdlG,SAAS,CAACgG,IAAI,EACdhG,SAAS,CAAC+F,IAAI,CACf,CAAC;EACFxC,YAAY,EAAEvD,SAAS,CAAC6F,MAAM;EAC9BrC,YAAY,EAAExD,SAAS,CAACmG,MAAM;EAC9B1C,mBAAmB,EAAEzD,SAAS,CAAC8F,SAAS,CAAC,CACvC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACkG,IAAI,CACf,CAAC;EACFvC,QAAQ,EAAE3D,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACgG,IAAI,CAAC,CAAC;EACjEpC,SAAS,EAAE5D,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACgG,IAAI,CAAC,CAAC;EAClEtC,YAAY,EAAE1D,SAAS,CAACoG,KAAK,CAAC;IAC5BrE,EAAE,EAAE/B,SAAS,CAAC6F,MAAM;IACpBQ,OAAO,EAAErG,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAAC+F,IAAI,CAAC;EACjE,CAAC,CAAC;EACFlC,MAAM,EAAE7D,SAAS,CAAC8F,SAAS,CAAC,CAC1B9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACgG,IAAI,EACdhG,SAAS,CAAC+F,IAAI,CACf,CAAC;EACFjC,UAAU,EAAE9D,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACnEnC,SAAS,EAAE/D,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EAClEjC,SAAS,EAAEjE,SAAS,CAACiG,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EACrDjC,UAAU,EAAEhE,SAAS,CAACsG,MAAM;EAC5BpC,WAAW,EAAElE,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACpE/B,YAAY,EAAEnE,SAAS,CAAC6F,MAAM;EAC9BzB,YAAY,EAAEpE,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACrE7B,mBAAmB,EAAErE,SAAS,CAAC8F,SAAS,CAAC,CACvC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACkG,IAAI,CACf,CAAC;EACF/D,iBAAiB,EAAEnC,SAAS,CAAC8F,SAAS,CAAC,CACrC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACkG,IAAI,CACf,CAAC;EACFjE,SAAS,EAAEjC,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EAClEhE,WAAW,EAAElC,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACpE5B,iBAAiB,EAAEtE,SAAS,CAAC8F,SAAS,CAAC,CACrC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACkG,IAAI,CACf,CAAC;EACF3B,IAAI,EAAEvE,SAAS,CAACiG,KAAK,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;EAC9DzB,cAAc,EAAExE,SAAS,CAACiG,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAClDxB,eAAe,EAAEzE,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAACgG,IAAI,EAAEhG,SAAS,CAAC+F,IAAI,CAAC,CAAC;EACtE1D,IAAI,EAAErC,SAAS,CAAC8F,SAAS,CAAC,CACxB9F,SAAS,CAAC8F,SAAS,CAAC,CAClB9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACgG,IAAI,EACdhG,SAAS,CAAC+F,IAAI,EACd/F,SAAS,CAACmG,MAAM,CACjB,CAAC,EACFnG,SAAS,CAACuG,OAAO,CACfvG,SAAS,CAAC8F,SAAS,CAAC,CAClB9F,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAAC+F,IAAI,CAAC,CAAC,EACvD/F,SAAS,CAACoG,KAAK,CAAC;IACdI,WAAW,EAAExG,SAAS,CAAC8F,SAAS,CAAC,CAC/B9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACsG,MAAM,CACjB,CAAC;IACFG,YAAY,EAAEzG,SAAS,CAAC8F,SAAS,CAAC,CAChC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACsG,MAAM,CACjB,CAAC;IACFI,cAAc,EAAE1G,SAAS,CAAC8F,SAAS,CAAC,CAClC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAAC+F,IAAI,CACf,CAAC;IACFY,OAAO,EAAE3G,SAAS,CAAC8F,SAAS,CAAC,CAC3B9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAAC+F,IAAI,EACd/F,SAAS,CAACuG,OAAO,CAACvG,SAAS,CAAC6F,MAAM,CAAC,CACpC;EACH,CAAC,CAAC,CACH,CACH,CAAC,CACF,CAAC;EACFnB,aAAa,EAAE1E,SAAS,CAAC8F,SAAS,CAAC,CACjC9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACsG,MAAM,CACjB,CAAC;EACF3B,KAAK,EAAE3E,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACsG,MAAM,CAAC,CAAC;EAChE1B,aAAa,EAAE5E,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACtErB,aAAa,EAAE7E,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACtEpB,SAAS,EAAE9E,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EAClE1D,MAAM,EAAExC,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EAC/DnB,QAAQ,EAAE/E,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EACjElB,OAAO,EAAEhF,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EAChEjB,QAAQ,EAAEjF,SAAS,CAAC8F,SAAS,CAAC,CAAC9F,SAAS,CAAC6F,MAAM,EAAE7F,SAAS,CAACkG,IAAI,CAAC,CAAC;EAEjEhB,SAAS,EAAElF,SAAS,CAAC6F,MAAM;EAC3BzD,QAAQ,EAAEpC,SAAS,CAAC8F,SAAS,CAAC,CAC5B9F,SAAS,CAAC6F,MAAM,EAChB7F,SAAS,CAACgG,IAAI,EACdhG,SAAS,CAAC+F,IAAI,EACd/F,SAAS,CAACmG,MAAM,EAChBnG,SAAS,CAAC4G,KAAK,CAChB,CAAC;EAEFzB,OAAO,EAAEnF,SAAS,CAACgG,IAAI;EACvBZ,OAAO,EAAEpF,SAAS,CAACgG,IAAI;EACvBX,SAAS,EAAErF,SAAS,CAACgG,IAAI;EACzBV,SAAS,EAAEtF,SAAS,CAACgG,IAAI;EACzBT,eAAe,EAAEvF,SAAS,CAACgG;AAAI;AAqFnC,MAAMrD,gBAAgB,SAAS5C,KAAK,CAAC8B,aAAa,CAAC;EAKjDgF,WAAWA,CAAC7E,KAAK,EAAE;IAAA,IAAA8E,KAAA;IACjB,KAAK,CAAC9E,KAAK,CAAC;IAAA8E,KAAA,GAAAC,IAAA;IAAAnE,eAAA,qBAsBD,MAAM;MACjB,IAAI,CAACoE,OAAO,CAACC,UAAU,CACpBC,iBAAiB,CAAC,IAAI,CAACC,WAAW,CAACC,OAAO,CAAC,CAC3CC,UAAU,CAAC,CAAC;IACjB,CAAC;IAAAzE,eAAA,oBAEW,YAAa;MACvBkE,KAAI,CAACE,OAAO,CAACC,UAAU,CAACK,SAAS,CAAC,GAAAC,SAAO,CAAC;IAC5C,CAAC;IAAA3E,eAAA,yBAEgB,MAAM;MACrB,IAAI1C,MAAM,CAAC,IAAI,CAAC8B,KAAK,CAAC4C,aAAa,CAAC,EAAE;QACpC,IAAI,CAACyC,UAAU,CAAC,CAAC;MACnB;IACF,CAAC;IAAAzE,eAAA,wBAEe,MAAM;MACpB,IAAI1C,MAAM,CAAC,IAAI,CAAC8B,KAAK,CAAC4C,aAAa,CAAC,EAAE;QACpC,IAAI,CAAC0C,SAAS,CAAC,CAAC;MAClB;IACF,CAAC;IAAA1E,eAAA,yBAEgB,MAAM;MACrB,IAAI1C,MAAM,CAAC,IAAI,CAAC8B,KAAK,CAAC+C,QAAQ,CAAC,EAAE;QAC/B;MACF;MACA,IACE,CAAC,IAAI,CAACiC,OAAO,CAACC,UAAU,CAACO,MAAM,IAC/B,IAAI,CAACR,OAAO,CAACC,UAAU,CAACQ,MAAM,EAC9B;QACA,IAAI,CAACH,SAAS,CAAC,CAAC;MAClB,CAAC,MAAM;QACL,IAAI,CAACD,UAAU,CAAC,CAAC;MACnB;IACF,CAAC;IAAAzE,eAAA,kCAE0B8E,CAAC,IAAK;MAC/B,QAAQhH,OAAO,CAACgH,CAAC,CAAC;QAChB,KAAK,OAAO;QACZ,KAAK,OAAO;UACVA,CAAC,CAACC,cAAc,CAAC,CAAC;UAClB,IAAI,CAACN,UAAU,CAAC,CAAC;UACjB;QAEF,KAAK,IAAI;QACT,KAAK,MAAM;UACTK,CAAC,CAACC,cAAc,CAAC,CAAC;UAClB,IAAI,CAACN,UAAU,CAAC,CAAC;UAEjB;QAEF,KAAK,KAAK;UACR,IAAI,CAACC,SAAS,CAAC,CAAC;UAChB;QAEF,KAAK,MAAM;QACX,KAAK,KAAK;QACV,KAAK,WAAW;QAChB,KAAK,SAAS;UACZI,CAAC,CAACC,cAAc,CAAC,CAAC;UAClB;MACJ;IACF,CAAC;IAAA/E,eAAA,wBAEe,YAAe;MAAA,IAAdgF,IAAI,GAAAL,SAAA,CAAAM,MAAA,QAAAN,SAAA,QAAAO,SAAA,GAAAP,SAAA,MAAG,CAAC,CAAC;MACxB,MAAMQ,UAAU,GAAGjB,KAAI,CAACiB,UAAU,IAAI,CAAC,CAAC;MACxC,MAAMC,GAAG,GAAGvH,0BAA0B,CAACqG,KAAI,EAAE,SAAS,EAAAlB,aAAA,CAAAA,aAAA,KACjDgC,IAAI;QACPG;MAAU,EACX,CAAC;MAEF,IAAIC,GAAG,KAAK,KAAK,EAAE;QACjBlB,KAAI,CAACmB,QAAQ,CAACL,IAAI,CAAC;MACrB;MAEA,OAAOI,GAAG;IACZ,CAAC;IAAApF,eAAA,mBAEWgF,IAAI,IAAK;MACnBM,YAAY,CAAC,IAAI,CAACC,aAAa,CAAC;MAChC,IAAI,CAACA,aAAa,GAAGC,UAAU,CAAC,MAAM;QACpC,IAAI;UACF,MAAMC,OAAO,GAAG,IAAI,CAACC,UAAU,CAAClB,OAAO;UACvC,IAAIiB,OAAO,IAAI,OAAOA,OAAO,CAACE,KAAK,KAAK,UAAU,EAAE;YAClD,IAAIX,IAAI,CAACY,gBAAgB,KAAK,IAAI,EAAE;cAClCH,OAAO,CAACE,KAAK,CAAC;gBAAEE,aAAa,EAAE;cAAK,CAAC,CAAC;YACxC;YACAhI,0BAA0B,CAAC,IAAI,EAAE,eAAe,EAAE;cAAE4H;YAAQ,CAAC,CAAC;UAChE;QACF,CAAC,CAAC,OAAOX,CAAC,EAAE,CAEZ;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAAA9E,eAAA,0BAEkBgF,IAAI,IAAK;MAC1B,IAAIc,UAAU,CAACd,IAAI,CAACe,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;QACrC,MAAMZ,UAAU,GAAG,IAAI,CAACA,UAAU,IAAI,CAAC,CAAC;QACxCtH,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAAmF,aAAA,CAAAA,aAAA,KACvCgC,IAAI;UACPG;QAAU,EACX,CAAC;MACJ;IACF,CAAC;IAAAnF,eAAA,0BAEkBgF,IAAI,IAAK;MAC1B,MAAMG,UAAU,GAAG,IAAI,CAACA,UAAU,IAAI,CAAC,CAAC;MACxCtH,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAAmF,aAAA,CAAAA,aAAA,KACvCgC,IAAI;QACPG;MAAU,EACX,CAAC;IACJ,CAAC;IAnIC,IAAI,CAACa,GAAG,GAAG5G,KAAK,CAACD,EAAE,IAAI5B,YAAY,CAAC,CAAC;IAErC,IAAI,CAAC4H,UAAU,GAAG,CAAC,CAAC;IACpB,IAAI,CAACc,KAAK,GAAG,IAAI,CAACA,KAAK,IAAI,CAAC,CAAC;IAE7B,IAAI,CAACC,IAAI,GAAG9G,KAAK,CAAC2B,QAAQ,IAAI5D,KAAK,CAACgJ,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC5B,WAAW,GAAGpH,KAAK,CAACgJ,SAAS,CAAC,CAAC;IACpC,IAAI,CAACT,UAAU,GAAGtG,KAAK,CAAC4B,SAAS,IAAI7D,KAAK,CAACgJ,SAAS,CAAC,CAAC;EACxD;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,IAAI9I,MAAM,CAAC,IAAI,CAAC8B,KAAK,CAACQ,MAAM,CAAC,EAAE;MAC7B,IAAI,CAAC6E,UAAU,CAAC,CAAC;IACnB;EACF;EAEA4B,oBAAoBA,CAAA,EAAG;IACrBf,YAAY,CAAC,IAAI,CAACC,aAAa,CAAC;EAClC;EAmHAe,QAAQA,CAAA,EAAe;IAAA,IAAdrG,KAAK,GAAA0E,SAAA,CAAAM,MAAA,QAAAN,SAAA,QAAAO,SAAA,GAAAP,SAAA,MAAG,IAAI;IACnB,MAAM;MAAElF;IAAK,CAAC,GAAG,IAAI,CAAC2E,OAAO,CAACC,UAAU;IACxC,IAAI5E,IAAI,IAAIA,IAAI,CAACwF,MAAM,GAAG,CAAC,EAAE;MAC3B,MAAMsB,iBAAiB,GAAGxH,cAAc,CACtC,IAAI,CAACqF,OAAO,CAACC,UAAU,CAACmC,aAAa,EACrC/G,IACF,CAAC;MACD,IAAI8G,iBAAiB,EAAE;QACrBtG,KAAK,GACHsG,iBAAiB,CAACzC,cAAc,IAChChF,iBAAiB,CAACyH,iBAAiB,CAAC;MACxC;IACF;IACA,OAAOtG,KAAK;EACd;EAEAf,MAAMA,CAAA,EAAG;IAAA,IAAAuH,aAAA,EAAAC,cAAA,EAAAC,cAAA;IAEP,MAAMvH,KAAK,GAAG5B,sCAAsC,CAClD,IAAI,CAAC4B,KAAK,EACVJ,QAAQ,CAAC4H,YAAY,EACrB;MAAEvE,QAAQ,GAAAoE,aAAA,GAAE,IAAI,CAACrC,OAAO,cAAAqC,aAAA,uBAAZA,aAAA,CAAcpE;IAAS,CAAC,EACpC,IAAI,CAAC+B,OAAO,CAACyC,cAAc,CAAC,IAAI,CAACzH,KAAK,CAAC,CAACJ,QAAQ,EAEhDd,oBAAoB,EAAAwI,cAAA,GAAC,IAAI,CAACtC,OAAO,cAAAsC,cAAA,uBAAZA,cAAA,CAAcI,OAAO,CAAC,EAC3C5I,oBAAoB,EAAAyI,cAAA,GAAC,IAAI,CAACvC,OAAO,cAAAuC,cAAA,uBAAZA,cAAA,CAAcI,WAAW,CAAC,EAC/C,IAAI,CAAC3C,OAAO,CAACpF,QACf,CAAC;IAED,MAAM;QACJuB,KAAK;QACLC,eAAe;QACfC,aAAa;QACbL,SAAS;QACTuB,IAAI;QACJqF,cAAc;QACdC,gBAAgB;QAChBvG,MAAM;QACNC,YAAY;QACZC,YAAY;QACZC,mBAAmB;QACnBC,YAAY;QACZG,MAAM;QACNC,UAAU;QACVC,SAAS;QACTe,SAAS;QACTD,aAAa;QACbT,YAAY;QACZC,mBAAmB;QACnBnB,iBAAiB;QACjBgB,WAAW;QACXC,YAAY;QACZM,eAAe,EAAEqF,aAAa;QAC9B7H,SAAS;QACTC,WAAW;QACXoC,iBAAiB;QACjBnC,iBAAiB;QACjB6B,UAAU;QACVU,aAAa;QACbQ,SAAS;QACTH,QAAQ;QACRC,OAAO;QACPC,QAAQ;QACRnC,OAAO;QAEPD,KAAK,EAAEkH,MAAM;QACbhH,IAAI,EAAEiH,KAAK;QACXxF,cAAc,EAAEyF,eAAe;QAC/BhH,aAAa,EAAEiH,cAAc;QAC7B7H,IAAI,EAAE8H,KAAK;QACX/H,QAAQ,EAAEgI,SAAS;QACnBnG,SAAS,EAAEoG,UAAU;QACrBtI,EAAE,EAAE6G,GAAG;QACPpG,MAAM,EAAE8H,OAAO;QACf3F,KAAK,EAAE4F,MAAM;QACb3G,SAAS;QACTD;MAGF,CAAC,GAAG3B,KAAK;MADJ+F,UAAU,GAAAyC,wBAAA,CACXxI,KAAK,EAAAyI,SAAA;IAET,IAAI;MAAE1H,IAAI;MAAEE,aAAa;MAAEuB;IAAe,CAAC,GAAGxC,KAAK;IACnD,MAAMD,EAAE,GAAG,IAAI,CAAC6G,GAAG;IAEnB,MAAM8B,YAAY,GAChBxK,MAAM,CAACgC,WAAW,CAAC,IAAIhC,MAAM,CAAC+B,SAAS,CAAC,IAAI/B,MAAM,CAACiC,iBAAiB,CAAC;IACvE,MAAMwI,WAAW,GAAGzK,MAAM,CAAC+B,SAAS,CAAC,IAAI,EAAE8H,MAAM,IAAIA,MAAM,CAAClC,MAAM,GAAG,CAAC,CAAC;IACvE,IAAI8C,WAAW,EAAE;MACf5H,IAAI,GAAGA,IAAI,KAAK7C,MAAM,CAAC+B,SAAS,CAAC,GAAG,MAAM,GAAG,cAAc,CAAC;IAC9D;IACA,IAAI0I,WAAW,IAAIzK,MAAM,CAACgC,WAAW,CAAC,EAAE;MACtC,IAAIe,aAAa,KAAK,OAAO,IAAIuB,cAAc,KAAK,OAAO,EAAE;QAC3DvB,aAAa,GAAG,MAAM;QACtBuB,cAAc,GAAG,MAAM;MACzB;IACF;IAEA,MAAM;MAAE4E,aAAa;MAAEnF,SAAS;MAAEzB;IAAO,CAAC,GAAG,IAAI,CAACwE,OAAO,CAACC,UAAU;IACpE,MAAM2D,UAAU,GAAGtK,cAAc,CAACgD,MAAM,CAAC;IACzC,MAAMT,KAAK,GAAG,IAAI,CAACqG,QAAQ,CAACa,MAAM,CAAC;IAGnCc,MAAM,CAACC,MAAM,CACX,IAAI,CAAC9D,OAAO,CAACC,UAAU,CAACc,UAAU,EAClC1H,qBAAqB,CAAC,IAAI,EAAE0H,UAAU,CACxC,CAAC;IAED,MAAMgD,UAAU,GAAG;MACjB7F,SAAS,EAAEjF,UAAU,+BAEFgE,SAAS,gCAGKhB,aAAa,IAAI,OAAO,kBAOtCuB,cAAc,IAAI,OAAO,uBAJ1C,CAACtE,MAAM,CAACoE,iBAAiB,CAAC,IAAIpE,MAAM,CAACgC,WAAW,CAAC,KAC/C,iCAAiC,EAOnCrB,oBAAoB,CAACmB,KAAK,CAAC,EAC3BkD,SAAS,EAdT1C,MAAM,IAAI,sBAAsB,EAChCY,eAAe,IAAK,iBAAgBA,eAAgB,EAAC,EAErDuH,WAAW,IAAI,wBAAwB,EACvCzK,MAAM,CAACgC,WAAW,CAAC,IAAK,2BAA0B,EAGlDqC,IAAI,IAAK,iBAAgBA,IAAK,EAAC,EAC/BrE,MAAM,CAAC8E,OAAO,CAAC,IAAK,uBAAsB,EAE1C1B,MAAM,IAAK,yBAAwBC,YAAa,EAAC,EACjDqH,UAAU,IAAI,2BAIhB;IACF,CAAC;IAED,MAAMI,aAAa,GAAApF,aAAA,CAAAA,aAAA;MACjBV,SAAS,EACP,uBAAuB,IACvB1C,MAAM,8BACP;MACDT,EAAE;MACFgD,QAAQ;MACR,eAAe,EAAE2F,YAAY,GAAG,IAAI,GAAG,SAAS;MAChD,eAAe,EAAElI;IAAM,GACpBuF,UAAU;MACbkD,OAAO,EAAE,IAAI,CAACC,cAAc;MAC5BC,MAAM,EAAE,IAAI,CAACC,aAAa;MAC1BC,OAAO,EAAE,IAAI,CAACC,cAAc;MAC5BC,SAAS,EAAE,IAAI,CAACC;IAAuB,EACxC;IAED,IAAIhJ,MAAM,EAAE;MACVwI,aAAa,CAAC,eAAe,CAAC,GAAI,GAAEjJ,EAAG,KAAI;IAC7C;IAEA,IAAI6I,UAAU,IAAI/G,MAAM,EAAE;MACxBmH,aAAa,CAAC,kBAAkB,CAAC,GAAGzK,kBAAkB,CACpDyK,aAAa,EACbJ,UAAU,GAAG7I,EAAE,GAAG,SAAS,GAAG,IAAI,EAClC8B,MAAM,GAAG9B,EAAE,GAAG,SAAS,GAAG,IAC5B,CAAC;IACH;IAEA,IAAIoB,KAAK,EAAE;MACT6H,aAAa,CAAC,iBAAiB,CAAC,GAAGxK,iBAAiB,CAClDwK,aAAa,EACbjJ,EAAE,GAAG,QAAQ,EACbA,EACF,CAAC;IACH;IAGA1B,qBAAqB,CAAC,IAAI,EAAE0K,UAAU,CAAC;IACvC1K,qBAAqB,CAAC,IAAI,CAAC2B,KAAK,EAAEgJ,aAAa,CAAC;IAGhD,IAAI,CAACjD,UAAU,GAAG1H,qBAAqB,CAAC,IAAI,EAAE0H,UAAU,CAAC;IAEzD,OACEhI,KAAA,CAAAuC,aAAA,SAAAC,QAAA;MAAMkJ,GAAG,EAAE,IAAI,CAAC3C;IAAK,GAAKiC,UAAU,GACjC5H,KAAK,IACJpD,KAAA,CAAAuC,aAAA,CAACrB,SAAS;MACRc,EAAE,EAAEA,EAAE,GAAG,QAAS;MAClB2J,KAAK,EAAE3J,EAAG;MACV4J,IAAI,EAAExI,KAAM;MACZyI,cAAc,EAAExI,eAAgB;MAChCyI,MAAM,EAAExI,aAAc;MACtB0B,QAAQ,EAAEA,QAAS;MACnBE,QAAQ,EAAEA,QAAS;MACnBoG,OAAO,EAAE,IAAI,CAACC;IAAe,CAC9B,CACF,EAEDvL,KAAA,CAAAuC,aAAA;MAAM4C,SAAS,EAAC,qBAAqB;MAACuG,GAAG,EAAE,IAAI,CAACtE;IAAY,GAAA2E,gBAAA,KAAAA,gBAAA,GAC1D/L,KAAA,CAAAuC,aAAA,CAAC3B,eAAe,MAAE,CAAC,GAEnBZ,KAAA,CAAAuC,aAAA,CAACpB,UAAU,EAAAqB,QAAA;MACTwJ,IAAI,EAAEnB,UAAW;MACjB7I,EAAE,EAAEA,EAAE,GAAG,cAAe;MACxB2B,YAAY,EAAEA,YAAa;MAC3BP,KAAK,EAAEA,KAAM;MACb6I,OAAO,EAAEjK,EAAE,GAAG,SAAU;MACxB4J,IAAI,EAAErI,MAAO;MACbuF,KAAK,EAAEtF,YAAa;MACpBa,YAAY,EAAEX,mBAAoB;MAClCwB,QAAQ,EAAEA;IAAS,GACfzB,YAAY,CACjB,CAAC,EAEFzD,KAAA,CAAAuC,aAAA;MAAM4C,SAAS,EAAC;IAAmB,GACjCnF,KAAA,CAAAuC,aAAA;MAAM4C,SAAS,EAAC;IAAqB,GAClC4E,aAAa,GACZ/J,KAAA,CAAAuC,aAAA,CAACwH,aAAa,EAAKkB,aAAgB,CAAC,GAEpCjL,KAAA,CAAAuC,aAAA,CAACnB,MAAM,EAAAoB,QAAA;MACLO,OAAO,EAAEA,OAAQ;MACjBC,IAAI,EAAE,KAAM;MACZwB,IAAI,EAAEA,IAAI,KAAK,SAAS,GAAG,QAAQ,GAAGA,IAAK;MAC3CZ,QAAQ,EAAE,IAAI,CAAC2E,UAAW;MAC1B2D,cAAc,EACZlM,KAAA,CAAAuC,aAAA,CAAAvC,KAAA,CAAAmM,QAAA,QACG,CAACvB,WAAW,IACX5K,KAAA,CAAAuC,aAAA;QAAM4C,SAAS,EAAC;MAAqC,GACnDnF,KAAA,CAAAuC,aAAA;QAAM4C,SAAS,EAAC;MAA2B,GACxCrC,KACG,CACF,CACP,EACD9C,KAAA,CAAAuC,aAAA;QACE,mBAAW;QACX4C,SAAS,EACP,oBAAoB,IACpBwD,UAAU,CAACU,aAAa,CAAC,KAAK,CAAC;MAE/B,GAEDrG,IAAI,KAAK,KAAK,IACbhD,KAAA,CAAAuC,aAAA,CAACtB,IAAI;QACH+B,IAAI,EAAEA,IAAI,IAAI,cAAe;QAC7BwB,IAAI,EACFvB,SAAS,KACRuB,IAAI,KAAK,OAAO,GAAG,QAAQ,GAAG,SAAS;MACzC,CACF,CAEC,CACN;IACH,GACGyG,aAAa,CAClB,CACF,EAEDjL,KAAA,CAAAuC,aAAA,CAACjB,UAAU;MACTU,EAAE,EAAEA,EAAG;MACPoK,IAAI,EAAEzB,YAAY,GAAG,MAAM,GAAG,SAAU;MACxCvG,YAAY,EAAEA,YAAa;MAC3BiI,UAAU,EACR,oBAAoB,IACpBtJ,OAAO,KAAK,UAAU,wCACtB;MACF6B,KAAK,EAAEyE,aAAc;MACrB1E,aAAa,EAAEA,aAAc;MAC7BZ,UAAU,EAAEA,UAAW;MACvBC,SAAS,EAAEA,SAAU;MACrBK,YAAY,EAAEA,YAAa;MAC3BC,mBAAmB,EAAEA,mBAAoB;MACzCH,WAAW,EAAEA,WAAY;MACzB/B,iBAAiB,EAAEuI,YAAa;MAChCxI,WAAW,EAAEA,WAAY;MACzBgB,iBAAiB,EACfA,iBAAiB,IAAID,aAAa,IAAI,OACvC;MACD6B,SAAS,EAAEA,SAAU;MACrBD,aAAa,EAAEA,aAAc;MAC7BP,iBAAiB,EACfpE,MAAM,CAACoE,iBAAiB,CAAC,IAAIqG,WAAW,IAAIzI,WAC7C;MACDmK,QAAQ,EAAE1B,WAAW,IAAIzI,WAAY;MACrCoK,YAAY,EAAE9H,cAAc,IAAI,MAAO;MACvCoF,cAAc,EAAEA,cAAe;MAC/BC,gBAAgB,EAAEA,gBAAiB;MACnC9E,QAAQ,EAAEA,QAAS;MACnBf,UAAU,EAAEA,UAAW;MACvBC,SAAS,EAAEA,SAAU;MACrBM,IAAI,EAAEA,IAAK;MACXc,SAAS,EAAE,IAAI,CAACkH,eAAgB;MAChCjH,SAAS,EAAE,IAAI,CAACkH,eAAgB;MAChCpH,OAAO,EAAE,IAAI,CAACqH;IAAc,CAC7B,CACG,CAAC,EAEN5I,MAAM,IACL9D,KAAA,CAAAuC,aAAA,CAACvB,MAAM;MACLmE,SAAS,EAAC,sBAAsB;MAChCnD,EAAE,EAAEA,EAAE,GAAG,SAAU;MACnBiF,OAAO,EAAEhF,KAAM;MACfqJ,OAAO,EAAE,IAAI,CAAC/D;IAAU,GAEvBzD,MACK,CAEN,CACF,CACF,CAAC;EAEX;AACF;AAACjB,eAAA,CAzbKD,gBAAgB,kBAEEf,QAAQ,CAAC4H,YAAY;AAAA5G,eAAA,CAFvCD,gBAAgB,iBAGCrB,iBAAiB;AAAAkE,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAHlC/C,gBAAgB,CACbgD,SAAS,GAAG/D,QAAQ,CAAC+D,SAAS;AA0bvC/D,QAAQ,CAAC8K,cAAc,GAAGrL,UAAU,CAACqL,cAAc;AACnD9K,QAAQ,CAAC+K,YAAY,GAAG,IAAI;AAC5B/K,QAAQ,CAACgL,qBAAqB,GAAG,IAAI"}
1
+ {"version":3,"file":"Dropdown.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","keycode","AlignmentHelper","spacingPropTypes","createSpacingClasses","pickFormElementProps","Suffix","Icon","FormLabel","FormStatus","Button","buttonVariantPropType","DrawerList","DrawerListContext","DrawerListProvider","drawerListPropTypes","drawerListProviderPropTypes","parseContentTitle","getCurrentData","Dropdown","PureComponent","render","id","props","more_menu","action_menu","prevent_selection","children","data","createElement","_extends","opened","tagName","ignore_events","DropdownInstance","_defineProperty","title","variant","icon","icon_size","icon_position","triangle_position","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","innerRef","buttonRef","suffix","scrollable","focusable","max_height","direction","skip_portal","portal_class","no_animation","no_scroll_animation","independent_width","size","align_dropdown","trigger_element","default_value","value","open_on_focus","prevent_close","keep_open","disabled","stretch","skeleton","className","on_show","on_hide","on_change","on_select","on_state_update","process","env","NODE_ENV","propTypes","_objectSpread","string","oneOfType","node","func","oneOf","bool","object","shape","message","number","arrayOf","selectedKey","selected_key","selected_value","content","array","constructor","_this","this","context","drawerList","setWrapperElement","_refWrapper","current","setVisible","setHidden","arguments","hidden","isOpen","e","preventDefault","args","length","undefined","attributes","res","setFocus","clearTimeout","_focusTimeout","setTimeout","element","_refButton","focus","preventHideFocus","preventScroll","parseFloat","active_item","_id","state","_ref","createRef","componentDidMount","componentWillUnmount","getTitle","currentOptionData","selected_item","_this$context","_this$context2","_this$context3","defaultProps","getTranslation","FormRow","formElement","fixed_position","enable_body_lock","CustomTrigger","_title","_icon","_align_dropdown","_icon_position","_data","_children","_direction","_opened","_value","_objectWithoutProperties","_excluded","handleAsMenu","isPopupMenu","showStatus","Object","assign","mainParams","triggerParams","onFocus","onFocusHandler","onBlur","onBlurHandler","onClick","onClickHandler","onKeyDown","onTriggerKeyDownHandler","ref","forId","text","labelDirection","srOnly","_AlignmentHelper","show","text_id","custom_content","Fragment","role","list_class","is_popup","align_drawer","onChangeHandler","onSelectHandler","onHideHandler","HorizontalItem","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/dropdown/Dropdown.js"],"sourcesContent":["/**\n * Web Dropdown Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\nimport Suffix from '../../shared/helpers/Suffix'\nimport Icon from '../icon-primary/IconPrimary'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport DrawerList from '../../fragments/drawer-list/DrawerList'\nimport DrawerListContext from '../../fragments/drawer-list/DrawerListContext'\nimport DrawerListProvider from '../../fragments/drawer-list/DrawerListProvider'\nimport {\n drawerListPropTypes,\n drawerListProviderPropTypes,\n parseContentTitle,\n getCurrentData,\n} from '../../fragments/drawer-list/DrawerListHelpers'\n\nexport default class Dropdown extends React.PureComponent {\n static propTypes = {\n ...spacingPropTypes,\n ...drawerListPropTypes,\n ...drawerListProviderPropTypes,\n\n id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n variant: buttonVariantPropType.variant,\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.string,\n icon_position: PropTypes.oneOf(['left', 'right']),\n triangle_position: PropTypes.oneOf(['left', 'right']),\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n buttonRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n max_height: PropTypes.number,\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n more_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n align_dropdown: PropTypes.oneOf(['left', 'right']),\n trigger_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n /** @deprecated use `selectedKey` */\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n default_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n open_on_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n on_change: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: 'Option Menu',\n variant: 'secondary',\n icon: null,\n icon_size: null,\n icon_position: null,\n triangle_position: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n innerRef: null,\n buttonRef: null,\n suffix: null,\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n skip_portal: null,\n portal_class: null,\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n more_menu: false,\n action_menu: false,\n independent_width: false,\n size: 'default',\n align_dropdown: null,\n trigger_element: null,\n data: null,\n default_value: null,\n value: 'initval',\n open_on_focus: false,\n prevent_close: false,\n keep_open: false,\n opened: false,\n disabled: null,\n stretch: null,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n\n on_change: null,\n on_select: null,\n on_state_update: null,\n }\n\n render() {\n // generate ID here, so we can send it along the provider\n const id = this.props.id || makeUniqueId()\n const { more_menu, action_menu, prevent_selection, children, data } =\n this.props\n\n return (\n <DrawerListProvider\n {...this.props}\n id={id}\n data={data || children}\n opened={null}\n tagName=\"dnb-dropdown\"\n ignore_events={false}\n prevent_selection={\n isTrue(more_menu) ||\n isTrue(action_menu) ||\n isTrue(prevent_selection)\n }\n >\n <DropdownInstance {...this.props} id={id} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DropdownInstance extends React.PureComponent {\n static propTypes = Dropdown.propTypes\n static defaultProps = Dropdown.defaultProps\n static contextType = DrawerListContext\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n\n this.attributes = {}\n this.state = this.state || {}\n\n this._ref = props.innerRef || React.createRef()\n this._refWrapper = React.createRef()\n this._refButton = props.buttonRef || React.createRef()\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._focusTimeout)\n }\n\n setVisible = () => {\n this.context.drawerList\n .setWrapperElement(this._refWrapper.current)\n .setVisible()\n }\n\n setHidden = (...args) => {\n this.context.drawerList.setHidden(...args)\n }\n\n onFocusHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setVisible()\n }\n }\n\n onBlurHandler = () => {\n if (isTrue(this.props.open_on_focus)) {\n this.setHidden()\n }\n }\n\n onClickHandler = () => {\n if (isTrue(this.props.disabled)) {\n return // stop here\n }\n if (\n !this.context.drawerList.hidden &&\n this.context.drawerList.isOpen\n ) {\n this.setHidden()\n } else {\n this.setVisible()\n }\n }\n\n onTriggerKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'enter':\n case 'space':\n e.preventDefault()\n this.setVisible()\n break\n\n case 'up':\n case 'down':\n e.preventDefault()\n this.setVisible()\n\n break\n\n case 'esc':\n this.setHidden()\n break\n\n case 'home':\n case 'end':\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n onHideHandler = (args = {}) => {\n const attributes = this.attributes || {}\n const res = dispatchCustomElementEvent(this, 'on_hide', {\n ...args,\n attributes,\n })\n\n if (res !== false) {\n this.setFocus(args)\n }\n\n return res\n }\n\n setFocus = (args) => {\n clearTimeout(this._focusTimeout)\n this._focusTimeout = setTimeout(() => {\n try {\n const element = this._refButton.current\n if (element && typeof element.focus === 'function') {\n if (args.preventHideFocus !== true) {\n element.focus({ preventScroll: true })\n }\n dispatchCustomElementEvent(this, 'on_hide_focus', { element })\n }\n } catch (e) {\n // do noting\n }\n }, 1) // NVDA / Firefox needs a delay to set this focus\n }\n\n onSelectHandler = (args) => {\n if (parseFloat(args.active_item) > -1) {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_select', {\n ...args,\n attributes,\n })\n }\n }\n\n onChangeHandler = (args) => {\n const attributes = this.attributes || {}\n dispatchCustomElementEvent(this, 'on_change', {\n ...args,\n attributes,\n })\n }\n\n getTitle(title = null) {\n const { data } = this.context.drawerList\n if (data && data.length > 0) {\n const currentOptionData = getCurrentData(\n this.context.drawerList.selected_item,\n data\n )\n if (currentOptionData) {\n title =\n currentOptionData.selected_value ||\n parseContentTitle(currentOptionData)\n }\n }\n return title\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Dropdown.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Dropdown,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Dropdown\n )\n\n const {\n label,\n label_direction,\n label_sr_only,\n icon_size,\n size,\n fixed_position,\n enable_body_lock,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n scrollable,\n focusable,\n keep_open,\n prevent_close,\n no_animation,\n no_scroll_animation,\n triangle_position,\n skip_portal,\n portal_class,\n trigger_element: CustomTrigger,\n more_menu,\n action_menu,\n independent_width,\n prevent_selection,\n max_height,\n default_value,\n className,\n disabled,\n stretch,\n skeleton,\n variant,\n\n title: _title,\n icon: _icon, // eslint-disable-line\n align_dropdown: _align_dropdown, // eslint-disable-line\n icon_position: _icon_position, // eslint-disable-line\n data: _data, // eslint-disable-line\n children: _children, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n id: _id, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n buttonRef, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...attributes\n } = props\n\n let { icon, icon_position, align_dropdown } = props\n const id = this._id\n\n const handleAsMenu =\n isTrue(action_menu) || isTrue(more_menu) || isTrue(prevent_selection)\n const isPopupMenu = isTrue(more_menu) || !(_title && _title.length > 0)\n if (isPopupMenu) {\n icon = icon || (isTrue(more_menu) ? 'more' : 'chevron_down')\n }\n if (isPopupMenu || isTrue(action_menu)) {\n if (icon_position !== 'right' && align_dropdown !== 'right') {\n icon_position = 'left'\n align_dropdown = 'left'\n }\n }\n\n const { selected_item, direction, opened } = this.context.drawerList\n const showStatus = getStatusState(status)\n const title = this.getTitle(_title)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const mainParams = {\n className: classnames(\n 'dnb-dropdown',\n `dnb-dropdown--${direction}`,\n opened && 'dnb-dropdown--opened',\n label_direction && `dnb-dropdown--${label_direction}`,\n `dnb-dropdown--icon-position-${icon_position || 'right'}`,\n isPopupMenu && 'dnb-dropdown--is-popup',\n isTrue(action_menu) && `dnb-dropdown--action-menu`,\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-dropdown--independent-width',\n size && `dnb-dropdown--${size}`,\n isTrue(stretch) && `dnb-dropdown--stretch`,\n `dnb-dropdown--${align_dropdown || 'right'}`,\n status && `dnb-dropdown__status--${status_state}`,\n showStatus && 'dnb-dropdown__form-status',\n 'dnb-form-component',\n createSpacingClasses(props),\n className\n ),\n }\n\n const triggerParams = {\n className: classnames(\n 'dnb-dropdown__trigger',\n opened && 'dnb-button--active'\n ),\n id,\n disabled,\n 'aria-haspopup': handleAsMenu ? true : 'listbox',\n 'aria-expanded': opened,\n ...attributes,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n onClick: this.onClickHandler,\n onKeyDown: this.onTriggerKeyDownHandler,\n }\n\n if (opened) {\n triggerParams['aria-controls'] = `${id}-ul`\n }\n\n if (showStatus || suffix) {\n triggerParams['aria-describedby'] = combineDescribedBy(\n triggerParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n if (label) {\n triggerParams['aria-labelledby'] = combineLabelledBy(\n triggerParams,\n id + '-label',\n id // used to read the current value\n )\n }\n\n // also used for code markup simulation\n validateDOMAttributes(null, mainParams)\n validateDOMAttributes(this.props, triggerParams)\n\n // make it possible to grab the rest attributes and return it with all events\n this.attributes = validateDOMAttributes(null, attributes)\n\n return (\n <span ref={this._ref} {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n onClick={this.onClickHandler}\n />\n )}\n\n <span className=\"dnb-dropdown__inner\" ref={this._refWrapper}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-dropdown__row\">\n <span className=\"dnb-dropdown__shell\">\n {CustomTrigger ? (\n <CustomTrigger {...triggerParams} />\n ) : (\n <Button\n variant={variant}\n icon={false} // only to suppress the warning about the icon when tertiary variant is used\n size={size === 'default' ? 'medium' : size}\n innerRef={this._refButton}\n custom_content={\n <>\n {!isPopupMenu && (\n <span className=\"dnb-dropdown__text dnb-button__text\">\n <span className=\"dnb-dropdown__text__inner\">\n {title}\n </span>\n </span>\n )}\n <span\n aria-hidden\n className={classnames(\n 'dnb-dropdown__icon',\n parseFloat(selected_item) === 0 &&\n 'dnb-dropdown__icon--first'\n )}\n >\n {icon !== false && (\n <Icon\n icon={icon || 'chevron_down'}\n size={\n icon_size ||\n (size === 'large' ? 'medium' : 'default')\n }\n />\n )}\n </span>\n </>\n }\n {...triggerParams}\n />\n )}\n\n <DrawerList\n id={id}\n role={handleAsMenu ? 'menu' : 'listbox'}\n portal_class={portal_class}\n list_class={classnames(\n 'dnb-dropdown__list',\n variant === 'tertiary' && 'dnb-dropdown__list--tertiary'\n )}\n value={selected_item}\n default_value={default_value}\n scrollable={scrollable}\n focusable={focusable}\n no_animation={no_animation}\n no_scroll_animation={no_scroll_animation}\n skip_portal={skip_portal}\n prevent_selection={handleAsMenu}\n action_menu={action_menu}\n triangle_position={\n triangle_position || icon_position || 'right'\n }\n keep_open={keep_open}\n prevent_close={prevent_close}\n independent_width={\n isTrue(independent_width) || isPopupMenu || action_menu\n }\n is_popup={isPopupMenu || action_menu}\n align_drawer={align_dropdown || 'left'}\n fixed_position={fixed_position}\n enable_body_lock={enable_body_lock}\n disabled={disabled}\n max_height={max_height}\n direction={direction}\n size={size}\n on_change={this.onChangeHandler}\n on_select={this.onSelectHandler}\n on_hide={this.onHideHandler}\n />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-dropdown__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n onClick={this.setHidden}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nDropdown.HorizontalItem = DrawerList.HorizontalItem\nDropdown._formElement = true\nDropdown._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -9,6 +9,8 @@ export type HelpProps = {
9
9
  open?: boolean;
10
10
  /** Only for the "inline" variant */
11
11
  breakout?: boolean;
12
+ /** Only for the "inline" variant */
13
+ outset?: boolean;
12
14
  };
13
15
  export type HelpButtonInlineProps = HelpButtonProps & {
14
16
  contentId?: string;
@@ -30,6 +32,7 @@ export type HelpButtonInlineContentProps = SpacingProps & {
30
32
  children?: React.ReactNode;
31
33
  help?: HelpProps;
32
34
  breakout?: boolean;
35
+ outset?: boolean;
33
36
  };
34
37
  export declare function HelpButtonInlineContent(props: HelpButtonInlineContentProps): import("react/jsx-runtime").JSX.Element;
35
38
  export declare namespace HelpButtonInlineContent {
@@ -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 _QuestionIcon, _CloseIcon;
6
6
  const _excluded = ["contentId", "size", "help", "className", "children"],
7
- _excluded2 = ["contentId", "className", "children", "help", "breakout"];
7
+ _excluded2 = ["contentId", "className", "children", "help", "breakout", "outset"];
8
8
  import React, { useCallback, useContext, useEffect, useRef } from 'react';
9
9
  import classnames from 'classnames';
10
10
  import HelpButtonInstance from './HelpButtonInstance';
@@ -76,7 +76,8 @@ export function HelpButtonInlineContent(props) {
76
76
  className,
77
77
  children,
78
78
  help: helpProp,
79
- breakout = true
79
+ breakout = true,
80
+ outset = true
80
81
  } = props,
81
82
  rest = _objectWithoutProperties(props, _excluded2);
82
83
  const {
@@ -93,11 +94,13 @@ export function HelpButtonInlineContent(props) {
93
94
  title,
94
95
  content,
95
96
  renderAs,
96
- breakout: breakoutProp = true
97
+ breakout: breakoutProp = true,
98
+ outset: outsetProp = true
97
99
  } = helpProp || {};
98
100
  const innerRef = useRef(null);
99
101
  const cardContext = useContext(CardContext);
100
102
  const breakoutFromLayout = Boolean(cardContext) && breakout && breakoutProp;
103
+ const outsetFromLayout = outset && outsetProp;
101
104
  useEffect(() => {
102
105
  if (isOpen && isUserIntent) {
103
106
  window.requestAnimationFrame(() => {
@@ -148,6 +151,7 @@ export function HelpButtonInlineContent(props) {
148
151
  tabIndex: -1,
149
152
  innerRef: innerRef,
150
153
  onKeyDown: onKeyDown,
154
+ outset: outsetFromLayout,
151
155
  breakout: breakoutFromLayout,
152
156
  roundedCorner: !breakoutFromLayout,
153
157
  innerSpace: breakoutFromLayout ? {
@@ -163,7 +167,7 @@ export function HelpButtonInlineContent(props) {
163
167
  }, rest), React.createElement(Flex.Vertical, {
164
168
  gap: "x-small"
165
169
  }, title && React.createElement(P, {
166
- medium: true
170
+ weight: "medium"
167
171
  }, title), content && React.createElement(P, null, content)), children));
168
172
  }
169
173
  function HelpButtonIcon() {
@@ -1 +1 @@
1
- {"version":3,"file":"HelpButtonInline.js","names":["React","useCallback","useContext","useEffect","useRef","classnames","HelpButtonInstance","HeightAnimation","useSharedState","convertJsxToString","useId","Section","P","Flex","CardContext","Dialog","question","QuestionIcon","close","CloseIcon","HelpButtonInline","props","_help$open","contentId","size","help","className","children","rest","_objectWithoutProperties","_excluded","controlId","data","update","isOpen","open","isUserIntent","wasOpenRef","undefined","buttonRef","onClickHandler","_ref","event","preventDefault","current","createElement","Fragment","_extends","bounding","icon","HelpButtonIcon","title","id","on_click","innerRef","HelpButtonInlineContent","_ref2","helpProp","breakout","_excluded2","content","renderAs","breakoutProp","cardContext","breakoutFromLayout","Boolean","window","requestAnimationFrame","_innerRef$current","focus","preventScroll","onClose","onKeyDown","currentTarget","target","key","trim","code","_buttonRef$current","omitTriggerButton","openState","tabIndex","roundedCorner","innerSpace","top","bottom","left","right","backgroundColor","Vertical","gap","medium","_QuestionIcon","_CloseIcon","_supportsSpacingProps"],"sources":["../../../../src/components/help-button/HelpButtonInline.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport { HelpButtonProps } from './HelpButton'\nimport HelpButtonInstance from './HelpButtonInstance'\nimport HeightAnimation from '../HeightAnimation'\nimport { useSharedState } from '../../shared/helpers/useSharedState'\nimport { convertJsxToString } from '../../shared/component-helper'\nimport useId from '../../shared/helpers/useId'\nimport Section from '../Section'\nimport { P } from '../../elements'\nimport Flex from '../Flex'\nimport CardContext from '../card/CardContext'\nimport { SpacingProps } from '../space/types'\nimport Dialog from '../Dialog'\nimport { question as QuestionIcon, close as CloseIcon } from '../../icons'\n\nexport type HelpProps = {\n title?: React.ReactNode\n content?: React.ReactNode\n renderAs?: 'inline' | 'dialog'\n /** Only for the \"inline\" variant */\n open?: boolean\n /** Only for the \"inline\" variant */\n breakout?: boolean\n}\n\nexport type HelpButtonInlineProps = HelpButtonProps & {\n contentId?: string\n help?: HelpProps\n}\n\nexport type HelpButtonInlineSharedStateDataProps = {\n isOpen: boolean\n isUserIntent?: boolean\n buttonRef?: React.RefObject<HTMLButtonElement>\n}\n\nexport default function HelpButtonInline(props: HelpButtonInlineProps) {\n const { contentId, size, help, className, children, ...rest } = props\n const controlId = useId(contentId)\n\n const { data, update } =\n useSharedState<HelpButtonInlineSharedStateDataProps>(controlId, {\n isOpen: help?.open ?? false,\n })\n const { isOpen, isUserIntent } = data || {}\n const wasOpenRef = useRef(undefined)\n const buttonRef = useRef<HTMLButtonElement>(null)\n\n const onClickHandler = useCallback(\n ({ event }: { event: React.MouseEvent<HTMLButtonElement> }) => {\n event.preventDefault() // Because when used inside a FormLabel\n update({ isOpen: !isOpen, isUserIntent: !isOpen, buttonRef })\n wasOpenRef.current = !isOpen\n },\n [isOpen, update]\n )\n\n return (\n <>\n <HelpButtonInstance\n bounding\n size={size ?? 'small'}\n icon={HelpButtonIcon}\n title={\n !isOpen && !wasOpenRef.current\n ? convertJsxToString(help?.title)\n : undefined\n }\n {...rest}\n id={controlId}\n className={classnames(\n 'dnb-help-button__inline',\n isOpen && 'dnb-help-button__inline--open',\n isUserIntent && 'dnb-help-button__inline--user-intent',\n typeof wasOpenRef.current === 'boolean' &&\n 'dnb-help-button__inline--was-open',\n className\n )}\n aria-controls={`${controlId}-content`}\n on_click={onClickHandler}\n innerRef={buttonRef}\n />\n\n {!contentId && (\n <HelpButtonInlineContent contentId={controlId} help={help}>\n {children}\n </HelpButtonInlineContent>\n )}\n </>\n )\n}\n\nexport type HelpButtonInlineContentProps = SpacingProps & {\n contentId: string\n className?: string\n children?: React.ReactNode\n help?: HelpProps\n breakout?: boolean\n}\n\nexport function HelpButtonInlineContent(\n props: HelpButtonInlineContentProps\n) {\n const {\n contentId,\n className,\n children,\n help: helpProp,\n breakout = true,\n ...rest\n } = props\n const { data, update } =\n useSharedState<HelpButtonInlineSharedStateDataProps>(contentId)\n const { isOpen, isUserIntent, buttonRef } = data || {}\n const {\n open,\n title,\n content,\n renderAs,\n breakout: breakoutProp = true,\n } = helpProp || {}\n\n const innerRef = useRef<HTMLDivElement>(null)\n const cardContext = useContext(CardContext)\n const breakoutFromLayout =\n Boolean(cardContext) && breakout && breakoutProp\n\n useEffect(() => {\n if (isOpen && isUserIntent) {\n window.requestAnimationFrame(() => {\n innerRef.current?.focus({ preventScroll: true })\n })\n }\n }, [isOpen, isUserIntent])\n\n const onClose = useCallback(() => {\n update({ isOpen: false, isUserIntent: false })\n }, [update])\n\n const onKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.currentTarget === event.target) {\n // Firefox returns a whitespace (\" \") on event.key when pressing space,\n // therefore using .trim() can help normalize this.\n // While userEvent.keyboard('{Space}') might return 'Unknown' on event.code,\n // making a direct comparison less reliable across all platforms.\n switch (event.key.trim() || event.code) {\n case 'Enter':\n case 'Space':\n case 'Escape':\n event.preventDefault()\n window.requestAnimationFrame(() => {\n onClose()\n buttonRef.current?.focus()\n })\n break\n }\n }\n },\n [buttonRef, onClose]\n )\n\n if (renderAs === 'dialog') {\n return (\n <Dialog\n title={title}\n omitTriggerButton\n openState={isOpen ?? open}\n onClose={onClose}\n >\n {content}\n {children}\n </Dialog>\n )\n }\n\n return (\n <HeightAnimation\n className={classnames('dnb-help-button__content', className)}\n open={isOpen ?? open ?? false}\n >\n <Section\n id={`${contentId}-content`}\n aria-label={convertJsxToString(title)}\n className=\"dnb-no-focus\"\n tabIndex={-1}\n innerRef={innerRef}\n onKeyDown={onKeyDown}\n breakout={breakoutFromLayout}\n roundedCorner={!breakoutFromLayout}\n innerSpace={\n breakoutFromLayout\n ? { top: 'small', bottom: 'medium' }\n : {\n top: 'small',\n bottom: 'medium',\n left: 'medium',\n right: 'x-small',\n }\n }\n backgroundColor=\"lavender\"\n {...rest}\n >\n <Flex.Vertical gap=\"x-small\">\n {title && <P medium>{title}</P>}\n {content && <P>{content}</P>}\n </Flex.Vertical>\n {children}\n </Section>\n </HeightAnimation>\n )\n}\n\nfunction HelpButtonIcon() {\n return (\n <>\n <QuestionIcon />\n <CloseIcon />\n </>\n )\n}\n\nHelpButtonInline._supportsSpacingProps = true\nHelpButtonInlineContent._supportsSpacingProps = true\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzE,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,OAAOC,eAAe,MAAM,oBAAoB;AAChD,SAASC,cAAc,QAAQ,qCAAqC;AACpE,SAASC,kBAAkB,QAAQ,+BAA+B;AAClE,OAAOC,KAAK,MAAM,4BAA4B;AAC9C,OAAOC,OAAO,MAAM,YAAY;AAChC,SAASC,CAAC,QAAQ,gBAAgB;AAClC,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,WAAW,MAAM,qBAAqB;AAE7C,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,QAAQ,IAAIC,YAAY,EAAEC,KAAK,IAAIC,SAAS,QAAQ,aAAa;AAuB1E,eAAe,SAASC,gBAAgBA,CAACC,KAA4B,EAAE;EAAA,IAAAC,UAAA;EACrE,MAAM;MAAEC,SAAS;MAAEC,IAAI;MAAEC,IAAI;MAAEC,SAAS;MAAEC;IAAkB,CAAC,GAAGN,KAAK;IAAdO,IAAI,GAAAC,wBAAA,CAAKR,KAAK,EAAAS,SAAA;EACrE,MAAMC,SAAS,GAAGrB,KAAK,CAACa,SAAS,CAAC;EAElC,MAAM;IAAES,IAAI;IAAEC;EAAO,CAAC,GACpBzB,cAAc,CAAuCuB,SAAS,EAAE;IAC9DG,MAAM,GAAAZ,UAAA,GAAEG,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEU,IAAI,cAAAb,UAAA,cAAAA,UAAA,GAAI;EACxB,CAAC,CAAC;EACJ,MAAM;IAAEY,MAAM;IAAEE;EAAa,CAAC,GAAGJ,IAAI,IAAI,CAAC,CAAC;EAC3C,MAAMK,UAAU,GAAGjC,MAAM,CAACkC,SAAS,CAAC;EACpC,MAAMC,SAAS,GAAGnC,MAAM,CAAoB,IAAI,CAAC;EAEjD,MAAMoC,cAAc,GAAGvC,WAAW,CAChCwC,IAAA,IAA+D;IAAA,IAA9D;MAAEC;IAAsD,CAAC,GAAAD,IAAA;IACxDC,KAAK,CAACC,cAAc,CAAC,CAAC;IACtBV,MAAM,CAAC;MAAEC,MAAM,EAAE,CAACA,MAAM;MAAEE,YAAY,EAAE,CAACF,MAAM;MAAEK;IAAU,CAAC,CAAC;IAC7DF,UAAU,CAACO,OAAO,GAAG,CAACV,MAAM;EAC9B,CAAC,EACD,CAACA,MAAM,EAAED,MAAM,CACjB,CAAC;EAED,OACEjC,KAAA,CAAA6C,aAAA,CAAA7C,KAAA,CAAA8C,QAAA,QACE9C,KAAA,CAAA6C,aAAA,CAACvC,kBAAkB,EAAAyC,QAAA;IACjBC,QAAQ;IACRxB,IAAI,EAAEA,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,OAAQ;IACtByB,IAAI,EAAEC,cAAe;IACrBC,KAAK,EACH,CAACjB,MAAM,IAAI,CAACG,UAAU,CAACO,OAAO,GAC1BnC,kBAAkB,CAACgB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE0B,KAAK,CAAC,GAC/Bb;EACL,GACGV,IAAI;IACRwB,EAAE,EAAErB,SAAU;IACdL,SAAS,EAAErB,UAAU,CACnB,yBAAyB,EAKzBqB,SAAS,EAJTQ,MAAM,IAAI,+BAA+B,EACzCE,YAAY,IAAI,sCAAsC,EACtD,OAAOC,UAAU,CAACO,OAAO,KAAK,SAAS,IACrC,mCAEJ,CAAE;IACF,iBAAgB,GAAEb,SAAU,UAAU;IACtCsB,QAAQ,EAAEb,cAAe;IACzBc,QAAQ,EAAEf;EAAU,EACrB,CAAC,EAED,CAAChB,SAAS,IACTvB,KAAA,CAAA6C,aAAA,CAACU,uBAAuB;IAAChC,SAAS,EAAEQ,SAAU;IAACN,IAAI,EAAEA;EAAK,GACvDE,QACsB,CAE3B,CAAC;AAEP;AAUA,OAAO,SAAS4B,uBAAuBA,CACrClC,KAAmC,EACnC;EAAA,IAAAmC,KAAA;EACA,MAAM;MACJjC,SAAS;MACTG,SAAS;MACTC,QAAQ;MACRF,IAAI,EAAEgC,QAAQ;MACdC,QAAQ,GAAG;IAEb,CAAC,GAAGrC,KAAK;IADJO,IAAI,GAAAC,wBAAA,CACLR,KAAK,EAAAsC,UAAA;EACT,MAAM;IAAE3B,IAAI;IAAEC;EAAO,CAAC,GACpBzB,cAAc,CAAuCe,SAAS,CAAC;EACjE,MAAM;IAAEW,MAAM;IAAEE,YAAY;IAAEG;EAAU,CAAC,GAAGP,IAAI,IAAI,CAAC,CAAC;EACtD,MAAM;IACJG,IAAI;IACJgB,KAAK;IACLS,OAAO;IACPC,QAAQ;IACRH,QAAQ,EAAEI,YAAY,GAAG;EAC3B,CAAC,GAAGL,QAAQ,IAAI,CAAC,CAAC;EAElB,MAAMH,QAAQ,GAAGlD,MAAM,CAAiB,IAAI,CAAC;EAC7C,MAAM2D,WAAW,GAAG7D,UAAU,CAACY,WAAW,CAAC;EAC3C,MAAMkD,kBAAkB,GACtBC,OAAO,CAACF,WAAW,CAAC,IAAIL,QAAQ,IAAII,YAAY;EAElD3D,SAAS,CAAC,MAAM;IACd,IAAI+B,MAAM,IAAIE,YAAY,EAAE;MAC1B8B,MAAM,CAACC,qBAAqB,CAAC,MAAM;QAAA,IAAAC,iBAAA;QACjC,CAAAA,iBAAA,GAAAd,QAAQ,CAACV,OAAO,cAAAwB,iBAAA,uBAAhBA,iBAAA,CAAkBC,KAAK,CAAC;UAAEC,aAAa,EAAE;QAAK,CAAC,CAAC;MAClD,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACpC,MAAM,EAAEE,YAAY,CAAC,CAAC;EAE1B,MAAMmC,OAAO,GAAGtE,WAAW,CAAC,MAAM;IAChCgC,MAAM,CAAC;MAAEC,MAAM,EAAE,KAAK;MAAEE,YAAY,EAAE;IAAM,CAAC,CAAC;EAChD,CAAC,EAAE,CAACH,MAAM,CAAC,CAAC;EAEZ,MAAMuC,SAAS,GAAGvE,WAAW,CAC1ByC,KAA6C,IAAK;IACjD,IAAIA,KAAK,CAAC+B,aAAa,KAAK/B,KAAK,CAACgC,MAAM,EAAE;MAKxC,QAAQhC,KAAK,CAACiC,GAAG,CAACC,IAAI,CAAC,CAAC,IAAIlC,KAAK,CAACmC,IAAI;QACpC,KAAK,OAAO;QACZ,KAAK,OAAO;QACZ,KAAK,QAAQ;UACXnC,KAAK,CAACC,cAAc,CAAC,CAAC;UACtBuB,MAAM,CAACC,qBAAqB,CAAC,MAAM;YAAA,IAAAW,kBAAA;YACjCP,OAAO,CAAC,CAAC;YACT,CAAAO,kBAAA,GAAAvC,SAAS,CAACK,OAAO,cAAAkC,kBAAA,uBAAjBA,kBAAA,CAAmBT,KAAK,CAAC,CAAC;UAC5B,CAAC,CAAC;UACF;MACJ;IACF;EACF,CAAC,EACD,CAAC9B,SAAS,EAAEgC,OAAO,CACrB,CAAC;EAED,IAAIV,QAAQ,KAAK,QAAQ,EAAE;IACzB,OACE7D,KAAA,CAAA6C,aAAA,CAAC9B,MAAM;MACLoC,KAAK,EAAEA,KAAM;MACb4B,iBAAiB;MACjBC,SAAS,EAAE9C,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIC,IAAK;MAC1BoC,OAAO,EAAEA;IAAQ,GAEhBX,OAAO,EACPjC,QACK,CAAC;EAEb;EAEA,OACE3B,KAAA,CAAA6C,aAAA,CAACtC,eAAe;IACdmB,SAAS,EAAErB,UAAU,CAAC,0BAA0B,EAAEqB,SAAS,CAAE;IAC7DS,IAAI,GAAAqB,KAAA,GAAEtB,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIC,IAAI,cAAAqB,KAAA,cAAAA,KAAA,GAAI;EAAM,GAE9BxD,KAAA,CAAA6C,aAAA,CAAClC,OAAO,EAAAoC,QAAA;IACNK,EAAE,EAAG,GAAE7B,SAAU,UAAU;IAC3B,cAAYd,kBAAkB,CAAC0C,KAAK,CAAE;IACtCzB,SAAS,EAAC,cAAc;IACxBuD,QAAQ,EAAE,CAAC,CAAE;IACb3B,QAAQ,EAAEA,QAAS;IACnBkB,SAAS,EAAEA,SAAU;IACrBd,QAAQ,EAAEM,kBAAmB;IAC7BkB,aAAa,EAAE,CAAClB,kBAAmB;IACnCmB,UAAU,EACRnB,kBAAkB,GACd;MAAEoB,GAAG,EAAE,OAAO;MAAEC,MAAM,EAAE;IAAS,CAAC,GAClC;MACED,GAAG,EAAE,OAAO;MACZC,MAAM,EAAE,QAAQ;MAChBC,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAE;IACT,CACL;IACDC,eAAe,EAAC;EAAU,GACtB5D,IAAI,GAER5B,KAAA,CAAA6C,aAAA,CAAChC,IAAI,CAAC4E,QAAQ;IAACC,GAAG,EAAC;EAAS,GACzBvC,KAAK,IAAInD,KAAA,CAAA6C,aAAA,CAACjC,CAAC;IAAC+E,MAAM;EAAA,GAAExC,KAAS,CAAC,EAC9BS,OAAO,IAAI5D,KAAA,CAAA6C,aAAA,CAACjC,CAAC,QAAEgD,OAAW,CACd,CAAC,EACfjC,QACM,CACM,CAAC;AAEtB;AAEA,SAASuB,cAAcA,CAAA,EAAG;EACxB,OACElD,KAAA,CAAA6C,aAAA,CAAA7C,KAAA,CAAA8C,QAAA,QAAA8C,aAAA,KAAAA,aAAA,GACE5F,KAAA,CAAA6C,aAAA,CAAC5B,YAAY,MAAE,CAAC,GAAA4E,UAAA,KAAAA,UAAA,GAChB7F,KAAA,CAAA6C,aAAA,CAAC1B,SAAS,MAAE,CAAC,CACb,CAAC;AAEP;AAEAC,gBAAgB,CAAC0E,qBAAqB,GAAG,IAAI;AAC7CvC,uBAAuB,CAACuC,qBAAqB,GAAG,IAAI"}
1
+ {"version":3,"file":"HelpButtonInline.js","names":["React","useCallback","useContext","useEffect","useRef","classnames","HelpButtonInstance","HeightAnimation","useSharedState","convertJsxToString","useId","Section","P","Flex","CardContext","Dialog","question","QuestionIcon","close","CloseIcon","HelpButtonInline","props","_help$open","contentId","size","help","className","children","rest","_objectWithoutProperties","_excluded","controlId","data","update","isOpen","open","isUserIntent","wasOpenRef","undefined","buttonRef","onClickHandler","_ref","event","preventDefault","current","createElement","Fragment","_extends","bounding","icon","HelpButtonIcon","title","id","on_click","innerRef","HelpButtonInlineContent","_ref2","helpProp","breakout","outset","_excluded2","content","renderAs","breakoutProp","outsetProp","cardContext","breakoutFromLayout","Boolean","outsetFromLayout","window","requestAnimationFrame","_innerRef$current","focus","preventScroll","onClose","onKeyDown","currentTarget","target","key","trim","code","_buttonRef$current","omitTriggerButton","openState","tabIndex","roundedCorner","innerSpace","top","bottom","left","right","backgroundColor","Vertical","gap","weight","_QuestionIcon","_CloseIcon","_supportsSpacingProps"],"sources":["../../../../src/components/help-button/HelpButtonInline.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect, useRef } from 'react'\nimport classnames from 'classnames'\nimport { HelpButtonProps } from './HelpButton'\nimport HelpButtonInstance from './HelpButtonInstance'\nimport HeightAnimation from '../HeightAnimation'\nimport { useSharedState } from '../../shared/helpers/useSharedState'\nimport { convertJsxToString } from '../../shared/component-helper'\nimport useId from '../../shared/helpers/useId'\nimport Section from '../Section'\nimport { P } from '../../elements'\nimport Flex from '../Flex'\nimport CardContext from '../card/CardContext'\nimport { SpacingProps } from '../space/types'\nimport Dialog from '../Dialog'\nimport { question as QuestionIcon, close as CloseIcon } from '../../icons'\n\nexport type HelpProps = {\n title?: React.ReactNode\n content?: React.ReactNode\n renderAs?: 'inline' | 'dialog'\n /** Only for the \"inline\" variant */\n open?: boolean\n /** Only for the \"inline\" variant */\n breakout?: boolean\n /** Only for the \"inline\" variant */\n outset?: boolean\n}\n\nexport type HelpButtonInlineProps = HelpButtonProps & {\n contentId?: string\n help?: HelpProps\n}\n\nexport type HelpButtonInlineSharedStateDataProps = {\n isOpen: boolean\n isUserIntent?: boolean\n buttonRef?: React.RefObject<HTMLButtonElement>\n}\n\nexport default function HelpButtonInline(props: HelpButtonInlineProps) {\n const { contentId, size, help, className, children, ...rest } = props\n const controlId = useId(contentId)\n\n const { data, update } =\n useSharedState<HelpButtonInlineSharedStateDataProps>(controlId, {\n isOpen: help?.open ?? false,\n })\n const { isOpen, isUserIntent } = data || {}\n const wasOpenRef = useRef(undefined)\n const buttonRef = useRef<HTMLButtonElement>(null)\n\n const onClickHandler = useCallback(\n ({ event }: { event: React.MouseEvent<HTMLButtonElement> }) => {\n event.preventDefault() // Because when used inside a FormLabel\n update({ isOpen: !isOpen, isUserIntent: !isOpen, buttonRef })\n wasOpenRef.current = !isOpen\n },\n [isOpen, update]\n )\n\n return (\n <>\n <HelpButtonInstance\n bounding\n size={size ?? 'small'}\n icon={HelpButtonIcon}\n title={\n !isOpen && !wasOpenRef.current\n ? convertJsxToString(help?.title)\n : undefined\n }\n {...rest}\n id={controlId}\n className={classnames(\n 'dnb-help-button__inline',\n isOpen && 'dnb-help-button__inline--open',\n isUserIntent && 'dnb-help-button__inline--user-intent',\n typeof wasOpenRef.current === 'boolean' &&\n 'dnb-help-button__inline--was-open',\n className\n )}\n aria-controls={`${controlId}-content`}\n on_click={onClickHandler}\n innerRef={buttonRef}\n />\n\n {!contentId && (\n <HelpButtonInlineContent contentId={controlId} help={help}>\n {children}\n </HelpButtonInlineContent>\n )}\n </>\n )\n}\n\nexport type HelpButtonInlineContentProps = SpacingProps & {\n contentId: string\n className?: string\n children?: React.ReactNode\n help?: HelpProps\n breakout?: boolean\n outset?: boolean\n}\n\nexport function HelpButtonInlineContent(\n props: HelpButtonInlineContentProps\n) {\n const {\n contentId,\n className,\n children,\n help: helpProp,\n breakout = true,\n outset = true,\n ...rest\n } = props\n const { data, update } =\n useSharedState<HelpButtonInlineSharedStateDataProps>(contentId)\n const { isOpen, isUserIntent, buttonRef } = data || {}\n const {\n open,\n title,\n content,\n renderAs,\n breakout: breakoutProp = true,\n outset: outsetProp = true,\n } = helpProp || {}\n\n const innerRef = useRef<HTMLDivElement>(null)\n const cardContext = useContext(CardContext)\n const breakoutFromLayout =\n Boolean(cardContext) && breakout && breakoutProp\n const outsetFromLayout = outset && outsetProp\n\n useEffect(() => {\n if (isOpen && isUserIntent) {\n window.requestAnimationFrame(() => {\n innerRef.current?.focus({ preventScroll: true })\n })\n }\n }, [isOpen, isUserIntent])\n\n const onClose = useCallback(() => {\n update({ isOpen: false, isUserIntent: false })\n }, [update])\n\n const onKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.currentTarget === event.target) {\n // Firefox returns a whitespace (\" \") on event.key when pressing space,\n // therefore using .trim() can help normalize this.\n // While userEvent.keyboard('{Space}') might return 'Unknown' on event.code,\n // making a direct comparison less reliable across all platforms.\n switch (event.key.trim() || event.code) {\n case 'Enter':\n case 'Space':\n case 'Escape':\n event.preventDefault()\n window.requestAnimationFrame(() => {\n onClose()\n buttonRef.current?.focus()\n })\n break\n }\n }\n },\n [buttonRef, onClose]\n )\n\n if (renderAs === 'dialog') {\n return (\n <Dialog\n title={title}\n omitTriggerButton\n openState={isOpen ?? open}\n onClose={onClose}\n >\n {content}\n {children}\n </Dialog>\n )\n }\n\n return (\n <HeightAnimation\n className={classnames('dnb-help-button__content', className)}\n open={isOpen ?? open ?? false}\n >\n <Section\n id={`${contentId}-content`}\n aria-label={convertJsxToString(title)}\n className=\"dnb-no-focus\"\n tabIndex={-1}\n innerRef={innerRef}\n onKeyDown={onKeyDown}\n outset={outsetFromLayout}\n breakout={breakoutFromLayout}\n roundedCorner={!breakoutFromLayout}\n innerSpace={\n breakoutFromLayout\n ? { top: 'small', bottom: 'medium' }\n : {\n top: 'small',\n bottom: 'medium',\n left: 'medium',\n right: 'x-small',\n }\n }\n backgroundColor=\"lavender\"\n {...rest}\n >\n <Flex.Vertical gap=\"x-small\">\n {title && <P weight=\"medium\">{title}</P>}\n {content && <P>{content}</P>}\n </Flex.Vertical>\n {children}\n </Section>\n </HeightAnimation>\n )\n}\n\nfunction HelpButtonIcon() {\n return (\n <>\n <QuestionIcon />\n <CloseIcon />\n </>\n )\n}\n\nHelpButtonInline._supportsSpacingProps = true\nHelpButtonInlineContent._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -87,11 +87,12 @@
87
87
  transform: translate3d(0, -0.5rem, 0);
88
88
  }
89
89
  :not(.dnb-card) .dnb-help-button__content .dnb-section {
90
- margin-left: calc(var(--help-button-indent-width) * -1);
91
- margin-right: calc(var(--help-button-indent-width) * -1);
92
- border: var(--help-button-indent-width) solid var(--help-button-content-background);
93
- border-top: none;
94
- border-bottom: none;
90
+ --outset-left: calc(
91
+ var(--spacing-medium) + var(--help-button-indent-width)
92
+ );
93
+ --outset-right: calc(
94
+ var(--spacing-medium) + var(--help-button-indent-width)
95
+ );
95
96
  }
96
97
  .dnb-help-button__content.dnb-height-animation--parallax .dnb-section .dnb-p {
97
98
  transform: translate3d(0, 0, 0);
@@ -1 +1 @@
1
- .dnb-help-button.dnb-help-button__inline--open{--border-color:var(--color-emerald-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-help-button__inline svg{will-change:transform}.dnb-help-button__inline svg:nth-of-type(2){inset:0;margin:auto;opacity:0;position:absolute}.dnb-help-button__inline--open svg:first-of-type{opacity:0}.dnb-help-button__inline--open svg:nth-of-type(2){animation:rotate-icon-in .4s var(--easing-default) forwards}.dnb-help-button__inline:not(.dnb-help-button__inline--open).dnb-help-button__inline--was-open svg:first-of-type{animation:animate-question .4s var(--easing-default) .2s forwards;opacity:0}.dnb-help-button__inline:not(.dnb-help-button__inline--open).dnb-help-button__inline--was-open svg:nth-of-type(2){animation:rotate-icon-out .4s var(--easing-default) forwards}.dnb-help-button__inline:not(.dnb-help-button__inline--user-intent) svg,html[data-visual-test] .dnb-help-button__inline svg{animation-duration:0ms}@keyframes rotate-icon-in{0%{opacity:0;transform:rotate(0deg)}to{opacity:1;transform:rotate(90deg)}}@keyframes rotate-icon-out{0%{opacity:1;transform:rotate(90deg)}30%{opacity:1}to{opacity:0;transform:rotate(0deg)}}@keyframes animate-question{0%{opacity:0;transform:rotate(10deg)}to{opacity:1;transform:rotate(0deg)}}.dnb-help-button__content{--help-button-indent-width:var(--card-outline-width)}.dnb-help-button__content .dnb-section{--background-color:var(--help-button-content-background);--rounded-corner--value:calc(var(--card-outline-width) + 0.5rem)}.dnb-help-button__content .dnb-section .dnb-p{max-width:60ch;transform:translate3d(0,-.5rem,0);transition:transform .4s var(--easing-default) 40ms}:not(.dnb-card) .dnb-help-button__content .dnb-section{border:var(--help-button-indent-width) solid var(--help-button-content-background);border-bottom:none;border-top:none;margin-left:calc(var(--help-button-indent-width)*-1);margin-right:calc(var(--help-button-indent-width)*-1)}.dnb-help-button__content.dnb-height-animation--parallax .dnb-section .dnb-p{transform:translateZ(0)}
1
+ .dnb-help-button.dnb-help-button__inline--open{--border-color:var(--color-emerald-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-help-button__inline svg{will-change:transform}.dnb-help-button__inline svg:nth-of-type(2){inset:0;margin:auto;opacity:0;position:absolute}.dnb-help-button__inline--open svg:first-of-type{opacity:0}.dnb-help-button__inline--open svg:nth-of-type(2){animation:rotate-icon-in .4s var(--easing-default) forwards}.dnb-help-button__inline:not(.dnb-help-button__inline--open).dnb-help-button__inline--was-open svg:first-of-type{animation:animate-question .4s var(--easing-default) .2s forwards;opacity:0}.dnb-help-button__inline:not(.dnb-help-button__inline--open).dnb-help-button__inline--was-open svg:nth-of-type(2){animation:rotate-icon-out .4s var(--easing-default) forwards}.dnb-help-button__inline:not(.dnb-help-button__inline--user-intent) svg,html[data-visual-test] .dnb-help-button__inline svg{animation-duration:0ms}@keyframes rotate-icon-in{0%{opacity:0;transform:rotate(0deg)}to{opacity:1;transform:rotate(90deg)}}@keyframes rotate-icon-out{0%{opacity:1;transform:rotate(90deg)}30%{opacity:1}to{opacity:0;transform:rotate(0deg)}}@keyframes animate-question{0%{opacity:0;transform:rotate(10deg)}to{opacity:1;transform:rotate(0deg)}}.dnb-help-button__content{--help-button-indent-width:var(--card-outline-width)}.dnb-help-button__content .dnb-section{--background-color:var(--help-button-content-background);--rounded-corner--value:calc(var(--card-outline-width) + 0.5rem)}.dnb-help-button__content .dnb-section .dnb-p{max-width:60ch;transform:translate3d(0,-.5rem,0);transition:transform .4s var(--easing-default) 40ms}:not(.dnb-card) .dnb-help-button__content .dnb-section{--outset-left:calc(var(--spacing-medium) + var(--help-button-indent-width));--outset-right:calc(var(--spacing-medium) + var(--help-button-indent-width))}.dnb-help-button__content.dnb-height-animation--parallax .dnb-section .dnb-p{transform:translateZ(0)}
@@ -109,17 +109,12 @@
109
109
  --help-button-indent-width: var(--card-outline-width);
110
110
 
111
111
  :not(.dnb-card) & .dnb-section {
112
- // Because no outline, we need to stretch the content to the left and right,
113
- // so it is aligned on how the Card is displayed.
114
- margin-left: calc(var(--help-button-indent-width) * -1);
115
- margin-right: calc(var(--help-button-indent-width) * -1);
116
-
117
- // Use a border instead of the original outline,
118
- // because is has no animation artifacts.
119
- border: var(--help-button-indent-width) solid
120
- var(--help-button-content-background);
121
- border-top: none;
122
- border-bottom: none;
112
+ --outset-left: calc(
113
+ var(--spacing-medium) + var(--help-button-indent-width)
114
+ );
115
+ --outset-right: calc(
116
+ var(--spacing-medium) + var(--help-button-indent-width)
117
+ );
123
118
  }
124
119
 
125
120
  &.dnb-height-animation--parallax .dnb-section .dnb-p {
@@ -97,11 +97,12 @@
97
97
  transform: translate3d(0, -0.5rem, 0);
98
98
  }
99
99
  :not(.dnb-card) .dnb-help-button__content .dnb-section {
100
- margin-left: calc(var(--help-button-indent-width) * -1);
101
- margin-right: calc(var(--help-button-indent-width) * -1);
102
- border: var(--help-button-indent-width) solid var(--help-button-content-background);
103
- border-top: none;
104
- border-bottom: none;
100
+ --outset-left: calc(
101
+ var(--spacing-medium) + var(--help-button-indent-width)
102
+ );
103
+ --outset-right: calc(
104
+ var(--spacing-medium) + var(--help-button-indent-width)
105
+ );
105
106
  }
106
107
  .dnb-help-button__content.dnb-height-animation--parallax .dnb-section .dnb-p {
107
108
  transform: translate3d(0, 0, 0);
@@ -1 +1 @@
1
- .dnb-help-button.dnb-help-button__inline--open{--border-color:var(--color-emerald-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-help-button__inline svg{will-change:transform}.dnb-help-button__inline svg:nth-of-type(2){inset:0;margin:auto;opacity:0;position:absolute}.dnb-help-button__inline--open svg:first-of-type{opacity:0}.dnb-help-button__inline--open svg:nth-of-type(2){animation:rotate-icon-in .4s var(--easing-default) forwards}.dnb-help-button__inline:not(.dnb-help-button__inline--open).dnb-help-button__inline--was-open svg:first-of-type{animation:animate-question .4s var(--easing-default) .2s forwards;opacity:0}.dnb-help-button__inline:not(.dnb-help-button__inline--open).dnb-help-button__inline--was-open svg:nth-of-type(2){animation:rotate-icon-out .4s var(--easing-default) forwards}.dnb-help-button__inline:not(.dnb-help-button__inline--user-intent) svg,html[data-visual-test] .dnb-help-button__inline svg{animation-duration:0ms}@keyframes rotate-icon-in{0%{opacity:0;transform:rotate(0deg)}to{opacity:1;transform:rotate(90deg)}}@keyframes rotate-icon-out{0%{opacity:1;transform:rotate(90deg)}30%{opacity:1}to{opacity:0;transform:rotate(0deg)}}@keyframes animate-question{0%{opacity:0;transform:rotate(10deg)}to{opacity:1;transform:rotate(0deg)}}.dnb-help-button__content{--help-button-indent-width:var(--card-outline-width)}.dnb-help-button__content .dnb-section{--background-color:var(--help-button-content-background);--rounded-corner--value:calc(var(--card-outline-width) + 0.5rem)}.dnb-help-button__content .dnb-section .dnb-p{max-width:60ch;transform:translate3d(0,-.5rem,0);transition:transform .4s var(--easing-default) 40ms}:not(.dnb-card) .dnb-help-button__content .dnb-section{border:var(--help-button-indent-width) solid var(--help-button-content-background);border-bottom:none;border-top:none;margin-left:calc(var(--help-button-indent-width)*-1);margin-right:calc(var(--help-button-indent-width)*-1)}.dnb-help-button__content.dnb-height-animation--parallax .dnb-section .dnb-p{transform:translateZ(0)}.dnb-help-button .dnb-button__bounding{transform:scale(1.5)}
1
+ .dnb-help-button.dnb-help-button__inline--open{--border-color:var(--color-emerald-green);--border-width:0.125rem;border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-help-button__inline svg{will-change:transform}.dnb-help-button__inline svg:nth-of-type(2){inset:0;margin:auto;opacity:0;position:absolute}.dnb-help-button__inline--open svg:first-of-type{opacity:0}.dnb-help-button__inline--open svg:nth-of-type(2){animation:rotate-icon-in .4s var(--easing-default) forwards}.dnb-help-button__inline:not(.dnb-help-button__inline--open).dnb-help-button__inline--was-open svg:first-of-type{animation:animate-question .4s var(--easing-default) .2s forwards;opacity:0}.dnb-help-button__inline:not(.dnb-help-button__inline--open).dnb-help-button__inline--was-open svg:nth-of-type(2){animation:rotate-icon-out .4s var(--easing-default) forwards}.dnb-help-button__inline:not(.dnb-help-button__inline--user-intent) svg,html[data-visual-test] .dnb-help-button__inline svg{animation-duration:0ms}@keyframes rotate-icon-in{0%{opacity:0;transform:rotate(0deg)}to{opacity:1;transform:rotate(90deg)}}@keyframes rotate-icon-out{0%{opacity:1;transform:rotate(90deg)}30%{opacity:1}to{opacity:0;transform:rotate(0deg)}}@keyframes animate-question{0%{opacity:0;transform:rotate(10deg)}to{opacity:1;transform:rotate(0deg)}}.dnb-help-button__content{--help-button-indent-width:var(--card-outline-width)}.dnb-help-button__content .dnb-section{--background-color:var(--help-button-content-background);--rounded-corner--value:calc(var(--card-outline-width) + 0.5rem)}.dnb-help-button__content .dnb-section .dnb-p{max-width:60ch;transform:translate3d(0,-.5rem,0);transition:transform .4s var(--easing-default) 40ms}:not(.dnb-card) .dnb-help-button__content .dnb-section{--outset-left:calc(var(--spacing-medium) + var(--help-button-indent-width));--outset-right:calc(var(--spacing-medium) + var(--help-button-indent-width))}.dnb-help-button__content.dnb-height-animation--parallax .dnb-section .dnb-p{transform:translateZ(0)}.dnb-help-button .dnb-button__bounding{transform:scale(1.5)}
@@ -49,6 +49,11 @@ export default function Icon(localProps) {
49
49
  return React.createElement("span", wrapperParams, React.createElement(IconContainer, iconParams));
50
50
  }
51
51
  export function getIconNameFromComponent(icon) {
52
+ var _icon;
53
+ if (React.isValidElement(icon) && (_icon = icon) !== null && _icon !== void 0 && _icon.type) {
54
+ var _icon2;
55
+ icon = (_icon2 = icon) === null || _icon2 === void 0 ? void 0 : _icon2.type;
56
+ }
52
57
  const name = typeof icon === 'function' ? icon.name : String(icon);
53
58
  if (/^data:image\//.test(name)) {
54
59
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","names":["React","useContext","classnames","ErrorHandler","validateDOMAttributes","processChildren","extendPropsWithContext","Context","createSpacingClasses","createSkeletonClass","iconCase","DefaultIconSize","DefaultIconSizes","default","medium","ListDefaultIconSizes","ValidIconType","Icon","localProps","context","props","skeleton","icon","iconProp","size","wrapperParams","iconParams","alt","children","prepareIcon","IconContainer","prerenderIcon","createElement","Fragment","getIconNameFromComponent","name","String","test","calcSize","width","height","sizeAsInt","sizeAsString","nameParts","split","length","_ListDefaultIconSizes","_ListDefaultIconSizes2","lastPartOfIconName","reverse","potentialSize","filter","_ref","key","includes","elem","viewBox","parseFloat","exec","isNaN","_ListDefaultIconSizes3","_ListDefaultIconSizes4","_ListDefaultIconSizes5","_ref2","_ListDefaultIconSizes6","_ListDefaultIconSizes7","_ListDefaultIconSizes8","_ref3","value","potentialSizeAsString","reduce","acc","_ref4","isCustomSize","params","prepareIconParams","_ref5","rest","_objectWithoutProperties","_excluded","border","color","inheritColor","inherit_color","modifier","title","className","attributes","_excluded2","label","_objectSpread","role","replace","process","env","NODE_ENV","iconToRender","getIcon","defaultProps","listOfIcons","src","isValidElement","Array","isArray","mod","dnbIcons","e","_supportsSpacingProps"],"sources":["../../../../src/components/icon/Icon.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { ErrorHandler } from '../../shared/error-helper'\nimport {\n validateDOMAttributes,\n processChildren,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { iconCase } from './IconHelpers'\nimport { SpacingProps } from '../../shared/types'\nimport { SkeletonShow } from '../Skeleton'\nimport { FormStatusIconTypes } from '../FormStatus'\n\nexport const DefaultIconSize = 16\nexport const DefaultIconSizes = {\n // small: 8, // currently not in use\n default: 16,\n medium: 24,\n // large: 32 // currently not in use\n} as const\nexport const ListDefaultIconSizes: Array<\n [ValidIconType, ValidIconNumericSize]\n> = [\n ['default', 16],\n ['medium', 24],\n]\nexport const ValidIconType = [\n 'small', // 12px 0.75rem\n 'default', // 16px 1rem\n 'medium', // 24px 1.5rem\n 'large', // 32px 2rem\n 'x-large', // 40px 2.5rem\n 'xx-large', // 48px 3rem\n] as const\n\nexport type DefaultIconSizes = typeof DefaultIconSizes\nexport type ValidIconType = (typeof ValidIconType)[number]\nexport type ValidIconNumericSize = DefaultIconSizes[keyof DefaultIconSizes]\n\n/** For internal usage */\ntype IconType =\n | string\n | React.ReactElement<SVGElement>\n | ((props?: unknown) => JSX.Element)\n | false\n\n/** For external usage */\nexport type IconIcon = IconType | FormStatusIconTypes | React.FC<unknown>\n\nexport type IconSize =\n | ValidIconNumericSize\n | `${ValidIconNumericSize | number}`\n | ValidIconType\n | 'auto'\n | 'basis'\n\nexport type IconColor =\n | string\n | number\n | { [key: string]: string | number }\n\nexport type IconProps = {\n /**\n * A React SVG Component.\n */\n icon?: IconIcon\n\n /**\n * The dimension of the icon. This will be the `viewBox` and represent `width` and `height`. Defaults to `16`. You can use `small`,`medium`, `large` or `auto`. Auto will enable that the icon size gets inherited by the parent HTML element if it provides a `font-size`.\n */\n size?: IconSize\n\n /**\n * The color can be any valid color property, such as Hex, RGB or preferable – any CSS variable from the <a href=\"/uilib/usage/customisation/colors\">colors table</a>, e.g. `var(--color-ocean-green)`. Default is no color, which means `--color-black-80`.\n */\n color?: IconColor\n\n /**\n * Defaults to `true`. Set to `false` if you do not want to inherit the color by `currentColor`.\n */\n inheritColor?: boolean\n\n /** @deprecated Use `inheritColor` instead */\n inherit_color?: boolean\n\n /**\n * The alternative label (text version) of the icon. Defaults to the imported icon name.\n */\n alt?: string\n\n /**\n * Use a title to provide extra information about the icon used.\n */\n title?: string\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Modifier class to define. Will result in: `dnb-icon--${modifier}`.\n */\n modifier?: string\n\n border?: boolean\n width?: `${IconSize}` | `${number}%` | number\n height?: `${IconSize}` | `${number}%` | number\n children?: IconIcon\n}\n\nexport type IconAllProps = IconProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size' | 'children'>\n\nexport default function Icon(localProps: IconAllProps) {\n const context = useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n {},\n { skeleton: context?.skeleton },\n context.Icon\n )\n\n // Todo: rewrite prepareIcon to hook\n const {\n icon: iconProp,\n size,\n wrapperParams,\n iconParams,\n alt,\n children,\n } = prepareIcon(props, context)\n const icon = iconProp ?? children\n\n if (!icon) {\n return null\n }\n\n const IconContainer = prerenderIcon({ icon, size, alt })\n\n // make sure we return an empty span if we couldn't get the icon\n if (!IconContainer) {\n return <></>\n }\n\n return (\n <span {...wrapperParams}>\n <IconContainer {...iconParams} />\n </span>\n )\n}\n\nexport function getIconNameFromComponent(icon: IconProps['icon']): string {\n const name = typeof icon === 'function' ? icon.name : String(icon)\n if (/^data:image\\//.test(name)) {\n return null\n }\n return name\n}\n\nexport function calcSize(props: IconProps) {\n const { icon, size, width, height } = props as Omit<\n IconProps,\n 'icon'\n > & { icon: IconType }\n\n let sizeAsInt: ValidIconNumericSize | -1 = null\n let sizeAsString = null\n\n // if there is no size, check if we can find the actual size in the name\n if (!size || size === DefaultIconSize) {\n // get the icon name - we use it for several things\n const name = getIconNameFromComponent(icon)\n\n const nameParts = String(name || '').split('_')\n\n if (nameParts.length > 1) {\n const lastPartOfIconName = nameParts.reverse()[0] as ValidIconType\n const potentialSize = ListDefaultIconSizes.filter(\n ([key]) => key === lastPartOfIconName\n )?.[0]?.[1]\n if (potentialSize) {\n sizeAsInt = potentialSize\n }\n if (ValidIconType.includes(lastPartOfIconName)) {\n sizeAsString = lastPartOfIconName\n }\n } else {\n if (typeof icon === 'function') {\n const elem = icon()\n if (elem.props) {\n let potentialSize: ValidIconNumericSize | -1 = null\n if (elem.props.width) {\n potentialSize = elem.props.width\n }\n if (!potentialSize && elem.props.viewBox) {\n potentialSize = parseFloat(\n /[0-9]+ [0-9]+ ([0-9]+)/.exec(elem.props.viewBox)[1]\n ) as ValidIconNumericSize // get the width\n }\n if (!isNaN(potentialSize)) {\n sizeAsInt = potentialSize\n }\n }\n }\n }\n }\n\n // if size is defined as a string, find the size number\n else if (typeof size === 'string' && !(parseFloat(size) > 0)) {\n sizeAsInt =\n ListDefaultIconSizes.filter(([key]) => key === size)?.[0]?.[1] ?? -1\n\n // or if the size is a default size defined as a string\n if (ValidIconType.includes(size as ValidIconType)) {\n sizeAsString = size\n }\n }\n\n // check if the size is given as a number, and if it's a default size\n else if (parseFloat(String(size)) > 0) {\n sizeAsInt =\n ListDefaultIconSizes.filter(\n ([key, value]) => key && value === parseFloat(String(size))\n )?.[0]?.[1] ?? -1\n\n // has custom size\n if (sizeAsInt === -1) {\n sizeAsInt = parseFloat(String(size)) as ValidIconNumericSize\n sizeAsString = 'custom-size'\n }\n }\n\n // check if the sizeAsInt is a default size - and no sizeAsString exists yet\n if (!sizeAsString && sizeAsInt > 0) {\n const potentialSizeAsString = ListDefaultIconSizes.reduce(\n (acc, [key, value]) => {\n if (key && value === sizeAsInt) {\n return key\n }\n return acc\n },\n null\n )\n\n if (potentialSizeAsString) {\n sizeAsString = potentialSizeAsString\n }\n }\n\n // define all the svg parameters\n const { sizeAsString: isCustomSize, params: iconParams } =\n prepareIconParams({\n sizeAsString,\n sizeAsInt,\n size,\n width,\n height,\n })\n\n if (isCustomSize) {\n sizeAsString = isCustomSize\n }\n\n if (!(sizeAsInt > 0)) {\n sizeAsInt = DefaultIconSize\n }\n\n if (size === 'auto') {\n iconParams.width = '100%'\n iconParams.height = '100%'\n sizeAsString = 'auto'\n }\n\n return {\n iconParams,\n sizeAsInt,\n sizeAsString,\n }\n}\n\nfunction prepareIconParams({\n sizeAsString,\n ...rest\n}: Omit<IconProps, 'icon'> & {\n sizeAsString?: ValidIconType | 'custom-size'\n sizeAsInt?: ValidIconNumericSize | -1\n}) {\n const { size, width, height, sizeAsInt } = rest\n const params: {\n height?: IconProps['height']\n width?: IconProps['width']\n color?: IconProps['color']\n } = {}\n\n if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(String(size)) > -1) {\n params.width = params.height = parseFloat(String(size))\n } else if (sizeAsString === 'custom-size') {\n params.width = params.height = parseFloat(String(sizeAsInt))\n }\n if (parseFloat(String(width)) > -1) {\n sizeAsString = 'custom-size'\n params.width = parseFloat(String(width))\n }\n if (parseFloat(String(height)) > -1) {\n sizeAsString = 'custom-size'\n params.height = parseFloat(String(height))\n }\n\n validateDOMAttributes({}, params)\n\n return { params, sizeAsString }\n}\n\nexport function prepareIcon(props: IconAllProps, context: ContextProps) {\n const {\n icon,\n size,\n width,\n height,\n border,\n color,\n inheritColor,\n inherit_color,\n modifier,\n alt,\n title,\n skeleton,\n className,\n ...attributes\n } = props\n\n const { sizeAsString, iconParams } = calcSize({\n icon,\n size,\n width,\n height,\n })\n\n if (color) {\n iconParams.color = color\n }\n\n const label = icon ? getIconNameFromComponent(icon) : null\n\n // some wrapper params\n // also used for code markup simulation\n const wrapperParams = validateDOMAttributes(props, {\n role: alt ? 'img' : 'presentation',\n alt, // in case the image don't shows up (because we define the role to be img)\n 'aria-label':\n label && !label.includes('default')\n ? label.replace(/_/g, ' ') + ' icon'\n : null, // for screen readers only\n title, // to show on hover, if defined\n ...attributes,\n })\n if (!alt && typeof wrapperParams['aria-hidden'] === 'undefined') {\n wrapperParams['aria-hidden'] = true\n }\n if (wrapperParams['aria-hidden']) {\n if (\n !wrapperParams['data-testid'] &&\n typeof process !== 'undefined' &&\n process.env.NODE_ENV === 'test'\n ) {\n wrapperParams['data-testid'] = wrapperParams['aria-label']\n }\n delete wrapperParams['aria-label']\n }\n\n wrapperParams.className = classnames(\n 'dnb-icon',\n modifier && `dnb-icon--${modifier}`,\n border && 'dnb-icon--border',\n (inheritColor ?? inherit_color) !== false && 'dnb-icon--inherit-color',\n sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default',\n createSkeletonClass(null, skeleton, context),\n createSpacingClasses(props),\n className\n )\n\n let iconToRender = getIcon(props)\n\n if (iconToRender && typeof iconToRender.defaultProps !== 'undefined') {\n iconToRender = React.createElement(\n iconToRender,\n validateDOMAttributes(\n {},\n {\n color,\n icon,\n size,\n width,\n height,\n }\n )\n )\n }\n\n return {\n ...props,\n icon: iconToRender,\n alt,\n iconParams,\n wrapperParams,\n }\n}\n\nexport function prerenderIcon(\n props: IconProps & {\n listOfIcons?: Record<string, IconIcon>\n }\n) {\n const { size = null, listOfIcons = null, alt = null } = props\n let { icon } = props as Omit<IconProps, 'icon'> & { icon: IconType }\n\n if (typeof icon === 'string' && /^data:image\\//.test(icon)) {\n return () => <img src={String(icon)} alt={alt || 'no-alt'} />\n }\n\n if (typeof icon === 'function') {\n const elem = icon()\n if (React.isValidElement(elem)) {\n return icon\n }\n return elem\n }\n\n if (React.isValidElement(icon) || Array.isArray(icon)) {\n return () => icon\n }\n\n // For UMD/ dynamic import of icons\n try {\n icon = iconCase(icon)\n if (\n size &&\n DefaultIconSizes[size] &&\n size !== 'basis' &&\n size !== 'default' &&\n !(parseFloat(String(size)) > 0) &&\n !icon.includes(size as ValidIconType)\n ) {\n icon = `${icon}_${size}`\n }\n const mod = (\n listOfIcons.dnbIcons ? listOfIcons.dnbIcons : listOfIcons\n )[icon]\n return mod && mod.default ? mod.default : mod\n } catch (e) {\n ErrorHandler(`Icon '${icon}' did not exist!`)\n return null\n }\n}\n\nfunction getIcon(props) {\n if (props.icon) {\n return props.icon\n }\n return processChildren(props)\n}\n\nIcon._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Icon.js","names":["React","useContext","classnames","ErrorHandler","validateDOMAttributes","processChildren","extendPropsWithContext","Context","createSpacingClasses","createSkeletonClass","iconCase","DefaultIconSize","DefaultIconSizes","default","medium","ListDefaultIconSizes","ValidIconType","Icon","localProps","context","props","skeleton","icon","iconProp","size","wrapperParams","iconParams","alt","children","prepareIcon","IconContainer","prerenderIcon","createElement","Fragment","getIconNameFromComponent","_icon","isValidElement","type","_icon2","name","String","test","calcSize","width","height","sizeAsInt","sizeAsString","nameParts","split","length","_ListDefaultIconSizes","_ListDefaultIconSizes2","lastPartOfIconName","reverse","potentialSize","filter","_ref","key","includes","elem","viewBox","parseFloat","exec","isNaN","_ListDefaultIconSizes3","_ListDefaultIconSizes4","_ListDefaultIconSizes5","_ref2","_ListDefaultIconSizes6","_ListDefaultIconSizes7","_ListDefaultIconSizes8","_ref3","value","potentialSizeAsString","reduce","acc","_ref4","isCustomSize","params","prepareIconParams","_ref5","rest","_objectWithoutProperties","_excluded","border","color","inheritColor","inherit_color","modifier","title","className","attributes","_excluded2","label","_objectSpread","role","replace","process","env","NODE_ENV","iconToRender","getIcon","defaultProps","listOfIcons","src","Array","isArray","mod","dnbIcons","e","_supportsSpacingProps"],"sources":["../../../../src/components/icon/Icon.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport { ErrorHandler } from '../../shared/error-helper'\nimport {\n validateDOMAttributes,\n processChildren,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { iconCase } from './IconHelpers'\nimport { SpacingProps } from '../../shared/types'\nimport { SkeletonShow } from '../Skeleton'\nimport { FormStatusIconTypes } from '../FormStatus'\n\nexport const DefaultIconSize = 16\nexport const DefaultIconSizes = {\n // small: 8, // currently not in use\n default: 16,\n medium: 24,\n // large: 32 // currently not in use\n} as const\nexport const ListDefaultIconSizes: Array<\n [ValidIconType, ValidIconNumericSize]\n> = [\n ['default', 16],\n ['medium', 24],\n]\nexport const ValidIconType = [\n 'small', // 12px 0.75rem\n 'default', // 16px 1rem\n 'medium', // 24px 1.5rem\n 'large', // 32px 2rem\n 'x-large', // 40px 2.5rem\n 'xx-large', // 48px 3rem\n] as const\n\nexport type DefaultIconSizes = typeof DefaultIconSizes\nexport type ValidIconType = (typeof ValidIconType)[number]\nexport type ValidIconNumericSize = DefaultIconSizes[keyof DefaultIconSizes]\n\n/** For internal usage */\ntype IconType =\n | string\n | React.ReactElement<SVGElement>\n | ((props?: unknown) => JSX.Element)\n | false\n\n/** For external usage */\nexport type IconIcon = IconType | FormStatusIconTypes | React.FC<unknown>\n\nexport type IconSize =\n | ValidIconNumericSize\n | `${ValidIconNumericSize | number}`\n | ValidIconType\n | 'auto'\n | 'basis'\n\nexport type IconColor =\n | string\n | number\n | { [key: string]: string | number }\n\nexport type IconProps = {\n /**\n * A React SVG Component.\n */\n icon?: IconIcon\n\n /**\n * The dimension of the icon. This will be the `viewBox` and represent `width` and `height`. Defaults to `16`. You can use `small`,`medium`, `large` or `auto`. Auto will enable that the icon size gets inherited by the parent HTML element if it provides a `font-size`.\n */\n size?: IconSize\n\n /**\n * The color can be any valid color property, such as Hex, RGB or preferable – any CSS variable from the <a href=\"/uilib/usage/customisation/colors\">colors table</a>, e.g. `var(--color-ocean-green)`. Default is no color, which means `--color-black-80`.\n */\n color?: IconColor\n\n /**\n * Defaults to `true`. Set to `false` if you do not want to inherit the color by `currentColor`.\n */\n inheritColor?: boolean\n\n /** @deprecated Use `inheritColor` instead */\n inherit_color?: boolean\n\n /**\n * The alternative label (text version) of the icon. Defaults to the imported icon name.\n */\n alt?: string\n\n /**\n * Use a title to provide extra information about the icon used.\n */\n title?: string\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Modifier class to define. Will result in: `dnb-icon--${modifier}`.\n */\n modifier?: string\n\n border?: boolean\n width?: `${IconSize}` | `${number}%` | number\n height?: `${IconSize}` | `${number}%` | number\n children?: IconIcon\n}\n\nexport type IconAllProps = IconProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size' | 'children'>\n\nexport default function Icon(localProps: IconAllProps) {\n const context = useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n {},\n { skeleton: context?.skeleton },\n context.Icon\n )\n\n // Todo: rewrite prepareIcon to hook\n const {\n icon: iconProp,\n size,\n wrapperParams,\n iconParams,\n alt,\n children,\n } = prepareIcon(props, context)\n const icon = iconProp ?? children\n\n if (!icon) {\n return null\n }\n\n const IconContainer = prerenderIcon({ icon, size, alt })\n\n // make sure we return an empty span if we couldn't get the icon\n if (!IconContainer) {\n return <></>\n }\n\n return (\n <span {...wrapperParams}>\n <IconContainer {...iconParams} />\n </span>\n )\n}\n\nexport function getIconNameFromComponent(icon: IconProps['icon']): string {\n if (React.isValidElement(icon) && icon?.type) {\n icon = icon?.type as IconType\n }\n const name = typeof icon === 'function' ? icon.name : String(icon)\n if (/^data:image\\//.test(name)) {\n return null\n }\n return name\n}\n\nexport function calcSize(props: IconProps) {\n const { icon, size, width, height } = props as Omit<\n IconProps,\n 'icon'\n > & { icon: IconType }\n\n let sizeAsInt: ValidIconNumericSize | -1 = null\n let sizeAsString = null\n\n // if there is no size, check if we can find the actual size in the name\n if (!size || size === DefaultIconSize) {\n // get the icon name - we use it for several things\n const name = getIconNameFromComponent(icon)\n\n const nameParts = String(name || '').split('_')\n\n if (nameParts.length > 1) {\n const lastPartOfIconName = nameParts.reverse()[0] as ValidIconType\n const potentialSize = ListDefaultIconSizes.filter(\n ([key]) => key === lastPartOfIconName\n )?.[0]?.[1]\n if (potentialSize) {\n sizeAsInt = potentialSize\n }\n if (ValidIconType.includes(lastPartOfIconName)) {\n sizeAsString = lastPartOfIconName\n }\n } else {\n if (typeof icon === 'function') {\n const elem = icon()\n if (elem.props) {\n let potentialSize: ValidIconNumericSize | -1 = null\n if (elem.props.width) {\n potentialSize = elem.props.width\n }\n if (!potentialSize && elem.props.viewBox) {\n potentialSize = parseFloat(\n /[0-9]+ [0-9]+ ([0-9]+)/.exec(elem.props.viewBox)[1]\n ) as ValidIconNumericSize // get the width\n }\n if (!isNaN(potentialSize)) {\n sizeAsInt = potentialSize\n }\n }\n }\n }\n }\n\n // if size is defined as a string, find the size number\n else if (typeof size === 'string' && !(parseFloat(size) > 0)) {\n sizeAsInt =\n ListDefaultIconSizes.filter(([key]) => key === size)?.[0]?.[1] ?? -1\n\n // or if the size is a default size defined as a string\n if (ValidIconType.includes(size as ValidIconType)) {\n sizeAsString = size\n }\n }\n\n // check if the size is given as a number, and if it's a default size\n else if (parseFloat(String(size)) > 0) {\n sizeAsInt =\n ListDefaultIconSizes.filter(\n ([key, value]) => key && value === parseFloat(String(size))\n )?.[0]?.[1] ?? -1\n\n // has custom size\n if (sizeAsInt === -1) {\n sizeAsInt = parseFloat(String(size)) as ValidIconNumericSize\n sizeAsString = 'custom-size'\n }\n }\n\n // check if the sizeAsInt is a default size - and no sizeAsString exists yet\n if (!sizeAsString && sizeAsInt > 0) {\n const potentialSizeAsString = ListDefaultIconSizes.reduce(\n (acc, [key, value]) => {\n if (key && value === sizeAsInt) {\n return key\n }\n return acc\n },\n null\n )\n\n if (potentialSizeAsString) {\n sizeAsString = potentialSizeAsString\n }\n }\n\n // define all the svg parameters\n const { sizeAsString: isCustomSize, params: iconParams } =\n prepareIconParams({\n sizeAsString,\n sizeAsInt,\n size,\n width,\n height,\n })\n\n if (isCustomSize) {\n sizeAsString = isCustomSize\n }\n\n if (!(sizeAsInt > 0)) {\n sizeAsInt = DefaultIconSize\n }\n\n if (size === 'auto') {\n iconParams.width = '100%'\n iconParams.height = '100%'\n sizeAsString = 'auto'\n }\n\n return {\n iconParams,\n sizeAsInt,\n sizeAsString,\n }\n}\n\nfunction prepareIconParams({\n sizeAsString,\n ...rest\n}: Omit<IconProps, 'icon'> & {\n sizeAsString?: ValidIconType | 'custom-size'\n sizeAsInt?: ValidIconNumericSize | -1\n}) {\n const { size, width, height, sizeAsInt } = rest\n const params: {\n height?: IconProps['height']\n width?: IconProps['width']\n color?: IconProps['color']\n } = {}\n\n if (!sizeAsString && !(sizeAsInt > 0) && parseFloat(String(size)) > -1) {\n params.width = params.height = parseFloat(String(size))\n } else if (sizeAsString === 'custom-size') {\n params.width = params.height = parseFloat(String(sizeAsInt))\n }\n if (parseFloat(String(width)) > -1) {\n sizeAsString = 'custom-size'\n params.width = parseFloat(String(width))\n }\n if (parseFloat(String(height)) > -1) {\n sizeAsString = 'custom-size'\n params.height = parseFloat(String(height))\n }\n\n validateDOMAttributes({}, params)\n\n return { params, sizeAsString }\n}\n\nexport function prepareIcon(props: IconAllProps, context: ContextProps) {\n const {\n icon,\n size,\n width,\n height,\n border,\n color,\n inheritColor,\n inherit_color,\n modifier,\n alt,\n title,\n skeleton,\n className,\n ...attributes\n } = props\n\n const { sizeAsString, iconParams } = calcSize({\n icon,\n size,\n width,\n height,\n })\n\n if (color) {\n iconParams.color = color\n }\n\n const label = icon ? getIconNameFromComponent(icon) : null\n\n // some wrapper params\n // also used for code markup simulation\n const wrapperParams = validateDOMAttributes(props, {\n role: alt ? 'img' : 'presentation',\n alt, // in case the image don't shows up (because we define the role to be img)\n 'aria-label':\n label && !label.includes('default')\n ? label.replace(/_/g, ' ') + ' icon'\n : null, // for screen readers only\n title, // to show on hover, if defined\n ...attributes,\n })\n if (!alt && typeof wrapperParams['aria-hidden'] === 'undefined') {\n wrapperParams['aria-hidden'] = true\n }\n if (wrapperParams['aria-hidden']) {\n if (\n !wrapperParams['data-testid'] &&\n typeof process !== 'undefined' &&\n process.env.NODE_ENV === 'test'\n ) {\n wrapperParams['data-testid'] = wrapperParams['aria-label']\n }\n delete wrapperParams['aria-label']\n }\n\n wrapperParams.className = classnames(\n 'dnb-icon',\n modifier && `dnb-icon--${modifier}`,\n border && 'dnb-icon--border',\n (inheritColor ?? inherit_color) !== false && 'dnb-icon--inherit-color',\n sizeAsString ? `dnb-icon--${sizeAsString}` : 'dnb-icon--default',\n createSkeletonClass(null, skeleton, context),\n createSpacingClasses(props),\n className\n )\n\n let iconToRender = getIcon(props)\n\n if (iconToRender && typeof iconToRender.defaultProps !== 'undefined') {\n iconToRender = React.createElement(\n iconToRender,\n validateDOMAttributes(\n {},\n {\n color,\n icon,\n size,\n width,\n height,\n }\n )\n )\n }\n\n return {\n ...props,\n icon: iconToRender,\n alt,\n iconParams,\n wrapperParams,\n }\n}\n\nexport function prerenderIcon(\n props: IconProps & {\n listOfIcons?: Record<string, IconIcon>\n }\n) {\n const { size = null, listOfIcons = null, alt = null } = props\n let { icon } = props as Omit<IconProps, 'icon'> & { icon: IconType }\n\n if (typeof icon === 'string' && /^data:image\\//.test(icon)) {\n return () => <img src={String(icon)} alt={alt || 'no-alt'} />\n }\n\n if (typeof icon === 'function') {\n const elem = icon()\n if (React.isValidElement(elem)) {\n return icon\n }\n return elem\n }\n\n if (React.isValidElement(icon) || Array.isArray(icon)) {\n return () => icon\n }\n\n // For UMD/ dynamic import of icons\n try {\n icon = iconCase(icon)\n if (\n size &&\n DefaultIconSizes[size] &&\n size !== 'basis' &&\n size !== 'default' &&\n !(parseFloat(String(size)) > 0) &&\n !icon.includes(size as ValidIconType)\n ) {\n icon = `${icon}_${size}`\n }\n const mod = (\n listOfIcons.dnbIcons ? listOfIcons.dnbIcons : listOfIcons\n )[icon]\n return mod && mod.default ? mod.default : mod\n } catch (e) {\n ErrorHandler(`Icon '${icon}' did not exist!`)\n return null\n }\n}\n\nfunction getIcon(props) {\n if (props.icon) {\n return props.icon\n }\n return processChildren(props)\n}\n\nIcon._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -24,7 +24,8 @@ export interface ModalHeaderProps extends Omit<SectionProps, 'children'> {
24
24
  */
25
25
  title_class?: string;
26
26
  /**
27
- * Font size of the title (maps to `dnb-p--<size>`)
27
+ * Font size of the title (maps to `dnb-h--<size>`)
28
+ * Default is `large`
28
29
  */
29
30
  size?: 'medium' | 'large' | 'x-large' | 'xx-large';
30
31
  }