@dnb/eufemia 10.21.0 → 10.22.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 (468) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/cjs/components/aria-live/useAriaLive.d.ts +1 -1
  3. package/cjs/components/breadcrumb/Breadcrumb.d.ts +2 -2
  4. package/cjs/components/breadcrumb/Breadcrumb.js +3 -3
  5. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  6. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +7 -2
  7. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  8. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +10 -2
  9. package/cjs/components/button/Button.js +2 -2
  10. package/cjs/components/button/Button.js.map +1 -1
  11. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +23 -11
  12. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
  13. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +30 -14
  14. package/cjs/components/card/style/dnb-card.css +11 -2
  15. package/cjs/components/card/style/dnb-card.min.css +1 -1
  16. package/cjs/components/card/style/dnb-card.scss +12 -2
  17. package/cjs/components/form-label/style/dnb-form-label.css +4 -1
  18. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  19. package/cjs/components/form-label/style/dnb-form-label.scss +5 -2
  20. package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
  21. package/cjs/components/global-status/GlobalStatusProvider.d.ts +1 -1
  22. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +5 -6
  23. package/cjs/components/height-animation/HeightAnimationInstance.js +12 -12
  24. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  25. package/cjs/components/height-animation/useHeightAnimation.js +11 -10
  26. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  27. package/cjs/components/input/Input.d.ts +1 -1
  28. package/cjs/components/pagination/InfinityScroller.d.ts +1 -1
  29. package/cjs/components/progress-indicator/ProgressIndicator.js +5 -7
  30. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  31. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js +1 -1
  32. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  33. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js +4 -4
  34. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  35. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +5 -2
  36. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  37. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +5 -2
  38. package/cjs/components/space/SpacingHelper.d.ts +5 -5
  39. package/cjs/components/table/Table.js +2 -2
  40. package/cjs/components/table/Table.js.map +1 -1
  41. package/cjs/components/table/TableAccordion.js +40 -57
  42. package/cjs/components/table/TableAccordion.js.map +1 -1
  43. package/cjs/components/table/TableAccordionTd.d.ts +9 -0
  44. package/cjs/components/table/{TableAccordionContent.js → TableAccordionTd.js} +16 -54
  45. package/cjs/components/table/TableAccordionTd.js.map +1 -0
  46. package/cjs/components/table/TableAccordionTr.d.ts +13 -0
  47. package/cjs/components/table/TableAccordionTr.js +61 -0
  48. package/cjs/components/table/TableAccordionTr.js.map +1 -0
  49. package/cjs/components/table/TableContext.d.ts +2 -2
  50. package/cjs/components/table/TableContext.js +4 -3
  51. package/cjs/components/table/TableContext.js.map +1 -1
  52. package/cjs/components/table/TableTd.d.ts +2 -2
  53. package/cjs/components/table/TableTd.js +2 -2
  54. package/cjs/components/table/TableTd.js.map +1 -1
  55. package/cjs/components/table/TableTr.d.ts +6 -1
  56. package/cjs/components/table/TableTr.js +10 -5
  57. package/cjs/components/table/TableTr.js.map +1 -1
  58. package/cjs/components/table/style/dnb-table.css +84 -64
  59. package/cjs/components/table/style/dnb-table.min.css +1 -1
  60. package/cjs/components/table/style/dnb-table.scss +1 -1
  61. package/cjs/components/table/style/table-accordion.scss +62 -44
  62. package/cjs/components/table/style/table-td.scss +1 -1
  63. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +10 -0
  64. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +3 -1
  65. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +14 -0
  66. package/cjs/components/table/useTableAnimationHandler.d.ts +20 -0
  67. package/cjs/components/table/useTableAnimationHandler.js +73 -0
  68. package/cjs/components/table/useTableAnimationHandler.js.map +1 -0
  69. package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +1 -0
  70. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -3
  71. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  72. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -2
  73. package/cjs/extensions/forms/DataContext/Provider/Provider.js +1 -5
  74. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  75. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  76. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -2
  77. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  78. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  79. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  80. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  81. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +6 -0
  82. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  83. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -2
  84. package/cjs/extensions/forms/Form/data-context/useData.d.ts +1 -1
  85. package/cjs/extensions/forms/Form/data-context/useData.js +1 -17
  86. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  87. package/cjs/extensions/forms/Form/data-context/useError.d.ts +2 -1
  88. package/cjs/extensions/forms/Form/data-context/useError.js +4 -2
  89. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
  90. package/cjs/extensions/forms/Value/Number/Number.d.ts +2 -2
  91. package/cjs/extensions/forms/Value/Number/Number.js +1 -1
  92. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  93. package/cjs/extensions/forms/hooks/useDataValue.d.ts +4 -12
  94. package/cjs/extensions/forms/hooks/useDataValue.js +3 -3
  95. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  96. package/cjs/extensions/forms/hooks/useMounted.d.ts +2 -0
  97. package/cjs/extensions/forms/hooks/useMounted.js +19 -0
  98. package/cjs/extensions/forms/hooks/useMounted.js.map +1 -0
  99. package/cjs/extensions/forms/style/dnb-forms.css +8 -2
  100. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  101. package/cjs/extensions/forms/types.d.ts +2 -0
  102. package/cjs/extensions/forms/types.js.map +1 -1
  103. package/cjs/extensions/payment-card/utils/CardDesigns.d.ts +96 -96
  104. package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +52 -52
  105. package/cjs/shared/Eufemia.d.ts +1 -1
  106. package/cjs/shared/Eufemia.js +2 -2
  107. package/cjs/shared/Eufemia.js.map +1 -1
  108. package/cjs/shared/Theme.d.ts +7 -1
  109. package/cjs/shared/Theme.js +20 -7
  110. package/cjs/shared/Theme.js.map +1 -1
  111. package/cjs/shared/helpers/debounce.d.ts +37 -0
  112. package/cjs/shared/helpers/debounce.js +92 -0
  113. package/cjs/shared/helpers/debounce.js.map +1 -0
  114. package/cjs/shared/helpers/useSharedState.d.ts +1 -0
  115. package/cjs/shared/helpers/useSharedState.js +52 -20
  116. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  117. package/cjs/shared/helpers/withCamelCaseProps.d.ts +7 -0
  118. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  119. package/cjs/shared/helpers.d.ts +1 -25
  120. package/cjs/shared/helpers.js +15 -37
  121. package/cjs/shared/helpers.js.map +1 -1
  122. package/cjs/shared/useTheme.d.ts +1 -0
  123. package/cjs/style/dnb-ui-components.css +119 -73
  124. package/cjs/style/dnb-ui-components.min.css +3 -3
  125. package/cjs/style/dnb-ui-extensions.css +8 -2
  126. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  127. package/cjs/style/dnb-ui-forms.css +8 -2
  128. package/cjs/style/dnb-ui-forms.min.css +1 -1
  129. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +127 -75
  130. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  131. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -2
  132. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  133. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -2
  134. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  135. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
  136. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  137. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +160 -86
  138. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  139. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
  140. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  141. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +8 -2
  142. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  143. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +8 -2
  144. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  145. package/cjs/style/themes/theme-ui/prism/dnb-prism-theme.d.ts +3 -3
  146. package/cjs/style/themes/theme-ui/ui-theme-components.css +127 -75
  147. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  148. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +8 -2
  149. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  150. package/cjs/style/themes/theme-ui/ui-theme-forms.css +8 -2
  151. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  152. package/components/aria-live/useAriaLive.d.ts +1 -1
  153. package/components/breadcrumb/Breadcrumb.d.ts +2 -2
  154. package/components/breadcrumb/Breadcrumb.js +3 -3
  155. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  156. package/components/breadcrumb/style/dnb-breadcrumb.css +7 -2
  157. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  158. package/components/breadcrumb/style/dnb-breadcrumb.scss +10 -2
  159. package/components/button/Button.js +2 -2
  160. package/components/button/Button.js.map +1 -1
  161. package/components/button/style/themes/dnb-button-theme-sbanken.css +23 -11
  162. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
  163. package/components/button/style/themes/dnb-button-theme-sbanken.scss +30 -14
  164. package/components/card/style/dnb-card.css +11 -2
  165. package/components/card/style/dnb-card.min.css +1 -1
  166. package/components/card/style/dnb-card.scss +12 -2
  167. package/components/form-label/style/dnb-form-label.css +4 -1
  168. package/components/form-label/style/dnb-form-label.min.css +1 -1
  169. package/components/form-label/style/dnb-form-label.scss +5 -2
  170. package/components/global-status/GlobalStatus.d.ts +1 -1
  171. package/components/global-status/GlobalStatusProvider.d.ts +1 -1
  172. package/components/height-animation/HeightAnimationInstance.d.ts +5 -6
  173. package/components/height-animation/HeightAnimationInstance.js +12 -12
  174. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  175. package/components/height-animation/useHeightAnimation.js +11 -10
  176. package/components/height-animation/useHeightAnimation.js.map +1 -1
  177. package/components/input/Input.d.ts +1 -1
  178. package/components/pagination/InfinityScroller.d.ts +1 -1
  179. package/components/progress-indicator/ProgressIndicator.js +5 -7
  180. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  181. package/components/progress-indicator/ProgressIndicatorCircular.js +1 -1
  182. package/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  183. package/components/progress-indicator/ProgressIndicatorLinear.js +4 -4
  184. package/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  185. package/components/progress-indicator/style/dnb-progress-indicator.css +5 -2
  186. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  187. package/components/progress-indicator/style/dnb-progress-indicator.scss +5 -2
  188. package/components/space/SpacingHelper.d.ts +5 -5
  189. package/components/table/Table.js +1 -1
  190. package/components/table/Table.js.map +1 -1
  191. package/components/table/TableAccordion.js +38 -53
  192. package/components/table/TableAccordion.js.map +1 -1
  193. package/components/table/TableAccordionTd.d.ts +9 -0
  194. package/{es/components/table/TableAccordionContent.js → components/table/TableAccordionTd.js} +14 -48
  195. package/components/table/TableAccordionTd.js.map +1 -0
  196. package/components/table/TableAccordionTr.d.ts +13 -0
  197. package/components/table/TableAccordionTr.js +51 -0
  198. package/components/table/TableAccordionTr.js.map +1 -0
  199. package/components/table/TableContext.d.ts +2 -2
  200. package/components/table/TableContext.js +2 -2
  201. package/components/table/TableContext.js.map +1 -1
  202. package/components/table/TableTd.d.ts +2 -2
  203. package/components/table/TableTd.js +2 -2
  204. package/components/table/TableTd.js.map +1 -1
  205. package/components/table/TableTr.d.ts +6 -1
  206. package/components/table/TableTr.js +9 -4
  207. package/components/table/TableTr.js.map +1 -1
  208. package/components/table/style/dnb-table.css +84 -64
  209. package/components/table/style/dnb-table.min.css +1 -1
  210. package/components/table/style/dnb-table.scss +1 -1
  211. package/components/table/style/table-accordion.scss +62 -44
  212. package/components/table/style/table-td.scss +1 -1
  213. package/components/table/style/themes/dnb-table-theme-sbanken.css +10 -0
  214. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +3 -1
  215. package/components/table/style/themes/dnb-table-theme-sbanken.scss +14 -0
  216. package/components/table/useTableAnimationHandler.d.ts +20 -0
  217. package/components/table/useTableAnimationHandler.js +63 -0
  218. package/components/table/useTableAnimationHandler.js.map +1 -0
  219. package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +1 -0
  220. package/es/components/aria-live/useAriaLive.d.ts +1 -1
  221. package/es/components/breadcrumb/Breadcrumb.d.ts +2 -2
  222. package/es/components/breadcrumb/Breadcrumb.js +3 -3
  223. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  224. package/es/components/breadcrumb/style/dnb-breadcrumb.css +7 -2
  225. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  226. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +10 -2
  227. package/es/components/button/Button.js +2 -2
  228. package/es/components/button/Button.js.map +1 -1
  229. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +23 -11
  230. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
  231. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +30 -14
  232. package/es/components/card/style/dnb-card.css +11 -2
  233. package/es/components/card/style/dnb-card.min.css +1 -1
  234. package/es/components/card/style/dnb-card.scss +12 -2
  235. package/es/components/form-label/style/dnb-form-label.css +4 -1
  236. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  237. package/es/components/form-label/style/dnb-form-label.scss +5 -2
  238. package/es/components/global-status/GlobalStatus.d.ts +1 -1
  239. package/es/components/global-status/GlobalStatusProvider.d.ts +1 -1
  240. package/es/components/height-animation/HeightAnimationInstance.d.ts +5 -6
  241. package/es/components/height-animation/HeightAnimationInstance.js +12 -12
  242. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  243. package/es/components/height-animation/useHeightAnimation.js +11 -10
  244. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  245. package/es/components/input/Input.d.ts +1 -1
  246. package/es/components/pagination/InfinityScroller.d.ts +1 -1
  247. package/es/components/progress-indicator/ProgressIndicator.js +5 -7
  248. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  249. package/es/components/progress-indicator/ProgressIndicatorCircular.js +1 -1
  250. package/es/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  251. package/es/components/progress-indicator/ProgressIndicatorLinear.js +4 -4
  252. package/es/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  253. package/es/components/progress-indicator/style/dnb-progress-indicator.css +5 -2
  254. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  255. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +5 -2
  256. package/es/components/space/SpacingHelper.d.ts +5 -5
  257. package/es/components/table/Table.js +1 -1
  258. package/es/components/table/Table.js.map +1 -1
  259. package/es/components/table/TableAccordion.js +38 -53
  260. package/es/components/table/TableAccordion.js.map +1 -1
  261. package/es/components/table/TableAccordionTd.d.ts +9 -0
  262. package/{components/table/TableAccordionContent.js → es/components/table/TableAccordionTd.js} +14 -49
  263. package/es/components/table/TableAccordionTd.js.map +1 -0
  264. package/es/components/table/TableAccordionTr.d.ts +13 -0
  265. package/es/components/table/TableAccordionTr.js +51 -0
  266. package/es/components/table/TableAccordionTr.js.map +1 -0
  267. package/es/components/table/TableContext.d.ts +2 -2
  268. package/es/components/table/TableContext.js +2 -2
  269. package/es/components/table/TableContext.js.map +1 -1
  270. package/es/components/table/TableTd.d.ts +2 -2
  271. package/es/components/table/TableTd.js +2 -2
  272. package/es/components/table/TableTd.js.map +1 -1
  273. package/es/components/table/TableTr.d.ts +6 -1
  274. package/es/components/table/TableTr.js +9 -4
  275. package/es/components/table/TableTr.js.map +1 -1
  276. package/es/components/table/style/dnb-table.css +84 -64
  277. package/es/components/table/style/dnb-table.min.css +1 -1
  278. package/es/components/table/style/dnb-table.scss +1 -1
  279. package/es/components/table/style/table-accordion.scss +62 -44
  280. package/es/components/table/style/table-td.scss +1 -1
  281. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +10 -0
  282. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +3 -1
  283. package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +14 -0
  284. package/es/components/table/useTableAnimationHandler.d.ts +20 -0
  285. package/es/components/table/useTableAnimationHandler.js +62 -0
  286. package/es/components/table/useTableAnimationHandler.js.map +1 -0
  287. package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +1 -0
  288. package/es/extensions/forms/DataContext/Context.d.ts +1 -3
  289. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  290. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -2
  291. package/es/extensions/forms/DataContext/Provider/Provider.js +1 -5
  292. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  293. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  294. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -2
  295. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  296. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  297. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  298. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  299. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +6 -0
  300. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  301. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -2
  302. package/es/extensions/forms/Form/data-context/useData.d.ts +1 -1
  303. package/es/extensions/forms/Form/data-context/useData.js +2 -18
  304. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  305. package/es/extensions/forms/Form/data-context/useError.d.ts +2 -1
  306. package/es/extensions/forms/Form/data-context/useError.js +4 -2
  307. package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
  308. package/es/extensions/forms/Value/Number/Number.d.ts +2 -2
  309. package/es/extensions/forms/Value/Number/Number.js +1 -1
  310. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  311. package/es/extensions/forms/hooks/useDataValue.d.ts +4 -12
  312. package/es/extensions/forms/hooks/useDataValue.js +5 -5
  313. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  314. package/es/extensions/forms/hooks/useMounted.d.ts +2 -0
  315. package/es/extensions/forms/hooks/useMounted.js +14 -0
  316. package/es/extensions/forms/hooks/useMounted.js.map +1 -0
  317. package/es/extensions/forms/style/dnb-forms.css +8 -2
  318. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  319. package/es/extensions/forms/types.d.ts +2 -0
  320. package/es/extensions/forms/types.js.map +1 -1
  321. package/es/extensions/payment-card/utils/CardDesigns.d.ts +96 -96
  322. package/es/fragments/drawer-list/DrawerListHelpers.d.ts +52 -52
  323. package/es/shared/Eufemia.d.ts +1 -1
  324. package/es/shared/Eufemia.js +2 -2
  325. package/es/shared/Eufemia.js.map +1 -1
  326. package/es/shared/Theme.d.ts +7 -1
  327. package/es/shared/Theme.js +20 -7
  328. package/es/shared/Theme.js.map +1 -1
  329. package/es/shared/helpers/debounce.d.ts +37 -0
  330. package/es/shared/helpers/debounce.js +76 -0
  331. package/es/shared/helpers/debounce.js.map +1 -0
  332. package/es/shared/helpers/useSharedState.d.ts +1 -0
  333. package/es/shared/helpers/useSharedState.js +49 -20
  334. package/es/shared/helpers/useSharedState.js.map +1 -1
  335. package/es/shared/helpers/withCamelCaseProps.d.ts +7 -0
  336. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  337. package/es/shared/helpers.d.ts +1 -25
  338. package/es/shared/helpers.js +1 -29
  339. package/es/shared/helpers.js.map +1 -1
  340. package/es/shared/useTheme.d.ts +1 -0
  341. package/es/style/dnb-ui-components.css +119 -73
  342. package/es/style/dnb-ui-components.min.css +3 -3
  343. package/es/style/dnb-ui-extensions.css +8 -2
  344. package/es/style/dnb-ui-extensions.min.css +1 -1
  345. package/es/style/dnb-ui-forms.css +8 -2
  346. package/es/style/dnb-ui-forms.min.css +1 -1
  347. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +127 -75
  348. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  349. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -2
  350. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  351. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -2
  352. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  353. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
  354. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  355. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +160 -86
  356. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  357. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
  358. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  359. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +8 -2
  360. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  361. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +8 -2
  362. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  363. package/es/style/themes/theme-ui/prism/dnb-prism-theme.d.ts +3 -3
  364. package/es/style/themes/theme-ui/ui-theme-components.css +127 -75
  365. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  366. package/es/style/themes/theme-ui/ui-theme-extensions.css +8 -2
  367. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  368. package/es/style/themes/theme-ui/ui-theme-forms.css +8 -2
  369. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  370. package/esm/dnb-ui-basis.min.mjs +1 -1
  371. package/esm/dnb-ui-components.min.mjs +1 -1
  372. package/esm/dnb-ui-elements.min.mjs +1 -1
  373. package/esm/dnb-ui-extensions.min.mjs +3 -3
  374. package/esm/dnb-ui-lib.min.mjs +1 -1
  375. package/extensions/forms/DataContext/Context.d.ts +1 -3
  376. package/extensions/forms/DataContext/Context.js.map +1 -1
  377. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -2
  378. package/extensions/forms/DataContext/Provider/Provider.js +1 -5
  379. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  380. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  381. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -2
  382. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  383. package/extensions/forms/FieldBlock/style/dnb-field-block.css +2 -2
  384. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  385. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -0
  386. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +6 -0
  387. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  388. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -2
  389. package/extensions/forms/Form/data-context/useData.d.ts +1 -1
  390. package/extensions/forms/Form/data-context/useData.js +2 -18
  391. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  392. package/extensions/forms/Form/data-context/useError.d.ts +2 -1
  393. package/extensions/forms/Form/data-context/useError.js +4 -2
  394. package/extensions/forms/Form/data-context/useError.js.map +1 -1
  395. package/extensions/forms/Value/Number/Number.d.ts +2 -2
  396. package/extensions/forms/Value/Number/Number.js +1 -1
  397. package/extensions/forms/Value/Number/Number.js.map +1 -1
  398. package/extensions/forms/hooks/useDataValue.d.ts +4 -12
  399. package/extensions/forms/hooks/useDataValue.js +5 -5
  400. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  401. package/extensions/forms/hooks/useMounted.d.ts +2 -0
  402. package/extensions/forms/hooks/useMounted.js +14 -0
  403. package/extensions/forms/hooks/useMounted.js.map +1 -0
  404. package/extensions/forms/style/dnb-forms.css +8 -2
  405. package/extensions/forms/style/dnb-forms.min.css +1 -1
  406. package/extensions/forms/types.d.ts +2 -0
  407. package/extensions/forms/types.js.map +1 -1
  408. package/extensions/payment-card/utils/CardDesigns.d.ts +96 -96
  409. package/fragments/drawer-list/DrawerListHelpers.d.ts +52 -52
  410. package/package.json +1 -1
  411. package/shared/Eufemia.d.ts +1 -1
  412. package/shared/Eufemia.js +2 -2
  413. package/shared/Eufemia.js.map +1 -1
  414. package/shared/Theme.d.ts +7 -1
  415. package/shared/Theme.js +20 -7
  416. package/shared/Theme.js.map +1 -1
  417. package/shared/helpers/debounce.d.ts +37 -0
  418. package/shared/helpers/debounce.js +83 -0
  419. package/shared/helpers/debounce.js.map +1 -0
  420. package/shared/helpers/useSharedState.d.ts +1 -0
  421. package/shared/helpers/useSharedState.js +49 -20
  422. package/shared/helpers/useSharedState.js.map +1 -1
  423. package/shared/helpers/withCamelCaseProps.d.ts +7 -0
  424. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  425. package/shared/helpers.d.ts +1 -25
  426. package/shared/helpers.js +3 -36
  427. package/shared/helpers.js.map +1 -1
  428. package/shared/useTheme.d.ts +1 -0
  429. package/style/dnb-ui-components.css +119 -73
  430. package/style/dnb-ui-components.min.css +3 -3
  431. package/style/dnb-ui-extensions.css +8 -2
  432. package/style/dnb-ui-extensions.min.css +1 -1
  433. package/style/dnb-ui-forms.css +8 -2
  434. package/style/dnb-ui-forms.min.css +1 -1
  435. package/style/themes/theme-eiendom/eiendom-theme-components.css +127 -75
  436. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  437. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -2
  438. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  439. package/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -2
  440. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  441. package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
  442. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  443. package/style/themes/theme-sbanken/sbanken-theme-components.css +160 -86
  444. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  445. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
  446. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  447. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +8 -2
  448. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  449. package/style/themes/theme-sbanken/sbanken-theme-forms.css +8 -2
  450. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  451. package/style/themes/theme-ui/prism/dnb-prism-theme.d.ts +3 -3
  452. package/style/themes/theme-ui/ui-theme-components.css +127 -75
  453. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  454. package/style/themes/theme-ui/ui-theme-extensions.css +8 -2
  455. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  456. package/style/themes/theme-ui/ui-theme-forms.css +8 -2
  457. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  458. package/umd/dnb-ui-basis.min.js +1 -1
  459. package/umd/dnb-ui-components.min.js +1 -1
  460. package/umd/dnb-ui-elements.min.js +1 -1
  461. package/umd/dnb-ui-extensions.min.js +3 -3
  462. package/umd/dnb-ui-lib.min.js +1 -1
  463. package/cjs/components/table/TableAccordionContent.d.ts +0 -18
  464. package/cjs/components/table/TableAccordionContent.js.map +0 -1
  465. package/components/table/TableAccordionContent.d.ts +0 -18
  466. package/components/table/TableAccordionContent.js.map +0 -1
  467. package/es/components/table/TableAccordionContent.d.ts +0 -18
  468. package/es/components/table/TableAccordionContent.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,33 @@
3
3
  All notable changes to @dnb/eufemia will be documented in this file. See
4
4
  [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [10.22.0](https://github.com/dnbexperience/eufemia/compare/v10.21.0...v10.22.0) (2024-02-28)
7
+
8
+
9
+ ### :memo: Documentation
10
+
11
+ * **GlobalStatus:** update number of statuses ([#3334](https://github.com/dnbexperience/eufemia/issues/3334)) ([092aa25](https://github.com/dnbexperience/eufemia/commit/092aa259f0d180c188f8035d0c88ed9185e51292))
12
+
13
+
14
+ ### :bug: Bug Fixes
15
+
16
+ * **Blockquote:** Reduce padding-bottom for tablet and desktop (Sbanken) ([#3340](https://github.com/dnbexperience/eufemia/issues/3340)) ([af0d901](https://github.com/dnbexperience/eufemia/commit/af0d901fd0ef9c16370a3a180fce2e1a7b5f4b43))
17
+ * **Breadcrumb:** variant multiple no longer same as default ([#3345](https://github.com/dnbexperience/eufemia/issues/3345)) ([ac708e0](https://github.com/dnbexperience/eufemia/commit/ac708e0ad92b63bfad90daa7b4b9c3ff0f9fe0e1))
18
+ * **Card:** fix overflow/scroll issue on small screen widths ([#3341](https://github.com/dnbexperience/eufemia/issues/3341)) ([a0d4a10](https://github.com/dnbexperience/eufemia/commit/a0d4a101f3508a06d1badd7178be5aad57032fc4))
19
+ * **Form.ButtonRow:** add support for correct auto placement below a Card ([#3337](https://github.com/dnbexperience/eufemia/issues/3337)) ([ced0bd7](https://github.com/dnbexperience/eufemia/commit/ced0bd76e8f888c22e046a3888728f46f17fb6bd))
20
+ * **Form.useData:** add support for StrictMode ([#3348](https://github.com/dnbexperience/eufemia/issues/3348)) ([d905e54](https://github.com/dnbexperience/eufemia/commit/d905e54dab83b67a531de3d756e77a39c95ce810))
21
+ * **FormLabel:** align width to fit content instead of being stretched 100% on clickable labels ([#3338](https://github.com/dnbexperience/eufemia/issues/3338)) ([c7f1a4a](https://github.com/dnbexperience/eufemia/commit/c7f1a4a21a6d66540de4944a632797094fbea5dc))
22
+ * **HeightAnimation:** enhance calculation of height ([#3335](https://github.com/dnbexperience/eufemia/issues/3335)) ([e1a9859](https://github.com/dnbexperience/eufemia/commit/e1a98590a9278f9f7e7956f3865f315208a88de9))
23
+ * **ProgressIndicator:** align label spacing when size is `small` and use span instead of divs to support inline elements ([#3344](https://github.com/dnbexperience/eufemia/issues/3344)) ([196bc7f](https://github.com/dnbexperience/eufemia/commit/196bc7fae184c5a9177a38893556bbd23b2c3b48))
24
+
25
+
26
+ ### :sparkles: Features
27
+
28
+ * **Button, Theme:** style on dark background ([#3339](https://github.com/dnbexperience/eufemia/issues/3339)) ([29e6549](https://github.com/dnbexperience/eufemia/commit/29e654922cb0faeed384ae363ef33b5031370d17))
29
+ * **debounceAsync:** add async debounce function support ([#3343](https://github.com/dnbexperience/eufemia/issues/3343)) ([9759275](https://github.com/dnbexperience/eufemia/commit/9759275aab427876a2ecaf3d362254febb6f64cc))
30
+ * **Table:** accordion multiple rows and Sbanken styling ([#3289](https://github.com/dnbexperience/eufemia/issues/3289)) ([e7b7c5f](https://github.com/dnbexperience/eufemia/commit/e7b7c5fcc1d527c5d343ce5590c9afc838326d5f))
31
+ * **TypeScript:** upgrade internal TypeScript version with a few alignments ([#3350](https://github.com/dnbexperience/eufemia/issues/3350)) ([047f81a](https://github.com/dnbexperience/eufemia/commit/047f81a7e0d33c3d5ad6b84a5aa1b9b3054e0937))
32
+
6
33
  ## [10.21.0](https://github.com/dnbexperience/eufemia/compare/v10.20.0...v10.21.0) (2024-02-21)
7
34
 
8
35
 
@@ -48,7 +48,7 @@ export default function useAriaLive(props: AriaLiveAllProps): {
48
48
  results?: number;
49
49
  security?: string;
50
50
  unselectable?: "off" | "on";
51
- inputMode?: "text" | "search" | "none" | "tel" | "url" | "email" | "numeric" | "decimal";
51
+ inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal";
52
52
  is?: string;
53
53
  'aria-activedescendant'?: string;
54
54
  'aria-atomic': boolean | "true" | "false";
@@ -26,9 +26,9 @@ export type BreadcrumbProps = {
26
26
  children?: React.ReactElement<BreadcrumbItemProps> | Array<React.ReactElement<BreadcrumbItemProps>>;
27
27
  /**
28
28
  * The variant of the component.
29
- * Default: When children and data is not defined, it defaults to "single". If they are defined, the variant depends on the viewport.
29
+ * Default: When children and data is not defined, it defaults to "single". "responsive" if they are defined.
30
30
  */
31
- variant?: 'single' | 'multiple' | 'collapse';
31
+ variant?: 'responsive' | 'single' | 'multiple' | 'collapse';
32
32
  /**
33
33
  * Handle the click event on 'single'/'collapse'
34
34
  * Default: null
@@ -75,7 +75,7 @@ const Breadcrumb = localProps => {
75
75
  let currentVariant = variant;
76
76
  if (!variant) {
77
77
  if (items || data) {
78
- currentVariant = 'multiple';
78
+ currentVariant = 'responsive';
79
79
  } else {
80
80
  currentVariant = 'single';
81
81
  }
@@ -104,7 +104,7 @@ const Breadcrumb = localProps => {
104
104
  icon_position: "left",
105
105
  onClick: onClick,
106
106
  href: href
107
- }) : _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_Button.default, {
107
+ }) : _react.default.createElement(_react.default.Fragment, null, currentVariant !== 'multiple' && _react.default.createElement(_Button.default, {
108
108
  className: "dnb-breadcrumb__toggle",
109
109
  text: backToText,
110
110
  variant: "tertiary",
@@ -119,7 +119,7 @@ const Breadcrumb = localProps => {
119
119
  items: items,
120
120
  isCollapsed: false,
121
121
  noAnimation: noAnimation
122
- }))), _react.default.createElement(_Section.default, {
122
+ }))), (currentVariant === 'collapse' || currentVariant === 'responsive') && _react.default.createElement(_Section.default, {
123
123
  variant: collapsedStyleType,
124
124
  className: "dnb-breadcrumb__collapse"
125
125
  }, _react.default.createElement(_BreadcrumbMultiple.BreadcrumbMultiple, {
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_SkeletonHelper","_SpacingHelper","_Section","_Button","_Context","_BreadcrumbItem","_componentHelper","_BreadcrumbMultiple","_shared","_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","isLarge","useMedia","currentVariant","useEffect","validateDOMAttributes","innerSpace","isTrue","createElement","convertJsxToString","classnames","style_type","text","icon","icon_position","Fragment","BreadcrumbMultiple","Item","BreadcrumbItem","_supportsSpacingProps","_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 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'\nimport { useMedia } from '../../shared'\n\nexport type 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\n const { isLarge } = useMedia()\n\n let currentVariant = variant\n if (!variant) {\n if (items || data) {\n currentVariant = 'multiple'\n } else {\n currentVariant = 'single'\n }\n }\n\n useEffect(() => {\n setCollapse(overrideIsCollapsed)\n }, [overrideIsCollapsed])\n\n // Auto-collapse breadcrumbs if going from small screen to large screen.\n useEffect(() => {\n if (isLarge && overrideIsCollapsed !== false) {\n setCollapse(true)\n }\n }, [isLarge])\n\n validateDOMAttributes(allProps, props)\n\n const innerSpace = isTrue(spacing) ? 'small' : spacing\n\n return (\n <nav\n aria-label={convertJsxToString(navText)}\n className={classnames(\n 'dnb-breadcrumb',\n `dnb-breadcrumb--variant-${currentVariant}`,\n skeletonClasses,\n spacingClasses,\n className\n )}\n {...props}\n >\n <Section\n className=\"dnb-breadcrumb__bar\"\n style_type={styleType || 'transparent'}\n innerSpace={innerSpace}\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 <Button\n className=\"dnb-breadcrumb__toggle\"\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 {currentVariant !== 'collapse' && (\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={false}\n noAnimation={noAnimation}\n />\n )}\n </>\n )}\n </Section>\n\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 </nav>\n )\n}\n\nBreadcrumb.Item = BreadcrumbItem\nBreadcrumb._supportsSpacingProps = true\n\nexport { BreadcrumbItem }\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","_Context","_BreadcrumbItem","_componentHelper","_BreadcrumbMultiple","_shared","_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","isLarge","useMedia","currentVariant","useEffect","validateDOMAttributes","innerSpace","isTrue","createElement","convertJsxToString","classnames","style_type","text","icon","icon_position","Fragment","BreadcrumbMultiple","Item","BreadcrumbItem","_supportsSpacingProps","_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 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'\nimport { useMedia } from '../../shared'\n\nexport type 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\". \"responsive\" if they are defined.\n */\n variant?: 'responsive' | '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\n const { isLarge } = useMedia()\n\n let currentVariant = variant\n if (!variant) {\n if (items || data) {\n currentVariant = 'responsive'\n } else {\n currentVariant = 'single'\n }\n }\n\n useEffect(() => {\n setCollapse(overrideIsCollapsed)\n }, [overrideIsCollapsed])\n\n // Auto-collapse breadcrumbs if going from small screen to large screen.\n useEffect(() => {\n if (isLarge && overrideIsCollapsed !== false) {\n setCollapse(true)\n }\n }, [isLarge])\n\n validateDOMAttributes(allProps, props)\n\n const innerSpace = isTrue(spacing) ? 'small' : spacing\n\n return (\n <nav\n aria-label={convertJsxToString(navText)}\n className={classnames(\n 'dnb-breadcrumb',\n `dnb-breadcrumb--variant-${currentVariant}`,\n skeletonClasses,\n spacingClasses,\n className\n )}\n {...props}\n >\n <Section\n className=\"dnb-breadcrumb__bar\"\n style_type={styleType || 'transparent'}\n innerSpace={innerSpace}\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 <Button\n className=\"dnb-breadcrumb__toggle\"\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 !== 'collapse' && (\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={false}\n noAnimation={noAnimation}\n />\n )}\n </>\n )}\n </Section>\n\n {(currentVariant === 'collapse' ||\n currentVariant === 'responsive') && (\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\nBreadcrumb._supportsSpacingProps = true\n\nexport { BreadcrumbItem }\nexport default Breadcrumb\n"],"mappings":"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"}
@@ -10,6 +10,8 @@
10
10
  padding: 0;
11
11
  display: flex;
12
12
  flex-direction: column;
13
+ /* stylelint-disable no-descending-specificity, no-duplicate-selectors */
14
+ /* stylelint-enable */
13
15
  }
14
16
  .dnb-breadcrumb__bar.dnb-section {
15
17
  display: flex;
@@ -44,13 +46,16 @@
44
46
  .dnb-breadcrumb__multiple.dnb-height-animation--parallax .dnb-breadcrumb__item {
45
47
  transform: translateX(0);
46
48
  }
49
+ html[data-visual-test] .dnb-breadcrumb__multiple .dnb-breadcrumb__item {
50
+ transition: none;
51
+ }
47
52
  @media screen and (max-width: 60em) {
48
- .dnb-breadcrumb__bar .dnb-breadcrumb__multiple {
53
+ .dnb-breadcrumb--variant-responsive .dnb-breadcrumb__bar .dnb-breadcrumb__multiple {
49
54
  display: none;
50
55
  }
51
56
  }
52
57
  @media screen and (min-width: 60em) {
53
- .dnb-breadcrumb--variant-multiple .dnb-breadcrumb__toggle {
58
+ .dnb-breadcrumb--variant-responsive .dnb-breadcrumb__toggle {
54
59
  display: none;
55
60
  }
56
61
  }
@@ -1 +1 @@
1
- .dnb-breadcrumb{display:flex;flex-direction:column;margin:0;padding:0}.dnb-breadcrumb__bar.dnb-section{display:flex}.dnb-breadcrumb__list.dnb-section{align-items:center;display:flex;flex-flow:row wrap;gap:1.5rem;list-style:none;margin:0;padding:0}.dnb-breadcrumb__item__span{align-items:center;display:flex;line-height:normal;padding:.5rem 0}.dnb-breadcrumb__item__span__icon{margin-right:.5rem}.dnb-breadcrumb__multiple{display:flex;flex-direction:column;transition:height .4s var(--easing-default)}.dnb-breadcrumb__multiple .dnb-breadcrumb__item{transform:translateX(-1rem);transition:transform .4s var(--easing-default) calc(var(--delay)*50ms)}.dnb-breadcrumb__multiple.dnb-height-animation--parallax .dnb-breadcrumb__item{transform:translateX(0)}@media screen and (max-width:60em){.dnb-breadcrumb__bar .dnb-breadcrumb__multiple{display:none}}@media screen and (min-width:60em){.dnb-breadcrumb--variant-multiple .dnb-breadcrumb__toggle{display:none}}.dnb-breadcrumb__collapse{display:flex;flex-direction:column}.dnb-breadcrumb__collapse .dnb-breadcrumb__list.dnb-section{align-items:flex-start;flex-direction:column;gap:0;margin:.5rem 0 .5rem 1.5rem}
1
+ .dnb-breadcrumb{display:flex;flex-direction:column;margin:0;padding:0}.dnb-breadcrumb__bar.dnb-section{display:flex}.dnb-breadcrumb__list.dnb-section{align-items:center;display:flex;flex-flow:row wrap;gap:1.5rem;list-style:none;margin:0;padding:0}.dnb-breadcrumb__item__span{align-items:center;display:flex;line-height:normal;padding:.5rem 0}.dnb-breadcrumb__item__span__icon{margin-right:.5rem}.dnb-breadcrumb__multiple{display:flex;flex-direction:column;transition:height .4s var(--easing-default)}.dnb-breadcrumb__multiple .dnb-breadcrumb__item{transform:translateX(-1rem);transition:transform .4s var(--easing-default) calc(var(--delay)*50ms)}.dnb-breadcrumb__multiple.dnb-height-animation--parallax .dnb-breadcrumb__item{transform:translateX(0)}html[data-visual-test] .dnb-breadcrumb__multiple .dnb-breadcrumb__item{transition:none}@media screen and (max-width:60em){.dnb-breadcrumb--variant-responsive .dnb-breadcrumb__bar .dnb-breadcrumb__multiple{display:none}}@media screen and (min-width:60em){.dnb-breadcrumb--variant-responsive .dnb-breadcrumb__toggle{display:none}}.dnb-breadcrumb__collapse{display:flex;flex-direction:column}.dnb-breadcrumb__collapse .dnb-breadcrumb__list.dnb-section{align-items:flex-start;flex-direction:column;gap:0;margin:.5rem 0 .5rem 1.5rem}
@@ -59,13 +59,21 @@
59
59
  transform: translateX(0);
60
60
  }
61
61
 
62
- &__bar &__multiple {
62
+ /* stylelint-disable no-descending-specificity, no-duplicate-selectors */
63
+ &__multiple &__item {
64
+ html[data-visual-test] & {
65
+ transition: none;
66
+ }
67
+ }
68
+ /* stylelint-enable */
69
+
70
+ &--variant-responsive &__bar &__multiple {
63
71
  @include allBelow(medium) {
64
72
  display: none;
65
73
  }
66
74
  }
67
75
 
68
- &--variant-multiple &__toggle {
76
+ &--variant-responsive &__toggle {
69
77
  @include allAbove(medium) {
70
78
  display: none;
71
79
  }
@@ -66,7 +66,7 @@ class Button extends _react.default.PureComponent {
66
66
  }
67
67
  }
68
68
  render() {
69
- var _this$context, _this$context2, _this$context3;
69
+ var _this$context, _this$context2, _this$context3, _this$context4, _this$context4$theme;
70
70
  const props = (0, _componentHelper.extendPropsWithContextInClassComponent)(this.props, Button.defaultProps, {
71
71
  skeleton: (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.skeleton
72
72
  }, (0, _filterValidProps.pickFormElementProps)((_this$context2 = this.context) === null || _this$context2 === void 0 ? void 0 : _this$context2.FormRow), (0, _filterValidProps.pickFormElementProps)((_this$context3 = this.context) === null || _this$context3 === void 0 ? void 0 : _this$context3.formElement), this.context.Button);
@@ -140,7 +140,7 @@ class Button extends _react.default.PureComponent {
140
140
  icon = _icons.launch;
141
141
  }
142
142
  }
143
- const classes = (0, _classnames.default)(`dnb-button dnb-button--${usedVariant || 'primary'}`, (text || content || custom_content) && 'dnb-button--has-text', (0, _SkeletonHelper.createSkeletonClass)(variant === 'tertiary' ? 'font' : 'shape', skeleton, this.context), (0, _SpacingHelper.createSpacingClasses)(props), class_name, className, (props.href || props.to) && '', icon && `dnb-button--icon-position-${icon_position} dnb-button--has-icon` + (iconSize ? ` dnb-button--icon-size-${iconSize}` : ""), usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`, (0, _componentHelper.isTrue)(stretch) && 'dnb-button--stretch', wrap && 'dnb-button--wrap', status && `dnb-button__status--${status_state}`, Element === _Anchor.default && 'dnb-anchor--no-style');
143
+ const classes = (0, _classnames.default)(`dnb-button dnb-button--${usedVariant || 'primary'}`, (text || content || custom_content) && 'dnb-button--has-text', (0, _SkeletonHelper.createSkeletonClass)(variant === 'tertiary' ? 'font' : 'shape', skeleton, this.context), (0, _SpacingHelper.createSpacingClasses)(props), class_name, className, (props.href || props.to) && '', icon && `dnb-button--icon-position-${icon_position} dnb-button--has-icon` + (iconSize ? ` dnb-button--icon-size-${iconSize}` : ""), usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`, ((_this$context4 = this.context) === null || _this$context4 === void 0 ? void 0 : (_this$context4$theme = _this$context4.theme) === null || _this$context4$theme === void 0 ? void 0 : _this$context4$theme.darkBackground) && `dnb-button--on-dark-background`, (0, _componentHelper.isTrue)(stretch) && 'dnb-button--stretch', wrap && 'dnb-button--wrap', status && `dnb-button__status--${status_state}`, Element === _Anchor.default && 'dnb-anchor--no-style');
144
144
  const params = _objectSpread({
145
145
  className: classes,
146
146
  title,
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_Context","_componentHelper","_SpacingHelper","_SkeletonHelper","_filterValidProps","_IconPrimary","_FormStatus","_Anchor","_interopRequireWildcard","_icons","_Tooltip","_span","_span2","_span3","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","buttonVariantPropType","variant","PropTypes","oneOf","exports","Button","React","PureComponent","getContent","props","processChildren","constructor","event","afterContent","dispatchCustomElementEvent","isValidElement","setState","_id","id","status","tooltip","makeUniqueId","_ref","createRef","state","componentDidMount","innerRef","current","inner_ref","render","_this$context","_this$context2","_this$context3","extendPropsWithContextInClassComponent","defaultProps","skeleton","context","pickFormElementProps","FormRow","formElement","class","class_name","className","size","title","custom_content","status_state","status_props","status_no_animation","globalStatus","disabled","text","_text","icon","_icon","icon_position","icon_size","wrap","bounding","stretch","element","attributes","showStatus","getStatusState","usedVariant","usedSize","iconSize","content","warn","isIconOnly","Boolean","Element","href","to","Anchor","omitClass","opensNewTab","launch","classes","classnames","createSkeletonClass","createSpacingClasses","isTrue","params","on_click","onClick","onClickHandler","type","skeletonDOMAttributes","validateDOMAttributes","createElement","Fragment","ref","Content","show","label","text_id","no_animation","targetElement","Context","process","env","NODE_ENV","propTypes","oneOfType","string","node","func","number","bool","shape","message","rel","children","spacingPropTypes","pickIcon","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/button/Button.js"],"sourcesContent":["/**\n * Web Button Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n makeUniqueId,\n isTrue,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport FormStatus from '../form-status/FormStatus'\nimport Anchor, { pickIcon, opensNewTab } from '../anchor/Anchor'\nimport { launch } from '../../icons'\nimport Tooltip from '../tooltip/Tooltip'\n\nexport const buttonVariantPropType = {\n variant: PropTypes.oneOf([\n 'primary',\n 'secondary',\n 'tertiary',\n 'signal',\n\n /**\n * For internal use only (as of now)\n */\n 'unstyled',\n ]),\n}\n\n/**\n * The button component should be used as the call-to-action in a form, or as a user interaction mechanism. Generally speaking, a button should not be used when a link would do the trick. Exceptions are made at times when it is used as a navigation element in the action-nav element.\n */\nexport default class Button extends React.PureComponent {\n static contextType = Context\n\n static getContent(props) {\n return processChildren(props)\n }\n\n constructor(props) {\n super(props)\n\n this._id =\n props.id || ((props.status || props.tooltip) && makeUniqueId()) // cause we need an id anyway\n this._ref = React.createRef()\n\n this.state = { afterContent: null }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._ref.current)\n : (this.props.innerRef.current = this._ref.current)\n }\n if (this.props.inner_ref) {\n typeof this.props.innerRef === 'function'\n ? this.props.inner_ref(this._ref.current)\n : (this.props.inner_ref.current = this._ref.current)\n }\n }\n\n onClickHandler = (event) => {\n const afterContent = dispatchCustomElementEvent(this, 'on_click', {\n event,\n })\n if (afterContent && React.isValidElement(afterContent)) {\n this.setState({\n afterContent,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Button.defaultProps,\n { skeleton: this.context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Button\n )\n\n const {\n class: class_name,\n className,\n variant,\n size,\n title,\n custom_content,\n tooltip,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n id, // eslint-disable-line\n disabled,\n text: _text, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_position,\n icon_size,\n wrap,\n bounding, // eslint-disable-line\n stretch,\n skeleton,\n element,\n inner_ref, // eslint-disable-line\n innerRef, // eslint-disable-line\n ...attributes\n } = props\n\n const showStatus = getStatusState(status)\n\n let { text, icon } = props\n let usedVariant = variant\n let usedSize = size\n let iconSize = icon_size\n const content = Button.getContent(this.props)\n\n if (\n variant === 'tertiary' &&\n (text || content) &&\n !icon &&\n icon !== false\n ) {\n warn(\n `Icon required: A Tertiary Button requires an icon to be WCAG compliant in most cases, because variant tertiary has no underline.\n(Override this warning using icon={false}, or consider using one of the other variants)`\n )\n }\n\n // if only has Icon, then resize it and define it as secondary\n const isIconOnly = Boolean(!text && !content && icon)\n if (isIconOnly) {\n if (!usedVariant) {\n usedVariant = 'secondary'\n }\n if (!iconSize && (usedSize === 'default' || usedSize === 'large')) {\n iconSize = 'medium'\n }\n if (!usedSize) {\n usedSize = 'medium'\n }\n } else if (content) {\n if (!usedVariant) {\n usedVariant = 'primary'\n }\n if (!usedSize) {\n usedSize = 'default'\n }\n }\n if (!iconSize && variant === 'tertiary' && icon_position === 'top') {\n iconSize = 'medium'\n }\n\n const Element = element\n ? element\n : props.href || props.to\n ? Anchor\n : 'button'\n if (Element === Anchor) {\n attributes.omitClass = true\n if (opensNewTab(props.target, props.href) && !icon) {\n icon = launch\n }\n }\n\n const classes = classnames(\n 'dnb-button',\n `dnb-button--${usedVariant || 'primary'}`,\n usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`,\n icon && `dnb-button--icon-position-${icon_position}`,\n isTrue(stretch) && 'dnb-button--stretch',\n icon && iconSize && `dnb-button--icon-size-${iconSize}`,\n (text || content || custom_content) && 'dnb-button--has-text',\n icon && 'dnb-button--has-icon',\n wrap && 'dnb-button--wrap',\n status && `dnb-button__status--${status_state}`,\n createSkeletonClass(\n variant === 'tertiary' ? 'font' : 'shape',\n skeleton,\n this.context\n ),\n createSpacingClasses(props),\n class_name,\n className,\n props.href || props.to ? '' : null, // dnb-anchor--no-underline dnb-anchor--no-hover\n Element === Anchor && 'dnb-anchor--no-style'\n )\n\n const params = {\n className: classes,\n title,\n id: this._id,\n disabled: isTrue(disabled),\n ...attributes,\n }\n\n if (this.props.on_click || this.props.onClick) {\n params.onClick = this.onClickHandler\n }\n\n if (Element !== Anchor && !params.type) {\n params.type = params.type === '' ? undefined : 'button'\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <>\n <Element ref={this._ref} {...params}>\n <Content\n {...this.props}\n icon={icon}\n icon_size={iconSize}\n content={text || content}\n custom_content={custom_content}\n isIconOnly={isIconOnly}\n skeleton={isTrue(skeleton)}\n />\n </Element>\n\n {this.state.afterContent}\n\n <FormStatus\n show={showStatus}\n id={this._id + '-form-status'}\n globalStatus={globalStatus}\n label={text}\n text={status}\n state={status_state}\n text_id={this._id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n {tooltip && this._ref && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </>\n )\n }\n}\n\nButton.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n type: PropTypes.string,\n title: PropTypes.node,\n variant: buttonVariantPropType.variant,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right', 'top']),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n id: PropTypes.string,\n class: PropTypes.string,\n href: PropTypes.string,\n target: PropTypes.string,\n rel: PropTypes.string,\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n ]),\n custom_content: PropTypes.node,\n wrap: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_ref: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n\n className: PropTypes.string,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.node,\n ]),\n\n ...spacingPropTypes,\n\n on_click: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n}\n\nButton.defaultProps = {\n type: null, // set the type because of the anchor/href situation – can be made more smart in future\n text: null,\n variant: null,\n size: null,\n title: null,\n icon: null,\n icon_position: 'right',\n icon_size: null,\n href: null,\n target: null,\n rel: null,\n to: null,\n id: null,\n class: null,\n custom_content: null,\n wrap: null,\n bounding: null,\n stretch: null,\n skeleton: null,\n disabled: null,\n tooltip: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n inner_ref: null,\n\n className: null,\n innerRef: null,\n children: null,\n element: null,\n\n on_click: null,\n}\n\nfunction Content({\n title,\n content,\n custom_content,\n icon,\n icon_size,\n bounding,\n skeleton,\n isIconOnly,\n}) {\n return (\n <>\n {isTrue(bounding) && (\n <span key=\"button-bounding\" className=\"dnb-button__bounding\" />\n )}\n\n {custom_content && (\n <React.Fragment key=\"button-custom-content\">\n {custom_content}\n </React.Fragment>\n )}\n\n {content && (\n <>\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n &zwnj;\n </span>\n <span\n key=\"button-text\"\n className=\"dnb-button__text dnb-skeleton--show-font\"\n >\n {content}\n </span>\n </>\n )}\n\n {\n // on empty text, use a zero-width non-joiner\n // so the icon button gets vertical aligned\n // we need the dnb-button__text for alignment\n !content && icon && (\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n &zwnj;\n </span>\n )\n }\n\n {icon &&\n (pickIcon(icon) || (\n <IconPrimary\n key=\"button-icon\"\n className=\"dnb-button__icon\"\n icon={icon}\n size={icon_size}\n aria-hidden={isIconOnly && !title ? null : true}\n skeleton={skeleton}\n />\n ))}\n </>\n )\n}\n\nContent.propTypes = {\n title: PropTypes.node,\n custom_content: PropTypes.node,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.node,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.bool,\n isIconOnly: PropTypes.bool,\n}\n\nContent.defaultProps = {\n custom_content: null,\n title: null,\n content: null,\n icon: null,\n icon_size: 'default',\n bounding: null,\n skeleton: null,\n isIconOnly: null,\n}\n\nButton._formElement = true\nButton._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_Context","_componentHelper","_SpacingHelper","_SkeletonHelper","_filterValidProps","_IconPrimary","_FormStatus","_Anchor","_interopRequireWildcard","_icons","_Tooltip","_span","_span2","_span3","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","buttonVariantPropType","variant","PropTypes","oneOf","exports","Button","React","PureComponent","getContent","props","processChildren","constructor","event","afterContent","dispatchCustomElementEvent","isValidElement","setState","_id","id","status","tooltip","makeUniqueId","_ref","createRef","state","componentDidMount","innerRef","current","inner_ref","render","_this$context","_this$context2","_this$context3","_this$context4","_this$context4$theme","extendPropsWithContextInClassComponent","defaultProps","skeleton","context","pickFormElementProps","FormRow","formElement","class","class_name","className","size","title","custom_content","status_state","status_props","status_no_animation","globalStatus","disabled","text","_text","icon","_icon","icon_position","icon_size","wrap","bounding","stretch","element","attributes","showStatus","getStatusState","usedVariant","usedSize","iconSize","content","warn","isIconOnly","Boolean","Element","href","to","Anchor","omitClass","opensNewTab","launch","classes","classnames","createSkeletonClass","createSpacingClasses","theme","darkBackground","isTrue","params","on_click","onClick","onClickHandler","type","skeletonDOMAttributes","validateDOMAttributes","createElement","Fragment","ref","Content","show","label","text_id","no_animation","targetElement","Context","process","env","NODE_ENV","propTypes","oneOfType","string","node","func","number","bool","shape","message","rel","children","spacingPropTypes","pickIcon","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/button/Button.js"],"sourcesContent":["/**\n * Web Button Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n makeUniqueId,\n isTrue,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport FormStatus from '../form-status/FormStatus'\nimport Anchor, { pickIcon, opensNewTab } from '../anchor/Anchor'\nimport { launch } from '../../icons'\nimport Tooltip from '../tooltip/Tooltip'\n\nexport const buttonVariantPropType = {\n variant: PropTypes.oneOf([\n 'primary',\n 'secondary',\n 'tertiary',\n 'signal',\n\n /**\n * For internal use only (as of now)\n */\n 'unstyled',\n ]),\n}\n\n/**\n * The button component should be used as the call-to-action in a form, or as a user interaction mechanism. Generally speaking, a button should not be used when a link would do the trick. Exceptions are made at times when it is used as a navigation element in the action-nav element.\n */\nexport default class Button extends React.PureComponent {\n static contextType = Context\n\n static getContent(props) {\n return processChildren(props)\n }\n\n constructor(props) {\n super(props)\n\n this._id =\n props.id || ((props.status || props.tooltip) && makeUniqueId()) // cause we need an id anyway\n this._ref = React.createRef()\n\n this.state = { afterContent: null }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._ref.current)\n : (this.props.innerRef.current = this._ref.current)\n }\n if (this.props.inner_ref) {\n typeof this.props.innerRef === 'function'\n ? this.props.inner_ref(this._ref.current)\n : (this.props.inner_ref.current = this._ref.current)\n }\n }\n\n onClickHandler = (event) => {\n const afterContent = dispatchCustomElementEvent(this, 'on_click', {\n event,\n })\n if (afterContent && React.isValidElement(afterContent)) {\n this.setState({\n afterContent,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Button.defaultProps,\n { skeleton: this.context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Button\n )\n\n const {\n class: class_name,\n className,\n variant,\n size,\n title,\n custom_content,\n tooltip,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n id, // eslint-disable-line\n disabled,\n text: _text, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_position,\n icon_size,\n wrap,\n bounding, // eslint-disable-line\n stretch,\n skeleton,\n element,\n inner_ref, // eslint-disable-line\n innerRef, // eslint-disable-line\n ...attributes\n } = props\n\n const showStatus = getStatusState(status)\n\n let { text, icon } = props\n let usedVariant = variant\n let usedSize = size\n let iconSize = icon_size\n const content = Button.getContent(this.props)\n\n if (\n variant === 'tertiary' &&\n (text || content) &&\n !icon &&\n icon !== false\n ) {\n warn(\n `Icon required: A Tertiary Button requires an icon to be WCAG compliant in most cases, because variant tertiary has no underline.\n(Override this warning using icon={false}, or consider using one of the other variants)`\n )\n }\n\n // if only has Icon, then resize it and define it as secondary\n const isIconOnly = Boolean(!text && !content && icon)\n if (isIconOnly) {\n if (!usedVariant) {\n usedVariant = 'secondary'\n }\n if (!iconSize && (usedSize === 'default' || usedSize === 'large')) {\n iconSize = 'medium'\n }\n if (!usedSize) {\n usedSize = 'medium'\n }\n } else if (content) {\n if (!usedVariant) {\n usedVariant = 'primary'\n }\n if (!usedSize) {\n usedSize = 'default'\n }\n }\n if (!iconSize && variant === 'tertiary' && icon_position === 'top') {\n iconSize = 'medium'\n }\n\n const Element = element\n ? element\n : props.href || props.to\n ? Anchor\n : 'button'\n if (Element === Anchor) {\n attributes.omitClass = true\n if (opensNewTab(props.target, props.href) && !icon) {\n icon = launch\n }\n }\n\n const classes = classnames(\n 'dnb-button',\n `dnb-button--${usedVariant || 'primary'}`,\n usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`,\n this.context?.theme?.darkBackground &&\n `dnb-button--on-dark-background`,\n icon && `dnb-button--icon-position-${icon_position}`,\n isTrue(stretch) && 'dnb-button--stretch',\n icon && iconSize && `dnb-button--icon-size-${iconSize}`,\n (text || content || custom_content) && 'dnb-button--has-text',\n icon && 'dnb-button--has-icon',\n wrap && 'dnb-button--wrap',\n status && `dnb-button__status--${status_state}`,\n createSkeletonClass(\n variant === 'tertiary' ? 'font' : 'shape',\n skeleton,\n this.context\n ),\n createSpacingClasses(props),\n class_name,\n className,\n props.href || props.to ? '' : null, // dnb-anchor--no-underline dnb-anchor--no-hover\n Element === Anchor && 'dnb-anchor--no-style'\n )\n\n const params = {\n className: classes,\n title,\n id: this._id,\n disabled: isTrue(disabled),\n ...attributes,\n }\n\n if (this.props.on_click || this.props.onClick) {\n params.onClick = this.onClickHandler\n }\n\n if (Element !== Anchor && !params.type) {\n params.type = params.type === '' ? undefined : 'button'\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <>\n <Element ref={this._ref} {...params}>\n <Content\n {...this.props}\n icon={icon}\n icon_size={iconSize}\n content={text || content}\n custom_content={custom_content}\n isIconOnly={isIconOnly}\n skeleton={isTrue(skeleton)}\n />\n </Element>\n\n {this.state.afterContent}\n\n <FormStatus\n show={showStatus}\n id={this._id + '-form-status'}\n globalStatus={globalStatus}\n label={text}\n text={status}\n state={status_state}\n text_id={this._id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n {tooltip && this._ref && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </>\n )\n }\n}\n\nButton.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n type: PropTypes.string,\n title: PropTypes.node,\n variant: buttonVariantPropType.variant,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right', 'top']),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n id: PropTypes.string,\n class: PropTypes.string,\n href: PropTypes.string,\n target: PropTypes.string,\n rel: PropTypes.string,\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n ]),\n custom_content: PropTypes.node,\n wrap: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_ref: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n\n className: PropTypes.string,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.node,\n ]),\n\n ...spacingPropTypes,\n\n on_click: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n}\n\nButton.defaultProps = {\n type: null, // set the type because of the anchor/href situation – can be made more smart in future\n text: null,\n variant: null,\n size: null,\n title: null,\n icon: null,\n icon_position: 'right',\n icon_size: null,\n href: null,\n target: null,\n rel: null,\n to: null,\n id: null,\n class: null,\n custom_content: null,\n wrap: null,\n bounding: null,\n stretch: null,\n skeleton: null,\n disabled: null,\n tooltip: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n inner_ref: null,\n\n className: null,\n innerRef: null,\n children: null,\n element: null,\n\n on_click: null,\n}\n\nfunction Content({\n title,\n content,\n custom_content,\n icon,\n icon_size,\n bounding,\n skeleton,\n isIconOnly,\n}) {\n return (\n <>\n {isTrue(bounding) && (\n <span key=\"button-bounding\" className=\"dnb-button__bounding\" />\n )}\n\n {custom_content && (\n <React.Fragment key=\"button-custom-content\">\n {custom_content}\n </React.Fragment>\n )}\n\n {content && (\n <>\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n &zwnj;\n </span>\n <span\n key=\"button-text\"\n className=\"dnb-button__text dnb-skeleton--show-font\"\n >\n {content}\n </span>\n </>\n )}\n\n {\n // on empty text, use a zero-width non-joiner\n // so the icon button gets vertical aligned\n // we need the dnb-button__text for alignment\n !content && icon && (\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n &zwnj;\n </span>\n )\n }\n\n {icon &&\n (pickIcon(icon) || (\n <IconPrimary\n key=\"button-icon\"\n className=\"dnb-button__icon\"\n icon={icon}\n size={icon_size}\n aria-hidden={isIconOnly && !title ? null : true}\n skeleton={skeleton}\n />\n ))}\n </>\n )\n}\n\nContent.propTypes = {\n title: PropTypes.node,\n custom_content: PropTypes.node,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.node,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.bool,\n isIconOnly: PropTypes.bool,\n}\n\nContent.defaultProps = {\n custom_content: null,\n title: null,\n content: null,\n icon: null,\n icon_size: 'default',\n bounding: null,\n skeleton: null,\n isIconOnly: null,\n}\n\nButton._formElement = true\nButton._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -231,6 +231,8 @@ html[data-whatinput=keyboard] .dnb-button--tertiary:hover:focus .dnb-button__tex
231
231
  --button-secondary-border--default
232
232
  );
233
233
  --button-secondary-border--disabled: var(--sb-color-gray-light);
234
+ --button-tertiary-color: var(--sb-color-violet);
235
+ --button-tertiary-border: var(--sb-color-violet);
234
236
  border: none;
235
237
  }
236
238
  .dnb-button.dnb-button--has-text.dnb-button--size-large.dnb-button--primary, .dnb-button.dnb-button--has-text.dnb-button--size-large.dnb-button--secondary {
@@ -346,7 +348,7 @@ html:not([data-whatintent=touch]) .dnb-button--primary:focus-visible:not([disabl
346
348
  --button-tertiary-underline-bottom: -0.5rem;
347
349
  --button-tertiary-text-bottom--icon: 0.5rem;
348
350
  --button-tertiary-text-top--icon: 0;
349
- color: var(--sb-color-violet);
351
+ color: var(--button-tertiary-color);
350
352
  background-color: transparent;
351
353
  }
352
354
  .dnb-button--tertiary .dnb-button__text::after {
@@ -373,7 +375,7 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:hover[disabled] {
373
375
  cursor: not-allowed;
374
376
  }
375
377
  html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(:focus-visible) .dnb-button__text::after {
376
- color: var(--sb-color-violet);
378
+ color: var(--button-tertiary-border);
377
379
  transition: none;
378
380
  }
379
381
  html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(.dnb-button--has-text) {
@@ -403,12 +405,6 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):no
403
405
  html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(.dnb-button--has-text) > * {
404
406
  z-index: 2;
405
407
  }
406
- .dnb-button--tertiary:active[disabled], html:not([data-whatintent=touch]) .dnb-button--tertiary:active[disabled] {
407
- cursor: not-allowed;
408
- }
409
- .dnb-button--tertiary:active:not([disabled]) .dnb-button__text::after, html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text::after {
410
- color: var(--sb-color-violet);
411
- }
412
408
  html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible[disabled] {
413
409
  cursor: not-allowed;
414
410
  }
@@ -437,9 +433,25 @@ html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disab
437
433
  html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]) > * {
438
434
  z-index: 2;
439
435
  }
440
- html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]) .dnb-button__text::after {
441
- visibility: hidden;
442
- }
443
436
  .dnb-button--tertiary[disabled] {
444
437
  color: var(--sb-color-gray-dark);
438
+ }
439
+ .dnb-button--on-dark-background {
440
+ --button-primary-color: var(--sb-color-text);
441
+ --button-primary-color--hover: var(--sb-color-purple-alternative);
442
+ --button-primary-color--active: var(--sb-color-purple-alternative);
443
+ --button-primary-background: var(--sb-color-green);
444
+ --button-primary-background--hover: var(--sb-color-violet-light-2);
445
+ --button-primary-background--active: var(--sb-color-violet-light-3);
446
+ --button-secondary-color: var(--sb-color-white);
447
+ --button-secondary-color--hover: var(--sb-color-purple-alternative);
448
+ --button-secondary-color--active: var(--sb-color-purple-alternative);
449
+ --button-secondary-background: transparent;
450
+ --button-secondary-background--hover: var(--sb-color-violet-light-2);
451
+ --button-secondary-background--active: var(--sb-color-violet-light-3);
452
+ --button-secondary-border--default: var(--sb-color-green);
453
+ --button-secondary-border--hover: var(--sb-color-violet-light);
454
+ --button-secondary-border--active: var(--sb-color-violet-light);
455
+ --button-tertiary-color: var(--sb-color-white);
456
+ --button-tertiary-border: var(--sb-color-green);
445
457
  }
@@ -1,4 +1,4 @@
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:not([disabled]){outline:none}html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]):before{box-shadow:0 0 0 var(--border-width) var(--border-color)}html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]) .dnb-button__text:after{visibility:visible}.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(
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:not([disabled]){outline:none}html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]):before{box-shadow:0 0 0 var(--border-width) var(--border-color)}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: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
2
  --button-tertiary-focus-overflow--icon-top
3
3
  );--button-tertiary-focus-right:var(
4
4
  --button-tertiary-focus-overflow--icon-top
@@ -6,8 +6,8 @@
6
6
  --button-secondary-border--default
7
7
  );--button-secondary-border--active:var(
8
8
  --button-secondary-border--default
9
- );--button-secondary-border--disabled:var(--sb-color-gray-light);border:none}.dnb-button.dnb-button--has-text.dnb-button--size-large.dnb-button--primary,.dnb-button.dnb-button--has-text.dnb-button--size-large.dnb-button--secondary{padding-left:1.5rem;padding-right:1.5rem}.dnb-button.dnb-button--has-text.dnb-button--size-large.dnb-button--icon-position-right{padding-right:.5rem}.dnb-button.dnb-button--has-text.dnb-button--size-large.dnb-button--icon-position-left{padding-left:.5rem}.dnb-button--primary{background-color:var(--button-primary-background);box-shadow:var(--button-primary-shadow);color:var(--button-primary-color)}html:not([data-whatintent=touch]) .dnb-button--primary:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--primary:hover:not([disabled]){--border-color:var(--button-primary-border--hover);--border-width:0.0625rem;background-color:var(--button-primary-background--hover);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color),var(--button-primary-shadow--hover);color:var(--button-primary-color--hover)}.dnb-button--primary:active[disabled],html:not([data-whatintent=touch]) .dnb-button--primary:active[disabled]{cursor:not-allowed}.dnb-button--primary:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-button--primary:active:not([disabled]){background-color:var(--button-primary-background--active);color:var(--button-primary-color--active)}.dnb-button--secondary{--border-color:var(--button-secondary-border);--border-width:0.0625rem;background-color:var(--button-secondary-background);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--button-secondary-color)}html:not([data-whatintent=touch]) .dnb-button--secondary:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--secondary:hover:not([disabled]){--button-secondary-border:var(--button-secondary-border--hover);background-color:var(--button-secondary-background--hover);color:var(--button-secondary-color--hover)}.dnb-button--secondary:active[disabled],html:not([data-whatintent=touch]) .dnb-button--secondary:active[disabled]{cursor:not-allowed}.dnb-button--secondary:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-button--secondary:active:not([disabled]){--button-secondary-border:var(--button-secondary-border--active);background-color:var(--button-secondary-background--active);color:var(--button-secondary-color--active)}.dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-after,.dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-before{border:none;box-shadow:none}html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-before:hover:not([disabled]){border:none;box-shadow:none}html:not([data-whatintent=touch]) .dnb-button--primary:focus-visible[disabled],html:not([data-whatintent=touch]) .dnb-button--secondary:focus-visible[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--primary:focus-visible:not([disabled]),html:not([data-whatintent=touch]) .dnb-button--secondary:focus-visible:not([disabled]){--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);background-color:var(--button-background--focus);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color),var(--sb-shadow-medium);color:var(--sb-color-blue-dark);outline:none}.dnb-button[disabled]{--button-primary-shadow:0 0 transparent;--button-primary-color:var(--button-primary-color--disabled);--button-primary-background:var(
9
+ );--button-secondary-border--disabled:var(--sb-color-gray-light);--button-tertiary-color:var(--sb-color-violet);--button-tertiary-border:var(--sb-color-violet);border:none}.dnb-button.dnb-button--has-text.dnb-button--size-large.dnb-button--primary,.dnb-button.dnb-button--has-text.dnb-button--size-large.dnb-button--secondary{padding-left:1.5rem;padding-right:1.5rem}.dnb-button.dnb-button--has-text.dnb-button--size-large.dnb-button--icon-position-right{padding-right:.5rem}.dnb-button.dnb-button--has-text.dnb-button--size-large.dnb-button--icon-position-left{padding-left:.5rem}.dnb-button--primary{background-color:var(--button-primary-background);box-shadow:var(--button-primary-shadow);color:var(--button-primary-color)}html:not([data-whatintent=touch]) .dnb-button--primary:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--primary:hover:not([disabled]){--border-color:var(--button-primary-border--hover);--border-width:0.0625rem;background-color:var(--button-primary-background--hover);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color),var(--button-primary-shadow--hover);color:var(--button-primary-color--hover)}.dnb-button--primary:active[disabled],html:not([data-whatintent=touch]) .dnb-button--primary:active[disabled]{cursor:not-allowed}.dnb-button--primary:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-button--primary:active:not([disabled]){background-color:var(--button-primary-background--active);color:var(--button-primary-color--active)}.dnb-button--secondary{--border-color:var(--button-secondary-border);--border-width:0.0625rem;background-color:var(--button-secondary-background);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color);color:var(--button-secondary-color)}html:not([data-whatintent=touch]) .dnb-button--secondary:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--secondary:hover:not([disabled]){--button-secondary-border:var(--button-secondary-border--hover);background-color:var(--button-secondary-background--hover);color:var(--button-secondary-color--hover)}.dnb-button--secondary:active[disabled],html:not([data-whatintent=touch]) .dnb-button--secondary:active[disabled]{cursor:not-allowed}.dnb-button--secondary:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-button--secondary:active:not([disabled]){--button-secondary-border:var(--button-secondary-border--active);background-color:var(--button-secondary-background--active);color:var(--button-secondary-color--active)}.dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-after,.dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-before{border:none;box-shadow:none}html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-before:hover:not([disabled]){border:none;box-shadow:none}html:not([data-whatintent=touch]) .dnb-button--primary:focus-visible[disabled],html:not([data-whatintent=touch]) .dnb-button--secondary:focus-visible[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--primary:focus-visible:not([disabled]),html:not([data-whatintent=touch]) .dnb-button--secondary:focus-visible:not([disabled]){--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);background-color:var(--button-background--focus);border-color:transparent;box-shadow:inset 0 0 0 var(--border-width) var(--border-color),var(--sb-shadow-medium);color:var(--sb-color-blue-dark);outline:none}.dnb-button[disabled]{--button-primary-shadow:0 0 transparent;--button-primary-color:var(--button-primary-color--disabled);--button-primary-background:var(
10
10
  --button-primary-background--disabled
11
11
  );--button-secondary-color:var(--button-secondary-color--disabled);--button-secondary-border--default:var(
12
12
  --button-secondary-border--disabled
13
- )}.dnb-button:not([disabled]).dnb-button__status--error{--button-primary-shadow--hover:0 0 transparent;--button-primary-color:var(--sb-color-white);--button-primary-color--hover:var(--sb-color-red);--button-primary-color--active:var(--sb-color-white);--button-primary-background:var(--sb-color-red);--button-primary-background--hover:var(--sb-color-magenta-light-3);--button-primary-background--active:var(--sb-color-red);--button-primary-border--hover:var(--sb-color-red);--button-secondary-color:var(--sb-color-red);--button-secondary-color--hover:var(--sb-color-red);--button-secondary-color--active:var(--sb-color-red);--button-secondary-background--hover:var(--sb-color-magenta-light-3);--button-secondary-border--default:var(--sb-color-red)}.dnb-button--tertiary{--button-tertiary-focus-overflow--icon-top:0;--button-tertiary-underline-overflow:-0.5rem;--button-tertiary-underline-overflow--icon:-1rem;--button-tertiary-underline-bottom:-0.5rem;--button-tertiary-text-bottom--icon:0.5rem;--button-tertiary-text-top--icon:0;background-color:transparent;color:var(--sb-color-violet)}.dnb-button--tertiary .dnb-button__text:after{bottom:var(--button-tertiary-underline-bottom);height:.0625rem}.dnb-button--tertiary.dnb-button--has-text.dnb-button--icon-position-top{padding-left:calc(var(--button-tertiary-underline-overflow)*-1);padding-right:calc(var(--button-tertiary-underline-overflow)*-1)}.dnb-button--tertiary.dnb-button--has-text.dnb-button--icon-position-top .dnb-button__text{font-size:var(--button-font-size);margin-bottom:var(--button-tertiary-text-bottom--icon);margin-top:var(--button-tertiary-text-top--icon)}.dnb-button--tertiary.dnb-button--size-large{--button-tertiary-underline-bottom:-0.75rem;--button-tertiary-underline-overflow:-1.5rem;--button-tertiary-underline-overflow--icon:-1.5rem;--button-tertiary-text-bottom--icon:0.75rem;--button-tertiary-text-top--icon:0.25rem}html:not([data-whatintent=touch]) .dnb-button--tertiary:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(:focus-visible) .dnb-button__text:after{color:var(--sb-color-violet);transition:none}html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(.dnb-button--has-text){--focus-ring-width:0.0625rem;--sb-shadow-medium:0 0 transparent;color:var(--sb-color-blue-dark)}html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(.dnb-button--has-text):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);background-color:var(--button-background--focus);border-color:transparent;border-radius:inherit;bottom:0;box-shadow:inset 0 0 0 var(--border-width) var(--border-color),var(--sb-shadow-medium);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:hover:not([disabled]):not(.dnb-button--has-text)>*{z-index:2}.dnb-button--tertiary:active[disabled],html:not([data-whatintent=touch]) .dnb-button--tertiary:active[disabled]{cursor:not-allowed}.dnb-button--tertiary:active:not([disabled]) .dnb-button__text:after,html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text:after{color:var(--sb-color-violet)}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]){color:var(--sb-color-blue-dark)}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:inset 0 0 0 var(--border-width) var(--border-color),var(--sb-shadow-medium);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{background-color:var(--button-background--focus)}html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled])>*{z-index:2}html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled]) .dnb-button__text:after{visibility:hidden}.dnb-button--tertiary[disabled]{color:var(--sb-color-gray-dark)}
13
+ )}.dnb-button:not([disabled]).dnb-button__status--error{--button-primary-shadow--hover:0 0 transparent;--button-primary-color:var(--sb-color-white);--button-primary-color--hover:var(--sb-color-red);--button-primary-color--active:var(--sb-color-white);--button-primary-background:var(--sb-color-red);--button-primary-background--hover:var(--sb-color-magenta-light-3);--button-primary-background--active:var(--sb-color-red);--button-primary-border--hover:var(--sb-color-red);--button-secondary-color:var(--sb-color-red);--button-secondary-color--hover:var(--sb-color-red);--button-secondary-color--active:var(--sb-color-red);--button-secondary-background--hover:var(--sb-color-magenta-light-3);--button-secondary-border--default:var(--sb-color-red)}.dnb-button--tertiary{--button-tertiary-focus-overflow--icon-top:0;--button-tertiary-underline-overflow:-0.5rem;--button-tertiary-underline-overflow--icon:-1rem;--button-tertiary-underline-bottom:-0.5rem;--button-tertiary-text-bottom--icon:0.5rem;--button-tertiary-text-top--icon:0;background-color:transparent;color:var(--button-tertiary-color)}.dnb-button--tertiary .dnb-button__text:after{bottom:var(--button-tertiary-underline-bottom);height:.0625rem}.dnb-button--tertiary.dnb-button--has-text.dnb-button--icon-position-top{padding-left:calc(var(--button-tertiary-underline-overflow)*-1);padding-right:calc(var(--button-tertiary-underline-overflow)*-1)}.dnb-button--tertiary.dnb-button--has-text.dnb-button--icon-position-top .dnb-button__text{font-size:var(--button-font-size);margin-bottom:var(--button-tertiary-text-bottom--icon);margin-top:var(--button-tertiary-text-top--icon)}.dnb-button--tertiary.dnb-button--size-large{--button-tertiary-underline-bottom:-0.75rem;--button-tertiary-underline-overflow:-1.5rem;--button-tertiary-underline-overflow--icon:-1.5rem;--button-tertiary-text-bottom--icon:0.75rem;--button-tertiary-text-top--icon:0.25rem}html:not([data-whatintent=touch]) .dnb-button--tertiary:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(:focus-visible) .dnb-button__text:after{color:var(--button-tertiary-border);transition:none}html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(.dnb-button--has-text){--focus-ring-width:0.0625rem;--sb-shadow-medium:0 0 transparent;color:var(--sb-color-blue-dark)}html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]):not(.dnb-button--has-text):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);background-color:var(--button-background--focus);border-color:transparent;border-radius:inherit;bottom:0;box-shadow:inset 0 0 0 var(--border-width) var(--border-color),var(--sb-shadow-medium);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:hover:not([disabled]):not(.dnb-button--has-text)>*{z-index:2}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]){color:var(--sb-color-blue-dark)}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:inset 0 0 0 var(--border-width) var(--border-color),var(--sb-shadow-medium);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{background-color:var(--button-background--focus)}html:not([data-whatintent=touch]) .dnb-button--tertiary:focus-visible:not([disabled])>*{z-index:2}.dnb-button--tertiary[disabled]{color:var(--sb-color-gray-dark)}.dnb-button--on-dark-background{--button-primary-color:var(--sb-color-text);--button-primary-color--hover:var(--sb-color-purple-alternative);--button-primary-color--active:var(--sb-color-purple-alternative);--button-primary-background:var(--sb-color-green);--button-primary-background--hover:var(--sb-color-violet-light-2);--button-primary-background--active:var(--sb-color-violet-light-3);--button-secondary-color:var(--sb-color-white);--button-secondary-color--hover:var(--sb-color-purple-alternative);--button-secondary-color--active:var(--sb-color-purple-alternative);--button-secondary-background:transparent;--button-secondary-background--hover:var(--sb-color-violet-light-2);--button-secondary-background--active:var(--sb-color-violet-light-3);--button-secondary-border--default:var(--sb-color-green);--button-secondary-border--hover:var(--sb-color-violet-light);--button-secondary-border--active:var(--sb-color-violet-light);--button-tertiary-color:var(--sb-color-white);--button-tertiary-border:var(--sb-color-green)}