@dnb/eufemia 10.0.0-beta.6 → 10.0.0-beta.8

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 (372) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/cjs/components/accordion/Accordion.d.ts +2 -1
  3. package/cjs/components/anchor/Anchor.d.ts +5 -1
  4. package/cjs/components/anchor/Anchor.js +53 -4
  5. package/cjs/components/anchor/style/anchor-mixins.scss +8 -4
  6. package/cjs/components/anchor/style/dnb-anchor.css +8 -9
  7. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  8. package/cjs/components/anchor/style/dnb-anchor.scss +2 -1
  9. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +63 -1
  10. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  11. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +88 -26
  12. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +4 -4
  13. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  14. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -4
  15. package/cjs/components/autocomplete/Autocomplete.d.ts +3 -2
  16. package/cjs/components/autocomplete/Autocomplete.js +8 -5
  17. package/cjs/components/button/Button.d.ts +5 -3
  18. package/cjs/components/button/Button.js +8 -5
  19. package/cjs/components/button/style/dnb-button--tertiary.css +16 -7
  20. package/cjs/components/button/style/dnb-button--tertiary.min.css +1 -1
  21. package/cjs/components/button/style/dnb-button--tertiary.scss +28 -18
  22. package/cjs/components/button/style/dnb-button.css +1 -3
  23. package/cjs/components/button/style/dnb-button.min.css +1 -1
  24. package/cjs/components/button/style/dnb-button.scss +0 -1
  25. package/cjs/components/button/style/themes/button-mixins.scss +4 -4
  26. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +16 -7
  27. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  28. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +38 -7
  29. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +1 -1
  30. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +6 -0
  31. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +16 -7
  32. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  33. package/cjs/components/checkbox/Checkbox.d.ts +3 -2
  34. package/cjs/components/checkbox/Checkbox.js +8 -5
  35. package/cjs/components/date-picker/DatePicker.d.ts +3 -2
  36. package/cjs/components/date-picker/DatePicker.js +9 -5
  37. package/cjs/components/dialog/style/dnb-dialog.css +3 -3
  38. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  39. package/cjs/components/dialog/style/dnb-dialog.scss +2 -4
  40. package/cjs/components/dropdown/Dropdown.d.ts +3 -2
  41. package/cjs/components/dropdown/Dropdown.js +8 -5
  42. package/cjs/components/form-row/FormRow.d.ts +2 -1
  43. package/cjs/components/form-row/FormRow.js +8 -5
  44. package/cjs/components/form-set/FormSet.d.ts +2 -1
  45. package/cjs/components/form-status/FormStatus.d.ts +6 -6
  46. package/cjs/components/form-status/FormStatus.js +13 -7
  47. package/cjs/components/global-status/GlobalStatus.d.ts +8 -0
  48. package/cjs/components/help-button/HelpButton.d.ts +1 -3
  49. package/cjs/components/help-button/HelpButton.js +9 -17
  50. package/cjs/components/icon/style/dnb-icon.css +7 -3
  51. package/cjs/components/icon/style/dnb-icon.min.css +1 -1
  52. package/cjs/components/icon/style/dnb-icon.scss +16 -10
  53. package/cjs/components/input/Input.d.ts +11 -5
  54. package/cjs/components/input/Input.js +8 -5
  55. package/cjs/components/input-masked/InputMasked.d.ts +3 -2
  56. package/cjs/components/input-masked/InputMaskedUtils.js +7 -3
  57. package/cjs/components/lib.d.ts +1 -1
  58. package/cjs/components/modal/Modal.js +21 -7
  59. package/cjs/components/modal/ModalContent.js +2 -2
  60. package/cjs/components/number-format/NumberUtils.js +5 -4
  61. package/cjs/components/progress-indicator/ProgressIndicator.d.ts +1 -1
  62. package/cjs/components/progress-indicator/ProgressIndicatorCircular.d.ts +1 -1
  63. package/cjs/components/progress-indicator/ProgressIndicatorLinear.d.ts +1 -1
  64. package/cjs/components/radio/Radio.d.ts +4 -3
  65. package/cjs/components/radio/Radio.js +8 -5
  66. package/cjs/components/radio/RadioGroup.d.ts +4 -3
  67. package/cjs/components/radio/RadioGroup.js +8 -5
  68. package/cjs/components/slider/SliderInstance.js +2 -3
  69. package/cjs/components/slider/SliderProvider.js +2 -2
  70. package/cjs/components/slider/types.d.ts +2 -1
  71. package/cjs/components/switch/Switch.d.ts +3 -2
  72. package/cjs/components/switch/Switch.js +8 -5
  73. package/cjs/components/textarea/Textarea.d.ts +3 -2
  74. package/cjs/components/textarea/Textarea.js +8 -5
  75. package/cjs/components/timeline/TimelineItem.d.ts +2 -2
  76. package/cjs/components/toggle-button/ToggleButton.d.ts +4 -3
  77. package/cjs/components/toggle-button/ToggleButton.js +8 -5
  78. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +3 -2
  79. package/cjs/components/toggle-button/ToggleButtonGroup.js +8 -5
  80. package/cjs/components/tooltip/TooltipWithEvents.d.ts +2 -2
  81. package/cjs/components/tooltip/TooltipWithEvents.js +6 -1
  82. package/cjs/components/visually-hidden/style/dnb-visually-hidden.css +14 -14
  83. package/cjs/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  84. package/cjs/elements/Link.d.ts +1 -1
  85. package/cjs/elements/lib.d.ts +1 -1
  86. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +16 -0
  87. package/cjs/elements/typography/style/themes/dnb-typography-theme-ui.scss +4 -23
  88. package/cjs/elements/typography/style/typography-mixins.scss +33 -0
  89. package/cjs/shared/Eufemia.d.ts +1 -0
  90. package/cjs/shared/Eufemia.js +4 -1
  91. package/cjs/shared/Theme.d.ts +6 -2
  92. package/cjs/shared/Theme.js +11 -5
  93. package/cjs/shared/VisibilityByTheme.js +10 -1
  94. package/cjs/style/core/scopes.scss +1 -1
  95. package/cjs/style/core/utilities.scss +17 -13
  96. package/cjs/style/dnb-ui-basis.css +16 -16
  97. package/cjs/style/dnb-ui-basis.min.css +1 -1
  98. package/cjs/style/dnb-ui-body.css +2 -2
  99. package/cjs/style/dnb-ui-body.min.css +1 -1
  100. package/cjs/style/dnb-ui-components.css +33 -32
  101. package/cjs/style/dnb-ui-components.min.css +1 -1
  102. package/cjs/style/dnb-ui-core.css +16 -16
  103. package/cjs/style/dnb-ui-core.min.css +1 -1
  104. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +5 -0
  105. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +69 -50
  106. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  107. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +5 -0
  108. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +39 -30
  109. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  110. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.scss +4 -0
  111. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +133 -40
  112. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  113. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +36 -31
  114. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  115. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.scss +1 -1
  116. package/cjs/style/themes/theme-ui/ui-theme-basis.css +5 -0
  117. package/cjs/style/themes/theme-ui/ui-theme-components.css +53 -43
  118. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  119. package/cjs/style/themes/theme-ui/ui-theme-elements.css +5 -0
  120. package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -3
  121. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  122. package/components/accordion/Accordion.d.ts +2 -1
  123. package/components/anchor/Anchor.d.ts +5 -1
  124. package/components/anchor/Anchor.js +49 -4
  125. package/components/anchor/style/anchor-mixins.scss +8 -4
  126. package/components/anchor/style/dnb-anchor.css +8 -9
  127. package/components/anchor/style/dnb-anchor.min.css +1 -1
  128. package/components/anchor/style/dnb-anchor.scss +2 -1
  129. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +63 -1
  130. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  131. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +88 -26
  132. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +4 -4
  133. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  134. package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -4
  135. package/components/autocomplete/Autocomplete.d.ts +3 -2
  136. package/components/autocomplete/Autocomplete.js +8 -5
  137. package/components/button/Button.d.ts +5 -3
  138. package/components/button/Button.js +8 -5
  139. package/components/button/style/dnb-button--tertiary.css +16 -7
  140. package/components/button/style/dnb-button--tertiary.min.css +1 -1
  141. package/components/button/style/dnb-button--tertiary.scss +28 -18
  142. package/components/button/style/dnb-button.css +1 -3
  143. package/components/button/style/dnb-button.min.css +1 -1
  144. package/components/button/style/dnb-button.scss +0 -1
  145. package/components/button/style/themes/button-mixins.scss +4 -4
  146. package/components/button/style/themes/dnb-button-theme-eiendom.css +16 -7
  147. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  148. package/components/button/style/themes/dnb-button-theme-sbanken.css +38 -7
  149. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +1 -1
  150. package/components/button/style/themes/dnb-button-theme-sbanken.scss +6 -0
  151. package/components/button/style/themes/dnb-button-theme-ui.css +16 -7
  152. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  153. package/components/checkbox/Checkbox.d.ts +3 -2
  154. package/components/checkbox/Checkbox.js +8 -5
  155. package/components/date-picker/DatePicker.d.ts +3 -2
  156. package/components/date-picker/DatePicker.js +9 -5
  157. package/components/dialog/style/dnb-dialog.css +3 -3
  158. package/components/dialog/style/dnb-dialog.min.css +1 -1
  159. package/components/dialog/style/dnb-dialog.scss +2 -4
  160. package/components/dropdown/Dropdown.d.ts +3 -2
  161. package/components/dropdown/Dropdown.js +8 -5
  162. package/components/form-row/FormRow.d.ts +2 -1
  163. package/components/form-row/FormRow.js +8 -5
  164. package/components/form-set/FormSet.d.ts +2 -1
  165. package/components/form-status/FormStatus.d.ts +6 -6
  166. package/components/form-status/FormStatus.js +13 -7
  167. package/components/global-status/GlobalStatus.d.ts +8 -0
  168. package/components/help-button/HelpButton.d.ts +1 -3
  169. package/components/help-button/HelpButton.js +9 -16
  170. package/components/icon/style/dnb-icon.css +7 -3
  171. package/components/icon/style/dnb-icon.min.css +1 -1
  172. package/components/icon/style/dnb-icon.scss +16 -10
  173. package/components/input/Input.d.ts +11 -5
  174. package/components/input/Input.js +8 -5
  175. package/components/input-masked/InputMasked.d.ts +3 -2
  176. package/components/input-masked/InputMaskedUtils.js +7 -3
  177. package/components/lib.d.ts +1 -1
  178. package/components/modal/Modal.js +21 -7
  179. package/components/modal/ModalContent.js +2 -2
  180. package/components/number-format/NumberUtils.js +5 -4
  181. package/components/progress-indicator/ProgressIndicator.d.ts +1 -1
  182. package/components/progress-indicator/ProgressIndicatorCircular.d.ts +1 -1
  183. package/components/progress-indicator/ProgressIndicatorLinear.d.ts +1 -1
  184. package/components/radio/Radio.d.ts +4 -3
  185. package/components/radio/Radio.js +8 -5
  186. package/components/radio/RadioGroup.d.ts +4 -3
  187. package/components/radio/RadioGroup.js +8 -5
  188. package/components/slider/SliderInstance.js +2 -3
  189. package/components/slider/SliderProvider.js +2 -2
  190. package/components/slider/types.d.ts +2 -1
  191. package/components/switch/Switch.d.ts +3 -2
  192. package/components/switch/Switch.js +8 -5
  193. package/components/textarea/Textarea.d.ts +3 -2
  194. package/components/textarea/Textarea.js +8 -5
  195. package/components/timeline/TimelineItem.d.ts +2 -2
  196. package/components/toggle-button/ToggleButton.d.ts +4 -3
  197. package/components/toggle-button/ToggleButton.js +8 -5
  198. package/components/toggle-button/ToggleButtonGroup.d.ts +3 -2
  199. package/components/toggle-button/ToggleButtonGroup.js +8 -5
  200. package/components/tooltip/TooltipWithEvents.d.ts +2 -2
  201. package/components/tooltip/TooltipWithEvents.js +6 -1
  202. package/components/visually-hidden/style/dnb-visually-hidden.css +14 -14
  203. package/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  204. package/elements/Link.d.ts +1 -1
  205. package/elements/lib.d.ts +1 -1
  206. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +16 -0
  207. package/elements/typography/style/themes/dnb-typography-theme-ui.scss +4 -23
  208. package/elements/typography/style/typography-mixins.scss +33 -0
  209. package/es/components/accordion/Accordion.d.ts +2 -1
  210. package/es/components/anchor/Anchor.d.ts +5 -1
  211. package/es/components/anchor/Anchor.js +49 -4
  212. package/es/components/anchor/style/anchor-mixins.scss +8 -4
  213. package/es/components/anchor/style/dnb-anchor.css +8 -9
  214. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  215. package/es/components/anchor/style/dnb-anchor.scss +2 -1
  216. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +63 -1
  217. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  218. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +88 -26
  219. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +4 -4
  220. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  221. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -4
  222. package/es/components/autocomplete/Autocomplete.d.ts +3 -2
  223. package/es/components/autocomplete/Autocomplete.js +8 -5
  224. package/es/components/button/Button.d.ts +5 -3
  225. package/es/components/button/Button.js +8 -5
  226. package/es/components/button/style/dnb-button--tertiary.css +16 -7
  227. package/es/components/button/style/dnb-button--tertiary.min.css +1 -1
  228. package/es/components/button/style/dnb-button--tertiary.scss +28 -18
  229. package/es/components/button/style/dnb-button.css +1 -3
  230. package/es/components/button/style/dnb-button.min.css +1 -1
  231. package/es/components/button/style/dnb-button.scss +0 -1
  232. package/es/components/button/style/themes/button-mixins.scss +4 -4
  233. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +16 -7
  234. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  235. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +38 -7
  236. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +1 -1
  237. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +6 -0
  238. package/es/components/button/style/themes/dnb-button-theme-ui.css +16 -7
  239. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  240. package/es/components/checkbox/Checkbox.d.ts +3 -2
  241. package/es/components/checkbox/Checkbox.js +8 -5
  242. package/es/components/date-picker/DatePicker.d.ts +3 -2
  243. package/es/components/date-picker/DatePicker.js +9 -5
  244. package/es/components/dialog/style/dnb-dialog.css +3 -3
  245. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  246. package/es/components/dialog/style/dnb-dialog.scss +2 -4
  247. package/es/components/dropdown/Dropdown.d.ts +3 -2
  248. package/es/components/dropdown/Dropdown.js +8 -5
  249. package/es/components/form-row/FormRow.d.ts +2 -1
  250. package/es/components/form-row/FormRow.js +8 -5
  251. package/es/components/form-set/FormSet.d.ts +2 -1
  252. package/es/components/form-status/FormStatus.d.ts +6 -6
  253. package/es/components/form-status/FormStatus.js +13 -7
  254. package/es/components/global-status/GlobalStatus.d.ts +8 -0
  255. package/es/components/help-button/HelpButton.d.ts +1 -3
  256. package/es/components/help-button/HelpButton.js +9 -16
  257. package/es/components/icon/style/dnb-icon.css +7 -3
  258. package/es/components/icon/style/dnb-icon.min.css +1 -1
  259. package/es/components/icon/style/dnb-icon.scss +16 -10
  260. package/es/components/input/Input.d.ts +11 -5
  261. package/es/components/input/Input.js +8 -5
  262. package/es/components/input-masked/InputMasked.d.ts +3 -2
  263. package/es/components/input-masked/InputMaskedUtils.js +7 -3
  264. package/es/components/lib.d.ts +1 -1
  265. package/es/components/modal/Modal.js +21 -7
  266. package/es/components/modal/ModalContent.js +2 -2
  267. package/es/components/number-format/NumberUtils.js +5 -4
  268. package/es/components/progress-indicator/ProgressIndicator.d.ts +1 -1
  269. package/es/components/progress-indicator/ProgressIndicatorCircular.d.ts +1 -1
  270. package/es/components/progress-indicator/ProgressIndicatorLinear.d.ts +1 -1
  271. package/es/components/radio/Radio.d.ts +4 -3
  272. package/es/components/radio/Radio.js +8 -5
  273. package/es/components/radio/RadioGroup.d.ts +4 -3
  274. package/es/components/radio/RadioGroup.js +8 -5
  275. package/es/components/slider/SliderInstance.js +2 -3
  276. package/es/components/slider/SliderProvider.js +2 -2
  277. package/es/components/slider/types.d.ts +2 -1
  278. package/es/components/switch/Switch.d.ts +3 -2
  279. package/es/components/switch/Switch.js +8 -5
  280. package/es/components/textarea/Textarea.d.ts +3 -2
  281. package/es/components/textarea/Textarea.js +8 -5
  282. package/es/components/timeline/TimelineItem.d.ts +2 -2
  283. package/es/components/toggle-button/ToggleButton.d.ts +4 -3
  284. package/es/components/toggle-button/ToggleButton.js +8 -5
  285. package/es/components/toggle-button/ToggleButtonGroup.d.ts +3 -2
  286. package/es/components/toggle-button/ToggleButtonGroup.js +8 -5
  287. package/es/components/tooltip/TooltipWithEvents.d.ts +2 -2
  288. package/es/components/tooltip/TooltipWithEvents.js +6 -1
  289. package/es/components/visually-hidden/style/dnb-visually-hidden.css +14 -14
  290. package/es/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  291. package/es/elements/Link.d.ts +1 -1
  292. package/es/elements/lib.d.ts +1 -1
  293. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +16 -0
  294. package/es/elements/typography/style/themes/dnb-typography-theme-ui.scss +4 -23
  295. package/es/elements/typography/style/typography-mixins.scss +33 -0
  296. package/es/shared/Eufemia.d.ts +1 -0
  297. package/es/shared/Eufemia.js +2 -1
  298. package/es/shared/Theme.d.ts +6 -2
  299. package/es/shared/Theme.js +11 -5
  300. package/es/shared/VisibilityByTheme.js +6 -1
  301. package/es/style/core/scopes.scss +1 -1
  302. package/es/style/core/utilities.scss +17 -13
  303. package/es/style/dnb-ui-basis.css +16 -16
  304. package/es/style/dnb-ui-basis.min.css +1 -1
  305. package/es/style/dnb-ui-body.css +2 -2
  306. package/es/style/dnb-ui-body.min.css +1 -1
  307. package/es/style/dnb-ui-components.css +33 -32
  308. package/es/style/dnb-ui-components.min.css +1 -1
  309. package/es/style/dnb-ui-core.css +16 -16
  310. package/es/style/dnb-ui-core.min.css +1 -1
  311. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +5 -0
  312. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +69 -50
  313. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  314. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +5 -0
  315. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +39 -30
  316. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  317. package/es/style/themes/theme-sbanken/sbanken-theme-basis.scss +4 -0
  318. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +133 -40
  319. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  320. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +36 -31
  321. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  322. package/es/style/themes/theme-sbanken/sbanken-theme-elements.scss +1 -1
  323. package/es/style/themes/theme-ui/ui-theme-basis.css +5 -0
  324. package/es/style/themes/theme-ui/ui-theme-components.css +53 -43
  325. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  326. package/es/style/themes/theme-ui/ui-theme-elements.css +5 -0
  327. package/es/style/themes/theme-ui/ui-theme-tags.css +3 -3
  328. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  329. package/esm/dnb-ui-basis.min.mjs +1 -1
  330. package/esm/dnb-ui-components.min.mjs +1 -1
  331. package/esm/dnb-ui-elements.min.mjs +1 -1
  332. package/esm/dnb-ui-extensions.min.mjs +1 -1
  333. package/esm/dnb-ui-lib.min.mjs +1 -1
  334. package/package.json +1 -1
  335. package/shared/Eufemia.d.ts +1 -0
  336. package/shared/Eufemia.js +2 -1
  337. package/shared/Theme.d.ts +6 -2
  338. package/shared/Theme.js +11 -5
  339. package/shared/VisibilityByTheme.js +6 -1
  340. package/style/core/scopes.scss +1 -1
  341. package/style/core/utilities.scss +17 -13
  342. package/style/dnb-ui-basis.css +16 -16
  343. package/style/dnb-ui-basis.min.css +1 -1
  344. package/style/dnb-ui-body.css +2 -2
  345. package/style/dnb-ui-body.min.css +1 -1
  346. package/style/dnb-ui-components.css +33 -32
  347. package/style/dnb-ui-components.min.css +1 -1
  348. package/style/dnb-ui-core.css +16 -16
  349. package/style/dnb-ui-core.min.css +1 -1
  350. package/style/themes/theme-eiendom/eiendom-theme-basis.css +5 -0
  351. package/style/themes/theme-eiendom/eiendom-theme-components.css +69 -50
  352. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  353. package/style/themes/theme-eiendom/eiendom-theme-elements.css +5 -0
  354. package/style/themes/theme-sbanken/sbanken-theme-basis.css +39 -30
  355. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  356. package/style/themes/theme-sbanken/sbanken-theme-basis.scss +4 -0
  357. package/style/themes/theme-sbanken/sbanken-theme-components.css +133 -40
  358. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  359. package/style/themes/theme-sbanken/sbanken-theme-elements.css +36 -31
  360. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  361. package/style/themes/theme-sbanken/sbanken-theme-elements.scss +1 -1
  362. package/style/themes/theme-ui/ui-theme-basis.css +5 -0
  363. package/style/themes/theme-ui/ui-theme-components.css +53 -43
  364. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  365. package/style/themes/theme-ui/ui-theme-elements.css +5 -0
  366. package/style/themes/theme-ui/ui-theme-tags.css +3 -3
  367. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  368. package/umd/dnb-ui-basis.min.js +1 -1
  369. package/umd/dnb-ui-components.min.js +1 -1
  370. package/umd/dnb-ui-elements.min.js +1 -1
  371. package/umd/dnb-ui-extensions.min.js +1 -1
  372. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1,56 +1,118 @@
1
+ @use '../../../../style/core/utilities.scss';
1
2
  @use '../anchor-mixins.scss';
2
3
 
4
+ @mixin anchorHover() {
5
+ color: var(--sb-color-text);
6
+ background-color: var(--sb-color-green-dark);
7
+
8
+ transition: none;
9
+ border-radius: 0.5rem;
10
+ }
11
+
12
+ @mixin anchorActive() {
13
+ color: var(--sb-color-text);
14
+ background-color: var(--sb-color-green);
15
+
16
+ border-radius: 0.5rem;
17
+ }
18
+
19
+ @mixin anchorFocus() {
20
+ &:not(:active) {
21
+ color: var(--sb-color-blue-dark);
22
+ background-color: var(--sb-color-blue-light-3);
23
+
24
+ border-radius: 0.25rem;
25
+
26
+ &.dnb-anchor--icon-left {
27
+ margin-left: 0;
28
+ .dnb-icon {
29
+ margin-left: 0;
30
+ }
31
+ }
32
+
33
+ &.dnb-anchor--icon-right {
34
+ margin-right: 0;
35
+ .dnb-icon {
36
+ margin-right: 0;
37
+ }
38
+ }
39
+ }
40
+ }
41
+
3
42
  .dnb-anchor {
43
+ --anchor-underline-thickness: 0.125rem;
44
+
4
45
  // Has to use --sb-font-weight-bold to get correct weighting as --sb-font-weight-medium does nothing at the moment
5
46
  font-weight: var(--sb-font-weight-bold);
6
47
  color: var(--sb-color-gray-dark-3);
7
48
  text-decoration-color: var(--sb-color-green-dark);
49
+ padding: calc((var(--line-height-basis) - 1.2em) / 2) 0.25em;
8
50
 
9
- &:hover {
10
- color: var(--sb-color-text);
11
- background-color: var(--sb-color-green-dark);
51
+ $anchor-icon-gutter: 0.125em;
12
52
 
13
- border-radius: 0.5rem;
53
+ &:hover {
54
+ @include anchorHover();
14
55
  }
15
56
 
16
57
  &:active {
17
- color: var(--sb-color-text);
18
- background-color: var(--sb-color-green);
19
-
20
- border-radius: 0.5rem;
58
+ @include anchorActive();
21
59
  }
22
60
 
23
61
  &:focus {
24
- &:not(:active) {
25
- color: var(--sb-color-blue-dark);
26
- background-color: var(--sb-color-blue-light-3);
62
+ @include utilities.whatInput('keyboard') {
63
+ @include anchorFocus();
64
+ }
65
+ }
66
+
67
+ &.dnb-anchor--icon-left {
68
+ padding-left: 0;
69
+ margin-left: 1em + $anchor-icon-gutter;
70
+
71
+ .dnb-icon {
72
+ font-size: 1em;
73
+ margin-right: $anchor-icon-gutter;
74
+ margin-left: -1em - $anchor-icon-gutter;
75
+ }
76
+ }
27
77
 
28
- border-radius: 0.25rem;
78
+ &.dnb-anchor--icon-right {
79
+ padding-right: 0;
80
+ margin-right: 1em + $anchor-icon-gutter;
81
+
82
+ .dnb-icon {
83
+ font-size: 1em;
84
+ margin-left: $anchor-icon-gutter;
85
+ margin-right: -1em - $anchor-icon-gutter;
86
+ }
87
+ }
88
+
89
+ &:not(.dnb-anchor--no-underline):not(.dnb-anchor--has-icon):not(.anchor-hash) {
90
+ &:not(.dnb-anchor--icon-left) {
91
+ padding-left: 0;
92
+ &::before {
93
+ content: '\00a0';
94
+ }
95
+ }
96
+
97
+ &:not(.dnb-anchor--icon-right):not(.dnb-anchor[target='_blank']) {
98
+ padding-right: 0;
99
+ &::after {
100
+ content: '\00a0';
101
+ }
29
102
  }
30
103
  }
31
104
  }
32
105
 
33
106
  .dnb-anchor--hover {
34
- color: var(--sb-color-text);
35
- background-color: var(--sb-color-green-dark);
36
-
37
- border-radius: 0.5rem;
107
+ @include anchorHover();
38
108
  }
39
109
 
40
110
  .dnb-anchor--active {
41
- color: var(--sb-color-text);
42
- background-color: var(--sb-color-green);
43
-
44
- border-radius: 0.5rem;
111
+ @include anchorActive();
45
112
  }
46
113
 
47
114
  .dnb-anchor--focus {
48
- &:not(:active) {
49
- color: var(--sb-color-blue-dark);
50
- background-color: var(--sb-color-blue-light-3);
51
-
52
- border-radius: 0.25rem;
53
- }
115
+ @include anchorFocus();
54
116
  }
55
117
 
56
118
  // TODO: add correct contrast styling when designs are in place
@@ -10,11 +10,11 @@
10
10
  }
11
11
  .dnb-anchor:hover, .dnb-anchor:active {
12
12
  color: var(--color-sea-green);
13
- background-color: var(--color-mint-green-50);
13
+ box-shadow: inset 100vw 100vw 0 0 var(--color-mint-green-50), -0.125em 0 0 0 var(--color-mint-green-50), 0.125em 0 0 0 var(--color-mint-green-50);
14
14
  }
15
15
  .dnb-anchor:active {
16
16
  color: var(--color-mint-green);
17
- background-color: var(--color-emerald-green);
17
+ box-shadow: inset 100vw 100vw 0 0 var(--color-emerald-green), -0.125em 0 0 0 var(--color-emerald-green), 0.125em 0 0 0 var(--color-emerald-green);
18
18
  }
19
19
  .dnb-anchor:focus:not(:active) {
20
20
  color: var(--color-sea-green);
@@ -22,12 +22,12 @@
22
22
 
23
23
  .dnb-anchor--hover {
24
24
  color: var(--color-sea-green);
25
- background-color: var(--color-mint-green-50);
25
+ box-shadow: inset 100vw 100vw 0 0 var(--color-mint-green-50), -0.125em 0 0 0 var(--color-mint-green-50), 0.125em 0 0 0 var(--color-mint-green-50);
26
26
  }
27
27
 
28
28
  .dnb-anchor--active {
29
29
  color: var(--color-mint-green);
30
- background-color: var(--color-emerald-green);
30
+ box-shadow: inset 100vw 100vw 0 0 var(--color-emerald-green), -0.125em 0 0 0 var(--color-emerald-green), 0.125em 0 0 0 var(--color-emerald-green);
31
31
  }
32
32
 
33
33
  .dnb-anchor--focus:not(:active) {
@@ -1 +1 @@
1
- .dnb-anchor{color:var(--color-sea-green)}.dnb-anchor:active,.dnb-anchor:hover{background-color:var(--color-mint-green-50);color:var(--color-sea-green)}.dnb-anchor:active{background-color:var(--color-emerald-green);color:var(--color-mint-green)}.dnb-anchor--hover,.dnb-anchor:focus:not(:active){color:var(--color-sea-green)}.dnb-anchor--hover{background-color:var(--color-mint-green-50)}.dnb-anchor--active{background-color:var(--color-emerald-green);color:var(--color-mint-green)}.dnb-anchor--focus:not(:active){color:var(--color-sea-green)}.dnb-anchor--contrast{color:var(--color-white)}.dnb-anchor--contrast:active,.dnb-anchor--contrast:hover{text-decoration:none}.dnb-anchor--contrast:active,.dnb-anchor--contrast:hover{background-color:var(--color-white);color:var(--color-emerald-green)}.dnb-anchor--contrast:not(:disabled):focus{background-color:transparent;color:var(--color-white);outline:none}html[data-whatinput=keyboard] .dnb-anchor--contrast:not(:disabled):focus{--border-color:var(--color-white);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}
1
+ .dnb-anchor{color:var(--color-sea-green)}.dnb-anchor:active,.dnb-anchor:hover{box-shadow:inset 100vw 100vw 0 0 var(--color-mint-green-50),-.125em 0 0 0 var(--color-mint-green-50),.125em 0 0 0 var(--color-mint-green-50);color:var(--color-sea-green)}.dnb-anchor:active{box-shadow:inset 100vw 100vw 0 0 var(--color-emerald-green),-.125em 0 0 0 var(--color-emerald-green),.125em 0 0 0 var(--color-emerald-green);color:var(--color-mint-green)}.dnb-anchor--hover,.dnb-anchor:focus:not(:active){color:var(--color-sea-green)}.dnb-anchor--hover{box-shadow:inset 100vw 100vw 0 0 var(--color-mint-green-50),-.125em 0 0 0 var(--color-mint-green-50),.125em 0 0 0 var(--color-mint-green-50)}.dnb-anchor--active{box-shadow:inset 100vw 100vw 0 0 var(--color-emerald-green),-.125em 0 0 0 var(--color-emerald-green),.125em 0 0 0 var(--color-emerald-green);color:var(--color-mint-green)}.dnb-anchor--focus:not(:active){color:var(--color-sea-green)}.dnb-anchor--contrast{color:var(--color-white)}.dnb-anchor--contrast:active,.dnb-anchor--contrast:hover{text-decoration:none}.dnb-anchor--contrast:active,.dnb-anchor--contrast:hover{background-color:var(--color-white);color:var(--color-emerald-green)}.dnb-anchor--contrast:not(:disabled):focus{background-color:transparent;color:var(--color-white);outline:none}html[data-whatinput=keyboard] .dnb-anchor--contrast:not(:disabled):focus{--border-color:var(--color-white);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}
@@ -6,12 +6,12 @@
6
6
  &:hover,
7
7
  &:active {
8
8
  color: var(--color-sea-green);
9
- background-color: var(--color-mint-green-50);
9
+ @include anchor-mixins.anchorBackground(var(--color-mint-green-50));
10
10
  }
11
11
 
12
12
  &:active {
13
13
  color: var(--color-mint-green);
14
- background-color: var(--color-emerald-green);
14
+ @include anchor-mixins.anchorBackground(var(--color-emerald-green));
15
15
  }
16
16
 
17
17
  &:focus {
@@ -23,12 +23,12 @@
23
23
 
24
24
  .dnb-anchor--hover {
25
25
  color: var(--color-sea-green);
26
- background-color: var(--color-mint-green-50);
26
+ @include anchor-mixins.anchorBackground(var(--color-mint-green-50));
27
27
  }
28
28
 
29
29
  .dnb-anchor--active {
30
30
  color: var(--color-mint-green);
31
- background-color: var(--color-emerald-green);
31
+ @include anchor-mixins.anchorBackground(var(--color-emerald-green));
32
32
  }
33
33
 
34
34
  .dnb-anchor--focus {
@@ -11,6 +11,7 @@ import type {
11
11
  FormStatusState,
12
12
  FormStatusText
13
13
  } from '../FormStatus';
14
+ import type { GlobalStatusConfigObject } from '../GlobalStatus';
14
15
  import type { IconIcon, IconSize } from '../Icon';
15
16
  import type { SkeletonShow } from '../Skeleton';
16
17
  import type { SpacingProps } from '../space/types';
@@ -170,9 +171,9 @@ export interface AutocompleteProps
170
171
  status_no_animation?: boolean;
171
172
 
172
173
  /**
173
- * The `status_id` used for the target <a href="/uilib/components/global-status">GlobalStatus</a>.
174
+ * The <a href="/uilib/components/global-status/properties/#configuration-object">configuration</a> used for the target <a href="/uilib/components/global-status">GlobalStatus</a>.
174
175
  */
175
- global_status_id?: string;
176
+ globalStatus?: GlobalStatusConfigObject;
176
177
 
177
178
  /**
178
179
  * If set to `true`, word highlighting will still be active, but no options will be filtered out. Defaults to `false`.
@@ -5,7 +5,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
5
  var _IconPrimary, _AlignmentHelper;
6
6
 
7
7
  const _excluded = ["fillDataIfEmpty"],
8
- _excluded2 = ["title", "placeholder", "label", "label_direction", "label_sr_only", "icon", "icon_size", "input_icon", "size", "align_autocomplete", "fixed_position", "status", "status_state", "status_props", "status_no_animation", "global_status_id", "suffix", "scrollable", "focusable", "keep_open", "keep_value", "keep_value_and_selection", "show_clear_button", "prevent_close", "no_animation", "no_scroll_animation", "show_submit_button", "submit_element", "input_element", "options_render", "prevent_selection", "max_height", "default_value", "search_numbers", "search_in_word_index", "show_options_sr", "selected_sr", "submit_button_title", "submit_button_icon", "portal_class", "drawer_class", "input_ref", "className", "class", "disabled", "stretch", "skeleton", "triangle_position", "icon_position", "skip_portal", "mode", "data", "children", "direction", "id", "opened", "value", "input_value", "indicator_label", "no_options", "show_all", "aria_live_options", "disable_highlighting", "ariaLiveDelay"];
8
+ _excluded2 = ["title", "placeholder", "label", "label_direction", "label_sr_only", "icon", "icon_size", "input_icon", "size", "align_autocomplete", "fixed_position", "status", "status_state", "status_props", "status_no_animation", "globalStatus", "suffix", "scrollable", "focusable", "keep_open", "keep_value", "keep_value_and_selection", "show_clear_button", "prevent_close", "no_animation", "no_scroll_animation", "show_submit_button", "submit_element", "input_element", "options_render", "prevent_selection", "max_height", "default_value", "search_numbers", "search_in_word_index", "show_options_sr", "selected_sr", "submit_button_title", "submit_button_icon", "portal_class", "drawer_class", "input_ref", "className", "class", "disabled", "stretch", "skeleton", "triangle_position", "icon_position", "skip_portal", "mode", "data", "children", "direction", "id", "opened", "value", "input_value", "indicator_label", "no_options", "show_all", "aria_live_options", "disable_highlighting", "ariaLiveDelay"];
9
9
 
10
10
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
11
11
 
@@ -81,7 +81,7 @@ _defineProperty(Autocomplete, "defaultProps", {
81
81
  status_state: 'error',
82
82
  status_props: null,
83
83
  status_no_animation: null,
84
- global_status_id: null,
84
+ globalStatus: null,
85
85
  suffix: null,
86
86
  disable_filter: false,
87
87
  disable_reorder: false,
@@ -161,7 +161,10 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes = _objectSpread(_
161
161
  status_state: PropTypes.string,
162
162
  status_props: PropTypes.object,
163
163
  status_no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
164
- global_status_id: PropTypes.string,
164
+ globalStatus: PropTypes.shape({
165
+ id: PropTypes.string,
166
+ message: PropTypes.oneOfType([PropTypes.string, PropTypes.node])
167
+ }),
165
168
  suffix: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.node]),
166
169
  disable_filter: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
167
170
  disable_reorder: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
@@ -1430,7 +1433,7 @@ class AutocompleteInstance extends React.PureComponent {
1430
1433
  status_state,
1431
1434
  status_props,
1432
1435
  status_no_animation,
1433
- global_status_id,
1436
+ globalStatus,
1434
1437
  suffix,
1435
1438
  scrollable,
1436
1439
  focusable,
@@ -1600,7 +1603,7 @@ class AutocompleteInstance extends React.PureComponent {
1600
1603
  }, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), React.createElement(FormStatus, _extends({
1601
1604
  show: showStatus,
1602
1605
  id: id + '-form-status',
1603
- global_status_id: global_status_id,
1606
+ globalStatus: globalStatus,
1604
1607
  label: label,
1605
1608
  text_id: id + '-status',
1606
1609
  text: status,
@@ -7,6 +7,7 @@ import type {
7
7
  FormStatusState,
8
8
  FormStatusText
9
9
  } from '../FormStatus';
10
+ import type { GlobalStatusConfigObject } from '../GlobalStatus';
10
11
  export type ButtonText = string | React.ReactNode;
11
12
  export type ButtonVariant =
12
13
  | 'primary'
@@ -15,6 +16,7 @@ export type ButtonVariant =
15
16
  | 'signal'
16
17
  | 'unstyled';
17
18
  export type ButtonSize = 'default' | 'small' | 'medium' | 'large';
19
+ export type ButtonIcon = IconIcon;
18
20
  export type ButtonIconPositionTertiary = 'top';
19
21
  export type ButtonIconPosition = 'left' | 'right';
20
22
  export type ButtonIconPositionAll =
@@ -65,7 +67,7 @@ export type ButtonProps = {
65
67
  /**
66
68
  * To be included in the button. <a href="/icons/primary">Primary Icons</a> can be set as a string (e.g. `icon="chevron_right"`), other icons should be set as React elements.
67
69
  */
68
- icon?: IconIcon;
70
+ icon?: ButtonIcon;
69
71
 
70
72
  /**
71
73
  * Position of icon inside the button. Set to `left` or `right`. Tertiary button variant also supports `top`. Defaults to `right` if not set.
@@ -99,9 +101,9 @@ export type ButtonProps = {
99
101
  status_no_animation?: boolean;
100
102
 
101
103
  /**
102
- * The `status_id` used for the target <a href="/uilib/components/global-status">GlobalStatus</a>.
104
+ * The <a href="/uilib/components/global-status/properties/#configuration-object">configuration</a> used for the target <a href="/uilib/components/global-status">GlobalStatus</a>.
103
105
  */
104
- global_status_id?: string;
106
+ globalStatus?: GlobalStatusConfigObject;
105
107
  id?: string;
106
108
 
107
109
  /**
@@ -4,7 +4,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
 
5
5
  var _span, _span2, _span3;
6
6
 
7
- const _excluded = ["class", "className", "variant", "size", "title", "custom_content", "tooltip", "status", "status_state", "status_props", "status_no_animation", "global_status_id", "id", "disabled", "text", "icon", "icon_position", "icon_size", "wrap", "bounding", "stretch", "skeleton", "element", "inner_ref", "innerRef"];
7
+ const _excluded = ["class", "className", "variant", "size", "title", "custom_content", "tooltip", "status", "status_state", "status_props", "status_no_animation", "globalStatus", "id", "disabled", "text", "icon", "icon_position", "icon_size", "wrap", "bounding", "stretch", "skeleton", "element", "inner_ref", "innerRef"];
8
8
 
9
9
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
10
10
 
@@ -82,7 +82,7 @@ export default class Button extends React.PureComponent {
82
82
  status_state,
83
83
  status_props,
84
84
  status_no_animation,
85
- global_status_id,
85
+ globalStatus,
86
86
  id,
87
87
  disabled,
88
88
  text: _text,
@@ -183,7 +183,7 @@ export default class Button extends React.PureComponent {
183
183
  }))), this.state.afterContent, React.createElement(FormStatus, _extends({
184
184
  show: showStatus,
185
185
  id: this._id + '-form-status',
186
- global_status_id: global_status_id,
186
+ globalStatus: globalStatus,
187
187
  label: text,
188
188
  text: status,
189
189
  state: status_state,
@@ -215,7 +215,10 @@ process.env.NODE_ENV !== "production" ? Button.propTypes = _objectSpread(_object
215
215
  status_state: PropTypes.string,
216
216
  status_props: PropTypes.object,
217
217
  status_no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
218
- global_status_id: PropTypes.string,
218
+ globalStatus: PropTypes.shape({
219
+ id: PropTypes.string,
220
+ message: PropTypes.oneOfType([PropTypes.string, PropTypes.node])
221
+ }),
219
222
  id: PropTypes.string,
220
223
  class: PropTypes.string,
221
224
  href: PropTypes.string,
@@ -262,7 +265,7 @@ Button.defaultProps = {
262
265
  status_state: 'error',
263
266
  status_props: null,
264
267
  status_no_animation: null,
265
- global_status_id: null,
268
+ globalStatus: null,
266
269
  inner_ref: null,
267
270
  className: null,
268
271
  innerRef: null,
@@ -5,6 +5,9 @@
5
5
  * Button mixins
6
6
  *
7
7
  */
8
+ .dnb-button--tertiary {
9
+ --button-tertiary-focus-overflow: -1rem;
10
+ }
8
11
  .dnb-button--tertiary .dnb-button__text {
9
12
  position: relative;
10
13
  }
@@ -83,17 +86,23 @@ html[data-whatintent=touch] .dnb-button--tertiary:active:not([disabled]) .dnb-bu
83
86
  html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text::after, html:not([data-whatintent=touch]) html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text::after {
84
87
  visibility: hidden;
85
88
  }
86
- .dnb-button--tertiary .dnb-button__icon {
89
+ .dnb-button--tertiary.dnb-button--has-text .dnb-button__icon {
87
90
  align-self: flex-start;
88
91
  margin-top: calc(var(--button-height) / 2 - 0.5rem);
89
92
  }
90
- .dnb-button--tertiary.dnb-button--size-large .dnb-button__icon {
93
+ .dnb-button--tertiary.dnb-button--has-text .dnb-button__icon.dnb-icon--medium {
94
+ margin-top: calc(var(--button-height) / 2 - 0.75rem);
95
+ }
96
+ .dnb-button--tertiary.dnb-button--has-text .dnb-button__icon.dnb-icon--large {
97
+ margin-top: calc(var(--button-height) / 2 - 1rem);
98
+ }
99
+ .dnb-button--tertiary.dnb-button--has-text.dnb-button--size-large .dnb-button__icon {
91
100
  margin-top: calc(var(--button-height--large) / 2 - 0.5rem);
92
101
  }
93
- .dnb-button--tertiary.dnb-button--size-medium .dnb-button__icon {
102
+ .dnb-button--tertiary.dnb-button--has-text.dnb-button--size-medium .dnb-button__icon {
94
103
  margin-top: calc(var(--button-height--medium) / 2 - 0.5rem);
95
104
  }
96
- .dnb-button--tertiary.dnb-button--size-small .dnb-button__icon {
105
+ .dnb-button--tertiary.dnb-button--has-text.dnb-button--size-small .dnb-button__icon {
97
106
  margin-top: calc(var(--button-height--small) / 2 - 0.5rem);
98
107
  }
99
108
  .dnb-button--tertiary.dnb-button--icon-position-top {
@@ -104,7 +113,7 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
104
113
  .dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--has-text {
105
114
  padding: 0;
106
115
  }
107
- .dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__icon {
116
+ .dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--has-text .dnb-button__icon {
108
117
  margin-top: 0.5rem;
109
118
  align-self: center;
110
119
  }
@@ -146,7 +155,7 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
146
155
  cursor: not-allowed;
147
156
  }
148
157
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left:focus:not([disabled])::before, html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left:focus:not([disabled])::before {
149
- right: -1rem;
158
+ right: var(--button-tertiary-focus-overflow);
150
159
  }
151
160
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right {
152
161
  /* stylelint-disable */
@@ -173,7 +182,7 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
173
182
  cursor: not-allowed;
174
183
  }
175
184
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right:focus:not([disabled])::before, html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right:focus:not([disabled])::before {
176
- left: -1rem;
185
+ left: var(--button-tertiary-focus-overflow);
177
186
  }
178
187
  .dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text):focus[disabled], html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text):focus[disabled] {
179
188
  cursor: not-allowed;
@@ -1 +1 @@
1
- .dnb-button--tertiary .dnb-button__text{position:relative}.dnb-button--tertiary .dnb-button__text:after{background-color:currentcolor;border-radius:.0475rem;bottom:0;bottom:-.0625rem;color:var(--color-sea-green);color:transparent;content:"";height:.095rem;left:0;position:absolute;right:0;transition:color .25s ease-in-out;width:auto;z-index:1}[data-visual-test-wrapper] .dnb-button--tertiary .dnb-button__text:after{transition:none}.dnb-skeleton .dnb-button--tertiary .dnb-button__text:after{content:none}.dnb-button--tertiary:focus[disabled],html:not([data-whatintent=touch]) .dnb-button--tertiary:focus[disabled]{cursor:not-allowed}.dnb-button--tertiary:focus:not([disabled]),html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled]){outline:initial}html[data-whatinput=keyboard] .dnb-button--tertiary:focus:not([disabled]),html[data-whatinput=keyboard] html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled]){box-shadow:none}.dnb-button--tertiary:focus:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled]):before{border-radius:inherit;bottom:0;content:"";height:inherit;left:-.5rem;outline:none;position:absolute;right:-.5rem;top:0;z-index:1}html[data-whatinput=keyboard] .dnb-button--tertiary:focus:not([disabled]):before,html[data-whatinput=keyboard] html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled]):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-button--tertiary:focus:not([disabled]) .dnb-button__text:after,html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled]) .dnb-button__text:after{visibility:hidden}html:not([data-whatintent=touch]) .dnb-button--tertiary:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]) .dnb-button__text:after{visibility:visible}.dnb-button--tertiary:active[disabled],html:not([data-whatintent=touch]) .dnb-button--tertiary:active[disabled]{cursor:not-allowed}.dnb-button--tertiary:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]){outline:initial}html[data-whatinput=keyboard] .dnb-button--tertiary:active:not([disabled]),html[data-whatinput=keyboard] html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]){box-shadow:none}html[data-whatintent=touch] .dnb-button--tertiary:active:not([disabled]) .dnb-button__text:after,html[data-whatintent=touch] html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text:after{opacity:1;transition:none;visibility:visible}html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text:after,html:not([data-whatintent=touch]) html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text:after{visibility:hidden}.dnb-button--tertiary .dnb-button__icon{align-self:flex-start;margin-top:calc(var(--button-height)/2 - .5rem)}.dnb-button--tertiary.dnb-button--size-large .dnb-button__icon{margin-top:calc(var(--button-height--large)/2 - .5rem)}.dnb-button--tertiary.dnb-button--size-medium .dnb-button__icon{margin-top:calc(var(--button-height--medium)/2 - .5rem)}.dnb-button--tertiary.dnb-button--size-small .dnb-button__icon{margin-top:calc(var(--button-height--small)/2 - .5rem)}.dnb-button--tertiary.dnb-button--icon-position-top{border-radius:.5rem;flex-direction:column;vertical-align:middle}.dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--has-text{padding:0}.dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__icon{align-self:center;margin-top:.5rem}.dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__text{font-size:var(--font-size-x-small);margin-bottom:.25rem;margin-top:0}.dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__text:after{left:0;right:0}.dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--size-large .dnb-button__text{font-size:var(--font-size-small)}.dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__alignment{height:0;order:3}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left .dnb-button__text{padding-left:1rem}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left .dnb-button__text:after{left:-.5rem}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left .dnb-button__icon{margin-left:0;margin-right:-.5rem}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--icon-size-large .dnb-button__text,.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--icon-size-medium .dnb-button__text{margin-left:1rem;padding-left:0}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--icon-size-large .dnb-button__text:after,.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--icon-size-medium .dnb-button__text:after{left:-.5rem;right:0}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left:focus[disabled],html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left:focus[disabled]{cursor:not-allowed}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left:focus:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left:focus:not([disabled]):before{right:-1rem}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right .dnb-button__text{padding-right:1rem}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right .dnb-button__text:after{right:-.5rem}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right .dnb-button__icon{margin-left:-.5rem;margin-right:0}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--icon-size-large .dnb-button__text,.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--icon-size-medium .dnb-button__text{margin-right:1rem;padding-right:0}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--icon-size-large .dnb-button__text:after,.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--icon-size-medium .dnb-button__text:after{right:0}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right:focus[disabled],html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right:focus[disabled]{cursor:not-allowed}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right:focus:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right:focus:not([disabled]):before{left:-1rem}.dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text):focus[disabled],html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text):focus[disabled]{cursor:not-allowed}.dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text):focus:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text):focus:not([disabled]):before{left:0;right:0}html[data-whatinput=keyboard] .dnb-button--tertiary:hover:focus .dnb-button__text:after{visibility:hidden}
1
+ .dnb-button--tertiary{--button-tertiary-focus-overflow:-1rem}.dnb-button--tertiary .dnb-button__text{position:relative}.dnb-button--tertiary .dnb-button__text:after{background-color:currentcolor;border-radius:.0475rem;bottom:0;bottom:-.0625rem;color:var(--color-sea-green);color:transparent;content:"";height:.095rem;left:0;position:absolute;right:0;transition:color .25s ease-in-out;width:auto;z-index:1}[data-visual-test-wrapper] .dnb-button--tertiary .dnb-button__text:after{transition:none}.dnb-skeleton .dnb-button--tertiary .dnb-button__text:after{content:none}.dnb-button--tertiary:focus[disabled],html:not([data-whatintent=touch]) .dnb-button--tertiary:focus[disabled]{cursor:not-allowed}.dnb-button--tertiary:focus:not([disabled]),html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled]){outline:initial}html[data-whatinput=keyboard] .dnb-button--tertiary:focus:not([disabled]),html[data-whatinput=keyboard] html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled]){box-shadow:none}.dnb-button--tertiary:focus:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled]):before{border-radius:inherit;bottom:0;content:"";height:inherit;left:-.5rem;outline:none;position:absolute;right:-.5rem;top:0;z-index:1}html[data-whatinput=keyboard] .dnb-button--tertiary:focus:not([disabled]):before,html[data-whatinput=keyboard] html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled]):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-button--tertiary:focus:not([disabled]) .dnb-button__text:after,html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled]) .dnb-button__text:after{visibility:hidden}html:not([data-whatintent=touch]) .dnb-button--tertiary:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]) .dnb-button__text:after{visibility:visible}.dnb-button--tertiary:active[disabled],html:not([data-whatintent=touch]) .dnb-button--tertiary:active[disabled]{cursor:not-allowed}.dnb-button--tertiary:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]){outline:initial}html[data-whatinput=keyboard] .dnb-button--tertiary:active:not([disabled]),html[data-whatinput=keyboard] html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]){box-shadow:none}html[data-whatintent=touch] .dnb-button--tertiary:active:not([disabled]) .dnb-button__text:after,html[data-whatintent=touch] html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text:after{opacity:1;transition:none;visibility:visible}html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text:after,html:not([data-whatintent=touch]) html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text:after{visibility:hidden}.dnb-button--tertiary.dnb-button--has-text .dnb-button__icon{align-self:flex-start;margin-top:calc(var(--button-height)/2 - .5rem)}.dnb-button--tertiary.dnb-button--has-text .dnb-button__icon.dnb-icon--medium{margin-top:calc(var(--button-height)/2 - .75rem)}.dnb-button--tertiary.dnb-button--has-text .dnb-button__icon.dnb-icon--large{margin-top:calc(var(--button-height)/2 - 1rem)}.dnb-button--tertiary.dnb-button--has-text.dnb-button--size-large .dnb-button__icon{margin-top:calc(var(--button-height--large)/2 - .5rem)}.dnb-button--tertiary.dnb-button--has-text.dnb-button--size-medium .dnb-button__icon{margin-top:calc(var(--button-height--medium)/2 - .5rem)}.dnb-button--tertiary.dnb-button--has-text.dnb-button--size-small .dnb-button__icon{margin-top:calc(var(--button-height--small)/2 - .5rem)}.dnb-button--tertiary.dnb-button--icon-position-top{border-radius:.5rem;flex-direction:column;vertical-align:middle}.dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--has-text{padding:0}.dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--has-text .dnb-button__icon{align-self:center;margin-top:.5rem}.dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__text{font-size:var(--font-size-x-small);margin-bottom:.25rem;margin-top:0}.dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__text:after{left:0;right:0}.dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--size-large .dnb-button__text{font-size:var(--font-size-small)}.dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__alignment{height:0;order:3}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left .dnb-button__text{padding-left:1rem}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left .dnb-button__text:after{left:-.5rem}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left .dnb-button__icon{margin-left:0;margin-right:-.5rem}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--icon-size-large .dnb-button__text,.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--icon-size-medium .dnb-button__text{margin-left:1rem;padding-left:0}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--icon-size-large .dnb-button__text:after,.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--icon-size-medium .dnb-button__text:after{left:-.5rem;right:0}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left:focus[disabled],html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left:focus[disabled]{cursor:not-allowed}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left:focus:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left:focus:not([disabled]):before{right:var(--button-tertiary-focus-overflow)}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right .dnb-button__text{padding-right:1rem}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right .dnb-button__text:after{right:-.5rem}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right .dnb-button__icon{margin-left:-.5rem;margin-right:0}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--icon-size-large .dnb-button__text,.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--icon-size-medium .dnb-button__text{margin-right:1rem;padding-right:0}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--icon-size-large .dnb-button__text:after,.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--icon-size-medium .dnb-button__text:after{right:0}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right:focus[disabled],html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right:focus[disabled]{cursor:not-allowed}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right:focus:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right:focus:not([disabled]):before{left:var(--button-tertiary-focus-overflow)}.dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text):focus[disabled],html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text):focus[disabled]{cursor:not-allowed}.dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text):focus:not([disabled]):before,html:not([data-whatintent=touch]) .dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text):focus:not([disabled]):before{left:0;right:0}html[data-whatinput=keyboard] .dnb-button--tertiary:hover:focus .dnb-button__text:after{visibility:hidden}
@@ -3,6 +3,7 @@
3
3
 
4
4
  .dnb-button {
5
5
  &--tertiary {
6
+ --button-tertiary-focus-overflow: -1rem;
6
7
  // create underline (::after)
7
8
  .dnb-button__text {
8
9
  position: relative; // because of the underline
@@ -50,18 +51,27 @@
50
51
  }
51
52
  }
52
53
 
53
- .dnb-button__icon {
54
- align-self: flex-start; // needed to vertically center icon
55
- margin-top: calc(var(--button-height) / 2 - 0.5rem);
56
- }
57
- &.dnb-button--size-large .dnb-button__icon {
58
- margin-top: calc(var(--button-height--large) / 2 - 0.5rem);
59
- }
60
- &.dnb-button--size-medium .dnb-button__icon {
61
- margin-top: calc(var(--button-height--medium) / 2 - 0.5rem);
62
- }
63
- &.dnb-button--size-small .dnb-button__icon {
64
- margin-top: calc(var(--button-height--small) / 2 - 0.5rem);
54
+ &.dnb-button--has-text {
55
+ .dnb-button__icon {
56
+ align-self: flex-start; // needed to vertically center icon
57
+
58
+ margin-top: calc(var(--button-height) / 2 - 0.5rem);
59
+ &.dnb-icon--medium {
60
+ margin-top: calc(var(--button-height) / 2 - 0.75rem);
61
+ }
62
+ &.dnb-icon--large {
63
+ margin-top: calc(var(--button-height) / 2 - 1rem);
64
+ }
65
+ }
66
+ &.dnb-button--size-large .dnb-button__icon {
67
+ margin-top: calc(var(--button-height--large) / 2 - 0.5rem);
68
+ }
69
+ &.dnb-button--size-medium .dnb-button__icon {
70
+ margin-top: calc(var(--button-height--medium) / 2 - 0.5rem);
71
+ }
72
+ &.dnb-button--size-small .dnb-button__icon {
73
+ margin-top: calc(var(--button-height--small) / 2 - 0.5rem);
74
+ }
65
75
  }
66
76
 
67
77
  &.dnb-button--icon-position-top {
@@ -71,11 +81,11 @@
71
81
 
72
82
  &.dnb-button--has-text {
73
83
  padding: 0;
74
- }
75
84
 
76
- .dnb-button__icon {
77
- margin-top: 0.5rem;
78
- align-self: center;
85
+ .dnb-button__icon {
86
+ margin-top: 0.5rem;
87
+ align-self: center;
88
+ }
79
89
  }
80
90
 
81
91
  .dnb-button__text {
@@ -132,7 +142,7 @@
132
142
 
133
143
  @include focus() {
134
144
  &::before {
135
- right: -1rem;
145
+ right: var(--button-tertiary-focus-overflow);
136
146
  }
137
147
  }
138
148
  }
@@ -166,7 +176,7 @@
166
176
 
167
177
  @include focus() {
168
178
  &::before {
169
- left: -1rem;
179
+ left: var(--button-tertiary-focus-overflow);
170
180
  }
171
181
  }
172
182
  }
@@ -170,9 +170,7 @@
170
170
  .dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__icon, .dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__icon {
171
171
  order: 1;
172
172
  }
173
- .dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left > *,
174
- .dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__text, .dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top > *,
175
- .dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__text {
173
+ .dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__text, .dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__text {
176
174
  order: 2;
177
175
  }
178
176
  .dnb-button--stretch {
@@ -1 +1 @@
1
- :root{--button-icon-size:1rem;--button-height:2.5rem;--button-border-radius:calc(var(--button-height)/2)}.dnb-button{--button-font-size:var(--font-size-basis);--button-font-size-small:var(--font-size-small);--button-width:2.5rem;--button-width--small:1.5rem;--button-height--small:1.5rem;--button-width--medium:2rem;--button-height--medium:2rem;--button-width--large:3rem;--button-height--large:3rem;--button-border-width:0.0625rem;--button-border-width--hover:0.1875rem;--button-border-radius--small:calc(var(--button-height--small)/2);--button-border-radius--medium:calc(var(--button-height--medium)/2);--button-border-radius--large:calc(var(--button-height--large)/2);align-items:center;border:none;border-radius:var(--button-border-radius);box-shadow:none;cursor:pointer;display:inline-flex;font-size:var(--font-size-small);height:auto;justify-content:center;padding:0;position:relative;text-align:left;text-decoration:none;user-select:none;-webkit-user-select:none;white-space:nowrap;width:var(--button-width)}.dnb-button--wrap{overflow-wrap:break-word;white-space:normal}.dnb-button,.dnb-core-style .dnb-button{line-height:var(--button-height)}.dnb-button__text{color:inherit;font-size:var(--button-font-size);line-height:var(--line-height-basis);margin:.5rem 0;transform:translateY(-.03125rem)}.dnb-button__text [data-os=linux]{transform:translateY(-.035rem)}.dnb-button__alignment{display:inline-block;width:0}.dnb-button__bounding{background-color:transparent;border-radius:var(--button-border-radius);bottom:0;left:0;position:absolute;right:0;top:0;transform:scale(1.1,1.4)}.dnb-button--has-text{padding-left:1.5rem;padding-right:1.5rem}.dnb-button--size-small{border-radius:var(--button-border-radius--small);font-size:var(--button-font-size-small);width:var(--button-width--small)}.dnb-button--size-small,.dnb-core-style .dnb-button--size-small{line-height:var(--button-height--small)}.dnb-button--size-small .dnb-button__text{margin:0}.dnb-button--has-text.dnb-button--size-small{padding-left:1rem;padding-right:1rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-small{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-small{padding-right:.5rem}.dnb-button--size-medium{border-radius:var(--button-border-radius--medium);width:var(--button-width--medium)}.dnb-button--size-medium,.dnb-core-style .dnb-button--size-medium{line-height:var(--button-height--medium)}.dnb-button--size-medium .dnb-button__text{margin:0}.dnb-button--has-text.dnb-button--size-medium{padding-left:1rem;padding-right:1rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-medium{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-medium{padding-right:.5rem}.dnb-button--size-large{border-radius:var(--button-border-radius--large);width:var(--button-width--large)}.dnb-button--size-large,.dnb-core-style .dnb-button--size-large{line-height:var(--button-height--large)}.dnb-button--has-text.dnb-button--size-large{padding-left:2rem;padding-right:2rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-large{padding-left:1rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-large{padding-right:1rem}.dnb-button--has-text{width:auto}.dnb-button--has-text .dnb-button__icon{margin:0 calc(var(--button-icon-size)/2)}.dnb-button--has-text.dnb-button--icon-position-left{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right{padding-right:.5rem}.dnb-button--has-text.dnb-button--has-icon .dnb-button__icon{order:2}.dnb-button--has-text.dnb-button--has-icon .dnb-button__text{order:1}.dnb-button:not(.dnb-button--has-text) .dnb-button__icon{width:inherit}.dnb-button__icon.dnb-icon svg:not([width]):not([height]){height:var(--button-icon-size);width:var(--button-icon-size)}[href]>.dnb-button__icon.dnb-icon{line-height:var(--button-font-size)}.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__icon,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__icon{order:1}.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__text,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left>*,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__text,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top>*{order:2}.dnb-button--stretch{width:100%}.dnb-button--reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;border-radius:0;box-shadow:none;color:inherit;font:inherit;height:auto;line-height:inherit;margin:0;overflow:visible;padding:0;text-align:inherit;width:auto}html:not([data-whatintent=touch]) .dnb-button--reset:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--reset:hover:not([disabled]){border:none;box-shadow:none}.dnb-button--reset:not([disabled]):active,.dnb-button--reset:not([disabled]):focus{outline:none}html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):active,html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=mouse] .dnb-button--reset:not([disabled]):active,html[data-whatinput=mouse] .dnb-button--reset:not([disabled]):focus{border:none;box-shadow:none;color:inherit}.dnb-button[type=button],.dnb-button[type=reset],.dnb-button[type=submit]{appearance:none;-moz-appearance:none;-webkit-appearance:none}.dnb-button[disabled]{cursor:not-allowed;outline:none}.dnb-form-row--vertical .dnb-form-row__content>.dnb-button{align-self:flex-start}.dnb-form-row--horizontal .dnb-form-row__content .dnb-button__text{white-space:nowrap}.dnb-button+.dnb-form-status{margin-top:.5rem}button.dnb-button::-moz-focus-inner{border:none}
1
+ :root{--button-icon-size:1rem;--button-height:2.5rem;--button-border-radius:calc(var(--button-height)/2)}.dnb-button{--button-font-size:var(--font-size-basis);--button-font-size-small:var(--font-size-small);--button-width:2.5rem;--button-width--small:1.5rem;--button-height--small:1.5rem;--button-width--medium:2rem;--button-height--medium:2rem;--button-width--large:3rem;--button-height--large:3rem;--button-border-width:0.0625rem;--button-border-width--hover:0.1875rem;--button-border-radius--small:calc(var(--button-height--small)/2);--button-border-radius--medium:calc(var(--button-height--medium)/2);--button-border-radius--large:calc(var(--button-height--large)/2);align-items:center;border:none;border-radius:var(--button-border-radius);box-shadow:none;cursor:pointer;display:inline-flex;font-size:var(--font-size-small);height:auto;justify-content:center;padding:0;position:relative;text-align:left;text-decoration:none;user-select:none;-webkit-user-select:none;white-space:nowrap;width:var(--button-width)}.dnb-button--wrap{overflow-wrap:break-word;white-space:normal}.dnb-button,.dnb-core-style .dnb-button{line-height:var(--button-height)}.dnb-button__text{color:inherit;font-size:var(--button-font-size);line-height:var(--line-height-basis);margin:.5rem 0;transform:translateY(-.03125rem)}.dnb-button__text [data-os=linux]{transform:translateY(-.035rem)}.dnb-button__alignment{display:inline-block;width:0}.dnb-button__bounding{background-color:transparent;border-radius:var(--button-border-radius);bottom:0;left:0;position:absolute;right:0;top:0;transform:scale(1.1,1.4)}.dnb-button--has-text{padding-left:1.5rem;padding-right:1.5rem}.dnb-button--size-small{border-radius:var(--button-border-radius--small);font-size:var(--button-font-size-small);width:var(--button-width--small)}.dnb-button--size-small,.dnb-core-style .dnb-button--size-small{line-height:var(--button-height--small)}.dnb-button--size-small .dnb-button__text{margin:0}.dnb-button--has-text.dnb-button--size-small{padding-left:1rem;padding-right:1rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-small{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-small{padding-right:.5rem}.dnb-button--size-medium{border-radius:var(--button-border-radius--medium);width:var(--button-width--medium)}.dnb-button--size-medium,.dnb-core-style .dnb-button--size-medium{line-height:var(--button-height--medium)}.dnb-button--size-medium .dnb-button__text{margin:0}.dnb-button--has-text.dnb-button--size-medium{padding-left:1rem;padding-right:1rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-medium{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-medium{padding-right:.5rem}.dnb-button--size-large{border-radius:var(--button-border-radius--large);width:var(--button-width--large)}.dnb-button--size-large,.dnb-core-style .dnb-button--size-large{line-height:var(--button-height--large)}.dnb-button--has-text.dnb-button--size-large{padding-left:2rem;padding-right:2rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-large{padding-left:1rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-large{padding-right:1rem}.dnb-button--has-text{width:auto}.dnb-button--has-text .dnb-button__icon{margin:0 calc(var(--button-icon-size)/2)}.dnb-button--has-text.dnb-button--icon-position-left{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right{padding-right:.5rem}.dnb-button--has-text.dnb-button--has-icon .dnb-button__icon{order:2}.dnb-button--has-text.dnb-button--has-icon .dnb-button__text{order:1}.dnb-button:not(.dnb-button--has-text) .dnb-button__icon{width:inherit}.dnb-button__icon.dnb-icon svg:not([width]):not([height]){height:var(--button-icon-size);width:var(--button-icon-size)}[href]>.dnb-button__icon.dnb-icon{line-height:var(--button-font-size)}.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__icon,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__icon{order:1}.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__text,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__text{order:2}.dnb-button--stretch{width:100%}.dnb-button--reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;border-radius:0;box-shadow:none;color:inherit;font:inherit;height:auto;line-height:inherit;margin:0;overflow:visible;padding:0;text-align:inherit;width:auto}html:not([data-whatintent=touch]) .dnb-button--reset:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--reset:hover:not([disabled]){border:none;box-shadow:none}.dnb-button--reset:not([disabled]):active,.dnb-button--reset:not([disabled]):focus{outline:none}html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):active,html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=mouse] .dnb-button--reset:not([disabled]):active,html[data-whatinput=mouse] .dnb-button--reset:not([disabled]):focus{border:none;box-shadow:none;color:inherit}.dnb-button[type=button],.dnb-button[type=reset],.dnb-button[type=submit]{appearance:none;-moz-appearance:none;-webkit-appearance:none}.dnb-button[disabled]{cursor:not-allowed;outline:none}.dnb-form-row--vertical .dnb-form-row__content>.dnb-button{align-self:flex-start}.dnb-form-row--horizontal .dnb-form-row__content .dnb-button__text{white-space:nowrap}.dnb-button+.dnb-form-status{margin-top:.5rem}button.dnb-button::-moz-focus-inner{border:none}
@@ -221,7 +221,6 @@
221
221
  .dnb-button__icon {
222
222
  order: 1;
223
223
  }
224
- & > *,
225
224
  .dnb-button__text {
226
225
  order: 2;
227
226
  }
@@ -65,7 +65,7 @@
65
65
  }
66
66
 
67
67
  // Used in tertiary button variant
68
- @mixin buttonFocusRing($whatinput: null) {
68
+ @mixin buttonFocusRing($whatinput: null, $overflow: -0.5rem, $inset: null) {
69
69
  // Create focus-ring
70
70
  &::before {
71
71
  content: '';
@@ -73,14 +73,14 @@
73
73
  z-index: 1; // to be visible in other absolute contexts
74
74
 
75
75
  top: 0;
76
- left: -0.5rem;
76
+ left: $overflow;
77
77
  bottom: 0;
78
- right: -0.5rem;
78
+ right: $overflow;
79
79
 
80
80
  height: inherit;
81
81
  border-radius: inherit;
82
82
 
83
- @include focusRing($whatinput);
83
+ @include focusRing($whatinput, null, $inset);
84
84
  }
85
85
  }
86
86