@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
@@ -20,16 +20,17 @@ button.dnb-anchor {
20
20
  }
21
21
 
22
22
  .dnb-anchor {
23
+ --anchor-underline-thickness: 0.0938rem;
23
24
  display: inline;
24
- padding: 0.05575em 0.125em;
25
+ padding: 0.05575em 0;
25
26
  font-size: var(--font-size-basis);
26
27
  text-decoration: underline;
27
28
  -webkit-text-decoration-color: currentcolor;
28
29
  text-decoration-color: currentcolor;
29
- text-decoration-thickness: 0.0938rem;
30
+ text-decoration-thickness: var(--anchor-underline-thickness);
30
31
  text-underline-offset: 0.25em;
31
32
  border-radius: 0;
32
- transition: background-color 200ms ease-in-out, border-radius 200ms ease-in-out;
33
+ transition: box-shadow 200ms ease-in-out, border-radius 200ms ease-in-out;
33
34
  }
34
35
  sup .dnb-anchor, sub .dnb-anchor {
35
36
  padding: 0 0.025em;
@@ -115,6 +116,10 @@ html[data-whatinput=keyboard] .dnb-anchor:focus {
115
116
 
116
117
  .dnb-anchor--focus {
117
118
  outline: none;
119
+ --border-color: var(--focus-ring-color);
120
+ --border-width: var(--focus-ring-width);
121
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
122
+ border-color: transparent;
118
123
  border-radius: 0.25em;
119
124
  }
120
125
  .dnb-anchor--focus:not(:active) {
@@ -124,12 +129,6 @@ html[data-whatinput=keyboard] .dnb-anchor:focus {
124
129
  .dnb-anchor--focus:not(:active), .dnb-section .dnb-anchor--focus:not(:active).dnb-anchor {
125
130
  text-decoration: none;
126
131
  }
127
- html[data-whatinput=mouse] .dnb-anchor--focus {
128
- --border-color: var(--focus-ring-color);
129
- --border-width: var(--focus-ring-width);
130
- box-shadow: 0 0 0 var(--border-width) var(--border-color);
131
- border-color: transparent;
132
- }
133
132
 
134
133
  .dnb-anchor--no-style {
135
134
  color: inherit;
@@ -1 +1 @@
1
- button.dnb-anchor{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer;line-height:calc(var(--line-height-basis) + .125rem)}.dnb-anchor{border-radius:0;display:inline;font-size:var(--font-size-basis);padding:.05575em .125em;text-decoration:underline;-webkit-text-decoration-color:currentcolor;text-decoration-color:currentcolor;text-decoration-thickness:.0938rem;text-underline-offset:.25em;transition:background-color .2s ease-in-out,border-radius .2s ease-in-out}sub .dnb-anchor,sup .dnb-anchor{padding:0 .025em}.dnb-h--basis .dnb-anchor,.dnb-h--large .dnb-anchor,.dnb-h--medium .dnb-anchor,.dnb-h--small .dnb-anchor,.dnb-h--x-large .dnb-anchor,.dnb-h--x-small .dnb-anchor,.dnb-h--xx-large .dnb-anchor,.dnb-lead .dnb-anchor,.dnb-p .dnb-anchor{font-size:inherit}.dnb-anchor:focus{border-radius:.25em;outline:none}.dnb-anchor:focus:not(:active){background-color:transparent;transition:none}.dnb-anchor:focus:not(:active),.dnb-section .dnb-anchor:focus:not(:active).dnb-anchor{text-decoration:none}html[data-whatinput=keyboard] .dnb-anchor: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)}.dnb-anchor:active,.dnb-anchor:hover{border-radius:.25em}.dnb-anchor:active,.dnb-anchor:hover,.dnb-section .dnb-anchor:active.dnb-anchor,.dnb-section .dnb-anchor:hover.dnb-anchor{text-decoration:none}.dnb-anchor:active{border-radius:.25em}.dnb-anchor:active,.dnb-section .dnb-anchor:active.dnb-anchor{text-decoration:none}.dnb-anchor[target=_blank]:not(:empty):not(.dnb-anchor--no-icon){background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExIDBhLjc1Ljc1IDAgMCAwIDAgMS41VjB6bTQgLjc1aC43NUEuNzUuNzUgMCAwIDAgMTUgMHYuNzV6bS0uNzUgNGEuNzUuNzUgMCAwIDAgMS41IDBoLTEuNXptMS41IDRhLjc1Ljc1IDAgMCAwLTEuNSAwaDEuNXptLS43NSA2LjVWMTZjLjQxIDAgLjc1LS4zNC43NS0uNzVIMTV6bS0xNCAwSC4yNWMwIC40MS4zNC43NS43NS43NXYtLjc1ek0xIC43NVYwYS43NS43NSAwIDAgMC0uNzUuNzVIMXptNS43NS43NWEuNzUuNzUgMCAwIDAgMC0xLjV2MS41em0yLjcyIDMuNzJhLjc1Ljc1IDAgMCAwIDEuMDYgMS4wNkw5LjQ3IDUuMjJ6TTE0LjI1Ljc1djRoMS41di00aC0xLjV6bTAgOHY2LjVoMS41di02LjVoLTEuNXpNMTUgMTQuNUgxVjE2aDE0di0xLjV6bS0xMy4yNS43NVYuNzVILjI1djE0LjVoMS41ek0xIDEuNWg1Ljc1VjBIMXYxLjV6bTEwIDBoNFYwaC00djEuNXptLS40NyA0Ljc4IDUtNUwxNC40Ny4yMmwtNSA1IDEuMDYgMS4wNnoiIGZpbGw9IiMwMDcyNzIiLz48L3N2Zz4=");background-size:0;position:relative}.dnb-anchor[target=_blank]:not(:empty):not(.dnb-anchor--no-icon):after{background-image:inherit;background-size:cover;color:inherit;content:"";display:inline-block;height:.889em;margin-left:.3em;margin-right:.125em;position:relative;transform-origin:bottom;transition:transform .3s ease-out,filter 1s ease-in-out;width:.889em}.dnb-anchor[target=_blank]:not(:empty):not(.dnb-anchor--no-icon):active{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExIDBhLjc1Ljc1IDAgMCAwIDAgMS41VjB6bTQgLjc1aC43NUEuNzUuNzUgMCAwIDAgMTUgMHYuNzV6bS0uNzUgNGEuNzUuNzUgMCAwIDAgMS41IDBoLTEuNXptMS41IDRhLjc1Ljc1IDAgMCAwLTEuNSAwaDEuNXptLS43NSA2LjVWMTZjLjQxIDAgLjc1LS4zNC43NS0uNzVIMTV6bS0xNCAwSC4yNWMwIC40MS4zNC43NS43NS43NXYtLjc1ek0xIC43NVYwYS43NS43NSAwIDAgMC0uNzUuNzVIMXptNS43NS43NWEuNzUuNzUgMCAwIDAgMC0xLjV2MS41em0yLjcyIDMuNzJhLjc1Ljc1IDAgMCAwIDEuMDYgMS4wNkw5LjQ3IDUuMjJ6TTE0LjI1Ljc1djRoMS41di00aC0xLjV6bTAgOHY2LjVoMS41di02LjVoLTEuNXpNMTUgMTQuNUgxVjE2aDE0di0xLjV6bS0xMy4yNS43NVYuNzVILjI1djE0LjVoMS41ek0xIDEuNWg1Ljc1VjBIMXYxLjV6bTEwIDBoNFYwaC00djEuNXptLS40NyA0Ljc4IDUtNUwxNC40Ny4yMmwtNSA1IDEuMDYgMS4wNnoiIGZpbGw9IiNhNWUxZDIiLz48L3N2Zz4=")}.dnb-anchor[target=_blank]:not(:empty):not(.dnb-anchor--no-icon):after{top:.125em}[data-visual-test-wrapper] .dnb-anchor{transition:none}.dnb-anchor .dnb-icon{display:inline-block;transform:translateY(-.0625em)}.dnb-anchor--hover{border-radius:.25em}.dnb-anchor--hover,.dnb-section .dnb-anchor--hover.dnb-anchor{text-decoration:none}.dnb-anchor--active{border-radius:.25em}.dnb-anchor--active,.dnb-section .dnb-anchor--active.dnb-anchor{text-decoration:none}.dnb-anchor--focus{border-radius:.25em;outline:none}.dnb-anchor--focus:not(:active){background-color:transparent;transition:none}.dnb-anchor--focus:not(:active),.dnb-section .dnb-anchor--focus:not(:active).dnb-anchor{text-decoration:none}html[data-whatinput=mouse] .dnb-anchor--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)}.dnb-anchor--no-style{color:inherit;transition:none}.dnb-anchor--no-style,.dnb-section .dnb-anchor--no-style.dnb-anchor{text-decoration:none}.dnb-anchor--no-style:hover{background-color:transparent;color:inherit}.dnb-anchor--no-underline,.dnb-section .dnb-anchor--no-underline.dnb-anchor{text-decoration:none}.dnb-anchor--no-hover:hover{background-color:transparent;color:inherit}.dnb-anchor--no-radius,.dnb-anchor--no-radius:active,.dnb-anchor--no-radius:focus,.dnb-anchor--no-radius:hover{border-radius:0}.dnb-anchor--no-animation,a.dnb-button{transition:none}.dnb-anchor.dnb-skeleton,.dnb-skeleton>.dnb-anchor{text-decoration:none}.dnb-anchor.dnb-skeleton:after,.dnb-skeleton>.dnb-anchor:after{filter:grayscale(100%) opacity(.3)}
1
+ button.dnb-anchor{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer;line-height:calc(var(--line-height-basis) + .125rem)}.dnb-anchor{--anchor-underline-thickness:0.0938rem;border-radius:0;display:inline;font-size:var(--font-size-basis);padding:.05575em 0;text-decoration:underline;-webkit-text-decoration-color:currentcolor;text-decoration-color:currentcolor;text-decoration-thickness:var(--anchor-underline-thickness);text-underline-offset:.25em;transition:box-shadow .2s ease-in-out,border-radius .2s ease-in-out}sub .dnb-anchor,sup .dnb-anchor{padding:0 .025em}.dnb-h--basis .dnb-anchor,.dnb-h--large .dnb-anchor,.dnb-h--medium .dnb-anchor,.dnb-h--small .dnb-anchor,.dnb-h--x-large .dnb-anchor,.dnb-h--x-small .dnb-anchor,.dnb-h--xx-large .dnb-anchor,.dnb-lead .dnb-anchor,.dnb-p .dnb-anchor{font-size:inherit}.dnb-anchor:focus{border-radius:.25em;outline:none}.dnb-anchor:focus:not(:active){background-color:transparent;transition:none}.dnb-anchor:focus:not(:active),.dnb-section .dnb-anchor:focus:not(:active).dnb-anchor{text-decoration:none}html[data-whatinput=keyboard] .dnb-anchor: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)}.dnb-anchor:active,.dnb-anchor:hover{border-radius:.25em}.dnb-anchor:active,.dnb-anchor:hover,.dnb-section .dnb-anchor:active.dnb-anchor,.dnb-section .dnb-anchor:hover.dnb-anchor{text-decoration:none}.dnb-anchor:active{border-radius:.25em}.dnb-anchor:active,.dnb-section .dnb-anchor:active.dnb-anchor{text-decoration:none}.dnb-anchor[target=_blank]:not(:empty):not(.dnb-anchor--no-icon){background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExIDBhLjc1Ljc1IDAgMCAwIDAgMS41VjB6bTQgLjc1aC43NUEuNzUuNzUgMCAwIDAgMTUgMHYuNzV6bS0uNzUgNGEuNzUuNzUgMCAwIDAgMS41IDBoLTEuNXptMS41IDRhLjc1Ljc1IDAgMCAwLTEuNSAwaDEuNXptLS43NSA2LjVWMTZjLjQxIDAgLjc1LS4zNC43NS0uNzVIMTV6bS0xNCAwSC4yNWMwIC40MS4zNC43NS43NS43NXYtLjc1ek0xIC43NVYwYS43NS43NSAwIDAgMC0uNzUuNzVIMXptNS43NS43NWEuNzUuNzUgMCAwIDAgMC0xLjV2MS41em0yLjcyIDMuNzJhLjc1Ljc1IDAgMCAwIDEuMDYgMS4wNkw5LjQ3IDUuMjJ6TTE0LjI1Ljc1djRoMS41di00aC0xLjV6bTAgOHY2LjVoMS41di02LjVoLTEuNXpNMTUgMTQuNUgxVjE2aDE0di0xLjV6bS0xMy4yNS43NVYuNzVILjI1djE0LjVoMS41ek0xIDEuNWg1Ljc1VjBIMXYxLjV6bTEwIDBoNFYwaC00djEuNXptLS40NyA0Ljc4IDUtNUwxNC40Ny4yMmwtNSA1IDEuMDYgMS4wNnoiIGZpbGw9IiMwMDcyNzIiLz48L3N2Zz4=");background-size:0;position:relative}.dnb-anchor[target=_blank]:not(:empty):not(.dnb-anchor--no-icon):after{background-image:inherit;background-size:cover;color:inherit;content:"";display:inline-block;height:.889em;margin-left:.3em;margin-right:.125em;position:relative;transform-origin:bottom;transition:transform .3s ease-out,filter 1s ease-in-out;width:.889em}.dnb-anchor[target=_blank]:not(:empty):not(.dnb-anchor--no-icon):active{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExIDBhLjc1Ljc1IDAgMCAwIDAgMS41VjB6bTQgLjc1aC43NUEuNzUuNzUgMCAwIDAgMTUgMHYuNzV6bS0uNzUgNGEuNzUuNzUgMCAwIDAgMS41IDBoLTEuNXptMS41IDRhLjc1Ljc1IDAgMCAwLTEuNSAwaDEuNXptLS43NSA2LjVWMTZjLjQxIDAgLjc1LS4zNC43NS0uNzVIMTV6bS0xNCAwSC4yNWMwIC40MS4zNC43NS43NS43NXYtLjc1ek0xIC43NVYwYS43NS43NSAwIDAgMC0uNzUuNzVIMXptNS43NS43NWEuNzUuNzUgMCAwIDAgMC0xLjV2MS41em0yLjcyIDMuNzJhLjc1Ljc1IDAgMCAwIDEuMDYgMS4wNkw5LjQ3IDUuMjJ6TTE0LjI1Ljc1djRoMS41di00aC0xLjV6bTAgOHY2LjVoMS41di02LjVoLTEuNXpNMTUgMTQuNUgxVjE2aDE0di0xLjV6bS0xMy4yNS43NVYuNzVILjI1djE0LjVoMS41ek0xIDEuNWg1Ljc1VjBIMXYxLjV6bTEwIDBoNFYwaC00djEuNXptLS40NyA0Ljc4IDUtNUwxNC40Ny4yMmwtNSA1IDEuMDYgMS4wNnoiIGZpbGw9IiNhNWUxZDIiLz48L3N2Zz4=")}.dnb-anchor[target=_blank]:not(:empty):not(.dnb-anchor--no-icon):after{top:.125em}[data-visual-test-wrapper] .dnb-anchor{transition:none}.dnb-anchor .dnb-icon{display:inline-block;transform:translateY(-.0625em)}.dnb-anchor--hover{border-radius:.25em}.dnb-anchor--hover,.dnb-section .dnb-anchor--hover.dnb-anchor{text-decoration:none}.dnb-anchor--active{border-radius:.25em}.dnb-anchor--active,.dnb-section .dnb-anchor--active.dnb-anchor{text-decoration:none}.dnb-anchor--focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;border-radius:.25em;box-shadow:0 0 0 var(--border-width) var(--border-color);outline:none}.dnb-anchor--focus:not(:active){background-color:transparent;transition:none}.dnb-anchor--focus:not(:active),.dnb-section .dnb-anchor--focus:not(:active).dnb-anchor{text-decoration:none}.dnb-anchor--no-style{color:inherit;transition:none}.dnb-anchor--no-style,.dnb-section .dnb-anchor--no-style.dnb-anchor{text-decoration:none}.dnb-anchor--no-style:hover{background-color:transparent;color:inherit}.dnb-anchor--no-underline,.dnb-section .dnb-anchor--no-underline.dnb-anchor{text-decoration:none}.dnb-anchor--no-hover:hover{background-color:transparent;color:inherit}.dnb-anchor--no-radius,.dnb-anchor--no-radius:active,.dnb-anchor--no-radius:focus,.dnb-anchor--no-radius:hover{border-radius:0}.dnb-anchor--no-animation,a.dnb-button{transition:none}.dnb-anchor.dnb-skeleton,.dnb-skeleton>.dnb-anchor{text-decoration:none}.dnb-anchor.dnb-skeleton:after,.dnb-skeleton>.dnb-anchor:after{filter:grayscale(100%) opacity(.3)}
@@ -17,6 +17,7 @@ button.dnb-anchor {
17
17
  }
18
18
 
19
19
  .dnb-anchor {
20
+ --anchor-underline-thickness: 0.0938rem;
20
21
  @include anchorStyle();
21
22
  }
22
23
 
@@ -29,7 +30,7 @@ button.dnb-anchor {
29
30
  }
30
31
 
31
32
  .dnb-anchor--focus {
32
- @include anchorFocusStyle('mouse');
33
+ @include anchorFocusStyle('always');
33
34
  }
34
35
 
35
36
  // no use case for that yet
@@ -1,3 +1,7 @@
1
+ @charset "UTF-8";
2
+ /*
3
+ * Utilities
4
+ */
1
5
  /*
2
6
  * Anchor mixins
3
7
  *
@@ -6,14 +10,17 @@
6
10
  * Utilities
7
11
  */
8
12
  .dnb-anchor {
13
+ --anchor-underline-thickness: 0.125rem;
9
14
  font-weight: var(--sb-font-weight-bold);
10
15
  color: var(--sb-color-gray-dark-3);
11
16
  -webkit-text-decoration-color: var(--sb-color-green-dark);
12
17
  text-decoration-color: var(--sb-color-green-dark);
18
+ padding: calc((var(--line-height-basis) - 1.2em) / 2) 0.25em;
13
19
  }
14
20
  .dnb-anchor:hover {
15
21
  color: var(--sb-color-text);
16
22
  background-color: var(--sb-color-green-dark);
23
+ transition: none;
17
24
  border-radius: 0.5rem;
18
25
  }
19
26
  .dnb-anchor:active {
@@ -21,15 +28,58 @@
21
28
  background-color: var(--sb-color-green);
22
29
  border-radius: 0.5rem;
23
30
  }
24
- .dnb-anchor:focus:not(:active) {
31
+ html[data-whatinput=keyboard] .dnb-anchor:focus:not(:active) {
25
32
  color: var(--sb-color-blue-dark);
26
33
  background-color: var(--sb-color-blue-light-3);
27
34
  border-radius: 0.25rem;
28
35
  }
36
+ html[data-whatinput=keyboard] .dnb-anchor:focus:not(:active).dnb-anchor--icon-left {
37
+ margin-left: 0;
38
+ }
39
+ html[data-whatinput=keyboard] .dnb-anchor:focus:not(:active).dnb-anchor--icon-left .dnb-icon {
40
+ margin-left: 0;
41
+ }
42
+ html[data-whatinput=keyboard] .dnb-anchor:focus:not(:active).dnb-anchor--icon-right {
43
+ margin-right: 0;
44
+ }
45
+ html[data-whatinput=keyboard] .dnb-anchor:focus:not(:active).dnb-anchor--icon-right .dnb-icon {
46
+ margin-right: 0;
47
+ }
48
+ .dnb-anchor.dnb-anchor--icon-left {
49
+ padding-left: 0;
50
+ margin-left: 1.125em;
51
+ }
52
+ .dnb-anchor.dnb-anchor--icon-left .dnb-icon {
53
+ font-size: 1em;
54
+ margin-right: 0.125em;
55
+ margin-left: -1.125em;
56
+ }
57
+ .dnb-anchor.dnb-anchor--icon-right {
58
+ padding-right: 0;
59
+ margin-right: 1.125em;
60
+ }
61
+ .dnb-anchor.dnb-anchor--icon-right .dnb-icon {
62
+ font-size: 1em;
63
+ margin-left: 0.125em;
64
+ margin-right: -1.125em;
65
+ }
66
+ .dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--has-icon):not(.anchor-hash):not(.dnb-anchor--icon-left) {
67
+ padding-left: 0;
68
+ }
69
+ .dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--has-icon):not(.anchor-hash):not(.dnb-anchor--icon-left)::before {
70
+ content: " ";
71
+ }
72
+ .dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--has-icon):not(.anchor-hash):not(.dnb-anchor--icon-right):not(.dnb-anchor[target=_blank]) {
73
+ padding-right: 0;
74
+ }
75
+ .dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--has-icon):not(.anchor-hash):not(.dnb-anchor--icon-right):not(.dnb-anchor[target=_blank])::after {
76
+ content: " ";
77
+ }
29
78
 
30
79
  .dnb-anchor--hover {
31
80
  color: var(--sb-color-text);
32
81
  background-color: var(--sb-color-green-dark);
82
+ transition: none;
33
83
  border-radius: 0.5rem;
34
84
  }
35
85
 
@@ -44,6 +94,18 @@
44
94
  background-color: var(--sb-color-blue-light-3);
45
95
  border-radius: 0.25rem;
46
96
  }
97
+ .dnb-anchor--focus:not(:active).dnb-anchor--icon-left {
98
+ margin-left: 0;
99
+ }
100
+ .dnb-anchor--focus:not(:active).dnb-anchor--icon-left .dnb-icon {
101
+ margin-left: 0;
102
+ }
103
+ .dnb-anchor--focus:not(:active).dnb-anchor--icon-right {
104
+ margin-right: 0;
105
+ }
106
+ .dnb-anchor--focus:not(:active).dnb-anchor--icon-right .dnb-icon {
107
+ margin-right: 0;
108
+ }
47
109
 
48
110
  .dnb-anchor--contrast {
49
111
  color: var(--color-white);
@@ -1 +1 @@
1
- .dnb-anchor{color:var(--sb-color-gray-dark-3);font-weight:var(--sb-font-weight-bold);-webkit-text-decoration-color:var(--sb-color-green-dark);text-decoration-color:var(--sb-color-green-dark)}.dnb-anchor:hover{background-color:var(--sb-color-green-dark)}.dnb-anchor:active,.dnb-anchor:hover{border-radius:.5rem;color:var(--sb-color-text)}.dnb-anchor:active{background-color:var(--sb-color-green)}.dnb-anchor:focus:not(:active){background-color:var(--sb-color-blue-light-3);border-radius:.25rem;color:var(--sb-color-blue-dark)}.dnb-anchor--hover{background-color:var(--sb-color-green-dark)}.dnb-anchor--active,.dnb-anchor--hover{border-radius:.5rem;color:var(--sb-color-text)}.dnb-anchor--active{background-color:var(--sb-color-green)}.dnb-anchor--focus:not(:active){background-color:var(--sb-color-blue-light-3);border-radius:.25rem;color:var(--sb-color-blue-dark)}.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
+ @charset "UTF-8";.dnb-anchor{--anchor-underline-thickness:0.125rem;color:var(--sb-color-gray-dark-3);font-weight:var(--sb-font-weight-bold);padding:calc(var(--line-height-basis)/2 - .6em) .25em;-webkit-text-decoration-color:var(--sb-color-green-dark);text-decoration-color:var(--sb-color-green-dark)}.dnb-anchor:hover{background-color:var(--sb-color-green-dark);transition:none}.dnb-anchor:active,.dnb-anchor:hover{border-radius:.5rem;color:var(--sb-color-text)}.dnb-anchor:active{background-color:var(--sb-color-green)}html[data-whatinput=keyboard] .dnb-anchor:focus:not(:active){background-color:var(--sb-color-blue-light-3);border-radius:.25rem;color:var(--sb-color-blue-dark)}html[data-whatinput=keyboard] .dnb-anchor:focus:not(:active).dnb-anchor--icon-left,html[data-whatinput=keyboard] .dnb-anchor:focus:not(:active).dnb-anchor--icon-left .dnb-icon{margin-left:0}html[data-whatinput=keyboard] .dnb-anchor:focus:not(:active).dnb-anchor--icon-right,html[data-whatinput=keyboard] .dnb-anchor:focus:not(:active).dnb-anchor--icon-right .dnb-icon{margin-right:0}.dnb-anchor.dnb-anchor--icon-left{margin-left:1.125em;padding-left:0}.dnb-anchor.dnb-anchor--icon-left .dnb-icon{font-size:1em;margin-left:-1.125em;margin-right:.125em}.dnb-anchor.dnb-anchor--icon-right{margin-right:1.125em;padding-right:0}.dnb-anchor.dnb-anchor--icon-right .dnb-icon{font-size:1em;margin-left:.125em;margin-right:-1.125em}.dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--has-icon):not(.anchor-hash):not(.dnb-anchor--icon-left){padding-left:0}.dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--has-icon):not(.anchor-hash):not(.dnb-anchor--icon-left):before{content:" "}.dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--has-icon):not(.anchor-hash):not(.dnb-anchor--icon-right):not(.dnb-anchor[target=_blank]){padding-right:0}.dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--has-icon):not(.anchor-hash):not(.dnb-anchor--icon-right):not(.dnb-anchor[target=_blank]):after{content:" "}.dnb-anchor--hover{background-color:var(--sb-color-green-dark);transition:none}.dnb-anchor--active,.dnb-anchor--hover{border-radius:.5rem;color:var(--sb-color-text)}.dnb-anchor--active{background-color:var(--sb-color-green)}.dnb-anchor--focus:not(:active){background-color:var(--sb-color-blue-light-3);border-radius:.25rem;color:var(--sb-color-blue-dark)}.dnb-anchor--focus:not(:active).dnb-anchor--icon-left,.dnb-anchor--focus:not(:active).dnb-anchor--icon-left .dnb-icon{margin-left:0}.dnb-anchor--focus:not(:active).dnb-anchor--icon-right,.dnb-anchor--focus:not(:active).dnb-anchor--icon-right .dnb-icon{margin-right:0}.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,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]),
@@ -1367,7 +1370,7 @@ class AutocompleteInstance extends React.PureComponent {
1367
1370
  status_state,
1368
1371
  status_props,
1369
1372
  status_no_animation,
1370
- global_status_id,
1373
+ globalStatus,
1371
1374
  suffix,
1372
1375
  scrollable,
1373
1376
  focusable,
@@ -1537,7 +1540,7 @@ class AutocompleteInstance extends React.PureComponent {
1537
1540
  }, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), React.createElement(FormStatus, _extends({
1538
1541
  show: showStatus,
1539
1542
  id: id + '-form-status',
1540
- global_status_id: global_status_id,
1543
+ globalStatus: globalStatus,
1541
1544
  label: label,
1542
1545
  text_id: id + '-status',
1543
1546
  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;