@dnb/eufemia 10.6.0 → 10.8.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 (1125) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/cjs/components/accordion/Accordion.d.ts +1 -1
  3. package/cjs/components/accordion/AccordionHeader.d.ts +4 -4
  4. package/cjs/components/accordion/AccordionHeader.js +18 -5
  5. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  6. package/cjs/components/accordion/style/dnb-accordion.css +22 -17
  7. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  8. package/cjs/components/accordion/style/dnb-accordion.scss +40 -18
  9. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  10. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  11. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  12. package/cjs/components/anchor/Anchor.js +1 -1
  13. package/cjs/components/anchor/Anchor.js.map +1 -1
  14. package/cjs/components/anchor/style/anchor-mixins.scss +9 -3
  15. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  16. package/cjs/components/autocomplete/Autocomplete.d.ts +1 -1
  17. package/cjs/components/autocomplete/Autocomplete.js +4 -2
  18. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  19. package/cjs/components/avatar/style/index.d.ts +1 -1
  20. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  21. package/cjs/components/breadcrumb/Breadcrumb.js +2 -2
  22. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  23. package/cjs/components/breadcrumb/BreadcrumbItem.js +23 -1
  24. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  25. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  26. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  27. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  28. package/cjs/components/button/style/dnb-button--tertiary.css +53 -37
  29. package/cjs/components/button/style/dnb-button--tertiary.min.css +5 -1
  30. package/cjs/components/button/style/dnb-button--tertiary.scss +28 -34
  31. package/cjs/components/button/style/themes/button-mixins.scss +5 -3
  32. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +53 -37
  33. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +5 -1
  34. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +155 -136
  35. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +12 -2
  36. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +81 -115
  37. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +53 -37
  38. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +5 -1
  39. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  40. package/cjs/components/checkbox/Checkbox.d.ts +4 -0
  41. package/cjs/components/checkbox/Checkbox.js +6 -4
  42. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  43. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  44. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  45. package/cjs/components/drawer/Drawer.d.ts +1 -1
  46. package/cjs/components/drawer/Drawer.js +3 -1
  47. package/cjs/components/drawer/Drawer.js.map +1 -1
  48. package/cjs/components/form-label/style/dnb-form-label.css +0 -1
  49. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  50. package/cjs/components/form-label/style/dnb-form-label.scss +0 -1
  51. package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +10 -0
  52. package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -0
  53. package/cjs/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +16 -0
  54. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.css +3 -0
  55. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  56. package/cjs/components/form-label/style/themes/dnb-form-label-theme-ui.scss +6 -2
  57. package/cjs/components/form-row/style/themes/dnb-form-row-theme-sbanken.css +4 -0
  58. package/cjs/components/form-row/style/themes/dnb-form-row-theme-sbanken.min.css +0 -0
  59. package/cjs/components/form-row/style/themes/dnb-form-row-theme-sbanken.scss +4 -0
  60. package/cjs/components/form-status/FormStatus.d.ts +2 -0
  61. package/cjs/components/form-status/FormStatus.js +70 -53
  62. package/cjs/components/form-status/FormStatus.js.map +1 -1
  63. package/cjs/components/form-status/style/dnb-form-status.scss +4 -2
  64. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  65. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  66. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  67. package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
  68. package/cjs/components/global-status/GlobalStatus.js +17 -7
  69. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  70. package/cjs/components/global-status/style/dnb-global-status.scss +2 -1
  71. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  72. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  73. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  74. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  75. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  76. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  77. package/cjs/components/heading/Heading.d.ts +8 -8
  78. package/cjs/components/heading/Heading.js +8 -16
  79. package/cjs/components/heading/Heading.js.map +1 -1
  80. package/cjs/components/heading/HeadingHelpers.d.ts +5 -1
  81. package/cjs/components/heading/HeadingHelpers.js +42 -1
  82. package/cjs/components/heading/HeadingHelpers.js.map +1 -1
  83. package/cjs/components/info-card/index.js.map +1 -1
  84. package/cjs/components/info-card/style.js.map +1 -1
  85. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.css +20 -20
  86. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  87. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.scss +15 -23
  88. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  89. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  90. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  91. package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
  92. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  93. package/cjs/components/modal/Modal.js.map +1 -1
  94. package/cjs/components/modal/parts/ModalHeaderBar.js +0 -4
  95. package/cjs/components/modal/parts/ModalHeaderBar.js.map +1 -1
  96. package/cjs/components/pagination/Pagination.js.map +1 -1
  97. package/cjs/components/pagination/style/dnb-pagination.css +20 -0
  98. package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
  99. package/cjs/components/pagination/style/dnb-pagination.scss +24 -0
  100. package/cjs/components/pagination/style/themes/dnb-pagination-theme-sbanken.css +26 -0
  101. package/cjs/components/pagination/style/themes/dnb-pagination-theme-sbanken.min.css +1 -0
  102. package/cjs/components/pagination/style/themes/dnb-pagination-theme-sbanken.scss +35 -0
  103. package/cjs/components/pagination/style/themes/dnb-pagination-theme-ui.css +0 -24
  104. package/cjs/components/pagination/style/themes/dnb-pagination-theme-ui.min.css +1 -1
  105. package/cjs/components/pagination/style/themes/dnb-pagination-theme-ui.scss +0 -30
  106. package/cjs/components/radio/Radio.d.ts +4 -0
  107. package/cjs/components/radio/Radio.js +6 -4
  108. package/cjs/components/radio/Radio.js.map +1 -1
  109. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  110. package/cjs/components/section/Section.d.ts +26 -1
  111. package/cjs/components/section/Section.js +3 -2
  112. package/cjs/components/section/Section.js.map +1 -1
  113. package/cjs/components/section/style/dnb-section.css +1 -1
  114. package/cjs/components/section/style/dnb-section.scss +8 -3
  115. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.css +39 -0
  116. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
  117. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +56 -0
  118. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +28 -13
  119. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  120. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +37 -14
  121. package/cjs/components/skeleton/style/dnb-skeleton.scss +8 -5
  122. package/cjs/components/slider/style/dnb-slider.scss +4 -2
  123. package/cjs/components/space/SpacingUtils.js.map +1 -1
  124. package/cjs/components/step-indicator/StepIndicator.d.ts +89 -75
  125. package/cjs/components/step-indicator/StepIndicator.js +31 -26
  126. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  127. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  128. package/cjs/components/step-indicator/StepIndicatorContext.js +102 -121
  129. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  130. package/cjs/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  131. package/cjs/components/step-indicator/StepIndicatorItem.js +183 -231
  132. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  133. package/cjs/components/step-indicator/StepIndicatorList.d.ts +6 -8
  134. package/cjs/components/step-indicator/StepIndicatorList.js +45 -50
  135. package/cjs/components/step-indicator/StepIndicatorList.js.map +1 -1
  136. package/cjs/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  137. package/cjs/components/step-indicator/StepIndicatorModal.js +41 -53
  138. package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
  139. package/cjs/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  140. package/cjs/components/step-indicator/StepIndicatorProps.js +4 -50
  141. package/cjs/components/step-indicator/StepIndicatorProps.js.map +1 -1
  142. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  143. package/cjs/components/step-indicator/StepIndicatorSidebar.js +41 -51
  144. package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  145. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  146. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +65 -78
  147. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  148. package/cjs/components/switch/Switch.d.ts +4 -0
  149. package/cjs/components/switch/Switch.js +6 -4
  150. package/cjs/components/switch/Switch.js.map +1 -1
  151. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  152. package/cjs/components/table/TableContainer.js.map +1 -1
  153. package/cjs/components/table/style/table-accordion.scss +18 -6
  154. package/cjs/components/table/style/table-header-buttons.scss +3 -1
  155. package/cjs/components/table/style/table-tr.scss +6 -2
  156. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +56 -7
  157. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  158. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +21 -5
  159. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  160. package/cjs/components/timeline/TimelineItem.d.ts +3 -2
  161. package/cjs/components/timeline/TimelineItem.js +96 -62
  162. package/cjs/components/timeline/TimelineItem.js.map +1 -1
  163. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  164. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  165. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  166. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  167. package/cjs/elements/lib.d.ts +1 -1
  168. package/cjs/elements/typography/H.d.ts +5 -3
  169. package/cjs/elements/typography/H.js +7 -3
  170. package/cjs/elements/typography/H.js.map +1 -1
  171. package/cjs/elements/typography/H1.js +2 -2
  172. package/cjs/elements/typography/H1.js.map +1 -1
  173. package/cjs/elements/typography/H2.js +2 -2
  174. package/cjs/elements/typography/H2.js.map +1 -1
  175. package/cjs/elements/typography/H3.js +2 -2
  176. package/cjs/elements/typography/H3.js.map +1 -1
  177. package/cjs/elements/typography/H4.js +2 -2
  178. package/cjs/elements/typography/H4.js.map +1 -1
  179. package/cjs/elements/typography/H5.js +2 -2
  180. package/cjs/elements/typography/H5.js.map +1 -1
  181. package/cjs/elements/typography/H6.js +2 -2
  182. package/cjs/elements/typography/H6.js.map +1 -1
  183. package/cjs/elements/typography/style/dnb-typography.scss +3 -0
  184. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +12 -2
  185. package/cjs/elements/typography/style/typography-mixins.scss +5 -0
  186. package/cjs/extensions/forms/DataContext/Provider.js +9 -9
  187. package/cjs/extensions/forms/DataContext/Provider.js.map +1 -1
  188. package/cjs/extensions/forms/DataContext/index.js.map +1 -1
  189. package/cjs/extensions/forms/Field/ArraySelection.d.ts +2 -1
  190. package/cjs/extensions/forms/Field/ArraySelection.js +52 -32
  191. package/cjs/extensions/forms/Field/ArraySelection.js.map +1 -1
  192. package/cjs/extensions/forms/Field/CountryCode.d.ts +10 -0
  193. package/cjs/extensions/forms/Field/CountryCode.js +78 -0
  194. package/cjs/extensions/forms/Field/CountryCode.js.map +1 -0
  195. package/cjs/extensions/forms/Field/Currency.d.ts +2 -2
  196. package/cjs/extensions/forms/Field/Currency.js +6 -38
  197. package/cjs/extensions/forms/Field/Currency.js.map +1 -1
  198. package/cjs/extensions/forms/Field/Date.d.ts +2 -2
  199. package/cjs/extensions/forms/Field/Date.js +10 -6
  200. package/cjs/extensions/forms/Field/Date.js.map +1 -1
  201. package/cjs/extensions/forms/Field/Number.d.ts +7 -3
  202. package/cjs/extensions/forms/Field/Number.js +48 -22
  203. package/cjs/extensions/forms/Field/Number.js.map +1 -1
  204. package/cjs/extensions/forms/Field/PhoneNumber.d.ts +7 -2
  205. package/cjs/extensions/forms/Field/PhoneNumber.js +43 -42
  206. package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -1
  207. package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
  208. package/cjs/extensions/forms/Field/PostalCodeAndCity.js +1 -1
  209. package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  210. package/cjs/extensions/forms/Field/Selection.d.ts +6 -4
  211. package/cjs/extensions/forms/Field/Selection.js +88 -37
  212. package/cjs/extensions/forms/Field/Selection.js.map +1 -1
  213. package/cjs/extensions/forms/Field/String.d.ts +3 -3
  214. package/cjs/extensions/forms/Field/String.js +32 -17
  215. package/cjs/extensions/forms/Field/String.js.map +1 -1
  216. package/cjs/extensions/forms/Field/Toggle.js +11 -9
  217. package/cjs/extensions/forms/Field/Toggle.js.map +1 -1
  218. package/cjs/extensions/forms/Field/fields.scss +2 -2
  219. package/cjs/extensions/forms/Field/hooks/useField.d.ts +6 -8
  220. package/cjs/extensions/forms/Field/hooks/useField.js +34 -33
  221. package/cjs/extensions/forms/Field/hooks/useField.js.map +1 -1
  222. package/cjs/extensions/forms/Field/index.d.ts +2 -0
  223. package/cjs/extensions/forms/Field/index.js +3 -1
  224. package/cjs/extensions/forms/Field/index.js.map +1 -1
  225. package/cjs/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  226. package/cjs/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  227. package/cjs/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  228. package/cjs/extensions/forms/Field/style/dnb-country-code.css +12 -0
  229. package/cjs/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  230. package/cjs/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  231. package/cjs/extensions/forms/Field/style/dnb-phone-number.css +6 -7
  232. package/cjs/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  233. package/cjs/extensions/forms/Field/style/dnb-phone-number.scss +7 -8
  234. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  235. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  236. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  237. package/cjs/extensions/forms/Field/style/dnb-selection.css +5 -2
  238. package/cjs/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  239. package/cjs/extensions/forms/Field/style/dnb-selection.scss +7 -1
  240. package/cjs/extensions/forms/Field/style/index.d.ts +2 -1
  241. package/cjs/extensions/forms/Field/style/index.js +2 -1
  242. package/cjs/extensions/forms/Field/style/index.js.map +1 -1
  243. package/cjs/extensions/forms/Field/style/index.scss +2 -2
  244. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
  245. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +19 -9
  246. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  247. package/cjs/extensions/forms/FieldBlock/index.js.map +1 -1
  248. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +39 -1
  249. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  250. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +60 -1
  251. package/cjs/extensions/forms/FieldGroup/index.js.map +1 -1
  252. package/cjs/extensions/forms/Layout/Card.js +2 -2
  253. package/cjs/extensions/forms/Layout/Card.js.map +1 -1
  254. package/cjs/extensions/forms/Layout/FlexContainer.d.ts +1 -0
  255. package/cjs/extensions/forms/Layout/FlexContainer.js +5 -3
  256. package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -1
  257. package/cjs/extensions/forms/Layout/FlexItem.d.ts +1 -0
  258. package/cjs/extensions/forms/Layout/FlexItem.js +2 -1
  259. package/cjs/extensions/forms/Layout/FlexItem.js.map +1 -1
  260. package/cjs/extensions/forms/Layout/SubHeading.js +2 -1
  261. package/cjs/extensions/forms/Layout/SubHeading.js.map +1 -1
  262. package/cjs/extensions/forms/Layout/style/dnb-card.css +3 -3
  263. package/cjs/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  264. package/cjs/extensions/forms/Layout/style/dnb-card.scss +6 -4
  265. package/cjs/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  266. package/cjs/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  267. package/cjs/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  268. package/cjs/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  269. package/cjs/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  270. package/cjs/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  271. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +1 -1
  272. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  273. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  274. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  275. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  276. package/cjs/extensions/forms/ValueBlock/index.js.map +1 -1
  277. package/cjs/extensions/forms/field-types.d.ts +7 -1
  278. package/cjs/extensions/forms/field-types.js.map +1 -1
  279. package/cjs/extensions/forms/style/dnb-forms.css +112 -42
  280. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  281. package/cjs/extensions/forms/style/index.d.ts +1 -0
  282. package/cjs/extensions/forms/style/index.js +4 -0
  283. package/cjs/extensions/forms/style/index.js.map +1 -0
  284. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  285. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  286. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  287. package/cjs/extensions/forms/utils/useWasChanged.d.ts +5 -0
  288. package/cjs/extensions/forms/utils/useWasChanged.js +62 -0
  289. package/cjs/extensions/forms/utils/useWasChanged.js.map +1 -0
  290. package/cjs/extensions/forms/variables.scss +3 -0
  291. package/cjs/extensions/lib.d.ts +1 -0
  292. package/cjs/extensions/payment-card/PaymentCard.d.ts +6 -2
  293. package/cjs/extensions/payment-card/PaymentCard.js +13 -2
  294. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  295. package/cjs/extensions/payment-card/icons/CardIn.d.ts +2 -0
  296. package/cjs/extensions/payment-card/icons/CardIn.js +26 -0
  297. package/cjs/extensions/payment-card/icons/CardIn.js.map +1 -0
  298. package/cjs/extensions/payment-card/icons/index.js +4 -1
  299. package/cjs/extensions/payment-card/icons/index.js.map +1 -1
  300. package/cjs/extensions/payment-card/style/dnb-payment-card.css +3 -2
  301. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  302. package/cjs/extensions/payment-card/style/dnb-payment-card.scss +2 -2
  303. package/cjs/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  304. package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  305. package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  306. package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  307. package/cjs/fragments/drawer-list/DrawerList.js +1 -1
  308. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  309. package/cjs/fragments/drawer-list/DrawerListPortal.js +2 -2
  310. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  311. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  312. package/cjs/shared/Context.d.ts +2 -0
  313. package/cjs/shared/Context.js.map +1 -1
  314. package/cjs/shared/Eufemia.d.ts +1 -1
  315. package/cjs/shared/Eufemia.js +2 -2
  316. package/cjs/shared/Eufemia.js.map +1 -1
  317. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  318. package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
  319. package/cjs/shared/libs/Shortcuts.js.map +1 -1
  320. package/cjs/shared/locales/en-GB.d.ts +2 -0
  321. package/cjs/shared/locales/en-GB.js +3 -1
  322. package/cjs/shared/locales/en-GB.js.map +1 -1
  323. package/cjs/shared/locales/en-US.d.ts +2 -0
  324. package/cjs/shared/locales/index.d.ts +4 -0
  325. package/cjs/shared/locales/nb-NO.d.ts +2 -0
  326. package/cjs/shared/locales/nb-NO.js +3 -1
  327. package/cjs/shared/locales/nb-NO.js.map +1 -1
  328. package/cjs/style/core/reset.scss +13 -3
  329. package/cjs/style/core/utilities.scss +3 -1
  330. package/cjs/style/dnb-ui-components.css +42 -19
  331. package/cjs/style/dnb-ui-components.min.css +1 -1
  332. package/cjs/style/dnb-ui-elements.css +6 -0
  333. package/cjs/style/dnb-ui-elements.min.css +1 -1
  334. package/cjs/style/dnb-ui-extensions.css +115 -44
  335. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  336. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
  337. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  338. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +189 -135
  339. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -1
  340. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +115 -44
  341. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  342. package/cjs/style/themes/theme-sbanken/customisations.scss +0 -8
  343. package/cjs/style/themes/theme-sbanken/properties.js +6 -6
  344. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  345. package/cjs/style/themes/theme-sbanken/properties.scss +6 -6
  346. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +27 -26
  347. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  348. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +574 -615
  349. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +14 -2
  350. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +8 -7
  351. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
  352. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  353. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +115 -44
  354. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  355. package/cjs/style/themes/theme-ui/fonts.scss +8 -4
  356. package/cjs/style/themes/theme-ui/ui-theme-basis.css +6 -0
  357. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  358. package/cjs/style/themes/theme-ui/ui-theme-components.css +136 -98
  359. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +7 -1
  360. package/cjs/style/themes/theme-ui/ui-theme-elements.css +6 -0
  361. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  362. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +115 -44
  363. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  364. package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -0
  365. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  366. package/cjs/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  367. package/components/accordion/Accordion.d.ts +1 -1
  368. package/components/accordion/AccordionHeader.d.ts +4 -4
  369. package/components/accordion/AccordionHeader.js +18 -5
  370. package/components/accordion/AccordionHeader.js.map +1 -1
  371. package/components/accordion/style/dnb-accordion.css +22 -17
  372. package/components/accordion/style/dnb-accordion.min.css +1 -1
  373. package/components/accordion/style/dnb-accordion.scss +40 -18
  374. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  375. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  376. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  377. package/components/anchor/Anchor.js +1 -1
  378. package/components/anchor/Anchor.js.map +1 -1
  379. package/components/anchor/style/anchor-mixins.scss +9 -3
  380. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  381. package/components/autocomplete/Autocomplete.d.ts +1 -1
  382. package/components/autocomplete/Autocomplete.js +4 -2
  383. package/components/autocomplete/Autocomplete.js.map +1 -1
  384. package/components/avatar/style/index.d.ts +1 -1
  385. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  386. package/components/breadcrumb/Breadcrumb.js +2 -2
  387. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  388. package/components/breadcrumb/BreadcrumbItem.js +23 -1
  389. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  390. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  391. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  392. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  393. package/components/button/style/dnb-button--tertiary.css +53 -37
  394. package/components/button/style/dnb-button--tertiary.min.css +5 -1
  395. package/components/button/style/dnb-button--tertiary.scss +28 -34
  396. package/components/button/style/themes/button-mixins.scss +5 -3
  397. package/components/button/style/themes/dnb-button-theme-eiendom.css +53 -37
  398. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +5 -1
  399. package/components/button/style/themes/dnb-button-theme-sbanken.css +155 -136
  400. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +12 -2
  401. package/components/button/style/themes/dnb-button-theme-sbanken.scss +81 -115
  402. package/components/button/style/themes/dnb-button-theme-ui.css +53 -37
  403. package/components/button/style/themes/dnb-button-theme-ui.min.css +5 -1
  404. package/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  405. package/components/checkbox/Checkbox.d.ts +4 -0
  406. package/components/checkbox/Checkbox.js +6 -4
  407. package/components/checkbox/Checkbox.js.map +1 -1
  408. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  409. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  410. package/components/drawer/Drawer.d.ts +1 -1
  411. package/components/drawer/Drawer.js +3 -1
  412. package/components/drawer/Drawer.js.map +1 -1
  413. package/components/form-label/style/dnb-form-label.css +0 -1
  414. package/components/form-label/style/dnb-form-label.min.css +1 -1
  415. package/components/form-label/style/dnb-form-label.scss +0 -1
  416. package/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +10 -0
  417. package/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -0
  418. package/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +16 -0
  419. package/components/form-label/style/themes/dnb-form-label-theme-ui.css +3 -0
  420. package/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  421. package/components/form-label/style/themes/dnb-form-label-theme-ui.scss +6 -2
  422. package/components/form-row/style/themes/dnb-form-row-theme-sbanken.css +4 -0
  423. package/components/form-row/style/themes/dnb-form-row-theme-sbanken.min.css +0 -0
  424. package/components/form-row/style/themes/dnb-form-row-theme-sbanken.scss +4 -0
  425. package/components/form-status/FormStatus.d.ts +2 -0
  426. package/components/form-status/FormStatus.js +70 -53
  427. package/components/form-status/FormStatus.js.map +1 -1
  428. package/components/form-status/style/dnb-form-status.scss +4 -2
  429. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  430. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  431. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  432. package/components/global-status/GlobalStatus.d.ts +1 -1
  433. package/components/global-status/GlobalStatus.js +18 -8
  434. package/components/global-status/GlobalStatus.js.map +1 -1
  435. package/components/global-status/style/dnb-global-status.scss +2 -1
  436. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  437. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  438. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  439. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  440. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  441. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  442. package/components/heading/Heading.d.ts +8 -8
  443. package/components/heading/Heading.js +9 -15
  444. package/components/heading/Heading.js.map +1 -1
  445. package/components/heading/HeadingHelpers.d.ts +5 -1
  446. package/components/heading/HeadingHelpers.js +39 -0
  447. package/components/heading/HeadingHelpers.js.map +1 -1
  448. package/components/info-card/index.js.map +1 -1
  449. package/components/info-card/style.js.map +1 -1
  450. package/components/input/style/themes/dnb-input-theme-sbanken.css +20 -20
  451. package/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  452. package/components/input/style/themes/dnb-input-theme-sbanken.scss +15 -23
  453. package/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  454. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  455. package/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  456. package/components/input-masked/InputMaskedUtils.js +1 -1
  457. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  458. package/components/modal/Modal.js.map +1 -1
  459. package/components/modal/parts/ModalHeaderBar.js +0 -4
  460. package/components/modal/parts/ModalHeaderBar.js.map +1 -1
  461. package/components/pagination/Pagination.js.map +1 -1
  462. package/components/pagination/style/dnb-pagination.css +20 -0
  463. package/components/pagination/style/dnb-pagination.min.css +1 -1
  464. package/components/pagination/style/dnb-pagination.scss +24 -0
  465. package/components/pagination/style/themes/dnb-pagination-theme-sbanken.css +26 -0
  466. package/components/pagination/style/themes/dnb-pagination-theme-sbanken.min.css +1 -0
  467. package/components/pagination/style/themes/dnb-pagination-theme-sbanken.scss +35 -0
  468. package/components/pagination/style/themes/dnb-pagination-theme-ui.css +0 -24
  469. package/components/pagination/style/themes/dnb-pagination-theme-ui.min.css +1 -1
  470. package/components/pagination/style/themes/dnb-pagination-theme-ui.scss +0 -30
  471. package/components/radio/Radio.d.ts +4 -0
  472. package/components/radio/Radio.js +6 -4
  473. package/components/radio/Radio.js.map +1 -1
  474. package/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  475. package/components/section/Section.d.ts +26 -1
  476. package/components/section/Section.js +3 -2
  477. package/components/section/Section.js.map +1 -1
  478. package/components/section/style/dnb-section.css +1 -1
  479. package/components/section/style/dnb-section.scss +8 -3
  480. package/components/section/style/themes/dnb-section-theme-sbanken.css +39 -0
  481. package/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
  482. package/components/section/style/themes/dnb-section-theme-sbanken.scss +56 -0
  483. package/components/section/style/themes/dnb-section-theme-ui.css +28 -13
  484. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  485. package/components/section/style/themes/dnb-section-theme-ui.scss +37 -14
  486. package/components/skeleton/style/dnb-skeleton.scss +8 -5
  487. package/components/slider/style/dnb-slider.scss +4 -2
  488. package/components/space/SpacingUtils.js.map +1 -1
  489. package/components/step-indicator/StepIndicator.d.ts +89 -75
  490. package/components/step-indicator/StepIndicator.js +29 -25
  491. package/components/step-indicator/StepIndicator.js.map +1 -1
  492. package/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  493. package/components/step-indicator/StepIndicatorContext.js +98 -120
  494. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  495. package/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  496. package/components/step-indicator/StepIndicatorItem.js +177 -227
  497. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  498. package/components/step-indicator/StepIndicatorList.d.ts +6 -8
  499. package/components/step-indicator/StepIndicatorList.js +43 -48
  500. package/components/step-indicator/StepIndicatorList.js.map +1 -1
  501. package/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  502. package/components/step-indicator/StepIndicatorModal.js +38 -50
  503. package/components/step-indicator/StepIndicatorModal.js.map +1 -1
  504. package/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  505. package/components/step-indicator/StepIndicatorProps.js +3 -45
  506. package/components/step-indicator/StepIndicatorProps.js.map +1 -1
  507. package/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  508. package/components/step-indicator/StepIndicatorSidebar.js +39 -52
  509. package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  510. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  511. package/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
  512. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  513. package/components/switch/Switch.d.ts +4 -0
  514. package/components/switch/Switch.js +6 -4
  515. package/components/switch/Switch.js.map +1 -1
  516. package/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  517. package/components/table/TableContainer.js.map +1 -1
  518. package/components/table/style/table-accordion.scss +18 -6
  519. package/components/table/style/table-header-buttons.scss +3 -1
  520. package/components/table/style/table-tr.scss +6 -2
  521. package/components/table/style/themes/dnb-table-theme-sbanken.css +56 -7
  522. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  523. package/components/table/style/themes/dnb-table-theme-sbanken.scss +21 -5
  524. package/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  525. package/components/timeline/TimelineItem.d.ts +3 -2
  526. package/components/timeline/TimelineItem.js +95 -61
  527. package/components/timeline/TimelineItem.js.map +1 -1
  528. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  529. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  530. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  531. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  532. package/elements/lib.d.ts +1 -1
  533. package/elements/typography/H.d.ts +5 -3
  534. package/elements/typography/H.js +8 -4
  535. package/elements/typography/H.js.map +1 -1
  536. package/elements/typography/H1.js +2 -2
  537. package/elements/typography/H1.js.map +1 -1
  538. package/elements/typography/H2.js +2 -2
  539. package/elements/typography/H2.js.map +1 -1
  540. package/elements/typography/H3.js +2 -2
  541. package/elements/typography/H3.js.map +1 -1
  542. package/elements/typography/H4.js +2 -2
  543. package/elements/typography/H4.js.map +1 -1
  544. package/elements/typography/H5.js +2 -2
  545. package/elements/typography/H5.js.map +1 -1
  546. package/elements/typography/H6.js +2 -2
  547. package/elements/typography/H6.js.map +1 -1
  548. package/elements/typography/style/dnb-typography.scss +3 -0
  549. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +12 -2
  550. package/elements/typography/style/typography-mixins.scss +5 -0
  551. package/es/components/accordion/Accordion.d.ts +1 -1
  552. package/es/components/accordion/AccordionHeader.d.ts +4 -4
  553. package/es/components/accordion/AccordionHeader.js +18 -5
  554. package/es/components/accordion/AccordionHeader.js.map +1 -1
  555. package/es/components/accordion/style/dnb-accordion.css +22 -17
  556. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  557. package/es/components/accordion/style/dnb-accordion.scss +40 -18
  558. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  559. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  560. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  561. package/es/components/anchor/Anchor.js +1 -1
  562. package/es/components/anchor/Anchor.js.map +1 -1
  563. package/es/components/anchor/style/anchor-mixins.scss +9 -3
  564. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  565. package/es/components/autocomplete/Autocomplete.d.ts +1 -1
  566. package/es/components/autocomplete/Autocomplete.js +4 -2
  567. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  568. package/es/components/avatar/style/index.d.ts +1 -1
  569. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  570. package/es/components/breadcrumb/Breadcrumb.js +2 -2
  571. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  572. package/es/components/breadcrumb/BreadcrumbItem.js +23 -1
  573. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  574. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  575. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  576. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  577. package/es/components/button/style/dnb-button--tertiary.css +53 -37
  578. package/es/components/button/style/dnb-button--tertiary.min.css +5 -1
  579. package/es/components/button/style/dnb-button--tertiary.scss +28 -34
  580. package/es/components/button/style/themes/button-mixins.scss +5 -3
  581. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +53 -37
  582. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +5 -1
  583. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +155 -136
  584. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +12 -2
  585. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +81 -115
  586. package/es/components/button/style/themes/dnb-button-theme-ui.css +53 -37
  587. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +5 -1
  588. package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  589. package/es/components/checkbox/Checkbox.d.ts +4 -0
  590. package/es/components/checkbox/Checkbox.js +6 -4
  591. package/es/components/checkbox/Checkbox.js.map +1 -1
  592. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  593. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  594. package/es/components/drawer/Drawer.d.ts +1 -1
  595. package/es/components/drawer/Drawer.js +3 -1
  596. package/es/components/drawer/Drawer.js.map +1 -1
  597. package/es/components/form-label/style/dnb-form-label.css +0 -1
  598. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  599. package/es/components/form-label/style/dnb-form-label.scss +0 -1
  600. package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.css +10 -0
  601. package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.min.css +1 -0
  602. package/es/components/form-label/style/themes/dnb-form-label-theme-sbanken.scss +16 -0
  603. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.css +3 -0
  604. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.min.css +1 -1
  605. package/es/components/form-label/style/themes/dnb-form-label-theme-ui.scss +6 -2
  606. package/es/components/form-row/style/themes/dnb-form-row-theme-sbanken.css +4 -0
  607. package/es/components/form-row/style/themes/dnb-form-row-theme-sbanken.min.css +0 -0
  608. package/es/components/form-row/style/themes/dnb-form-row-theme-sbanken.scss +4 -0
  609. package/es/components/form-status/FormStatus.d.ts +2 -0
  610. package/es/components/form-status/FormStatus.js +70 -53
  611. package/es/components/form-status/FormStatus.js.map +1 -1
  612. package/es/components/form-status/style/dnb-form-status.scss +4 -2
  613. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  614. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  615. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  616. package/es/components/global-status/GlobalStatus.d.ts +1 -1
  617. package/es/components/global-status/GlobalStatus.js +18 -8
  618. package/es/components/global-status/GlobalStatus.js.map +1 -1
  619. package/es/components/global-status/style/dnb-global-status.scss +2 -1
  620. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  621. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  622. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  623. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  624. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  625. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  626. package/es/components/heading/Heading.d.ts +8 -8
  627. package/es/components/heading/Heading.js +9 -15
  628. package/es/components/heading/Heading.js.map +1 -1
  629. package/es/components/heading/HeadingHelpers.d.ts +5 -1
  630. package/es/components/heading/HeadingHelpers.js +39 -0
  631. package/es/components/heading/HeadingHelpers.js.map +1 -1
  632. package/es/components/info-card/index.js.map +1 -1
  633. package/es/components/info-card/style.js.map +1 -1
  634. package/es/components/input/style/themes/dnb-input-theme-sbanken.css +20 -20
  635. package/es/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  636. package/es/components/input/style/themes/dnb-input-theme-sbanken.scss +15 -23
  637. package/es/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  638. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  639. package/es/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  640. package/es/components/input-masked/InputMaskedUtils.js +1 -1
  641. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  642. package/es/components/modal/Modal.js.map +1 -1
  643. package/es/components/modal/parts/ModalHeaderBar.js +0 -4
  644. package/es/components/modal/parts/ModalHeaderBar.js.map +1 -1
  645. package/es/components/pagination/Pagination.js.map +1 -1
  646. package/es/components/pagination/style/dnb-pagination.css +20 -0
  647. package/es/components/pagination/style/dnb-pagination.min.css +1 -1
  648. package/es/components/pagination/style/dnb-pagination.scss +24 -0
  649. package/es/components/pagination/style/themes/dnb-pagination-theme-sbanken.css +26 -0
  650. package/es/components/pagination/style/themes/dnb-pagination-theme-sbanken.min.css +1 -0
  651. package/es/components/pagination/style/themes/dnb-pagination-theme-sbanken.scss +35 -0
  652. package/es/components/pagination/style/themes/dnb-pagination-theme-ui.css +0 -24
  653. package/es/components/pagination/style/themes/dnb-pagination-theme-ui.min.css +1 -1
  654. package/es/components/pagination/style/themes/dnb-pagination-theme-ui.scss +0 -30
  655. package/es/components/radio/Radio.d.ts +4 -0
  656. package/es/components/radio/Radio.js +6 -4
  657. package/es/components/radio/Radio.js.map +1 -1
  658. package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  659. package/es/components/section/Section.d.ts +26 -1
  660. package/es/components/section/Section.js +3 -2
  661. package/es/components/section/Section.js.map +1 -1
  662. package/es/components/section/style/dnb-section.css +1 -1
  663. package/es/components/section/style/dnb-section.scss +8 -3
  664. package/es/components/section/style/themes/dnb-section-theme-sbanken.css +39 -0
  665. package/es/components/section/style/themes/dnb-section-theme-sbanken.min.css +1 -0
  666. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +56 -0
  667. package/es/components/section/style/themes/dnb-section-theme-ui.css +28 -13
  668. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  669. package/es/components/section/style/themes/dnb-section-theme-ui.scss +37 -14
  670. package/es/components/skeleton/style/dnb-skeleton.scss +8 -5
  671. package/es/components/slider/style/dnb-slider.scss +4 -2
  672. package/es/components/space/SpacingUtils.js.map +1 -1
  673. package/es/components/step-indicator/StepIndicator.d.ts +89 -75
  674. package/es/components/step-indicator/StepIndicator.js +29 -25
  675. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  676. package/es/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  677. package/es/components/step-indicator/StepIndicatorContext.js +94 -114
  678. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  679. package/es/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  680. package/es/components/step-indicator/StepIndicatorItem.js +173 -223
  681. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  682. package/es/components/step-indicator/StepIndicatorList.d.ts +6 -8
  683. package/es/components/step-indicator/StepIndicatorList.js +43 -48
  684. package/es/components/step-indicator/StepIndicatorList.js.map +1 -1
  685. package/es/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  686. package/es/components/step-indicator/StepIndicatorModal.js +38 -48
  687. package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
  688. package/es/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  689. package/es/components/step-indicator/StepIndicatorProps.js +3 -45
  690. package/es/components/step-indicator/StepIndicatorProps.js.map +1 -1
  691. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  692. package/es/components/step-indicator/StepIndicatorSidebar.js +39 -52
  693. package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  694. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  695. package/es/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
  696. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  697. package/es/components/switch/Switch.d.ts +4 -0
  698. package/es/components/switch/Switch.js +6 -4
  699. package/es/components/switch/Switch.js.map +1 -1
  700. package/es/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  701. package/es/components/table/TableContainer.js.map +1 -1
  702. package/es/components/table/style/table-accordion.scss +18 -6
  703. package/es/components/table/style/table-header-buttons.scss +3 -1
  704. package/es/components/table/style/table-tr.scss +6 -2
  705. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +56 -7
  706. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  707. package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +21 -5
  708. package/es/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  709. package/es/components/timeline/TimelineItem.d.ts +3 -2
  710. package/es/components/timeline/TimelineItem.js +89 -58
  711. package/es/components/timeline/TimelineItem.js.map +1 -1
  712. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  713. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  714. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  715. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  716. package/es/elements/lib.d.ts +1 -1
  717. package/es/elements/typography/H.d.ts +5 -3
  718. package/es/elements/typography/H.js +8 -4
  719. package/es/elements/typography/H.js.map +1 -1
  720. package/es/elements/typography/H1.js +2 -2
  721. package/es/elements/typography/H1.js.map +1 -1
  722. package/es/elements/typography/H2.js +2 -2
  723. package/es/elements/typography/H2.js.map +1 -1
  724. package/es/elements/typography/H3.js +2 -2
  725. package/es/elements/typography/H3.js.map +1 -1
  726. package/es/elements/typography/H4.js +2 -2
  727. package/es/elements/typography/H4.js.map +1 -1
  728. package/es/elements/typography/H5.js +2 -2
  729. package/es/elements/typography/H5.js.map +1 -1
  730. package/es/elements/typography/H6.js +2 -2
  731. package/es/elements/typography/H6.js.map +1 -1
  732. package/es/elements/typography/style/dnb-typography.scss +3 -0
  733. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +12 -2
  734. package/es/elements/typography/style/typography-mixins.scss +5 -0
  735. package/es/extensions/forms/DataContext/Provider.js +9 -9
  736. package/es/extensions/forms/DataContext/Provider.js.map +1 -1
  737. package/es/extensions/forms/DataContext/index.js.map +1 -1
  738. package/es/extensions/forms/Field/ArraySelection.d.ts +2 -1
  739. package/es/extensions/forms/Field/ArraySelection.js +49 -33
  740. package/es/extensions/forms/Field/ArraySelection.js.map +1 -1
  741. package/es/extensions/forms/Field/CountryCode.d.ts +10 -0
  742. package/es/extensions/forms/Field/CountryCode.js +67 -0
  743. package/es/extensions/forms/Field/CountryCode.js.map +1 -0
  744. package/es/extensions/forms/Field/Currency.d.ts +2 -2
  745. package/es/extensions/forms/Field/Currency.js +6 -37
  746. package/es/extensions/forms/Field/Currency.js.map +1 -1
  747. package/es/extensions/forms/Field/Date.d.ts +2 -2
  748. package/es/extensions/forms/Field/Date.js +11 -7
  749. package/es/extensions/forms/Field/Date.js.map +1 -1
  750. package/es/extensions/forms/Field/Number.d.ts +7 -3
  751. package/es/extensions/forms/Field/Number.js +47 -23
  752. package/es/extensions/forms/Field/Number.js.map +1 -1
  753. package/es/extensions/forms/Field/PhoneNumber.d.ts +7 -2
  754. package/es/extensions/forms/Field/PhoneNumber.js +44 -41
  755. package/es/extensions/forms/Field/PhoneNumber.js.map +1 -1
  756. package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
  757. package/es/extensions/forms/Field/PostalCodeAndCity.js +1 -1
  758. package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  759. package/es/extensions/forms/Field/Selection.d.ts +6 -4
  760. package/es/extensions/forms/Field/Selection.js +86 -38
  761. package/es/extensions/forms/Field/Selection.js.map +1 -1
  762. package/es/extensions/forms/Field/String.d.ts +3 -3
  763. package/es/extensions/forms/Field/String.js +33 -18
  764. package/es/extensions/forms/Field/String.js.map +1 -1
  765. package/es/extensions/forms/Field/Toggle.js +11 -9
  766. package/es/extensions/forms/Field/Toggle.js.map +1 -1
  767. package/es/extensions/forms/Field/fields.scss +2 -2
  768. package/es/extensions/forms/Field/hooks/useField.d.ts +6 -8
  769. package/es/extensions/forms/Field/hooks/useField.js +34 -31
  770. package/es/extensions/forms/Field/hooks/useField.js.map +1 -1
  771. package/es/extensions/forms/Field/index.d.ts +2 -0
  772. package/es/extensions/forms/Field/index.js +3 -1
  773. package/es/extensions/forms/Field/index.js.map +1 -1
  774. package/es/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  775. package/es/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  776. package/es/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  777. package/es/extensions/forms/Field/style/dnb-country-code.css +12 -0
  778. package/es/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  779. package/es/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  780. package/es/extensions/forms/Field/style/dnb-phone-number.css +6 -7
  781. package/es/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  782. package/es/extensions/forms/Field/style/dnb-phone-number.scss +7 -8
  783. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  784. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  785. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  786. package/es/extensions/forms/Field/style/dnb-selection.css +5 -2
  787. package/es/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  788. package/es/extensions/forms/Field/style/dnb-selection.scss +7 -1
  789. package/es/extensions/forms/Field/style/index.d.ts +2 -1
  790. package/es/extensions/forms/Field/style/index.js +2 -1
  791. package/es/extensions/forms/Field/style/index.js.map +1 -1
  792. package/es/extensions/forms/Field/style/index.scss +2 -2
  793. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
  794. package/es/extensions/forms/FieldBlock/FieldBlock.js +19 -9
  795. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  796. package/es/extensions/forms/FieldBlock/index.js.map +1 -1
  797. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +39 -1
  798. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  799. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +60 -1
  800. package/es/extensions/forms/FieldGroup/index.js.map +1 -1
  801. package/es/extensions/forms/Layout/Card.js +2 -2
  802. package/es/extensions/forms/Layout/Card.js.map +1 -1
  803. package/es/extensions/forms/Layout/FlexContainer.d.ts +1 -0
  804. package/es/extensions/forms/Layout/FlexContainer.js +5 -3
  805. package/es/extensions/forms/Layout/FlexContainer.js.map +1 -1
  806. package/es/extensions/forms/Layout/FlexItem.d.ts +1 -0
  807. package/es/extensions/forms/Layout/FlexItem.js +2 -1
  808. package/es/extensions/forms/Layout/FlexItem.js.map +1 -1
  809. package/es/extensions/forms/Layout/SubHeading.js +2 -1
  810. package/es/extensions/forms/Layout/SubHeading.js.map +1 -1
  811. package/es/extensions/forms/Layout/style/dnb-card.css +3 -3
  812. package/es/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  813. package/es/extensions/forms/Layout/style/dnb-card.scss +6 -4
  814. package/es/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  815. package/es/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  816. package/es/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  817. package/es/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  818. package/es/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  819. package/es/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  820. package/es/extensions/forms/StepsLayout/StepsLayout.js +1 -1
  821. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  822. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  823. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  824. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  825. package/es/extensions/forms/ValueBlock/index.js.map +1 -1
  826. package/es/extensions/forms/field-types.d.ts +7 -1
  827. package/es/extensions/forms/field-types.js.map +1 -1
  828. package/es/extensions/forms/style/dnb-forms.css +112 -42
  829. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  830. package/es/extensions/forms/style/index.d.ts +1 -0
  831. package/es/extensions/forms/style/index.js +1 -0
  832. package/es/extensions/forms/style/index.js.map +1 -0
  833. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  834. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  835. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  836. package/es/extensions/forms/utils/useWasChanged.d.ts +5 -0
  837. package/es/extensions/forms/utils/useWasChanged.js +51 -0
  838. package/es/extensions/forms/utils/useWasChanged.js.map +1 -0
  839. package/es/extensions/forms/variables.scss +3 -0
  840. package/es/extensions/lib.d.ts +1 -0
  841. package/es/extensions/payment-card/PaymentCard.d.ts +6 -2
  842. package/es/extensions/payment-card/PaymentCard.js +13 -2
  843. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  844. package/es/extensions/payment-card/icons/CardIn.d.ts +2 -0
  845. package/es/extensions/payment-card/icons/CardIn.js +18 -0
  846. package/es/extensions/payment-card/icons/CardIn.js.map +1 -0
  847. package/es/extensions/payment-card/icons/index.js +4 -1
  848. package/es/extensions/payment-card/icons/index.js.map +1 -1
  849. package/es/extensions/payment-card/style/dnb-payment-card.css +3 -2
  850. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  851. package/es/extensions/payment-card/style/dnb-payment-card.scss +2 -2
  852. package/es/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  853. package/es/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  854. package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  855. package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  856. package/es/fragments/drawer-list/DrawerList.js +1 -1
  857. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  858. package/es/fragments/drawer-list/DrawerListPortal.js +2 -2
  859. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  860. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  861. package/es/shared/Context.d.ts +2 -0
  862. package/es/shared/Context.js.map +1 -1
  863. package/es/shared/Eufemia.d.ts +1 -1
  864. package/es/shared/Eufemia.js +2 -2
  865. package/es/shared/Eufemia.js.map +1 -1
  866. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  867. package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
  868. package/es/shared/libs/Shortcuts.js.map +1 -1
  869. package/es/shared/locales/en-GB.d.ts +2 -0
  870. package/es/shared/locales/en-GB.js +3 -1
  871. package/es/shared/locales/en-GB.js.map +1 -1
  872. package/es/shared/locales/en-US.d.ts +2 -0
  873. package/es/shared/locales/index.d.ts +4 -0
  874. package/es/shared/locales/nb-NO.d.ts +2 -0
  875. package/es/shared/locales/nb-NO.js +3 -1
  876. package/es/shared/locales/nb-NO.js.map +1 -1
  877. package/es/style/core/reset.scss +13 -3
  878. package/es/style/core/utilities.scss +3 -1
  879. package/es/style/dnb-ui-components.css +42 -19
  880. package/es/style/dnb-ui-components.min.css +1 -1
  881. package/es/style/dnb-ui-elements.css +6 -0
  882. package/es/style/dnb-ui-elements.min.css +1 -1
  883. package/es/style/dnb-ui-extensions.css +115 -44
  884. package/es/style/dnb-ui-extensions.min.css +1 -1
  885. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
  886. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  887. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +189 -135
  888. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -1
  889. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +115 -44
  890. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  891. package/es/style/themes/theme-sbanken/customisations.scss +0 -8
  892. package/es/style/themes/theme-sbanken/properties.js +6 -6
  893. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  894. package/es/style/themes/theme-sbanken/properties.scss +6 -6
  895. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +27 -26
  896. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  897. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +574 -615
  898. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +14 -2
  899. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +8 -7
  900. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
  901. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  902. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +115 -44
  903. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  904. package/es/style/themes/theme-ui/fonts.scss +8 -4
  905. package/es/style/themes/theme-ui/ui-theme-basis.css +6 -0
  906. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  907. package/es/style/themes/theme-ui/ui-theme-components.css +136 -98
  908. package/es/style/themes/theme-ui/ui-theme-components.min.css +7 -1
  909. package/es/style/themes/theme-ui/ui-theme-elements.css +6 -0
  910. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  911. package/es/style/themes/theme-ui/ui-theme-extensions.css +115 -44
  912. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  913. package/es/style/themes/theme-ui/ui-theme-tags.css +3 -0
  914. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  915. package/es/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  916. package/esm/dnb-ui-basis.min.mjs +1 -1
  917. package/esm/dnb-ui-components.min.mjs +1 -1
  918. package/esm/dnb-ui-elements.min.mjs +1 -1
  919. package/esm/dnb-ui-extensions.min.mjs +6 -6
  920. package/esm/dnb-ui-lib.min.mjs +1 -1
  921. package/extensions/forms/DataContext/Provider.js +9 -9
  922. package/extensions/forms/DataContext/Provider.js.map +1 -1
  923. package/extensions/forms/DataContext/index.js.map +1 -1
  924. package/extensions/forms/Field/ArraySelection.d.ts +2 -1
  925. package/extensions/forms/Field/ArraySelection.js +49 -33
  926. package/extensions/forms/Field/ArraySelection.js.map +1 -1
  927. package/extensions/forms/Field/CountryCode.d.ts +10 -0
  928. package/extensions/forms/Field/CountryCode.js +68 -0
  929. package/extensions/forms/Field/CountryCode.js.map +1 -0
  930. package/extensions/forms/Field/Currency.d.ts +2 -2
  931. package/extensions/forms/Field/Currency.js +6 -38
  932. package/extensions/forms/Field/Currency.js.map +1 -1
  933. package/extensions/forms/Field/Date.d.ts +2 -2
  934. package/extensions/forms/Field/Date.js +11 -7
  935. package/extensions/forms/Field/Date.js.map +1 -1
  936. package/extensions/forms/Field/Number.d.ts +7 -3
  937. package/extensions/forms/Field/Number.js +47 -23
  938. package/extensions/forms/Field/Number.js.map +1 -1
  939. package/extensions/forms/Field/PhoneNumber.d.ts +7 -2
  940. package/extensions/forms/Field/PhoneNumber.js +44 -43
  941. package/extensions/forms/Field/PhoneNumber.js.map +1 -1
  942. package/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
  943. package/extensions/forms/Field/PostalCodeAndCity.js +1 -1
  944. package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  945. package/extensions/forms/Field/Selection.d.ts +6 -4
  946. package/extensions/forms/Field/Selection.js +88 -39
  947. package/extensions/forms/Field/Selection.js.map +1 -1
  948. package/extensions/forms/Field/String.d.ts +3 -3
  949. package/extensions/forms/Field/String.js +33 -18
  950. package/extensions/forms/Field/String.js.map +1 -1
  951. package/extensions/forms/Field/Toggle.js +11 -9
  952. package/extensions/forms/Field/Toggle.js.map +1 -1
  953. package/extensions/forms/Field/fields.scss +2 -2
  954. package/extensions/forms/Field/hooks/useField.d.ts +6 -8
  955. package/extensions/forms/Field/hooks/useField.js +34 -33
  956. package/extensions/forms/Field/hooks/useField.js.map +1 -1
  957. package/extensions/forms/Field/index.d.ts +2 -0
  958. package/extensions/forms/Field/index.js +3 -1
  959. package/extensions/forms/Field/index.js.map +1 -1
  960. package/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  961. package/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  962. package/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  963. package/extensions/forms/Field/style/dnb-country-code.css +12 -0
  964. package/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  965. package/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  966. package/extensions/forms/Field/style/dnb-phone-number.css +6 -7
  967. package/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  968. package/extensions/forms/Field/style/dnb-phone-number.scss +7 -8
  969. package/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  970. package/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  971. package/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  972. package/extensions/forms/Field/style/dnb-selection.css +5 -2
  973. package/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  974. package/extensions/forms/Field/style/dnb-selection.scss +7 -1
  975. package/extensions/forms/Field/style/index.d.ts +2 -1
  976. package/extensions/forms/Field/style/index.js +2 -1
  977. package/extensions/forms/Field/style/index.js.map +1 -1
  978. package/extensions/forms/Field/style/index.scss +2 -2
  979. package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
  980. package/extensions/forms/FieldBlock/FieldBlock.js +19 -9
  981. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  982. package/extensions/forms/FieldBlock/index.js.map +1 -1
  983. package/extensions/forms/FieldBlock/style/dnb-field-block.css +39 -1
  984. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  985. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +60 -1
  986. package/extensions/forms/FieldGroup/index.js.map +1 -1
  987. package/extensions/forms/Layout/Card.js +2 -2
  988. package/extensions/forms/Layout/Card.js.map +1 -1
  989. package/extensions/forms/Layout/FlexContainer.d.ts +1 -0
  990. package/extensions/forms/Layout/FlexContainer.js +5 -3
  991. package/extensions/forms/Layout/FlexContainer.js.map +1 -1
  992. package/extensions/forms/Layout/FlexItem.d.ts +1 -0
  993. package/extensions/forms/Layout/FlexItem.js +2 -1
  994. package/extensions/forms/Layout/FlexItem.js.map +1 -1
  995. package/extensions/forms/Layout/SubHeading.js +2 -1
  996. package/extensions/forms/Layout/SubHeading.js.map +1 -1
  997. package/extensions/forms/Layout/style/dnb-card.css +3 -3
  998. package/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  999. package/extensions/forms/Layout/style/dnb-card.scss +6 -4
  1000. package/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  1001. package/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  1002. package/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  1003. package/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  1004. package/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  1005. package/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  1006. package/extensions/forms/StepsLayout/StepsLayout.js +1 -1
  1007. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  1008. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  1009. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  1010. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  1011. package/extensions/forms/ValueBlock/index.js.map +1 -1
  1012. package/extensions/forms/field-types.d.ts +7 -1
  1013. package/extensions/forms/field-types.js.map +1 -1
  1014. package/extensions/forms/style/dnb-forms.css +112 -42
  1015. package/extensions/forms/style/dnb-forms.min.css +1 -1
  1016. package/extensions/forms/style/index.d.ts +1 -0
  1017. package/extensions/forms/style/index.js +1 -0
  1018. package/extensions/forms/style/index.js.map +1 -0
  1019. package/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  1020. package/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  1021. package/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  1022. package/extensions/forms/utils/useWasChanged.d.ts +5 -0
  1023. package/extensions/forms/utils/useWasChanged.js +56 -0
  1024. package/extensions/forms/utils/useWasChanged.js.map +1 -0
  1025. package/extensions/forms/variables.scss +3 -0
  1026. package/extensions/lib.d.ts +1 -0
  1027. package/extensions/payment-card/PaymentCard.d.ts +6 -2
  1028. package/extensions/payment-card/PaymentCard.js +13 -2
  1029. package/extensions/payment-card/PaymentCard.js.map +1 -1
  1030. package/extensions/payment-card/icons/CardIn.d.ts +2 -0
  1031. package/extensions/payment-card/icons/CardIn.js +18 -0
  1032. package/extensions/payment-card/icons/CardIn.js.map +1 -0
  1033. package/extensions/payment-card/icons/index.js +4 -1
  1034. package/extensions/payment-card/icons/index.js.map +1 -1
  1035. package/extensions/payment-card/style/dnb-payment-card.css +3 -2
  1036. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  1037. package/extensions/payment-card/style/dnb-payment-card.scss +2 -2
  1038. package/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  1039. package/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  1040. package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  1041. package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  1042. package/fragments/drawer-list/DrawerList.js +1 -1
  1043. package/fragments/drawer-list/DrawerList.js.map +1 -1
  1044. package/fragments/drawer-list/DrawerListPortal.js +2 -2
  1045. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  1046. package/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  1047. package/package.json +1 -1
  1048. package/shared/Context.d.ts +2 -0
  1049. package/shared/Context.js.map +1 -1
  1050. package/shared/Eufemia.d.ts +1 -1
  1051. package/shared/Eufemia.js +2 -2
  1052. package/shared/Eufemia.js.map +1 -1
  1053. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  1054. package/shared/helpers/withSnakeCaseProps.js.map +1 -1
  1055. package/shared/libs/Shortcuts.js.map +1 -1
  1056. package/shared/locales/en-GB.d.ts +2 -0
  1057. package/shared/locales/en-GB.js +3 -1
  1058. package/shared/locales/en-GB.js.map +1 -1
  1059. package/shared/locales/en-US.d.ts +2 -0
  1060. package/shared/locales/index.d.ts +4 -0
  1061. package/shared/locales/nb-NO.d.ts +2 -0
  1062. package/shared/locales/nb-NO.js +3 -1
  1063. package/shared/locales/nb-NO.js.map +1 -1
  1064. package/style/core/reset.scss +13 -3
  1065. package/style/core/utilities.scss +3 -1
  1066. package/style/dnb-ui-components.css +42 -19
  1067. package/style/dnb-ui-components.min.css +1 -1
  1068. package/style/dnb-ui-elements.css +6 -0
  1069. package/style/dnb-ui-elements.min.css +1 -1
  1070. package/style/dnb-ui-extensions.css +115 -44
  1071. package/style/dnb-ui-extensions.min.css +1 -1
  1072. package/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
  1073. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1074. package/style/themes/theme-eiendom/eiendom-theme-components.css +189 -135
  1075. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -1
  1076. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +115 -44
  1077. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1078. package/style/themes/theme-sbanken/customisations.scss +0 -8
  1079. package/style/themes/theme-sbanken/properties.js +6 -6
  1080. package/style/themes/theme-sbanken/properties.js.map +1 -1
  1081. package/style/themes/theme-sbanken/properties.scss +6 -6
  1082. package/style/themes/theme-sbanken/sbanken-theme-basis.css +27 -26
  1083. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1084. package/style/themes/theme-sbanken/sbanken-theme-components.css +574 -615
  1085. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +14 -2
  1086. package/style/themes/theme-sbanken/sbanken-theme-components.scss +8 -7
  1087. package/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
  1088. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1089. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +115 -44
  1090. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1091. package/style/themes/theme-ui/fonts.scss +8 -4
  1092. package/style/themes/theme-ui/ui-theme-basis.css +6 -0
  1093. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1094. package/style/themes/theme-ui/ui-theme-components.css +136 -98
  1095. package/style/themes/theme-ui/ui-theme-components.min.css +7 -1
  1096. package/style/themes/theme-ui/ui-theme-elements.css +6 -0
  1097. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1098. package/style/themes/theme-ui/ui-theme-extensions.css +115 -44
  1099. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1100. package/style/themes/theme-ui/ui-theme-tags.css +3 -0
  1101. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1102. package/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  1103. package/umd/dnb-ui-basis.min.js +1 -1
  1104. package/umd/dnb-ui-components.min.js +1 -1
  1105. package/umd/dnb-ui-elements.min.js +1 -1
  1106. package/umd/dnb-ui-extensions.min.js +6 -6
  1107. package/umd/dnb-ui-lib.min.js +1 -1
  1108. package/cjs/extensions/forms/Field/style/dnb-number.css +0 -11
  1109. package/cjs/extensions/forms/Field/style/dnb-number.min.css +0 -1
  1110. package/cjs/extensions/forms/Field/style/dnb-number.scss +0 -19
  1111. package/cjs/extensions/forms/Field/style/dnb-string.css +0 -11
  1112. package/cjs/extensions/forms/Field/style/dnb-string.min.css +0 -1
  1113. package/cjs/extensions/forms/Field/style/dnb-string.scss +0 -19
  1114. package/es/extensions/forms/Field/style/dnb-number.css +0 -11
  1115. package/es/extensions/forms/Field/style/dnb-number.min.css +0 -1
  1116. package/es/extensions/forms/Field/style/dnb-number.scss +0 -19
  1117. package/es/extensions/forms/Field/style/dnb-string.css +0 -11
  1118. package/es/extensions/forms/Field/style/dnb-string.min.css +0 -1
  1119. package/es/extensions/forms/Field/style/dnb-string.scss +0 -19
  1120. package/extensions/forms/Field/style/dnb-number.css +0 -11
  1121. package/extensions/forms/Field/style/dnb-number.min.css +0 -1
  1122. package/extensions/forms/Field/style/dnb-number.scss +0 -19
  1123. package/extensions/forms/Field/style/dnb-string.css +0 -11
  1124. package/extensions/forms/Field/style/dnb-string.min.css +0 -1
  1125. package/extensions/forms/Field/style/dnb-string.scss +0 -19
@@ -3,4 +3,4 @@
3
3
  *
4
4
  */
5
5
 
6
- import './dnb-avatar.scss'
6
+ import './dnb-avatar.scss';
@@ -37,5 +37,6 @@
37
37
  &__group {
38
38
  --avatar-font-size-left--medium: var(--font-size-basis);
39
39
  --avatar-font-size-left--large: var(--font-size-medium);
40
- --avatar-font-size-left--x-large: var(--font-size-medium);}
40
+ --avatar-font-size-left--x-large: var(--font-size-medium);
41
+ }
41
42
  }
@@ -36,7 +36,7 @@ const defaultProps = {
36
36
  backToText: 'Back to...',
37
37
  isCollapsed: true,
38
38
  styleType: 'transparent',
39
- collapsedStyleType: 'pistachio',
39
+ collapsedStyleType: 'info',
40
40
  spacing: false
41
41
  };
42
42
  exports.defaultProps = defaultProps;
@@ -116,7 +116,7 @@ const Breadcrumb = localProps => {
116
116
  isCollapsed: false,
117
117
  noAnimation: noAnimation
118
118
  })), currentVariant === 'collapse' && _react.default.createElement(_Section.default, {
119
- style_type: collapsedStyleType,
119
+ variant: collapsedStyleType,
120
120
  className: "dnb-breadcrumb__collapse"
121
121
  }, _react.default.createElement(_BreadcrumbMultiple.BreadcrumbMultiple, {
122
122
  data: data,
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_SkeletonHelper","_SpacingHelper","_Section","_Button","_shared","_Context","_BreadcrumbItem","_componentHelper","_BreadcrumbMultiple","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","defaultProps","skeleton","navText","goBackText","homeText","backToText","isCollapsed","styleType","collapsedStyleType","spacing","exports","Breadcrumb","localProps","_context$translation","context","React","useContext","Context","allProps","extendPropsWithContext","translation","className","children","items","variant","onClick","overrideIsCollapsed","noAnimation","data","href","props","skeletonClasses","createSkeletonClass","spacingClasses","createSpacingClasses","setCollapse","useState","isSmallScreen","useMediaQuery","matchOnSSR","when","max","currentVariant","useEffect","validateDOMAttributes","innerSpacing","isTrue","createElement","convertJsxToString","classnames","style_type","text","icon","icon_position","BreadcrumbMultiple","Item","BreadcrumbItem","_default"],"sources":["../../../../src/components/breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Section, {\n SectionSpacing,\n SectionStyleTypes,\n} from '../section/Section'\nimport Button from '../button/Button'\n\n// Shared\nimport { useMediaQuery } from '../../shared'\nimport Context from '../../shared/Context'\nimport type { SpacingProps } from '../../shared/types'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\n\n// Internal\nimport BreadcrumbItem, { BreadcrumbItemProps } from './BreadcrumbItem'\nimport {\n convertJsxToString,\n isTrue,\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { BreadcrumbMultiple } from './BreadcrumbMultiple'\n\nexport interface BreadcrumbProps {\n /**\n * Custom className on the component root\n * Default: null\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Pass in a list of your pages as objects of breadcrumbitem to render them as breadcrumbitems.\n * Default: null\n */\n data?: Array<BreadcrumbItemProps>\n\n /**\n * The content of the component. Can be used instead of prop \"data\".\n * Default: null\n */\n children?:\n | React.ReactElement<BreadcrumbItemProps>\n | Array<React.ReactElement<BreadcrumbItemProps>>\n\n /**\n * The variant of the component.\n * Default: When children and data is not defined, it defaults to \"single\". If they are defined, the variant depends on the viewport.\n */\n variant?: 'single' | 'multiple' | 'collapse'\n\n /**\n * Handle the click event on 'single'/'collapse'\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * For variant 'single', use href (or onClick) to set href when clicking \"Back\"\n * Default: null\n */\n href?: string\n\n /**\n * Every <nav> on a page needs an unique aria-label text\n * Default: Page hierarchy\n */\n navText?: React.ReactNode\n\n /**\n * Add custom 'Back' text for variant 'single'\n * Default: 'Back' or defined by Context translation\n */\n goBackText?: React.ReactNode\n\n /**\n * Add custom 'Home' text\n * Default: 'Home' or defined by Context translation\n */\n homeText?: React.ReactNode\n\n /**\n * Add custom 'Back to...' text, for variant collapse\n * Default 'Back to...' or defined by Context translation\n */\n backToText?: React.ReactNode\n\n /**\n * If variant='collapse', you can override isCollapsed for the collapsed content by updating this value.\n * Default: null\n */\n isCollapsed?: boolean\n\n /**\n * Use one of the Section component style types (style_type)\n * Default: transparent\n */\n styleType?: SectionStyleTypes\n\n /**\n * Use one of the Section component style types (style_type)\n * Default: pistachio\n */\n collapsedStyleType?: SectionStyleTypes\n\n /**\n * Include spacing properties from the Section component in breadcrumb. If only `true` is given, the spacing will be `small`.\n * Default: false\n */\n spacing?: SectionSpacing\n\n /**\n * Will disable the height animation\n * Default: false\n */\n noAnimation?: boolean\n}\n\nexport const defaultProps = {\n skeleton: false,\n navText: 'Back',\n goBackText: 'Back',\n homeText: 'Home',\n backToText: 'Back to...',\n isCollapsed: true,\n styleType: 'transparent',\n collapsedStyleType: 'pistachio',\n spacing: false,\n}\n\nconst Breadcrumb = (localProps: BreadcrumbProps & SpacingProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.translation?.Breadcrumb,\n context?.Breadcrumb,\n { skeleton: context?.skeleton }\n )\n\n const {\n className,\n skeleton,\n children: items,\n variant,\n onClick,\n navText, // has a translation in context\n goBackText, // has a translation in context\n homeText, // eslint-disable-line\n backToText, // has a translation in context\n styleType,\n collapsedStyleType,\n isCollapsed: overrideIsCollapsed,\n spacing,\n noAnimation,\n data,\n href,\n ...props\n } = allProps\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n const [isCollapsed, setCollapse] = useState(overrideIsCollapsed)\n const isSmallScreen = useMediaQuery({\n matchOnSSR: true,\n when: { max: 'medium' },\n })\n\n let currentVariant = variant\n if (!variant) {\n if (items || data) {\n currentVariant = isSmallScreen ? 'collapse' : 'multiple'\n } else {\n currentVariant = 'single'\n }\n }\n\n useEffect(() => {\n setCollapse(overrideIsCollapsed)\n }, [overrideIsCollapsed])\n\n validateDOMAttributes(allProps, props)\n\n const innerSpacing = isTrue(spacing) ? 'small' : spacing\n\n return (\n <nav\n aria-label={convertJsxToString(navText)}\n className={classnames(\n 'dnb-breadcrumb',\n skeletonClasses,\n spacingClasses,\n className\n )}\n {...props}\n >\n <Section\n className=\"dnb-breadcrumb__bar\"\n style_type={styleType || 'transparent'}\n spacing={innerSpacing}\n >\n {currentVariant === 'collapse' && (\n <Button\n text={backToText}\n variant=\"tertiary\"\n icon=\"chevron_left\"\n icon_position=\"left\"\n onClick={\n onClick ||\n (() => {\n setCollapse(!isCollapsed)\n })\n }\n aria-expanded={!isCollapsed}\n />\n )}\n\n {currentVariant === 'single' && (\n <Button\n text={goBackText}\n variant=\"tertiary\"\n icon=\"chevron_left\"\n icon_position=\"left\"\n onClick={onClick}\n href={href}\n />\n )}\n\n {currentVariant === 'multiple' && (\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={false}\n noAnimation={noAnimation}\n />\n )}\n </Section>\n\n {currentVariant === 'collapse' && (\n <Section\n style_type={collapsedStyleType}\n className=\"dnb-breadcrumb__collapse\"\n >\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={isCollapsed}\n noAnimation={noAnimation}\n />\n </Section>\n )}\n </nav>\n )\n}\n\nBreadcrumb.Item = BreadcrumbItem\n\nexport { BreadcrumbItem }\n\nexport default Breadcrumb\n"],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumb.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_SkeletonHelper","_SpacingHelper","_Section","_Button","_shared","_Context","_BreadcrumbItem","_componentHelper","_BreadcrumbMultiple","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","defaultProps","skeleton","navText","goBackText","homeText","backToText","isCollapsed","styleType","collapsedStyleType","spacing","exports","Breadcrumb","localProps","_context$translation","context","React","useContext","Context","allProps","extendPropsWithContext","translation","className","children","items","variant","onClick","overrideIsCollapsed","noAnimation","data","href","props","skeletonClasses","createSkeletonClass","spacingClasses","createSpacingClasses","setCollapse","useState","isSmallScreen","useMediaQuery","matchOnSSR","when","max","currentVariant","useEffect","validateDOMAttributes","innerSpacing","isTrue","createElement","convertJsxToString","classnames","style_type","text","icon","icon_position","BreadcrumbMultiple","Item","BreadcrumbItem","_default"],"sources":["../../../../src/components/breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Section, {\n SectionSpacing,\n SectionStyleTypes,\n} from '../section/Section'\nimport Button from '../button/Button'\n\n// Shared\nimport { useMediaQuery } from '../../shared'\nimport Context from '../../shared/Context'\nimport type { SpacingProps } from '../../shared/types'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\n\n// Internal\nimport BreadcrumbItem, { BreadcrumbItemProps } from './BreadcrumbItem'\nimport {\n convertJsxToString,\n isTrue,\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { BreadcrumbMultiple } from './BreadcrumbMultiple'\n\nexport interface BreadcrumbProps {\n /**\n * Custom className on the component root\n * Default: null\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Pass in a list of your pages as objects of breadcrumbitem to render them as breadcrumbitems.\n * Default: null\n */\n data?: Array<BreadcrumbItemProps>\n\n /**\n * The content of the component. Can be used instead of prop \"data\".\n * Default: null\n */\n children?:\n | React.ReactElement<BreadcrumbItemProps>\n | Array<React.ReactElement<BreadcrumbItemProps>>\n\n /**\n * The variant of the component.\n * Default: When children and data is not defined, it defaults to \"single\". If they are defined, the variant depends on the viewport.\n */\n variant?: 'single' | 'multiple' | 'collapse'\n\n /**\n * Handle the click event on 'single'/'collapse'\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * For variant 'single', use href (or onClick) to set href when clicking \"Back\"\n * Default: null\n */\n href?: string\n\n /**\n * Every <nav> on a page needs an unique aria-label text\n * Default: Page hierarchy\n */\n navText?: React.ReactNode\n\n /**\n * Add custom 'Back' text for variant 'single'\n * Default: 'Back' or defined by Context translation\n */\n goBackText?: React.ReactNode\n\n /**\n * Add custom 'Home' text\n * Default: 'Home' or defined by Context translation\n */\n homeText?: React.ReactNode\n\n /**\n * Add custom 'Back to...' text, for variant collapse\n * Default 'Back to...' or defined by Context translation\n */\n backToText?: React.ReactNode\n\n /**\n * If variant='collapse', you can override isCollapsed for the collapsed content by updating this value.\n * Default: null\n */\n isCollapsed?: boolean\n\n /**\n * Use one of the Section component style types (style_type)\n * Default: transparent\n */\n styleType?: SectionStyleTypes\n\n /**\n * Use one of the Section component style types (style_type)\n * Default: pistachio\n */\n collapsedStyleType?: SectionStyleTypes\n\n /**\n * Include spacing properties from the Section component in breadcrumb. If only `true` is given, the spacing will be `small`.\n * Default: false\n */\n spacing?: SectionSpacing\n\n /**\n * Will disable the height animation\n * Default: false\n */\n noAnimation?: boolean\n}\n\nexport const defaultProps = {\n skeleton: false,\n navText: 'Back',\n goBackText: 'Back',\n homeText: 'Home',\n backToText: 'Back to...',\n isCollapsed: true,\n styleType: 'transparent',\n collapsedStyleType: 'info',\n spacing: false,\n}\n\nconst Breadcrumb = (localProps: BreadcrumbProps & SpacingProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.translation?.Breadcrumb,\n context?.Breadcrumb,\n { skeleton: context?.skeleton }\n )\n\n const {\n className,\n skeleton,\n children: items,\n variant,\n onClick,\n navText, // has a translation in context\n goBackText, // has a translation in context\n homeText, // eslint-disable-line\n backToText, // has a translation in context\n styleType,\n collapsedStyleType,\n isCollapsed: overrideIsCollapsed,\n spacing,\n noAnimation,\n data,\n href,\n ...props\n } = allProps\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n const [isCollapsed, setCollapse] = useState(overrideIsCollapsed)\n const isSmallScreen = useMediaQuery({\n matchOnSSR: true,\n when: { max: 'medium' },\n })\n\n let currentVariant = variant\n if (!variant) {\n if (items || data) {\n currentVariant = isSmallScreen ? 'collapse' : 'multiple'\n } else {\n currentVariant = 'single'\n }\n }\n\n useEffect(() => {\n setCollapse(overrideIsCollapsed)\n }, [overrideIsCollapsed])\n\n validateDOMAttributes(allProps, props)\n\n const innerSpacing = isTrue(spacing) ? 'small' : spacing\n\n return (\n <nav\n aria-label={convertJsxToString(navText)}\n className={classnames(\n 'dnb-breadcrumb',\n skeletonClasses,\n spacingClasses,\n className\n )}\n {...props}\n >\n <Section\n className=\"dnb-breadcrumb__bar\"\n style_type={styleType || 'transparent'}\n spacing={innerSpacing}\n >\n {currentVariant === 'collapse' && (\n <Button\n text={backToText}\n variant=\"tertiary\"\n icon=\"chevron_left\"\n icon_position=\"left\"\n onClick={\n onClick ||\n (() => {\n setCollapse(!isCollapsed)\n })\n }\n aria-expanded={!isCollapsed}\n />\n )}\n\n {currentVariant === 'single' && (\n <Button\n text={goBackText}\n variant=\"tertiary\"\n icon=\"chevron_left\"\n icon_position=\"left\"\n onClick={onClick}\n href={href}\n />\n )}\n\n {currentVariant === 'multiple' && (\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={false}\n noAnimation={noAnimation}\n />\n )}\n </Section>\n\n {currentVariant === 'collapse' && (\n <Section\n variant={collapsedStyleType}\n className=\"dnb-breadcrumb__collapse\"\n >\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={isCollapsed}\n noAnimation={noAnimation}\n />\n </Section>\n )}\n </nav>\n )\n}\n\nBreadcrumb.Item = BreadcrumbItem\n\nexport { BreadcrumbItem }\n\nexport default Breadcrumb\n"],"mappings":"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"}
@@ -9,6 +9,7 @@ var _Button = _interopRequireDefault(require("../button/Button"));
9
9
  var _IconPrimary = _interopRequireDefault(require("../icon-primary/IconPrimary"));
10
10
  var _P = _interopRequireDefault(require("../../elements/P"));
11
11
  var _home = _interopRequireDefault(require("../../icons/home"));
12
+ var _shared = require("../../shared");
12
13
  var _Context = _interopRequireDefault(require("../../shared/Context"));
13
14
  var _componentHelper = require("../../shared/component-helper");
14
15
  const _excluded = ["text", "href", "icon", "onClick", "variant", "skeleton", "itemNr"];
@@ -24,6 +25,17 @@ const defaultProps = {
24
25
  variant: null,
25
26
  skeleton: null
26
27
  };
28
+ const determineSbankenIcon = (variant, isSmallScreen) => {
29
+ switch (variant) {
30
+ case 'home':
31
+ return _home.default;
32
+ case 'single':
33
+ case 'collapse':
34
+ return 'chevron_left';
35
+ default:
36
+ return isSmallScreen ? 'chevron_left' : 'chevron_right';
37
+ }
38
+ };
27
39
  const BreadcrumbItem = localProps => {
28
40
  const context = _react.default.useContext(_Context.default);
29
41
  const {
@@ -44,7 +56,17 @@ const BreadcrumbItem = localProps => {
44
56
  itemNr
45
57
  } = _extendPropsWithConte,
46
58
  props = _objectWithoutProperties(_extendPropsWithConte, _excluded);
47
- const currentIcon = icon || variant === 'home' && _home.default || 'chevron_left';
59
+ const theme = (0, _shared.useTheme)();
60
+ const isSmallScreen = (0, _shared.useMediaQuery)({
61
+ matchOnSSR: true,
62
+ when: {
63
+ max: 'medium'
64
+ }
65
+ });
66
+ let currentIcon = icon || variant === 'home' && _home.default || 'chevron_left';
67
+ if ((theme === null || theme === void 0 ? void 0 : theme.name) === 'sbanken') {
68
+ currentIcon = icon || determineSbankenIcon(variant, isSmallScreen);
69
+ }
48
70
  const currentText = text || variant === 'home' && homeText || '';
49
71
  const isInteractive = (href || onClick) && variant !== 'current';
50
72
  const style = {
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbItem.js","names":["_react","_interopRequireDefault","require","_Button","_IconPrimary","_P","_home","_Context","_componentHelper","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","defaultProps","text","href","icon","onClick","variant","skeleton","BreadcrumbItem","localProps","context","React","useContext","Context","translation","Breadcrumb","homeText","_extendPropsWithConte","extendPropsWithContext","itemNr","props","currentIcon","homeIcon","currentText","isInteractive","style","String","createElement","className","undefined","icon_position","on_click","left","_default","exports"],"sources":["../../../../src/components/breadcrumb/BreadcrumbItem.tsx"],"sourcesContent":["import React from 'react'\n\n// Components\nimport Button from '../button/Button'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\n\n// Elements\nimport P from '../../elements/P'\n\n// Icons\nimport homeIcon from '../../icons/home'\n\n// Shared\nimport Context from '../../shared/Context'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport { extendPropsWithContext } from '../../shared/component-helper'\n\nexport interface BreadcrumbItemProps {\n /**\n * Text displaying the title of the item's corresponding page\n * Default: If variant='home', default is \"Home\". Otherwise it is required.\n */\n text?: React.ReactNode\n\n /**\n * Icon displaying on the left side\n * Default: HomeIcon / chevron_left\n */\n icon?: IconIcon\n\n /**\n * Href should be the link to the item's corresponding page.\n * Default: null\n */\n href?: string\n\n /**\n * Set a custom click event. In this case, you should not define the prop href.\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * The component variant. Variant 'current' should correspond to the current page and 'home' to the root page.\n * Default: null\n */\n variant?: 'home' | 'previous' | 'current'\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /** Internal */\n itemNr?: number\n}\n\nconst defaultProps = {\n text: null,\n href: null,\n icon: null,\n onClick: null,\n variant: null,\n skeleton: null,\n}\n\nconst BreadcrumbItem = (localProps: BreadcrumbItemProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n const {\n translation: {\n Breadcrumb: { homeText },\n },\n } = context\n\n // Extract additional props from global context\n const {\n text,\n href,\n icon,\n onClick,\n variant,\n skeleton,\n itemNr,\n ...props\n } = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.BreadcrumbItem\n )\n\n const currentIcon: IconIcon =\n icon || (variant === 'home' && homeIcon) || 'chevron_left'\n const currentText = text || (variant === 'home' && homeText) || ''\n const isInteractive = (href || onClick) && variant !== 'current'\n const style = { '--delay': String(itemNr) } as React.CSSProperties\n\n return (\n <li\n className=\"dnb-breadcrumb__item\"\n aria-current={variant === 'current' ? 'page' : undefined}\n style={style}\n >\n {isInteractive ? (\n <Button\n variant=\"tertiary\"\n href={href}\n icon={currentIcon}\n icon_position=\"left\"\n on_click={onClick}\n text={currentText}\n skeleton={skeleton}\n {...props}\n />\n ) : (\n <span className=\"dnb-breadcrumb__item__span\" {...props}>\n <IconPrimary\n icon={currentIcon}\n className=\"dnb-breadcrumb__item__span__icon\"\n />\n <P left=\"0\">{currentText}</P>\n </span>\n )}\n </li>\n )\n}\n\nexport default BreadcrumbItem\n"],"mappings":"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"}
1
+ {"version":3,"file":"BreadcrumbItem.js","names":["_react","_interopRequireDefault","require","_Button","_IconPrimary","_P","_home","_shared","_Context","_componentHelper","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","defaultProps","text","href","icon","onClick","variant","skeleton","determineSbankenIcon","isSmallScreen","homeIcon","BreadcrumbItem","localProps","context","React","useContext","Context","translation","Breadcrumb","homeText","_extendPropsWithConte","extendPropsWithContext","itemNr","props","theme","useTheme","useMediaQuery","matchOnSSR","when","max","currentIcon","name","currentText","isInteractive","style","String","createElement","className","undefined","icon_position","on_click","left","_default","exports"],"sources":["../../../../src/components/breadcrumb/BreadcrumbItem.tsx"],"sourcesContent":["import React from 'react'\n\n// Components\nimport Button from '../button/Button'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\n\n// Elements\nimport P from '../../elements/P'\n\n// Icons\nimport homeIcon from '../../icons/home'\n\n// Shared\nimport { useTheme, useMediaQuery } from '../../shared'\nimport Context from '../../shared/Context'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport { extendPropsWithContext } from '../../shared/component-helper'\n\nexport interface BreadcrumbItemProps {\n /**\n * Text displaying the title of the item's corresponding page\n * Default: If variant='home', default is \"Home\". Otherwise it is required.\n */\n text?: React.ReactNode\n\n /**\n * Icon displaying on the left side\n * Default: HomeIcon / chevron_left\n */\n icon?: IconIcon\n\n /**\n * Href should be the link to the item's corresponding page.\n * Default: null\n */\n href?: string\n\n /**\n * Set a custom click event. In this case, you should not define the prop href.\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * The component variant. Variant 'current' should correspond to the current page and 'home' to the root page.\n * Default: null\n */\n variant?: 'home' | 'previous' | 'current'\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /** Internal */\n itemNr?: number\n}\n\nconst defaultProps = {\n text: null,\n href: null,\n icon: null,\n onClick: null,\n variant: null,\n skeleton: null,\n}\n\nconst determineSbankenIcon: IconIcon = (\n variant: string,\n isSmallScreen: boolean\n) => {\n switch (variant) {\n case 'home':\n return homeIcon\n case 'single':\n case 'collapse':\n return 'chevron_left'\n default:\n return isSmallScreen ? 'chevron_left' : 'chevron_right'\n }\n}\n\nconst BreadcrumbItem = (localProps: BreadcrumbItemProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n const {\n translation: {\n Breadcrumb: { homeText },\n },\n } = context\n\n // Extract additional props from global context\n const {\n text,\n href,\n icon,\n onClick,\n variant,\n skeleton,\n itemNr,\n ...props\n } = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.BreadcrumbItem\n )\n\n const theme = useTheme()\n const isSmallScreen = useMediaQuery({\n matchOnSSR: true,\n when: { max: 'medium' },\n })\n\n let currentIcon =\n icon || (variant === 'home' && homeIcon) || 'chevron_left'\n if (theme?.name === 'sbanken') {\n currentIcon = icon || determineSbankenIcon(variant, isSmallScreen)\n }\n const currentText = text || (variant === 'home' && homeText) || ''\n const isInteractive = (href || onClick) && variant !== 'current'\n const style = { '--delay': String(itemNr) } as React.CSSProperties\n\n return (\n <li\n className=\"dnb-breadcrumb__item\"\n aria-current={variant === 'current' ? 'page' : undefined}\n style={style}\n >\n {isInteractive ? (\n <Button\n variant=\"tertiary\"\n href={href}\n icon={currentIcon}\n icon_position=\"left\"\n on_click={onClick}\n text={currentText}\n skeleton={skeleton}\n {...props}\n />\n ) : (\n <span className=\"dnb-breadcrumb__item__span\" {...props}>\n <IconPrimary\n icon={currentIcon}\n className=\"dnb-breadcrumb__item__span__icon\"\n />\n <P left=\"0\">{currentText}</P>\n </span>\n )}\n </li>\n )\n}\n\nexport default BreadcrumbItem\n"],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Sbanken Breadcrumb theme
3
+ *
4
+ */
5
+ /*
6
+ * Utilities
7
+ */
8
+ .dnb-breadcrumb .dnb-button__text {
9
+ font-weight: var(--font-weight-medium);
10
+ color: var(--sb-color-text);
11
+ }
12
+ .dnb-breadcrumb__item__span__icon {
13
+ color: var(--sb-color-violet);
14
+ }
15
+ .dnb-breadcrumb__item__span .dnb-p {
16
+ color: var(--sb-color-gray-dark-3);
17
+ }
18
+ .dnb-breadcrumb__item:not(:last-of-type) .dnb-button.dnb-button--has-text {
19
+ font-weight: var(--font-weight-medium);
20
+ }
21
+ .dnb-breadcrumb__item:not(:last-of-type) .dnb-button.dnb-button--has-text .dnb-button__text {
22
+ color: var(--sb-color-text);
23
+ }
@@ -0,0 +1 @@
1
+ .dnb-breadcrumb .dnb-button__text{color:var(--sb-color-text);font-weight:var(--font-weight-medium)}.dnb-breadcrumb__item__span__icon{color:var(--sb-color-violet)}.dnb-breadcrumb__item__span .dnb-p{color:var(--sb-color-gray-dark-3)}.dnb-breadcrumb__item:not(:last-of-type) .dnb-button.dnb-button--has-text{font-weight:var(--font-weight-medium)}.dnb-breadcrumb__item:not(:last-of-type) .dnb-button.dnb-button--has-text .dnb-button__text{color:var(--sb-color-text)}
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Sbanken Breadcrumb theme
3
+ *
4
+ */
5
+
6
+ @import '../../../../style/core/utilities.scss';
7
+
8
+ .dnb-breadcrumb {
9
+ .dnb-button {
10
+ &__text {
11
+ font-weight: var(--font-weight-medium);
12
+ color: var(--sb-color-text);
13
+ }
14
+ }
15
+ &__item {
16
+ &__span {
17
+ &__icon {
18
+ color: var(--sb-color-violet);
19
+ }
20
+ .dnb-p {
21
+ color: var(--sb-color-gray-dark-3);
22
+ }
23
+ }
24
+ }
25
+ &__item:not(:last-of-type) {
26
+ .dnb-button.dnb-button--has-text {
27
+ font-weight: var(--font-weight-medium);
28
+ .dnb-button__text {
29
+ color: var(--sb-color-text);
30
+ }
31
+ }
32
+ }
33
+ }
@@ -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;