@dnb/eufemia 10.20.0 → 10.21.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 (810) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/cjs/components/date-picker/DatePicker.d.ts +10 -1
  3. package/cjs/components/date-picker/DatePicker.js +5 -2
  4. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  5. package/cjs/components/form-label/style/dnb-form-label.css +0 -7
  6. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  7. package/cjs/components/form-label/style/dnb-form-label.scss +0 -6
  8. package/cjs/components/form-status/style/dnb-form-status.css +11 -0
  9. package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
  10. package/cjs/components/form-status/style/dnb-form-status.scss +11 -0
  11. package/cjs/components/info-card/InfoCard.d.ts +6 -0
  12. package/cjs/components/info-card/InfoCard.js +4 -2
  13. package/cjs/components/info-card/InfoCard.js.map +1 -1
  14. package/cjs/components/info-card/style/dnb-info-card.css +3 -1
  15. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
  16. package/cjs/components/info-card/style/dnb-info-card.scss +4 -2
  17. package/cjs/components/input/Input.d.ts +8 -8
  18. package/cjs/components/input/InputDocs.d.ts +2 -0
  19. package/cjs/components/input/InputDocs.js +165 -0
  20. package/cjs/components/input/InputDocs.js.map +1 -0
  21. package/cjs/components/input/InputPassword.d.ts +6 -17
  22. package/cjs/components/input/InputPassword.js +4 -85
  23. package/cjs/components/input/InputPassword.js.map +1 -1
  24. package/cjs/components/input-masked/InputMasked.d.ts +6 -93
  25. package/cjs/components/input-masked/InputMasked.js +3 -1
  26. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  27. package/cjs/components/input-masked/InputMaskedDocs.d.ts +2 -0
  28. package/cjs/components/input-masked/InputMaskedDocs.js +85 -0
  29. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -0
  30. package/cjs/components/input-masked/InputMaskedHooks.js +7 -4
  31. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  32. package/cjs/components/input-masked/MultiInputMask.js +2 -6
  33. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  34. package/cjs/components/input-masked/style/dnb-input-masked.css +3 -0
  35. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  36. package/cjs/components/input-masked/style/dnb-input-masked.scss +5 -0
  37. package/cjs/components/number-format/NumberFormat.d.ts +1 -1
  38. package/cjs/components/number-format/NumberUtils.js +22 -14
  39. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  40. package/cjs/components/slider/Slider.d.ts +1 -0
  41. package/cjs/components/slider/Slider.js +10 -1
  42. package/cjs/components/slider/Slider.js.map +1 -1
  43. package/cjs/components/slider/SliderInstance.js +20 -6
  44. package/cjs/components/slider/SliderInstance.js.map +1 -1
  45. package/cjs/components/slider/SliderMarker.d.ts +7 -0
  46. package/cjs/components/slider/SliderMarker.js +62 -0
  47. package/cjs/components/slider/SliderMarker.js.map +1 -0
  48. package/cjs/components/slider/SliderProvider.js +2 -1
  49. package/cjs/components/slider/SliderProvider.js.map +1 -1
  50. package/cjs/components/slider/style/dnb-slider.css +43 -2
  51. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  52. package/cjs/components/slider/style/dnb-slider.scss +44 -1
  53. package/cjs/components/slider/style/themes/dnb-slider-theme-sbanken.css +3 -0
  54. package/cjs/components/slider/style/themes/dnb-slider-theme-sbanken.min.css +1 -1
  55. package/cjs/components/slider/style/themes/dnb-slider-theme-sbanken.scss +4 -0
  56. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.css +3 -0
  57. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  58. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.scss +5 -0
  59. package/cjs/components/slider/types.d.ts +6 -0
  60. package/cjs/components/slider/types.js.map +1 -1
  61. package/cjs/components/table/TableAccordion.js +3 -2
  62. package/cjs/components/table/TableAccordion.js.map +1 -1
  63. package/cjs/components/table/TableAccordionContent.js +3 -3
  64. package/cjs/components/table/TableAccordionContent.js.map +1 -1
  65. package/cjs/components/table/style/dnb-table.css +179 -112
  66. package/cjs/components/table/style/dnb-table.min.css +1 -1
  67. package/cjs/components/table/style/dnb-table.scss +60 -4
  68. package/cjs/components/table/style/table-accordion.scss +24 -57
  69. package/cjs/components/table/style/table-container.scss +9 -9
  70. package/cjs/components/table/style/table-mixins.scss +19 -2
  71. package/cjs/components/table/style/table-td.scss +82 -60
  72. package/cjs/components/table/style/table-th.scss +5 -30
  73. package/cjs/components/table/style/table-tr.scss +0 -20
  74. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +24 -7
  75. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  76. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +17 -12
  77. package/cjs/components/table/style/themes/dnb-table-theme-ui.css +14 -9
  78. package/cjs/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  79. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +12 -22
  80. package/cjs/components/textarea/Textarea.d.ts +4 -10
  81. package/cjs/components/textarea/TextareaDocs.d.ts +2 -0
  82. package/cjs/components/textarea/TextareaDocs.js +105 -0
  83. package/cjs/components/textarea/TextareaDocs.js.map +1 -0
  84. package/cjs/components/textarea/style/dnb-textarea.css +1 -0
  85. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  86. package/cjs/components/textarea/style/dnb-textarea.scss +3 -0
  87. package/cjs/components/upload/UploadInfo.js +1 -1
  88. package/cjs/components/upload/UploadInfo.js.map +1 -1
  89. package/cjs/core/jest/jestSetupScreenshots.css +7 -0
  90. package/cjs/elements/lib.d.ts +1 -1
  91. package/cjs/elements/lists/Dl.d.ts +5 -1
  92. package/cjs/elements/lists/Dl.js +5 -4
  93. package/cjs/elements/lists/Dl.js.map +1 -1
  94. package/cjs/elements/lists/style/lists-mixins.scss +24 -1
  95. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
  96. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  97. package/cjs/extensions/forms/DataContext/Provider/Provider.js +58 -40
  98. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  99. package/cjs/extensions/forms/Field/Currency/Currency.js +1 -1
  100. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  101. package/cjs/extensions/forms/Field/Expiry/Expiry.js +1 -0
  102. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  103. package/cjs/extensions/forms/Field/FieldDocs.d.ts +3 -0
  104. package/cjs/extensions/forms/Field/FieldDocs.js +18 -0
  105. package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -0
  106. package/cjs/extensions/forms/Field/Number/Number.d.ts +1 -0
  107. package/cjs/extensions/forms/Field/Number/Number.js +13 -7
  108. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  109. package/cjs/extensions/forms/Field/Number/NumberDocs.d.ts +2 -0
  110. package/cjs/extensions/forms/Field/Number/NumberDocs.js +92 -0
  111. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -0
  112. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +3 -1
  113. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  114. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +4 -1
  115. package/cjs/extensions/forms/Field/Password/Password.d.ts +45 -0
  116. package/cjs/extensions/forms/Field/Password/Password.js +111 -0
  117. package/cjs/extensions/forms/Field/Password/Password.js.map +1 -0
  118. package/cjs/extensions/forms/Field/Password/index.d.ts +2 -0
  119. package/cjs/extensions/forms/Field/Password/index.js +27 -0
  120. package/cjs/extensions/forms/Field/Password/index.js.map +1 -0
  121. package/cjs/extensions/forms/Field/Password/style/dnb-password.css +6 -0
  122. package/cjs/extensions/forms/Field/Password/style/dnb-password.min.css +1 -0
  123. package/cjs/extensions/forms/Field/Password/style/dnb-password.scss +10 -0
  124. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -5
  125. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  126. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -12
  127. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  128. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -11
  129. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +0 -1
  130. package/cjs/extensions/forms/Field/Selection/Selection.js +1 -9
  131. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  132. package/cjs/extensions/forms/Field/String/String.d.ts +20 -9
  133. package/cjs/extensions/forms/Field/String/String.js +52 -31
  134. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  135. package/cjs/extensions/forms/Field/String/StringDocs.d.ts +2 -0
  136. package/cjs/extensions/forms/Field/String/StringDocs.js +106 -0
  137. package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -0
  138. package/cjs/extensions/forms/Field/Toggle/Toggle.js +1 -1
  139. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  140. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  141. package/cjs/extensions/forms/Field/index.js +7 -0
  142. package/cjs/extensions/forms/Field/index.js.map +1 -1
  143. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +8 -3
  144. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +204 -62
  145. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  146. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +40 -6
  147. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  148. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +2 -0
  149. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +60 -0
  150. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -0
  151. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +27 -0
  152. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  153. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +26 -0
  154. package/cjs/extensions/forms/Form/Appearance/Appearance.d.ts +7 -0
  155. package/cjs/extensions/forms/Form/Appearance/Appearance.js +38 -0
  156. package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -0
  157. package/cjs/extensions/forms/Form/Appearance/AppearanceDocs.d.ts +2 -0
  158. package/cjs/extensions/forms/Form/Appearance/AppearanceDocs.js +15 -0
  159. package/cjs/extensions/forms/Form/Appearance/AppearanceDocs.js.map +1 -0
  160. package/cjs/extensions/forms/Form/Appearance/index.d.ts +2 -0
  161. package/cjs/extensions/forms/Form/Appearance/index.js +27 -0
  162. package/cjs/extensions/forms/Form/Appearance/index.js.map +1 -0
  163. package/cjs/extensions/forms/Form/data-context/useData.js +1 -1
  164. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  165. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  166. package/cjs/extensions/forms/Form/index.js +7 -0
  167. package/cjs/extensions/forms/Form/index.js.map +1 -1
  168. package/cjs/extensions/forms/Value/Currency/Currency.js +2 -2
  169. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  170. package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +7 -0
  171. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +35 -0
  172. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -0
  173. package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +7 -0
  174. package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.js +12 -0
  175. package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -0
  176. package/cjs/extensions/forms/Value/SummaryList/index.d.ts +2 -0
  177. package/cjs/extensions/forms/Value/SummaryList/index.js +27 -0
  178. package/cjs/extensions/forms/Value/SummaryList/index.js.map +1 -0
  179. package/cjs/extensions/forms/Value/ValueDocs.d.ts +2 -0
  180. package/cjs/extensions/forms/Value/ValueDocs.js +40 -0
  181. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -0
  182. package/cjs/extensions/forms/Value/index.d.ts +1 -0
  183. package/cjs/extensions/forms/Value/index.js +7 -0
  184. package/cjs/extensions/forms/Value/index.js.map +1 -1
  185. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +13 -3
  186. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  187. package/cjs/extensions/forms/hooks/DataValueDocs.d.ts +3 -0
  188. package/cjs/extensions/forms/hooks/DataValueDocs.js +118 -0
  189. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -0
  190. package/cjs/extensions/forms/hooks/useDataValue.d.ts +6 -6
  191. package/cjs/extensions/forms/hooks/useDataValue.js +87 -18
  192. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  193. package/cjs/extensions/forms/hooks/useId.js +1 -1
  194. package/cjs/extensions/forms/hooks/useId.js.map +1 -1
  195. package/cjs/extensions/forms/hooks/useMountEffect.js +1 -1
  196. package/cjs/extensions/forms/hooks/useMountEffect.js.map +1 -1
  197. package/cjs/extensions/forms/hooks/useUnmountEffect.d.ts +4 -0
  198. package/cjs/extensions/forms/hooks/useUnmountEffect.js +14 -0
  199. package/cjs/extensions/forms/hooks/useUnmountEffect.js.map +1 -0
  200. package/cjs/extensions/forms/style/dnb-forms.css +37 -13
  201. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  202. package/cjs/extensions/forms/types.d.ts +4 -4
  203. package/cjs/extensions/forms/types.js.map +1 -1
  204. package/cjs/shared/Context.d.ts +2 -0
  205. package/cjs/shared/Context.js.map +1 -1
  206. package/cjs/shared/Eufemia.d.ts +1 -1
  207. package/cjs/shared/Eufemia.js +2 -2
  208. package/cjs/shared/Eufemia.js.map +1 -1
  209. package/cjs/shared/component-helper.d.ts +1 -0
  210. package/cjs/shared/component-helper.js +10 -0
  211. package/cjs/shared/component-helper.js.map +1 -1
  212. package/cjs/shared/helpers/filterValidProps.d.ts +2 -2
  213. package/cjs/shared/helpers/filterValidProps.js +2 -2
  214. package/cjs/shared/helpers/filterValidProps.js.map +1 -1
  215. package/cjs/shared/helpers/withCamelCaseProps.d.ts +7 -1
  216. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  217. package/cjs/shared/locales/en-GB.d.ts +5 -3
  218. package/cjs/shared/locales/en-GB.js +7 -5
  219. package/cjs/shared/locales/en-GB.js.map +1 -1
  220. package/cjs/shared/locales/en-US.d.ts +5 -3
  221. package/cjs/shared/locales/index.d.ts +10 -6
  222. package/cjs/shared/locales/nb-NO.d.ts +5 -3
  223. package/cjs/shared/locales/nb-NO.js +7 -5
  224. package/cjs/shared/locales/nb-NO.js.map +1 -1
  225. package/cjs/shared/types.d.ts +5 -0
  226. package/cjs/shared/types.js.map +1 -1
  227. package/cjs/style/dnb-ui-components.css +277 -135
  228. package/cjs/style/dnb-ui-components.min.css +3 -3
  229. package/cjs/style/dnb-ui-elements.css +25 -5
  230. package/cjs/style/dnb-ui-elements.min.css +1 -1
  231. package/cjs/style/dnb-ui-extensions.css +37 -13
  232. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  233. package/cjs/style/dnb-ui-forms.css +37 -13
  234. package/cjs/style/dnb-ui-forms.min.css +1 -1
  235. package/cjs/style/dnb-ui-forms.scss +1 -0
  236. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -5
  237. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  238. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +331 -157
  239. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  240. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +25 -5
  241. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  242. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +37 -13
  243. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  244. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +37 -13
  245. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  246. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +25 -5
  247. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  248. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +341 -155
  249. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  250. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +25 -5
  251. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  252. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +37 -13
  253. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  254. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +37 -13
  255. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  256. package/cjs/style/themes/theme-ui/ui-theme-basis.css +25 -5
  257. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  258. package/cjs/style/themes/theme-ui/ui-theme-components.css +331 -157
  259. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  260. package/cjs/style/themes/theme-ui/ui-theme-elements.css +25 -5
  261. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  262. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +37 -13
  263. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  264. package/cjs/style/themes/theme-ui/ui-theme-forms.css +37 -13
  265. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  266. package/cjs/style/themes/theme-ui/ui-theme-tags.css +25 -5
  267. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  268. package/components/date-picker/DatePicker.d.ts +10 -1
  269. package/components/date-picker/DatePicker.js +5 -2
  270. package/components/date-picker/DatePicker.js.map +1 -1
  271. package/components/form-label/style/dnb-form-label.css +0 -7
  272. package/components/form-label/style/dnb-form-label.min.css +1 -1
  273. package/components/form-label/style/dnb-form-label.scss +0 -6
  274. package/components/form-status/style/dnb-form-status.css +11 -0
  275. package/components/form-status/style/dnb-form-status.min.css +1 -1
  276. package/components/form-status/style/dnb-form-status.scss +11 -0
  277. package/components/info-card/InfoCard.d.ts +6 -0
  278. package/components/info-card/InfoCard.js +4 -2
  279. package/components/info-card/InfoCard.js.map +1 -1
  280. package/components/info-card/style/dnb-info-card.css +3 -1
  281. package/components/info-card/style/dnb-info-card.min.css +1 -1
  282. package/components/info-card/style/dnb-info-card.scss +4 -2
  283. package/components/input/Input.d.ts +8 -8
  284. package/components/input/InputDocs.d.ts +2 -0
  285. package/components/input/InputDocs.js +158 -0
  286. package/components/input/InputDocs.js.map +1 -0
  287. package/components/input/InputPassword.d.ts +6 -17
  288. package/components/input/InputPassword.js +3 -81
  289. package/components/input/InputPassword.js.map +1 -1
  290. package/components/input-masked/InputMasked.d.ts +6 -93
  291. package/components/input-masked/InputMasked.js +3 -1
  292. package/components/input-masked/InputMasked.js.map +1 -1
  293. package/components/input-masked/InputMaskedDocs.d.ts +2 -0
  294. package/components/input-masked/InputMaskedDocs.js +78 -0
  295. package/components/input-masked/InputMaskedDocs.js.map +1 -0
  296. package/components/input-masked/InputMaskedHooks.js +7 -4
  297. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  298. package/components/input-masked/MultiInputMask.js +2 -6
  299. package/components/input-masked/MultiInputMask.js.map +1 -1
  300. package/components/input-masked/style/dnb-input-masked.css +3 -0
  301. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  302. package/components/input-masked/style/dnb-input-masked.scss +5 -0
  303. package/components/number-format/NumberFormat.d.ts +1 -1
  304. package/components/number-format/NumberUtils.js +22 -14
  305. package/components/number-format/NumberUtils.js.map +1 -1
  306. package/components/slider/Slider.d.ts +1 -0
  307. package/components/slider/Slider.js +1 -0
  308. package/components/slider/Slider.js.map +1 -1
  309. package/components/slider/SliderInstance.js +18 -5
  310. package/components/slider/SliderInstance.js.map +1 -1
  311. package/components/slider/SliderMarker.d.ts +7 -0
  312. package/components/slider/SliderMarker.js +53 -0
  313. package/components/slider/SliderMarker.js.map +1 -0
  314. package/components/slider/SliderProvider.js +2 -1
  315. package/components/slider/SliderProvider.js.map +1 -1
  316. package/components/slider/style/dnb-slider.css +43 -2
  317. package/components/slider/style/dnb-slider.min.css +1 -1
  318. package/components/slider/style/dnb-slider.scss +44 -1
  319. package/components/slider/style/themes/dnb-slider-theme-sbanken.css +3 -0
  320. package/components/slider/style/themes/dnb-slider-theme-sbanken.min.css +1 -1
  321. package/components/slider/style/themes/dnb-slider-theme-sbanken.scss +4 -0
  322. package/components/slider/style/themes/dnb-slider-theme-ui.css +3 -0
  323. package/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  324. package/components/slider/style/themes/dnb-slider-theme-ui.scss +5 -0
  325. package/components/slider/types.d.ts +6 -0
  326. package/components/slider/types.js.map +1 -1
  327. package/components/table/TableAccordion.js +3 -2
  328. package/components/table/TableAccordion.js.map +1 -1
  329. package/components/table/TableAccordionContent.js +3 -3
  330. package/components/table/TableAccordionContent.js.map +1 -1
  331. package/components/table/style/dnb-table.css +179 -112
  332. package/components/table/style/dnb-table.min.css +1 -1
  333. package/components/table/style/dnb-table.scss +60 -4
  334. package/components/table/style/table-accordion.scss +24 -57
  335. package/components/table/style/table-container.scss +9 -9
  336. package/components/table/style/table-mixins.scss +19 -2
  337. package/components/table/style/table-td.scss +82 -60
  338. package/components/table/style/table-th.scss +5 -30
  339. package/components/table/style/table-tr.scss +0 -20
  340. package/components/table/style/themes/dnb-table-theme-sbanken.css +24 -7
  341. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  342. package/components/table/style/themes/dnb-table-theme-sbanken.scss +17 -12
  343. package/components/table/style/themes/dnb-table-theme-ui.css +14 -9
  344. package/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  345. package/components/table/style/themes/dnb-table-theme-ui.scss +12 -22
  346. package/components/textarea/Textarea.d.ts +4 -10
  347. package/components/textarea/TextareaDocs.d.ts +2 -0
  348. package/components/textarea/TextareaDocs.js +98 -0
  349. package/components/textarea/TextareaDocs.js.map +1 -0
  350. package/components/textarea/style/dnb-textarea.css +1 -0
  351. package/components/textarea/style/dnb-textarea.min.css +1 -1
  352. package/components/textarea/style/dnb-textarea.scss +3 -0
  353. package/components/upload/UploadInfo.js +1 -1
  354. package/components/upload/UploadInfo.js.map +1 -1
  355. package/core/jest/jestSetupScreenshots.css +7 -0
  356. package/elements/lib.d.ts +1 -1
  357. package/elements/lists/Dl.d.ts +5 -1
  358. package/elements/lists/Dl.js +5 -4
  359. package/elements/lists/Dl.js.map +1 -1
  360. package/elements/lists/style/lists-mixins.scss +24 -1
  361. package/es/components/date-picker/DatePicker.d.ts +10 -1
  362. package/es/components/date-picker/DatePicker.js +5 -2
  363. package/es/components/date-picker/DatePicker.js.map +1 -1
  364. package/es/components/form-label/style/dnb-form-label.css +0 -7
  365. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  366. package/es/components/form-label/style/dnb-form-label.scss +0 -6
  367. package/es/components/form-status/style/dnb-form-status.css +11 -0
  368. package/es/components/form-status/style/dnb-form-status.min.css +1 -1
  369. package/es/components/form-status/style/dnb-form-status.scss +11 -0
  370. package/es/components/info-card/InfoCard.d.ts +6 -0
  371. package/es/components/info-card/InfoCard.js +4 -2
  372. package/es/components/info-card/InfoCard.js.map +1 -1
  373. package/es/components/info-card/style/dnb-info-card.css +3 -1
  374. package/es/components/info-card/style/dnb-info-card.min.css +1 -1
  375. package/es/components/info-card/style/dnb-info-card.scss +4 -2
  376. package/es/components/input/Input.d.ts +8 -8
  377. package/es/components/input/InputDocs.d.ts +2 -0
  378. package/es/components/input/InputDocs.js +158 -0
  379. package/es/components/input/InputDocs.js.map +1 -0
  380. package/es/components/input/InputPassword.d.ts +6 -17
  381. package/es/components/input/InputPassword.js +3 -81
  382. package/es/components/input/InputPassword.js.map +1 -1
  383. package/es/components/input-masked/InputMasked.d.ts +6 -93
  384. package/es/components/input-masked/InputMasked.js +3 -1
  385. package/es/components/input-masked/InputMasked.js.map +1 -1
  386. package/es/components/input-masked/InputMaskedDocs.d.ts +2 -0
  387. package/es/components/input-masked/InputMaskedDocs.js +78 -0
  388. package/es/components/input-masked/InputMaskedDocs.js.map +1 -0
  389. package/es/components/input-masked/InputMaskedHooks.js +7 -4
  390. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  391. package/es/components/input-masked/MultiInputMask.js +2 -6
  392. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  393. package/es/components/input-masked/style/dnb-input-masked.css +3 -0
  394. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  395. package/es/components/input-masked/style/dnb-input-masked.scss +5 -0
  396. package/es/components/number-format/NumberFormat.d.ts +1 -1
  397. package/es/components/number-format/NumberUtils.js +23 -14
  398. package/es/components/number-format/NumberUtils.js.map +1 -1
  399. package/es/components/slider/Slider.d.ts +1 -0
  400. package/es/components/slider/Slider.js +1 -0
  401. package/es/components/slider/Slider.js.map +1 -1
  402. package/es/components/slider/SliderInstance.js +17 -5
  403. package/es/components/slider/SliderInstance.js.map +1 -1
  404. package/es/components/slider/SliderMarker.d.ts +7 -0
  405. package/es/components/slider/SliderMarker.js +52 -0
  406. package/es/components/slider/SliderMarker.js.map +1 -0
  407. package/es/components/slider/SliderProvider.js +2 -1
  408. package/es/components/slider/SliderProvider.js.map +1 -1
  409. package/es/components/slider/style/dnb-slider.css +43 -2
  410. package/es/components/slider/style/dnb-slider.min.css +1 -1
  411. package/es/components/slider/style/dnb-slider.scss +44 -1
  412. package/es/components/slider/style/themes/dnb-slider-theme-sbanken.css +3 -0
  413. package/es/components/slider/style/themes/dnb-slider-theme-sbanken.min.css +1 -1
  414. package/es/components/slider/style/themes/dnb-slider-theme-sbanken.scss +4 -0
  415. package/es/components/slider/style/themes/dnb-slider-theme-ui.css +3 -0
  416. package/es/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  417. package/es/components/slider/style/themes/dnb-slider-theme-ui.scss +5 -0
  418. package/es/components/slider/types.d.ts +6 -0
  419. package/es/components/slider/types.js.map +1 -1
  420. package/es/components/table/TableAccordion.js +3 -3
  421. package/es/components/table/TableAccordion.js.map +1 -1
  422. package/es/components/table/TableAccordionContent.js +3 -3
  423. package/es/components/table/TableAccordionContent.js.map +1 -1
  424. package/es/components/table/style/dnb-table.css +179 -112
  425. package/es/components/table/style/dnb-table.min.css +1 -1
  426. package/es/components/table/style/dnb-table.scss +60 -4
  427. package/es/components/table/style/table-accordion.scss +24 -57
  428. package/es/components/table/style/table-container.scss +9 -9
  429. package/es/components/table/style/table-mixins.scss +19 -2
  430. package/es/components/table/style/table-td.scss +82 -60
  431. package/es/components/table/style/table-th.scss +5 -30
  432. package/es/components/table/style/table-tr.scss +0 -20
  433. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +24 -7
  434. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  435. package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +17 -12
  436. package/es/components/table/style/themes/dnb-table-theme-ui.css +14 -9
  437. package/es/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  438. package/es/components/table/style/themes/dnb-table-theme-ui.scss +12 -22
  439. package/es/components/textarea/Textarea.d.ts +4 -10
  440. package/es/components/textarea/TextareaDocs.d.ts +2 -0
  441. package/es/components/textarea/TextareaDocs.js +98 -0
  442. package/es/components/textarea/TextareaDocs.js.map +1 -0
  443. package/es/components/textarea/style/dnb-textarea.css +1 -0
  444. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  445. package/es/components/textarea/style/dnb-textarea.scss +3 -0
  446. package/es/components/upload/UploadInfo.js +1 -1
  447. package/es/components/upload/UploadInfo.js.map +1 -1
  448. package/es/core/jest/jestSetupScreenshots.css +7 -0
  449. package/es/elements/lib.d.ts +1 -1
  450. package/es/elements/lists/Dl.d.ts +5 -1
  451. package/es/elements/lists/Dl.js +5 -4
  452. package/es/elements/lists/Dl.js.map +1 -1
  453. package/es/elements/lists/style/lists-mixins.scss +24 -1
  454. package/es/extensions/forms/DataContext/Context.d.ts +1 -0
  455. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  456. package/es/extensions/forms/DataContext/Provider/Provider.js +58 -40
  457. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  458. package/es/extensions/forms/Field/Currency/Currency.js +1 -1
  459. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  460. package/es/extensions/forms/Field/Expiry/Expiry.js +1 -0
  461. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  462. package/es/extensions/forms/Field/FieldDocs.d.ts +3 -0
  463. package/es/extensions/forms/Field/FieldDocs.js +8 -0
  464. package/es/extensions/forms/Field/FieldDocs.js.map +1 -0
  465. package/es/extensions/forms/Field/Number/Number.d.ts +1 -0
  466. package/es/extensions/forms/Field/Number/Number.js +13 -7
  467. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  468. package/es/extensions/forms/Field/Number/NumberDocs.d.ts +2 -0
  469. package/es/extensions/forms/Field/Number/NumberDocs.js +85 -0
  470. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -0
  471. package/es/extensions/forms/Field/Number/style/dnb-number.css +3 -1
  472. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  473. package/es/extensions/forms/Field/Number/style/dnb-number.scss +4 -1
  474. package/es/extensions/forms/Field/Password/Password.d.ts +45 -0
  475. package/es/extensions/forms/Field/Password/Password.js +99 -0
  476. package/es/extensions/forms/Field/Password/Password.js.map +1 -0
  477. package/es/extensions/forms/Field/Password/index.d.ts +2 -0
  478. package/es/extensions/forms/Field/Password/index.js +3 -0
  479. package/es/extensions/forms/Field/Password/index.js.map +1 -0
  480. package/es/extensions/forms/Field/Password/style/dnb-password.css +6 -0
  481. package/es/extensions/forms/Field/Password/style/dnb-password.min.css +1 -0
  482. package/es/extensions/forms/Field/Password/style/dnb-password.scss +10 -0
  483. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -5
  484. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  485. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -12
  486. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  487. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -11
  488. package/es/extensions/forms/Field/Selection/Selection.d.ts +0 -1
  489. package/es/extensions/forms/Field/Selection/Selection.js +2 -11
  490. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  491. package/es/extensions/forms/Field/String/String.d.ts +20 -9
  492. package/es/extensions/forms/Field/String/String.js +52 -31
  493. package/es/extensions/forms/Field/String/String.js.map +1 -1
  494. package/es/extensions/forms/Field/String/StringDocs.d.ts +2 -0
  495. package/es/extensions/forms/Field/String/StringDocs.js +99 -0
  496. package/es/extensions/forms/Field/String/StringDocs.js.map +1 -0
  497. package/es/extensions/forms/Field/Toggle/Toggle.js +1 -1
  498. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  499. package/es/extensions/forms/Field/index.d.ts +1 -0
  500. package/es/extensions/forms/Field/index.js +1 -0
  501. package/es/extensions/forms/Field/index.js.map +1 -1
  502. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +8 -3
  503. package/es/extensions/forms/FieldBlock/FieldBlock.js +195 -58
  504. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  505. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +40 -6
  506. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  507. package/es/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +2 -0
  508. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +53 -0
  509. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -0
  510. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +27 -0
  511. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  512. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +26 -0
  513. package/es/extensions/forms/Form/Appearance/Appearance.d.ts +7 -0
  514. package/es/extensions/forms/Form/Appearance/Appearance.js +30 -0
  515. package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -0
  516. package/es/extensions/forms/Form/Appearance/AppearanceDocs.d.ts +2 -0
  517. package/es/extensions/forms/Form/Appearance/AppearanceDocs.js +8 -0
  518. package/es/extensions/forms/Form/Appearance/AppearanceDocs.js.map +1 -0
  519. package/es/extensions/forms/Form/Appearance/index.d.ts +2 -0
  520. package/es/extensions/forms/Form/Appearance/index.js +3 -0
  521. package/es/extensions/forms/Form/Appearance/index.js.map +1 -0
  522. package/es/extensions/forms/Form/data-context/useData.js +1 -1
  523. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  524. package/es/extensions/forms/Form/index.d.ts +1 -0
  525. package/es/extensions/forms/Form/index.js +1 -0
  526. package/es/extensions/forms/Form/index.js.map +1 -1
  527. package/es/extensions/forms/Value/Currency/Currency.js +2 -2
  528. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  529. package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +7 -0
  530. package/es/extensions/forms/Value/SummaryList/SummaryList.js +26 -0
  531. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -0
  532. package/es/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +7 -0
  533. package/es/extensions/forms/Value/SummaryList/SummaryListContext.js +4 -0
  534. package/es/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -0
  535. package/es/extensions/forms/Value/SummaryList/index.d.ts +2 -0
  536. package/es/extensions/forms/Value/SummaryList/index.js +3 -0
  537. package/es/extensions/forms/Value/SummaryList/index.js.map +1 -0
  538. package/es/extensions/forms/Value/ValueDocs.d.ts +2 -0
  539. package/es/extensions/forms/Value/ValueDocs.js +33 -0
  540. package/es/extensions/forms/Value/ValueDocs.js.map +1 -0
  541. package/es/extensions/forms/Value/index.d.ts +1 -0
  542. package/es/extensions/forms/Value/index.js +1 -0
  543. package/es/extensions/forms/Value/index.js.map +1 -1
  544. package/es/extensions/forms/ValueBlock/ValueBlock.js +12 -4
  545. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  546. package/es/extensions/forms/hooks/DataValueDocs.d.ts +3 -0
  547. package/es/extensions/forms/hooks/DataValueDocs.js +110 -0
  548. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -0
  549. package/es/extensions/forms/hooks/useDataValue.d.ts +6 -6
  550. package/es/extensions/forms/hooks/useDataValue.js +87 -18
  551. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  552. package/es/extensions/forms/hooks/useId.js +1 -1
  553. package/es/extensions/forms/hooks/useId.js.map +1 -1
  554. package/es/extensions/forms/hooks/useMountEffect.js +1 -1
  555. package/es/extensions/forms/hooks/useMountEffect.js.map +1 -1
  556. package/es/extensions/forms/hooks/useUnmountEffect.d.ts +4 -0
  557. package/es/extensions/forms/hooks/useUnmountEffect.js +9 -0
  558. package/es/extensions/forms/hooks/useUnmountEffect.js.map +1 -0
  559. package/es/extensions/forms/style/dnb-forms.css +37 -13
  560. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  561. package/es/extensions/forms/types.d.ts +4 -4
  562. package/es/extensions/forms/types.js.map +1 -1
  563. package/es/shared/Context.d.ts +2 -0
  564. package/es/shared/Context.js.map +1 -1
  565. package/es/shared/Eufemia.d.ts +1 -1
  566. package/es/shared/Eufemia.js +2 -2
  567. package/es/shared/Eufemia.js.map +1 -1
  568. package/es/shared/component-helper.d.ts +1 -0
  569. package/es/shared/component-helper.js +6 -0
  570. package/es/shared/component-helper.js.map +1 -1
  571. package/es/shared/helpers/filterValidProps.d.ts +2 -2
  572. package/es/shared/helpers/filterValidProps.js +2 -2
  573. package/es/shared/helpers/filterValidProps.js.map +1 -1
  574. package/es/shared/helpers/withCamelCaseProps.d.ts +7 -1
  575. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  576. package/es/shared/locales/en-GB.d.ts +5 -3
  577. package/es/shared/locales/en-GB.js +7 -5
  578. package/es/shared/locales/en-GB.js.map +1 -1
  579. package/es/shared/locales/en-US.d.ts +5 -3
  580. package/es/shared/locales/index.d.ts +10 -6
  581. package/es/shared/locales/nb-NO.d.ts +5 -3
  582. package/es/shared/locales/nb-NO.js +7 -5
  583. package/es/shared/locales/nb-NO.js.map +1 -1
  584. package/es/shared/types.d.ts +5 -0
  585. package/es/shared/types.js.map +1 -1
  586. package/es/style/dnb-ui-components.css +277 -135
  587. package/es/style/dnb-ui-components.min.css +3 -3
  588. package/es/style/dnb-ui-elements.css +25 -5
  589. package/es/style/dnb-ui-elements.min.css +1 -1
  590. package/es/style/dnb-ui-extensions.css +37 -13
  591. package/es/style/dnb-ui-extensions.min.css +1 -1
  592. package/es/style/dnb-ui-forms.css +37 -13
  593. package/es/style/dnb-ui-forms.min.css +1 -1
  594. package/es/style/dnb-ui-forms.scss +1 -0
  595. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -5
  596. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  597. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +331 -157
  598. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  599. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +25 -5
  600. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  601. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +37 -13
  602. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  603. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +37 -13
  604. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  605. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +25 -5
  606. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  607. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +341 -155
  608. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  609. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +25 -5
  610. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  611. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +37 -13
  612. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  613. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +37 -13
  614. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  615. package/es/style/themes/theme-ui/ui-theme-basis.css +25 -5
  616. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  617. package/es/style/themes/theme-ui/ui-theme-components.css +331 -157
  618. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  619. package/es/style/themes/theme-ui/ui-theme-elements.css +25 -5
  620. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  621. package/es/style/themes/theme-ui/ui-theme-extensions.css +37 -13
  622. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  623. package/es/style/themes/theme-ui/ui-theme-forms.css +37 -13
  624. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  625. package/es/style/themes/theme-ui/ui-theme-tags.css +25 -5
  626. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  627. package/esm/dnb-ui-basis.min.mjs +1 -1
  628. package/esm/dnb-ui-components.min.mjs +1 -1
  629. package/esm/dnb-ui-elements.min.mjs +1 -1
  630. package/esm/dnb-ui-extensions.min.mjs +3 -3
  631. package/esm/dnb-ui-lib.min.mjs +1 -1
  632. package/extensions/forms/DataContext/Context.d.ts +1 -0
  633. package/extensions/forms/DataContext/Context.js.map +1 -1
  634. package/extensions/forms/DataContext/Provider/Provider.js +58 -40
  635. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  636. package/extensions/forms/Field/Currency/Currency.js +1 -1
  637. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  638. package/extensions/forms/Field/Expiry/Expiry.js +1 -0
  639. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  640. package/extensions/forms/Field/FieldDocs.d.ts +3 -0
  641. package/extensions/forms/Field/FieldDocs.js +8 -0
  642. package/extensions/forms/Field/FieldDocs.js.map +1 -0
  643. package/extensions/forms/Field/Number/Number.d.ts +1 -0
  644. package/extensions/forms/Field/Number/Number.js +13 -7
  645. package/extensions/forms/Field/Number/Number.js.map +1 -1
  646. package/extensions/forms/Field/Number/NumberDocs.d.ts +2 -0
  647. package/extensions/forms/Field/Number/NumberDocs.js +85 -0
  648. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -0
  649. package/extensions/forms/Field/Number/style/dnb-number.css +3 -1
  650. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  651. package/extensions/forms/Field/Number/style/dnb-number.scss +4 -1
  652. package/extensions/forms/Field/Password/Password.d.ts +45 -0
  653. package/extensions/forms/Field/Password/Password.js +99 -0
  654. package/extensions/forms/Field/Password/Password.js.map +1 -0
  655. package/extensions/forms/Field/Password/index.d.ts +2 -0
  656. package/extensions/forms/Field/Password/index.js +3 -0
  657. package/extensions/forms/Field/Password/index.js.map +1 -0
  658. package/extensions/forms/Field/Password/style/dnb-password.css +6 -0
  659. package/extensions/forms/Field/Password/style/dnb-password.min.css +1 -0
  660. package/extensions/forms/Field/Password/style/dnb-password.scss +10 -0
  661. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -5
  662. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  663. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -12
  664. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  665. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -11
  666. package/extensions/forms/Field/Selection/Selection.d.ts +0 -1
  667. package/extensions/forms/Field/Selection/Selection.js +2 -11
  668. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  669. package/extensions/forms/Field/String/String.d.ts +20 -9
  670. package/extensions/forms/Field/String/String.js +52 -31
  671. package/extensions/forms/Field/String/String.js.map +1 -1
  672. package/extensions/forms/Field/String/StringDocs.d.ts +2 -0
  673. package/extensions/forms/Field/String/StringDocs.js +99 -0
  674. package/extensions/forms/Field/String/StringDocs.js.map +1 -0
  675. package/extensions/forms/Field/Toggle/Toggle.js +1 -1
  676. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  677. package/extensions/forms/Field/index.d.ts +1 -0
  678. package/extensions/forms/Field/index.js +1 -0
  679. package/extensions/forms/Field/index.js.map +1 -1
  680. package/extensions/forms/FieldBlock/FieldBlock.d.ts +8 -3
  681. package/extensions/forms/FieldBlock/FieldBlock.js +203 -64
  682. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  683. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +40 -6
  684. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  685. package/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +2 -0
  686. package/extensions/forms/FieldBlock/FieldBlockDocs.js +53 -0
  687. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -0
  688. package/extensions/forms/FieldBlock/style/dnb-field-block.css +27 -0
  689. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  690. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +26 -0
  691. package/extensions/forms/Form/Appearance/Appearance.d.ts +7 -0
  692. package/extensions/forms/Form/Appearance/Appearance.js +30 -0
  693. package/extensions/forms/Form/Appearance/Appearance.js.map +1 -0
  694. package/extensions/forms/Form/Appearance/AppearanceDocs.d.ts +2 -0
  695. package/extensions/forms/Form/Appearance/AppearanceDocs.js +8 -0
  696. package/extensions/forms/Form/Appearance/AppearanceDocs.js.map +1 -0
  697. package/extensions/forms/Form/Appearance/index.d.ts +2 -0
  698. package/extensions/forms/Form/Appearance/index.js +3 -0
  699. package/extensions/forms/Form/Appearance/index.js.map +1 -0
  700. package/extensions/forms/Form/data-context/useData.js +1 -1
  701. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  702. package/extensions/forms/Form/index.d.ts +1 -0
  703. package/extensions/forms/Form/index.js +1 -0
  704. package/extensions/forms/Form/index.js.map +1 -1
  705. package/extensions/forms/Value/Currency/Currency.js +2 -2
  706. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  707. package/extensions/forms/Value/SummaryList/SummaryList.d.ts +7 -0
  708. package/extensions/forms/Value/SummaryList/SummaryList.js +26 -0
  709. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -0
  710. package/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +7 -0
  711. package/extensions/forms/Value/SummaryList/SummaryListContext.js +4 -0
  712. package/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -0
  713. package/extensions/forms/Value/SummaryList/index.d.ts +2 -0
  714. package/extensions/forms/Value/SummaryList/index.js +3 -0
  715. package/extensions/forms/Value/SummaryList/index.js.map +1 -0
  716. package/extensions/forms/Value/ValueDocs.d.ts +2 -0
  717. package/extensions/forms/Value/ValueDocs.js +33 -0
  718. package/extensions/forms/Value/ValueDocs.js.map +1 -0
  719. package/extensions/forms/Value/index.d.ts +1 -0
  720. package/extensions/forms/Value/index.js +1 -0
  721. package/extensions/forms/Value/index.js.map +1 -1
  722. package/extensions/forms/ValueBlock/ValueBlock.js +12 -4
  723. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  724. package/extensions/forms/hooks/DataValueDocs.d.ts +3 -0
  725. package/extensions/forms/hooks/DataValueDocs.js +110 -0
  726. package/extensions/forms/hooks/DataValueDocs.js.map +1 -0
  727. package/extensions/forms/hooks/useDataValue.d.ts +6 -6
  728. package/extensions/forms/hooks/useDataValue.js +87 -18
  729. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  730. package/extensions/forms/hooks/useId.js +1 -1
  731. package/extensions/forms/hooks/useId.js.map +1 -1
  732. package/extensions/forms/hooks/useMountEffect.js +1 -1
  733. package/extensions/forms/hooks/useMountEffect.js.map +1 -1
  734. package/extensions/forms/hooks/useUnmountEffect.d.ts +4 -0
  735. package/extensions/forms/hooks/useUnmountEffect.js +9 -0
  736. package/extensions/forms/hooks/useUnmountEffect.js.map +1 -0
  737. package/extensions/forms/style/dnb-forms.css +37 -13
  738. package/extensions/forms/style/dnb-forms.min.css +1 -1
  739. package/extensions/forms/types.d.ts +4 -4
  740. package/extensions/forms/types.js.map +1 -1
  741. package/package.json +1 -1
  742. package/shared/Context.d.ts +2 -0
  743. package/shared/Context.js.map +1 -1
  744. package/shared/Eufemia.d.ts +1 -1
  745. package/shared/Eufemia.js +2 -2
  746. package/shared/Eufemia.js.map +1 -1
  747. package/shared/component-helper.d.ts +1 -0
  748. package/shared/component-helper.js +9 -0
  749. package/shared/component-helper.js.map +1 -1
  750. package/shared/helpers/filterValidProps.d.ts +2 -2
  751. package/shared/helpers/filterValidProps.js +2 -2
  752. package/shared/helpers/filterValidProps.js.map +1 -1
  753. package/shared/helpers/withCamelCaseProps.d.ts +7 -1
  754. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  755. package/shared/locales/en-GB.d.ts +5 -3
  756. package/shared/locales/en-GB.js +7 -5
  757. package/shared/locales/en-GB.js.map +1 -1
  758. package/shared/locales/en-US.d.ts +5 -3
  759. package/shared/locales/index.d.ts +10 -6
  760. package/shared/locales/nb-NO.d.ts +5 -3
  761. package/shared/locales/nb-NO.js +7 -5
  762. package/shared/locales/nb-NO.js.map +1 -1
  763. package/shared/types.d.ts +5 -0
  764. package/shared/types.js.map +1 -1
  765. package/style/dnb-ui-components.css +277 -135
  766. package/style/dnb-ui-components.min.css +3 -3
  767. package/style/dnb-ui-elements.css +25 -5
  768. package/style/dnb-ui-elements.min.css +1 -1
  769. package/style/dnb-ui-extensions.css +37 -13
  770. package/style/dnb-ui-extensions.min.css +1 -1
  771. package/style/dnb-ui-forms.css +37 -13
  772. package/style/dnb-ui-forms.min.css +1 -1
  773. package/style/dnb-ui-forms.scss +1 -0
  774. package/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -5
  775. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  776. package/style/themes/theme-eiendom/eiendom-theme-components.css +331 -157
  777. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  778. package/style/themes/theme-eiendom/eiendom-theme-elements.css +25 -5
  779. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  780. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +37 -13
  781. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  782. package/style/themes/theme-eiendom/eiendom-theme-forms.css +37 -13
  783. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  784. package/style/themes/theme-sbanken/sbanken-theme-basis.css +25 -5
  785. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  786. package/style/themes/theme-sbanken/sbanken-theme-components.css +341 -155
  787. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  788. package/style/themes/theme-sbanken/sbanken-theme-elements.css +25 -5
  789. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  790. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +37 -13
  791. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  792. package/style/themes/theme-sbanken/sbanken-theme-forms.css +37 -13
  793. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  794. package/style/themes/theme-ui/ui-theme-basis.css +25 -5
  795. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  796. package/style/themes/theme-ui/ui-theme-components.css +331 -157
  797. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  798. package/style/themes/theme-ui/ui-theme-elements.css +25 -5
  799. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  800. package/style/themes/theme-ui/ui-theme-extensions.css +37 -13
  801. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  802. package/style/themes/theme-ui/ui-theme-forms.css +37 -13
  803. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  804. package/style/themes/theme-ui/ui-theme-tags.css +25 -5
  805. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  806. package/umd/dnb-ui-basis.min.js +1 -1
  807. package/umd/dnb-ui-components.min.js +1 -1
  808. package/umd/dnb-ui-elements.min.js +1 -1
  809. package/umd/dnb-ui-extensions.min.js +3 -3
  810. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TableAccordion.js","names":["React","classnames","Button","IconPrimary","Th","Td","TableContext","keycode","hasSelectedText","TableAccordionContent","TrContext","useTableAccordion","_ref","_tableContext$allProp","_tableContext$allProp2","children","className","props","expanded","disabled","noAnimation","onClick","onOpened","onClosed","tableContext","useContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","content","Children","toArray","allProps","accordion","accordionContent","find","element","type","hasAccordionContent","isValidElement","countTds","filter","length","trParams","toggleOpenTr","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeydownHandler","hasContent","tdElem","_TableTdAccordionIcon","createElement","TableTdAccordionIcon","key","accordionChevronPlacement","push","unshift","isTh","some","thElem","_TableThAccordionIcon","TableThAccordionIcon","Provider","value","_extends","tabIndex","undefined","event","target","document","activeElement","tagName","preventDefault","TableAccordionToggleButton","_React$useContext","trContext","iconSize","size","icon","accordionToggleButtonSR","Boolean","on_click","_tableContext$allProp3","_Td"],"sources":["../../../../src/components/table/TableAccordion.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Button from '../button/Button'\nimport IconPrimary from '../icon/IconPrimary'\nimport Th from './TableTh'\nimport Td from './TableTd'\nimport TableContext from './TableContext'\nimport keycode from 'keycode'\nimport { hasSelectedText } from '../../shared/helpers'\nimport { TableTrProps } from './TableTr'\n\nimport TableAccordionContent, { TrContext } from './TableAccordionContent'\nimport type { TableAccordionContentProps } from './TableAccordionContent'\n\nexport function useTableAccordion({\n children,\n className,\n props,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n}) {\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n let content = React.Children.toArray(children)\n\n if (!tableContext?.allProps?.accordion) {\n return null\n }\n\n /**\n * Handle Accordion Content\n */\n const accordionContent = content.find((element: React.ReactElement) => {\n return element.type === TableAccordionContent\n }) as React.ReactElement<TableAccordionContentProps>\n const hasAccordionContent = React.isValidElement(accordionContent)\n const countTds = hasAccordionContent\n ? children.filter((element: React.ReactElement) => {\n return element.type === Td // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length + 1 // +1 because we push the TableAccordionToggleButton\n : null\n\n const trParams =\n !disabled && hasAccordionContent\n ? {\n onClick: toggleOpenTr,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onKeyDown: onKeydownHandler,\n }\n : {}\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n content = content.filter((element) => {\n const hasContent =\n (element as React.ReactElement<TableTrProps>).type ===\n TableAccordionContent\n return !hasContent\n })\n\n const tdElem = <TableTdAccordionIcon key=\"td-icon\" />\n\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n content.push(tdElem)\n } else {\n content.unshift(tdElem)\n }\n } else if (tableContext?.allProps?.accordion) {\n const isTh = content.some((element) => {\n return (element as React.ReactElement<TableTrProps>).type === Th\n })\n\n if (isTh) {\n const thElem = <TableThAccordionIcon key=\"th-icon\" />\n\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n content.push(thElem)\n } else {\n content.unshift(thElem)\n }\n }\n }\n\n return (\n <TrContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n hasAccordionContent,\n onOpened,\n onClosed,\n }}\n >\n <tr\n tabIndex={accordionContent && !disabled ? 0 : undefined}\n className={classnames(\n className,\n hasAccordionContent && 'dnb-table__tr--has-accordion-content',\n trIsOpen && 'dnb-table__tr--expanded',\n disabled && 'dnb-table__tr--disabled',\n noAnimation && 'dnb-table__tr--no-animation',\n trIsHover && trHadClick && 'dnb-table__tr--hover'\n )}\n {...trParams}\n {...props}\n >\n {content}\n </tr>\n {accordionContent}\n </TrContext.Provider>\n )\n\n function onKeydownHandler(event: KeyboardEvent) {\n switch (keycode(event)) {\n case 'space':\n case 'enter':\n {\n const target = event.target as HTMLElement\n if (\n document.activeElement !== target ||\n target.tagName === 'TR'\n ) {\n setOpen(!trIsOpen)\n event.preventDefault()\n }\n }\n break\n }\n }\n function onMouseEnterHandler() {\n setHover(true)\n }\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n function toggleOpenTr(event: MouseEvent) {\n const target = event.target as HTMLElement\n if (\n /**\n * Interactive elements to set activeElement on mouseDown,\n * we we can check against it.\n */\n document.activeElement !== target &&\n /**\n * Safari on macOS needs this extra check:\n *\n * > For example, on macOS systems, elements that aren't text input elements are not typically focusable by default.\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement\n */\n target.tagName !== 'INPUT' &&\n target.tagName !== 'LABEL' &&\n /**\n * Let the user select text,\n * without triggering the accordion.\n */\n !hasSelectedText()\n ) {\n setOpen(!trIsOpen)\n setHadClick(true)\n\n onClick?.(event)\n }\n }\n}\n\nexport function TableAccordionToggleButton() {\n const trContext = React.useContext(TrContext)\n const allProps = React.useContext(TableContext)?.allProps\n const iconSize =\n allProps.size === 'medium' || allProps.size === 'small'\n ? 'basis'\n : 'medium'\n\n return (\n <span className=\"dnb-table__toggle-button\">\n <IconPrimary icon=\"chevron_down\" size={iconSize} />\n <Button\n className=\"dnb-sr-only\"\n tabIndex={-1}\n aria-label={allProps?.accordionToggleButtonSR}\n aria-expanded={Boolean(trContext?.trIsOpen)}\n on_click={trContext?.toggleOpenTr}\n />\n </span>\n )\n}\n\nfunction TableThAccordionIcon() {\n const tableContext = React.useContext(TableContext)\n return (\n <Th aria-hidden className=\"dnb-table__th__accordion-icon\">\n <div>{tableContext?.allProps?.accordionToggleButtonSR}</div>\n </Th>\n )\n}\n\nfunction TableTdAccordionIcon() {\n return (\n <Td className=\"dnb-table__td__accordion-icon\">\n <TableAccordionToggleButton />\n </Td>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableAccordion.js","names":["React","classnames","Button","IconPrimary","Th","Td","TableContext","keycode","hasSelectedText","TableAccordionContent","TrContext","useTableAccordion","_ref","_tableContext$allProp","_tableContext$allProp2","children","className","props","expanded","disabled","noAnimation","onClick","onOpened","onClosed","tableContext","useContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","content","Children","toArray","allProps","accordion","accordionContent","find","element","type","hasAccordionContent","isValidElement","countTds","filter","length","trParams","toggleOpenTr","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeydownHandler","hasContent","tdElem","_TableTdAccordionIcon","createElement","TableTdAccordionIcon","key","accordionChevronPlacement","push","unshift","isTh","some","thElem","_TableThAccordionIcon","TableThAccordionIcon","Provider","value","_extends","tabIndex","undefined","event","target","document","activeElement","tagName","preventDefault","allowInteractiveElement","arguments","TableAccordionToggleButton","_React$useContext","trContext","iconSize","size","icon","accordionToggleButtonSR","Boolean","on_click","_tableContext$allProp3","_Td"],"sources":["../../../../src/components/table/TableAccordion.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Button from '../button/Button'\nimport IconPrimary from '../icon/IconPrimary'\nimport Th from './TableTh'\nimport Td from './TableTd'\nimport TableContext from './TableContext'\nimport keycode from 'keycode'\nimport { hasSelectedText } from '../../shared/helpers'\nimport { TableTrProps } from './TableTr'\n\nimport TableAccordionContent, { TrContext } from './TableAccordionContent'\nimport type { TableAccordionContentProps } from './TableAccordionContent'\n\nexport function useTableAccordion({\n children,\n className,\n props,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n}) {\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n let content = React.Children.toArray(children)\n\n if (!tableContext?.allProps?.accordion) {\n return null\n }\n\n /**\n * Handle Accordion Content\n */\n const accordionContent = content.find((element: React.ReactElement) => {\n return element.type === TableAccordionContent\n }) as React.ReactElement<TableAccordionContentProps>\n const hasAccordionContent = React.isValidElement(accordionContent)\n const countTds = hasAccordionContent\n ? children.filter((element: React.ReactElement) => {\n return element.type === Td // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length + 1 // +1 because we push the TableAccordionToggleButton\n : null\n\n const trParams =\n !disabled && hasAccordionContent\n ? {\n onClick: toggleOpenTr,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onKeyDown: onKeydownHandler,\n }\n : {}\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n content = content.filter((element) => {\n const hasContent =\n (element as React.ReactElement<TableTrProps>).type ===\n TableAccordionContent\n return !hasContent\n })\n\n const tdElem = <TableTdAccordionIcon key=\"td-icon\" />\n\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n content.push(tdElem)\n } else {\n content.unshift(tdElem)\n }\n } else if (tableContext?.allProps?.accordion) {\n const isTh = content.some((element) => {\n return (element as React.ReactElement<TableTrProps>).type === Th\n })\n\n if (isTh) {\n const thElem = <TableThAccordionIcon key=\"th-icon\" />\n\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n content.push(thElem)\n } else {\n content.unshift(thElem)\n }\n }\n }\n\n return (\n <TrContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n hasAccordionContent,\n onOpened,\n onClosed,\n }}\n >\n <tr\n tabIndex={accordionContent && !disabled ? 0 : undefined}\n className={classnames(\n className,\n hasAccordionContent && 'dnb-table__tr--has-accordion-content',\n trIsOpen && 'dnb-table__tr--expanded',\n disabled && 'dnb-table__tr--disabled',\n noAnimation && 'dnb-table__tr--no-animation',\n trIsHover && trHadClick && 'dnb-table__tr--hover'\n )}\n {...trParams}\n {...props}\n >\n {content}\n </tr>\n {accordionContent}\n </TrContext.Provider>\n )\n\n function onKeydownHandler(event: KeyboardEvent) {\n switch (keycode(event)) {\n case 'space':\n case 'enter':\n {\n const target = event.target as HTMLElement\n if (\n document.activeElement !== target ||\n target.tagName === 'TR'\n ) {\n setOpen(!trIsOpen)\n event.preventDefault()\n }\n }\n break\n }\n }\n function onMouseEnterHandler() {\n setHover(true)\n }\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n function toggleOpenTr(\n event: MouseEvent,\n allowInteractiveElement = false\n ) {\n const target = event.target as HTMLElement\n if (\n /**\n * Do not toggle if user clicked an interactive element (input, button, etc.).\n * Interactive to set activeElement on mouseDown, we we can check against it.\n */\n ((document.activeElement !== target &&\n /**\n * Safari on macOS needs this extra check:\n *\n * > For example, on macOS systems, elements that aren't text input elements are not typically focusable by default.\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement\n */\n target.tagName !== 'INPUT' &&\n target.tagName !== 'LABEL') ||\n allowInteractiveElement) &&\n /**\n * Let the user select text,\n * without triggering the accordion.\n */\n !hasSelectedText()\n ) {\n setOpen(!trIsOpen)\n setHadClick(true)\n\n onClick?.(event)\n }\n }\n}\n\nexport function TableAccordionToggleButton() {\n const trContext = React.useContext(TrContext)\n const allProps = React.useContext(TableContext)?.allProps\n const iconSize =\n allProps.size === 'medium' || allProps.size === 'small'\n ? 'basis'\n : 'medium'\n\n return (\n <span className=\"dnb-table__toggle-button\">\n <IconPrimary icon=\"chevron_down\" size={iconSize} />\n <Button\n className=\"dnb-sr-only\"\n tabIndex={-1}\n aria-label={allProps?.accordionToggleButtonSR}\n aria-expanded={Boolean(trContext?.trIsOpen)}\n on_click={(event) => trContext?.toggleOpenTr(event, true)}\n />\n </span>\n )\n}\n\nfunction TableThAccordionIcon() {\n const tableContext = React.useContext(TableContext)\n return (\n <Th aria-hidden className=\"dnb-table__th__accordion-icon\">\n <div>{tableContext?.allProps?.accordionToggleButtonSR}</div>\n </Th>\n )\n}\n\nfunction TableTdAccordionIcon() {\n return (\n <Td className=\"dnb-table__td__accordion-icon\">\n <TableAccordionToggleButton />\n </Td>\n )\n}\n"],"mappings":"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"}
@@ -76,17 +76,17 @@ export default function TableAccordionContent(componentProps) {
76
76
  hidden: isInDOM ? undefined : true,
77
77
  role: isInDOM ? 'row' : undefined,
78
78
  style: _objectSpread(_objectSpread({}, firstPaintStyle), style),
79
- className: classnames('dnb-table__tr__accordion_content', className, isInDOM && "dnb-table__tr dnb-table__tr__accordion_content--expanded", isAnimating && 'dnb-table__tr__accordion_content--animating', isVisibleParallax && 'dnb-table__tr__accordion_content--parallax'),
79
+ className: classnames('dnb-table__tr__accordion-content', className, isInDOM && "dnb-table__tr dnb-table__tr__accordion-content--expanded", isAnimating && 'dnb-table__tr__accordion-content--animating', isVisibleParallax && 'dnb-table__tr__accordion-content--parallax'),
80
80
  ref: trRef
81
81
  }, props), React.createElement("td", {
82
82
  role: isInDOM ? 'cell' : undefined,
83
83
  colSpan: countTds,
84
84
  className: "dnb-table__td"
85
85
  }, isInDOM && React.createElement("div", {
86
- className: "dnb-table__tr__accordion_content__inner",
86
+ className: "dnb-table__tr__accordion-content__inner",
87
87
  ref: innerRef
88
88
  }, React.createElement("div", {
89
- className: "dnb-table__tr__accordion_content__inner__spacing"
89
+ className: "dnb-table__tr__accordion-content__inner__spacing"
90
90
  }, children)), React.createElement("span", {
91
91
  className: "dnb-sr-only"
92
92
  }, React.createElement("span", {
@@ -1 +1 @@
1
- {"version":3,"file":"TableAccordionContent.js","names":["React","useCallback","useEffect","classnames","useHeightAnimation","getClosestScrollViewElement","TableContext","TrContext","createContext","TableAccordionContent","componentProps","_React$useContext","expanded","noAnimation","className","children","colSpan","style","props","_objectWithoutProperties","_excluded","allProps","useContext","trContext","innerRef","useRef","trRef","ariaLive","setAriaLive","useState","open","Boolean","trIsOpen","scrollViewHandler","clip","arguments","length","undefined","scollView","current","HTMLElement","overflow","onOpen","state","onAnimationEnd","_trContext$onOpened","_trContext$onClosed","event","target","onOpened","call","onClosed","isInDOM","isAnimating","isVisibleParallax","firstPaintStyle","animate","countTds","createElement","_extends","hidden","role","_objectSpread","ref","accordionMoreContentSR"],"sources":["../../../../src/components/table/TableAccordionContent.tsx"],"sourcesContent":["import React, { useCallback, useEffect } from 'react'\nimport classnames from 'classnames'\nimport { useHeightAnimation } from '../height-animation/useHeightAnimation'\nimport { getClosestScrollViewElement } from '../../shared/component-helper'\nimport TableContext from './TableContext'\n\nexport const TrContext = React.createContext(null)\n\nexport type TableAccordionContentProps = {\n /**\n * Set to true to expanded the content on initial render\n */\n expanded?: boolean\n\n /**\n * Set to true to skip animation\n * Default: false\n */\n noAnimation?: boolean\n\n /**\n * Overwrite the internal collected colSpan (add +1)\n */\n colSpan?: number\n}\n\nexport default function TableAccordionContent(\n componentProps: TableAccordionContentProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n) {\n const {\n expanded = null,\n noAnimation = null,\n className,\n children,\n colSpan = 100,\n style,\n ...props\n } = componentProps\n\n const allProps = React.useContext(TableContext)?.allProps\n const trContext = React.useContext(TrContext)\n const innerRef = React.useRef<HTMLDivElement>(null)\n const trRef = React.useRef<HTMLTableRowElement>(null)\n const [ariaLive, setAriaLive] = React.useState(null)\n\n const open = Boolean(expanded || trContext?.trIsOpen)\n\n const scrollViewHandler = useCallback(\n (clip = open) => {\n const scollView = getClosestScrollViewElement(\n trRef.current\n ) as HTMLElement\n if (scollView instanceof HTMLElement) {\n scollView.style.overflow = clip ? 'clip' : ''\n }\n },\n [open]\n )\n\n useEffect(() => {\n if (open) {\n scrollViewHandler()\n }\n }, [open, scrollViewHandler])\n\n const onOpen = useCallback((state) => {\n setAriaLive(state ? true : null)\n }, [])\n\n const onAnimationEnd = useCallback(\n (state) => {\n const event = { target: trRef.current }\n switch (state) {\n case 'opened':\n trContext.onOpened?.(event)\n break\n\n case 'closed':\n trContext.onClosed?.(event)\n break\n }\n\n scrollViewHandler(false)\n },\n [scrollViewHandler, trContext]\n )\n\n const { isInDOM, isAnimating, isVisibleParallax, firstPaintStyle } =\n useHeightAnimation(innerRef, {\n open,\n animate: Boolean(!noAnimation && !trContext?.noAnimation),\n onOpen,\n onAnimationEnd,\n })\n\n const countTds = trContext?.countTds || colSpan\n\n return (\n <tr\n /**\n * VoiceOver needs the \"tr\" to be in the DOM in order to be able to continue reading downwards,\n * even it is either closed or opened. Else VO pretends that this current table row is the end of the table.\n *\n * + All the browsers do count the correct number (childCount) of rows + NVDA counts correct when used with Chrome.\n * - Firefox on Windows does it as well, but not when used with NVDA.\n */\n aria-hidden={!isInDOM} // NVDA and VoiceOver needs \"aria-hidden\" to remove it from the accessibility tree\n hidden={isInDOM ? undefined : true} // NVDA and VoiceOver needs \"hidden\" to be true in order to not count invisible table rows (based on \"tr\" element)\n role={isInDOM ? 'row' : undefined} // NVDA and VoiceOver needs \"hidden\" to be true in order to not count invisible table rows (based on \"role\" element)\n style={{ ...firstPaintStyle, ...style }}\n className={classnames(\n isInDOM && 'dnb-table__tr',\n 'dnb-table__tr__accordion_content',\n isInDOM && 'dnb-table__tr__accordion_content--expanded',\n isAnimating && 'dnb-table__tr__accordion_content--animating',\n isVisibleParallax && 'dnb-table__tr__accordion_content--parallax',\n className\n )}\n ref={trRef}\n {...props}\n >\n <td\n role={isInDOM ? 'cell' : undefined} // remove the \"role\", because the parent role is removed as well\n colSpan={countTds}\n className=\"dnb-table__td\"\n >\n {isInDOM && (\n <div\n className=\"dnb-table__tr__accordion_content__inner\"\n ref={innerRef}\n >\n <div className=\"dnb-table__tr__accordion_content__inner__spacing\">\n {children}\n </div>\n </div>\n )}\n <span className=\"dnb-sr-only\">\n <span aria-live=\"assertive\">\n {isInDOM && ariaLive ? allProps?.accordionMoreContentSR : null}\n </span>\n </span>\n </td>\n </tr>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableAccordionContent.js","names":["React","useCallback","useEffect","classnames","useHeightAnimation","getClosestScrollViewElement","TableContext","TrContext","createContext","TableAccordionContent","componentProps","_React$useContext","expanded","noAnimation","className","children","colSpan","style","props","_objectWithoutProperties","_excluded","allProps","useContext","trContext","innerRef","useRef","trRef","ariaLive","setAriaLive","useState","open","Boolean","trIsOpen","scrollViewHandler","clip","arguments","length","undefined","scollView","current","HTMLElement","overflow","onOpen","state","onAnimationEnd","_trContext$onOpened","_trContext$onClosed","event","target","onOpened","call","onClosed","isInDOM","isAnimating","isVisibleParallax","firstPaintStyle","animate","countTds","createElement","_extends","hidden","role","_objectSpread","ref","accordionMoreContentSR"],"sources":["../../../../src/components/table/TableAccordionContent.tsx"],"sourcesContent":["import React, { useCallback, useEffect } from 'react'\nimport classnames from 'classnames'\nimport { useHeightAnimation } from '../height-animation/useHeightAnimation'\nimport { getClosestScrollViewElement } from '../../shared/component-helper'\nimport TableContext from './TableContext'\n\nexport const TrContext = React.createContext(null)\n\nexport type TableAccordionContentProps = {\n /**\n * Set to true to expanded the content on initial render\n */\n expanded?: boolean\n\n /**\n * Set to true to skip animation\n * Default: false\n */\n noAnimation?: boolean\n\n /**\n * Overwrite the internal collected colSpan (add +1)\n */\n colSpan?: number\n}\n\nexport default function TableAccordionContent(\n componentProps: TableAccordionContentProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n) {\n const {\n expanded = null,\n noAnimation = null,\n className,\n children,\n colSpan = 100,\n style,\n ...props\n } = componentProps\n\n const allProps = React.useContext(TableContext)?.allProps\n const trContext = React.useContext(TrContext)\n const innerRef = React.useRef<HTMLDivElement>(null)\n const trRef = React.useRef<HTMLTableRowElement>(null)\n const [ariaLive, setAriaLive] = React.useState(null)\n\n const open = Boolean(expanded || trContext?.trIsOpen)\n\n const scrollViewHandler = useCallback(\n (clip = open) => {\n const scollView = getClosestScrollViewElement(\n trRef.current\n ) as HTMLElement\n if (scollView instanceof HTMLElement) {\n scollView.style.overflow = clip ? 'clip' : ''\n }\n },\n [open]\n )\n\n useEffect(() => {\n if (open) {\n scrollViewHandler()\n }\n }, [open, scrollViewHandler])\n\n const onOpen = useCallback((state) => {\n setAriaLive(state ? true : null)\n }, [])\n\n const onAnimationEnd = useCallback(\n (state) => {\n const event = { target: trRef.current }\n switch (state) {\n case 'opened':\n trContext.onOpened?.(event)\n break\n\n case 'closed':\n trContext.onClosed?.(event)\n break\n }\n\n scrollViewHandler(false)\n },\n [scrollViewHandler, trContext]\n )\n\n const { isInDOM, isAnimating, isVisibleParallax, firstPaintStyle } =\n useHeightAnimation(innerRef, {\n open,\n animate: Boolean(!noAnimation && !trContext?.noAnimation),\n onOpen,\n onAnimationEnd,\n })\n\n const countTds = trContext?.countTds || colSpan\n\n return (\n <tr\n /**\n * VoiceOver needs the \"tr\" to be in the DOM in order to be able to continue reading downwards,\n * even it is either closed or opened. Else VO pretends that this current table row is the end of the table.\n *\n * + All the browsers do count the correct number (childCount) of rows + NVDA counts correct when used with Chrome.\n * - Firefox on Windows does it as well, but not when used with NVDA.\n */\n aria-hidden={!isInDOM} // NVDA and VoiceOver needs \"aria-hidden\" to remove it from the accessibility tree\n hidden={isInDOM ? undefined : true} // NVDA and VoiceOver needs \"hidden\" to be true in order to not count invisible table rows (based on \"tr\" element)\n role={isInDOM ? 'row' : undefined} // NVDA and VoiceOver needs \"hidden\" to be true in order to not count invisible table rows (based on \"role\" element)\n style={{ ...firstPaintStyle, ...style }}\n className={classnames(\n isInDOM && 'dnb-table__tr',\n 'dnb-table__tr__accordion-content',\n isInDOM && 'dnb-table__tr__accordion-content--expanded',\n isAnimating && 'dnb-table__tr__accordion-content--animating',\n isVisibleParallax && 'dnb-table__tr__accordion-content--parallax',\n className\n )}\n ref={trRef}\n {...props}\n >\n <td\n role={isInDOM ? 'cell' : undefined} // remove the \"role\", because the parent role is removed as well\n colSpan={countTds}\n className=\"dnb-table__td\"\n >\n {isInDOM && (\n <div\n className=\"dnb-table__tr__accordion-content__inner\"\n ref={innerRef}\n >\n <div className=\"dnb-table__tr__accordion-content__inner__spacing\">\n {children}\n </div>\n </div>\n )}\n <span className=\"dnb-sr-only\">\n <span aria-live=\"assertive\">\n {isInDOM && ariaLive ? allProps?.accordionMoreContentSR : null}\n </span>\n </span>\n </td>\n </tr>\n )\n}\n"],"mappings":"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"}
@@ -9,6 +9,16 @@
9
9
  * Button mixins
10
10
  *
11
11
  */
12
+ .dnb-table,
13
+ .dnb-table__container {
14
+ --table-border-width: 0.0625rem;
15
+ --table-border: var(--table-border-width) solid var(--table-border-color);
16
+ --table-outline-width: 0.0625rem;
17
+ --table-outline: var(--table-outline-width) solid
18
+ var(--table-outline-color);
19
+ --table-outline-radius: 0.5rem;
20
+ }
21
+
12
22
  .dnb-table {
13
23
  display: table;
14
24
  table-layout: auto;
@@ -26,16 +36,39 @@
26
36
  white-space: nowrap;
27
37
  }
28
38
  .dnb-table > caption {
39
+ position: relative;
29
40
  caption-side: bottom;
30
41
  padding: 0.5rem 0 0.5rem 1rem;
31
42
  font-size: var(--font-size-basis);
32
43
  background-color: var(--color-white);
33
44
  text-align: left;
34
45
  }
35
- .dnb-table--border > caption:not(.dnb-sr-only) {
46
+ .dnb-table > caption::after {
47
+ content: "";
48
+ position: absolute;
49
+ top: 0;
50
+ left: 0;
51
+ right: -0.0625rem;
52
+ bottom: 0;
53
+ z-index: 1;
54
+ pointer-events: none;
55
+ top: calc(var(--table-border-width) * -1);
56
+ right: 0;
57
+ border-top: var(--table-border);
58
+ }
59
+ .dnb-table > caption:last-child::after {
60
+ right: 0;
61
+ }
62
+ .dnb-table--outline {
36
63
  position: relative;
64
+ -webkit-clip-path: inset(0 0 -10rem 0 round var(--table-outline-radius) var(--table-outline-radius) 0 0);
65
+ clip-path: inset(0 0 -10rem 0 round var(--table-outline-radius) var(--table-outline-radius) 0 0);
66
+ z-index: 1;
67
+ }
68
+ .dnb-table--outline, .dnb-table--outline::after {
69
+ border-radius: var(--table-outline-radius);
37
70
  }
38
- .dnb-table--border > caption:not(.dnb-sr-only)::after {
71
+ .dnb-table--outline::after {
39
72
  content: "";
40
73
  position: absolute;
41
74
  top: 0;
@@ -44,8 +77,28 @@
44
77
  bottom: 0;
45
78
  z-index: 1;
46
79
  pointer-events: none;
47
- top: -0.0625rem;
48
- border-top: var(--border);
80
+ z-index: 3;
81
+ border: var(--table-outline);
82
+ }
83
+ .dnb-table--outline > caption, .dnb-table--outline > caption::after {
84
+ border-radius: 0 0 var(--table-outline-radius) var(--table-outline-radius);
85
+ }
86
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr:last-child,
87
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content:nth-last-child(2) {
88
+ -webkit-clip-path: none;
89
+ clip-path: none;
90
+ }
91
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr:last-child .dnb-table__th, .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr:last-child .dnb-table__th::before, .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr:last-child .dnb-table__th::after,
92
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr:last-child .dnb-table__td,
93
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr:last-child .dnb-table__td::before,
94
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr:last-child .dnb-table__td::after,
95
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content:nth-last-child(2) .dnb-table__th,
96
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content:nth-last-child(2) .dnb-table__th::before,
97
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content:nth-last-child(2) .dnb-table__th::after,
98
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content:nth-last-child(2) .dnb-table__td,
99
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content:nth-last-child(2) .dnb-table__td::before,
100
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content:nth-last-child(2) .dnb-table__td::after {
101
+ border-radius: 0;
49
102
  }
50
103
  .dnb-table.dnb-skeleton > * {
51
104
  -webkit-text-fill-color: var(--skeleton-color);
@@ -246,17 +299,6 @@ html[data-whatinput=keyboard] .dnb-table > thead > tr > th.dnb-table--active .dn
246
299
  display: flex;
247
300
  align-items: flex-end;
248
301
  }
249
- .dnb-table--border tbody .dnb-table__th::after {
250
- content: "";
251
- position: absolute;
252
- top: 0;
253
- left: 0;
254
- right: 0;
255
- bottom: 0;
256
- z-index: 1;
257
- pointer-events: none;
258
- border-top: var(--border);
259
- }
260
302
 
261
303
  /*
262
304
  * Table component
@@ -270,60 +312,103 @@ html[data-whatinput=keyboard] .dnb-table > thead > tr > th.dnb-table--active .dn
270
312
  /* stylelint-disable */
271
313
  /* stylelint-enable */
272
314
  }
273
- .dnb-table--border tbody .dnb-table__td::after {
315
+ .dnb-table--border tbody .dnb-table__td::after,
316
+ .dnb-table--border tbody .dnb-table__th::after {
274
317
  content: "";
275
318
  position: absolute;
276
319
  top: 0;
277
320
  left: 0;
278
- right: 0;
321
+ right: -0.0625rem;
279
322
  bottom: 0;
280
323
  z-index: 1;
281
324
  pointer-events: none;
282
- border: var(--border);
283
- border-right: none;
325
+ border: var(--table-border);
284
326
  border-bottom: none;
285
327
  }
286
- .dnb-table--outline {
287
- position: relative;
288
- }
289
- .dnb-table--outline, .dnb-table--outline::after {
290
- border-radius: 0.5rem;
291
- }
292
- .dnb-table--outline::after {
293
- content: "";
294
- position: absolute;
295
- top: 0;
296
- left: 0;
328
+ .dnb-table--border tbody .dnb-table__td:last-child::after,
329
+ .dnb-table--border tbody .dnb-table__th:last-child::after {
297
330
  right: 0;
298
- bottom: 0;
299
- z-index: 1;
300
- pointer-events: none;
301
- z-index: 3;
302
- border: var(--outline);
303
331
  }
304
- .dnb-table--outline tbody .dnb-table__tr .dnb-table__th ~ .dnb-table__td:first-of-type:first-of-type::after {
332
+ .dnb-table--border tbody .dnb-table__td:first-child::after,
333
+ .dnb-table--border tbody .dnb-table__th:first-child::after {
305
334
  border-left: none;
306
335
  }
307
- .dnb-table--border tbody .dnb-table__tr .dnb-table__th ~ .dnb-table__td:first-of-type:first-of-type::after {
308
- border-left: var(--border);
309
- }
310
- .dnb-table--outline tbody .dnb-table__tr:last-of-type .dnb-table__th ~ .dnb-table__td:first-of-type, .dnb-table--outline tbody .dnb-table__tr:last-of-type .dnb-table__th ~ .dnb-table__td:first-of-type::before, .dnb-table--outline tbody .dnb-table__tr:last-of-type .dnb-table__th ~ .dnb-table__td:first-of-type::after {
311
- border-radius: 0;
312
- }
313
- .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__th::after, .dnb-table--outline > :not(thead) + tbody .dnb-table__tr:first-of-type .dnb-table__th::after {
314
- border-top: var(--outline);
315
- }
316
- .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__th:first-of-type, .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__th:first-of-type::after, .dnb-table--outline > :not(thead) + tbody .dnb-table__tr:first-of-type .dnb-table__th:first-of-type, .dnb-table--outline > :not(thead) + tbody .dnb-table__tr:first-of-type .dnb-table__th:first-of-type::after {
317
- border-radius: 0.5rem 0 0 0;
318
- }
319
- .dnb-table--outline > tbody:first-child .dnb-table__tr:first-of-type .dnb-table__td::after, .dnb-table--outline > :not(thead) + tbody .dnb-table__tr:first-of-type .dnb-table__td::after {
320
- border-top: var(--outline);
336
+ .dnb-table--border tbody .dnb-table__td:last-child::after,
337
+ .dnb-table--border tbody .dnb-table__th:last-child::after {
338
+ border-right: none;
321
339
  }
322
- .dnb-table--outline > tbody:first-child .dnb-table__tr:first-of-type .dnb-table__td:last-of-type, .dnb-table--outline > tbody:first-child .dnb-table__tr:first-of-type .dnb-table__td:last-of-type::after, .dnb-table--outline > :not(thead) + tbody .dnb-table__tr:first-of-type .dnb-table__td:last-of-type, .dnb-table--outline > :not(thead) + tbody .dnb-table__tr:first-of-type .dnb-table__td:last-of-type::after {
323
- border-radius: 0 0.5rem 0 0;
340
+ .dnb-table--border tbody .dnb-table__tr:first-child .dnb-table__td::after,
341
+ .dnb-table--border tbody .dnb-table__tr:first-child .dnb-table__th::after {
342
+ border-top: none;
324
343
  }
325
- .dnb-table:not(.dnb-table--outline).dnb-table--border > tbody:first-child .dnb-table__td:last-of-type::after, .dnb-table:not(.dnb-table--outline).dnb-table--border > :not(thead) + tbody .dnb-table__td:last-of-type::after {
326
- border-right: var(--border);
344
+ .dnb-table--border thead + tbody .dnb-table__tr:first-child .dnb-table__td::after,
345
+ .dnb-table--border thead + tbody .dnb-table__tr:first-child .dnb-table__th::after {
346
+ border-top: var(--table-border);
347
+ }
348
+ .dnb-table--outline thead:first-of-type .dnb-table__tr:first-of-type .dnb-table__th:first-child, .dnb-table--outline thead:first-of-type .dnb-table__tr:first-of-type .dnb-table__th:first-child::before, .dnb-table--outline thead:first-of-type .dnb-table__tr:first-of-type .dnb-table__th:first-child::after,
349
+ .dnb-table--outline thead:first-of-type .dnb-table__tr:first-of-type .dnb-table__td:first-child,
350
+ .dnb-table--outline thead:first-of-type .dnb-table__tr:first-of-type .dnb-table__td:first-child::before,
351
+ .dnb-table--outline thead:first-of-type .dnb-table__tr:first-of-type .dnb-table__td:first-child::after,
352
+ .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__th:first-child,
353
+ .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__th:first-child::before,
354
+ .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__th:first-child::after,
355
+ .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__td:first-child,
356
+ .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__td:first-child::before,
357
+ .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__td:first-child::after,
358
+ .dnb-table--outline caption:first-child + tbody .dnb-table__tr:first-of-type .dnb-table__th:first-child,
359
+ .dnb-table--outline caption:first-child + tbody .dnb-table__tr:first-of-type .dnb-table__th:first-child::before,
360
+ .dnb-table--outline caption:first-child + tbody .dnb-table__tr:first-of-type .dnb-table__th:first-child::after,
361
+ .dnb-table--outline caption:first-child + tbody .dnb-table__tr:first-of-type .dnb-table__td:first-child,
362
+ .dnb-table--outline caption:first-child + tbody .dnb-table__tr:first-of-type .dnb-table__td:first-child::before,
363
+ .dnb-table--outline caption:first-child + tbody .dnb-table__tr:first-of-type .dnb-table__td:first-child::after {
364
+ border-top-left-radius: var(--table-outline-radius);
365
+ }
366
+ .dnb-table--outline thead:first-of-type .dnb-table__tr:first-of-type .dnb-table__th:last-child, .dnb-table--outline thead:first-of-type .dnb-table__tr:first-of-type .dnb-table__th:last-child::before, .dnb-table--outline thead:first-of-type .dnb-table__tr:first-of-type .dnb-table__th:last-child::after,
367
+ .dnb-table--outline thead:first-of-type .dnb-table__tr:first-of-type .dnb-table__td:last-child,
368
+ .dnb-table--outline thead:first-of-type .dnb-table__tr:first-of-type .dnb-table__td:last-child::before,
369
+ .dnb-table--outline thead:first-of-type .dnb-table__tr:first-of-type .dnb-table__td:last-child::after,
370
+ .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__th:last-child,
371
+ .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__th:last-child::before,
372
+ .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__th:last-child::after,
373
+ .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__td:last-child,
374
+ .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__td:last-child::before,
375
+ .dnb-table--outline tbody:first-child .dnb-table__tr:first-of-type .dnb-table__td:last-child::after,
376
+ .dnb-table--outline caption:first-child + tbody .dnb-table__tr:first-of-type .dnb-table__th:last-child,
377
+ .dnb-table--outline caption:first-child + tbody .dnb-table__tr:first-of-type .dnb-table__th:last-child::before,
378
+ .dnb-table--outline caption:first-child + tbody .dnb-table__tr:first-of-type .dnb-table__th:last-child::after,
379
+ .dnb-table--outline caption:first-child + tbody .dnb-table__tr:first-of-type .dnb-table__td:last-child,
380
+ .dnb-table--outline caption:first-child + tbody .dnb-table__tr:first-of-type .dnb-table__td:last-child::before,
381
+ .dnb-table--outline caption:first-child + tbody .dnb-table__tr:first-of-type .dnb-table__td:last-child::after {
382
+ border-top-right-radius: var(--table-outline-radius);
383
+ }
384
+ .dnb-table--outline tbody:last-child .dnb-table__tr:last-child,
385
+ .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) {
386
+ -webkit-clip-path: inset(0 round 0 0 var(--table-outline-radius) var(--table-outline-radius));
387
+ clip-path: inset(0 round 0 0 var(--table-outline-radius) var(--table-outline-radius));
388
+ }
389
+ .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__th:first-child, .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__th:first-child::before, .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__th:first-child::after,
390
+ .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__td:first-child,
391
+ .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__td:first-child::before,
392
+ .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__td:first-child::after,
393
+ .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__th:first-child,
394
+ .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__th:first-child::before,
395
+ .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__th:first-child::after,
396
+ .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__td:first-child,
397
+ .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__td:first-child::before,
398
+ .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__td:first-child::after {
399
+ border-bottom-left-radius: var(--table-outline-radius);
400
+ }
401
+ .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__th:last-child, .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__th:last-child::before, .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__th:last-child::after,
402
+ .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__td:last-child,
403
+ .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__td:last-child::before,
404
+ .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__td:last-child::after,
405
+ .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__th:last-child,
406
+ .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__th:last-child::before,
407
+ .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__th:last-child::after,
408
+ .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__td:last-child,
409
+ .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__td:last-child::before,
410
+ .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__td:last-child::after {
411
+ border-bottom-right-radius: var(--table-outline-radius);
327
412
  }
328
413
  .dnb-table__td--no-spacing,
329
414
  .dnb-table td.dnb-table__td--no-spacing {
@@ -349,14 +434,6 @@ html[data-whatinput=keyboard] .dnb-table > thead > tr > th.dnb-table--active .dn
349
434
  .dnb-table > tbody > tr:not(.dnb-table__tr--even):nth-of-type(2n), .dnb-table .dnb-table__tr:not(.dnb-table__tr--even):nth-of-type(2n), .dnb-table .dnb-table__tr--odd {
350
435
  background-color: var(--color-white);
351
436
  }
352
- .dnb-table--outline thead .dnb-table__tr:first-of-type, .dnb-table--outline tbody .dnb-table__tr.dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) {
353
- -webkit-clip-path: inset(0 0 -1rem 0 round 0.5rem 0.5rem 0 0);
354
- clip-path: inset(0 0 -1rem 0 round 0.5rem 0.5rem 0 0);
355
- }
356
- .dnb-table--outline tbody .dnb-table__tr:last-of-type, .dnb-table--outline tbody .dnb-table__tr.dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) {
357
- -webkit-clip-path: inset(0 round 0 0 0.5rem 0.5rem);
358
- clip-path: inset(0 round 0 0 0.5rem 0.5rem);
359
- }
360
437
 
361
438
  /*
362
439
  * Table component
@@ -409,10 +486,10 @@ html[data-whatinput=keyboard] .dnb-table > thead > tr > th.dnb-table--active .dn
409
486
  z-index: 1;
410
487
  pointer-events: none;
411
488
  z-index: 3;
412
- border: var(--outline);
489
+ border: var(--table-outline);
413
490
  }
414
491
  .dnb-table__container, .dnb-table__container::after {
415
- border-radius: 0.5rem;
492
+ border-radius: var(--table-outline-radius);
416
493
  }
417
494
  .dnb-table__container, .dnb-table__container__body, .dnb-table__container__head, .dnb-table__container__foot {
418
495
  display: flex;
@@ -438,7 +515,7 @@ html[data-whatinput=keyboard] .dnb-table > thead > tr > th.dnb-table--active .dn
438
515
  bottom: 0;
439
516
  z-index: 1;
440
517
  pointer-events: none;
441
- border-bottom: var(--border);
518
+ border-bottom: var(--table-border);
442
519
  }
443
520
  .dnb-table__container__body .dnb-table tbody:first-child .dnb-table__tr:first-of-type .dnb-table__th::after,
444
521
  .dnb-table__container__body .dnb-table tbody:first-child .dnb-table__tr:first-of-type .dnb-table__td::after, .dnb-table__container__body .dnb-table > :not(thead) + tbody .dnb-table__tr:first-of-type .dnb-table__th::after,
@@ -464,12 +541,12 @@ html[data-whatinput=keyboard] .dnb-table > thead > tr > th.dnb-table--active .dn
464
541
  min-height: 1rem;
465
542
  }
466
543
  .dnb-table__container .dnb-table__scroll-view {
467
- -webkit-clip-path: inset(0 round 0 0 0.5rem 0.5rem);
468
- clip-path: inset(0 round 0 0 0.5rem 0.5rem);
544
+ -webkit-clip-path: inset(0 round 0 0 var(--table-outline-radius) var(--table-outline-radius));
545
+ clip-path: inset(0 round 0 0 var(--table-outline-radius) var(--table-outline-radius));
469
546
  }
470
547
  @supports (-webkit-appearance: none) and (not (-moz-appearance: meterbar)) {
471
548
  .dnb-table__container::after {
472
- bottom: calc(var(--outline-width) * -1);
549
+ bottom: calc(var(--table-outline-width) * -1);
473
550
  }
474
551
  }
475
552
  .dnb-modal__content .dnb-table__container .dnb-table__scroll-view {
@@ -481,10 +558,11 @@ html[data-whatinput=keyboard] .dnb-table > thead > tr > th.dnb-table--active .dn
481
558
  *
482
559
  */
483
560
  .dnb-table {
484
- --accordion-background: var(--color-white);
485
- --accordion-border-width: 0.0625rem;
486
- --accordion-border: var(--accordion-border-width) solid
487
- var(--color-black-20);
561
+ --table-accordion-background: var(--color-white);
562
+ --table-accordion-border-width: 0.0625rem;
563
+ --table-accordion-border-color: var(--color-black-20);
564
+ --table-accordion-border: var(--table-accordion-border-width) solid
565
+ var(--table-accordion-border-color);
488
566
  }
489
567
  .dnb-table__th.dnb-table__th__accordion-icon.dnb-table__th {
490
568
  padding: 0;
@@ -520,14 +598,13 @@ html[data-whatinput=keyboard] .dnb-table > thead > tr > th.dnb-table--active .dn
520
598
  .dnb-table__tr--has-accordion-content.dnb-table__tr--no-animation .dnb-table__toggle-button .dnb-icon, html[data-visual-test] .dnb-table__tr--has-accordion-content .dnb-table__toggle-button .dnb-icon {
521
599
  transition: none !important;
522
600
  }
523
- .dnb-table__tr--has-accordion-content, .dnb-table__tr__accordion_content {
601
+ .dnb-table__tr--has-accordion-content, .dnb-table__tr__accordion-content {
524
602
  position: relative;
525
- z-index: 2;
526
603
  }
527
- .dnb-table__tr--has-accordion-content.dnb-table__tr--expanded, .dnb-table__tr__accordion_content {
604
+ .dnb-table__tr--has-accordion-content.dnb-table__tr--expanded, .dnb-table__tr__accordion-content {
528
605
  z-index: 3;
529
606
  }
530
- .dnb-table__tr--has-accordion-content:hover, .dnb-table__tr--has-accordion-content:active, html[data-whatinput=keyboard] .dnb-table__tr--has-accordion-content:focus {
607
+ .dnb-table__tr--has-accordion-content:active, html[data-whatinput=keyboard] .dnb-table__tr--has-accordion-content:focus, .dnb-table__tr--has-accordion-content:hover:not(.dnb-table__tr--hover.dnb-table__tr--expanded) {
531
608
  z-index: 5;
532
609
  }
533
610
  .dnb-table__tr--has-accordion-content.dnb-table__tr--expanded .dnb-table__toggle-button .dnb-icon {
@@ -535,9 +612,8 @@ html[data-whatinput=keyboard] .dnb-table > thead > tr > th.dnb-table--active .dn
535
612
  }
536
613
  .dnb-table--border .dnb-table__tr--has-accordion-content.dnb-table__tr--expanded td::after {
537
614
  border-bottom: none;
538
- }
539
- .dnb-table--border .dnb-table__tr--has-accordion-content.dnb-table__tr--expanded td:not(:first-of-type)::after {
540
615
  border-left: none;
616
+ border-right: none;
541
617
  }
542
618
  .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled) {
543
619
  outline: none;
@@ -566,7 +642,7 @@ html:not([data-whatintent=touch]) .dnb-table__tr--has-accordion-content.dnb-tabl
566
642
  color: var(--color-emerald-green);
567
643
  }
568
644
  .dnb-table--outline tbody .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):not(:nth-last-child(2)) .dnb-table__td::before {
569
- bottom: -0.0625rem;
645
+ bottom: calc(var(--table-outline-width) * -1);
570
646
  }
571
647
  .dnb-table__tr--has-accordion-content.dnb-table__tr--expanded:not(.dnb-table__tr--disabled):hover .dnb-table__td {
572
648
  background-color: var(--color-white);
@@ -585,7 +661,7 @@ html[data-whatinput=keyboard] .dnb-table__tr--has-accordion-content.dnb-table__t
585
661
  html:not([data-whatintent=touch]) .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled):active:hover td::before,
586
662
  .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled):active td::before {
587
663
  border-color: var(--color-emerald-green);
588
- border-width: 0.0625rem;
664
+ border-width: var(--table-accordion-border-width);
589
665
  }
590
666
  .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled):active .dnb-table__td {
591
667
  background-color: var(--color-pistachio);
@@ -594,24 +670,24 @@ html:not([data-whatintent=touch]) .dnb-table__tr--has-accordion-content.dnb-tabl
594
670
  color: var(--color-emerald-green);
595
671
  }
596
672
  .dnb-table__tr--has-accordion-content.dnb-table__tr--expanded:not(.dnb-table__tr--disabled).dnb-table__tr--hover:not(:active):hover .dnb-table__td {
597
- background-color: var(--accordion-background);
673
+ background-color: var(--table-accordion-background);
598
674
  }
599
675
  .dnb-table__tr--has-accordion-content.dnb-table__tr--expanded:not(.dnb-table__tr--disabled).dnb-table__tr--hover:not(:active):hover .dnb-table__td::before {
600
676
  border: none;
601
- border-top: var(--accordion-border);
677
+ border-top: var(--table-accordion-border);
602
678
  }
603
679
  html:not([data-whatinput=keyboard]) .dnb-table__tr--has-accordion-content.dnb-table__tr.dnb-table__tr--expanded:not(.dnb-table__tr--disabled):not(:active):not(:hover) {
604
- background-color: var(--accordion-background);
680
+ background-color: var(--table-accordion-background);
605
681
  }
606
682
  html:not([data-whatinput=keyboard]) .dnb-table__tr--has-accordion-content.dnb-table__tr.dnb-table__tr--expanded:not(.dnb-table__tr--disabled):not(:active):not(:hover) td::before {
607
683
  border: none;
608
- border-top: var(--accordion-border);
684
+ border-top: var(--table-accordion-border);
609
685
  }
610
686
  .dnb-table__tr--has-accordion-content.dnb-table__tr--disabled .dnb-table__td__accordion-icon .dnb-icon {
611
687
  color: var(--color-sea-green-30);
612
688
  }
613
689
  @supports (-webkit-appearance: none) and (stroke-color: transparent) and (not (-webkit-touch-callout: none)) {
614
- .dnb-table__tr__accordion_content[hidden] {
690
+ .dnb-table__tr__accordion-content[hidden] {
615
691
  /**
616
692
  * By reverting the display from "none" to "block",
617
693
  * we trick VoiceOver to not make this row as the end of the table. We still need "hidden" to get the correct number of rows (childCount).
@@ -619,61 +695,61 @@ html:not([data-whatinput=keyboard]) .dnb-table__tr--has-accordion-content.dnb-ta
619
695
  display: block;
620
696
  }
621
697
  }
622
- .dnb-table__tr__accordion_content td {
698
+ .dnb-table__tr__accordion-content td {
623
699
  padding: 0 !important;
624
700
  width: calc(100% - 3.5rem);
625
701
  }
626
- .dnb-table__size--medium .dnb-table__tr__accordion_content td {
702
+ .dnb-table__size--medium .dnb-table__tr__accordion-content td {
627
703
  width: calc(100% - 3rem);
628
704
  }
629
- .dnb-table__size--small .dnb-table__tr__accordion_content td {
705
+ .dnb-table__size--small .dnb-table__tr__accordion-content td {
630
706
  width: calc(100% - 2.5rem);
631
707
  }
632
- .dnb-table__tr__accordion_content td::before {
708
+ .dnb-table__tr__accordion-content td::before {
633
709
  content: "";
634
710
  position: absolute;
635
711
  top: auto;
636
712
  left: 0;
637
713
  right: 0;
638
- bottom: calc(var(--accordion-border-width) * -1);
714
+ bottom: calc(var(--table-accordion-border-width) * -1);
639
715
  pointer-events: none;
640
- border-bottom: var(--accordion-border);
716
+ border-bottom: var(--table-accordion-border);
641
717
  }
642
- .dnb-table--outline .dnb-table__tr__accordion_content:last-of-type td::before {
718
+ .dnb-table--outline .dnb-table__tr__accordion-content:last-of-type td::before {
643
719
  border-bottom: none;
644
720
  }
645
- .dnb-table--border .dnb-table__tr__accordion_content td::after {
721
+ .dnb-table--border .dnb-table__tr__accordion-content td::after {
646
722
  border-top: none;
647
723
  }
648
- .dnb-table__tr__accordion_content__inner {
724
+ .dnb-table__tr__accordion-content__inner {
649
725
  overflow: hidden;
650
726
  will-change: height;
651
727
  transition: height 400ms var(--easing-default);
652
728
  position: relative;
653
729
  }
654
- .dnb-table__tr__accordion_content__inner__spacing {
730
+ .dnb-table__tr__accordion-content__inner__spacing {
655
731
  padding: 1rem;
656
732
  transform: translateY(-10px);
657
733
  transition: transform 500ms var(--easing-default);
658
734
  }
659
- .dnb-table__tr__accordion_content--parallax .dnb-table__tr__accordion_content__inner__spacing {
735
+ .dnb-table__tr__accordion-content--parallax .dnb-table__tr__accordion-content__inner__spacing {
660
736
  transform: translateY(0);
661
737
  }
662
- html[data-visual-test] .dnb-table__tr__accordion_content--parallax .dnb-table__tr__accordion_content__inner__spacing {
738
+ html[data-visual-test] .dnb-table__tr__accordion-content--parallax .dnb-table__tr__accordion-content__inner__spacing {
663
739
  transition: none;
664
740
  }
665
- .dnb-table__tr__accordion_content > td.dnb-table__td {
741
+ .dnb-table__tr__accordion-content > td.dnb-table__td {
666
742
  padding: 0;
667
743
  }
668
- .dnb-table__tr__accordion_content > td.dnb-table__td .dnb-dl,
669
- .dnb-table__tr__accordion_content > td.dnb-table__td .dnb-dl dt {
744
+ .dnb-table__tr__accordion-content > td.dnb-table__td .dnb-dl,
745
+ .dnb-table__tr__accordion-content > td.dnb-table__td .dnb-dl dt {
670
746
  margin: 0;
671
747
  }
672
- .dnb-table__tr__accordion_content--expanded > td.dnb-table__td {
748
+ .dnb-table__tr__accordion-content--expanded > td.dnb-table__td {
673
749
  background-color: var(--color-white);
674
750
  }
675
- .dnb-table__tr__accordion_content.dnb-table__tr .dnb-table__td {
676
- background-color: var(--accordion-background);
751
+ .dnb-table__tr__accordion-content.dnb-table__tr .dnb-table__td {
752
+ background-color: var(--table-accordion-background);
677
753
  /**
678
754
  * Safari on iOS and macOS has problems on animating when vertical-align is baseline.
679
755
  * What happens is that the td is not 0, even the content inside is 0. With vertical top, we omit that.
@@ -681,15 +757,6 @@ html[data-visual-test] .dnb-table__tr__accordion_content--parallax .dnb-table__t
681
757
  */
682
758
  vertical-align: top;
683
759
  }
684
- .dnb-table--outline tbody .dnb-table__tr.dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__td:first-of-type, .dnb-table--outline tbody .dnb-table__tr.dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__td:first-of-type::before, .dnb-table--outline tbody .dnb-table__tr.dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__td:first-of-type::after {
685
- border-radius: 0 0 0 0.5rem;
686
- }
687
- .dnb-table--outline tbody .dnb-table__tr:last-of-type .dnb-table__td:last-of-type, .dnb-table--outline tbody .dnb-table__tr:last-of-type .dnb-table__td:last-of-type::before, .dnb-table--outline tbody .dnb-table__tr:last-of-type .dnb-table__td:last-of-type::after, .dnb-table--outline tbody .dnb-table__tr.dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__td:last-of-type, .dnb-table--outline tbody .dnb-table__tr.dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__td:last-of-type::before, .dnb-table--outline tbody .dnb-table__tr.dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):nth-last-child(2) .dnb-table__td:last-of-type::after {
688
- border-radius: 0 0 0.5rem 0;
689
- }
690
- .dnb-table--outline tbody .dnb-table__tr.dnb-table__tr__accordion_content:last-of-type .dnb-table__td, .dnb-table--outline tbody .dnb-table__tr.dnb-table__tr__accordion_content:last-of-type .dnb-table__td::before, .dnb-table--outline tbody .dnb-table__tr.dnb-table__tr__accordion_content:last-of-type .dnb-table__td::after {
691
- border-radius: 0 0 0.5rem 0.5rem;
692
- }
693
760
  .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--disabled) {
694
761
  cursor: pointer;
695
762
  }