@dnb/eufemia 9.23.0-beta.3 → 9.23.1

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 (227) hide show
  1. package/CHANGELOG.md +15 -11
  2. package/cjs/components/accordion/style/dnb-accordion.css +92 -0
  3. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  4. package/cjs/components/accordion/style/dnb-accordion.scss +3 -0
  5. package/cjs/components/autocomplete/style/dnb-autocomplete.css +1652 -64
  6. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  7. package/cjs/components/autocomplete/style/dnb-autocomplete.scss +1 -2
  8. package/cjs/components/button/style/dnb-button.css +192 -0
  9. package/cjs/components/button/style/dnb-button.min.css +1 -1
  10. package/cjs/components/button/style/dnb-button.scss +1 -1
  11. package/cjs/components/date-picker/style/dnb-date-picker.css +729 -0
  12. package/cjs/components/date-picker/style/dnb-date-picker.min.css +2 -2
  13. package/cjs/components/dialog/style/dnb-dialog.css +1883 -79
  14. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  15. package/cjs/components/dialog/style/dnb-dialog.scss +1 -1
  16. package/cjs/components/drawer/Drawer.js +2 -1
  17. package/cjs/components/drawer/style/dnb-drawer.css +1883 -79
  18. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  19. package/cjs/components/drawer/style/dnb-drawer.scss +1 -1
  20. package/cjs/components/dropdown/style/dnb-dropdown.css +192 -0
  21. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  22. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-ui.css +12 -11
  23. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-ui.min.css +1 -1
  24. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-ui.scss +4 -1
  25. package/cjs/components/global-error/style/dnb-global-error.css +192 -0
  26. package/cjs/components/global-error/style/dnb-global-error.min.css +1 -1
  27. package/cjs/components/global-status/style/dnb-global-status.css +192 -0
  28. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  29. package/cjs/components/help-button/style/dnb-help-button.css +773 -0
  30. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
  31. package/cjs/components/help-button/style/dnb-help-button.scss +3 -0
  32. package/cjs/components/icon/Icon.d.ts +1 -1
  33. package/cjs/components/icon-primary/IconPrimary.d.ts +1 -1
  34. package/cjs/components/info-card/InfoCard.js +2 -2
  35. package/cjs/components/info-card/style/_info-card.scss +3 -0
  36. package/cjs/components/info-card/style/dnb-info-card.css +4 -1
  37. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
  38. package/cjs/components/input/style/dnb-input.css +371 -0
  39. package/cjs/components/input/style/dnb-input.min.css +1 -1
  40. package/cjs/components/input/style/dnb-input.scss +1 -0
  41. package/cjs/components/input-masked/style/dnb-input-masked.css +371 -0
  42. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  43. package/cjs/components/modal/style/_modal.scss +6 -0
  44. package/cjs/components/modal/style/dnb-modal.css +282 -1
  45. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  46. package/cjs/components/modal/style/dnb-modal.scss +1 -1
  47. package/cjs/components/pagination/style/dnb-pagination.css +192 -0
  48. package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
  49. package/cjs/components/slider/style/dnb-slider.css +192 -0
  50. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  51. package/cjs/components/step-indicator/style/dnb-step-indicator.css +773 -0
  52. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  53. package/cjs/components/step-indicator/style/dnb-step-indicator.scss +2 -0
  54. package/cjs/components/tabs/Tabs.d.ts +6 -0
  55. package/cjs/components/tabs/Tabs.js +193 -162
  56. package/cjs/components/tabs/style/_tabs.scss +59 -61
  57. package/cjs/components/tabs/style/dnb-tabs.css +176 -180
  58. package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
  59. package/cjs/components/tag/style/_tag.scss +10 -6
  60. package/cjs/components/tag/style/dnb-tag.css +205 -5
  61. package/cjs/components/tag/style/dnb-tag.min.css +1 -1
  62. package/cjs/components/toggle-button/style/dnb-toggle-button.css +192 -0
  63. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  64. package/cjs/components/toggle-button/style/dnb-toggle-button.scss +2 -0
  65. package/cjs/shared/Eufemia.js +1 -1
  66. package/cjs/shared/hooks/usePropsWithContext.js +1 -1
  67. package/cjs/style/dnb-ui-components.css +207 -187
  68. package/cjs/style/dnb-ui-components.min.css +3 -3
  69. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.css +12 -11
  70. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +1 -1
  71. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +12 -11
  72. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +1 -1
  73. package/components/accordion/style/dnb-accordion.css +92 -0
  74. package/components/accordion/style/dnb-accordion.min.css +1 -1
  75. package/components/accordion/style/dnb-accordion.scss +3 -0
  76. package/components/autocomplete/style/dnb-autocomplete.css +1652 -64
  77. package/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  78. package/components/autocomplete/style/dnb-autocomplete.scss +1 -2
  79. package/components/button/style/dnb-button.css +192 -0
  80. package/components/button/style/dnb-button.min.css +1 -1
  81. package/components/button/style/dnb-button.scss +1 -1
  82. package/components/date-picker/style/dnb-date-picker.css +729 -0
  83. package/components/date-picker/style/dnb-date-picker.min.css +2 -2
  84. package/components/dialog/style/dnb-dialog.css +1883 -79
  85. package/components/dialog/style/dnb-dialog.min.css +1 -1
  86. package/components/dialog/style/dnb-dialog.scss +1 -1
  87. package/components/drawer/Drawer.js +2 -1
  88. package/components/drawer/style/dnb-drawer.css +1883 -79
  89. package/components/drawer/style/dnb-drawer.min.css +1 -1
  90. package/components/drawer/style/dnb-drawer.scss +1 -1
  91. package/components/dropdown/style/dnb-dropdown.css +192 -0
  92. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  93. package/components/dropdown/style/themes/dnb-dropdown-theme-ui.css +12 -11
  94. package/components/dropdown/style/themes/dnb-dropdown-theme-ui.min.css +1 -1
  95. package/components/dropdown/style/themes/dnb-dropdown-theme-ui.scss +4 -1
  96. package/components/global-error/style/dnb-global-error.css +192 -0
  97. package/components/global-error/style/dnb-global-error.min.css +1 -1
  98. package/components/global-status/style/dnb-global-status.css +192 -0
  99. package/components/global-status/style/dnb-global-status.min.css +1 -1
  100. package/components/help-button/style/dnb-help-button.css +773 -0
  101. package/components/help-button/style/dnb-help-button.min.css +1 -1
  102. package/components/help-button/style/dnb-help-button.scss +3 -0
  103. package/components/icon/Icon.d.ts +1 -1
  104. package/components/icon-primary/IconPrimary.d.ts +1 -1
  105. package/components/info-card/InfoCard.js +2 -2
  106. package/components/info-card/style/_info-card.scss +3 -0
  107. package/components/info-card/style/dnb-info-card.css +4 -1
  108. package/components/info-card/style/dnb-info-card.min.css +1 -1
  109. package/components/input/style/dnb-input.css +371 -0
  110. package/components/input/style/dnb-input.min.css +1 -1
  111. package/components/input/style/dnb-input.scss +1 -0
  112. package/components/input-masked/style/dnb-input-masked.css +371 -0
  113. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  114. package/components/modal/style/_modal.scss +6 -0
  115. package/components/modal/style/dnb-modal.css +282 -1
  116. package/components/modal/style/dnb-modal.min.css +1 -1
  117. package/components/modal/style/dnb-modal.scss +1 -1
  118. package/components/pagination/style/dnb-pagination.css +192 -0
  119. package/components/pagination/style/dnb-pagination.min.css +1 -1
  120. package/components/slider/style/dnb-slider.css +192 -0
  121. package/components/slider/style/dnb-slider.min.css +1 -1
  122. package/components/step-indicator/style/dnb-step-indicator.css +773 -0
  123. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  124. package/components/step-indicator/style/dnb-step-indicator.scss +2 -0
  125. package/components/tabs/Tabs.d.ts +6 -0
  126. package/components/tabs/Tabs.js +192 -161
  127. package/components/tabs/style/_tabs.scss +59 -61
  128. package/components/tabs/style/dnb-tabs.css +176 -180
  129. package/components/tabs/style/dnb-tabs.min.css +1 -1
  130. package/components/tag/style/_tag.scss +10 -6
  131. package/components/tag/style/dnb-tag.css +205 -5
  132. package/components/tag/style/dnb-tag.min.css +1 -1
  133. package/components/toggle-button/style/dnb-toggle-button.css +192 -0
  134. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  135. package/components/toggle-button/style/dnb-toggle-button.scss +2 -0
  136. package/es/components/accordion/style/dnb-accordion.css +92 -0
  137. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  138. package/es/components/accordion/style/dnb-accordion.scss +3 -0
  139. package/es/components/autocomplete/style/dnb-autocomplete.css +1652 -64
  140. package/es/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  141. package/es/components/autocomplete/style/dnb-autocomplete.scss +1 -2
  142. package/es/components/button/style/dnb-button.css +192 -0
  143. package/es/components/button/style/dnb-button.min.css +1 -1
  144. package/es/components/button/style/dnb-button.scss +1 -1
  145. package/es/components/date-picker/style/dnb-date-picker.css +729 -0
  146. package/es/components/date-picker/style/dnb-date-picker.min.css +2 -2
  147. package/es/components/dialog/style/dnb-dialog.css +1883 -79
  148. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  149. package/es/components/dialog/style/dnb-dialog.scss +1 -1
  150. package/es/components/drawer/Drawer.js +2 -1
  151. package/es/components/drawer/style/dnb-drawer.css +1883 -79
  152. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  153. package/es/components/drawer/style/dnb-drawer.scss +1 -1
  154. package/es/components/dropdown/style/dnb-dropdown.css +192 -0
  155. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  156. package/es/components/dropdown/style/themes/dnb-dropdown-theme-ui.css +12 -11
  157. package/es/components/dropdown/style/themes/dnb-dropdown-theme-ui.min.css +1 -1
  158. package/es/components/dropdown/style/themes/dnb-dropdown-theme-ui.scss +4 -1
  159. package/es/components/global-error/style/dnb-global-error.css +192 -0
  160. package/es/components/global-error/style/dnb-global-error.min.css +1 -1
  161. package/es/components/global-status/style/dnb-global-status.css +192 -0
  162. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  163. package/es/components/help-button/style/dnb-help-button.css +773 -0
  164. package/es/components/help-button/style/dnb-help-button.min.css +1 -1
  165. package/es/components/help-button/style/dnb-help-button.scss +3 -0
  166. package/es/components/icon/Icon.d.ts +1 -1
  167. package/es/components/icon-primary/IconPrimary.d.ts +1 -1
  168. package/es/components/info-card/InfoCard.js +2 -2
  169. package/es/components/info-card/style/_info-card.scss +3 -0
  170. package/es/components/info-card/style/dnb-info-card.css +4 -1
  171. package/es/components/info-card/style/dnb-info-card.min.css +1 -1
  172. package/es/components/input/style/dnb-input.css +371 -0
  173. package/es/components/input/style/dnb-input.min.css +1 -1
  174. package/es/components/input/style/dnb-input.scss +1 -0
  175. package/es/components/input-masked/style/dnb-input-masked.css +371 -0
  176. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  177. package/es/components/modal/style/_modal.scss +6 -0
  178. package/es/components/modal/style/dnb-modal.css +282 -1
  179. package/es/components/modal/style/dnb-modal.min.css +1 -1
  180. package/es/components/modal/style/dnb-modal.scss +1 -1
  181. package/es/components/pagination/style/dnb-pagination.css +192 -0
  182. package/es/components/pagination/style/dnb-pagination.min.css +1 -1
  183. package/es/components/slider/style/dnb-slider.css +192 -0
  184. package/es/components/slider/style/dnb-slider.min.css +1 -1
  185. package/es/components/step-indicator/style/dnb-step-indicator.css +773 -0
  186. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  187. package/es/components/step-indicator/style/dnb-step-indicator.scss +2 -0
  188. package/es/components/tabs/Tabs.d.ts +6 -0
  189. package/es/components/tabs/Tabs.js +134 -108
  190. package/es/components/tabs/style/_tabs.scss +59 -61
  191. package/es/components/tabs/style/dnb-tabs.css +176 -180
  192. package/es/components/tabs/style/dnb-tabs.min.css +1 -1
  193. package/es/components/tag/style/_tag.scss +10 -6
  194. package/es/components/tag/style/dnb-tag.css +205 -5
  195. package/es/components/tag/style/dnb-tag.min.css +1 -1
  196. package/es/components/toggle-button/style/dnb-toggle-button.css +192 -0
  197. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  198. package/es/components/toggle-button/style/dnb-toggle-button.scss +2 -0
  199. package/es/shared/Eufemia.js +1 -1
  200. package/es/shared/hooks/usePropsWithContext.js +1 -1
  201. package/es/style/dnb-ui-components.css +207 -187
  202. package/es/style/dnb-ui-components.min.css +3 -3
  203. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.css +12 -11
  204. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +1 -1
  205. package/es/style/themes/theme-ui/dnb-theme-ui.css +12 -11
  206. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +1 -1
  207. package/esm/dnb-ui-basis.min.mjs +1 -1
  208. package/esm/dnb-ui-components.min.mjs +1 -1
  209. package/esm/dnb-ui-elements.min.mjs +1 -1
  210. package/esm/dnb-ui-extensions.min.mjs +1 -1
  211. package/esm/dnb-ui-lib.min.mjs +3 -3
  212. package/esm/dnb-ui-web-components.min.mjs +2 -2
  213. package/package.json +1 -1
  214. package/shared/Eufemia.js +1 -1
  215. package/shared/hooks/usePropsWithContext.js +1 -1
  216. package/style/dnb-ui-components.css +207 -187
  217. package/style/dnb-ui-components.min.css +3 -3
  218. package/style/themes/theme-open-banking/dnb-theme-open-banking.css +12 -11
  219. package/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +1 -1
  220. package/style/themes/theme-ui/dnb-theme-ui.css +12 -11
  221. package/style/themes/theme-ui/dnb-theme-ui.min.css +1 -1
  222. package/umd/dnb-ui-basis.min.js +1 -1
  223. package/umd/dnb-ui-components.min.js +3 -3
  224. package/umd/dnb-ui-elements.min.js +1 -1
  225. package/umd/dnb-ui-extensions.min.js +1 -1
  226. package/umd/dnb-ui-lib.min.js +3 -3
  227. package/umd/dnb-ui-web-components.min.js +3 -3
@@ -1,2 +1,2 @@
1
- .dnb-step-indicator{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-step-indicator *,.dnb-step-indicator :after,.dnb-step-indicator :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-step-indicator :after,.dnb-step-indicator :before{text-decoration:inherit;vertical-align:inherit}.dnb-step-indicator-v1 .dnb-step-indicator{display:block;padding:0;position:relative;z-index:1}.dnb-step-indicator-v1 .dnb-step-indicator__list{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;list-style:none;margin:0;padding:0}.dnb-spacing .dnb-step-indicator-v1 .dnb-step-indicator__list,.dnb-spacing .dnb-step-indicator-v1 .dnb-step-indicator__list li{margin-bottom:0;margin-top:0}.dnb-step-indicator-v1 .dnb-step-indicator__item{-ms-flex-item-align:end;align-self:flex-end}.dnb-step-indicator-v1 .dnb-step-indicator__item-content{font-size:1.125rem;font-size:var(--font-size-basis)}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--link,.dnb-step-indicator-v1 .dnb-step-indicator__item-content--static,.dnb-step-indicator-v1 .dnb-step-indicator__item-content.dnb-anchor,.dnb-step-indicator-v1 .dnb-step-indicator__item-contenta{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;border-bottom:none;-webkit-box-shadow:none;box-shadow:none;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;height:100%;margin:0;padding:.25rem;position:relative;text-decoration:none;z-index:2}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--link.dnb-anchor{line-height:1.5rem;line-height:var(--line-height-basis)}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus[disabled],html:not([data-whatintent=touch]) .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus[disabled]{cursor:not-allowed}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]),html:not([data-whatintent=touch]) .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]){outline:none}html[data-whatinput=keyboard] .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]),html[data-whatinput=keyboard] html:not([data-whatintent=touch]) .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]){--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]),html[data-whatinput=keyboard] html:not([data-whatintent=touch]) .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]){-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]):after,html:not([data-whatintent=touch]) .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]):after{content:none}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--number{padding-right:.25rem;white-space:nowrap}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--text{text-align:left}.dnb-step-indicator-v1 .dnb-step-indicator__item-content:after{border-radius:1.5px;bottom:0;content:"";height:3px;left:0;position:absolute;width:100%;z-index:1}.dnb-step-indicator-v1 .dnb-step-indicator:after{background-color:currentColor;bottom:0;-webkit-box-shadow:100vw 0 0 0 currentColor;box-shadow:100vw 0 0 0 currentColor;color:#000;color:var(--color-black);content:"";height:1px;left:-100vw;position:absolute;width:100vw;z-index:-1}@media screen and (min-width:50.1em){.dnb-step-indicator__sidebar{margin-right:3rem;margin-right:var(--spacing-x-large);max-width:20rem}.dnb-step-indicator__sidebar .dnb-step-indicator__item{min-width:320px}}@media screen and (max-width:50.1em){.dnb-step-indicator__sidebar--ssr-skeleton{height:5.5rem;overflow:hidden;visibility:hidden;width:0}}.dnb-step-indicator-v2 .dnb-step-indicator__list{list-style:none;margin:0;padding:0}.dnb-step-indicator-v2 .dnb-step-indicator__list,.dnb-step-indicator-v2 .dnb-step-indicator__trigger{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button,.dnb-step-indicator-v2 .dnb-step-indicator__trigger__button{-webkit-box-pack:justify;-ms-flex-pack:justify;border-radius:.25rem;justify-content:space-between;overflow:hidden;-webkit-transition:height .4s cubic-bezier(.42,0,0,1);transition:height .4s cubic-bezier(.42,0,0,1);will-change:height}.dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button .dnb-button__text,.dnb-step-indicator-v2 .dnb-step-indicator__trigger__button .dnb-button__text{text-align:left}.dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button.dnb-button--has-icon .dnb-button__text,.dnb-step-indicator-v2 .dnb-step-indicator__trigger__button.dnb-button--has-icon .dnb-button__text{margin-right:1rem}.dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button .dnb-button__alignment,.dnb-step-indicator-v2 .dnb-step-indicator__trigger__button .dnb-button__alignment{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}html[data-visual-test] .dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button,html[data-visual-test] .dnb-step-indicator-v2 .dnb-step-indicator__trigger__button{-webkit-transition-duration:1ms!important;transition-duration:1ms!important}.dnb-step-indicator-v2 .dnb-step-indicator__trigger button.dnb-step-indicator-v2 .dnb-step-indicator__trigger__button{margin-top:.5rem}.dnb-step-indicator-v2 .dnb-step-indicator__item{margin-bottom:1rem}.dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button__icon{opacity:1;-webkit-transition:opacity 1.4s ease-in-out;transition:opacity 1.4s ease-in-out}html[data-visual-test] .dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button__icon{-webkit-transition-duration:1ms!important;transition-duration:1ms!important}.dnb-step-indicator-v2 .dnb-step-indicator__item:not(.dnb-step-indicator__item--visited) .dnb-button:not(.dnb-step-indicator__button__status)
1
+ .dnb-icon{color:inherit;display:inline-block;font-size:1rem;height:1em;line-height:1rem;vertical-align:middle;width:1em}.dnb-icon img,.dnb-icon svg{shape-rendering:geometricPrecision;height:inherit;vertical-align:top;width:inherit}.dnb-icon svg[width="100%"]{width:inherit}.dnb-icon svg[height="100%"]{height:inherit}.dnb-icon--inherit-color svg:not([fill]),.dnb-icon--inherit-color svg [fill]{fill:currentColor}.dnb-icon--inherit-color svg [stroke]{stroke:currentColor}.dnb-icon--small{font-size:.75rem}.dnb-icon--default{font-size:1rem}.dnb-icon--medium{font-size:1.5rem}.dnb-icon--large{font-size:2rem}.dnb-icon--x-large{font-size:2.5rem}.dnb-icon--xx-large{font-size:3rem}.dnb-icon--custom-size{height:auto;width:auto}.dnb-icon--auto{font-size:1em}.dnb-icon--auto>.dnb-icon--wrapper{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;justify-content:center}h1 .dnb-icon,h2 .dnb-icon,h3 .dnb-icon,h4 .dnb-icon,h5 .dnb-icon,h6 .dnb-icon{vertical-align:middle}.dnb-icon.dnb-skeleton{color:#ebebeb!important;color:var(--skeleton-color)!important}.dnb-icon.dnb-skeleton:after,.dnb-icon.dnb-skeleton:before{content:none!important}@media screen and (-ms-high-contrast:none){.dnb-icon{-webkit-box-flex:0;-ms-flex:none;flex:none}}.dnb-tooltip{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-tooltip *,.dnb-tooltip :after,.dnb-tooltip :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-tooltip :after,.dnb-tooltip :before{text-decoration:inherit;vertical-align:inherit}.dnb-tooltip{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;justify-content:center;opacity:0;padding:0 1rem;position:absolute;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out;visibility:hidden;z-index:3100}.dnb-tooltip--large{padding:.25rem 1rem}.dnb-tooltip--animate_position{-webkit-transition:all .3s ease-in-out,opacity .2s ease-out;transition:all .3s ease-in-out,opacity .2s ease-out}.dnb-tooltip--active{-webkit-animation:show-tooltip .2s ease-out forwards;animation:show-tooltip .2s ease-out forwards;visibility:visible}.dnb-tooltip--active.dnb-tooltip--no-animation,html[data-visual-test] .dnb-tooltip--active{-webkit-animation:show-tooltip 1ms ease-out forwards;animation:show-tooltip 1ms ease-out forwards}.dnb-tooltip--hide{-webkit-animation:hide-tooltip .2s ease-in-out forwards;animation:hide-tooltip .2s ease-in-out forwards;visibility:visible}.dnb-tooltip--hide.dnb-tooltip--no-animation{-webkit-animation:hide-tooltip 1ms ease-out forwards;animation:hide-tooltip 1ms ease-out forwards}.dnb-tooltip--fixed{position:fixed}html[data-visual-test] .dnb-tooltip--hide{-webkit-animation:hide-tooltip 1ms ease-out 1s forwards;animation:hide-tooltip 1ms ease-out 1s forwards}.dnb-tooltip__content{min-height:1.5rem;min-width:2rem;padding:0}.dnb-tooltip__arrow{height:.5rem;margin:0;overflow:hidden;pointer-events:none;position:absolute;width:1rem}.dnb-tooltip__arrow:before{bottom:0;content:"";height:1rem;left:0;position:absolute;-webkit-transform:translateY(70%) rotate(45deg);transform:translateY(70%) rotate(45deg);width:1rem}.dnb-tooltip__arrow__position--bottom{top:-.5rem}.dnb-tooltip__arrow__position--top{bottom:-.5rem;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.dnb-tooltip__arrow__position--left{margin-right:3px;right:-.75rem;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.dnb-tooltip__arrow__position--right{left:-.75rem;margin-left:3px;-webkit-transform:rotate(270deg);transform:rotate(270deg)}.dnb-tooltip__arrow__arrow--left{-ms-flex-item-align:start;align-self:flex-start}.dnb-tooltip__arrow__arrow--right{-ms-flex-item-align:end;align-self:flex-end}@-webkit-keyframes show-tooltip{0%{opacity:0}to{opacity:1}}@keyframes show-tooltip{0%{opacity:0}to{opacity:1}}@-webkit-keyframes hide-tooltip{0%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes hide-tooltip{0%{opacity:1}to{opacity:0;visibility:hidden}}.dnb-form-status{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-form-status *,.dnb-form-status :after,.dnb-form-status :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-form-status :after,.dnb-form-status :before{text-decoration:inherit;vertical-align:inherit}:root{--form-status-radius:0.25rem}.dnb-form-status{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1;-webkit-transition:height .4s cubic-bezier(.42,0,0,1),opacity .4s cubic-bezier(.42,0,0,1),margin .4s cubic-bezier(.42,0,0,1),padding .4s cubic-bezier(.42,0,0,1);transition:height .4s cubic-bezier(.42,0,0,1),opacity .4s cubic-bezier(.42,0,0,1),margin .4s cubic-bezier(.42,0,0,1),padding .4s cubic-bezier(.42,0,0,1)}.dnb-form-status--hidden{height:0;opacity:0;width:0;will-change:height,opacity,margin,padding}.dnb-form-status--is-animating{overflow:hidden;width:auto}.dnb-form-status--disappear,.dnb-form-status--hidden{margin:0!important;padding:0!important}.dnb-form-status__shell{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;border-radius:.25rem;border-radius:var(--form-status-radius);display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:flex-start;min-width:inherit}.dnb-form-status__text{color:inherit;cursor:text;font-size:1rem;font-size:var(--font-size-small);line-height:1.25rem;line-height:var(--line-height-small);padding:.625rem 1rem;white-space:normal}button .dnb-form-status__text{cursor:inherit}.dnb-form-status__text .dnb-anchor{font-size:inherit}.dnb-icon+.dnb-form-status__text{padding-left:.5rem}.dnb-form-status__shell>.dnb-icon{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;margin:.3333333em .3333333em .3333333em .6666666em}.dnb-form-status__size--large .dnb-form-status__text{padding-bottom:1.125rem;padding-top:1.125rem}.dnb-form-status__size--large .dnb-form-status__shell>.dnb-icon{margin-bottom:.6666666em;margin-top:.6666666em}.dnb-form-status--stretch{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.dnb-form-status--stretch .dnb-form-status__shell{width:100%}.dnb-form-status--stretch .dnb-form-status__text{max-width:47rem}.dnb-form-status[hidden]{display:none}.dnb-form-status--no-animation,html[data-visual-test] .dnb-form-status{-webkit-transition-duration:1ms!important;transition-duration:1ms!important}@media screen and (-ms-high-contrast:none){.dnb-form-status__shell>.dnb-icon{border-width:1px}}.dnb-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-button *,.dnb-button :after,.dnb-button :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-button :after,.dnb-button :before{text-decoration:inherit;vertical-align:inherit}:root{--button-font-size:var(--font-size-basis);--button-font-size-small:var(--font-size-small);--button-width:2.5rem;--button-height:2.5rem;--button-width--small:1.5rem;--button-height--small:1.5rem;--button-width--medium:2rem;--button-height--medium:2rem;--button-width--large:3rem;--button-height--large:3rem;--button-icon-size:1rem;--button-border-width:0.0625rem;--button-border-width--hover:0.1875rem;--button-border-radius:calc(var(--button-height)/2);--button-border-radius--small:calc(var(--button-height--small)/2);--button-border-radius--medium:calc(var(--button-height--medium)/2);--button-border-radius--large:calc(var(--button-height--large)/2)}.dnb-button{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:.0625rem solid transparent;border:var(--button-border-width) solid transparent;border-radius:1.25rem;border-radius:var(--button-border-radius);cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-size:1rem;font-size:var(--font-size-small);height:auto;justify-content:center;padding:0;position:relative;text-decoration:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;white-space:nowrap;width:2.5rem;width:var(--button-width)}.dnb-button--wrap{word-wrap:break-word;white-space:normal}.dnb-button,.dnb-core-style .dnb-button{line-height:2.5rem;line-height:var(--button-height)}.dnb-button__text{color:inherit;font-size:1.125rem;font-size:var(--button-font-size);line-height:1.5rem;line-height:var(--line-height-basis);margin:.5rem 0;-webkit-transform:translateY(-.03125rem);transform:translateY(-.03125rem)}.dnb-button__text [data-os=linux]{-webkit-transform:translateY(-.035rem);transform:translateY(-.035rem)}.dnb-button__alignment{display:inline-block;width:0}.dnb-button__bounding{background-color:transparent;border-radius:1.25rem;border-radius:var(--button-border-radius);bottom:0;left:0;position:absolute;right:0;top:0;-webkit-transform:scale(1.1,1.4);transform:scale(1.1,1.4)}.dnb-button--has-text{padding-left:1.5rem;padding-right:1.5rem}.dnb-button--size-small{border-radius:.75rem;border-radius:var(--button-border-radius--small);font-size:1rem;font-size:var(--button-font-size-small);width:1.5rem;width:var(--button-width--small)}.dnb-button--size-small,.dnb-core-style .dnb-button--size-small{line-height:1.5rem;line-height:var(--button-height--small)}.dnb-button--size-small .dnb-button__text{margin:0}.dnb-button--has-text.dnb-button--size-small{padding-left:1rem;padding-right:1rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-small{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-small{padding-right:.5rem}.dnb-button--size-medium{border-radius:1rem;border-radius:var(--button-border-radius--medium);width:2rem;width:var(--button-width--medium)}.dnb-button--size-medium,.dnb-core-style .dnb-button--size-medium{line-height:2rem;line-height:var(--button-height--medium)}.dnb-button--size-medium .dnb-button__text{margin:0}.dnb-button--has-text.dnb-button--size-medium{padding-left:1rem;padding-right:1rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-medium{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-medium{padding-right:.5rem}.dnb-button--size-large{border-radius:1.5rem;border-radius:var(--button-border-radius--large);width:3rem;width:var(--button-width--large)}.dnb-button--size-large,.dnb-core-style .dnb-button--size-large{line-height:3rem;line-height:var(--button-height--large)}.dnb-button--has-text.dnb-button--size-large{padding-left:2rem;padding-right:2rem}.dnb-button--has-text.dnb-button--icon-position-left.dnb-button--size-large{padding-left:1rem}.dnb-button--has-text.dnb-button--icon-position-right.dnb-button--size-large{padding-right:1rem}.dnb-button--has-text{width:auto}.dnb-button--has-text .dnb-button__icon{margin:0 .5rem;margin:0 calc(var(--button-icon-size)/2)}.dnb-button--has-text.dnb-button--icon-position-left{padding-left:.5rem}.dnb-button--has-text.dnb-button--icon-position-right{padding-right:.5rem}.dnb-button--has-text.dnb-button--has-icon .dnb-button__icon{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.dnb-button--has-text.dnb-button--has-icon .dnb-button__text{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.dnb-button:not(.dnb-button--has-text) .dnb-button__icon{width:inherit}.dnb-button__icon.dnb-icon svg:not([width]):not([height]){height:1rem;height:var(--button-icon-size);width:1rem;width:var(--button-icon-size)}[href]>.dnb-button__icon.dnb-icon{line-height:1.125rem;line-height:var(--button-font-size)}.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__icon,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__icon{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left .dnb-button__text,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-left>*,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top .dnb-button__text,.dnb-button--has-text.dnb-button--has-icon.dnb-button--icon-position-top>*{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.dnb-button--stretch{width:100%}.dnb-button--reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:inherit;font:inherit;height:auto;line-height:inherit;margin:0;overflow:visible;padding:0;text-align:inherit;width:auto}html:not([data-whatintent=touch]) .dnb-button--reset:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--reset:hover:not([disabled]){border:none;-webkit-box-shadow:none;box-shadow:none}.dnb-button--reset:not([disabled]):active,.dnb-button--reset:not([disabled]):focus{outline:none}html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):active,html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):focus{--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):active,html[data-whatinput=keyboard] .dnb-button--reset:not([disabled]):focus{-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}html[data-whatinput=mouse] .dnb-button--reset:not([disabled]):active,html[data-whatinput=mouse] .dnb-button--reset:not([disabled]):focus{border:none;-webkit-box-shadow:none;box-shadow:none;color:inherit}.dnb-button[type=button],.dnb-button[type=reset],.dnb-button[type=submit]{appearance:none;-moz-appearance:none;-webkit-appearance:none}.dnb-button[disabled]{cursor:not-allowed}.dnb-form-row--vertical .dnb-form-row__content>.dnb-button{-ms-flex-item-align:start;align-self:flex-start}.dnb-form-row--horizontal .dnb-form-row__content .dnb-button__text{white-space:nowrap}.dnb-button+.dnb-form-status{margin-top:.5rem}@media screen and (-ms-high-contrast:none){.dnb-button{-webkit-box-flex:0;-ms-flex:none;flex:none}.dnb-button__icon,.dnb-button__text{-webkit-transform:translateY(-.0625rem);transform:translateY(-.0625rem)}}button.dnb-button::-moz-focus-inner{border:none}.dnb-step-indicator{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-step-indicator *,.dnb-step-indicator :after,.dnb-step-indicator :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-step-indicator :after,.dnb-step-indicator :before{text-decoration:inherit;vertical-align:inherit}.dnb-step-indicator-v1 .dnb-step-indicator{display:block;padding:0;position:relative;z-index:1}.dnb-step-indicator-v1 .dnb-step-indicator__list{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;list-style:none;margin:0;padding:0}.dnb-spacing .dnb-step-indicator-v1 .dnb-step-indicator__list,.dnb-spacing .dnb-step-indicator-v1 .dnb-step-indicator__list li{margin-bottom:0;margin-top:0}.dnb-step-indicator-v1 .dnb-step-indicator__item{-ms-flex-item-align:end;align-self:flex-end}.dnb-step-indicator-v1 .dnb-step-indicator__item-content{font-size:1.125rem;font-size:var(--font-size-basis)}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--link,.dnb-step-indicator-v1 .dnb-step-indicator__item-content--static,.dnb-step-indicator-v1 .dnb-step-indicator__item-content.dnb-anchor,.dnb-step-indicator-v1 .dnb-step-indicator__item-contenta{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;border-bottom:none;-webkit-box-shadow:none;box-shadow:none;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;height:100%;margin:0;padding:.25rem;position:relative;text-decoration:none;z-index:2}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--link.dnb-anchor{line-height:1.5rem;line-height:var(--line-height-basis)}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus[disabled],html:not([data-whatintent=touch]) .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus[disabled]{cursor:not-allowed}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]),html:not([data-whatintent=touch]) .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]){outline:none}html[data-whatinput=keyboard] .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]),html[data-whatinput=keyboard] html:not([data-whatintent=touch]) .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]){--border-color:var(--color-emerald-green);border-color:transparent;-webkit-box-shadow:0 0 0 .125rem var(--border-color);box-shadow:0 0 0 .125rem var(--border-color)}@media screen and (-ms-high-contrast:none){html[data-whatinput=keyboard] .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]),html[data-whatinput=keyboard] html:not([data-whatintent=touch]) .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]){-webkit-box-shadow:0 0 0 .125rem #14555a;box-shadow:0 0 0 .125rem #14555a;-webkit-box-shadow:0 0 0 .125rem var(--color-emerald-green);box-shadow:0 0 0 .125rem var(--color-emerald-green)}}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]):after,html:not([data-whatintent=touch]) .dnb-step-indicator-v1 .dnb-step-indicator__item-content--link:focus:not([disabled]):after{content:none}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--number{padding-right:.25rem;white-space:nowrap}.dnb-step-indicator-v1 .dnb-step-indicator__item-content--text{text-align:left}.dnb-step-indicator-v1 .dnb-step-indicator__item-content:after{border-radius:1.5px;bottom:0;content:"";height:3px;left:0;position:absolute;width:100%;z-index:1}.dnb-step-indicator-v1 .dnb-step-indicator:after{background-color:currentColor;bottom:0;-webkit-box-shadow:100vw 0 0 0 currentColor;box-shadow:100vw 0 0 0 currentColor;color:#000;color:var(--color-black);content:"";height:1px;left:-100vw;position:absolute;width:100vw;z-index:-1}@media screen and (min-width:50.1em){.dnb-step-indicator__sidebar{margin-right:3rem;margin-right:var(--spacing-x-large);max-width:20rem}.dnb-step-indicator__sidebar .dnb-step-indicator__item{min-width:320px}}@media screen and (max-width:50.1em){.dnb-step-indicator__sidebar--ssr-skeleton{height:5.5rem;overflow:hidden;visibility:hidden;width:0}}.dnb-step-indicator-v2 .dnb-step-indicator__list{list-style:none;margin:0;padding:0}.dnb-step-indicator-v2 .dnb-step-indicator__list,.dnb-step-indicator-v2 .dnb-step-indicator__trigger{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button,.dnb-step-indicator-v2 .dnb-step-indicator__trigger__button{-webkit-box-pack:justify;-ms-flex-pack:justify;border-radius:.25rem;justify-content:space-between;overflow:hidden;-webkit-transition:height .4s cubic-bezier(.42,0,0,1);transition:height .4s cubic-bezier(.42,0,0,1);will-change:height}.dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button .dnb-button__text,.dnb-step-indicator-v2 .dnb-step-indicator__trigger__button .dnb-button__text{text-align:left}.dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button.dnb-button--has-icon .dnb-button__text,.dnb-step-indicator-v2 .dnb-step-indicator__trigger__button.dnb-button--has-icon .dnb-button__text{margin-right:1rem}.dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button .dnb-button__alignment,.dnb-step-indicator-v2 .dnb-step-indicator__trigger__button .dnb-button__alignment{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}html[data-visual-test] .dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button,html[data-visual-test] .dnb-step-indicator-v2 .dnb-step-indicator__trigger__button{-webkit-transition-duration:1ms!important;transition-duration:1ms!important}.dnb-step-indicator-v2 .dnb-step-indicator__trigger button.dnb-step-indicator-v2 .dnb-step-indicator__trigger__button{margin-top:.5rem}.dnb-step-indicator-v2 .dnb-step-indicator__item{margin-bottom:1rem}.dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button__icon{opacity:1;-webkit-transition:opacity 1.4s ease-in-out;transition:opacity 1.4s ease-in-out}html[data-visual-test] .dnb-step-indicator-v2 .dnb-step-indicator__item .dnb-button__icon{-webkit-transition-duration:1ms!important;transition-duration:1ms!important}.dnb-step-indicator-v2 .dnb-step-indicator__item:not(.dnb-step-indicator__item--visited) .dnb-button:not(.dnb-step-indicator__button__status)
2
2
  .dnb-button__icon{opacity:0}.dnb-step-indicator-v2 .dnb-step-indicator__item-content{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;padding:.5rem 0}.dnb-step-indicator-v2 .dnb-step-indicator__item-content__number{padding-right:.5rem;white-space:nowrap}.dnb-step-indicator-v2 .dnb-step-indicator__item-content__wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.dnb-step-indicator-v2 .dnb-step-indicator__button__status .dnb-step-indicator__item-content__status{color:#333;color:var(--color-black-80);font-size:.875rem;font-size:var(--font-size-x-small)}
@@ -5,6 +5,8 @@
5
5
 
6
6
  @import '../../../style/components/imports.scss';
7
7
 
8
+ @import '../../button/style/dnb-button.scss';
9
+
8
10
  .dnb-step-indicator {
9
11
  @include componentReset();
10
12
  }
@@ -23,6 +23,7 @@ export type TabsSelectedKey = string | number;
23
23
  export type TabsAlign = 'left' | 'center' | 'right';
24
24
  export type TabsTabsSpacing = string | boolean;
25
25
  export type TabsNoBorder = string | boolean;
26
+ export type TabsNavButtonEdge = string | boolean;
26
27
  export type TabsUseHash = string | boolean;
27
28
  export type TabsPrerender = string | boolean;
28
29
  export type TabsPreventRerender = string | boolean;
@@ -116,6 +117,11 @@ export interface TabsProps extends React.HTMLProps<HTMLElement> {
116
117
  * If set to `true`, the default horizontal border line under the tablist will be removed. Defaults to `false`.
117
118
  */
118
119
  no_border?: TabsNoBorder;
120
+
121
+ /**
122
+ * If set to `true`, the navigation icons will have a straight border at their outside. This feature is meant to be used when the Tabs component goes all the way to the browser window. Defaults to `false`.
123
+ */
124
+ nav_button_edge?: TabsNavButtonEdge;
119
125
  use_hash?: TabsUseHash;
120
126
 
121
127
  /**
@@ -134,60 +134,49 @@ export default class Tabs extends React.PureComponent {
134
134
  _defineProperty(this, "init", () => {
135
135
  if (this._isMounted) {
136
136
  this.addScrollBehaviour();
137
- this.scrollToLastPosition();
138
- this.scrollToTab('selected');
137
+ const hasScrollbar = this.hasScrollbar();
138
+ const hasLastPosition = this.hasLastPosition();
139
+ this.setScrollbarState({
140
+ hasScrollbar
141
+ });
142
+
143
+ if (hasLastPosition) {
144
+ this.setLeftPosition(this.state.lastPosition);
145
+ }
139
146
 
140
- if (this.getLastUsedTab() !== null) {
141
- this.setState(null, this.setFocusOnTab);
147
+ if (hasScrollbar) {
148
+ this.scrollToTab({
149
+ type: 'selected',
150
+ behavior: hasLastPosition ? 'smooth' : 'auto'
151
+ });
152
+ }
153
+
154
+ if (this.hasLastUsedTab() !== null) {
155
+ this.setState(null, this.setFocusOnTabButton);
142
156
  }
143
157
  }
144
158
  });
145
159
 
146
- _defineProperty(this, "onResizeHandler", () => {
147
- const hasScrollbar = this._hasScrollbar = this.hasScrollbar();
148
-
160
+ _defineProperty(this, "setScrollbarState", ({
161
+ hasScrollbar = this.hasScrollbar()
162
+ } = {}) => {
149
163
  if (hasScrollbar !== this.state.hasScrollbar) {
150
164
  this.setState({
151
165
  hasScrollbar
152
166
  });
153
167
  }
168
+ });
154
169
 
155
- if (this._hasScrollbar) {
156
- try {
157
- if (Math.ceil(window.innerWidth / 16) <= 40 || this.isAtEdge()) {
158
- if (!this._tabsRef.current.style.marginLeft) {
159
- const tabsStyle = window.getComputedStyle(this._tabsRef.current);
160
-
161
- if (!(Math.abs(parseFloat(tabsStyle.marginLeft)) > 0)) {
162
- const diff = window.innerWidth - this._tabsRef.current.offsetWidth;
163
- let val = Math.round(diff / 16) / 2 * 16;
164
- this._tabsRef.current.style.marginLeft = `-${val}px`;
165
- this._tabsRef.current.style.marginRight = `-${val}px`;
166
-
167
- if (val < 32) {
168
- val = 32;
169
- }
170
-
171
- const tablistStyle = window.getComputedStyle(this._tablistRef.current);
172
- this._tablistRef.current.style.paddingLeft = `${(parseFloat(tablistStyle.paddingLeft) || 0) + val}px`;
173
- this._tablistRef.current.style.paddingRight = `${(parseFloat(tablistStyle.paddingRight) || 0) + val}px`;
174
- }
175
- }
176
- } else {
177
- this._tabsRef.current.style.marginLeft = '';
178
- this._tabsRef.current.style.marginRight = '';
179
- this._tablistRef.current.style.paddingLeft = '';
180
- this._tablistRef.current.style.paddingRight = '';
181
- }
182
- } catch (e) {}
183
- }
184
-
185
- this.setState({
186
- atEdge: this.isAtEdge()
170
+ _defineProperty(this, "onResizeHandler", () => {
171
+ const hasScrollbar = this.hasScrollbar();
172
+ this.setScrollbarState({
173
+ hasScrollbar
187
174
  });
188
175
 
189
176
  if (hasScrollbar) {
190
- this.scrollToTab('selected');
177
+ this.scrollToTab({
178
+ type: 'selected'
179
+ });
191
180
  }
192
181
  });
193
182
 
@@ -222,33 +211,45 @@ export default class Tabs extends React.PureComponent {
222
211
  _defineProperty(this, "focusFirstTab", e => {
223
212
  const key = this.state.data[0].key;
224
213
  this.focusTab(key, e, 'step');
225
- this.scrollToTab('focus');
214
+ this.scrollToTab({
215
+ type: 'focus'
216
+ });
226
217
  });
227
218
 
228
219
  _defineProperty(this, "focusLastTab", e => {
229
220
  const key = this.state.data[this.state.data.length - 1].key;
230
221
  this.focusTab(key, e, 'step');
231
- this.scrollToTab('focus');
222
+ this.scrollToTab({
223
+ type: 'focus'
224
+ });
232
225
  });
233
226
 
234
227
  _defineProperty(this, "focusPrevTab", e => {
235
228
  this.focusTab(-1, e, 'step');
236
- this.scrollToTab('focus');
229
+ this.scrollToTab({
230
+ type: 'focus'
231
+ });
237
232
  });
238
233
 
239
234
  _defineProperty(this, "focusNextTab", e => {
240
235
  this.focusTab(+1, e, 'step');
241
- this.scrollToTab('focus');
236
+ this.scrollToTab({
237
+ type: 'focus'
238
+ });
242
239
  });
243
240
 
244
241
  _defineProperty(this, "openPrevTab", e => {
245
242
  this.openTab(-1, e, 'step');
246
- this.scrollToTab('selected');
243
+ this.scrollToTab({
244
+ type: 'selected'
245
+ });
247
246
  });
248
247
 
249
248
  _defineProperty(this, "openNextTab", e => {
250
249
  this.openTab(+1, e, 'step');
251
- this.scrollToTab('selected');
250
+ this.scrollToTab({
251
+ type: 'selected'
252
+ });
252
253
  });
253
254
 
254
255
  _defineProperty(this, "handleVerticalScroll", () => {
@@ -260,14 +261,20 @@ export default class Tabs extends React.PureComponent {
260
261
  }
261
262
  });
262
263
 
264
+ _defineProperty(this, "onMouseDown", event => {
265
+ event.preventDefault();
266
+ });
267
+
263
268
  _defineProperty(this, "onKeyDownHandler", event => {
264
269
  switch (keycode(event)) {
265
270
  case 'enter':
266
271
  try {
267
272
  const elem = document.getElementById(`${this._id}-content`);
268
- elem.focus();
273
+ elem.focus({
274
+ preventScroll: true
275
+ });
269
276
  } catch (e) {
270
- warn(e);
277
+ this.warnAboutMissingContainer();
271
278
  }
272
279
 
273
280
  break;
@@ -296,7 +303,9 @@ export default class Tabs extends React.PureComponent {
296
303
 
297
304
  if (ret !== false) {
298
305
  this.openTab(selected_key, event);
299
- this.scrollToTab('selected');
306
+ this.scrollToTab({
307
+ type: 'selected'
308
+ });
300
309
  }
301
310
  }
302
311
  });
@@ -332,7 +341,7 @@ export default class Tabs extends React.PureComponent {
332
341
  this.setState({
333
342
  focus_key,
334
343
  _listenForPropChanges: false
335
- }, this.setFocusOnTab);
344
+ }, this.setFocusOnTabButton);
336
345
  dispatchCustomElementEvent(this, 'on_focus', this.getEventArgs({
337
346
  event,
338
347
  focus_key
@@ -340,14 +349,16 @@ export default class Tabs extends React.PureComponent {
340
349
  this.setWhatInput();
341
350
  });
342
351
 
343
- _defineProperty(this, "setFocusOnTab", () => {
352
+ _defineProperty(this, "setFocusOnTabButton", () => {
344
353
  try {
345
354
  const elem = this._tablistRef.current.querySelector('.dnb-tabs__button.focus');
346
355
 
347
- elem.focus();
356
+ elem.focus({
357
+ preventScroll: true
358
+ });
348
359
 
349
360
  if (!document.getElementById(`${this._id}-content`) && typeof process !== 'undefined' && process.env.NODE_ENV !== 'test') {
350
- warn(`Could not find the required <Tabs.Content id="${this._id}-content" ... /> that provides role="tabpanel"`);
361
+ this.warnAboutMissingContainer();
351
362
  }
352
363
  } catch (e) {
353
364
  warn(e);
@@ -469,23 +480,23 @@ export default class Tabs extends React.PureComponent {
469
480
  align,
470
481
  tabs_style,
471
482
  tabs_spacing,
472
- no_border
483
+ no_border,
484
+ nav_button_edge
473
485
  } = this.props;
474
486
  const {
475
- hasScrollbar,
476
- atEdge
487
+ hasScrollbar
477
488
  } = this.state;
478
489
  return React.createElement("div", _extends({
479
- className: classnames('dnb-tabs__tabs', className, align && `dnb-tabs__tabs--${align}`, tabs_style && `dnb-section dnb-section--${tabs_style}`, tabs_spacing && `dnb-section--spacing-${isTrue(tabs_spacing) ? 'default' : tabs_spacing}`, hasScrollbar && 'dnb-tabs--has-scrollbar', atEdge && 'dnb-tabs--at-edge', no_border && 'dnb-tabs__tabs--no-border'),
490
+ className: classnames('dnb-tabs__tabs', className, align && `dnb-tabs__tabs--${align}`, tabs_style && `dnb-section dnb-section--${tabs_style}`, tabs_spacing && `dnb-section--spacing-${isTrue(tabs_spacing) ? 'default' : tabs_spacing}`, hasScrollbar && 'dnb-tabs--has-scrollbar', nav_button_edge && 'dnb-tabs--at-edge', no_border && 'dnb-tabs__tabs--no-border'),
480
491
  ref: this._tabsRef
481
492
  }, rest), React.createElement(ScrollNavButton, {
482
493
  onMouseDown: this.openPrevTab,
483
494
  icon: "chevron_left",
484
- className: classnames(hasScrollbar && 'dnb-tabs__scroll-nav-button--visible', this.state.isFirst && 'dnb-tabs__scroll-nav-button--hide')
495
+ className: classnames(hasScrollbar && (typeof this.state.isFirst !== 'undefined' || this.hasLastPosition()) && 'dnb-tabs__scroll-nav-button--visible', this.state.isFirst && 'dnb-tabs__scroll-nav-button--hide')
485
496
  }), children, React.createElement(ScrollNavButton, {
486
497
  onMouseDown: this.openNextTab,
487
498
  icon: "chevron_right",
488
- className: classnames(hasScrollbar && 'dnb-tabs__scroll-nav-button--visible', this.state.isLast && 'dnb-tabs__scroll-nav-button--hide')
499
+ className: classnames(hasScrollbar && (typeof this.state.isLast !== 'undefined' || this.hasLastPosition()) && 'dnb-tabs__scroll-nav-button--visible', this.state.isLast && 'dnb-tabs__scroll-nav-button--hide')
489
500
  }));
490
501
  });
491
502
 
@@ -560,6 +571,7 @@ Tip: Check out other solutions like <Tabs.Content id="unique">Your content, outs
560
571
  onMouseEnter: this.onMouseEnterHandler,
561
572
  onClick: this.onClickHandler,
562
573
  onKeyUp: this.onKeyDownHandler,
574
+ onMouseDown: this.onMouseDown,
563
575
  "data-tab-key": key
564
576
  }, itemParams), React.createElement("span", {
565
577
  className: classnames('dnb-tabs__button__title', createSkeletonClass('font', skeleton, this.context))
@@ -602,10 +614,10 @@ Tip: Check out other solutions like <Tabs.Content id="unique">Your content, outs
602
614
  const lastPosition = this.getLastPosition();
603
615
  this.state = {
604
616
  data,
605
- lastPosition,
606
617
  selected_key: _selected_key,
607
618
  focus_key: _selected_key,
608
619
  atEdge: false,
620
+ lastPosition,
609
621
  hasScrollbar: lastPosition > -1,
610
622
  _selected_key: _selected_key,
611
623
  _data: _props.data || _props.children,
@@ -643,8 +655,6 @@ Tip: Check out other solutions like <Tabs.Content id="unique">Your content, outs
643
655
  this._eventEmitter = null;
644
656
  }
645
657
 
646
- clearTimeout(this._scrollToTabTimeout);
647
-
648
658
  if (typeof window !== 'undefined') {
649
659
  window.removeEventListener('resize', this.onResizeHandler);
650
660
  window.removeEventListener('load', this.init);
@@ -652,23 +662,29 @@ Tip: Check out other solutions like <Tabs.Content id="unique">Your content, outs
652
662
  }
653
663
 
654
664
  componentDidUpdate(props) {
655
- this.onResizeHandler();
665
+ if (this._eventEmitter && (this.props.selected_key !== props.selected_key || this.props.data !== props.data)) {
666
+ this.onResizeHandler();
656
667
 
657
- if (this._eventEmitter && this.props.selected_key !== props.selected_key) {
658
- const selected_key = this.state.selected_key;
668
+ if (this._eventEmitter) {
669
+ const selected_key = this.state.selected_key;
659
670
 
660
- this._eventEmitter.update(this.getEventArgs({
661
- selected_key
662
- }));
671
+ this._eventEmitter.update(this.getEventArgs({
672
+ selected_key
673
+ }));
674
+ }
663
675
  }
664
676
  }
665
677
 
678
+ hasLastPosition() {
679
+ return this.state.lastPosition > -1;
680
+ }
681
+
666
682
  getLastPosition() {
667
683
  if (typeof window !== 'undefined') {
668
684
  try {
669
- const pos = parseFloat(window.localStorage.getItem('tmp-tabs-pos')) || -1;
670
- window.localStorage.removeItem('tmp-tabs-pos');
671
- return pos;
685
+ const pos = parseFloat(window.localStorage.getItem(`tabs-pos-${this._id}`));
686
+ window.localStorage.removeItem(`tabs-pos-${this._id}`);
687
+ return isNaN(pos) ? -1 : pos;
672
688
  } catch (e) {
673
689
  warn(e);
674
690
  }
@@ -677,11 +693,11 @@ Tip: Check out other solutions like <Tabs.Content id="unique">Your content, outs
677
693
  return -1;
678
694
  }
679
695
 
680
- getLastUsedTab() {
696
+ hasLastUsedTab() {
681
697
  if (typeof window !== 'undefined') {
682
698
  try {
683
- const key = window.localStorage.getItem('tmp-tabs-last') || null;
684
- window.localStorage.removeItem('tmp-tabs-last');
699
+ const key = window.localStorage.getItem(`tabs-last-${this._id}`) || null;
700
+ window.localStorage.removeItem(`tabs-last-${this._id}`);
685
701
  return key;
686
702
  } catch (e) {
687
703
  warn(e);
@@ -694,17 +710,17 @@ Tip: Check out other solutions like <Tabs.Content id="unique">Your content, outs
694
710
  saveLastUsedTab() {
695
711
  if (typeof window !== 'undefined') {
696
712
  try {
697
- window.localStorage.setItem('tmp-tabs-last', this.state.selected_key);
713
+ window.localStorage.setItem(`tabs-last-${this._id}`, this.state.selected_key);
698
714
  } catch (e) {
699
715
  warn(e);
700
716
  }
701
717
  }
702
718
  }
703
719
 
704
- saveLastPosition(pos = this._tablistRef.current.scrollLeft) {
720
+ saveLastPosition(position = this._tablistRef.current.scrollLeft) {
705
721
  if (typeof window !== 'undefined') {
706
722
  try {
707
- window.localStorage.setItem('tmp-tabs-pos', pos);
723
+ window.localStorage.setItem(`tabs-pos-${this._id}`, position);
708
724
  } catch (e) {
709
725
  warn(e);
710
726
  }
@@ -715,46 +731,35 @@ Tip: Check out other solutions like <Tabs.Content id="unique">Your content, outs
715
731
  return this._tablistRef.current.scrollWidth - 1 > this._tablistRef.current.offsetWidth;
716
732
  }
717
733
 
718
- isAtEdge() {
719
- if (!this._hasScrollbar || typeof window === 'undefined') {
720
- return false;
721
- }
722
-
723
- try {
724
- const padding = parseFloat(window.getComputedStyle(this._tablistRef.current).paddingLeft);
725
- const width = this._tablistRef.current.offsetWidth + 2 + 64 - padding;
726
- const screenWidth = window.innerWidth;
727
- return width >= screenWidth;
728
- } catch (e) {}
729
-
730
- return false;
731
- }
732
-
733
734
  addScrollBehaviour() {
734
- this.onResizeHandler();
735
-
736
735
  if (typeof window !== 'undefined') {
737
736
  window.addEventListener('resize', this.onResizeHandler);
738
737
  }
739
738
  }
740
739
 
741
- scrollToLastPosition() {
740
+ setLeftPosition(scrollLeft) {
742
741
  try {
743
742
  this._tablistRef.current.style.scrollBehavior = 'auto';
744
- this._tablistRef.current.scrollLeft = this.state.lastPosition;
743
+ this._tablistRef.current.scrollLeft = scrollLeft;
745
744
  this._tablistRef.current.style.scrollBehavior = 'smooth';
746
745
  } catch (e) {}
747
746
  }
748
747
 
749
- scrollToTab(type) {
748
+ scrollToTab({
749
+ type,
750
+ behavior = 'smooth'
751
+ }) {
750
752
  if (typeof window === 'undefined') {
751
753
  return;
752
754
  }
753
755
 
754
- clearTimeout(this._scrollToTabTimeout);
755
- this._scrollToTabTimeout = setTimeout(() => {
756
+ if (window.IS_TEST) {
757
+ behavior = 'auto';
758
+ }
759
+
760
+ const delay = () => {
756
761
  try {
757
- if ((this._hasScrollbar || this.state.hasScrollbar) && this._tablistRef.current) {
762
+ if (this.state.hasScrollbar && this._tablistRef.current) {
758
763
  const first = this._tablistRef.current.querySelector('.dnb-tabs__button__snap:first-of-type');
759
764
 
760
765
  const isFirst = first.classList.contains(type);
@@ -769,20 +774,30 @@ Tip: Check out other solutions like <Tabs.Content id="unique">Your content, outs
769
774
  const margin = parseFloat(style.marginLeft);
770
775
  let padding = margin < 0 ? parseFloat(style.paddingLeft) : 0;
771
776
 
772
- if (!isFirst && this.state.atEdge && parseFloat(style.paddingLeft) < 16) {
777
+ if (!isFirst && !isLast && parseFloat(style.paddingLeft) < 16) {
773
778
  const navButton = this._tabsRef.current.querySelector('.dnb-tabs__scroll-nav-button:first-of-type');
774
779
 
775
- padding = parseFloat(window.getComputedStyle(navButton).width);
780
+ const additionalSpace = parseFloat(window.getComputedStyle(navButton).width) * 1.5;
781
+ padding += additionalSpace;
776
782
  }
777
783
 
778
- const leftPadding = (margin < 0 ? Math.abs(margin) : 0) + padding + parseFloat(window.getComputedStyle(first).paddingLeft);
779
- const left = elem && !isFirst ? elem.offsetLeft - leftPadding : 0;
784
+ let leftPadding = (margin < 0 ? Math.abs(margin) : 0) + padding + parseFloat(window.getComputedStyle(first).paddingLeft);
785
+ const offsetLeft = elem.offsetLeft;
786
+ const left = elem && !isFirst ? offsetLeft - leftPadding : 0;
787
+
788
+ if (behavior === 'auto') {
789
+ this._tablistRef.current.style.scrollBehavior = 'auto';
790
+ }
780
791
 
781
792
  this._tablistRef.current.scrollTo({
782
793
  left,
783
- behavior: window.IS_TEST ? 'auto' : 'smooth'
794
+ behavior
784
795
  });
785
796
 
797
+ if (behavior === 'auto') {
798
+ this._tablistRef.current.style.scrollBehavior = '';
799
+ }
800
+
786
801
  this.setState({
787
802
  isFirst,
788
803
  isLast
@@ -791,7 +806,13 @@ Tip: Check out other solutions like <Tabs.Content id="unique">Your content, outs
791
806
  } catch (e) {
792
807
  warn(e);
793
808
  }
794
- }, window.IS_TEST ? 0 : 100);
809
+ };
810
+
811
+ if (window.IS_TEST) {
812
+ delay();
813
+ } else {
814
+ window.requestAnimationFrame(delay);
815
+ }
795
816
  }
796
817
 
797
818
  getStepKey(useKey, stateKey) {
@@ -824,6 +845,10 @@ Tip: Check out other solutions like <Tabs.Content id="unique">Your content, outs
824
845
  whatInput.specificKeys([9]);
825
846
  }
826
847
 
848
+ warnAboutMissingContainer() {
849
+ warn(`Could not find the required <Tabs.Content id="${this._id}-content" ... /> that provides role="tabpanel"`);
850
+ }
851
+
827
852
  getEventArgs(args) {
828
853
  const {
829
854
  selected_key,
@@ -950,6 +975,7 @@ _defineProperty(Tabs, "defaultProps", {
950
975
  tabs_style: null,
951
976
  tabs_spacing: null,
952
977
  no_border: false,
978
+ nav_button_edge: false,
953
979
  use_hash: false,
954
980
  prerender: false,
955
981
  prevent_rerender: false,
@@ -991,6 +1017,7 @@ process.env.NODE_ENV !== "production" ? Tabs.propTypes = _objectSpread(_objectSp
991
1017
  tabs_style: PropTypes.string,
992
1018
  tabs_spacing: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
993
1019
  no_border: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
1020
+ nav_button_edge: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
994
1021
  use_hash: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
995
1022
  prerender: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
996
1023
  prevent_rerender: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
@@ -1026,8 +1053,7 @@ const ScrollNavButton = props => {
1026
1053
  variant: "primary",
1027
1054
  tabIndex: "-1",
1028
1055
  bounding: true,
1029
- "aria-hidden": true,
1030
- icon_size: "medium"
1056
+ "aria-hidden": true
1031
1057
  }, props, {
1032
1058
  className: classnames('dnb-tabs__scroll-nav-button', props.className)
1033
1059
  }));