@dnb/eufemia 10.6.0 → 10.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/cjs/components/autocomplete/Autocomplete.d.ts +1 -1
  3. package/cjs/components/button/style/dnb-button--tertiary.css +53 -37
  4. package/cjs/components/button/style/dnb-button--tertiary.min.css +5 -1
  5. package/cjs/components/button/style/dnb-button--tertiary.scss +28 -34
  6. package/cjs/components/button/style/themes/button-mixins.scss +5 -3
  7. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +53 -37
  8. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +5 -1
  9. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +155 -136
  10. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +12 -2
  11. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +81 -115
  12. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +53 -37
  13. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +5 -1
  14. package/cjs/components/form-label/style/dnb-form-label.css +0 -1
  15. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  16. package/cjs/components/form-label/style/dnb-form-label.scss +0 -1
  17. package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +10 -0
  18. package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -0
  19. package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +16 -0
  20. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.css +3 -0
  21. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  22. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.scss +6 -2
  23. package/cjs/components/form-row/style/themes/dnb-form-row-theme-sbanken.css +4 -0
  24. package/cjs/components/form-row/style/themes/dnb-form-row-theme-sbanken.min.css +0 -0
  25. package/cjs/components/form-row/style/themes/dnb-form-row-theme-sbanken.scss +4 -0
  26. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.css +20 -20
  27. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  28. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.scss +15 -23
  29. package/cjs/components/pagination/style/dnb-pagination.css +20 -0
  30. package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
  31. package/cjs/components/pagination/style/dnb-pagination.scss +24 -0
  32. package/cjs/components/pagination/style/themes/dnb-pagination-theme-sbanken.css +26 -0
  33. package/cjs/components/pagination/style/themes/dnb-pagination-theme-sbanken.min.css +1 -0
  34. package/cjs/components/pagination/style/themes/dnb-pagination-theme-sbanken.scss +35 -0
  35. package/cjs/components/pagination/style/themes/dnb-pagination-theme-ui.css +0 -24
  36. package/cjs/components/pagination/style/themes/dnb-pagination-theme-ui.min.css +1 -1
  37. package/cjs/components/pagination/style/themes/dnb-pagination-theme-ui.scss +0 -30
  38. package/cjs/components/section/Section.d.ts +5 -0
  39. package/cjs/components/section/Section.js +3 -2
  40. package/cjs/components/section/Section.js.map +1 -1
  41. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.css +39 -0
  42. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
  43. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +57 -0
  44. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +19 -13
  45. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  46. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +14 -5
  47. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +56 -7
  48. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  49. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +21 -5
  50. package/cjs/extensions/forms/DataContext/Provider.js +9 -9
  51. package/cjs/extensions/forms/DataContext/Provider.js.map +1 -1
  52. package/cjs/extensions/forms/Field/Number.js +4 -3
  53. package/cjs/extensions/forms/Field/Number.js.map +1 -1
  54. package/cjs/extensions/forms/Field/PhoneNumber.d.ts +1 -1
  55. package/cjs/extensions/forms/Field/PhoneNumber.js +1 -1
  56. package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -1
  57. package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
  58. package/cjs/extensions/forms/Field/PostalCodeAndCity.js +1 -1
  59. package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  60. package/cjs/extensions/forms/Field/Selection.d.ts +1 -1
  61. package/cjs/extensions/forms/Field/Selection.js +1 -1
  62. package/cjs/extensions/forms/Field/Selection.js.map +1 -1
  63. package/cjs/extensions/forms/Field/String.js +6 -5
  64. package/cjs/extensions/forms/Field/String.js.map +1 -1
  65. package/cjs/extensions/forms/Field/style/dnb-phone-number.css +3 -0
  66. package/cjs/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  67. package/cjs/extensions/forms/Field/style/dnb-phone-number.scss +4 -0
  68. package/cjs/extensions/forms/Field/style/index.d.ts +2 -1
  69. package/cjs/extensions/forms/Field/style/index.js +2 -1
  70. package/cjs/extensions/forms/Field/style/index.js.map +1 -1
  71. package/cjs/extensions/forms/Field/style/index.scss +0 -2
  72. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +4 -0
  73. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +7 -2
  74. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  75. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +15 -0
  76. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  77. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +26 -0
  78. package/cjs/extensions/forms/Layout/FlexContainer.js +2 -1
  79. package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -1
  80. package/cjs/extensions/forms/Layout/SubHeading.js +2 -1
  81. package/cjs/extensions/forms/Layout/SubHeading.js.map +1 -1
  82. package/cjs/extensions/forms/style/dnb-forms.css +18 -24
  83. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  84. package/cjs/extensions/payment-card/PaymentCard.d.ts +6 -2
  85. package/cjs/extensions/payment-card/PaymentCard.js +13 -2
  86. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  87. package/cjs/extensions/payment-card/icons/CardIn.d.ts +2 -0
  88. package/cjs/extensions/payment-card/icons/CardIn.js +26 -0
  89. package/cjs/extensions/payment-card/icons/CardIn.js.map +1 -0
  90. package/cjs/extensions/payment-card/icons/index.js +4 -1
  91. package/cjs/extensions/payment-card/icons/index.js.map +1 -1
  92. package/cjs/extensions/payment-card/style/dnb-payment-card.css +3 -2
  93. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  94. package/cjs/extensions/payment-card/style/dnb-payment-card.scss +2 -2
  95. package/cjs/shared/Eufemia.d.ts +1 -1
  96. package/cjs/shared/Eufemia.js +2 -2
  97. package/cjs/shared/Eufemia.js.map +1 -1
  98. package/cjs/shared/locales/en-GB.d.ts +1 -0
  99. package/cjs/shared/locales/en-GB.js +2 -1
  100. package/cjs/shared/locales/en-GB.js.map +1 -1
  101. package/cjs/shared/locales/en-US.d.ts +1 -0
  102. package/cjs/shared/locales/index.d.ts +2 -0
  103. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  104. package/cjs/shared/locales/nb-NO.js +2 -1
  105. package/cjs/shared/locales/nb-NO.js.map +1 -1
  106. package/cjs/style/dnb-ui-components.css +19 -1
  107. package/cjs/style/dnb-ui-components.min.css +1 -1
  108. package/cjs/style/dnb-ui-extensions.css +21 -26
  109. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  110. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +147 -111
  111. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -1
  112. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +21 -26
  113. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  114. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +332 -364
  115. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
  116. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -4
  117. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +21 -26
  118. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  119. package/cjs/style/themes/theme-ui/ui-theme-components.css +94 -74
  120. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +5 -1
  121. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +21 -26
  122. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  123. package/components/autocomplete/Autocomplete.d.ts +1 -1
  124. package/components/button/style/dnb-button--tertiary.css +53 -37
  125. package/components/button/style/dnb-button--tertiary.min.css +5 -1
  126. package/components/button/style/dnb-button--tertiary.scss +28 -34
  127. package/components/button/style/themes/button-mixins.scss +5 -3
  128. package/components/button/style/themes/dnb-button-theme-eiendom.css +53 -37
  129. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +5 -1
  130. package/components/button/style/themes/dnb-button-theme-sbanken.css +155 -136
  131. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +12 -2
  132. package/components/button/style/themes/dnb-button-theme-sbanken.scss +81 -115
  133. package/components/button/style/themes/dnb-button-theme-ui.css +53 -37
  134. package/components/button/style/themes/dnb-button-theme-ui.min.css +5 -1
  135. package/components/form-label/style/dnb-form-label.css +0 -1
  136. package/components/form-label/style/dnb-form-label.min.css +1 -1
  137. package/components/form-label/style/dnb-form-label.scss +0 -1
  138. package/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +10 -0
  139. package/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -0
  140. package/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +16 -0
  141. package/components/form-label/style/themes/dnb-form-label-theme-ui.css +3 -0
  142. package/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  143. package/components/form-label/style/themes/dnb-form-label-theme-ui.scss +6 -2
  144. package/components/form-row/style/themes/dnb-form-row-theme-sbanken.css +4 -0
  145. package/components/form-row/style/themes/dnb-form-row-theme-sbanken.min.css +0 -0
  146. package/components/form-row/style/themes/dnb-form-row-theme-sbanken.scss +4 -0
  147. package/components/input/style/themes/dnb-input-theme-sbanken.css +20 -20
  148. package/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  149. package/components/input/style/themes/dnb-input-theme-sbanken.scss +15 -23
  150. package/components/pagination/style/dnb-pagination.css +20 -0
  151. package/components/pagination/style/dnb-pagination.min.css +1 -1
  152. package/components/pagination/style/dnb-pagination.scss +24 -0
  153. package/components/pagination/style/themes/dnb-pagination-theme-sbanken.css +26 -0
  154. package/components/pagination/style/themes/dnb-pagination-theme-sbanken.min.css +1 -0
  155. package/components/pagination/style/themes/dnb-pagination-theme-sbanken.scss +35 -0
  156. package/components/pagination/style/themes/dnb-pagination-theme-ui.css +0 -24
  157. package/components/pagination/style/themes/dnb-pagination-theme-ui.min.css +1 -1
  158. package/components/pagination/style/themes/dnb-pagination-theme-ui.scss +0 -30
  159. package/components/section/Section.d.ts +5 -0
  160. package/components/section/Section.js +3 -2
  161. package/components/section/Section.js.map +1 -1
  162. package/components/section/style/themes/dnb-section-theme-sbanken.css +39 -0
  163. package/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
  164. package/components/section/style/themes/dnb-section-theme-sbanken.scss +57 -0
  165. package/components/section/style/themes/dnb-section-theme-ui.css +19 -13
  166. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  167. package/components/section/style/themes/dnb-section-theme-ui.scss +14 -5
  168. package/components/table/style/themes/dnb-table-theme-sbanken.css +56 -7
  169. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  170. package/components/table/style/themes/dnb-table-theme-sbanken.scss +21 -5
  171. package/es/components/autocomplete/Autocomplete.d.ts +1 -1
  172. package/es/components/button/style/dnb-button--tertiary.css +53 -37
  173. package/es/components/button/style/dnb-button--tertiary.min.css +5 -1
  174. package/es/components/button/style/dnb-button--tertiary.scss +28 -34
  175. package/es/components/button/style/themes/button-mixins.scss +5 -3
  176. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +53 -37
  177. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +5 -1
  178. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +155 -136
  179. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +12 -2
  180. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +81 -115
  181. package/es/components/button/style/themes/dnb-button-theme-ui.css +53 -37
  182. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +5 -1
  183. package/es/components/form-label/style/dnb-form-label.css +0 -1
  184. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  185. package/es/components/form-label/style/dnb-form-label.scss +0 -1
  186. package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +10 -0
  187. package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -0
  188. package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +16 -0
  189. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.css +3 -0
  190. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  191. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.scss +6 -2
  192. package/es/components/form-row/style/themes/dnb-form-row-theme-sbanken.css +4 -0
  193. package/es/components/form-row/style/themes/dnb-form-row-theme-sbanken.min.css +0 -0
  194. package/es/components/form-row/style/themes/dnb-form-row-theme-sbanken.scss +4 -0
  195. package/es/components/input/style/themes/dnb-input-theme-sbanken.css +20 -20
  196. package/es/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  197. package/es/components/input/style/themes/dnb-input-theme-sbanken.scss +15 -23
  198. package/es/components/pagination/style/dnb-pagination.css +20 -0
  199. package/es/components/pagination/style/dnb-pagination.min.css +1 -1
  200. package/es/components/pagination/style/dnb-pagination.scss +24 -0
  201. package/es/components/pagination/style/themes/dnb-pagination-theme-sbanken.css +26 -0
  202. package/es/components/pagination/style/themes/dnb-pagination-theme-sbanken.min.css +1 -0
  203. package/es/components/pagination/style/themes/dnb-pagination-theme-sbanken.scss +35 -0
  204. package/es/components/pagination/style/themes/dnb-pagination-theme-ui.css +0 -24
  205. package/es/components/pagination/style/themes/dnb-pagination-theme-ui.min.css +1 -1
  206. package/es/components/pagination/style/themes/dnb-pagination-theme-ui.scss +0 -30
  207. package/es/components/section/Section.d.ts +5 -0
  208. package/es/components/section/Section.js +3 -2
  209. package/es/components/section/Section.js.map +1 -1
  210. package/es/components/section/style/themes/dnb-section-theme-sbanken.css +39 -0
  211. package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
  212. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +57 -0
  213. package/es/components/section/style/themes/dnb-section-theme-ui.css +19 -13
  214. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  215. package/es/components/section/style/themes/dnb-section-theme-ui.scss +14 -5
  216. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +56 -7
  217. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  218. package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +21 -5
  219. package/es/extensions/forms/DataContext/Provider.js +9 -9
  220. package/es/extensions/forms/DataContext/Provider.js.map +1 -1
  221. package/es/extensions/forms/Field/Number.js +4 -3
  222. package/es/extensions/forms/Field/Number.js.map +1 -1
  223. package/es/extensions/forms/Field/PhoneNumber.d.ts +1 -1
  224. package/es/extensions/forms/Field/PhoneNumber.js +1 -1
  225. package/es/extensions/forms/Field/PhoneNumber.js.map +1 -1
  226. package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
  227. package/es/extensions/forms/Field/PostalCodeAndCity.js +1 -1
  228. package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  229. package/es/extensions/forms/Field/Selection.d.ts +1 -1
  230. package/es/extensions/forms/Field/Selection.js +1 -1
  231. package/es/extensions/forms/Field/Selection.js.map +1 -1
  232. package/es/extensions/forms/Field/String.js +6 -5
  233. package/es/extensions/forms/Field/String.js.map +1 -1
  234. package/es/extensions/forms/Field/style/dnb-phone-number.css +3 -0
  235. package/es/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  236. package/es/extensions/forms/Field/style/dnb-phone-number.scss +4 -0
  237. package/es/extensions/forms/Field/style/index.d.ts +2 -1
  238. package/es/extensions/forms/Field/style/index.js +2 -1
  239. package/es/extensions/forms/Field/style/index.js.map +1 -1
  240. package/es/extensions/forms/Field/style/index.scss +0 -2
  241. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +4 -0
  242. package/es/extensions/forms/FieldBlock/FieldBlock.js +7 -2
  243. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  244. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +15 -0
  245. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  246. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +26 -0
  247. package/es/extensions/forms/Layout/FlexContainer.js +2 -1
  248. package/es/extensions/forms/Layout/FlexContainer.js.map +1 -1
  249. package/es/extensions/forms/Layout/SubHeading.js +2 -1
  250. package/es/extensions/forms/Layout/SubHeading.js.map +1 -1
  251. package/es/extensions/forms/style/dnb-forms.css +18 -24
  252. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  253. package/es/extensions/payment-card/PaymentCard.d.ts +6 -2
  254. package/es/extensions/payment-card/PaymentCard.js +13 -2
  255. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  256. package/es/extensions/payment-card/icons/CardIn.d.ts +2 -0
  257. package/es/extensions/payment-card/icons/CardIn.js +18 -0
  258. package/es/extensions/payment-card/icons/CardIn.js.map +1 -0
  259. package/es/extensions/payment-card/icons/index.js +4 -1
  260. package/es/extensions/payment-card/icons/index.js.map +1 -1
  261. package/es/extensions/payment-card/style/dnb-payment-card.css +3 -2
  262. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  263. package/es/extensions/payment-card/style/dnb-payment-card.scss +2 -2
  264. package/es/shared/Eufemia.d.ts +1 -1
  265. package/es/shared/Eufemia.js +2 -2
  266. package/es/shared/Eufemia.js.map +1 -1
  267. package/es/shared/locales/en-GB.d.ts +1 -0
  268. package/es/shared/locales/en-GB.js +2 -1
  269. package/es/shared/locales/en-GB.js.map +1 -1
  270. package/es/shared/locales/en-US.d.ts +1 -0
  271. package/es/shared/locales/index.d.ts +2 -0
  272. package/es/shared/locales/nb-NO.d.ts +1 -0
  273. package/es/shared/locales/nb-NO.js +2 -1
  274. package/es/shared/locales/nb-NO.js.map +1 -1
  275. package/es/style/dnb-ui-components.css +19 -1
  276. package/es/style/dnb-ui-components.min.css +1 -1
  277. package/es/style/dnb-ui-extensions.css +21 -26
  278. package/es/style/dnb-ui-extensions.min.css +1 -1
  279. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +147 -111
  280. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -1
  281. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +21 -26
  282. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  283. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +332 -364
  284. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
  285. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -4
  286. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +21 -26
  287. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  288. package/es/style/themes/theme-ui/ui-theme-components.css +94 -74
  289. package/es/style/themes/theme-ui/ui-theme-components.min.css +5 -1
  290. package/es/style/themes/theme-ui/ui-theme-extensions.css +21 -26
  291. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  292. package/esm/dnb-ui-basis.min.mjs +1 -1
  293. package/esm/dnb-ui-components.min.mjs +1 -1
  294. package/esm/dnb-ui-elements.min.mjs +1 -1
  295. package/esm/dnb-ui-extensions.min.mjs +2 -2
  296. package/esm/dnb-ui-lib.min.mjs +1 -1
  297. package/extensions/forms/DataContext/Provider.js +9 -9
  298. package/extensions/forms/DataContext/Provider.js.map +1 -1
  299. package/extensions/forms/Field/Number.js +4 -3
  300. package/extensions/forms/Field/Number.js.map +1 -1
  301. package/extensions/forms/Field/PhoneNumber.d.ts +1 -1
  302. package/extensions/forms/Field/PhoneNumber.js +1 -1
  303. package/extensions/forms/Field/PhoneNumber.js.map +1 -1
  304. package/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
  305. package/extensions/forms/Field/PostalCodeAndCity.js +1 -1
  306. package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  307. package/extensions/forms/Field/Selection.d.ts +1 -1
  308. package/extensions/forms/Field/Selection.js +1 -1
  309. package/extensions/forms/Field/Selection.js.map +1 -1
  310. package/extensions/forms/Field/String.js +6 -5
  311. package/extensions/forms/Field/String.js.map +1 -1
  312. package/extensions/forms/Field/style/dnb-phone-number.css +3 -0
  313. package/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  314. package/extensions/forms/Field/style/dnb-phone-number.scss +4 -0
  315. package/extensions/forms/Field/style/index.d.ts +2 -1
  316. package/extensions/forms/Field/style/index.js +2 -1
  317. package/extensions/forms/Field/style/index.js.map +1 -1
  318. package/extensions/forms/Field/style/index.scss +0 -2
  319. package/extensions/forms/FieldBlock/FieldBlock.d.ts +4 -0
  320. package/extensions/forms/FieldBlock/FieldBlock.js +7 -2
  321. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  322. package/extensions/forms/FieldBlock/style/dnb-field-block.css +15 -0
  323. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  324. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +26 -0
  325. package/extensions/forms/Layout/FlexContainer.js +2 -1
  326. package/extensions/forms/Layout/FlexContainer.js.map +1 -1
  327. package/extensions/forms/Layout/SubHeading.js +2 -1
  328. package/extensions/forms/Layout/SubHeading.js.map +1 -1
  329. package/extensions/forms/style/dnb-forms.css +18 -24
  330. package/extensions/forms/style/dnb-forms.min.css +1 -1
  331. package/extensions/payment-card/PaymentCard.d.ts +6 -2
  332. package/extensions/payment-card/PaymentCard.js +13 -2
  333. package/extensions/payment-card/PaymentCard.js.map +1 -1
  334. package/extensions/payment-card/icons/CardIn.d.ts +2 -0
  335. package/extensions/payment-card/icons/CardIn.js +18 -0
  336. package/extensions/payment-card/icons/CardIn.js.map +1 -0
  337. package/extensions/payment-card/icons/index.js +4 -1
  338. package/extensions/payment-card/icons/index.js.map +1 -1
  339. package/extensions/payment-card/style/dnb-payment-card.css +3 -2
  340. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  341. package/extensions/payment-card/style/dnb-payment-card.scss +2 -2
  342. package/package.json +1 -1
  343. package/shared/Eufemia.d.ts +1 -1
  344. package/shared/Eufemia.js +2 -2
  345. package/shared/Eufemia.js.map +1 -1
  346. package/shared/locales/en-GB.d.ts +1 -0
  347. package/shared/locales/en-GB.js +2 -1
  348. package/shared/locales/en-GB.js.map +1 -1
  349. package/shared/locales/en-US.d.ts +1 -0
  350. package/shared/locales/index.d.ts +2 -0
  351. package/shared/locales/nb-NO.d.ts +1 -0
  352. package/shared/locales/nb-NO.js +2 -1
  353. package/shared/locales/nb-NO.js.map +1 -1
  354. package/style/dnb-ui-components.css +19 -1
  355. package/style/dnb-ui-components.min.css +1 -1
  356. package/style/dnb-ui-extensions.css +21 -26
  357. package/style/dnb-ui-extensions.min.css +1 -1
  358. package/style/themes/theme-eiendom/eiendom-theme-components.css +147 -111
  359. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -1
  360. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +21 -26
  361. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  362. package/style/themes/theme-sbanken/sbanken-theme-components.css +332 -364
  363. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
  364. package/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -4
  365. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +21 -26
  366. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  367. package/style/themes/theme-ui/ui-theme-components.css +94 -74
  368. package/style/themes/theme-ui/ui-theme-components.min.css +5 -1
  369. package/style/themes/theme-ui/ui-theme-extensions.css +21 -26
  370. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  371. package/umd/dnb-ui-basis.min.js +1 -1
  372. package/umd/dnb-ui-components.min.js +1 -1
  373. package/umd/dnb-ui-elements.min.js +1 -1
  374. package/umd/dnb-ui-extensions.min.js +1 -1
  375. package/umd/dnb-ui-lib.min.js +1 -1
  376. package/cjs/extensions/forms/Field/style/dnb-number.css +0 -11
  377. package/cjs/extensions/forms/Field/style/dnb-number.min.css +0 -1
  378. package/cjs/extensions/forms/Field/style/dnb-number.scss +0 -19
  379. package/cjs/extensions/forms/Field/style/dnb-string.css +0 -11
  380. package/cjs/extensions/forms/Field/style/dnb-string.min.css +0 -1
  381. package/cjs/extensions/forms/Field/style/dnb-string.scss +0 -19
  382. package/es/extensions/forms/Field/style/dnb-number.css +0 -11
  383. package/es/extensions/forms/Field/style/dnb-number.min.css +0 -1
  384. package/es/extensions/forms/Field/style/dnb-number.scss +0 -19
  385. package/es/extensions/forms/Field/style/dnb-string.css +0 -11
  386. package/es/extensions/forms/Field/style/dnb-string.min.css +0 -1
  387. package/es/extensions/forms/Field/style/dnb-string.scss +0 -19
  388. package/extensions/forms/Field/style/dnb-number.css +0 -11
  389. package/extensions/forms/Field/style/dnb-number.min.css +0 -1
  390. package/extensions/forms/Field/style/dnb-number.scss +0 -19
  391. package/extensions/forms/Field/style/dnb-string.css +0 -11
  392. package/extensions/forms/Field/style/dnb-string.min.css +0 -1
  393. package/extensions/forms/Field/style/dnb-string.scss +0 -19
package/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to @dnb/eufemia will be documented in this file. See
4
4
  [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [10.7.0](https://github.com/dnbexperience/eufemia/compare/v10.6.0...v10.7.0) (2023-08-23)
7
+
8
+
9
+ ### :bug: Bug Fixes
10
+
11
+ * **Forms:** Fix provider rerender issue and FlexContainer spacing issue ([#2570](https://github.com/dnbexperience/eufemia/issues/2570)) ([aafdbc1](https://github.com/dnbexperience/eufemia/commit/aafdbc1f24893861d53b359ac589314a8e262156))
12
+ * **Forms:** sets SubHeading's size to medium ([#2581](https://github.com/dnbexperience/eufemia/issues/2581)) ([7e2ccbf](https://github.com/dnbexperience/eufemia/commit/7e2ccbfee047627e794896848c0d4f6ffe073310))
13
+
14
+
15
+ ### :sparkles: Features
16
+
17
+ * **Button:** sbanken css refactoring ([#2565](https://github.com/dnbexperience/eufemia/issues/2565)) ([3b9d6b0](https://github.com/dnbexperience/eufemia/commit/3b9d6b0bbc40d3319edd372d14c55278d20f8bbd))
18
+ * **FormLabel:** sbanken ([#2563](https://github.com/dnbexperience/eufemia/issues/2563)) ([308a0b6](https://github.com/dnbexperience/eufemia/commit/308a0b6f08a4f5e346c744b0790deb5b96f4c064))
19
+ * **FormRow:** sbanken theme ([#2564](https://github.com/dnbexperience/eufemia/issues/2564)) ([968efdd](https://github.com/dnbexperience/eufemia/commit/968efdd12584d76b0ee83d66e47531aa33bc733b))
20
+ * **Forms:** Field width features upgraded ([#2580](https://github.com/dnbexperience/eufemia/issues/2580)) ([73b1650](https://github.com/dnbexperience/eufemia/commit/73b1650254cc4c997ad5e81f5e8b8a1bc16b40f5))
21
+ * **Pagination:** sbanken theme ([#2569](https://github.com/dnbexperience/eufemia/issues/2569)) ([d08a492](https://github.com/dnbexperience/eufemia/commit/d08a49241f61aa8c5b08d353881597d6f17b907d))
22
+ * **PaymentCard:** adds card_status not_active ([#2578](https://github.com/dnbexperience/eufemia/issues/2578)) ([03469e6](https://github.com/dnbexperience/eufemia/commit/03469e6b83d9faa16b6d61e1116f7e559602891a))
23
+ * **Section:** Sbanken styling and new variant prop ([#2582](https://github.com/dnbexperience/eufemia/issues/2582)) ([416db6d](https://github.com/dnbexperience/eufemia/commit/416db6d8d05e319f4571731696d23f3267e61457))
24
+
6
25
  ## [10.6.0](https://github.com/dnbexperience/eufemia/compare/v10.5.0...v10.6.0) (2023-08-17)
7
26
 
8
27
 
@@ -77,7 +77,7 @@ export interface AutocompleteProps
77
77
  */
78
78
  show_options_sr?: string;
79
79
  /**
80
- * Only for screen readers (VocieOver). The label used to announce the selected item. Defaults to `Valgt:`.
80
+ * Only for screen readers (VoiceOver). The label used to announce the selected item. Defaults to `Valgt:`.
81
81
  */
82
82
  selected_sr?: string;
83
83
  /**
@@ -6,7 +6,11 @@
6
6
  *
7
7
  */
8
8
  .dnb-button--tertiary {
9
- --button-tertiary-focus-overflow: -1rem;
9
+ --button-tertiary-focus-left: -0.5rem;
10
+ --button-tertiary-focus-right: -0.5rem;
11
+ --button-tertiary-focus-overflow--icon-top: -0.5rem;
12
+ --button-tertiary-underline-overflow: 0;
13
+ --button-tertiary-underline-overflow--icon: -0.5rem;
10
14
  }
11
15
  .dnb-button--tertiary .dnb-button__text {
12
16
  position: relative;
@@ -26,6 +30,8 @@
26
30
  bottom: -0.0625rem;
27
31
  color: transparent;
28
32
  transition: color 250ms ease-in-out;
33
+ left: var(--button-tertiary-underline-overflow);
34
+ right: var(--button-tertiary-underline-overflow);
29
35
  }
30
36
  [data-visual-test-wrapper] .dnb-button--tertiary .dnb-button__text::after {
31
37
  transition: none;
@@ -33,34 +39,54 @@
33
39
  .dnb-skeleton .dnb-button--tertiary .dnb-button__text::after {
34
40
  content: none;
35
41
  }
36
- .dnb-button--tertiary:focus[disabled], html:not([data-whatintent=touch]) .dnb-button--tertiary:focus[disabled] {
42
+ html:not([data-whatintent=touch]) .dnb-button--tertiary.focus-visible[disabled] {
37
43
  cursor: not-allowed;
38
44
  }
39
- .dnb-button--tertiary:focus:not([disabled]), html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled]) {
40
- outline: initial;
45
+ html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible[disabled] {
46
+ cursor: not-allowed;
41
47
  }
42
- 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]) {
43
- box-shadow: none;
48
+ html:not([data-whatintent=touch]) .dnb-button--tertiary.focus-visible:not([disabled]) {
49
+ outline: none;
44
50
  }
45
- .dnb-button--tertiary:focus:not([disabled])::before, html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled])::before {
51
+ html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]) {
52
+ outline: none;
53
+ }
54
+ html:not([data-whatintent=touch]) .dnb-button--tertiary.focus-visible:not([disabled])::before {
46
55
  content: "";
47
56
  position: absolute;
48
57
  z-index: 1;
49
58
  top: 0;
50
- left: -0.5rem;
59
+ left: var(--button-tertiary-focus-left);
51
60
  bottom: 0;
52
- right: -0.5rem;
61
+ right: var(--button-tertiary-focus-right);
53
62
  height: inherit;
54
63
  border-radius: inherit;
55
64
  outline: none;
65
+ --border-color: var(--focus-ring-color);
66
+ --border-width: var(--focus-ring-width);
67
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
68
+ border-color: transparent;
56
69
  }
57
- 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 {
70
+ html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled])::before {
71
+ content: "";
72
+ position: absolute;
73
+ z-index: 1;
74
+ top: 0;
75
+ left: var(--button-tertiary-focus-left);
76
+ bottom: 0;
77
+ right: var(--button-tertiary-focus-right);
78
+ height: inherit;
79
+ border-radius: inherit;
80
+ outline: none;
58
81
  --border-color: var(--focus-ring-color);
59
82
  --border-width: var(--focus-ring-width);
60
83
  box-shadow: 0 0 0 var(--border-width) var(--border-color);
61
84
  border-color: transparent;
62
85
  }
63
- .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 {
86
+ html:not([data-whatintent=touch]) .dnb-button--tertiary.focus-visible:not([disabled]) .dnb-button__text::after {
87
+ visibility: hidden;
88
+ }
89
+ html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]) .dnb-button__text::after {
64
90
  visibility: hidden;
65
91
  }
66
92
  html:not([data-whatintent=touch]) .dnb-button--tertiary:hover[disabled] {
@@ -110,6 +136,12 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
110
136
  margin-top: calc(var(--button-height--small) / 2 - 0.5rem);
111
137
  }
112
138
  .dnb-button--tertiary.dnb-button--icon-position-top {
139
+ --button-tertiary-focus-left: var(
140
+ --button-tertiary-focus-overflow--icon-top
141
+ );
142
+ --button-tertiary-focus-right: var(
143
+ --button-tertiary-focus-overflow--icon-top
144
+ );
113
145
  flex-direction: column;
114
146
  border-radius: 0.5rem;
115
147
  vertical-align: middle;
@@ -126,10 +158,6 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
126
158
  margin-bottom: 0.25rem;
127
159
  font-size: var(--font-size-x-small);
128
160
  }
129
- .dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__text::after {
130
- left: 0;
131
- right: 0;
132
- }
133
161
  .dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--size-large .dnb-button__text {
134
162
  font-size: var(--font-size-small);
135
163
  }
@@ -137,11 +165,14 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
137
165
  order: 3;
138
166
  height: 0;
139
167
  }
168
+ .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left {
169
+ --button-tertiary-focus-right: -1rem;
170
+ }
140
171
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left .dnb-button__text {
141
172
  padding-left: 1rem;
142
173
  }
143
174
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left .dnb-button__text::after {
144
- left: -0.5rem;
175
+ left: var(--button-tertiary-underline-overflow--icon);
145
176
  }
146
177
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left .dnb-button__icon {
147
178
  margin-right: -0.5rem;
@@ -152,16 +183,10 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
152
183
  margin-left: 1rem;
153
184
  }
154
185
  .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, .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 {
155
- left: -0.5rem;
156
- right: 0;
157
- }
158
- .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] {
159
- cursor: not-allowed;
160
- }
161
- .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 {
162
- right: var(--button-tertiary-focus-overflow);
186
+ left: 0;
163
187
  }
164
188
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right {
189
+ --button-tertiary-focus-left: -1rem;
165
190
  /* stylelint-disable */
166
191
  /* stylelint-enable */
167
192
  }
@@ -169,7 +194,7 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
169
194
  padding-right: 1rem;
170
195
  }
171
196
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right .dnb-button__text::after {
172
- right: -0.5rem;
197
+ right: var(--button-tertiary-underline-overflow--icon);
173
198
  }
174
199
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right .dnb-button__icon {
175
200
  margin-left: -0.5rem;
@@ -182,18 +207,9 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
182
207
  .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, .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 {
183
208
  right: 0;
184
209
  }
185
- .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] {
186
- cursor: not-allowed;
187
- }
188
- .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 {
189
- left: var(--button-tertiary-focus-overflow);
190
- }
191
- .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] {
192
- cursor: not-allowed;
193
- }
194
- .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 {
195
- left: 0;
196
- right: 0;
210
+ .dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text) {
211
+ --button-tertiary-focus-left: 0;
212
+ --button-tertiary-focus-right: 0;
197
213
  }
198
214
  html[data-whatinput=keyboard] .dnb-button--tertiary:hover:focus .dnb-button__text::after {
199
215
  visibility: hidden;
@@ -1 +1,5 @@
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{padding-left:0;padding-right:0}.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}
1
+ .dnb-button--tertiary{--button-tertiary-focus-left:-0.5rem;--button-tertiary-focus-right:-0.5rem;--button-tertiary-focus-overflow--icon-top:-0.5rem;--button-tertiary-underline-overflow:0;--button-tertiary-underline-overflow--icon:-0.5rem}.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;left:var(--button-tertiary-underline-overflow);position:absolute;right:0;right:var(--button-tertiary-underline-overflow);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}html:not([data-whatintent=touch]) .dnb-button--tertiary.focus-visible[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--tertiary.focus-visible:not([disabled]){outline:none}html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]){outline:none}html:not([data-whatintent=touch]) .dnb-button--tertiary.focus-visible:not([disabled]):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;border-radius:inherit;bottom:0;box-shadow:0 0 0 var(--border-width) var(--border-color);content:"";height:inherit;left:var(--button-tertiary-focus-left);outline:none;position:absolute;right:var(--button-tertiary-focus-right);top:0;z-index:1}html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;border-radius:inherit;bottom:0;box-shadow:0 0 0 var(--border-width) var(--border-color);content:"";height:inherit;left:var(--button-tertiary-focus-left);outline:none;position:absolute;right:var(--button-tertiary-focus-right);top:0;z-index:1}html:not([data-whatintent=touch]) .dnb-button--tertiary.focus-visible:not([disabled]) .dnb-button__text:after{visibility:hidden}html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible: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{padding-left:0;padding-right:0}.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{--button-tertiary-focus-left:var(
2
+ --button-tertiary-focus-overflow--icon-top
3
+ );--button-tertiary-focus-right:var(
4
+ --button-tertiary-focus-overflow--icon-top
5
+ );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--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{--button-tertiary-focus-right:-1rem}.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:var(--button-tertiary-underline-overflow--icon)}.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:0}.dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right{--button-tertiary-focus-left:-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:var(--button-tertiary-underline-overflow--icon)}.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:not(.dnb-button--has-text){--button-tertiary-focus-left:0;--button-tertiary-focus-right:0}html[data-whatinput=keyboard] .dnb-button--tertiary:hover:focus .dnb-button__text:after{visibility:hidden}
@@ -3,7 +3,11 @@
3
3
 
4
4
  .dnb-button {
5
5
  &--tertiary {
6
- --button-tertiary-focus-overflow: -1rem;
6
+ --button-tertiary-focus-left: -0.5rem;
7
+ --button-tertiary-focus-right: -0.5rem;
8
+ --button-tertiary-focus-overflow--icon-top: -0.5rem;
9
+ --button-tertiary-underline-overflow: 0;
10
+ --button-tertiary-underline-overflow--icon: -0.5rem;
7
11
  // create underline (::after)
8
12
  .dnb-button__text {
9
13
  position: relative; // because of the underline
@@ -15,12 +19,18 @@
15
19
  [data-visual-test-wrapper] & {
16
20
  transition: none;
17
21
  }
22
+ left: var(--button-tertiary-underline-overflow);
23
+ right: var(--button-tertiary-underline-overflow);
18
24
  }
19
25
  }
20
26
 
21
- @include focus() {
22
- @include removeFocusRing('keyboard');
23
- @include buttonFocusRing();
27
+ @include focus-visible() {
28
+ outline: none;
29
+ @include buttonFocusRing(
30
+ 'always',
31
+ $left: var(--button-tertiary-focus-left),
32
+ $right: var(--button-tertiary-focus-right)
33
+ );
24
34
 
25
35
  // underline
26
36
  .dnb-button__text::after {
@@ -78,6 +88,12 @@
78
88
  }
79
89
 
80
90
  &.dnb-button--icon-position-top {
91
+ --button-tertiary-focus-left: var(
92
+ --button-tertiary-focus-overflow--icon-top
93
+ );
94
+ --button-tertiary-focus-right: var(
95
+ --button-tertiary-focus-overflow--icon-top
96
+ );
81
97
  flex-direction: column;
82
98
  border-radius: 0.5rem;
83
99
  vertical-align: middle;
@@ -92,12 +108,6 @@
92
108
  }
93
109
 
94
110
  .dnb-button__text {
95
- // underline
96
- &::after {
97
- left: 0;
98
- right: 0;
99
- }
100
-
101
111
  margin-top: 0;
102
112
  margin-bottom: 0.25rem;
103
113
  font-size: var(--font-size-x-small);
@@ -117,12 +127,13 @@
117
127
  &.dnb-button--has-icon {
118
128
  &.dnb-button--has-text {
119
129
  &.dnb-button--icon-position-left {
130
+ --button-tertiary-focus-right: -1rem;
120
131
  .dnb-button__text {
121
132
  padding-left: 1rem;
122
133
 
123
134
  // underline
124
135
  &::after {
125
- left: -0.5rem;
136
+ left: var(--button-tertiary-underline-overflow--icon);
126
137
  }
127
138
  }
128
139
  .dnb-button__icon {
@@ -137,26 +148,20 @@
137
148
 
138
149
  // underline
139
150
  &::after {
140
- left: -0.5rem;
141
- right: 0;
151
+ left: 0;
142
152
  }
143
153
  }
144
154
  }
145
-
146
- @include focus() {
147
- &::before {
148
- right: var(--button-tertiary-focus-overflow);
149
- }
150
- }
151
155
  }
152
156
  &.dnb-button--icon-position-right {
157
+ --button-tertiary-focus-left: -1rem;
153
158
  /* stylelint-disable */
154
159
  .dnb-button__text {
155
160
  padding-right: 1rem;
156
161
 
157
162
  // underline
158
163
  &::after {
159
- right: -0.5rem;
164
+ right: var(--button-tertiary-underline-overflow--icon);
160
165
  }
161
166
  }
162
167
  .dnb-button__icon {
@@ -170,29 +175,18 @@
170
175
  padding-right: 0;
171
176
  margin-right: 1rem;
172
177
 
173
- // underline
178
+ // underlinex
174
179
  &::after {
175
180
  right: 0;
176
181
  }
177
182
  }
178
183
  }
179
-
180
- @include focus() {
181
- &::before {
182
- left: var(--button-tertiary-focus-overflow);
183
- }
184
- }
185
184
  }
186
185
  }
187
186
 
188
187
  &:not(.dnb-button--has-text) {
189
- @include focus() {
190
- // make the ring round
191
- &::before {
192
- left: 0;
193
- right: 0;
194
- }
195
- }
188
+ --button-tertiary-focus-left: 0;
189
+ --button-tertiary-focus-right: 0;
196
190
  }
197
191
  }
198
192
 
@@ -78,7 +78,9 @@
78
78
  @mixin buttonFocusRing(
79
79
  $whatinput: null,
80
80
  $inset: null,
81
- $extendShadow: null
81
+ $extendShadow: null,
82
+ $left: -0.5rem,
83
+ $right: -0.5rem
82
84
  ) {
83
85
  // Create focus-ring
84
86
  &::before {
@@ -87,9 +89,9 @@
87
89
  z-index: 1; // to be visible in other absolute contexts
88
90
 
89
91
  top: 0;
90
- left: -0.5rem;
92
+ left: $left;
91
93
  bottom: 0;
92
- right: -0.5rem;
94
+ right: $right;
93
95
 
94
96
  height: inherit;
95
97
  border-radius: inherit;
@@ -21,7 +21,11 @@
21
21
  *
22
22
  */
23
23
  .dnb-button--tertiary {
24
- --button-tertiary-focus-overflow: -1rem;
24
+ --button-tertiary-focus-left: -0.5rem;
25
+ --button-tertiary-focus-right: -0.5rem;
26
+ --button-tertiary-focus-overflow--icon-top: -0.5rem;
27
+ --button-tertiary-underline-overflow: 0;
28
+ --button-tertiary-underline-overflow--icon: -0.5rem;
25
29
  }
26
30
  .dnb-button--tertiary .dnb-button__text {
27
31
  position: relative;
@@ -41,6 +45,8 @@
41
45
  bottom: -0.0625rem;
42
46
  color: transparent;
43
47
  transition: color 250ms ease-in-out;
48
+ left: var(--button-tertiary-underline-overflow);
49
+ right: var(--button-tertiary-underline-overflow);
44
50
  }
45
51
  [data-visual-test-wrapper] .dnb-button--tertiary .dnb-button__text::after {
46
52
  transition: none;
@@ -48,34 +54,54 @@
48
54
  .dnb-skeleton .dnb-button--tertiary .dnb-button__text::after {
49
55
  content: none;
50
56
  }
51
- .dnb-button--tertiary:focus[disabled], html:not([data-whatintent=touch]) .dnb-button--tertiary:focus[disabled] {
57
+ html:not([data-whatintent=touch]) .dnb-button--tertiary.focus-visible[disabled] {
52
58
  cursor: not-allowed;
53
59
  }
54
- .dnb-button--tertiary:focus:not([disabled]), html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled]) {
55
- outline: initial;
60
+ html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible[disabled] {
61
+ cursor: not-allowed;
56
62
  }
57
- 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]) {
58
- box-shadow: none;
63
+ html:not([data-whatintent=touch]) .dnb-button--tertiary.focus-visible:not([disabled]) {
64
+ outline: none;
59
65
  }
60
- .dnb-button--tertiary:focus:not([disabled])::before, html:not([data-whatintent=touch]) .dnb-button--tertiary:focus:not([disabled])::before {
66
+ html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]) {
67
+ outline: none;
68
+ }
69
+ html:not([data-whatintent=touch]) .dnb-button--tertiary.focus-visible:not([disabled])::before {
61
70
  content: "";
62
71
  position: absolute;
63
72
  z-index: 1;
64
73
  top: 0;
65
- left: -0.5rem;
74
+ left: var(--button-tertiary-focus-left);
66
75
  bottom: 0;
67
- right: -0.5rem;
76
+ right: var(--button-tertiary-focus-right);
68
77
  height: inherit;
69
78
  border-radius: inherit;
70
79
  outline: none;
80
+ --border-color: var(--focus-ring-color);
81
+ --border-width: var(--focus-ring-width);
82
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
83
+ border-color: transparent;
71
84
  }
72
- 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 {
85
+ html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled])::before {
86
+ content: "";
87
+ position: absolute;
88
+ z-index: 1;
89
+ top: 0;
90
+ left: var(--button-tertiary-focus-left);
91
+ bottom: 0;
92
+ right: var(--button-tertiary-focus-right);
93
+ height: inherit;
94
+ border-radius: inherit;
95
+ outline: none;
73
96
  --border-color: var(--focus-ring-color);
74
97
  --border-width: var(--focus-ring-width);
75
98
  box-shadow: 0 0 0 var(--border-width) var(--border-color);
76
99
  border-color: transparent;
77
100
  }
78
- .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 {
101
+ html:not([data-whatintent=touch]) .dnb-button--tertiary.focus-visible:not([disabled]) .dnb-button__text::after {
102
+ visibility: hidden;
103
+ }
104
+ html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]) .dnb-button__text::after {
79
105
  visibility: hidden;
80
106
  }
81
107
  html:not([data-whatintent=touch]) .dnb-button--tertiary:hover[disabled] {
@@ -125,6 +151,12 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
125
151
  margin-top: calc(var(--button-height--small) / 2 - 0.5rem);
126
152
  }
127
153
  .dnb-button--tertiary.dnb-button--icon-position-top {
154
+ --button-tertiary-focus-left: var(
155
+ --button-tertiary-focus-overflow--icon-top
156
+ );
157
+ --button-tertiary-focus-right: var(
158
+ --button-tertiary-focus-overflow--icon-top
159
+ );
128
160
  flex-direction: column;
129
161
  border-radius: 0.5rem;
130
162
  vertical-align: middle;
@@ -141,10 +173,6 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
141
173
  margin-bottom: 0.25rem;
142
174
  font-size: var(--font-size-x-small);
143
175
  }
144
- .dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__text::after {
145
- left: 0;
146
- right: 0;
147
- }
148
176
  .dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--size-large .dnb-button__text {
149
177
  font-size: var(--font-size-small);
150
178
  }
@@ -152,11 +180,14 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
152
180
  order: 3;
153
181
  height: 0;
154
182
  }
183
+ .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left {
184
+ --button-tertiary-focus-right: -1rem;
185
+ }
155
186
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left .dnb-button__text {
156
187
  padding-left: 1rem;
157
188
  }
158
189
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left .dnb-button__text::after {
159
- left: -0.5rem;
190
+ left: var(--button-tertiary-underline-overflow--icon);
160
191
  }
161
192
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left .dnb-button__icon {
162
193
  margin-right: -0.5rem;
@@ -167,16 +198,10 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
167
198
  margin-left: 1rem;
168
199
  }
169
200
  .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, .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 {
170
- left: -0.5rem;
171
- right: 0;
172
- }
173
- .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] {
174
- cursor: not-allowed;
175
- }
176
- .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 {
177
- right: var(--button-tertiary-focus-overflow);
201
+ left: 0;
178
202
  }
179
203
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right {
204
+ --button-tertiary-focus-left: -1rem;
180
205
  /* stylelint-disable */
181
206
  /* stylelint-enable */
182
207
  }
@@ -184,7 +209,7 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
184
209
  padding-right: 1rem;
185
210
  }
186
211
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right .dnb-button__text::after {
187
- right: -0.5rem;
212
+ right: var(--button-tertiary-underline-overflow--icon);
188
213
  }
189
214
  .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right .dnb-button__icon {
190
215
  margin-left: -0.5rem;
@@ -197,18 +222,9 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .
197
222
  .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, .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 {
198
223
  right: 0;
199
224
  }
200
- .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] {
201
- cursor: not-allowed;
202
- }
203
- .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 {
204
- left: var(--button-tertiary-focus-overflow);
205
- }
206
- .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] {
207
- cursor: not-allowed;
208
- }
209
- .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 {
210
- left: 0;
211
- right: 0;
225
+ .dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text) {
226
+ --button-tertiary-focus-left: 0;
227
+ --button-tertiary-focus-right: 0;
212
228
  }
213
229
  html[data-whatinput=keyboard] .dnb-button--tertiary:hover:focus .dnb-button__text::after {
214
230
  visibility: hidden;