@dnb/eufemia 10.23.0 → 10.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/cjs/components/accordion/style/dnb-accordion.css +6 -2
  3. package/cjs/components/accordion/style/dnb-accordion.min.css +2 -2
  4. package/cjs/components/accordion/style/dnb-accordion.scss +8 -2
  5. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +23 -4
  6. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  7. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +25 -5
  8. package/cjs/components/anchor/Anchor.d.ts +1 -1
  9. package/cjs/components/anchor/Anchor.js +2 -2
  10. package/cjs/components/anchor/Anchor.js.map +1 -1
  11. package/cjs/components/anchor/style/anchor-mixins.scss +46 -3
  12. package/cjs/components/anchor/style/dnb-anchor.css +73 -4
  13. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  14. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +2 -14
  15. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  16. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -46
  17. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  18. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -32
  19. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +2 -14
  20. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  21. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
  22. package/cjs/components/autocomplete/Autocomplete.d.ts +0 -15
  23. package/cjs/components/autocomplete/AutocompleteDocs.d.ts +3 -0
  24. package/cjs/components/autocomplete/AutocompleteDocs.js +293 -0
  25. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -0
  26. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  27. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  28. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +1 -1
  29. package/cjs/components/button/Button.js +1 -1
  30. package/cjs/components/button/Button.js.map +1 -1
  31. package/cjs/components/dropdown/Dropdown.d.ts +0 -3
  32. package/cjs/components/flex/style/dnb-flex.css +1 -1
  33. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  34. package/cjs/components/flex/style/flex-stack.scss +1 -1
  35. package/cjs/components/icon/style/dnb-icon.css +2 -2
  36. package/cjs/components/icon/style/dnb-icon.min.css +1 -1
  37. package/cjs/components/icon/style/dnb-icon.scss +1 -1
  38. package/cjs/components/input/Input.js +1 -1
  39. package/cjs/components/input/Input.js.map +1 -1
  40. package/cjs/components/input/InputDocs.js +2 -2
  41. package/cjs/components/input/InputDocs.js.map +1 -1
  42. package/cjs/components/table/style/dnb-table.css +6 -0
  43. package/cjs/components/table/style/dnb-table.min.css +1 -1
  44. package/cjs/components/table/style/table-th.scss +9 -25
  45. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
  46. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  47. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
  48. package/cjs/components/table/style/themes/dnb-table-theme-ui.css +1 -1
  49. package/cjs/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  50. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
  51. package/cjs/components/textarea/Textarea.d.ts +9 -0
  52. package/cjs/components/textarea/Textarea.js +21 -5
  53. package/cjs/components/textarea/Textarea.js.map +1 -1
  54. package/cjs/components/textarea/TextareaDocs.js +10 -0
  55. package/cjs/components/textarea/TextareaDocs.js.map +1 -1
  56. package/cjs/components/textarea/style/dnb-textarea.css +69 -26
  57. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  58. package/cjs/components/textarea/style/dnb-textarea.scss +83 -31
  59. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
  60. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  61. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
  62. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
  63. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  64. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
  65. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
  66. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  67. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
  68. package/cjs/extensions/forms/DataContext/At/At.js +6 -6
  69. package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
  70. package/cjs/extensions/forms/DataContext/Context.d.ts +5 -2
  71. package/cjs/extensions/forms/DataContext/Context.js +1 -0
  72. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  73. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  74. package/cjs/extensions/forms/DataContext/Provider/Provider.js +52 -26
  75. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  76. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +5 -5
  77. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  78. package/cjs/extensions/forms/Field/String/String.d.ts +6 -6
  79. package/cjs/extensions/forms/Field/String/String.js +13 -11
  80. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  81. package/cjs/extensions/forms/Form/Appearance/Appearance.js +3 -0
  82. package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  83. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
  84. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  85. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
  86. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  87. package/cjs/extensions/forms/Form/Handler/Handler.js +3 -3
  88. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  89. package/cjs/extensions/forms/StepsLayout/Step/Step.js +2 -3
  90. package/cjs/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  91. package/cjs/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
  92. package/cjs/extensions/forms/StepsLayout/StepsContext.js +6 -1
  93. package/cjs/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
  94. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +4 -2
  95. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +86 -50
  96. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  97. package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js +1 -1
  98. package/cjs/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -1
  99. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +1 -1
  100. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  101. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +1 -1
  102. package/cjs/extensions/forms/StepsLayout/useStep.d.ts +3 -0
  103. package/cjs/extensions/forms/StepsLayout/useStep.js +19 -0
  104. package/cjs/extensions/forms/StepsLayout/useStep.js.map +1 -0
  105. package/cjs/extensions/forms/hooks/useFieldProps.js +82 -58
  106. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  107. package/cjs/extensions/forms/style/dnb-forms.css +3 -3
  108. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  109. package/cjs/extensions/forms/types.d.ts +2 -2
  110. package/cjs/extensions/forms/types.js.map +1 -1
  111. package/cjs/extensions/forms/utils/ajv.js +6 -2
  112. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  113. package/cjs/fragments/drawer-list/DrawerList.d.ts +95 -1
  114. package/cjs/fragments/drawer-list/DrawerListDocs.d.ts +3 -0
  115. package/cjs/fragments/drawer-list/DrawerListDocs.js +188 -0
  116. package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -0
  117. package/cjs/shared/Eufemia.d.ts +1 -1
  118. package/cjs/shared/Eufemia.js +2 -2
  119. package/cjs/shared/Eufemia.js.map +1 -1
  120. package/cjs/shared/helpers/runCssVersionMismatchWarning.js +2 -2
  121. package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  122. package/cjs/style/core/scopes.scss +1 -1
  123. package/cjs/style/dnb-ui-basis.css +1 -1
  124. package/cjs/style/dnb-ui-basis.min.css +1 -1
  125. package/cjs/style/dnb-ui-body.css +1 -1
  126. package/cjs/style/dnb-ui-body.min.css +1 -1
  127. package/cjs/style/dnb-ui-components.css +160 -39
  128. package/cjs/style/dnb-ui-components.min.css +3 -3
  129. package/cjs/style/dnb-ui-core.css +1 -1
  130. package/cjs/style/dnb-ui-core.min.css +1 -1
  131. package/cjs/style/dnb-ui-extensions.css +3 -3
  132. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  133. package/cjs/style/dnb-ui-forms.css +3 -3
  134. package/cjs/style/dnb-ui-forms.min.css +1 -1
  135. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +178 -83
  136. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  137. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -3
  138. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  139. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -3
  140. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  141. package/cjs/style/themes/theme-eiendom/properties.js +10 -10
  142. package/cjs/style/themes/theme-eiendom/properties.js.map +1 -1
  143. package/cjs/style/themes/theme-sbanken/properties.js +10 -10
  144. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  145. package/cjs/style/themes/theme-sbanken/properties.scss +10 -10
  146. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +10 -10
  147. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  148. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +204 -114
  149. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  150. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -3
  151. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  152. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -3
  153. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  154. package/cjs/style/themes/theme-ui/properties.js +10 -10
  155. package/cjs/style/themes/theme-ui/properties.js.map +1 -1
  156. package/cjs/style/themes/theme-ui/ui-theme-components.css +178 -81
  157. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  158. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +3 -3
  159. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  160. package/cjs/style/themes/theme-ui/ui-theme-forms.css +3 -3
  161. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  162. package/cjs/style/themes/theme-ui/ui-theme-tags.css +37 -9
  163. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  164. package/components/accordion/style/dnb-accordion.css +6 -2
  165. package/components/accordion/style/dnb-accordion.min.css +2 -2
  166. package/components/accordion/style/dnb-accordion.scss +8 -2
  167. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +23 -4
  168. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  169. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +25 -5
  170. package/components/anchor/Anchor.d.ts +1 -1
  171. package/components/anchor/Anchor.js +2 -2
  172. package/components/anchor/Anchor.js.map +1 -1
  173. package/components/anchor/style/anchor-mixins.scss +46 -3
  174. package/components/anchor/style/dnb-anchor.css +73 -4
  175. package/components/anchor/style/dnb-anchor.min.css +1 -1
  176. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +2 -14
  177. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  178. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -46
  179. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  180. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -32
  181. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +2 -14
  182. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  183. package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
  184. package/components/autocomplete/Autocomplete.d.ts +0 -15
  185. package/components/autocomplete/AutocompleteDocs.d.ts +3 -0
  186. package/components/autocomplete/AutocompleteDocs.js +285 -0
  187. package/components/autocomplete/AutocompleteDocs.js.map +1 -0
  188. package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  189. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  190. package/components/breadcrumb/style/dnb-breadcrumb.scss +1 -1
  191. package/components/button/Button.js +1 -1
  192. package/components/button/Button.js.map +1 -1
  193. package/components/dropdown/Dropdown.d.ts +0 -3
  194. package/components/flex/style/dnb-flex.css +1 -1
  195. package/components/flex/style/dnb-flex.min.css +1 -1
  196. package/components/flex/style/flex-stack.scss +1 -1
  197. package/components/icon/style/dnb-icon.css +2 -2
  198. package/components/icon/style/dnb-icon.min.css +1 -1
  199. package/components/icon/style/dnb-icon.scss +1 -1
  200. package/components/input/Input.js +1 -1
  201. package/components/input/Input.js.map +1 -1
  202. package/components/input/InputDocs.js +2 -2
  203. package/components/input/InputDocs.js.map +1 -1
  204. package/components/table/style/dnb-table.css +6 -0
  205. package/components/table/style/dnb-table.min.css +1 -1
  206. package/components/table/style/table-th.scss +9 -25
  207. package/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
  208. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  209. package/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
  210. package/components/table/style/themes/dnb-table-theme-ui.css +1 -1
  211. package/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  212. package/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
  213. package/components/textarea/Textarea.d.ts +9 -0
  214. package/components/textarea/Textarea.js +21 -5
  215. package/components/textarea/Textarea.js.map +1 -1
  216. package/components/textarea/TextareaDocs.js +10 -0
  217. package/components/textarea/TextareaDocs.js.map +1 -1
  218. package/components/textarea/style/dnb-textarea.css +69 -26
  219. package/components/textarea/style/dnb-textarea.min.css +1 -1
  220. package/components/textarea/style/dnb-textarea.scss +83 -31
  221. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
  222. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  223. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
  224. package/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
  225. package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  226. package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
  227. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
  228. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  229. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
  230. package/es/components/accordion/style/dnb-accordion.css +6 -2
  231. package/es/components/accordion/style/dnb-accordion.min.css +2 -2
  232. package/es/components/accordion/style/dnb-accordion.scss +8 -2
  233. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +23 -4
  234. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  235. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +25 -5
  236. package/es/components/anchor/Anchor.d.ts +1 -1
  237. package/es/components/anchor/Anchor.js +2 -2
  238. package/es/components/anchor/Anchor.js.map +1 -1
  239. package/es/components/anchor/style/anchor-mixins.scss +46 -3
  240. package/es/components/anchor/style/dnb-anchor.css +73 -4
  241. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  242. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +2 -14
  243. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  244. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -46
  245. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  246. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -32
  247. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +2 -14
  248. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  249. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +1 -8
  250. package/es/components/autocomplete/Autocomplete.d.ts +0 -15
  251. package/es/components/autocomplete/AutocompleteDocs.d.ts +3 -0
  252. package/es/components/autocomplete/AutocompleteDocs.js +285 -0
  253. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -0
  254. package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  255. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  256. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +1 -1
  257. package/es/components/button/Button.js +1 -1
  258. package/es/components/button/Button.js.map +1 -1
  259. package/es/components/dropdown/Dropdown.d.ts +0 -3
  260. package/es/components/flex/style/dnb-flex.css +1 -1
  261. package/es/components/flex/style/dnb-flex.min.css +1 -1
  262. package/es/components/flex/style/flex-stack.scss +1 -1
  263. package/es/components/icon/style/dnb-icon.css +2 -2
  264. package/es/components/icon/style/dnb-icon.min.css +1 -1
  265. package/es/components/icon/style/dnb-icon.scss +1 -1
  266. package/es/components/input/Input.js +1 -1
  267. package/es/components/input/Input.js.map +1 -1
  268. package/es/components/input/InputDocs.js +2 -2
  269. package/es/components/input/InputDocs.js.map +1 -1
  270. package/es/components/table/style/dnb-table.css +6 -0
  271. package/es/components/table/style/dnb-table.min.css +1 -1
  272. package/es/components/table/style/table-th.scss +9 -25
  273. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +1 -1
  274. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  275. package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +2 -1
  276. package/es/components/table/style/themes/dnb-table-theme-ui.css +1 -1
  277. package/es/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  278. package/es/components/table/style/themes/dnb-table-theme-ui.scss +2 -2
  279. package/es/components/textarea/Textarea.d.ts +9 -0
  280. package/es/components/textarea/Textarea.js +21 -5
  281. package/es/components/textarea/Textarea.js.map +1 -1
  282. package/es/components/textarea/TextareaDocs.js +10 -0
  283. package/es/components/textarea/TextareaDocs.js.map +1 -1
  284. package/es/components/textarea/style/dnb-textarea.css +69 -26
  285. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  286. package/es/components/textarea/style/dnb-textarea.scss +83 -31
  287. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +15 -21
  288. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -1
  289. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +17 -28
  290. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +12 -23
  291. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  292. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +11 -27
  293. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +1 -2
  294. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  295. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -2
  296. package/es/extensions/forms/DataContext/At/At.js +7 -7
  297. package/es/extensions/forms/DataContext/At/At.js.map +1 -1
  298. package/es/extensions/forms/DataContext/Context.d.ts +5 -2
  299. package/es/extensions/forms/DataContext/Context.js +1 -0
  300. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  301. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  302. package/es/extensions/forms/DataContext/Provider/Provider.js +51 -26
  303. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  304. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +5 -5
  305. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  306. package/es/extensions/forms/Field/String/String.d.ts +6 -6
  307. package/es/extensions/forms/Field/String/String.js +13 -11
  308. package/es/extensions/forms/Field/String/String.js.map +1 -1
  309. package/es/extensions/forms/Form/Appearance/Appearance.js +3 -0
  310. package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  311. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
  312. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  313. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
  314. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  315. package/es/extensions/forms/Form/Handler/Handler.js +3 -3
  316. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  317. package/es/extensions/forms/StepsLayout/Step/Step.js +2 -3
  318. package/es/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  319. package/es/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
  320. package/es/extensions/forms/StepsLayout/StepsContext.js +6 -1
  321. package/es/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
  322. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +4 -2
  323. package/es/extensions/forms/StepsLayout/StepsLayout.js +82 -49
  324. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  325. package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js +1 -1
  326. package/es/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -1
  327. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +1 -1
  328. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  329. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +1 -1
  330. package/es/extensions/forms/StepsLayout/useStep.d.ts +3 -0
  331. package/es/extensions/forms/StepsLayout/useStep.js +12 -0
  332. package/es/extensions/forms/StepsLayout/useStep.js.map +1 -0
  333. package/es/extensions/forms/hooks/useFieldProps.js +82 -58
  334. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  335. package/es/extensions/forms/style/dnb-forms.css +3 -3
  336. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  337. package/es/extensions/forms/types.d.ts +2 -2
  338. package/es/extensions/forms/types.js.map +1 -1
  339. package/es/extensions/forms/utils/ajv.js +6 -2
  340. package/es/extensions/forms/utils/ajv.js.map +1 -1
  341. package/es/fragments/drawer-list/DrawerList.d.ts +95 -1
  342. package/es/fragments/drawer-list/DrawerListDocs.d.ts +3 -0
  343. package/es/fragments/drawer-list/DrawerListDocs.js +180 -0
  344. package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -0
  345. package/es/shared/Eufemia.d.ts +1 -1
  346. package/es/shared/Eufemia.js +2 -2
  347. package/es/shared/Eufemia.js.map +1 -1
  348. package/es/shared/helpers/runCssVersionMismatchWarning.js +2 -2
  349. package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  350. package/es/style/core/scopes.scss +1 -1
  351. package/es/style/dnb-ui-basis.css +1 -1
  352. package/es/style/dnb-ui-basis.min.css +1 -1
  353. package/es/style/dnb-ui-body.css +1 -1
  354. package/es/style/dnb-ui-body.min.css +1 -1
  355. package/es/style/dnb-ui-components.css +160 -39
  356. package/es/style/dnb-ui-components.min.css +3 -3
  357. package/es/style/dnb-ui-core.css +1 -1
  358. package/es/style/dnb-ui-core.min.css +1 -1
  359. package/es/style/dnb-ui-extensions.css +3 -3
  360. package/es/style/dnb-ui-extensions.min.css +1 -1
  361. package/es/style/dnb-ui-forms.css +3 -3
  362. package/es/style/dnb-ui-forms.min.css +1 -1
  363. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +178 -83
  364. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  365. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -3
  366. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  367. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -3
  368. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  369. package/es/style/themes/theme-eiendom/properties.js +10 -10
  370. package/es/style/themes/theme-eiendom/properties.js.map +1 -1
  371. package/es/style/themes/theme-sbanken/properties.js +10 -10
  372. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  373. package/es/style/themes/theme-sbanken/properties.scss +10 -10
  374. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +10 -10
  375. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  376. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +204 -114
  377. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  378. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -3
  379. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  380. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -3
  381. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  382. package/es/style/themes/theme-ui/properties.js +10 -10
  383. package/es/style/themes/theme-ui/properties.js.map +1 -1
  384. package/es/style/themes/theme-ui/ui-theme-components.css +178 -81
  385. package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  386. package/es/style/themes/theme-ui/ui-theme-extensions.css +3 -3
  387. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  388. package/es/style/themes/theme-ui/ui-theme-forms.css +3 -3
  389. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  390. package/es/style/themes/theme-ui/ui-theme-tags.css +37 -9
  391. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  392. package/esm/dnb-ui-basis.min.mjs +1 -1
  393. package/esm/dnb-ui-components.min.mjs +1 -1
  394. package/esm/dnb-ui-elements.min.mjs +1 -1
  395. package/esm/dnb-ui-extensions.min.mjs +2 -2
  396. package/esm/dnb-ui-lib.min.mjs +1 -1
  397. package/extensions/forms/DataContext/At/At.js +7 -7
  398. package/extensions/forms/DataContext/At/At.js.map +1 -1
  399. package/extensions/forms/DataContext/Context.d.ts +5 -2
  400. package/extensions/forms/DataContext/Context.js +1 -0
  401. package/extensions/forms/DataContext/Context.js.map +1 -1
  402. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -5
  403. package/extensions/forms/DataContext/Provider/Provider.js +52 -26
  404. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  405. package/extensions/forms/DataContext/Provider/ProviderDocs.js +5 -5
  406. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  407. package/extensions/forms/Field/String/String.d.ts +6 -6
  408. package/extensions/forms/Field/String/String.js +13 -11
  409. package/extensions/forms/Field/String/String.js.map +1 -1
  410. package/extensions/forms/Form/Appearance/Appearance.js +3 -0
  411. package/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  412. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +2 -2
  413. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  414. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +2 -1
  415. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  416. package/extensions/forms/Form/Handler/Handler.js +3 -3
  417. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  418. package/extensions/forms/StepsLayout/Step/Step.js +2 -3
  419. package/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  420. package/extensions/forms/StepsLayout/StepsContext.d.ts +6 -4
  421. package/extensions/forms/StepsLayout/StepsContext.js +6 -1
  422. package/extensions/forms/StepsLayout/StepsContext.js.map +1 -1
  423. package/extensions/forms/StepsLayout/StepsLayout.d.ts +4 -2
  424. package/extensions/forms/StepsLayout/StepsLayout.js +85 -51
  425. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  426. package/extensions/forms/StepsLayout/StepsLayoutDocs.js +1 -1
  427. package/extensions/forms/StepsLayout/StepsLayoutDocs.js.map +1 -1
  428. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +1 -1
  429. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  430. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +1 -1
  431. package/extensions/forms/StepsLayout/useStep.d.ts +3 -0
  432. package/extensions/forms/StepsLayout/useStep.js +13 -0
  433. package/extensions/forms/StepsLayout/useStep.js.map +1 -0
  434. package/extensions/forms/hooks/useFieldProps.js +82 -58
  435. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  436. package/extensions/forms/style/dnb-forms.css +3 -3
  437. package/extensions/forms/style/dnb-forms.min.css +1 -1
  438. package/extensions/forms/types.d.ts +2 -2
  439. package/extensions/forms/types.js.map +1 -1
  440. package/extensions/forms/utils/ajv.js +6 -2
  441. package/extensions/forms/utils/ajv.js.map +1 -1
  442. package/fragments/drawer-list/DrawerList.d.ts +95 -1
  443. package/fragments/drawer-list/DrawerListDocs.d.ts +3 -0
  444. package/fragments/drawer-list/DrawerListDocs.js +180 -0
  445. package/fragments/drawer-list/DrawerListDocs.js.map +1 -0
  446. package/package.json +1 -1
  447. package/shared/Eufemia.d.ts +1 -1
  448. package/shared/Eufemia.js +2 -2
  449. package/shared/Eufemia.js.map +1 -1
  450. package/shared/helpers/runCssVersionMismatchWarning.js +2 -2
  451. package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  452. package/style/core/scopes.scss +1 -1
  453. package/style/dnb-ui-basis.css +1 -1
  454. package/style/dnb-ui-basis.min.css +1 -1
  455. package/style/dnb-ui-body.css +1 -1
  456. package/style/dnb-ui-body.min.css +1 -1
  457. package/style/dnb-ui-components.css +160 -39
  458. package/style/dnb-ui-components.min.css +3 -3
  459. package/style/dnb-ui-core.css +1 -1
  460. package/style/dnb-ui-core.min.css +1 -1
  461. package/style/dnb-ui-extensions.css +3 -3
  462. package/style/dnb-ui-extensions.min.css +1 -1
  463. package/style/dnb-ui-forms.css +3 -3
  464. package/style/dnb-ui-forms.min.css +1 -1
  465. package/style/themes/theme-eiendom/eiendom-theme-components.css +178 -83
  466. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  467. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +3 -3
  468. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  469. package/style/themes/theme-eiendom/eiendom-theme-forms.css +3 -3
  470. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  471. package/style/themes/theme-eiendom/properties.js +10 -10
  472. package/style/themes/theme-eiendom/properties.js.map +1 -1
  473. package/style/themes/theme-sbanken/properties.js +10 -10
  474. package/style/themes/theme-sbanken/properties.js.map +1 -1
  475. package/style/themes/theme-sbanken/properties.scss +10 -10
  476. package/style/themes/theme-sbanken/sbanken-theme-basis.css +10 -10
  477. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  478. package/style/themes/theme-sbanken/sbanken-theme-components.css +204 -114
  479. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  480. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +3 -3
  481. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  482. package/style/themes/theme-sbanken/sbanken-theme-forms.css +3 -3
  483. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  484. package/style/themes/theme-ui/properties.js +10 -10
  485. package/style/themes/theme-ui/properties.js.map +1 -1
  486. package/style/themes/theme-ui/ui-theme-components.css +178 -81
  487. package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  488. package/style/themes/theme-ui/ui-theme-extensions.css +3 -3
  489. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  490. package/style/themes/theme-ui/ui-theme-forms.css +3 -3
  491. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  492. package/style/themes/theme-ui/ui-theme-tags.css +37 -9
  493. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  494. package/umd/dnb-ui-basis.min.js +1 -1
  495. package/umd/dnb-ui-components.min.js +1 -1
  496. package/umd/dnb-ui-elements.min.js +1 -1
  497. package/umd/dnb-ui-extensions.min.js +3 -3
  498. package/umd/dnb-ui-lib.min.js +1 -1
@@ -11,28 +11,23 @@
11
11
  --textarea-border-color--disabled: var(--color-black-55);
12
12
  --textarea-border-width: 0.0625rem;
13
13
  --textarea-border-width--hover: 0.125rem;
14
+ --textarea-color: var(--color-black);
15
+ --textarea-background-color: var(--color-white);
16
+ --textarea-placeholder-color: var(--color-black-55);
17
+ --textarea-placeholder-color--focus: var(--color-black-20);
14
18
 
15
19
  &__textarea {
16
- color: var(--color-black);
17
- background-color: var(--textarea-background-color);
18
-
19
20
  ::selection {
20
21
  background-color: var(--color-mint-green);
21
- color: var(--color-black);
22
22
  text-shadow: none;
23
23
  }
24
24
  }
25
25
 
26
- &__placeholder {
27
- color: var(--color-black-55);
28
- }
29
-
30
26
  &__textarea:not([disabled]):not(#{&}--disabled):focus ~ &__state,
31
27
  &__textarea:not([disabled]):not(#{&}--disabled):hover ~ &__state {
32
- @include fakeBorder(
33
- var(--textarea-border-color--hover),
34
- var(--textarea-border-width--hover)
35
- );
28
+ --textarea-border-color: var(--textarea-border-color--hover);
29
+ --textarea-border-width: var(--textarea-border-width--hover);
30
+ --textarea-border-inset: ;
36
31
  }
37
32
 
38
33
  // We may enable this in future – right now it's unclear
@@ -41,21 +36,10 @@
41
36
  // color: var(--color-black);
42
37
  // }
43
38
 
44
- // disabled
45
- &--disabled &__textarea,
46
- &__textarea[disabled] {
47
- color: var(--color-black-55);
48
- background-color: var(--color-black-3);
49
- }
50
-
51
- &--disabled &__state,
52
- &__textarea[disabled] ~ &__state {
53
- @include fakeBorder(
54
- var(--textarea-border-color--disabled),
55
- var(--textarea-border-width),
56
- inset
57
- );
58
- background-color: var(--color-black-3);
39
+ &--disabled {
40
+ --textarea-color: var(--color-black-55);
41
+ --textarea-background-color: var(--color-black-3);
42
+ --textarea-border-color: var(--textarea-border-color--disabled);
59
43
  }
60
44
 
61
45
  // with status_state = "error"
@@ -22,8 +22,7 @@
22
22
  box-shadow: 0 0 0 0.0318rem var(--color-sea-green);
23
23
  }
24
24
  .dnb-toggle-button--checked .dnb-toggle-button__button[disabled], .dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled], .dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] {
25
- background-color: var(--color-mint-green);
26
- color: var(--color-white);
25
+ background-color: var(--color-mint-green-25);
27
26
  }
28
27
  .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active), .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active), .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active) {
29
28
  background-color: var(--color-emerald-green);
@@ -1 +1 @@
1
- .dnb-toggle-button .dnb-checkbox__gfx path{stroke-width:.125rem}.dnb-toggle-button .dnb-radio__input:not([disabled])~.dnb-radio__button{box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled],.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled],.dnb-toggle-button--checked .dnb-toggle-button__button[disabled]{background-color:var(--color-mint-green);color:var(--color-white)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active),.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active),.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active){background-color:var(--color-emerald-green);color:var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button .dnb-icon,.dnb-toggle-button--checked .dnb-toggle-button__button:focus .dnb-icon,.dnb-toggle-button--checked .dnb-toggle-button__button:hover .dnb-icon{color:inherit}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-radio__button{background-color:transparent;border-color:var(--color-mint-green);box-shadow:0 0 0 .0318rem var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-radio__dot,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-radio__dot,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-radio__dot{background-color:var(--color-mint-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-radio__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-radio__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-radio__button{--border-color:var(--color-emerald-green);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot{background-color:var(--color-emerald-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__button{background-color:var(--color-mint-green);border-color:var(--color-emerald-green);box-shadow:0 0 0 .0318rem var(--color-emerald-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-checkbox__gfx,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-checkbox__gfx,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__gfx{color:var(--color-emerald-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-checkbox__button{background-color:var(--color-emerald-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-checkbox__gfx,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-checkbox__gfx,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-checkbox__gfx{color:var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled] .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button[disabled] .dnb-radio__button{box-shadow:none}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{background-color:var(--color-mint-green);color:var(--color-emerald-green);outline:none}html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{--border-color:var(--color-emerald-green);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-radio__button,.dnb-toggle-button__button:not([disabled]):active .dnb-radio__button{background-color:transparent;border-color:var(--color-sea-green);box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-radio__dot,.dnb-toggle-button__button:not([disabled]):active .dnb-radio__dot{background-color:var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__button,.dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__button{background-color:transparent;border-color:var(--color-sea-green);box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__gfx,.dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__gfx{color:var(--color-sea-green)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]):not(:hover):not(:focus):not(:active){--border-color:var(--color-fire-red);--border-width:0.0625rem;background-color:var(--color-white);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--color-fire-red)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__button{--border-color:var(--color-fire-red);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__focus{box-shadow:none}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__dot{background-color:transparent}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input~.dnb-checkbox__button{--border-color:var(--color-fire-red);--border-width:0.09375rem;border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input:not(:hover)~.dnb-checkbox__button .dnb-checkbox__focus{box-shadow:none}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):not(:focus):not(:active){--border-color:var(--color-fire-red);--border-width:0.0625rem;background-color:var(--color-fire-red);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--color-white)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:focus) .dnb-radio__input:not([disabled])~.dnb-radio__button{--border-color:var(--color-white);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input:not([disabled]):not(:hover):not(:active)~.dnb-checkbox__button .dnb-checkbox__focus,.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:focus) .dnb-radio__input:not([disabled]):not(:hover)~.dnb-radio__dot{background-color:var(--color-white)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox .dnb-checkbox__input:not([disabled]):not(:focus):not(:active):not(:hover)~.dnb-checkbox__gfx{color:var(--color-fire-red)}.dnb-toggle-button>.dnb-form-status{transform:translateY(.1875rem)}
1
+ .dnb-toggle-button .dnb-checkbox__gfx path{stroke-width:.125rem}.dnb-toggle-button .dnb-radio__input:not([disabled])~.dnb-radio__button{box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled],.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled],.dnb-toggle-button--checked .dnb-toggle-button__button[disabled]{background-color:var(--color-mint-green-25)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active),.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active),.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active){background-color:var(--color-emerald-green);color:var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button .dnb-icon,.dnb-toggle-button--checked .dnb-toggle-button__button:focus .dnb-icon,.dnb-toggle-button--checked .dnb-toggle-button__button:hover .dnb-icon{color:inherit}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-radio__button{background-color:transparent;border-color:var(--color-mint-green);box-shadow:0 0 0 .0318rem var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-radio__dot,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-radio__dot,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-radio__dot{background-color:var(--color-mint-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-radio__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-radio__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-radio__button{--border-color:var(--color-emerald-green);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-radio__input:not([disabled]):not(:hover):not(:active):not(:hover)~.dnb-radio__dot{background-color:var(--color-emerald-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__button{background-color:var(--color-mint-green);border-color:var(--color-emerald-green);box-shadow:0 0 0 .0318rem var(--color-emerald-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]) .dnb-checkbox__gfx,.dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]) .dnb-checkbox__gfx,.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__gfx{color:var(--color-emerald-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-checkbox__button{background-color:var(--color-emerald-green)}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:hover):focus .dnb-checkbox__gfx,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:hover):focus .dnb-checkbox__gfx,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):focus .dnb-checkbox__gfx{color:var(--color-mint-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:focus[disabled] .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button:hover[disabled] .dnb-radio__button,.dnb-toggle-button--checked .dnb-toggle-button__button[disabled] .dnb-checkbox__button,.dnb-toggle-button--checked .dnb-toggle-button__button[disabled] .dnb-radio__button{box-shadow:none}html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{background-color:var(--color-mint-green);color:var(--color-emerald-green);outline:none}html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:focus:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:hover:not([disabled]):not(:active):not(:hover):focus,html[data-whatinput=keyboard] html[data-whatinput=keyboard] .dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:hover):focus{--border-color:var(--color-emerald-green);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-radio__button,.dnb-toggle-button__button:not([disabled]):active .dnb-radio__button{background-color:transparent;border-color:var(--color-sea-green);box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-radio__dot,.dnb-toggle-button__button:not([disabled]):active .dnb-radio__dot{background-color:var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__button,.dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__button{background-color:transparent;border-color:var(--color-sea-green);box-shadow:0 0 0 .0318rem var(--color-sea-green)}.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__gfx,.dnb-toggle-button__button:not([disabled]):active .dnb-checkbox__gfx{color:var(--color-sea-green)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]):not(:hover):not(:focus):not(:active){--border-color:var(--color-fire-red);--border-width:0.0625rem;background-color:var(--color-white);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--color-fire-red)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__button{--border-color:var(--color-fire-red);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__focus{box-shadow:none}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-radio__input:not([disabled])~.dnb-radio__dot{background-color:transparent}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input~.dnb-checkbox__button{--border-color:var(--color-fire-red);--border-width:0.09375rem;border:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input:not(:hover)~.dnb-checkbox__button .dnb-checkbox__focus{box-shadow:none}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:hover):not(:focus):not(:active){--border-color:var(--color-fire-red);--border-width:0.0625rem;background-color:var(--color-fire-red);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--color-white)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:focus) .dnb-radio__input:not([disabled])~.dnb-radio__button{--border-color:var(--color-white);--border-width:0.09375rem;border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox__input:not([disabled]):not(:hover):not(:active)~.dnb-checkbox__button .dnb-checkbox__focus,.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]):not(:active):not(:focus) .dnb-radio__input:not([disabled]):not(:hover)~.dnb-radio__dot{background-color:var(--color-white)}.dnb-toggle-button__status--error.dnb-toggle-button--checked .dnb-toggle-button__button:not([disabled]) .dnb-checkbox .dnb-checkbox__input:not([disabled]):not(:focus):not(:active):not(:hover)~.dnb-checkbox__gfx{color:var(--color-fire-red)}.dnb-toggle-button>.dnb-form-status{transform:translateY(.1875rem)}
@@ -26,8 +26,7 @@
26
26
  &--checked &__button:focus,
27
27
  &--checked &__button:hover {
28
28
  &[disabled] {
29
- background-color: var(--color-mint-green);
30
- color: var(--color-white);
29
+ background-color: var(--color-mint-green-25);
31
30
  }
32
31
 
33
32
  &:not([disabled]):not(:active) {
@@ -15,8 +15,11 @@
15
15
  --accordion-header-wrapper-margin--icon-right: 1rem;
16
16
  --accordion-header-icon-gutter: 1rem;
17
17
  --accordion-header-icon-margin: 1rem;
18
+ --accordion-header-icon-alignment: flex-start;
18
19
  --accordion-title-font-weight: var(--font-weight-basis);
19
20
  --accordion-title-font-weight--expanded: var(--font-weight-medium);
21
+ --accordion-content-margin: 1rem 0 0 0;
22
+ --accordion-content-padding: 0;
20
23
  position: relative;
21
24
  display: flex;
22
25
  flex-direction: column;
@@ -57,7 +60,7 @@
57
60
  margin: 0 1rem;
58
61
  }
59
62
  .dnb-accordion__header__icon {
60
- align-self: flex-start;
63
+ align-self: var(--accordion-header-icon-alignment);
61
64
  margin: var(--accordion-header-margin-vertical) var(--accordion-header-icon-gutter) var(--accordion-header-margin-vertical) var(--accordion-header-icon-margin);
62
65
  font-size: var(--font-size-small);
63
66
  line-height: var(--line-height-small);
@@ -120,7 +123,8 @@
120
123
  }
121
124
  .dnb-accordion__content__inner {
122
125
  width: 100%;
123
- margin-top: 1rem;
126
+ margin: var(--accordion-content-margin);
127
+ padding: var(--accordion-content-padding);
124
128
  }
125
129
  .dnb-accordion-group--single-container {
126
130
  transition: min-height 1s var(--accordion-easing);
@@ -1,3 +1,3 @@
1
- .dnb-accordion{--accordion-border-width:0.0625rem;--accordion-border-radius:0.5rem;--accordion-easing:var(--easing-default);--accordion-header-margin-vertical:1.25rem;--accordion-header-margin-vertical--description:0.75rem;--accordion-header-wrapper-margin:1rem;--accordion-header-wrapper-margin--icon-right:1rem;--accordion-header-icon-gutter:1rem;--accordion-header-icon-margin:1rem;--accordion-title-font-weight:var(--font-weight-basis);--accordion-title-font-weight--expanded:var(--font-weight-medium);display:flex;flex-direction:column;font-size:var(--font-size-small);line-height:var(--line-height-basis);position:relative}.dnb-accordion__header{align-items:center;border:var(--accordion-border-width) solid transparent;border-radius:var(--accordion-border-radius);cursor:pointer;display:flex;outline:none}.dnb-accordion__header:focus{-webkit-user-select:none;user-select:none}.dnb-accordion__header *{pointer-events:none}.dnb-accordion__header--prevent-click{pointer-events:none;-webkit-user-select:none;user-select:none}.dnb-accordion__header__wrapper{display:flex;flex-direction:column;margin:var(--accordion-header-margin-vertical) var(--accordion-header-wrapper-margin) var(--accordion-header-margin-vertical) 0;width:100%}.dnb-accordion__header--description .dnb-accordion__header__wrapper{margin-bottom:var(--accordion-header-margin-vertical--description);margin-top:var(--accordion-header-margin-vertical--description)}.dnb-accordion__header__container{margin:0 1rem}.dnb-accordion__header__icon{align-self:flex-start;font-size:var(--font-size-small);line-height:var(--line-height-small);margin:var(--accordion-header-margin-vertical) var(--accordion-header-icon-gutter) var(--accordion-header-margin-vertical) var(--accordion-header-icon-margin);transition:transform .4s var(--accordion-easing)}.dnb-accordion__header--description .dnb-accordion__header__icon{margin-top:var(--accordion-header-margin-vertical--description)}.dnb-accordion__header--icon-right{justify-content:space-between}.dnb-accordion__header--icon-right .dnb-accordion__header__icon{margin-left:var(--accordion-header-icon-gutter);margin-right:var(--accordion-header-icon-margin);order:3}.dnb-accordion__header--icon-right .dnb-accordion__header__container{order:1}.dnb-accordion__header--icon-right .dnb-accordion__header__wrapper{margin-left:var(--accordion-header-wrapper-margin--icon-right);margin-right:0;order:2}.dnb-accordion__header--icon-right .dnb-accordion__header__wrapper+.dnb-accordion__header__container{margin-right:0}.dnb-accordion__header--icon-right .dnb-accordion__header__container+.dnb-accordion__header__wrapper{margin-left:0}.dnb-accordion__header--expanded{--accordion-title-font-weight:var(
1
+ .dnb-accordion{--accordion-border-width:0.0625rem;--accordion-border-radius:0.5rem;--accordion-easing:var(--easing-default);--accordion-header-margin-vertical:1.25rem;--accordion-header-margin-vertical--description:0.75rem;--accordion-header-wrapper-margin:1rem;--accordion-header-wrapper-margin--icon-right:1rem;--accordion-header-icon-gutter:1rem;--accordion-header-icon-margin:1rem;--accordion-header-icon-alignment:flex-start;--accordion-title-font-weight:var(--font-weight-basis);--accordion-title-font-weight--expanded:var(--font-weight-medium);--accordion-content-margin:1rem 0 0 0;--accordion-content-padding:0;display:flex;flex-direction:column;font-size:var(--font-size-small);line-height:var(--line-height-basis);position:relative}.dnb-accordion__header{align-items:center;border:var(--accordion-border-width) solid transparent;border-radius:var(--accordion-border-radius);cursor:pointer;display:flex;outline:none}.dnb-accordion__header:focus{-webkit-user-select:none;user-select:none}.dnb-accordion__header *{pointer-events:none}.dnb-accordion__header--prevent-click{pointer-events:none;-webkit-user-select:none;user-select:none}.dnb-accordion__header__wrapper{display:flex;flex-direction:column;margin:var(--accordion-header-margin-vertical) var(--accordion-header-wrapper-margin) var(--accordion-header-margin-vertical) 0;width:100%}.dnb-accordion__header--description .dnb-accordion__header__wrapper{margin-bottom:var(--accordion-header-margin-vertical--description);margin-top:var(--accordion-header-margin-vertical--description)}.dnb-accordion__header__container{margin:0 1rem}.dnb-accordion__header__icon{align-self:var(--accordion-header-icon-alignment);font-size:var(--font-size-small);line-height:var(--line-height-small);margin:var(--accordion-header-margin-vertical) var(--accordion-header-icon-gutter) var(--accordion-header-margin-vertical) var(--accordion-header-icon-margin);transition:transform .4s var(--accordion-easing)}.dnb-accordion__header--description .dnb-accordion__header__icon{margin-top:var(--accordion-header-margin-vertical--description)}.dnb-accordion__header--icon-right{justify-content:space-between}.dnb-accordion__header--icon-right .dnb-accordion__header__icon{margin-left:var(--accordion-header-icon-gutter);margin-right:var(--accordion-header-icon-margin);order:3}.dnb-accordion__header--icon-right .dnb-accordion__header__container{order:1}.dnb-accordion__header--icon-right .dnb-accordion__header__wrapper{margin-left:var(--accordion-header-wrapper-margin--icon-right);margin-right:0;order:2}.dnb-accordion__header--icon-right .dnb-accordion__header__wrapper+.dnb-accordion__header__container{margin-right:0}.dnb-accordion__header--icon-right .dnb-accordion__header__container+.dnb-accordion__header__wrapper{margin-left:0}.dnb-accordion__header--expanded{--accordion-title-font-weight:var(
2
2
  --accordion-title-font-weight--expanded
3
- )}.dnb-accordion__header__title{font-size:var(--font-size-basis);font-weight:var(--accordion-title-font-weight);line-height:var(--line-height-basis)}.dnb-accordion__header__description{font-size:var(--font-size-small);font-weight:var(--font-weight-basis);line-height:var(--line-height-small)}.dnb-accordion__header__description+.dnb-accordion__header__title,.dnb-accordion__header__title+.dnb-accordion__header__description{margin-top:.25rem}.dnb-accordion--expanded>.dnb-accordion__header .dnb-accordion__header__icon{transform:rotate(-180deg)}.dnb-accordion__content{display:flex;transition:height .4s var(--accordion-easing),opacity .6s var(--accordion-easing);width:100%;will-change:height}.dnb-accordion__content__inner{margin-top:1rem;width:100%}.dnb-accordion-group--single-container{transition:min-height 1s var(--accordion-easing)}.dnb-accordion-group--single-container .dnb-accordion{max-width:60rem;position:static}@media screen and (min-width:40em){.dnb-accordion-group--single-container .dnb-accordion__header{width:40%}.dnb-accordion-group--single-container .dnb-accordion__content{margin-left:1rem;transition:opacity 1s var(--accordion-easing)}.dnb-accordion-group--single-container .dnb-accordion__content__inner{margin-top:0}.dnb-accordion-group--single-container .dnb-accordion>.dnb-accordion__header .dnb-accordion__header__icon{transform:rotate(-90deg)}}.dnb-accordion-group--single-container .dnb-accordion-group__children{max-width:60rem}@media screen and (min-width:40em){.dnb-accordion-group--single-container .dnb-accordion-group__children{display:flex;flex-direction:column;position:relative}.dnb-accordion-group--single-container .dnb-accordion-group__children .dnb-accordion__content{position:absolute;right:0;top:0;width:60%;z-index:10}}.dnb-accordion>.dnb-accordion__header--no-animation .dnb-accordion__header__icon,html[data-visual-test] .dnb-accordion .dnb-accordion__header .dnb-accordion__header__icon{transition:none}
3
+ )}.dnb-accordion__header__title{font-size:var(--font-size-basis);font-weight:var(--accordion-title-font-weight);line-height:var(--line-height-basis)}.dnb-accordion__header__description{font-size:var(--font-size-small);font-weight:var(--font-weight-basis);line-height:var(--line-height-small)}.dnb-accordion__header__description+.dnb-accordion__header__title,.dnb-accordion__header__title+.dnb-accordion__header__description{margin-top:.25rem}.dnb-accordion--expanded>.dnb-accordion__header .dnb-accordion__header__icon{transform:rotate(-180deg)}.dnb-accordion__content{display:flex;transition:height .4s var(--accordion-easing),opacity .6s var(--accordion-easing);width:100%;will-change:height}.dnb-accordion__content__inner{margin:var(--accordion-content-margin);padding:var(--accordion-content-padding);width:100%}.dnb-accordion-group--single-container{transition:min-height 1s var(--accordion-easing)}.dnb-accordion-group--single-container .dnb-accordion{max-width:60rem;position:static}@media screen and (min-width:40em){.dnb-accordion-group--single-container .dnb-accordion__header{width:40%}.dnb-accordion-group--single-container .dnb-accordion__content{margin-left:1rem;transition:opacity 1s var(--accordion-easing)}.dnb-accordion-group--single-container .dnb-accordion__content__inner{margin-top:0}.dnb-accordion-group--single-container .dnb-accordion>.dnb-accordion__header .dnb-accordion__header__icon{transform:rotate(-90deg)}}.dnb-accordion-group--single-container .dnb-accordion-group__children{max-width:60rem}@media screen and (min-width:40em){.dnb-accordion-group--single-container .dnb-accordion-group__children{display:flex;flex-direction:column;position:relative}.dnb-accordion-group--single-container .dnb-accordion-group__children .dnb-accordion__content{position:absolute;right:0;top:0;width:60%;z-index:10}}.dnb-accordion>.dnb-accordion__header--no-animation .dnb-accordion__header__icon,html[data-visual-test] .dnb-accordion .dnb-accordion__header .dnb-accordion__header__icon{transition:none}
@@ -21,11 +21,16 @@
21
21
  // icon
22
22
  --accordion-header-icon-gutter: 1rem;
23
23
  --accordion-header-icon-margin: 1rem;
24
+ --accordion-header-icon-alignment: flex-start;
24
25
 
25
26
  // Title
26
27
  --accordion-title-font-weight: var(--font-weight-basis);
27
28
  --accordion-title-font-weight--expanded: var(--font-weight-medium);
28
29
 
30
+ // Content
31
+ --accordion-content-margin: 1rem 0 0 0;
32
+ --accordion-content-padding: 0;
33
+
29
34
  position: relative;
30
35
 
31
36
  display: flex;
@@ -76,7 +81,7 @@
76
81
  margin: 0 1rem;
77
82
  }
78
83
  &__icon {
79
- align-self: flex-start;
84
+ align-self: var(--accordion-header-icon-alignment);
80
85
 
81
86
  margin: var(--accordion-header-margin-vertical)
82
87
  var(--accordion-header-icon-gutter)
@@ -155,7 +160,8 @@
155
160
 
156
161
  &__inner {
157
162
  width: 100%;
158
- margin-top: 1rem;
163
+ margin: var(--accordion-content-margin);
164
+ padding: var(--accordion-content-padding);
159
165
  }
160
166
  }
161
167
 
@@ -13,6 +13,10 @@
13
13
  --accordion-header-wrapper-margin--icon-right: calc(
14
14
  1.5rem - var(--sb-accordion-frame-width)
15
15
  );
16
+ --sb-accordion-header-border-radius--expanded: 0.125rem 0.125rem 0 0;
17
+ --sb-accordion-header-border-radius--hover: 0.125rem;
18
+ --sb-accordion-header-border-radius--hover-expanded: 0.125rem 0.125rem 0
19
+ 0;
16
20
  --accordion-header-icon-gutter: 0.5rem;
17
21
  --accordion-header-icon-margin: calc(
18
22
  1.5rem - var(--sb-accordion-frame-width)
@@ -23,6 +27,10 @@
23
27
  --sb-accordion-content-padding-left: calc(
24
28
  3.5rem - var(--sb-accordion-frame-width)
25
29
  );
30
+ --sb-accordion-content-border-radius: 0 0 0.125rem 0.125rem;
31
+ --accordion-content-margin: 0;
32
+ --accordion-content-padding: 0 1rem 1rem
33
+ var(--sb-accordion-content-padding-left);
26
34
  color: var(--sb-color-text);
27
35
  }
28
36
  .dnb-accordion__header, .dnb-accordion__content {
@@ -51,6 +59,7 @@ html:not([data-whatintent=touch]) .dnb-accordion__header:hover[disabled] {
51
59
  }
52
60
  html:not([data-whatintent=touch]) .dnb-accordion__header:hover:not([disabled]) {
53
61
  background-color: var(--sb-color-violet-light-2);
62
+ border-radius: var(--sb-accordion-header-border-radius--hover);
54
63
  }
55
64
  .dnb-accordion__header:active[disabled], html:not([data-whatintent=touch]) .dnb-accordion__header:active[disabled] {
56
65
  cursor: not-allowed;
@@ -74,19 +83,29 @@ html:not([data-whatintent=touch]) .dnb-accordion__header:hover:not([disabled]) {
74
83
  --sb-accordion-content-padding-left: calc(
75
84
  1.5rem - var(--sb-accordion-frame-width)
76
85
  );
86
+ --accordion-content-padding: 0 1rem 1rem
87
+ var(--sb-accordion-content-padding-left);
77
88
  }
78
89
  .dnb-accordion__header[disabled] * {
79
90
  color: var(--sb-color-gray-dark-2);
80
91
  }
81
- .dnb-accordion__content__inner {
82
- margin-top: 0;
83
- padding: 0 1rem 1rem var(--sb-accordion-content-padding-left);
84
- }
85
92
  .dnb-accordion--expanded {
86
93
  --sb-accordion-background: var(--sb-color-violet-light-4);
87
94
  --sb-accordion-frame-color: var(--sb-color-violet);
88
95
  --sb-accordion-frame-width--active: 0.125rem;
89
96
  }
97
+ html:not([data-whatintent=touch]) .dnb-accordion--expanded > .dnb-accordion__header:hover[disabled] {
98
+ cursor: not-allowed;
99
+ }
100
+ html:not([data-whatintent=touch]) .dnb-accordion--expanded > .dnb-accordion__header:hover:not([disabled]) {
101
+ border-radius: var(--sb-accordion-header-border-radius--hover-expanded);
102
+ }
103
+ .dnb-accordion--expanded > .dnb-accordion__header--expanded {
104
+ border-radius: var(--sb-accordion-header-border-radius--expanded);
105
+ }
106
+ .dnb-accordion--expanded > .dnb-accordion__content {
107
+ border-radius: var(--sb-accordion-content-border-radius);
108
+ }
90
109
  .dnb-accordion--expanded > .dnb-accordion__header[disabled],
91
110
  .dnb-accordion--expanded > .dnb-accordion__header[disabled] + .dnb-accordion__content {
92
111
  --sb-accordion-background: var(--sb-color-gray-light-2);
@@ -1 +1 @@
1
- .dnb-accordion{--accordion-border-width:0;--accordion-border-radius:0;--accordion-header-margin-vertical:1rem;--accordion-header-margin-vertical--description:0.5rem;--accordion-header-wrapper-margin--icon-right:calc(1.5rem - var(--sb-accordion-frame-width));--accordion-header-icon-gutter:0.5rem;--accordion-header-icon-margin:calc(1.5rem - var(--sb-accordion-frame-width));--sb-accordion-frame-color:transparent;--sb-accordion-frame-width:0.1875rem;--sb-accordion-frame-width--active:0rem;--sb-accordion-content-padding-left:calc(3.5rem - var(--sb-accordion-frame-width));color:var(--sb-color-text)}.dnb-accordion__content,.dnb-accordion__header{background-color:var(--sb-accordion-background,transparent);border-left:var(--sb-accordion-frame-width) solid var(--sb-accordion-frame-color)}html:not([data-whatintent=touch]) .dnb-accordion__header:focus-visible[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-accordion__header:focus-visible:not([disabled]){--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);background-color:var(--sb-color-blue-light-3);border-color:transparent;border-radius:.125rem;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--border-color);outline:none;z-index:1}html:not([data-whatintent=touch]) .dnb-accordion__header:focus-visible:not([disabled]) .dnb-accordion__header__icon{color:var(--border-color)}html:not([data-whatintent=touch]) .dnb-accordion__header:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-accordion__header:hover:not([disabled]){background-color:var(--sb-color-violet-light-2)}.dnb-accordion__header:active[disabled],html:not([data-whatintent=touch]) .dnb-accordion__header:active[disabled]{cursor:not-allowed}.dnb-accordion__header:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-accordion__header:active:not([disabled]){--border-color: ;--border-width:0.0625rem;--border-color:var(--sb-color-violet);background-color:var(--sb-color-white);border-left-width:var(--sb-accordion-frame-width--active);box-shadow:inset 0 0 0 var(--border-width) var(--border-color);padding-left:calc(var(--sb-accordion-frame-width) - var(--sb-accordion-frame-width--active))}.dnb-accordion__header__container,.dnb-accordion__header__icon{color:var(--sb-color-violet)}.dnb-accordion__header--icon-right{--accordion-header-icon-margin:1.5rem}.dnb-accordion__header--icon-right+.dnb-accordion__content{--sb-accordion-content-padding-left:calc(1.5rem - var(--sb-accordion-frame-width))}.dnb-accordion__header[disabled] *{color:var(--sb-color-gray-dark-2)}.dnb-accordion__content__inner{margin-top:0;padding:0 1rem 1rem var(--sb-accordion-content-padding-left)}.dnb-accordion--expanded{--sb-accordion-background:var(--sb-color-violet-light-4);--sb-accordion-frame-color:var(--sb-color-violet);--sb-accordion-frame-width--active:0.125rem}.dnb-accordion--expanded>.dnb-accordion__header[disabled],.dnb-accordion--expanded>.dnb-accordion__header[disabled]+.dnb-accordion__content{--sb-accordion-background:var(--sb-color-gray-light-2);--sb-accordion-frame-color:var(--sb-color-gray-dark-2)}
1
+ .dnb-accordion{--accordion-border-width:0;--accordion-border-radius:0;--accordion-header-margin-vertical:1rem;--accordion-header-margin-vertical--description:0.5rem;--accordion-header-wrapper-margin--icon-right:calc(1.5rem - var(--sb-accordion-frame-width));--sb-accordion-header-border-radius--expanded:0.125rem 0.125rem 0 0;--sb-accordion-header-border-radius--hover:0.125rem;--sb-accordion-header-border-radius--hover-expanded:0.125rem 0.125rem 0 0;--accordion-header-icon-gutter:0.5rem;--accordion-header-icon-margin:calc(1.5rem - var(--sb-accordion-frame-width));--sb-accordion-frame-color:transparent;--sb-accordion-frame-width:0.1875rem;--sb-accordion-frame-width--active:0rem;--sb-accordion-content-padding-left:calc(3.5rem - var(--sb-accordion-frame-width));--sb-accordion-content-border-radius:0 0 0.125rem 0.125rem;--accordion-content-margin:0;--accordion-content-padding:0 1rem 1rem var(--sb-accordion-content-padding-left);color:var(--sb-color-text)}.dnb-accordion__content,.dnb-accordion__header{background-color:var(--sb-accordion-background,transparent);border-left:var(--sb-accordion-frame-width) solid var(--sb-accordion-frame-color)}html:not([data-whatintent=touch]) .dnb-accordion__header:focus-visible[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-accordion__header:focus-visible:not([disabled]){--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);background-color:var(--sb-color-blue-light-3);border-color:transparent;border-radius:.125rem;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--border-color);outline:none;z-index:1}html:not([data-whatintent=touch]) .dnb-accordion__header:focus-visible:not([disabled]) .dnb-accordion__header__icon{color:var(--border-color)}html:not([data-whatintent=touch]) .dnb-accordion__header:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-accordion__header:hover:not([disabled]){background-color:var(--sb-color-violet-light-2);border-radius:var(--sb-accordion-header-border-radius--hover)}.dnb-accordion__header:active[disabled],html:not([data-whatintent=touch]) .dnb-accordion__header:active[disabled]{cursor:not-allowed}.dnb-accordion__header:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-accordion__header:active:not([disabled]){--border-color: ;--border-width:0.0625rem;--border-color:var(--sb-color-violet);background-color:var(--sb-color-white);border-left-width:var(--sb-accordion-frame-width--active);box-shadow:inset 0 0 0 var(--border-width) var(--border-color);padding-left:calc(var(--sb-accordion-frame-width) - var(--sb-accordion-frame-width--active))}.dnb-accordion__header__container,.dnb-accordion__header__icon{color:var(--sb-color-violet)}.dnb-accordion__header--icon-right{--accordion-header-icon-margin:1.5rem}.dnb-accordion__header--icon-right+.dnb-accordion__content{--sb-accordion-content-padding-left:calc(1.5rem - var(--sb-accordion-frame-width));--accordion-content-padding:0 1rem 1rem var(--sb-accordion-content-padding-left)}.dnb-accordion__header[disabled] *{color:var(--sb-color-gray-dark-2)}.dnb-accordion--expanded{--sb-accordion-background:var(--sb-color-violet-light-4);--sb-accordion-frame-color:var(--sb-color-violet);--sb-accordion-frame-width--active:0.125rem}html:not([data-whatintent=touch]) .dnb-accordion--expanded>.dnb-accordion__header:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-accordion--expanded>.dnb-accordion__header:hover:not([disabled]){border-radius:var(--sb-accordion-header-border-radius--hover-expanded)}.dnb-accordion--expanded>.dnb-accordion__header--expanded{border-radius:var(--sb-accordion-header-border-radius--expanded)}.dnb-accordion--expanded>.dnb-accordion__content{border-radius:var(--sb-accordion-content-border-radius)}.dnb-accordion--expanded>.dnb-accordion__header[disabled],.dnb-accordion--expanded>.dnb-accordion__header[disabled]+.dnb-accordion__content{--sb-accordion-background:var(--sb-color-gray-light-2);--sb-accordion-frame-color:var(--sb-color-gray-dark-2)}
@@ -17,6 +17,10 @@
17
17
  --accordion-header-wrapper-margin--icon-right: calc(
18
18
  1.5rem - var(--sb-accordion-frame-width)
19
19
  );
20
+ --sb-accordion-header-border-radius--expanded: 0.125rem 0.125rem 0 0;
21
+ --sb-accordion-header-border-radius--hover: 0.125rem;
22
+ --sb-accordion-header-border-radius--hover-expanded: 0.125rem 0.125rem 0
23
+ 0;
20
24
 
21
25
  // icon
22
26
  --accordion-header-icon-gutter: 0.5rem;
@@ -33,6 +37,10 @@
33
37
  --sb-accordion-content-padding-left: calc(
34
38
  3.5rem - var(--sb-accordion-frame-width)
35
39
  );
40
+ --sb-accordion-content-border-radius: 0 0 0.125rem 0.125rem;
41
+ --accordion-content-margin: 0;
42
+ --accordion-content-padding: 0 1rem 1rem
43
+ var(--sb-accordion-content-padding-left);
36
44
 
37
45
  color: var(--sb-color-text);
38
46
 
@@ -57,6 +65,7 @@
57
65
  }
58
66
  @include hover() {
59
67
  background-color: var(--sb-color-violet-light-2);
68
+ border-radius: var(--sb-accordion-header-border-radius--hover);
60
69
  }
61
70
 
62
71
  @include active() {
@@ -83,6 +92,8 @@
83
92
  --sb-accordion-content-padding-left: calc(
84
93
  1.5rem - var(--sb-accordion-frame-width)
85
94
  );
95
+ --accordion-content-padding: 0 1rem 1rem
96
+ var(--sb-accordion-content-padding-left);
86
97
  }
87
98
  }
88
99
 
@@ -94,15 +105,24 @@
94
105
  }
95
106
  }
96
107
 
97
- &__content__inner {
98
- margin-top: 0;
99
- padding: 0 1rem 1rem var(--sb-accordion-content-padding-left);
100
- }
101
-
102
108
  &--expanded {
103
109
  --sb-accordion-background: var(--sb-color-violet-light-4);
104
110
  --sb-accordion-frame-color: var(--sb-color-violet);
105
111
  --sb-accordion-frame-width--active: 0.125rem;
112
+ > .dnb-accordion__header {
113
+ @include hover() {
114
+ border-radius: var(
115
+ --sb-accordion-header-border-radius--hover-expanded
116
+ );
117
+ }
118
+ &--expanded {
119
+ border-radius: var(--sb-accordion-header-border-radius--expanded);
120
+ }
121
+ }
122
+
123
+ > .dnb-accordion__content {
124
+ border-radius: var(--sb-accordion-content-border-radius);
125
+ }
106
126
 
107
127
  // disabled
108
128
  > .dnb-accordion__header[disabled],
@@ -31,7 +31,7 @@ export default Anchor;
31
31
  export declare function scrollToHashHandler(event: React.MouseEvent<HTMLAnchorElement, MouseEvent>): {
32
32
  element: HTMLElement;
33
33
  };
34
- export declare function pickIcon(icon: any): React.DetailedReactHTMLElement<{
34
+ export declare function pickIcon(icon: any, className?: string): React.DetailedReactHTMLElement<{
35
35
  key: string;
36
36
  className: string;
37
37
  }, HTMLElement>;
@@ -104,11 +104,11 @@ function getIcon(icon) {
104
104
  icon: icon
105
105
  });
106
106
  }
107
- export function pickIcon(icon) {
107
+ export function pickIcon(icon, className) {
108
108
  var _icon$props, _icon$props2, _icon$props2$classNam, _icon$props3;
109
109
  return icon !== null && icon !== void 0 && (_icon$props = icon.props) !== null && _icon$props !== void 0 && _icon$props.icon || icon !== null && icon !== void 0 && (_icon$props2 = icon.props) !== null && _icon$props2 !== void 0 && (_icon$props2$classNam = _icon$props2.className) !== null && _icon$props2$classNam !== void 0 && _icon$props2$classNam.includes('dnb-icon') ? React.cloneElement(icon, {
110
110
  key: 'button-icon-clone',
111
- className: classnames((_icon$props3 = icon.props) === null || _icon$props3 === void 0 ? void 0 : _icon$props3.className, 'dnb-button__icon')
111
+ className: classnames((_icon$props3 = icon.props) === null || _icon$props3 === void 0 ? void 0 : _icon$props3.className, className)
112
112
  }) : null;
113
113
  }
114
114
  export const opensNewTab = (target, href) => target === '_blank' && !/^(mailto|tel|sms)/.test(href);
@@ -1 +1 @@
1
- {"version":3,"file":"Anchor.js","names":["React","classnames","E","Context","makeUniqueId","extendPropsWithContext","getOffsetTop","IconPrimary","Tooltip","launch","launchIcon","defaultProps","AnchorInstance","localProps","context","useContext","allProps","skeleton","getTranslation","Anchor","inner_ref","innerRef","createRef","id","element","className","children","tooltip","icon","iconPosition","omitClass","targetBlankTitle","rest","_objectWithoutProperties","_excluded","attributes","internalId","as","href","to","_opensNewTab","opensNewTab","target","showLaunchIcon","includes","showTooltip","title","iconNode","getIcon","suffix","_IconPrimary","createElement","prefix","Fragment","_extends","showDelay","targetElement","forwardRef","props","ref","_supportsSpacingProps","scrollToHashHandler","event","_element$pathname","currentTarget","getAttribute","document","isSamePath","startsWith","window","location","pathname","replace","split","reverse","anchorElem","getElementById","HTMLElement","scrollPadding","parseFloat","getComputedStyle","documentElement","scrollPaddingTop","top","scroll","error","console","pickIcon","_icon$props","_icon$props2","_icon$props2$classNam","_icon$props3","cloneElement","key","test"],"sources":["../../../../src/components/anchor/Anchor.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport E, { ElementProps } from '../../elements/Element'\nimport Context from '../../shared/Context'\nimport {\n makeUniqueId,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { getOffsetTop } from '../../shared/helpers'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport Tooltip from '../tooltip/Tooltip'\nimport { launch as launchIcon } from '../../icons'\nimport type { IconIcon } from '../icon/Icon'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { DynamicElement, SpacingProps } from '../../shared/types'\n\nexport type AnchorProps = {\n element?: DynamicElement<HTMLAnchorElement | AnchorAllProps>\n href?: string\n to?: string\n targetBlankTitle?: string\n target?: string\n tooltip?: React.ReactNode\n icon?: IconIcon\n iconPosition?: 'left' | 'right'\n skeleton?: SkeletonShow\n omitClass?: boolean\n innerRef?: React.RefObject<HTMLAnchorElement>\n\n /** @deprecated use innerRef instead */\n inner_ref?: React.RefObject<HTMLAnchorElement>\n}\n\nexport type AnchorAllProps = AnchorProps &\n Omit<React.HTMLProps<HTMLAnchorElement>, 'ref'> &\n SpacingProps\n\nconst defaultProps = {}\n\nexport function AnchorInstance(localProps: AnchorAllProps) {\n const context = React.useContext(Context)\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context?.getTranslation(localProps as AnchorAllProps).Anchor,\n context?.Anchor\n )\n\n // deprecated: inner_ref is still needed to support Button's usage of Anchor\n if (typeof allProps.inner_ref !== 'undefined') {\n allProps.innerRef = allProps.inner_ref\n delete allProps.inner_ref\n }\n\n if (!allProps.innerRef) {\n allProps.innerRef = React.createRef()\n }\n\n const {\n id,\n element,\n className,\n children,\n tooltip,\n icon,\n iconPosition = 'left',\n omitClass,\n innerRef,\n targetBlankTitle,\n ...rest\n } = allProps\n\n const attributes = rest as ElementProps\n const internalId = id || 'id' + makeUniqueId()\n const as = element || 'a'\n\n const href = allProps.href || allProps.to\n const _opensNewTab = opensNewTab(allProps.target, href)\n const showLaunchIcon =\n _opensNewTab &&\n !className?.includes('dnb-anchor--no-icon') &&\n !omitClass\n const showTooltip = (tooltip || _opensNewTab) && !allProps.title\n\n const iconNode = icon && getIcon(icon)\n\n const suffix =\n (iconPosition === 'right' && iconNode) ||\n (showLaunchIcon && (\n <IconPrimary className=\"dnb-anchor__launch-icon\" icon={launchIcon} />\n ))\n\n const prefix = iconPosition === 'left' && iconNode\n\n return (\n <>\n <E\n as={as}\n id={id}\n className={classnames(\n omitClass !== true &&\n classnames(\n 'dnb-anchor',\n prefix && 'dnb-anchor--icon-left',\n suffix && 'dnb-anchor--icon-right',\n typeof children !== 'string' && 'dnb-anchor--was-node'\n ),\n className\n )}\n {...attributes}\n innerRef={innerRef}\n >\n {prefix}\n {children}\n {suffix}\n </E>\n\n {showTooltip && (\n <Tooltip\n showDelay={100}\n id={internalId + '-tooltip'}\n targetElement={innerRef}\n tooltip={tooltip}\n >\n {allProps.title || targetBlankTitle}\n </Tooltip>\n )}\n </>\n )\n}\n\nconst Anchor = React.forwardRef(\n (props: AnchorAllProps, ref: React.RefObject<HTMLAnchorElement>) => {\n return <AnchorInstance innerRef={ref} {...props} />\n }\n)\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nAnchor._supportsSpacingProps = true\n\nexport default Anchor\n\nexport function scrollToHashHandler(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n) {\n const element = event.currentTarget as HTMLAnchorElement\n const href = element.getAttribute('href')\n\n if (typeof document === 'undefined' || !href.includes('#')) {\n return // stop here\n }\n\n /**\n * What happens here?\n * When `scroll-behavior: smooth;` in CSS is set,\n * Blink/Chromium wants the user to click two times in order to actually scroll to the anchor hash.\n * The first click, sets the hash, the second one, scrolls to it.\n * We want Chromium browsers to scroll to the element on the first click.\n */\n const isSamePath =\n href.startsWith('#') ||\n window.location.href.includes(element.pathname?.replace(/\\/$/, ''))\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n if (isSamePath) {\n const id = href.split(/#/g).reverse()[0]\n const anchorElem = document.getElementById(id)\n\n if (anchorElem instanceof HTMLElement) {\n try {\n const scrollPadding = parseFloat(\n window.getComputedStyle(document.documentElement)\n .scrollPaddingTop\n )\n const top = getOffsetTop(anchorElem) - scrollPadding || 0\n\n window.scroll({ top })\n\n return { element: anchorElem }\n } catch (error) {\n console.error(error)\n }\n }\n }\n}\n\nfunction getIcon(icon) {\n return pickIcon(icon) || <IconPrimary icon={icon} />\n}\n\nexport function pickIcon(icon) {\n return icon?.props?.icon || icon?.props?.className?.includes('dnb-icon')\n ? React.cloneElement(icon, {\n key: 'button-icon-clone',\n className: classnames(icon.props?.className, 'dnb-button__icon'),\n })\n : null\n}\n\nexport const opensNewTab = (target: string, href: string): boolean =>\n target === '_blank' && !/^(mailto|tel|sms)/.test(href)\n"],"mappings":"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"}
1
+ {"version":3,"file":"Anchor.js","names":["React","classnames","E","Context","makeUniqueId","extendPropsWithContext","getOffsetTop","IconPrimary","Tooltip","launch","launchIcon","defaultProps","AnchorInstance","localProps","context","useContext","allProps","skeleton","getTranslation","Anchor","inner_ref","innerRef","createRef","id","element","className","children","tooltip","icon","iconPosition","omitClass","targetBlankTitle","rest","_objectWithoutProperties","_excluded","attributes","internalId","as","href","to","_opensNewTab","opensNewTab","target","showLaunchIcon","includes","showTooltip","title","iconNode","getIcon","suffix","_IconPrimary","createElement","prefix","Fragment","_extends","showDelay","targetElement","forwardRef","props","ref","_supportsSpacingProps","scrollToHashHandler","event","_element$pathname","currentTarget","getAttribute","document","isSamePath","startsWith","window","location","pathname","replace","split","reverse","anchorElem","getElementById","HTMLElement","scrollPadding","parseFloat","getComputedStyle","documentElement","scrollPaddingTop","top","scroll","error","console","pickIcon","_icon$props","_icon$props2","_icon$props2$classNam","_icon$props3","cloneElement","key","test"],"sources":["../../../../src/components/anchor/Anchor.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport E, { ElementProps } from '../../elements/Element'\nimport Context from '../../shared/Context'\nimport {\n makeUniqueId,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { getOffsetTop } from '../../shared/helpers'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport Tooltip from '../tooltip/Tooltip'\nimport { launch as launchIcon } from '../../icons'\nimport type { IconIcon } from '../icon/Icon'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { DynamicElement, SpacingProps } from '../../shared/types'\n\nexport type AnchorProps = {\n element?: DynamicElement<HTMLAnchorElement | AnchorAllProps>\n href?: string\n to?: string\n targetBlankTitle?: string\n target?: string\n tooltip?: React.ReactNode\n icon?: IconIcon\n iconPosition?: 'left' | 'right'\n skeleton?: SkeletonShow\n omitClass?: boolean\n innerRef?: React.RefObject<HTMLAnchorElement>\n\n /** @deprecated use innerRef instead */\n inner_ref?: React.RefObject<HTMLAnchorElement>\n}\n\nexport type AnchorAllProps = AnchorProps &\n Omit<React.HTMLProps<HTMLAnchorElement>, 'ref'> &\n SpacingProps\n\nconst defaultProps = {}\n\nexport function AnchorInstance(localProps: AnchorAllProps) {\n const context = React.useContext(Context)\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context?.getTranslation(localProps as AnchorAllProps).Anchor,\n context?.Anchor\n )\n\n // deprecated: inner_ref is still needed to support Button's usage of Anchor\n if (typeof allProps.inner_ref !== 'undefined') {\n allProps.innerRef = allProps.inner_ref\n delete allProps.inner_ref\n }\n\n if (!allProps.innerRef) {\n allProps.innerRef = React.createRef()\n }\n\n const {\n id,\n element,\n className,\n children,\n tooltip,\n icon,\n iconPosition = 'left',\n omitClass,\n innerRef,\n targetBlankTitle,\n ...rest\n } = allProps\n\n const attributes = rest as ElementProps\n const internalId = id || 'id' + makeUniqueId()\n const as = element || 'a'\n\n const href = allProps.href || allProps.to\n const _opensNewTab = opensNewTab(allProps.target, href)\n const showLaunchIcon =\n _opensNewTab &&\n !className?.includes('dnb-anchor--no-icon') &&\n !omitClass\n const showTooltip = (tooltip || _opensNewTab) && !allProps.title\n\n const iconNode = icon && getIcon(icon)\n\n const suffix =\n (iconPosition === 'right' && iconNode) ||\n (showLaunchIcon && (\n <IconPrimary className=\"dnb-anchor__launch-icon\" icon={launchIcon} />\n ))\n\n const prefix = iconPosition === 'left' && iconNode\n\n return (\n <>\n <E\n as={as}\n id={id}\n className={classnames(\n omitClass !== true &&\n classnames(\n 'dnb-anchor',\n prefix && 'dnb-anchor--icon-left',\n suffix && 'dnb-anchor--icon-right',\n typeof children !== 'string' && 'dnb-anchor--was-node'\n ),\n className\n )}\n {...attributes}\n innerRef={innerRef}\n >\n {prefix}\n {children}\n {suffix}\n </E>\n\n {showTooltip && (\n <Tooltip\n showDelay={100}\n id={internalId + '-tooltip'}\n targetElement={innerRef}\n tooltip={tooltip}\n >\n {allProps.title || targetBlankTitle}\n </Tooltip>\n )}\n </>\n )\n}\n\nconst Anchor = React.forwardRef(\n (props: AnchorAllProps, ref: React.RefObject<HTMLAnchorElement>) => {\n return <AnchorInstance innerRef={ref} {...props} />\n }\n)\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nAnchor._supportsSpacingProps = true\n\nexport default Anchor\n\nexport function scrollToHashHandler(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n) {\n const element = event.currentTarget as HTMLAnchorElement\n const href = element.getAttribute('href')\n\n if (typeof document === 'undefined' || !href.includes('#')) {\n return // stop here\n }\n\n /**\n * What happens here?\n * When `scroll-behavior: smooth;` in CSS is set,\n * Blink/Chromium wants the user to click two times in order to actually scroll to the anchor hash.\n * The first click, sets the hash, the second one, scrolls to it.\n * We want Chromium browsers to scroll to the element on the first click.\n */\n const isSamePath =\n href.startsWith('#') ||\n window.location.href.includes(element.pathname?.replace(/\\/$/, ''))\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n if (isSamePath) {\n const id = href.split(/#/g).reverse()[0]\n const anchorElem = document.getElementById(id)\n\n if (anchorElem instanceof HTMLElement) {\n try {\n const scrollPadding = parseFloat(\n window.getComputedStyle(document.documentElement)\n .scrollPaddingTop\n )\n const top = getOffsetTop(anchorElem) - scrollPadding || 0\n\n window.scroll({ top })\n\n return { element: anchorElem }\n } catch (error) {\n console.error(error)\n }\n }\n }\n}\n\nfunction getIcon(icon) {\n return pickIcon(icon) || <IconPrimary icon={icon} />\n}\n\nexport function pickIcon(icon, className?: string) {\n return icon?.props?.icon || icon?.props?.className?.includes('dnb-icon')\n ? React.cloneElement(icon, {\n key: 'button-icon-clone',\n className: classnames(icon.props?.className, className),\n })\n : null\n}\n\nexport const opensNewTab = (target: string, href: string): boolean =>\n target === '_blank' && !/^(mailto|tel|sms)/.test(href)\n"],"mappings":"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"}
@@ -115,6 +115,10 @@
115
115
  }
116
116
 
117
117
  @mixin anchorStyle() {
118
+ --anchor-icon-gutter: 0.25em;
119
+ // word-joiner character (zero-width non-breaking space) connects icon with word
120
+ --anchor-icon-seperator: '\2060';
121
+ --anchor-icon-fallback-position: translateY(-0.125em);
118
122
  @include anchorDefaultStyle();
119
123
 
120
124
  // have focus before :active, because of border-radius
@@ -143,15 +147,54 @@
143
147
 
144
148
  // other stuff, not related to the Anchor directly
145
149
  .dnb-icon {
146
- display: inline-block;
150
+ display: inline;
151
+ vertical-align: baseline;
152
+ white-space: nowrap; // force icon to line break with word
153
+ font-size: inherit;
154
+
155
+ svg {
156
+ vertical-align: middle;
157
+ transform: var(--anchor-icon-fallback-position);
158
+ }
159
+ }
147
160
 
148
- // -1px to center the icons against large chars
149
- transform: translateY(-0.0625em);
161
+ @supports (height: 1lh) {
162
+ .dnb-icon {
163
+ vertical-align: top;
164
+ line-height: 1lh;
165
+
166
+ svg {
167
+ vertical-align: top;
168
+ transform: translateY(calc(0.5lh - 0.5em));
169
+ }
170
+ }
150
171
  }
151
172
 
152
173
  &--no-icon .dnb-icon {
153
174
  display: none;
154
175
  }
176
+
177
+ &--icon-left .dnb-icon:first-child {
178
+ &::after {
179
+ content: var(--anchor-icon-seperator);
180
+ }
181
+ svg {
182
+ margin-right: var(--anchor-icon-gutter);
183
+ }
184
+ }
185
+
186
+ &--icon-right .dnb-icon:last-child {
187
+ &::before {
188
+ content: var(--anchor-icon-seperator);
189
+ }
190
+ svg {
191
+ margin-left: var(--anchor-icon-gutter);
192
+ }
193
+ }
194
+
195
+ .dnb-icon--default {
196
+ font-size: calc(16em / 18);
197
+ }
155
198
  }
156
199
 
157
200
  @mixin anchorTag() {
@@ -1,3 +1,4 @@
1
+ @charset "UTF-8";
1
2
  /*
2
3
  * Anchor
3
4
  *
@@ -20,6 +21,9 @@ button.dnb-anchor {
20
21
 
21
22
  :where(:not(.dnb-anchor--no-style)).dnb-anchor {
22
23
  --anchor-underline-thickness: 0.0938rem;
24
+ --anchor-icon-gutter: 0.25em;
25
+ --anchor-icon-seperator: "⁠";
26
+ --anchor-icon-fallback-position: translateY(-0.125em);
23
27
  display: inline;
24
28
  padding: 0.05575em 0;
25
29
  font-size: var(--font-size-basis);
@@ -81,12 +85,43 @@ sup :where(:not(.dnb-anchor--no-style)).dnb-anchor, sub :where(:not(.dnb-anchor-
81
85
  transition: none;
82
86
  }
83
87
  :where(:not(.dnb-anchor--no-style)).dnb-anchor .dnb-icon {
84
- display: inline-block;
85
- transform: translateY(-0.0625em);
88
+ display: inline;
89
+ vertical-align: baseline;
90
+ white-space: nowrap;
91
+ font-size: inherit;
92
+ }
93
+ :where(:not(.dnb-anchor--no-style)).dnb-anchor .dnb-icon svg {
94
+ vertical-align: middle;
95
+ transform: var(--anchor-icon-fallback-position);
96
+ }
97
+ @supports (height: 1lh) {
98
+ :where(:not(.dnb-anchor--no-style)).dnb-anchor .dnb-icon {
99
+ vertical-align: top;
100
+ line-height: 1lh;
101
+ }
102
+ :where(:not(.dnb-anchor--no-style)).dnb-anchor .dnb-icon svg {
103
+ vertical-align: top;
104
+ transform: translateY(calc(0.5lh - 0.5em));
105
+ }
86
106
  }
87
107
  :where(:not(.dnb-anchor--no-style)).dnb-anchor--no-icon .dnb-icon {
88
108
  display: none;
89
109
  }
110
+ :where(:not(.dnb-anchor--no-style)).dnb-anchor--icon-left .dnb-icon:first-child::after {
111
+ content: var(--anchor-icon-seperator);
112
+ }
113
+ :where(:not(.dnb-anchor--no-style)).dnb-anchor--icon-left .dnb-icon:first-child svg {
114
+ margin-right: var(--anchor-icon-gutter);
115
+ }
116
+ :where(:not(.dnb-anchor--no-style)).dnb-anchor--icon-right .dnb-icon:last-child::before {
117
+ content: var(--anchor-icon-seperator);
118
+ }
119
+ :where(:not(.dnb-anchor--no-style)).dnb-anchor--icon-right .dnb-icon:last-child svg {
120
+ margin-left: var(--anchor-icon-gutter);
121
+ }
122
+ :where(:not(.dnb-anchor--no-style)).dnb-anchor .dnb-icon--default {
123
+ font-size: 0.8888888889em;
124
+ }
90
125
  :where(:not(.dnb-anchor--no-style)).dnb-anchor.dnb-anchor--contrast {
91
126
  color: var(--color-white);
92
127
  }
@@ -124,6 +159,9 @@ sup :where(:not(.dnb-anchor--no-style)).dnb-anchor, sub :where(:not(.dnb-anchor-
124
159
  @supports not (selector(*:where(*))) {
125
160
  :not(.dnb-anchor--no-style).dnb-anchor {
126
161
  --anchor-underline-thickness: 0.0938rem;
162
+ --anchor-icon-gutter: 0.25em;
163
+ --anchor-icon-seperator: "⁠";
164
+ --anchor-icon-fallback-position: translateY(-0.125em);
127
165
  display: inline;
128
166
  padding: 0.05575em 0;
129
167
  font-size: var(--font-size-basis);
@@ -185,12 +223,43 @@ sup :where(:not(.dnb-anchor--no-style)).dnb-anchor, sub :where(:not(.dnb-anchor-
185
223
  transition: none;
186
224
  }
187
225
  :not(.dnb-anchor--no-style).dnb-anchor .dnb-icon {
188
- display: inline-block;
189
- transform: translateY(-0.0625em);
226
+ display: inline;
227
+ vertical-align: baseline;
228
+ white-space: nowrap;
229
+ font-size: inherit;
230
+ }
231
+ :not(.dnb-anchor--no-style).dnb-anchor .dnb-icon svg {
232
+ vertical-align: middle;
233
+ transform: var(--anchor-icon-fallback-position);
234
+ }
235
+ @supports (height: 1lh) {
236
+ :not(.dnb-anchor--no-style).dnb-anchor .dnb-icon {
237
+ vertical-align: top;
238
+ line-height: 1lh;
239
+ }
240
+ :not(.dnb-anchor--no-style).dnb-anchor .dnb-icon svg {
241
+ vertical-align: top;
242
+ transform: translateY(calc(0.5lh - 0.5em));
243
+ }
190
244
  }
191
245
  :not(.dnb-anchor--no-style).dnb-anchor--no-icon .dnb-icon {
192
246
  display: none;
193
247
  }
248
+ :not(.dnb-anchor--no-style).dnb-anchor--icon-left .dnb-icon:first-child::after {
249
+ content: var(--anchor-icon-seperator);
250
+ }
251
+ :not(.dnb-anchor--no-style).dnb-anchor--icon-left .dnb-icon:first-child svg {
252
+ margin-right: var(--anchor-icon-gutter);
253
+ }
254
+ :not(.dnb-anchor--no-style).dnb-anchor--icon-right .dnb-icon:last-child::before {
255
+ content: var(--anchor-icon-seperator);
256
+ }
257
+ :not(.dnb-anchor--no-style).dnb-anchor--icon-right .dnb-icon:last-child svg {
258
+ margin-left: var(--anchor-icon-gutter);
259
+ }
260
+ :not(.dnb-anchor--no-style).dnb-anchor .dnb-icon--default {
261
+ font-size: 0.8888888889em;
262
+ }
194
263
  :not(.dnb-anchor--no-style).dnb-anchor.dnb-anchor--contrast {
195
264
  color: var(--color-white);
196
265
  }