@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":"DrawerListProvider.js","names":["_react","_interopRequireDefault","require","_propTypes","_Context","_componentHelper","_helpers","_DrawerListHelpers","_DrawerListContext","_bodyScrollLock","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","DrawerListProvider","React","PureComponent","getDerivedStateFromProps","props","state","prepareDerivedState","constructor","_this","this","_refUl","current","_bodyLockIsEnabled","disableBodyScroll","enableBodyScroll","_refShell","spaceToLeft","getOffsetLeft","spaceToRight","window","innerWidth","offsetWidth","triangleStyle","_refTriangle","style","shellStyle","transform","Math","abs","right","left","e","active_item","scrollTo","element","clearTimeout","_scrollTimeout","setTimeout","parseFloat","ulElement","liElement","getActiveElement","top","offsetTop","IS_TEST","scrollBehavior","behavior","scrollTop","isTrue","prevent_focus","focus","dispatchCustomElementEvent","warn","fireSelectEvent","event","setState","_document$activeEleme","document","activeElement","tagName","_this$_refUl$current","preventScroll","selected_item","attributes","ret","getSelectedItemValue","data","getEventData","no_animation","scrollToItem","wrapper_element","querySelector","we","meta","cmd","metaKey","ctrl","ctrlKey","shift","shiftKey","alt","altKey","setMetaKey","keycode","test","prevent_close","isSameDrawer","ulElem","getPreviousSibling","getAttribute","id","isOpen","ignore_events","isNaN","total","preventDefault","direction","getFirstItem","getPrevActiveItem","getLastItem","getNextActiveItem","dispatchEvent","MouseEvent","setHidden","getCurrentActiveItem","skip_keysearch","result","selectItemAndClose","hasFocusOnElement","Boolean","getAnchorElem","stopPropagation","currentActiveElement","createTabElem","elem","createElement","prevActiveElement","removeEventListener","removeChild","after","before","addEventListener","insertElem","appendChild","insertBefore","firstChild","requestAnimationFrame","findItemByValue","showFocusRing","setActiveItemAndScrollToIt","_this$_refUl$current2","getSelectedElement","_this$_refUl$current3","nextSibling","previousSibling","_this$_refUl$current4","_this$_refUl$current5","removeOutsideClickObserver","outsideClick","detectOutsideClick","_refRoot","preventHideFocus","includedKeys","onKeyDownHandler","onKeyUpHandler","setDirectionObserver","setScrollObserver","setOutsideClickObserver","removeDirectionObserver","removeScrollObserver","opened","setVisible","args","onStateComplete","hidden","_showTimeout","_hideTimeout","searchCache","handleSingleComponentCheck","animationDelayHandler","setActiveState","_process","process","env","NODE_ENV","blurDelay","delayHandler","removeObservers","cb","overwriteOriginalData","getData","normalizeData","original_data","refreshScrollObserver","itemToSelect","closeOnSelection","selectItem","persist","attr","hasSelectedText","isInput","keep_open","prevent_selection","doCallOnChange","onSelectionIsComplete","cache_hash","prepareStartupState","createRef","componentDidMount","componentDidUpdate","prevProps","_document$activeEleme2","_this$_refUl$current6","componentWillUnmount","_directionTimeout","itemSpots","reduce","acc","cur","_this$_refUl$current7","itemSpotsCount","closestToTop","closestToBottom","tmpToTop","tmpToBottom","setOnScroll","counts","findClosest","offsetHeight","enable_body_lock","scrollable","min_height","max_height","on_resize","page_offset","observer_element","useBodyLock","isScrollable","customMinHeight","customMaxHeight","customElem","getClosestScrollViewElement","directionOffset","spaceToTopOffset","spaceToBottomOffset","renderDirection","_window","_window$requestAnimat","rootElem","documentElement","pageYOffset","spaceToTop","getOffsetTop","spaceToBottom","clientHeight","max","vh","visualViewport","height","innerHeight","roundToNearest","correctHiddenView","setDirection","_rootElem","enableBodyLock","index","toLowerCase","changedOrderFor","itemData","str","parseContentTitle","separator","removeNumericOnlyValues","firstLetter","found","disableBodyLock","_this$_rootElem","remove","active","setAttribute","removeAttribute","render","Provider","context","drawerList","setData","setDataHandler","setStateHandler","setWrapperElement","addObservers","toggleVisible","children","exports","Context","drawerListDefaultProps","drawerListProviderDefaultProps","propTypes","drawerListPropTypes","drawerListProviderPropTypes","PropTypes","node","isRequired"],"sources":["../../../../src/fragments/drawer-list/DrawerListProvider.js"],"sourcesContent":["/**\n * Web DrawerList Provider\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 Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n roundToNearest,\n getClosestScrollViewElement,\n detectOutsideClick,\n dispatchCustomElementEvent,\n getPreviousSibling,\n keycode,\n} from '../../shared/component-helper'\nimport {\n getOffsetTop,\n getOffsetLeft,\n hasSelectedText,\n getSelectedElement,\n} from '../../shared/helpers'\nimport {\n getData,\n normalizeData,\n findClosest,\n getSelectedItemValue,\n parseContentTitle,\n getEventData,\n prepareStartupState,\n prepareDerivedState,\n drawerListPropTypes,\n drawerListDefaultProps,\n drawerListProviderPropTypes,\n drawerListProviderDefaultProps,\n} from './DrawerListHelpers'\nimport DrawerListContext from './DrawerListContext'\nimport {\n disableBodyScroll,\n enableBodyScroll,\n} from '../../components/modal/bodyScrollLock'\n\nexport default class DrawerListProvider extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n ...drawerListPropTypes,\n ...drawerListProviderPropTypes,\n children: PropTypes.node.isRequired,\n }\n\n static defaultProps = {\n ...drawerListDefaultProps,\n ...drawerListProviderDefaultProps,\n }\n\n static blurDelay = 201 // some ms more than \"DrawerListSlideDown 200ms\"\n\n static getDerivedStateFromProps(props, state) {\n return prepareDerivedState(props, state)\n }\n\n constructor(props) {\n super(props)\n\n this.attributes = {}\n this.state = {\n tagName: 'dnb-drawer-list',\n cache_hash: '',\n active_item: null,\n selected_item: null,\n ignore_events: false,\n ...prepareStartupState(props),\n }\n\n this._refRoot = React.createRef()\n this._refShell = React.createRef()\n this._refUl = React.createRef()\n this._refTriangle = React.createRef()\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.setVisible()\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n this.props.opened !== null &&\n this.props.opened !== prevProps.opened\n ) {\n if (isTrue(this.props.opened)) {\n this.setVisible()\n } else if (isTrue(this.props.opened) === false) {\n this.setHidden()\n }\n }\n\n if (this.state.opened) {\n if (\n this.props.data !== prevProps.data &&\n typeof document !== 'undefined' &&\n document.activeElement?.tagName === 'BODY'\n ) {\n this._refUl.current?.focus()\n }\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._showTimeout)\n clearTimeout(this._hideTimeout)\n clearTimeout(this._scrollTimeout)\n clearTimeout(this._directionTimeout)\n\n this.removeObservers()\n this.setActiveState(false)\n }\n\n refreshScrollObserver() {\n if (typeof window === 'undefined' || !this._refUl.current) {\n return\n }\n\n this.itemSpots = this.state.data.reduce((acc, cur, i) => {\n const element = this._refUl.current?.querySelector(\n `li.dnb-drawer-list__option:nth-of-type(${i + 1})`\n )\n if (element) {\n acc[element.offsetTop] = {\n i,\n }\n }\n return acc\n }, {})\n\n this.itemSpotsCount = Object.keys(this.itemSpots).length\n }\n\n setScrollObserver() {\n if (typeof window === 'undefined' || !this._refUl.current) {\n return\n }\n\n this.removeScrollObserver()\n this.itemSpotsCount = 1 // to make sure we recalculate the spots\n\n try {\n let closestToTop = null,\n closestToBottom = null,\n tmpToTop,\n tmpToBottom\n\n this.setOnScroll = () => {\n if (!this._refUl.current) {\n return // stop here\n }\n\n // recalculate the spots\n if (this.itemSpotsCount <= 1) {\n this.refreshScrollObserver()\n }\n\n const counts = Object.keys(this.itemSpots)\n closestToBottom = findClosest(\n counts,\n this._refUl.current.scrollTop + this._refUl.current.offsetHeight\n )\n closestToTop = findClosest(counts, this._refUl.current.scrollTop)\n if (this.itemSpots[closestToTop] && closestToTop !== tmpToTop) {\n this.setState({\n closestToTop: this.itemSpots[closestToTop].i,\n })\n }\n // we do this because we want the arrow\n // to change visually\n if (\n closestToBottom !== tmpToBottom &&\n this.itemSpots[closestToBottom]\n ) {\n this.setState({\n closestToBottom: this.itemSpots[closestToBottom].i,\n })\n }\n tmpToTop = closestToTop\n tmpToBottom = closestToBottom\n }\n\n this._refUl.current.addEventListener('scroll', this.setOnScroll)\n this.setOnScroll()\n } catch (e) {\n warn('List could not set onScroll:', e)\n }\n }\n\n removeScrollObserver() {\n if (typeof window !== 'undefined' && this.setOnScroll) {\n window.removeEventListener('resize', this.setOnScroll)\n this.setOnScroll = null\n }\n }\n\n enableBodyLock = () => {\n if (this._refUl.current) {\n this._bodyLockIsEnabled = true\n disableBodyScroll(this._refUl.current)\n }\n }\n\n disableBodyLock = () => {\n if (this._bodyLockIsEnabled && this._refUl.current) {\n this._bodyLockIsEnabled = null\n enableBodyScroll(this._refUl.current)\n }\n }\n\n setDirectionObserver() {\n if (\n typeof window === 'undefined' ||\n typeof document === 'undefined' ||\n !(this.state.wrapper_element || this._refRoot.current)\n ) {\n return\n }\n\n const {\n enable_body_lock,\n scrollable,\n min_height,\n max_height,\n on_resize,\n page_offset,\n observer_element,\n } = this.props\n\n // const skipPortal = isTrue(skip_portal)\n const useBodyLock = isTrue(enable_body_lock)\n const isScrollable = isTrue(scrollable)\n const customMinHeight = parseFloat(min_height) * 16\n const customMaxHeight = parseFloat(max_height) || 0\n\n let customElem =\n typeof observer_element === 'string'\n ? document.querySelector(observer_element)\n : null\n\n if (!customElem) {\n customElem = getClosestScrollViewElement(this._refRoot.current)\n }\n\n // In case we have one before hand\n this.removeDirectionObserver()\n\n const directionOffset = 96\n const spaceToTopOffset = 2 * 16\n const spaceToBottomOffset = 2 * 16\n const elem = this.state.wrapper_element || this._refRoot.current\n\n const renderDirection = () => {\n try {\n // make calculation for both direction and height\n const rootElem = customElem || document.documentElement\n\n const pageYOffset = !isNaN(parseFloat(page_offset))\n ? parseFloat(page_offset)\n : rootElem.scrollTop /* pageYOffset */\n const spaceToTop =\n getOffsetTop(elem) + elem.offsetHeight - pageYOffset\n const spaceToBottom =\n rootElem.clientHeight /* innerHeight */ -\n (getOffsetTop(elem) + elem.offsetHeight) +\n pageYOffset\n\n const direction =\n Math.max(spaceToBottom - directionOffset, directionOffset) <\n customMinHeight && spaceToTop > customMinHeight\n ? 'top'\n : 'bottom'\n\n // make sure we never get higher than we have defined in CSS\n let max_height = customMaxHeight\n if (!(max_height > 0)) {\n max_height =\n direction === 'top'\n ? spaceToTop -\n ((this.state.wrapper_element || this._refRoot.current)\n .offsetHeight || 0) -\n spaceToTopOffset\n : spaceToBottom - spaceToBottomOffset\n\n // get the view port height, like in CSS\n let vh = 0\n if (typeof window.visualViewport !== 'undefined') {\n vh = window.visualViewport.height\n } else {\n vh = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n )\n }\n\n // like defined in CSS\n vh = vh * (isScrollable ? 0.7 : 0.9)\n\n if (max_height > vh) {\n max_height = vh\n }\n\n // convert px to rem\n max_height = roundToNearest(max_height, 8) / 16\n }\n\n // update the states\n if (this.props.direction === 'auto') {\n this.setState({\n direction,\n })\n }\n this.setState({\n max_height,\n })\n\n // call the event, if set\n if (on_resize) {\n dispatchCustomElementEvent(this.state, 'on_resize', {\n direction,\n max_height,\n })\n }\n } catch (e) {\n warn('List could not set onResize:', e)\n }\n\n // React v18 needs a delay to make the calculation during first render\n window?.requestAnimationFrame?.(this.correctHiddenView) ||\n this.correctHiddenView()\n }\n\n // debounce\n this.setDirection = () => {\n clearTimeout(this._directionTimeout)\n this._directionTimeout = setTimeout(renderDirection, 50)\n }\n\n // customElem can be a dnb-scroll-view\n this._rootElem = customElem || window\n this._rootElem.addEventListener('scroll', this.setDirection)\n\n // this fixes iOS softkeyboard\n if (typeof window.visualViewport !== 'undefined') {\n window.visualViewport.addEventListener('scroll', this.setDirection)\n window.visualViewport.addEventListener('resize', this.setDirection)\n } else {\n window.addEventListener('resize', this.setDirection)\n }\n\n if (useBodyLock) {\n this.enableBodyLock()\n }\n\n this.refreshScrollObserver()\n\n renderDirection()\n }\n\n /**\n * Deprecated\n * We should replace all the logic of handling left/right aligned\n * and setting the position, with a PopupMenu component,\n * which uses the logic form Tooltip.\n *\n * EDS-246\n */\n correctHiddenView = () => {\n // We use \"style.transform\", because it is a independent \"and quick\" solution\n // we could send down spaceToLeft and spaceToRight and set it with React's \"style\" prop in future\n if (!this._refShell.current || !this._refUl.current) {\n return // stop here\n }\n\n try {\n const spaceToLeft = getOffsetLeft(this._refUl.current)\n const spaceToRight =\n window.innerWidth -\n (getOffsetLeft(this._refUl.current) +\n this._refUl.current.offsetWidth)\n\n const triangleStyle = this._refTriangle.current.style\n const shellStyle = this._refShell.current.style\n\n // correct left side\n if (spaceToLeft < 0) {\n shellStyle.transform = `translateX(${Math.abs(\n spaceToLeft / 16\n )}rem)`\n triangleStyle.right = `${Math.abs(spaceToLeft / 16)}rem`\n\n // correct right side\n } else if (spaceToRight < 0) {\n shellStyle.transform = `translateX(${spaceToRight / 16}rem)`\n triangleStyle.left = `${Math.abs(spaceToRight / 16)}rem`\n } else {\n if (shellStyle.transform) {\n shellStyle.transform = ''\n triangleStyle.left = 'auto'\n triangleStyle.right = 'auto'\n }\n }\n } catch (e) {\n //\n }\n }\n\n // this gives us the possibility to quickly search for an item\n // by simply pressing any alphabetical key\n findItemByValue(value) {\n if (isTrue(this.props.skip_keysearch)) {\n return\n }\n\n let index = -1\n\n try {\n value = String(value).toLowerCase()\n\n // delete the cache\n // if there are several of the same type\n if (this.changedOrderFor !== value) {\n this.searchCache = null\n this.changedOrderFor = null\n }\n\n this.searchCache =\n this.searchCache ||\n this.state.data.reduce((acc, itemData, i) => {\n const str = String(\n parseContentTitle(itemData, {\n separator: ' ',\n removeNumericOnlyValues: true,\n })\n )\n\n // take the first letter\n const firstLetter = String(str[0]).toLowerCase()\n acc[firstLetter] = acc[firstLetter] || []\n acc[firstLetter].push({\n i,\n })\n\n return acc\n }, {})\n\n const found = this.searchCache[value]\n index = found && found[0] && found[0].i > -1 ? found[0].i : -1\n\n // if there are several of the same type\n if (found && found.length > 1) {\n found.push(found.shift())\n this.changedOrderFor = value\n }\n } catch (e) {\n warn('List could not findItemByValue:', e)\n }\n\n return index\n }\n\n scrollToItem = (\n active_item,\n { scrollTo = true, element = null } = {}\n ) => {\n clearTimeout(this._scrollTimeout)\n this._scrollTimeout = setTimeout(() => {\n // try to scroll to item\n if (this._refUl.current && parseFloat(active_item) > -1) {\n try {\n const ulElement = this._refUl.current\n const liElement = element || this.getActiveElement()\n if (liElement) {\n const top = liElement.offsetTop\n if (ulElement.scrollTo) {\n if (scrollTo === false || window.IS_TEST) {\n ulElement.style.scrollBehavior = 'auto'\n }\n ulElement.scrollTo({\n top,\n behavior: scrollTo ? 'smooth' : 'auto',\n })\n if (scrollTo === false) {\n ulElement.style.scrollBehavior = 'smooth'\n }\n } else if (ulElement.scrollTop) {\n ulElement.scrollTop = top\n }\n\n if (!isTrue(this.props.prevent_focus) && liElement) {\n liElement.focus()\n dispatchCustomElementEvent(this, 'on_show_focus', {\n element: liElement,\n })\n }\n } else {\n warn('The DrawerList item was not a DOM Element')\n }\n } catch (e) {\n warn('List could not scroll into element:', e)\n }\n }\n }, 1) // to make sure we are after all DOM updates, else we don't get this scrolling\n }\n\n /**\n * During opening (Dropdown, Autocomplete),\n * and if noting is selected,\n * set scroll to item.\n *\n * @param {number} active_item The item to set as active\n * @param {object} param1\n * @property {boolean} fireSelectEvent Whether the onSelect event should get emitted\n * @property {boolean} scrollTo Whether the list should scroll to the new active item nor not\n * @property {event} event The event object to forward to the emitted events\n */\n setActiveItemAndScrollToIt = (\n active_item,\n { fireSelectEvent = false, scrollTo = true, event = null } = {}\n ) => {\n this.setState({ active_item }, () => {\n if (parseFloat(active_item) === -1) {\n // Select the first item to NVDA is more easily navigatable,\n // without using the alt + arrow key\n // else we set the focus on the \"ul\" element\n if (document.activeElement?.tagName !== 'INPUT') {\n this._refUl.current?.focus({ preventScroll: true })\n }\n\n dispatchCustomElementEvent(this, 'on_show_focus', {\n element: this._refUl.current,\n })\n } else if (parseFloat(active_item) > -1) {\n const { selected_item } = this.state\n\n if (fireSelectEvent) {\n const attributes = this.attributes\n const ret = dispatchCustomElementEvent(this.state, 'on_select', {\n active_item,\n value: getSelectedItemValue(selected_item, this.state),\n data: getEventData(active_item, this.state.data),\n event,\n attributes,\n })\n if (ret === false) {\n return // stop here!\n }\n }\n\n if (isTrue(this.props.no_animation)) {\n scrollTo = false\n }\n\n this.scrollToItem(active_item, { scrollTo })\n }\n })\n }\n\n removeDirectionObserver() {\n this.disableBodyLock()\n\n clearTimeout(this._directionTimeout)\n if (typeof window !== 'undefined' && this.setDirection) {\n this._rootElem?.removeEventListener('scroll', this.setDirection)\n\n // this fixes iOS softkeyboard\n if (typeof window.visualViewport !== 'undefined') {\n window.visualViewport.removeEventListener(\n 'scroll',\n this.setDirection\n )\n window.visualViewport.removeEventListener(\n 'resize',\n this.setDirection\n )\n } else {\n window.removeEventListener('resize', this.setDirection)\n }\n\n this.setDirection = null\n }\n }\n\n setWrapperElement = (wrapper_element = this.props.wrapper_element) => {\n if (\n typeof wrapper_element === 'string' &&\n typeof document !== 'undefined'\n ) {\n wrapper_element = document.querySelector(wrapper_element)\n }\n\n if (wrapper_element !== this.state.wrapper_element) {\n this.setState({\n wrapper_element,\n })\n }\n\n return this\n }\n\n getAnchorElem(activeElement) {\n try {\n return activeElement.querySelector('a:first-of-type')\n } catch (e) {\n return null\n }\n }\n\n setMetaKey = (e) => {\n const we =\n typeof window !== 'undefined' && window.event ? window.event : e\n this.meta = {\n cmd: we.metaKey,\n ctrl: we.ctrlKey,\n shift: we.shiftKey,\n alt: we.altKey,\n }\n }\n\n onKeyUpHandler = (e) => {\n this.setMetaKey(e)\n }\n\n onKeyDownHandler = (e) => {\n const key = keycode(e)\n\n if (/command|alt|shift|ctrl/.test(key)) {\n this.setMetaKey(e)\n }\n\n dispatchCustomElementEvent(this.state, 'on_key_down', {\n event: e,\n key,\n })\n\n // To allow copy\n // But makes VO not reading our list items once command key is pressed\n // if (this.meta.cmd || this.meta.ctrl || this.meta.shift || this.meta.alt) {\n // return // stop here\n // }\n\n // stop here if the focus is not set\n // and the drawer is opened by default\n if (\n isTrue(this.props.prevent_close)\n // TODO: Has to be worked on better!\n // !isTrue(this.props.prevent_focus)\n ) {\n let isSameDrawer = false\n try {\n const ulElem = getPreviousSibling(\n 'dnb-drawer-list__options',\n document.activeElement\n )\n\n isSameDrawer =\n ulElem === this._refUl.current ||\n ulElem?.getAttribute('id') === this.props.id\n } catch (e) {\n warn(e)\n }\n if (!isSameDrawer && key !== 'tab') {\n return // stop here\n }\n }\n\n if (!this.state.isOpen) {\n return // stop here\n }\n\n if (isTrue(this.state.ignore_events) && key !== 'tab') {\n return // stop here\n }\n\n let active_item = parseFloat(this.state.active_item)\n\n if (isNaN(active_item)) {\n active_item = -1\n }\n\n const total = this.state.data && this.state.data.length - 1\n\n switch (key) {\n case 'up':\n {\n e.preventDefault()\n\n if (\n this.state.direction === 'bottom' &&\n this.state.active_item === this.getFirstItem()\n ) {\n active_item = -1\n } else {\n active_item = this.getPrevActiveItem()\n if (isNaN(active_item)) {\n active_item = this.getLastItem()\n }\n }\n }\n break\n\n case 'down':\n {\n e.preventDefault()\n\n if (\n this.state.direction === 'top' &&\n this.state.active_item === this.getLastItem()\n ) {\n active_item = -1\n } else {\n active_item = this.getNextActiveItem()\n\n if (isNaN(active_item)) {\n active_item = this.getFirstItem()\n }\n }\n }\n break\n\n case 'page up':\n case 'home':\n {\n e.preventDefault()\n active_item = this.getFirstItem() || 0\n }\n break\n\n case 'page down':\n case 'end':\n {\n e.preventDefault()\n active_item = this.getLastItem()\n if (isNaN(active_item)) {\n active_item = total\n }\n }\n break\n\n case 'enter':\n case 'space':\n {\n if (e.target.tagName === 'A') {\n e.target.dispatchEvent(new MouseEvent('click'))\n this.setHidden()\n return // stop here, and let the browser + anchor do the rest\n }\n\n active_item = this.getCurrentActiveItem()\n\n if (\n isTrue(this.props.skip_keysearch)\n ? active_item > -1 && key !== 'space'\n : true\n ) {\n e.preventDefault()\n const result = this.selectItemAndClose(active_item, {\n fireSelectEvent: true,\n event: e,\n })\n if (result === false) {\n return // stop here if the data actually does not exit\n }\n }\n }\n break\n\n case 'esc':\n {\n this.setHidden({ event: e })\n e.preventDefault()\n }\n break\n\n case 'tab':\n {\n if (active_item > -1) {\n // If there is an active item\n // we make it possible to tab inside it (to an anchor) instead of closing the list\n const activeElement = this.getActiveElement()\n const hasFocusOnElement = Boolean(\n this.getAnchorElem(activeElement)\n )\n\n this.setState({ hasFocusOnElement })\n\n // And if there is an anchor inside our active element\n if (hasFocusOnElement) {\n e.stopPropagation()\n\n // Also, set the focus actively into the active element, if it is not from beforehand\n const currentActiveElement = getPreviousSibling(\n 'dnb-drawer-list__option',\n document.activeElement\n )\n\n if (currentActiveElement !== activeElement) {\n /**\n * Create an fake element,\n * so it's the last one we focus, within our active element.\n *\n * When the users tabs to it,\n * we return the focus the users prev focus element, e.g. autocomplete input\n *\n * Why is this needed? Because we have our list in a portal, outside of the tab order\n */\n const createTabElem = () => {\n try {\n const elem = document.createElement('BUTTON')\n elem.style = 'opacity:0;position:absolute;'\n const focus = () => {\n prevActiveElement.focus()\n elem.removeEventListener('focus', focus)\n activeElement.removeChild(after)\n activeElement.removeChild(before)\n }\n elem.addEventListener('focus', focus)\n return elem\n } catch (e) {\n //\n }\n }\n\n const prevActiveElement = document.activeElement\n const after = createTabElem()\n const before = createTabElem()\n\n // Now, focus our active element\n activeElement.focus()\n\n const insertElem = () => {\n try {\n // Insert our fake elements\n activeElement.appendChild(after)\n activeElement.insertBefore(\n before,\n activeElement.firstChild\n )\n } catch (e) {\n //\n }\n }\n\n // check because of test\n if (typeof window.requestAnimationFrame === 'function') {\n // requestAnimationFrame is need by chromium browsers\n window.requestAnimationFrame(insertElem)\n } else {\n insertElem()\n }\n }\n\n return // stop here\n }\n\n // We may consider to close the list and set the focus it the handler\n // but also, in portal mode, we want to prevent to start the focus from the top of the page\n else if (isTrue(this.props.prevent_close)) {\n active_item = -1\n }\n }\n\n this.setHidden({ event: e })\n }\n break\n\n default:\n active_item = this.findItemByValue(keycode(e))\n break\n }\n\n if (\n active_item === -1 &&\n this._refUl.current &&\n typeof document !== 'undefined'\n ) {\n const ulElem = getPreviousSibling(\n 'dnb-drawer-list__options',\n document.activeElement\n )\n\n if (ulElem === this._refUl.current) {\n this.setState({\n showFocusRing: true,\n active_item,\n })\n\n this._refUl.current.focus({ preventScroll: true })\n dispatchCustomElementEvent(this.state, 'handle_dismiss_focus')\n }\n } else if (\n parseFloat(active_item) > -1 &&\n active_item !== this.state.active_item\n ) {\n this.setState({\n showFocusRing: false,\n })\n this.setActiveItemAndScrollToIt(active_item, {\n fireSelectEvent: true,\n event: e,\n })\n }\n }\n\n getSelectedElement = () => {\n return (\n this._refUl.current?.querySelector(\n 'li.dnb-drawer-list__option--selected'\n ) ||\n this._refUl.current || {\n getAttribute: () => null,\n }\n )\n }\n\n getCurrentSelectedItem = () => {\n const elem = this.getSelectedElement()\n return parseFloat(elem && elem.getAttribute('data-item'))\n }\n\n getActiveElement = () => {\n return (\n this._refUl.current?.querySelector(\n 'li.dnb-drawer-list__option--focus'\n ) || this.getSelectedElement()\n )\n }\n\n getCurrentActiveItem = () => {\n const elem = this.getActiveElement()\n return parseFloat(elem && elem.getAttribute('data-item'))\n }\n\n getNextActiveItem = () => {\n const elem = this.getActiveElement().nextSibling\n return parseFloat(elem && elem.getAttribute('data-item'))\n }\n\n getPrevActiveItem = () => {\n const elem = this.getActiveElement().previousSibling\n return parseFloat(elem && elem.getAttribute('data-item'))\n }\n\n getFirstItem = () => {\n const elem = this._refUl.current?.querySelector(\n 'li.dnb-drawer-list__option.first-of-type' // because of the triangle element\n )\n return parseFloat(elem && elem.getAttribute('data-item'))\n }\n\n getLastItem = () => {\n const elem = this._refUl.current?.querySelector(\n 'li.dnb-drawer-list__option.last-of-type' // because of the triangle element\n )\n return parseFloat(elem && elem.getAttribute('data-item'))\n }\n\n setOutsideClickObserver = () => {\n this.removeOutsideClickObserver()\n\n this.outsideClick = detectOutsideClick(\n [\n this.state.wrapper_element,\n this._refRoot.current,\n this._refUl.current,\n ],\n () => this.setHidden({ preventHideFocus: true }),\n { includedKeys: ['tab'] }\n )\n\n if (typeof document !== 'undefined') {\n document.addEventListener('keydown', this.onKeyDownHandler)\n document.addEventListener('keyup', this.onKeyUpHandler)\n }\n }\n\n removeOutsideClickObserver() {\n if (this.outsideClick) {\n this.outsideClick.remove()\n }\n if (typeof document !== 'undefined') {\n document.removeEventListener('keydown', this.onKeyDownHandler)\n document.removeEventListener('keyup', this.onKeyUpHandler)\n }\n }\n\n addObservers = () => {\n this.setDirectionObserver()\n this.setScrollObserver()\n this.setOutsideClickObserver()\n }\n removeObservers = () => {\n this.removeDirectionObserver()\n this.removeScrollObserver()\n this.removeOutsideClickObserver()\n }\n\n toggleVisible = (...args) => {\n return this.state.opened\n ? this.setHidden(...args)\n : this.setVisible(...args)\n }\n\n setVisible = (args = {}, onStateComplete = null) => {\n if (this.state.opened && this.state.hidden === false) {\n if (typeof onStateComplete === 'function') {\n onStateComplete(true)\n }\n return // stop\n }\n\n clearTimeout(this._showTimeout)\n clearTimeout(this._hideTimeout)\n\n this.searchCache = null\n\n const handleSingleComponentCheck = () => {\n this.setState({\n hidden: false,\n opened: true,\n })\n\n const animationDelayHandler = () => {\n DrawerListProvider.isOpen = true\n this.setState({\n isOpen: true,\n })\n\n if (typeof onStateComplete === 'function') {\n onStateComplete(true)\n }\n\n this.setActiveState(true)\n }\n\n if (isTrue(this.props.no_animation)) {\n // our tests want no delay!\n if (process?.env.NODE_ENV === 'test') {\n animationDelayHandler()\n } else {\n // We have to have still a delay, to ensure the user can press enter to toggle the open state\n clearTimeout(this._showTimeout)\n this._showTimeout = setTimeout(animationDelayHandler, 0) // ensure we do not set isOpen true before the keydown handler has run\n }\n } else {\n clearTimeout(this._showTimeout)\n this._showTimeout = setTimeout(\n animationDelayHandler,\n DrawerListProvider.blurDelay\n ) // wait until animation is over\n }\n\n const { selected_item, active_item } = this.state\n dispatchCustomElementEvent(this.state, 'on_show', {\n ...args,\n data: getEventData(\n parseFloat(selected_item) > -1 ? selected_item : active_item,\n this.state.data\n ),\n attributes: this.attributes,\n ulElement: this._refUl.current,\n })\n\n this.setActiveItemAndScrollToIt(\n parseFloat(active_item) > -1 ? active_item : -1,\n { scrollTo: false }\n )\n }\n\n // If a user clicks on a second drawer list\n // we ensure we first close it, before we open it\n if (DrawerListProvider.isOpen && !isTrue(this.props.no_animation)) {\n clearTimeout(this._hideTimeout)\n this._hideTimeout = setTimeout(\n handleSingleComponentCheck,\n DrawerListProvider.blurDelay\n )\n } else {\n handleSingleComponentCheck()\n }\n }\n\n setHidden = (args = {}, onStateComplete = null) => {\n if (!this.state.opened || isTrue(this.props.prevent_close)) {\n if (typeof onStateComplete === 'function') {\n onStateComplete(false)\n }\n return // stop here\n }\n\n clearTimeout(this._showTimeout)\n clearTimeout(this._hideTimeout)\n\n const { selected_item, active_item } = this.state\n const res = dispatchCustomElementEvent(this.state, 'on_hide', {\n ...args,\n data: getEventData(\n parseFloat(selected_item) > -1 ? selected_item : active_item,\n this.state.data\n ),\n attributes: this.attributes,\n })\n\n if (res !== false) {\n this.setState({\n opened: false,\n })\n\n const delayHandler = () => {\n this.removeObservers()\n\n this.setState({\n hidden: true,\n isOpen: false,\n })\n if (typeof onStateComplete === 'function') {\n onStateComplete(false)\n }\n DrawerListProvider.isOpen = false\n\n this.setActiveState(false)\n }\n\n if (isTrue(this.props.no_animation)) {\n delayHandler()\n } else {\n clearTimeout(this._hideTimeout)\n this._hideTimeout = setTimeout(\n delayHandler,\n DrawerListProvider.blurDelay\n ) // wait until animation is over\n }\n }\n }\n\n setActiveState(active) {\n if (typeof document !== 'undefined') {\n try {\n if (active) {\n document.documentElement.setAttribute(\n 'data-dnb-drawer-list-active',\n String(this.props.id)\n )\n } else {\n document.documentElement.removeAttribute(\n 'data-dnb-drawer-list-active'\n )\n }\n } catch (e) {\n warn(\n 'DrawerList: Error on set \"data-dnb-drawer-list-active\" by using element.setAttribute()',\n e\n )\n }\n }\n }\n\n setDataHandler = (\n data,\n cb = null,\n { overwriteOriginalData = false } = {}\n ) => {\n if (!data) {\n return\n }\n\n if (typeof data === 'function') {\n data = getData(data)\n }\n\n data = normalizeData(data)\n\n this.setState(\n {\n data,\n original_data: overwriteOriginalData\n ? data\n : this.state.original_data,\n },\n () => {\n this.refreshScrollObserver()\n typeof cb === 'function' && cb(data)\n }\n )\n\n return this\n }\n\n setStateHandler = (state, cb = null) => {\n this.setState(\n {\n ...state,\n },\n cb\n )\n\n return this\n }\n\n selectItemAndClose = (itemToSelect, args = {}) => {\n args.closeOnSelection = true\n return this.selectItem(itemToSelect, args)\n }\n\n selectItem = (\n itemToSelect,\n {\n fireSelectEvent = false,\n event = null,\n closeOnSelection = false,\n } = {}\n ) => {\n // because of our delay on dispatching the event\n // make a copy of it, so we don't break the synthetic event\n if (event && typeof event.persist === 'function') {\n event.persist()\n }\n\n // if no value is set on start and we confirm, we get -1\n if (itemToSelect === -1) {\n itemToSelect = null\n }\n\n const data = getEventData(itemToSelect, this.state.data) || null\n const value = getSelectedItemValue(itemToSelect, this.state)\n const attributes = this.attributes\n const attr = {\n selected_item: itemToSelect,\n value,\n data,\n event,\n attributes,\n }\n\n const res = dispatchCustomElementEvent(\n this.state,\n 'on_pre_change',\n attr\n )\n\n if (res === false) {\n return res // stop here\n }\n\n if (hasSelectedText()) {\n const elem = getSelectedElement()\n const isInput = getPreviousSibling('dnb-input', elem)\n if (!isInput) {\n return // stop here\n }\n }\n\n const { keep_open, prevent_selection } = this.props\n\n const doCallOnChange =\n parseFloat(itemToSelect) > -1 &&\n itemToSelect !== this.state.selected_item\n const onSelectionIsComplete = () => {\n if (doCallOnChange) {\n dispatchCustomElementEvent(this.state, 'on_change', attr)\n }\n if (fireSelectEvent) {\n dispatchCustomElementEvent(this.state, 'on_select', {\n ...attr,\n active_item: itemToSelect,\n })\n }\n\n if (closeOnSelection && !isTrue(keep_open)) {\n this.setHidden()\n }\n }\n\n if (isTrue(prevent_selection)) {\n onSelectionIsComplete()\n } else {\n this.setState(\n {\n selected_item: itemToSelect,\n active_item: itemToSelect,\n },\n onSelectionIsComplete\n )\n }\n }\n\n render() {\n return (\n <DrawerListContext.Provider\n value={{\n ...this.context,\n drawerList: {\n attributes: this.attributes,\n _refRoot: this._refRoot,\n _refShell: this._refShell,\n _refUl: this._refUl,\n _refTriangle: this._refTriangle,\n _rootElem: this._rootElem,\n getActiveElement: this.getActiveElement,\n setData: this.setDataHandler,\n setState: this.setStateHandler,\n setWrapperElement: this.setWrapperElement,\n addObservers: this.addObservers,\n removeObservers: this.removeObservers,\n setVisible: this.setVisible,\n setHidden: this.setHidden,\n toggleVisible: this.toggleVisible,\n selectItem: this.selectItem,\n selectItemAndClose: this.selectItemAndClose,\n scrollToItem: this.scrollToItem,\n setActiveItemAndScrollToIt: this.setActiveItemAndScrollToIt,\n ...this.state,\n },\n }}\n >\n {this.props.children}\n </DrawerListContext.Provider>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DrawerListProvider.js","names":["_react","_interopRequireDefault","require","_propTypes","_Context","_componentHelper","_helpers","_DrawerListHelpers","_DrawerListContext","_bodyScrollLock","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","DrawerListProvider","React","PureComponent","getDerivedStateFromProps","props","state","prepareDerivedState","constructor","_this","this","_refUl","current","_bodyLockIsEnabled","disableBodyScroll","enableBodyScroll","_refShell","spaceToLeft","getOffsetLeft","spaceToRight","window","innerWidth","offsetWidth","triangleStyle","_refTriangle","style","shellStyle","transform","Math","abs","right","left","e","active_item","scrollTo","element","clearTimeout","_scrollTimeout","setTimeout","parseFloat","ulElement","liElement","getActiveElement","top","offsetTop","IS_TEST","scrollBehavior","behavior","scrollTop","isTrue","prevent_focus","focus","dispatchCustomElementEvent","warn","fireSelectEvent","event","setState","_document$activeEleme","document","activeElement","tagName","_this$_refUl$current","preventScroll","selected_item","attributes","ret","getSelectedItemValue","data","getEventData","no_animation","scrollToItem","wrapper_element","querySelector","we","meta","cmd","metaKey","ctrl","ctrlKey","shift","shiftKey","alt","altKey","setMetaKey","keycode","test","prevent_close","isSameDrawer","ulElem","getPreviousSibling","getAttribute","id","isOpen","ignore_events","isNaN","total","preventDefault","direction","getFirstItem","getPrevActiveItem","getLastItem","getNextActiveItem","dispatchEvent","MouseEvent","setHidden","getCurrentActiveItem","skip_keysearch","result","selectItemAndClose","hasFocusOnElement","Boolean","getAnchorElem","stopPropagation","currentActiveElement","createTabElem","elem","createElement","prevActiveElement","removeEventListener","removeChild","after","before","addEventListener","insertElem","appendChild","insertBefore","firstChild","requestAnimationFrame","findItemByValue","showFocusRing","setActiveItemAndScrollToIt","_this$_refUl$current2","getSelectedElement","_this$_refUl$current3","nextSibling","previousSibling","_this$_refUl$current4","_this$_refUl$current5","removeOutsideClickObserver","outsideClick","detectOutsideClick","_refRoot","preventHideFocus","includedKeys","onKeyDownHandler","onKeyUpHandler","setDirectionObserver","setScrollObserver","setOutsideClickObserver","removeDirectionObserver","removeScrollObserver","opened","setVisible","args","onStateComplete","hidden","_showTimeout","_hideTimeout","searchCache","handleSingleComponentCheck","animationDelayHandler","setActiveState","_process","process","env","NODE_ENV","blurDelay","delayHandler","removeObservers","cb","overwriteOriginalData","getData","normalizeData","original_data","refreshScrollObserver","itemToSelect","closeOnSelection","selectItem","persist","attr","disabled","hasSelectedText","isInput","keep_open","prevent_selection","doCallOnChange","onSelectionIsComplete","cache_hash","prepareStartupState","createRef","componentDidMount","componentDidUpdate","prevProps","_document$activeEleme2","_this$_refUl$current6","componentWillUnmount","_directionTimeout","itemSpots","reduce","acc","cur","_this$_refUl$current7","itemSpotsCount","closestToTop","closestToBottom","tmpToTop","tmpToBottom","setOnScroll","counts","findClosest","offsetHeight","enable_body_lock","scrollable","min_height","max_height","on_resize","page_offset","observer_element","useBodyLock","isScrollable","customMinHeight","customMaxHeight","customElem","getClosestScrollViewElement","directionOffset","spaceToTopOffset","spaceToBottomOffset","renderDirection","_window","_window$requestAnimat","rootElem","documentElement","pageYOffset","spaceToTop","getOffsetTop","spaceToBottom","clientHeight","max","vh","visualViewport","height","innerHeight","roundToNearest","correctHiddenView","setDirection","_rootElem","enableBodyLock","index","toLowerCase","changedOrderFor","itemData","str","parseContentTitle","separator","removeNumericOnlyValues","firstLetter","found","disableBodyLock","_this$_rootElem","remove","active","setAttribute","removeAttribute","render","Provider","context","drawerList","setData","setDataHandler","setStateHandler","setWrapperElement","addObservers","toggleVisible","children","exports","Context","drawerListDefaultProps","drawerListProviderDefaultProps","propTypes","drawerListPropTypes","drawerListProviderPropTypes","PropTypes","node","isRequired"],"sources":["../../../../src/fragments/drawer-list/DrawerListProvider.js"],"sourcesContent":["/**\n * Web DrawerList Provider\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 Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n roundToNearest,\n getClosestScrollViewElement,\n detectOutsideClick,\n dispatchCustomElementEvent,\n getPreviousSibling,\n keycode,\n} from '../../shared/component-helper'\nimport {\n getOffsetTop,\n getOffsetLeft,\n hasSelectedText,\n getSelectedElement,\n} from '../../shared/helpers'\nimport {\n getData,\n normalizeData,\n findClosest,\n getSelectedItemValue,\n parseContentTitle,\n getEventData,\n prepareStartupState,\n prepareDerivedState,\n drawerListPropTypes,\n drawerListDefaultProps,\n drawerListProviderPropTypes,\n drawerListProviderDefaultProps,\n} from './DrawerListHelpers'\nimport DrawerListContext from './DrawerListContext'\nimport {\n disableBodyScroll,\n enableBodyScroll,\n} from '../../components/modal/bodyScrollLock'\n\nexport default class DrawerListProvider extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n ...drawerListPropTypes,\n ...drawerListProviderPropTypes,\n children: PropTypes.node.isRequired,\n }\n\n static defaultProps = {\n ...drawerListDefaultProps,\n ...drawerListProviderDefaultProps,\n }\n\n static blurDelay = 201 // some ms more than \"DrawerListSlideDown 200ms\"\n\n static getDerivedStateFromProps(props, state) {\n return prepareDerivedState(props, state)\n }\n\n constructor(props) {\n super(props)\n\n this.attributes = {}\n this.state = {\n tagName: 'dnb-drawer-list',\n cache_hash: '',\n active_item: null,\n selected_item: null,\n ignore_events: false,\n ...prepareStartupState(props),\n }\n\n this._refRoot = React.createRef()\n this._refShell = React.createRef()\n this._refUl = React.createRef()\n this._refTriangle = React.createRef()\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.setVisible()\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n this.props.opened !== null &&\n this.props.opened !== prevProps.opened\n ) {\n if (isTrue(this.props.opened)) {\n this.setVisible()\n } else if (isTrue(this.props.opened) === false) {\n this.setHidden()\n }\n }\n\n if (this.state.opened) {\n if (\n this.props.data !== prevProps.data &&\n typeof document !== 'undefined' &&\n document.activeElement?.tagName === 'BODY'\n ) {\n this._refUl.current?.focus()\n }\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._showTimeout)\n clearTimeout(this._hideTimeout)\n clearTimeout(this._scrollTimeout)\n clearTimeout(this._directionTimeout)\n\n this.removeObservers()\n this.setActiveState(false)\n }\n\n refreshScrollObserver() {\n if (typeof window === 'undefined' || !this._refUl.current) {\n return\n }\n\n this.itemSpots = this.state.data.reduce((acc, cur, i) => {\n const element = this._refUl.current?.querySelector(\n `li.dnb-drawer-list__option:nth-of-type(${i + 1})`\n )\n if (element) {\n acc[element.offsetTop] = {\n i,\n }\n }\n return acc\n }, {})\n\n this.itemSpotsCount = Object.keys(this.itemSpots).length\n }\n\n setScrollObserver() {\n if (typeof window === 'undefined' || !this._refUl.current) {\n return\n }\n\n this.removeScrollObserver()\n this.itemSpotsCount = 1 // to make sure we recalculate the spots\n\n try {\n let closestToTop = null,\n closestToBottom = null,\n tmpToTop,\n tmpToBottom\n\n this.setOnScroll = () => {\n if (!this._refUl.current) {\n return // stop here\n }\n\n // recalculate the spots\n if (this.itemSpotsCount <= 1) {\n this.refreshScrollObserver()\n }\n\n const counts = Object.keys(this.itemSpots)\n closestToBottom = findClosest(\n counts,\n this._refUl.current.scrollTop + this._refUl.current.offsetHeight\n )\n closestToTop = findClosest(counts, this._refUl.current.scrollTop)\n if (this.itemSpots[closestToTop] && closestToTop !== tmpToTop) {\n this.setState({\n closestToTop: this.itemSpots[closestToTop].i,\n })\n }\n // we do this because we want the arrow\n // to change visually\n if (\n closestToBottom !== tmpToBottom &&\n this.itemSpots[closestToBottom]\n ) {\n this.setState({\n closestToBottom: this.itemSpots[closestToBottom].i,\n })\n }\n tmpToTop = closestToTop\n tmpToBottom = closestToBottom\n }\n\n this._refUl.current.addEventListener('scroll', this.setOnScroll)\n this.setOnScroll()\n } catch (e) {\n warn('List could not set onScroll:', e)\n }\n }\n\n removeScrollObserver() {\n if (typeof window !== 'undefined' && this.setOnScroll) {\n window.removeEventListener('resize', this.setOnScroll)\n this.setOnScroll = null\n }\n }\n\n enableBodyLock = () => {\n if (this._refUl.current) {\n this._bodyLockIsEnabled = true\n disableBodyScroll(this._refUl.current)\n }\n }\n\n disableBodyLock = () => {\n if (this._bodyLockIsEnabled && this._refUl.current) {\n this._bodyLockIsEnabled = null\n enableBodyScroll(this._refUl.current)\n }\n }\n\n setDirectionObserver() {\n if (\n typeof window === 'undefined' ||\n typeof document === 'undefined' ||\n !(this.state.wrapper_element || this._refRoot.current)\n ) {\n return\n }\n\n const {\n enable_body_lock,\n scrollable,\n min_height,\n max_height,\n on_resize,\n page_offset,\n observer_element,\n } = this.props\n\n // const skipPortal = isTrue(skip_portal)\n const useBodyLock = isTrue(enable_body_lock)\n const isScrollable = isTrue(scrollable)\n const customMinHeight = parseFloat(min_height) * 16\n const customMaxHeight = parseFloat(max_height) || 0\n\n let customElem =\n typeof observer_element === 'string'\n ? document.querySelector(observer_element)\n : null\n\n if (!customElem) {\n customElem = getClosestScrollViewElement(this._refRoot.current)\n }\n\n // In case we have one before hand\n this.removeDirectionObserver()\n\n const directionOffset = 96\n const spaceToTopOffset = 2 * 16\n const spaceToBottomOffset = 2 * 16\n const elem = this.state.wrapper_element || this._refRoot.current\n\n const renderDirection = () => {\n try {\n // make calculation for both direction and height\n const rootElem = customElem || document.documentElement\n\n const pageYOffset = !isNaN(parseFloat(page_offset))\n ? parseFloat(page_offset)\n : rootElem.scrollTop /* pageYOffset */\n const spaceToTop =\n getOffsetTop(elem) + elem.offsetHeight - pageYOffset\n const spaceToBottom =\n rootElem.clientHeight /* innerHeight */ -\n (getOffsetTop(elem) + elem.offsetHeight) +\n pageYOffset\n\n const direction =\n Math.max(spaceToBottom - directionOffset, directionOffset) <\n customMinHeight && spaceToTop > customMinHeight\n ? 'top'\n : 'bottom'\n\n // make sure we never get higher than we have defined in CSS\n let max_height = customMaxHeight\n if (!(max_height > 0)) {\n max_height =\n direction === 'top'\n ? spaceToTop -\n ((this.state.wrapper_element || this._refRoot.current)\n .offsetHeight || 0) -\n spaceToTopOffset\n : spaceToBottom - spaceToBottomOffset\n\n // get the view port height, like in CSS\n let vh = 0\n if (typeof window.visualViewport !== 'undefined') {\n vh = window.visualViewport.height\n } else {\n vh = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n )\n }\n\n // like defined in CSS\n vh = vh * (isScrollable ? 0.7 : 0.9)\n\n if (max_height > vh) {\n max_height = vh\n }\n\n // convert px to rem\n max_height = roundToNearest(max_height, 8) / 16\n }\n\n // update the states\n if (this.props.direction === 'auto') {\n this.setState({\n direction,\n })\n }\n this.setState({\n max_height,\n })\n\n // call the event, if set\n if (on_resize) {\n dispatchCustomElementEvent(this.state, 'on_resize', {\n direction,\n max_height,\n })\n }\n } catch (e) {\n warn('List could not set onResize:', e)\n }\n\n // React v18 needs a delay to make the calculation during first render\n window?.requestAnimationFrame?.(this.correctHiddenView) ||\n this.correctHiddenView()\n }\n\n // debounce\n this.setDirection = () => {\n clearTimeout(this._directionTimeout)\n this._directionTimeout = setTimeout(renderDirection, 50)\n }\n\n // customElem can be a dnb-scroll-view\n this._rootElem = customElem || window\n this._rootElem.addEventListener('scroll', this.setDirection)\n\n // this fixes iOS softkeyboard\n if (typeof window.visualViewport !== 'undefined') {\n window.visualViewport.addEventListener('scroll', this.setDirection)\n window.visualViewport.addEventListener('resize', this.setDirection)\n } else {\n window.addEventListener('resize', this.setDirection)\n }\n\n if (useBodyLock) {\n this.enableBodyLock()\n }\n\n this.refreshScrollObserver()\n\n renderDirection()\n }\n\n /**\n * Deprecated\n * We should replace all the logic of handling left/right aligned\n * and setting the position, with a PopupMenu component,\n * which uses the logic form Tooltip.\n *\n * EDS-246\n */\n correctHiddenView = () => {\n // We use \"style.transform\", because it is a independent \"and quick\" solution\n // we could send down spaceToLeft and spaceToRight and set it with React's \"style\" prop in future\n if (!this._refShell.current || !this._refUl.current) {\n return // stop here\n }\n\n try {\n const spaceToLeft = getOffsetLeft(this._refUl.current)\n const spaceToRight =\n window.innerWidth -\n (getOffsetLeft(this._refUl.current) +\n this._refUl.current.offsetWidth)\n\n const triangleStyle = this._refTriangle.current.style\n const shellStyle = this._refShell.current.style\n\n // correct left side\n if (spaceToLeft < 0) {\n shellStyle.transform = `translateX(${Math.abs(\n spaceToLeft / 16\n )}rem)`\n triangleStyle.right = `${Math.abs(spaceToLeft / 16)}rem`\n\n // correct right side\n } else if (spaceToRight < 0) {\n shellStyle.transform = `translateX(${spaceToRight / 16}rem)`\n triangleStyle.left = `${Math.abs(spaceToRight / 16)}rem`\n } else {\n if (shellStyle.transform) {\n shellStyle.transform = ''\n triangleStyle.left = 'auto'\n triangleStyle.right = 'auto'\n }\n }\n } catch (e) {\n //\n }\n }\n\n // this gives us the possibility to quickly search for an item\n // by simply pressing any alphabetical key\n findItemByValue(value) {\n if (isTrue(this.props.skip_keysearch)) {\n return\n }\n\n let index = -1\n\n try {\n value = String(value).toLowerCase()\n\n // delete the cache\n // if there are several of the same type\n if (this.changedOrderFor !== value) {\n this.searchCache = null\n this.changedOrderFor = null\n }\n\n this.searchCache =\n this.searchCache ||\n this.state.data.reduce((acc, itemData, i) => {\n const str = String(\n parseContentTitle(itemData, {\n separator: ' ',\n removeNumericOnlyValues: true,\n })\n )\n\n // take the first letter\n const firstLetter = String(str[0]).toLowerCase()\n acc[firstLetter] = acc[firstLetter] || []\n acc[firstLetter].push({\n i,\n })\n\n return acc\n }, {})\n\n const found = this.searchCache[value]\n index = found && found[0] && found[0].i > -1 ? found[0].i : -1\n\n // if there are several of the same type\n if (found && found.length > 1) {\n found.push(found.shift())\n this.changedOrderFor = value\n }\n } catch (e) {\n warn('List could not findItemByValue:', e)\n }\n\n return index\n }\n\n scrollToItem = (\n active_item,\n { scrollTo = true, element = null } = {}\n ) => {\n clearTimeout(this._scrollTimeout)\n this._scrollTimeout = setTimeout(() => {\n // try to scroll to item\n if (this._refUl.current && parseFloat(active_item) > -1) {\n try {\n const ulElement = this._refUl.current\n const liElement = element || this.getActiveElement()\n if (liElement) {\n const top = liElement.offsetTop\n if (ulElement.scrollTo) {\n if (scrollTo === false || window.IS_TEST) {\n ulElement.style.scrollBehavior = 'auto'\n }\n ulElement.scrollTo({\n top,\n behavior: scrollTo ? 'smooth' : 'auto',\n })\n if (scrollTo === false) {\n ulElement.style.scrollBehavior = 'smooth'\n }\n } else if (ulElement.scrollTop) {\n ulElement.scrollTop = top\n }\n\n if (!isTrue(this.props.prevent_focus) && liElement) {\n liElement.focus()\n dispatchCustomElementEvent(this, 'on_show_focus', {\n element: liElement,\n })\n }\n } else {\n warn('The DrawerList item was not a DOM Element')\n }\n } catch (e) {\n warn('List could not scroll into element:', e)\n }\n }\n }, 1) // to make sure we are after all DOM updates, else we don't get this scrolling\n }\n\n /**\n * During opening (Dropdown, Autocomplete),\n * and if noting is selected,\n * set scroll to item.\n *\n * @param {number} active_item The item to set as active\n * @param {object} param1\n * @property {boolean} fireSelectEvent Whether the onSelect event should get emitted\n * @property {boolean} scrollTo Whether the list should scroll to the new active item nor not\n * @property {event} event The event object to forward to the emitted events\n */\n setActiveItemAndScrollToIt = (\n active_item,\n { fireSelectEvent = false, scrollTo = true, event = null } = {}\n ) => {\n this.setState({ active_item }, () => {\n if (parseFloat(active_item) === -1) {\n // Select the first item to NVDA is more easily navigatable,\n // without using the alt + arrow key\n // else we set the focus on the \"ul\" element\n if (document.activeElement?.tagName !== 'INPUT') {\n this._refUl.current?.focus({ preventScroll: true })\n }\n\n dispatchCustomElementEvent(this, 'on_show_focus', {\n element: this._refUl.current,\n })\n } else if (parseFloat(active_item) > -1) {\n const { selected_item } = this.state\n\n if (fireSelectEvent) {\n const attributes = this.attributes\n const ret = dispatchCustomElementEvent(this.state, 'on_select', {\n active_item,\n value: getSelectedItemValue(selected_item, this.state),\n data: getEventData(active_item, this.state.data),\n event,\n attributes,\n })\n if (ret === false) {\n return // stop here!\n }\n }\n\n if (isTrue(this.props.no_animation)) {\n scrollTo = false\n }\n\n this.scrollToItem(active_item, { scrollTo })\n }\n })\n }\n\n removeDirectionObserver() {\n this.disableBodyLock()\n\n clearTimeout(this._directionTimeout)\n if (typeof window !== 'undefined' && this.setDirection) {\n this._rootElem?.removeEventListener('scroll', this.setDirection)\n\n // this fixes iOS softkeyboard\n if (typeof window.visualViewport !== 'undefined') {\n window.visualViewport.removeEventListener(\n 'scroll',\n this.setDirection\n )\n window.visualViewport.removeEventListener(\n 'resize',\n this.setDirection\n )\n } else {\n window.removeEventListener('resize', this.setDirection)\n }\n\n this.setDirection = null\n }\n }\n\n setWrapperElement = (wrapper_element = this.props.wrapper_element) => {\n if (\n typeof wrapper_element === 'string' &&\n typeof document !== 'undefined'\n ) {\n wrapper_element = document.querySelector(wrapper_element)\n }\n\n if (wrapper_element !== this.state.wrapper_element) {\n this.setState({\n wrapper_element,\n })\n }\n\n return this\n }\n\n getAnchorElem(activeElement) {\n try {\n return activeElement.querySelector('a:first-of-type')\n } catch (e) {\n return null\n }\n }\n\n setMetaKey = (e) => {\n const we =\n typeof window !== 'undefined' && window.event ? window.event : e\n this.meta = {\n cmd: we.metaKey,\n ctrl: we.ctrlKey,\n shift: we.shiftKey,\n alt: we.altKey,\n }\n }\n\n onKeyUpHandler = (e) => {\n this.setMetaKey(e)\n }\n\n onKeyDownHandler = (e) => {\n const key = keycode(e)\n\n if (/command|alt|shift|ctrl/.test(key)) {\n this.setMetaKey(e)\n }\n\n dispatchCustomElementEvent(this.state, 'on_key_down', {\n event: e,\n key,\n })\n\n // To allow copy\n // But makes VO not reading our list items once command key is pressed\n // if (this.meta.cmd || this.meta.ctrl || this.meta.shift || this.meta.alt) {\n // return // stop here\n // }\n\n // stop here if the focus is not set\n // and the drawer is opened by default\n if (\n isTrue(this.props.prevent_close)\n // TODO: Has to be worked on better!\n // !isTrue(this.props.prevent_focus)\n ) {\n let isSameDrawer = false\n try {\n const ulElem = getPreviousSibling(\n 'dnb-drawer-list__options',\n document.activeElement\n )\n\n isSameDrawer =\n ulElem === this._refUl.current ||\n ulElem?.getAttribute('id') === this.props.id\n } catch (e) {\n warn(e)\n }\n if (!isSameDrawer && key !== 'tab') {\n return // stop here\n }\n }\n\n if (!this.state.isOpen) {\n return // stop here\n }\n\n if (isTrue(this.state.ignore_events) && key !== 'tab') {\n return // stop here\n }\n\n let active_item = parseFloat(this.state.active_item)\n\n if (isNaN(active_item)) {\n active_item = -1\n }\n\n const total = this.state.data && this.state.data.length - 1\n\n switch (key) {\n case 'up':\n {\n e.preventDefault()\n\n if (\n this.state.direction === 'bottom' &&\n this.state.active_item === this.getFirstItem()\n ) {\n active_item = -1\n } else {\n active_item = this.getPrevActiveItem()\n if (isNaN(active_item)) {\n active_item = this.getLastItem()\n }\n }\n }\n break\n\n case 'down':\n {\n e.preventDefault()\n\n if (\n this.state.direction === 'top' &&\n this.state.active_item === this.getLastItem()\n ) {\n active_item = -1\n } else {\n active_item = this.getNextActiveItem()\n\n if (isNaN(active_item)) {\n active_item = this.getFirstItem()\n }\n }\n }\n break\n\n case 'page up':\n case 'home':\n {\n e.preventDefault()\n active_item = this.getFirstItem() || 0\n }\n break\n\n case 'page down':\n case 'end':\n {\n e.preventDefault()\n active_item = this.getLastItem()\n if (isNaN(active_item)) {\n active_item = total\n }\n }\n break\n\n case 'enter':\n case 'space':\n {\n if (e.target.tagName === 'A') {\n e.target.dispatchEvent(new MouseEvent('click'))\n this.setHidden()\n return // stop here, and let the browser + anchor do the rest\n }\n\n active_item = this.getCurrentActiveItem()\n\n if (\n isTrue(this.props.skip_keysearch)\n ? active_item > -1 && key !== 'space'\n : true\n ) {\n e.preventDefault()\n const result = this.selectItemAndClose(active_item, {\n fireSelectEvent: true,\n event: e,\n })\n if (result === false) {\n return // stop here if the data actually does not exit\n }\n }\n }\n break\n\n case 'esc':\n {\n this.setHidden({ event: e })\n e.preventDefault()\n }\n break\n\n case 'tab':\n {\n if (active_item > -1) {\n // If there is an active item\n // we make it possible to tab inside it (to an anchor) instead of closing the list\n const activeElement = this.getActiveElement()\n const hasFocusOnElement = Boolean(\n this.getAnchorElem(activeElement)\n )\n\n this.setState({ hasFocusOnElement })\n\n // And if there is an anchor inside our active element\n if (hasFocusOnElement) {\n e.stopPropagation()\n\n // Also, set the focus actively into the active element, if it is not from beforehand\n const currentActiveElement = getPreviousSibling(\n 'dnb-drawer-list__option',\n document.activeElement\n )\n\n if (currentActiveElement !== activeElement) {\n /**\n * Create an fake element,\n * so it's the last one we focus, within our active element.\n *\n * When the users tabs to it,\n * we return the focus the users prev focus element, e.g. autocomplete input\n *\n * Why is this needed? Because we have our list in a portal, outside of the tab order\n */\n const createTabElem = () => {\n try {\n const elem = document.createElement('BUTTON')\n elem.style = 'opacity:0;position:absolute;'\n const focus = () => {\n prevActiveElement.focus()\n elem.removeEventListener('focus', focus)\n activeElement.removeChild(after)\n activeElement.removeChild(before)\n }\n elem.addEventListener('focus', focus)\n return elem\n } catch (e) {\n //\n }\n }\n\n const prevActiveElement = document.activeElement\n const after = createTabElem()\n const before = createTabElem()\n\n // Now, focus our active element\n activeElement.focus()\n\n const insertElem = () => {\n try {\n // Insert our fake elements\n activeElement.appendChild(after)\n activeElement.insertBefore(\n before,\n activeElement.firstChild\n )\n } catch (e) {\n //\n }\n }\n\n // check because of test\n if (typeof window.requestAnimationFrame === 'function') {\n // requestAnimationFrame is need by chromium browsers\n window.requestAnimationFrame(insertElem)\n } else {\n insertElem()\n }\n }\n\n return // stop here\n }\n\n // We may consider to close the list and set the focus it the handler\n // but also, in portal mode, we want to prevent to start the focus from the top of the page\n else if (isTrue(this.props.prevent_close)) {\n active_item = -1\n }\n }\n\n this.setHidden({ event: e })\n }\n break\n\n default:\n active_item = this.findItemByValue(keycode(e))\n break\n }\n\n if (\n active_item === -1 &&\n this._refUl.current &&\n typeof document !== 'undefined'\n ) {\n const ulElem = getPreviousSibling(\n 'dnb-drawer-list__options',\n document.activeElement\n )\n\n if (ulElem === this._refUl.current) {\n this.setState({\n showFocusRing: true,\n active_item,\n })\n\n this._refUl.current.focus({ preventScroll: true })\n dispatchCustomElementEvent(this.state, 'handle_dismiss_focus')\n }\n } else if (\n parseFloat(active_item) > -1 &&\n active_item !== this.state.active_item\n ) {\n this.setState({\n showFocusRing: false,\n })\n this.setActiveItemAndScrollToIt(active_item, {\n fireSelectEvent: true,\n event: e,\n })\n }\n }\n\n getSelectedElement = () => {\n return (\n this._refUl.current?.querySelector(\n 'li.dnb-drawer-list__option--selected'\n ) ||\n this._refUl.current || {\n getAttribute: () => null,\n }\n )\n }\n\n getCurrentSelectedItem = () => {\n const elem = this.getSelectedElement()\n return parseFloat(elem && elem.getAttribute('data-item'))\n }\n\n getActiveElement = () => {\n return (\n this._refUl.current?.querySelector(\n 'li.dnb-drawer-list__option--focus'\n ) || this.getSelectedElement()\n )\n }\n\n getCurrentActiveItem = () => {\n const elem = this.getActiveElement()\n return parseFloat(elem && elem.getAttribute('data-item'))\n }\n\n getNextActiveItem = () => {\n const elem = this.getActiveElement().nextSibling\n return parseFloat(elem && elem.getAttribute('data-item'))\n }\n\n getPrevActiveItem = () => {\n const elem = this.getActiveElement().previousSibling\n return parseFloat(elem && elem.getAttribute('data-item'))\n }\n\n getFirstItem = () => {\n const elem = this._refUl.current?.querySelector(\n 'li.dnb-drawer-list__option.first-of-type' // because of the triangle element\n )\n return parseFloat(elem && elem.getAttribute('data-item'))\n }\n\n getLastItem = () => {\n const elem = this._refUl.current?.querySelector(\n 'li.dnb-drawer-list__option.last-of-type' // because of the triangle element\n )\n return parseFloat(elem && elem.getAttribute('data-item'))\n }\n\n setOutsideClickObserver = () => {\n this.removeOutsideClickObserver()\n\n this.outsideClick = detectOutsideClick(\n [\n this.state.wrapper_element,\n this._refRoot.current,\n this._refUl.current,\n ],\n () => this.setHidden({ preventHideFocus: true }),\n { includedKeys: ['tab'] }\n )\n\n if (typeof document !== 'undefined') {\n document.addEventListener('keydown', this.onKeyDownHandler)\n document.addEventListener('keyup', this.onKeyUpHandler)\n }\n }\n\n removeOutsideClickObserver() {\n if (this.outsideClick) {\n this.outsideClick.remove()\n }\n if (typeof document !== 'undefined') {\n document.removeEventListener('keydown', this.onKeyDownHandler)\n document.removeEventListener('keyup', this.onKeyUpHandler)\n }\n }\n\n addObservers = () => {\n this.setDirectionObserver()\n this.setScrollObserver()\n this.setOutsideClickObserver()\n }\n removeObservers = () => {\n this.removeDirectionObserver()\n this.removeScrollObserver()\n this.removeOutsideClickObserver()\n }\n\n toggleVisible = (...args) => {\n return this.state.opened\n ? this.setHidden(...args)\n : this.setVisible(...args)\n }\n\n setVisible = (args = {}, onStateComplete = null) => {\n if (this.state.opened && this.state.hidden === false) {\n if (typeof onStateComplete === 'function') {\n onStateComplete(true)\n }\n return // stop\n }\n\n clearTimeout(this._showTimeout)\n clearTimeout(this._hideTimeout)\n\n this.searchCache = null\n\n const handleSingleComponentCheck = () => {\n this.setState({\n hidden: false,\n opened: true,\n })\n\n const animationDelayHandler = () => {\n DrawerListProvider.isOpen = true\n this.setState({\n isOpen: true,\n })\n\n if (typeof onStateComplete === 'function') {\n onStateComplete(true)\n }\n\n this.setActiveState(true)\n }\n\n if (isTrue(this.props.no_animation)) {\n // our tests want no delay!\n if (process?.env.NODE_ENV === 'test') {\n animationDelayHandler()\n } else {\n // We have to have still a delay, to ensure the user can press enter to toggle the open state\n clearTimeout(this._showTimeout)\n this._showTimeout = setTimeout(animationDelayHandler, 0) // ensure we do not set isOpen true before the keydown handler has run\n }\n } else {\n clearTimeout(this._showTimeout)\n this._showTimeout = setTimeout(\n animationDelayHandler,\n DrawerListProvider.blurDelay\n ) // wait until animation is over\n }\n\n const { selected_item, active_item } = this.state\n dispatchCustomElementEvent(this.state, 'on_show', {\n ...args,\n data: getEventData(\n parseFloat(selected_item) > -1 ? selected_item : active_item,\n this.state.data\n ),\n attributes: this.attributes,\n ulElement: this._refUl.current,\n })\n\n this.setActiveItemAndScrollToIt(\n parseFloat(active_item) > -1 ? active_item : -1,\n { scrollTo: false }\n )\n }\n\n // If a user clicks on a second drawer list\n // we ensure we first close it, before we open it\n if (DrawerListProvider.isOpen && !isTrue(this.props.no_animation)) {\n clearTimeout(this._hideTimeout)\n this._hideTimeout = setTimeout(\n handleSingleComponentCheck,\n DrawerListProvider.blurDelay\n )\n } else {\n handleSingleComponentCheck()\n }\n }\n\n setHidden = (args = {}, onStateComplete = null) => {\n if (!this.state.opened || isTrue(this.props.prevent_close)) {\n if (typeof onStateComplete === 'function') {\n onStateComplete(false)\n }\n return // stop here\n }\n\n clearTimeout(this._showTimeout)\n clearTimeout(this._hideTimeout)\n\n const { selected_item, active_item } = this.state\n const res = dispatchCustomElementEvent(this.state, 'on_hide', {\n ...args,\n data: getEventData(\n parseFloat(selected_item) > -1 ? selected_item : active_item,\n this.state.data\n ),\n attributes: this.attributes,\n })\n\n if (res !== false) {\n this.setState({\n opened: false,\n })\n\n const delayHandler = () => {\n this.removeObservers()\n\n this.setState({\n hidden: true,\n isOpen: false,\n })\n if (typeof onStateComplete === 'function') {\n onStateComplete(false)\n }\n DrawerListProvider.isOpen = false\n\n this.setActiveState(false)\n }\n\n if (isTrue(this.props.no_animation)) {\n delayHandler()\n } else {\n clearTimeout(this._hideTimeout)\n this._hideTimeout = setTimeout(\n delayHandler,\n DrawerListProvider.blurDelay\n ) // wait until animation is over\n }\n }\n }\n\n setActiveState(active) {\n if (typeof document !== 'undefined') {\n try {\n if (active) {\n document.documentElement.setAttribute(\n 'data-dnb-drawer-list-active',\n String(this.props.id)\n )\n } else {\n document.documentElement.removeAttribute(\n 'data-dnb-drawer-list-active'\n )\n }\n } catch (e) {\n warn(\n 'DrawerList: Error on set \"data-dnb-drawer-list-active\" by using element.setAttribute()',\n e\n )\n }\n }\n }\n\n setDataHandler = (\n data,\n cb = null,\n { overwriteOriginalData = false } = {}\n ) => {\n if (!data) {\n return\n }\n\n if (typeof data === 'function') {\n data = getData(data)\n }\n\n data = normalizeData(data)\n\n this.setState(\n {\n data,\n original_data: overwriteOriginalData\n ? data\n : this.state.original_data,\n },\n () => {\n this.refreshScrollObserver()\n typeof cb === 'function' && cb(data)\n }\n )\n\n return this\n }\n\n setStateHandler = (state, cb = null) => {\n this.setState(\n {\n ...state,\n },\n cb\n )\n\n return this\n }\n\n selectItemAndClose = (itemToSelect, args = {}) => {\n args.closeOnSelection = true\n return this.selectItem(itemToSelect, args)\n }\n\n selectItem = (\n itemToSelect,\n {\n fireSelectEvent = false,\n event = null,\n closeOnSelection = false,\n } = {}\n ) => {\n // because of our delay on dispatching the event\n // make a copy of it, so we don't break the synthetic event\n if (event && typeof event.persist === 'function') {\n event.persist()\n }\n\n // if no value is set on start and we confirm, we get -1\n if (itemToSelect === -1) {\n itemToSelect = null\n }\n\n const data = getEventData(itemToSelect, this.state.data) || null\n const value = getSelectedItemValue(itemToSelect, this.state)\n const attributes = this.attributes\n const attr = {\n selected_item: itemToSelect,\n value,\n data,\n event,\n attributes,\n }\n\n if (data?.disabled) {\n return false\n }\n\n const res = dispatchCustomElementEvent(\n this.state,\n 'on_pre_change',\n attr\n )\n\n if (res === false) {\n return res // stop here\n }\n\n if (hasSelectedText()) {\n const elem = getSelectedElement()\n const isInput = getPreviousSibling('dnb-input', elem)\n if (!isInput) {\n return // stop here\n }\n }\n\n const { keep_open, prevent_selection } = this.props\n\n const doCallOnChange =\n parseFloat(itemToSelect) > -1 &&\n itemToSelect !== this.state.selected_item\n const onSelectionIsComplete = () => {\n if (doCallOnChange) {\n dispatchCustomElementEvent(this.state, 'on_change', attr)\n }\n if (fireSelectEvent) {\n dispatchCustomElementEvent(this.state, 'on_select', {\n ...attr,\n active_item: itemToSelect,\n })\n }\n\n if (closeOnSelection && !isTrue(keep_open)) {\n this.setHidden()\n }\n }\n\n if (isTrue(prevent_selection)) {\n onSelectionIsComplete()\n } else {\n this.setState(\n {\n selected_item: itemToSelect,\n active_item: itemToSelect,\n },\n onSelectionIsComplete\n )\n }\n }\n\n render() {\n return (\n <DrawerListContext.Provider\n value={{\n ...this.context,\n drawerList: {\n attributes: this.attributes,\n _refRoot: this._refRoot,\n _refShell: this._refShell,\n _refUl: this._refUl,\n _refTriangle: this._refTriangle,\n _rootElem: this._rootElem,\n getActiveElement: this.getActiveElement,\n setData: this.setDataHandler,\n setState: this.setStateHandler,\n setWrapperElement: this.setWrapperElement,\n addObservers: this.addObservers,\n removeObservers: this.removeObservers,\n setVisible: this.setVisible,\n setHidden: this.setHidden,\n toggleVisible: this.toggleVisible,\n selectItem: this.selectItem,\n selectItemAndClose: this.selectItemAndClose,\n scrollToItem: this.scrollToItem,\n setActiveItemAndScrollToIt: this.setActiveItemAndScrollToIt,\n ...this.state,\n },\n }}\n >\n {this.props.children}\n </DrawerListContext.Provider>\n )\n }\n}\n"],"mappings":"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"}
@@ -57,6 +57,9 @@
57
57
  --drawer-list-option-inner-background: var(--color-white);
58
58
  --drawer-list-list-background: var(--color-white);
59
59
  --drawer-list-list-line-height: var(--line-height-basis);
60
+ // Disabled option
61
+ --drawer-list-option-disabled-background: var(--color-white);
62
+ --drawer-list-option-disabled-color: var(--color-black-20);
60
63
 
61
64
  display: block; // has to be block element so we can se the content
62
65
  position: relative;
@@ -243,6 +246,14 @@
243
246
  cursor: default;
244
247
  pointer-events: none;
245
248
  }
249
+
250
+ &[disabled] {
251
+ --drawer-list-option-inner-background: var(
252
+ --drawer-list-option-disabled-background
253
+ );
254
+ color: var(--drawer-list-option-disabled-color);
255
+ cursor: not-allowed;
256
+ }
246
257
  }
247
258
 
248
259
  // arrow
@@ -13,9 +13,14 @@
13
13
  --drawer-list-options-border-radius: 0 0 0.5rem 0.5rem;
14
14
  --drawer-list-options-border-radius-reversed: 0.5rem 0.5rem 0 0;
15
15
  --drawer-list-option-border-width: 0.125rem;
16
+ --drawer-list-option-border-color: transparent;
16
17
  --drawer-list-option-inner-border-display: none;
17
18
  --drawer-list-option-inner-background: transparent;
18
19
  --drawer-list-list-background: var(--sb-color-white);
20
+ --drawer-list-list-option-background: transparent;
21
+ // Disabled option
22
+ --drawer-list-option-disabled-background: var(--sb-color-gray-light);
23
+ --drawer-list-option-disabled-color: var(--sb-color-gray-dark);
19
24
 
20
25
  &__list {
21
26
  margin-top: calc(
@@ -31,14 +36,14 @@
31
36
 
32
37
  &__option__inner {
33
38
  overflow: visible;
34
- background-color: inherit;
35
39
  padding: 1rem 0.75rem;
40
+ margin: 0 var(--drawer-list-option-border-width);
36
41
 
37
42
  &::before {
38
43
  content: '';
39
44
  display: block;
40
45
  position: absolute;
41
- bottom: -3px;
46
+ top: -1px;
42
47
  left: 0.5rem;
43
48
  width: calc(100% - 1rem);
44
49
  height: 1px;
@@ -56,12 +61,9 @@
56
61
  }
57
62
 
58
63
  &__option {
59
- border: var(--drawer-list-option-border-width) solid
60
- var(--sb-color-gray-dark-2);
61
- border-bottom-color: transparent;
62
- border-top-color: transparent;
63
- border-right-color: transparent; // Fix ugly border with scrollbar
64
- background-color: transparent;
64
+ box-shadow: inset 0 0 0 var(--drawer-list-option-border-width)
65
+ var(--drawer-list-option-border-color);
66
+ background: var(--drawer-list-list-option-background);
65
67
  z-index: 0;
66
68
 
67
69
  &__item.item-nr-1 {
@@ -69,7 +71,7 @@
69
71
  }
70
72
 
71
73
  @include hover() {
72
- border-color: var(--sb-color-violet);
74
+ --drawer-list-option-border-color: var(--sb-color-violet);
73
75
  z-index: 1;
74
76
 
75
77
  .dnb-drawer-list__option__inner::before {
@@ -78,7 +80,7 @@
78
80
  }
79
81
 
80
82
  @include active() {
81
- border-color: var(--sb-color-violet);
83
+ --drawer-list-option-border-color: var(--sb-color-violet);
82
84
  z-index: 1;
83
85
 
84
86
  .dnb-drawer-list__option__inner::before {
@@ -87,7 +89,7 @@
87
89
  }
88
90
 
89
91
  &--selected {
90
- background-color: var(--sb-color-violet);
92
+ --drawer-list-list-option-background: var(--sb-color-violet);
91
93
  color: var(--sb-color-white);
92
94
  border-right-color: var(
93
95
  --sb-color-gray-dark-2
@@ -122,28 +124,33 @@
122
124
  @include allAbove(small) {
123
125
  &--selected &__suffix {
124
126
  z-index: 2; // over check icon
125
- background-color: inherit; // to "hide" the check icon
127
+ background-color: var(
128
+ --drawer-list-list-option-background
129
+ ); // to "hide" the check icon
126
130
  }
127
131
  }
128
132
 
133
+ &.first-of-type &__inner::before {
134
+ content: none;
135
+ }
136
+
129
137
  &.last-of-type {
130
138
  border-radius: var(--drawer-list-options-border-radius);
131
-
132
- .dnb-drawer-list__option__inner::before {
133
- display: none;
134
- }
135
139
  }
136
140
 
137
141
  &:focus-visible,
138
142
  &--focus {
139
- border-color: var(--sb-color-blue-dark);
140
- outline: 0.0625rem solid var(--sb-color-blue-dark);
141
- background-color: var(--sb-color-blue-light-3);
143
+ --drawer-list-option-border-color: var(--sb-color-blue-dark);
144
+ --drawer-list-list-option-background: var(--sb-color-blue-light-3);
142
145
  color: var(--sb-color-blue-dark);
143
146
  font-weight: var(--sb-font-weight-medium);
144
147
  z-index: 1;
145
148
 
146
149
  /* stylelint-disable no-descending-specificity */
150
+ .dnb-drawer-list__option__inner {
151
+ --drawer-list-option-inner-background: transparent;
152
+ }
153
+
147
154
  .dnb-drawer-list__option__inner::before {
148
155
  display: var(--drawer-list-option-inner-border-display);
149
156
  }
@@ -1,2 +1,2 @@
1
- export declare const version = "10.56.0";
1
+ export declare const version = "10.57.1";
2
2
  export declare function init(): void;
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.init = init;
7
7
  exports.version = void 0;
8
- const version = '10.56.0';
8
+ const version = '10.57.1';
9
9
  exports.version = version;
10
10
  function init() {
11
11
  if (typeof window !== 'undefined') {
12
12
  class Eufemia {
13
13
  get version() {
14
- return '10.56.0';
14
+ return '10.57.1';
15
15
  }
16
16
  }
17
17
  window.Eufemia = new Eufemia();
@@ -1 +1 @@
1
- {"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.56.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.56.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,SAAS;AAAAC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAEzB,SAASE,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIJ,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAG,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
1
+ {"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.57.1'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.57.1'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,SAAS;AAAAC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAEzB,SAASE,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIJ,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAG,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
@@ -19,5 +19,8 @@ type VisibilityByThemeProps = {
19
19
  };
20
20
  type ThemeItem = ThemeNames | ThemeProps;
21
21
  type ThemeParams = ThemeItem | Array<ThemeItem>;
22
- export default function VisibilityByTheme({ children, visible, hidden, }: VisibilityByThemeProps): JSX.Element;
23
- export {};
22
+ declare function VisibilityByTheme({ children, visible, hidden, }: VisibilityByThemeProps): JSX.Element;
23
+ declare namespace VisibilityByTheme {
24
+ var Name: () => "Eiendom" | "Sbanken" | "DNB";
25
+ }
26
+ export default VisibilityByTheme;
@@ -37,4 +37,16 @@ function VisibilityByTheme(_ref) {
37
37
  });
38
38
  }
39
39
  }
40
+ VisibilityByTheme.Name = function ThemeName() {
41
+ const theme = (0, _useTheme.default)();
42
+ if (theme.isEiendom) {
43
+ return 'Eiendom';
44
+ }
45
+ if (theme.isSbanken) {
46
+ return 'Sbanken';
47
+ }
48
+ if (theme.isUi) {
49
+ return 'DNB';
50
+ }
51
+ };
40
52
  //# sourceMappingURL=VisibilityByTheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VisibilityByTheme.js","names":["_useTheme","_interopRequireDefault","require","obj","__esModule","default","VisibilityByTheme","_ref","children","visible","hidden","theme","useTheme","visibleList","Array","isArray","hiddenList","some","match","themeItem","name","matchObject","Object","keys","every","key"],"sources":["../../../src/shared/VisibilityByTheme.tsx"],"sourcesContent":["import React from 'react'\nimport useTheme from './useTheme'\nimport type { ThemeNames, ThemeProps } from './Theme'\n\ntype VisibilityByThemeProps = {\n /**\n * A valid theme name or object.\n * Will pass children on a match.\n */\n visible?: ThemeParams\n\n /**\n * A valid theme name or object.\n * Will omit passing children on a match.\n * NB: \"visible\" takes presence over \"hidden\"\n */\n hidden?: ThemeParams\n\n /**\n * Any kind of a React Node that should render on a match.\n */\n children: React.ReactNode\n}\n\ntype ThemeItem = ThemeNames | ThemeProps\ntype ThemeParams = ThemeItem | Array<ThemeItem>\n\nexport default function VisibilityByTheme({\n children,\n visible,\n hidden,\n}: VisibilityByThemeProps) {\n const theme = useTheme()\n\n const visibleList = Array.isArray(visible) ? visible : [visible]\n const hiddenList = Array.isArray(hidden) ? hidden : [hidden]\n\n if (visible) {\n if (!visibleList.some(match(theme))) {\n return null\n }\n } else if (hidden) {\n if (hiddenList.some(match(theme))) {\n return null\n }\n }\n\n return children as JSX.Element\n\n function match(theme: ThemeProps) {\n return (themeItem: ThemeItem) => {\n return typeof themeItem === 'string'\n ? theme.name === themeItem\n : matchObject(theme, themeItem)\n }\n }\n\n function matchObject(theme: ThemeProps, themeItem: ThemeItem) {\n return Object.keys(themeItem).every((key) => {\n return theme[key] === themeItem[key]\n })\n }\n}\n"],"mappings":";;;;;;;AACA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAiC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA0BlB,SAASG,iBAAiBA,CAAAC,IAAA,EAId;EAAA,IAJe;IACxCC,QAAQ;IACRC,OAAO;IACPC;EACsB,CAAC,GAAAH,IAAA;EACvB,MAAMI,KAAK,GAAG,IAAAC,iBAAQ,EAAC,CAAC;EAExB,MAAMC,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACN,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC;EAChE,MAAMO,UAAU,GAAGF,KAAK,CAACC,OAAO,CAACL,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;EAE5D,IAAID,OAAO,EAAE;IACX,IAAI,CAACI,WAAW,CAACI,IAAI,CAACC,KAAK,CAACP,KAAK,CAAC,CAAC,EAAE;MACnC,OAAO,IAAI;IACb;EACF,CAAC,MAAM,IAAID,MAAM,EAAE;IACjB,IAAIM,UAAU,CAACC,IAAI,CAACC,KAAK,CAACP,KAAK,CAAC,CAAC,EAAE;MACjC,OAAO,IAAI;IACb;EACF;EAEA,OAAOH,QAAQ;EAEf,SAASU,KAAKA,CAACP,KAAiB,EAAE;IAChC,OAAQQ,SAAoB,IAAK;MAC/B,OAAO,OAAOA,SAAS,KAAK,QAAQ,GAChCR,KAAK,CAACS,IAAI,KAAKD,SAAS,GACxBE,WAAW,CAACV,KAAK,EAAEQ,SAAS,CAAC;IACnC,CAAC;EACH;EAEA,SAASE,WAAWA,CAACV,KAAiB,EAAEQ,SAAoB,EAAE;IAC5D,OAAOG,MAAM,CAACC,IAAI,CAACJ,SAAS,CAAC,CAACK,KAAK,CAAEC,GAAG,IAAK;MAC3C,OAAOd,KAAK,CAACc,GAAG,CAAC,KAAKN,SAAS,CAACM,GAAG,CAAC;IACtC,CAAC,CAAC;EACJ;AACF"}
1
+ {"version":3,"file":"VisibilityByTheme.js","names":["_useTheme","_interopRequireDefault","require","obj","__esModule","default","VisibilityByTheme","_ref","children","visible","hidden","theme","useTheme","visibleList","Array","isArray","hiddenList","some","match","themeItem","name","matchObject","Object","keys","every","key","Name","ThemeName","isEiendom","isSbanken","isUi"],"sources":["../../../src/shared/VisibilityByTheme.tsx"],"sourcesContent":["import React from 'react'\nimport useTheme from './useTheme'\nimport type { ThemeNames, ThemeProps } from './Theme'\n\ntype VisibilityByThemeProps = {\n /**\n * A valid theme name or object.\n * Will pass children on a match.\n */\n visible?: ThemeParams\n\n /**\n * A valid theme name or object.\n * Will omit passing children on a match.\n * NB: \"visible\" takes presence over \"hidden\"\n */\n hidden?: ThemeParams\n\n /**\n * Any kind of a React Node that should render on a match.\n */\n children: React.ReactNode\n}\n\ntype ThemeItem = ThemeNames | ThemeProps\ntype ThemeParams = ThemeItem | Array<ThemeItem>\n\nexport default function VisibilityByTheme({\n children,\n visible,\n hidden,\n}: VisibilityByThemeProps) {\n const theme = useTheme()\n\n const visibleList = Array.isArray(visible) ? visible : [visible]\n const hiddenList = Array.isArray(hidden) ? hidden : [hidden]\n\n if (visible) {\n if (!visibleList.some(match(theme))) {\n return null\n }\n } else if (hidden) {\n if (hiddenList.some(match(theme))) {\n return null\n }\n }\n\n return children as JSX.Element\n\n function match(theme: ThemeProps) {\n return (themeItem: ThemeItem) => {\n return typeof themeItem === 'string'\n ? theme.name === themeItem\n : matchObject(theme, themeItem)\n }\n }\n\n function matchObject(theme: ThemeProps, themeItem: ThemeItem) {\n return Object.keys(themeItem).every((key) => {\n return theme[key] === themeItem[key]\n })\n }\n}\n\nVisibilityByTheme.Name = function ThemeName() {\n const theme = useTheme()\n if (theme.isEiendom) {\n return 'Eiendom'\n }\n if (theme.isSbanken) {\n return 'Sbanken'\n }\n if (theme.isUi) {\n return 'DNB'\n }\n}\n"],"mappings":";;;;;;;AACA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAiC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA0BlB,SAASG,iBAAiBA,CAAAC,IAAA,EAId;EAAA,IAJe;IACxCC,QAAQ;IACRC,OAAO;IACPC;EACsB,CAAC,GAAAH,IAAA;EACvB,MAAMI,KAAK,GAAG,IAAAC,iBAAQ,EAAC,CAAC;EAExB,MAAMC,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACN,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC;EAChE,MAAMO,UAAU,GAAGF,KAAK,CAACC,OAAO,CAACL,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;EAE5D,IAAID,OAAO,EAAE;IACX,IAAI,CAACI,WAAW,CAACI,IAAI,CAACC,KAAK,CAACP,KAAK,CAAC,CAAC,EAAE;MACnC,OAAO,IAAI;IACb;EACF,CAAC,MAAM,IAAID,MAAM,EAAE;IACjB,IAAIM,UAAU,CAACC,IAAI,CAACC,KAAK,CAACP,KAAK,CAAC,CAAC,EAAE;MACjC,OAAO,IAAI;IACb;EACF;EAEA,OAAOH,QAAQ;EAEf,SAASU,KAAKA,CAACP,KAAiB,EAAE;IAChC,OAAQQ,SAAoB,IAAK;MAC/B,OAAO,OAAOA,SAAS,KAAK,QAAQ,GAChCR,KAAK,CAACS,IAAI,KAAKD,SAAS,GACxBE,WAAW,CAACV,KAAK,EAAEQ,SAAS,CAAC;IACnC,CAAC;EACH;EAEA,SAASE,WAAWA,CAACV,KAAiB,EAAEQ,SAAoB,EAAE;IAC5D,OAAOG,MAAM,CAACC,IAAI,CAACJ,SAAS,CAAC,CAACK,KAAK,CAAEC,GAAG,IAAK;MAC3C,OAAOd,KAAK,CAACc,GAAG,CAAC,KAAKN,SAAS,CAACM,GAAG,CAAC;IACtC,CAAC,CAAC;EACJ;AACF;AAEAnB,iBAAiB,CAACoB,IAAI,GAAG,SAASC,SAASA,CAAA,EAAG;EAC5C,MAAMhB,KAAK,GAAG,IAAAC,iBAAQ,EAAC,CAAC;EACxB,IAAID,KAAK,CAACiB,SAAS,EAAE;IACnB,OAAO,SAAS;EAClB;EACA,IAAIjB,KAAK,CAACkB,SAAS,EAAE;IACnB,OAAO,SAAS;EAClB;EACA,IAAIlB,KAAK,CAACmB,IAAI,EAAE;IACd,OAAO,KAAK;EACd;AACF,CAAC"}
@@ -45,7 +45,7 @@
45
45
  word-break: break-word;
46
46
 
47
47
  // Will add this to the body tag – later we can test for a version mismatch
48
- --eufemia-version: '10.56.0';
48
+ --eufemia-version: '10.57.1';
49
49
 
50
50
  @content;
51
51
  }
@@ -248,7 +248,7 @@ body {
248
248
  /* stylelint-disable-next-line */
249
249
  -webkit-text-size-adjust: 100%;
250
250
  word-break: break-word;
251
- --eufemia-version: "10.56.0";
251
+ --eufemia-version: "10.57.1";
252
252
  }
253
253
  .dnb-core-style *,
254
254
  .dnb-core-style ::before,