@dnb/eufemia 10.38.0 → 10.39.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 (204) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/cjs/components/button/Button.d.ts +1 -0
  3. package/cjs/components/button/Button.js +5 -2
  4. package/cjs/components/button/Button.js.map +1 -1
  5. package/cjs/components/modal/Modal.js +1 -1
  6. package/cjs/components/modal/Modal.js.map +1 -1
  7. package/cjs/components/modal/types.d.ts +4 -0
  8. package/cjs/components/modal/types.js.map +1 -1
  9. package/cjs/components/table/Table.d.ts +6 -3
  10. package/cjs/components/table/Table.js +6 -2
  11. package/cjs/components/table/Table.js.map +1 -1
  12. package/cjs/components/table/TableClickableHead.d.ts +22 -0
  13. package/cjs/components/table/TableClickableHead.js +116 -0
  14. package/cjs/components/table/TableClickableHead.js.map +1 -0
  15. package/cjs/components/table/TableDocs.js +6 -6
  16. package/cjs/components/table/TableDocs.js.map +1 -1
  17. package/cjs/components/table/TableTr.d.ts +12 -12
  18. package/cjs/components/table/TableTr.js +13 -6
  19. package/cjs/components/table/TableTr.js.map +1 -1
  20. package/cjs/components/table/style/dnb-table.css +61 -61
  21. package/cjs/components/table/style/dnb-table.min.css +1 -1
  22. package/cjs/components/table/style/dnb-table.scss +1 -1
  23. package/cjs/components/table/style/table-accordion.scss +28 -36
  24. package/cjs/components/table/style/table-td.scss +1 -1
  25. package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
  26. package/cjs/components/table/table-accordion/TableAccordionHead.js +45 -74
  27. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  28. package/cjs/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
  29. package/cjs/components/table/table-navigation/TableNavigationHead.js +56 -0
  30. package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -0
  31. package/cjs/extensions/forms/Field/Number/Number.d.ts +3 -1
  32. package/cjs/extensions/forms/Field/Number/Number.js +6 -2
  33. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  34. package/cjs/extensions/forms/Field/Number/NumberDocs.js +10 -0
  35. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  36. package/cjs/extensions/forms/hooks/DataValueDocs.js +1 -1
  37. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  38. package/cjs/extensions/payment-card/utils/cardProducts.js +7 -7
  39. package/cjs/extensions/payment-card/utils/cardProducts.js.map +1 -1
  40. package/cjs/shared/Eufemia.d.ts +1 -1
  41. package/cjs/shared/Eufemia.js +2 -2
  42. package/cjs/shared/Eufemia.js.map +1 -1
  43. package/cjs/shared/locales/en-GB.d.ts +1 -0
  44. package/cjs/shared/locales/en-GB.js +2 -1
  45. package/cjs/shared/locales/en-GB.js.map +1 -1
  46. package/cjs/shared/locales/en-US.d.ts +1 -0
  47. package/cjs/shared/locales/index.d.ts +2 -0
  48. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  49. package/cjs/shared/locales/nb-NO.js +2 -1
  50. package/cjs/shared/locales/nb-NO.js.map +1 -1
  51. package/cjs/style/core/scopes.scss +1 -1
  52. package/cjs/style/dnb-ui-basis.css +1 -1
  53. package/cjs/style/dnb-ui-basis.min.css +1 -1
  54. package/cjs/style/dnb-ui-body.css +1 -1
  55. package/cjs/style/dnb-ui-body.min.css +1 -1
  56. package/cjs/style/dnb-ui-components.css +61 -61
  57. package/cjs/style/dnb-ui-components.min.css +1 -1
  58. package/cjs/style/dnb-ui-core.css +1 -1
  59. package/cjs/style/dnb-ui-core.min.css +1 -1
  60. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +61 -61
  61. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  62. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +61 -61
  63. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  64. package/cjs/style/themes/theme-ui/ui-theme-components.css +61 -61
  65. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  66. package/components/button/Button.d.ts +1 -0
  67. package/components/button/Button.js +5 -2
  68. package/components/button/Button.js.map +1 -1
  69. package/components/modal/Modal.js +1 -1
  70. package/components/modal/Modal.js.map +1 -1
  71. package/components/modal/types.d.ts +4 -0
  72. package/components/modal/types.js.map +1 -1
  73. package/components/table/Table.d.ts +6 -3
  74. package/components/table/Table.js +6 -2
  75. package/components/table/Table.js.map +1 -1
  76. package/components/table/TableClickableHead.d.ts +22 -0
  77. package/components/table/TableClickableHead.js +103 -0
  78. package/components/table/TableClickableHead.js.map +1 -0
  79. package/components/table/TableDocs.js +6 -6
  80. package/components/table/TableDocs.js.map +1 -1
  81. package/components/table/TableTr.d.ts +12 -12
  82. package/components/table/TableTr.js +13 -6
  83. package/components/table/TableTr.js.map +1 -1
  84. package/components/table/style/dnb-table.css +61 -61
  85. package/components/table/style/dnb-table.min.css +1 -1
  86. package/components/table/style/dnb-table.scss +1 -1
  87. package/components/table/style/table-accordion.scss +28 -36
  88. package/components/table/style/table-td.scss +1 -1
  89. package/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
  90. package/components/table/table-accordion/TableAccordionHead.js +44 -72
  91. package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  92. package/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
  93. package/components/table/table-navigation/TableNavigationHead.js +48 -0
  94. package/components/table/table-navigation/TableNavigationHead.js.map +1 -0
  95. package/es/components/button/Button.d.ts +1 -0
  96. package/es/components/button/Button.js +5 -2
  97. package/es/components/button/Button.js.map +1 -1
  98. package/es/components/modal/Modal.js +1 -1
  99. package/es/components/modal/Modal.js.map +1 -1
  100. package/es/components/modal/types.d.ts +4 -0
  101. package/es/components/modal/types.js.map +1 -1
  102. package/es/components/table/Table.d.ts +6 -3
  103. package/es/components/table/Table.js +6 -2
  104. package/es/components/table/Table.js.map +1 -1
  105. package/es/components/table/TableClickableHead.d.ts +22 -0
  106. package/es/components/table/TableClickableHead.js +101 -0
  107. package/es/components/table/TableClickableHead.js.map +1 -0
  108. package/es/components/table/TableDocs.js +6 -6
  109. package/es/components/table/TableDocs.js.map +1 -1
  110. package/es/components/table/TableTr.d.ts +12 -12
  111. package/es/components/table/TableTr.js +13 -6
  112. package/es/components/table/TableTr.js.map +1 -1
  113. package/es/components/table/style/dnb-table.css +61 -61
  114. package/es/components/table/style/dnb-table.min.css +1 -1
  115. package/es/components/table/style/dnb-table.scss +1 -1
  116. package/es/components/table/style/table-accordion.scss +28 -36
  117. package/es/components/table/style/table-td.scss +1 -1
  118. package/es/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
  119. package/es/components/table/table-accordion/TableAccordionHead.js +44 -71
  120. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
  121. package/es/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
  122. package/es/components/table/table-navigation/TableNavigationHead.js +48 -0
  123. package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -0
  124. package/es/extensions/forms/Field/Number/Number.d.ts +3 -1
  125. package/es/extensions/forms/Field/Number/Number.js +6 -2
  126. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  127. package/es/extensions/forms/Field/Number/NumberDocs.js +10 -0
  128. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  129. package/es/extensions/forms/hooks/DataValueDocs.js +1 -1
  130. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  131. package/es/extensions/payment-card/utils/cardProducts.js +7 -7
  132. package/es/extensions/payment-card/utils/cardProducts.js.map +1 -1
  133. package/es/shared/Eufemia.d.ts +1 -1
  134. package/es/shared/Eufemia.js +2 -2
  135. package/es/shared/Eufemia.js.map +1 -1
  136. package/es/shared/locales/en-GB.d.ts +1 -0
  137. package/es/shared/locales/en-GB.js +2 -1
  138. package/es/shared/locales/en-GB.js.map +1 -1
  139. package/es/shared/locales/en-US.d.ts +1 -0
  140. package/es/shared/locales/index.d.ts +2 -0
  141. package/es/shared/locales/nb-NO.d.ts +1 -0
  142. package/es/shared/locales/nb-NO.js +2 -1
  143. package/es/shared/locales/nb-NO.js.map +1 -1
  144. package/es/style/core/scopes.scss +1 -1
  145. package/es/style/dnb-ui-basis.css +1 -1
  146. package/es/style/dnb-ui-basis.min.css +1 -1
  147. package/es/style/dnb-ui-body.css +1 -1
  148. package/es/style/dnb-ui-body.min.css +1 -1
  149. package/es/style/dnb-ui-components.css +61 -61
  150. package/es/style/dnb-ui-components.min.css +1 -1
  151. package/es/style/dnb-ui-core.css +1 -1
  152. package/es/style/dnb-ui-core.min.css +1 -1
  153. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +61 -61
  154. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  155. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +61 -61
  156. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  157. package/es/style/themes/theme-ui/ui-theme-components.css +61 -61
  158. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  159. package/esm/dnb-ui-basis.min.mjs +1 -1
  160. package/esm/dnb-ui-components.min.mjs +1 -1
  161. package/esm/dnb-ui-elements.min.mjs +1 -1
  162. package/esm/dnb-ui-extensions.min.mjs +2 -2
  163. package/esm/dnb-ui-lib.min.mjs +1 -1
  164. package/extensions/forms/Field/Number/Number.d.ts +3 -1
  165. package/extensions/forms/Field/Number/Number.js +6 -2
  166. package/extensions/forms/Field/Number/Number.js.map +1 -1
  167. package/extensions/forms/Field/Number/NumberDocs.js +10 -0
  168. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  169. package/extensions/forms/hooks/DataValueDocs.js +1 -1
  170. package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
  171. package/extensions/payment-card/utils/cardProducts.js +7 -7
  172. package/extensions/payment-card/utils/cardProducts.js.map +1 -1
  173. package/package.json +1 -1
  174. package/shared/Eufemia.d.ts +1 -1
  175. package/shared/Eufemia.js +2 -2
  176. package/shared/Eufemia.js.map +1 -1
  177. package/shared/locales/en-GB.d.ts +1 -0
  178. package/shared/locales/en-GB.js +2 -1
  179. package/shared/locales/en-GB.js.map +1 -1
  180. package/shared/locales/en-US.d.ts +1 -0
  181. package/shared/locales/index.d.ts +2 -0
  182. package/shared/locales/nb-NO.d.ts +1 -0
  183. package/shared/locales/nb-NO.js +2 -1
  184. package/shared/locales/nb-NO.js.map +1 -1
  185. package/style/core/scopes.scss +1 -1
  186. package/style/dnb-ui-basis.css +1 -1
  187. package/style/dnb-ui-basis.min.css +1 -1
  188. package/style/dnb-ui-body.css +1 -1
  189. package/style/dnb-ui-body.min.css +1 -1
  190. package/style/dnb-ui-components.css +61 -61
  191. package/style/dnb-ui-components.min.css +1 -1
  192. package/style/dnb-ui-core.css +1 -1
  193. package/style/dnb-ui-core.min.css +1 -1
  194. package/style/themes/theme-eiendom/eiendom-theme-components.css +61 -61
  195. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  196. package/style/themes/theme-sbanken/sbanken-theme-components.css +61 -61
  197. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  198. package/style/themes/theme-ui/ui-theme-components.css +61 -61
  199. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  200. package/umd/dnb-ui-basis.min.js +1 -1
  201. package/umd/dnb-ui-components.min.js +1 -1
  202. package/umd/dnb-ui-elements.min.js +1 -1
  203. package/umd/dnb-ui-extensions.min.js +2 -2
  204. package/umd/dnb-ui-lib.min.js +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableClickableHead.js","names":["React","classnames","keycode","hasSelectedText","Button","IconPrimary","Th","Td","TableContext","TableClickableHead","allProps","children","className","disabled","onClick","onOpened","onClosed","trIsOpen","trIsHover","trHadClick","clickable","noAnimation","onMouseEnter","onMouseLeave","onKeyDown","ariaLabel","props","_objectWithoutProperties","_excluded","trParams","onKeydownHandler","createElement","_extends","tabIndex","undefined","event","nativeEvent","target","document","activeElement","tagName","preventDefault","onClickTr","allowInteractiveElement","arguments","length","TableClickableButtonTd","_React$useContext","icon","tableContextAllProps","useContext","iconSize","size","Boolean","on_click","TableIconSrTh","text","isTableHead","some","element","type"],"sources":["../../../../src/components/table/TableClickableHead.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport { hasSelectedText } from '../../shared/helpers'\nimport Button from '../button/Button'\nimport IconPrimary from '../icon/IconPrimary'\nimport Th from './TableTh'\nimport Td from './TableTd'\nimport { TableContext } from './TableContext'\nimport type { TableTrProps } from './TableTr'\n\nexport type TableClickableHeadProps = {\n trIsOpen?: boolean\n trIsHover?: boolean\n trHadClick?: boolean\n clickable: boolean\n noAnimation?: boolean\n ariaLabel: string\n} & TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n\nexport function TableClickableHead(allProps: TableClickableHeadProps) {\n const {\n children,\n className,\n disabled,\n onClick,\n onOpened,\n onClosed,\n\n trIsOpen,\n trIsHover,\n trHadClick,\n clickable,\n noAnimation,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ariaLabel,\n ...props\n } = allProps\n\n const trParams =\n !disabled && clickable\n ? {\n onClick: onClick,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onKeyDown: onKeydownHandler,\n }\n : {}\n\n return (\n <tr\n tabIndex={clickable && !disabled ? 0 : undefined}\n className={classnames(\n className,\n clickable && 'dnb-table__tr--clickable',\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 {children}\n </tr>\n )\n\n function onKeydownHandler(\n event: React.KeyboardEvent<HTMLTableRowElement>\n ) {\n switch (keycode(event.nativeEvent)) {\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 onKeyDown(event)\n event.preventDefault()\n }\n }\n break\n }\n }\n}\n\nexport function onClickTr(\n event: React.SyntheticEvent,\n allowInteractiveElement = false,\n onClick?: (event: React.SyntheticEvent) => void\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 onclick.\n */\n !hasSelectedText()\n ) {\n onClick?.(event)\n }\n}\n\nexport function TableClickableButtonTd(props: {\n trIsOpen?: boolean\n ariaLabel: string\n icon: 'chevron_down' | 'chevron_right'\n onClick: (\n event: React.SyntheticEvent,\n allowInteractiveElement: boolean\n ) => void\n}) {\n const { trIsOpen, ariaLabel, icon, onClick } = props\n\n const tableContextAllProps = React.useContext(TableContext)?.allProps\n const iconSize =\n tableContextAllProps?.size === 'medium' ||\n tableContextAllProps?.size === 'small'\n ? 'basis'\n : 'medium'\n\n return (\n <Td className=\"dnb-table__td__button-icon\">\n <span className=\"dnb-table__button\">\n <IconPrimary icon={icon} size={iconSize} />\n <Button\n className=\"dnb-sr-only\"\n tabIndex={-1}\n aria-label={ariaLabel}\n aria-expanded={Boolean(trIsOpen)}\n {...(trIsOpen != null\n ? { 'aria-expanded': Boolean(trIsOpen) }\n : {})}\n on_click={(event) => onClick(event, true)}\n />\n </span>\n </Td>\n )\n}\n\nexport function TableIconSrTh(props: { text: string }) {\n const { text } = props\n\n return (\n <Th aria-hidden className=\"dnb-table__th__button-icon\">\n <div>{text}</div>\n </Th>\n )\n}\n\nexport const isTableHead = (children: React.ReactNode[]) =>\n children.some((element: React.ReactElement) => element.type === Th)\n"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  export const TableProperties = {
2
- accordion: {
3
- doc: 'Set to true if you have one or more rows that contains an accordion content.',
4
- type: 'boolean',
5
- defaultValue: 'false',
2
+ mode: {
3
+ doc: 'Defines how the Table should look. Use `accordion` for an accordion-like table. Use `navigation` for a navigation table.',
4
+ type: [`'accordion'`, `'navigation'`],
5
+ defaultValue: 'null',
6
6
  status: 'optional'
7
7
  },
8
8
  accordionChevronPlacement: {
9
- doc: 'Defines where the chevron will be placed.',
9
+ doc: 'Defines where the chevron will be placed, should only be used together with mode="accordion".',
10
10
  type: [`'start'`, `'end'`],
11
11
  defaultValue: `'start'`,
12
12
  status: 'optional'
@@ -117,7 +117,7 @@ export const TrProperties = {
117
117
  };
118
118
  export const TrEventProperties = {
119
119
  onClick: {
120
- doc: 'will emit when user clicks/expands the table row. Returns a native click.',
120
+ doc: 'Will emit when user clicks/expands or on keydown space/enter(in mode="accordion" and mode="navigation") in the table row. Returns a native click.',
121
121
  type: '(event) => void',
122
122
  defaultValue: 'undefined',
123
123
  status: 'optional'
@@ -1 +1 @@
1
- {"version":3,"file":"TableDocs.js","names":["TableProperties","accordion","doc","type","defaultValue","status","accordionChevronPlacement","border","outline","sticky","stickyOffset","size","fixed","children","className","skeleton","TableEventProperties","collapseAllHandleRef","TrProperties","variant","noWrap","expanded","disabled","noAnimation","TrEventProperties","onClick","onOpened","onClosed","ThProperties","sortable","active","reversed","TdProperties","noSpacing","spacing"],"sources":["../../../../src/components/table/TableDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const TableProperties: PropertiesTableProps = {\n accordion: {\n doc: 'Set to true if you have one or more rows that contains an accordion content.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n accordionChevronPlacement: {\n doc: 'Defines where the chevron will be placed.',\n type: [`'start'`, `'end'`],\n defaultValue: `'start'`,\n status: 'optional',\n },\n border: {\n doc: 'Use `true` to show borders between table data cells.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n outline: {\n doc: 'Use `true` to show an outline border around the table',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n sticky: {\n doc: \"Use `true` to enable a sticky Table header. Or use `'css-position'` to enable the CSS based scroll behavior.\",\n type: ['boolean', `'css-position'`],\n defaultValue: 'false',\n status: 'optional',\n },\n stickyOffset: {\n doc: 'Defines the offset (top) in `rem` from where the header should start to stick. You may define your app header height here, if you have a sticky header on your page.',\n type: ['string', 'number'],\n defaultValue: 'false',\n status: 'optional',\n },\n size: {\n doc: 'Spacing size inside the table header and data.',\n type: [`'large'`, `'medium'`, `'small'`],\n defaultValue: `'large'`,\n status: 'optional',\n },\n fixed: {\n doc: 'If set to `true`, the table will behave with a fixed table layout, using: `table-layout: fixed;`. Use e.g. CSS `width: 40%` on a table column to define the width.',\n type: 'boolean',\n defaultValue: 'null',\n status: 'optional',\n },\n children: {\n doc: 'The content of the component.',\n type: 'React.ReactNode',\n status: 'required',\n },\n className: {\n doc: 'Custom className on the component root',\n type: 'string',\n defaultValue: 'undefined',\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n defaultValue: 'undefined',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const TableEventProperties: PropertiesTableProps = {\n collapseAllHandleRef: {\n doc: 'ref handle to collapse all expanded accordion rows. Send in a ref and use `.current()` to collapse all rows.',\n type: 'React.MutableRefObject<() => void>',\n defaultValue: 'undefined',\n status: 'optional',\n },\n}\n\nexport const TrProperties: PropertiesTableProps = {\n /**\n * The variant of the tr\n */\n variant: {\n doc: 'Override the automatic variant of the current row. The next row one will continue with the opposite.',\n type: [`'even'`, `'odd'`],\n defaultValue: 'undefined',\n status: 'optional',\n },\n noWrap: {\n doc: 'if set to `true`, the inherited header text will not wrap to new lines.',\n type: 'boolean',\n defaultValue: 'true',\n status: 'optional',\n },\n expanded: {\n doc: 'use `true` to render the `<Tr>` initially as expanded.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n disabled: {\n doc: 'use `true` to disable the `<Tr>` to be accessible as an interactive element.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n noAnimation: {\n doc: 'use `true` to disable the expand/collapse animation.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n children: {\n doc: 'The content of the component.',\n type: 'React.ReactNode',\n status: 'required',\n },\n}\n\nexport const TrEventProperties: PropertiesTableProps = {\n onClick: {\n doc: 'will emit when user clicks/expands the table row. Returns a native click.',\n type: '(event) => void',\n defaultValue: 'undefined',\n status: 'optional',\n },\n onOpened: {\n doc: 'Will emit when table row is expanded. Returns an object with the table row as the target: `{ target }`.',\n type: '({ target }) => void',\n defaultValue: 'undefined',\n status: 'optional',\n },\n onClosed: {\n doc: 'Will emit when table row is closed (after it was open). Returns an object with the table row as the target: `{ target }`.',\n type: '({ target }) => void',\n defaultValue: 'undefined',\n status: 'optional',\n },\n}\n\nexport const ThProperties: PropertiesTableProps = {\n sortable: {\n doc: 'Defines the table header as sortable if set to `true` (ascending).',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n active: {\n doc: 'Defines the sortable column as the current active (ascending).',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n reversed: {\n doc: 'Defines the sortable column as in reversed order (descending).',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n noWrap: {\n doc: 'If set to `true`, the header text will not wrap to new lines.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n children: {\n doc: 'The content of the component.',\n type: 'React.ReactNode',\n defaultValue: 'undefined',\n status: 'optional',\n },\n}\n\nexport const TdProperties: PropertiesTableProps = {\n noSpacing: {\n doc: 'If set to `true`, no padding will be added.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n spacing: {\n doc: 'Set to `horizontal` for padding on left and right side.',\n type: `'horizontal'`,\n defaultValue: 'undefined',\n status: 'optional',\n },\n children: {\n doc: 'The content of the component.',\n type: 'React.ReactNode',\n defaultValue: 'undefined',\n status: 'optional',\n },\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableDocs.js","names":["TableProperties","mode","doc","type","defaultValue","status","accordionChevronPlacement","border","outline","sticky","stickyOffset","size","fixed","children","className","skeleton","TableEventProperties","collapseAllHandleRef","TrProperties","variant","noWrap","expanded","disabled","noAnimation","TrEventProperties","onClick","onOpened","onClosed","ThProperties","sortable","active","reversed","TdProperties","noSpacing","spacing"],"sources":["../../../../src/components/table/TableDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const TableProperties: PropertiesTableProps = {\n mode: {\n doc: 'Defines how the Table should look. Use `accordion` for an accordion-like table. Use `navigation` for a navigation table.',\n type: [`'accordion'`, `'navigation'`],\n defaultValue: 'null',\n status: 'optional',\n },\n accordionChevronPlacement: {\n doc: 'Defines where the chevron will be placed, should only be used together with mode=\"accordion\".',\n type: [`'start'`, `'end'`],\n defaultValue: `'start'`,\n status: 'optional',\n },\n border: {\n doc: 'Use `true` to show borders between table data cells.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n outline: {\n doc: 'Use `true` to show an outline border around the table',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n sticky: {\n doc: \"Use `true` to enable a sticky Table header. Or use `'css-position'` to enable the CSS based scroll behavior.\",\n type: ['boolean', `'css-position'`],\n defaultValue: 'false',\n status: 'optional',\n },\n stickyOffset: {\n doc: 'Defines the offset (top) in `rem` from where the header should start to stick. You may define your app header height here, if you have a sticky header on your page.',\n type: ['string', 'number'],\n defaultValue: 'false',\n status: 'optional',\n },\n size: {\n doc: 'Spacing size inside the table header and data.',\n type: [`'large'`, `'medium'`, `'small'`],\n defaultValue: `'large'`,\n status: 'optional',\n },\n fixed: {\n doc: 'If set to `true`, the table will behave with a fixed table layout, using: `table-layout: fixed;`. Use e.g. CSS `width: 40%` on a table column to define the width.',\n type: 'boolean',\n defaultValue: 'null',\n status: 'optional',\n },\n children: {\n doc: 'The content of the component.',\n type: 'React.ReactNode',\n status: 'required',\n },\n className: {\n doc: 'Custom className on the component root',\n type: 'string',\n defaultValue: 'undefined',\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n defaultValue: 'undefined',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const TableEventProperties: PropertiesTableProps = {\n collapseAllHandleRef: {\n doc: 'ref handle to collapse all expanded accordion rows. Send in a ref and use `.current()` to collapse all rows.',\n type: 'React.MutableRefObject<() => void>',\n defaultValue: 'undefined',\n status: 'optional',\n },\n}\n\nexport const TrProperties: PropertiesTableProps = {\n /**\n * The variant of the tr\n */\n variant: {\n doc: 'Override the automatic variant of the current row. The next row one will continue with the opposite.',\n type: [`'even'`, `'odd'`],\n defaultValue: 'undefined',\n status: 'optional',\n },\n noWrap: {\n doc: 'if set to `true`, the inherited header text will not wrap to new lines.',\n type: 'boolean',\n defaultValue: 'true',\n status: 'optional',\n },\n expanded: {\n doc: 'use `true` to render the `<Tr>` initially as expanded.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n disabled: {\n doc: 'use `true` to disable the `<Tr>` to be accessible as an interactive element.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n noAnimation: {\n doc: 'use `true` to disable the expand/collapse animation.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n children: {\n doc: 'The content of the component.',\n type: 'React.ReactNode',\n status: 'required',\n },\n}\n\nexport const TrEventProperties: PropertiesTableProps = {\n onClick: {\n doc: 'Will emit when user clicks/expands or on keydown space/enter(in mode=\"accordion\" and mode=\"navigation\") in the table row. Returns a native click.',\n type: '(event) => void',\n defaultValue: 'undefined',\n status: 'optional',\n },\n onOpened: {\n doc: 'Will emit when table row is expanded. Returns an object with the table row as the target: `{ target }`.',\n type: '({ target }) => void',\n defaultValue: 'undefined',\n status: 'optional',\n },\n onClosed: {\n doc: 'Will emit when table row is closed (after it was open). Returns an object with the table row as the target: `{ target }`.',\n type: '({ target }) => void',\n defaultValue: 'undefined',\n status: 'optional',\n },\n}\n\nexport const ThProperties: PropertiesTableProps = {\n sortable: {\n doc: 'Defines the table header as sortable if set to `true` (ascending).',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n active: {\n doc: 'Defines the sortable column as the current active (ascending).',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n reversed: {\n doc: 'Defines the sortable column as in reversed order (descending).',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n noWrap: {\n doc: 'If set to `true`, the header text will not wrap to new lines.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n children: {\n doc: 'The content of the component.',\n type: 'React.ReactNode',\n defaultValue: 'undefined',\n status: 'optional',\n },\n}\n\nexport const TdProperties: PropertiesTableProps = {\n noSpacing: {\n doc: 'If set to `true`, no padding will be added.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n spacing: {\n doc: 'Set to `horizontal` for padding on left and right side.',\n type: `'horizontal'`,\n defaultValue: 'undefined',\n status: 'optional',\n },\n children: {\n doc: 'The content of the component.',\n type: 'React.ReactNode',\n defaultValue: 'undefined',\n status: 'optional',\n },\n}\n"],"mappings":"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"}
@@ -6,43 +6,43 @@ export type TableTrProps = {
6
6
  */
7
7
  variant?: 'even' | 'odd';
8
8
  /**
9
- * If set to true, the inherited header text will not wrap to new lines
9
+ * If set to true, the inherited header text will not wrap to new lines.
10
10
  * Default: false
11
11
  */
12
12
  noWrap?: boolean;
13
13
  /**
14
- * Set true to render the tr initially as expanded
15
- * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table
14
+ * Set true to render the tr initially as expanded.
15
+ * Is part of the accordion feature and needs to be enabled with `mode="accordion"` prop in main Table.
16
16
  * Default: false
17
17
  */
18
18
  expanded?: boolean;
19
19
  /**
20
- * Set true to disable the tr to be accessible as an interactive element
21
- * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table
20
+ * Set true to disable the tr to be accessible as an interactive element.
21
+ * Is part of the accordion feature and needs to be enabled with `mode="accordion"`prop in main Table.
22
22
  * Default: false
23
23
  */
24
24
  disabled?: boolean;
25
25
  /**
26
- * Set to true to skip animation
27
- * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table
26
+ * Set to true to skip animation.
27
+ * Is part of the accordion feature and needs to be enabled with `mode="accordion"` prop in main Table.
28
28
  * Default: false
29
29
  */
30
30
  noAnimation?: boolean;
31
31
  /**
32
- * Will emit when user clicks/expands the table row
33
- * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table
32
+ * Will emit when user clicks/expands or on keydown space/enter(in mode="accordion" and mode="navigation") in the table row.
33
+ * Is part of the mode feature and needs to be enabled with the `mode` prop in main Table.
34
34
  */
35
35
  onClick?: (event: React.SyntheticEvent) => void;
36
36
  /**
37
- * Will emit when table row is expanded
38
- * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table
37
+ * Will emit when table row is expanded.
38
+ * Is part of the accordion feature and needs to be enabled with `mode="accordion"` prop in main Table.
39
39
  */
40
40
  onOpened?: ({ target }: {
41
41
  target: HTMLTableRowElement;
42
42
  }) => void;
43
43
  /**
44
44
  * Will emit when table row is closed (after it was open)
45
- * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table
45
+ * Is part of the accordion feature and needs to be enabled with `mode="accordion"` prop in main Table.
46
46
  */
47
47
  onClosed?: ({ target }: {
48
48
  target: HTMLTableRowElement;
@@ -5,16 +5,17 @@ const _excluded = ["variant", "noWrap", "className"],
5
5
  import React from 'react';
6
6
  import classnames from 'classnames';
7
7
  import { TableAccordionHead } from './table-accordion/TableAccordionHead';
8
+ import { TableNavigationHead } from './table-navigation/TableNavigationHead';
8
9
  import { TableAccordionContentRow } from './table-accordion/TableAccordionContent';
9
10
  import { TableContext } from './TableContext';
10
11
  export default function Tr(componentProps) {
11
- var _tableContext$allProp;
12
+ var _tableContext$allProp, _tableContext$allProp2, _tableContext$allProp3;
12
13
  const {
13
14
  variant,
14
15
  noWrap,
15
16
  className: _className
16
17
  } = componentProps,
17
- accordionProps = _objectWithoutProperties(componentProps, _excluded);
18
+ restProps = _objectWithoutProperties(componentProps, _excluded);
18
19
  const {
19
20
  currentVariant,
20
21
  isLast,
@@ -24,11 +25,17 @@ export default function Tr(componentProps) {
24
25
  });
25
26
  const className = classnames('dnb-table__tr', _className, currentVariant && `dnb-table__tr--${currentVariant}`, isLast && 'dnb-table__tr--last', noWrap && 'dnb-table--no-wrap');
26
27
  const tableContext = React.useContext(TableContext);
27
- if (tableContext !== null && tableContext !== void 0 && (_tableContext$allProp = tableContext.allProps) !== null && _tableContext$allProp !== void 0 && _tableContext$allProp.accordion) {
28
+ const deprecatedAccordionProp = tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.accordion;
29
+ if (deprecatedAccordionProp || (tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp2 = tableContext.allProps) === null || _tableContext$allProp2 === void 0 ? void 0 : _tableContext$allProp2.mode) == 'accordion') {
28
30
  return React.createElement(TableAccordionHead, _extends({
29
31
  count: count,
30
32
  className: className
31
- }, accordionProps));
33
+ }, restProps));
34
+ }
35
+ if ((tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp3 = tableContext.allProps) === null || _tableContext$allProp3 === void 0 ? void 0 : _tableContext$allProp3.mode) == 'navigation') {
36
+ return React.createElement(TableNavigationHead, _extends({
37
+ className: className
38
+ }, restProps));
32
39
  }
33
40
  const {
34
41
  expanded,
@@ -37,8 +44,8 @@ export default function Tr(componentProps) {
37
44
  onClick,
38
45
  onOpened,
39
46
  onClosed
40
- } = accordionProps,
41
- trProps = _objectWithoutProperties(accordionProps, _excluded2);
47
+ } = restProps,
48
+ trProps = _objectWithoutProperties(restProps, _excluded2);
42
49
  return React.createElement("tr", _extends({
43
50
  role: "row",
44
51
  className: className
@@ -1 +1 @@
1
- {"version":3,"file":"TableTr.js","names":["React","classnames","TableAccordionHead","TableAccordionContentRow","TableContext","Tr","componentProps","_tableContext$allProp","variant","noWrap","className","_className","accordionProps","_objectWithoutProperties","_excluded","currentVariant","isLast","count","useHandleTrVariant","tableContext","useContext","allProps","accordion","createElement","_extends","expanded","disabled","noAnimation","onClick","onOpened","onClosed","trProps","_excluded2","role","_ref","countRef","trCountRef","current","increment","setCount","useState","window","useEffect","rerenderAlias","useHandleOddEven","_ref2","children","useRef","setRerenderAlias","isMounted","forceRerender","AccordionContent"],"sources":["../../../../src/components/table/TableTr.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { TableAccordionHead } from './table-accordion/TableAccordionHead'\nimport { TableAccordionContentRow } from './table-accordion/TableAccordionContent'\nimport { TableContext } from './TableContext'\n\nexport type TableTrProps = {\n /**\n * The variant of the tr\n */\n variant?: 'even' | 'odd'\n\n /**\n * If set to true, the inherited header text will not wrap to new lines\n * Default: false\n */\n noWrap?: boolean\n\n /**\n * Set true to render the tr initially as expanded\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n expanded?: boolean\n\n /**\n * Set true to disable the tr to be accessible as an interactive element\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n disabled?: boolean\n\n /**\n * Set to true to skip animation\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n noAnimation?: boolean\n\n /**\n * Will emit when user clicks/expands the table row\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onClick?: (event: React.SyntheticEvent) => void\n\n /**\n * Will emit when table row is expanded\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onOpened?: ({ target }: { target: HTMLTableRowElement }) => void\n\n /**\n * Will emit when table row is closed (after it was open)\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onClosed?: ({ target }: { target: HTMLTableRowElement }) => void\n\n /**\n * The content of the component.\n */\n children: React.ReactNode\n}\n\nexport default function Tr(\n componentProps: TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n) {\n const {\n variant,\n noWrap,\n className: _className,\n ...accordionProps\n } = componentProps\n\n const { currentVariant, isLast, count } = useHandleTrVariant({\n variant,\n })\n\n const className = classnames(\n 'dnb-table__tr',\n currentVariant && `dnb-table__tr--${currentVariant}`,\n isLast && 'dnb-table__tr--last',\n noWrap && 'dnb-table--no-wrap',\n _className\n )\n\n const tableContext = React.useContext(TableContext)\n if (tableContext?.allProps?.accordion) {\n return (\n <TableAccordionHead\n count={count}\n className={className}\n {...accordionProps}\n />\n )\n }\n\n const {\n expanded, // eslint-disable-line @typescript-eslint/no-unused-vars\n disabled, // eslint-disable-line @typescript-eslint/no-unused-vars\n noAnimation, // eslint-disable-line @typescript-eslint/no-unused-vars\n onClick, // eslint-disable-line @typescript-eslint/no-unused-vars\n onOpened, // eslint-disable-line @typescript-eslint/no-unused-vars\n onClosed, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...trProps\n } = accordionProps\n\n return <tr role=\"row\" className={className} {...trProps} />\n}\n\nfunction useHandleTrVariant({ variant }) {\n const tableContext = React.useContext(TableContext)\n\n /**\n * Handle odd/even\n */\n const countRef = tableContext?.trCountRef.current\n const increment = () => {\n if (typeof countRef === 'undefined') {\n return 0\n }\n if (\n !variant ||\n (variant === 'even' && countRef.count % 2 === 1) ||\n (variant === 'odd' && countRef.count % 2 === 0)\n ) {\n countRef.count++\n }\n\n return countRef.count\n }\n\n const [count, setCount] = React.useState(() => {\n // SSR Support\n if (typeof window === 'undefined') {\n return increment()\n }\n })\n\n // StrictMode support\n React.useEffect(() => {\n // SSR will not execute useEffect\n setCount(increment())\n }, [tableContext?.rerenderAlias]) // eslint-disable-line react-hooks/exhaustive-deps\n\n /**\n * Find out the current odd/even when \"accordionContent\" is used.\n * Because we have now an additional \"tr\" element.\n * Then the CSS can't figure out the correct nth element (nth-of-type)\n * and we need to set it manually (nth-child and nth-of-type do not respect classes, so we can't ignore this one).\n */\n let currentVariant = variant\n if (!currentVariant) {\n currentVariant = count % 2 ? 'odd' : 'even'\n }\n const isLast =\n typeof countRef !== 'undefined' && countRef.count === count\n return {\n currentVariant,\n isLast,\n count,\n }\n}\n\n/**\n * Handle odd/even on re-render and React.StrictMode\n */\nexport function useHandleOddEven({ children }) {\n // Create this ref in order to \"auto\" set even/odd class in tr elements\n const trCountRef = React.useRef({ count: 0 })\n\n // When the alias changes, all tr's will rerender and get a new even/odd color\n // This is useful, when one tr gets removed\n const [rerenderAlias, setRerenderAlias] = React.useState({}) // eslint-disable-line no-unused-vars\n\n const isMounted = React.useRef(false)\n React.useEffect(() => {\n if (isMounted.current) {\n forceRerender()\n }\n isMounted.current = true\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return { trCountRef, rerenderAlias, setRerenderAlias }\n\n function forceRerender() {\n trCountRef.current.count = 0\n setRerenderAlias({})\n }\n}\n\nTr.AccordionContent = TableAccordionContentRow\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableTr.js","names":["React","classnames","TableAccordionHead","TableNavigationHead","TableAccordionContentRow","TableContext","Tr","componentProps","_tableContext$allProp","_tableContext$allProp2","_tableContext$allProp3","variant","noWrap","className","_className","restProps","_objectWithoutProperties","_excluded","currentVariant","isLast","count","useHandleTrVariant","tableContext","useContext","deprecatedAccordionProp","allProps","accordion","mode","createElement","_extends","expanded","disabled","noAnimation","onClick","onOpened","onClosed","trProps","_excluded2","role","_ref","countRef","trCountRef","current","increment","setCount","useState","window","useEffect","rerenderAlias","useHandleOddEven","_ref2","children","useRef","setRerenderAlias","isMounted","forceRerender","AccordionContent"],"sources":["../../../../src/components/table/TableTr.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { TableAccordionHead } from './table-accordion/TableAccordionHead'\nimport { TableNavigationHead } from './table-navigation/TableNavigationHead'\nimport { TableAccordionContentRow } from './table-accordion/TableAccordionContent'\nimport { TableContext } from './TableContext'\n\nexport type TableTrProps = {\n /**\n * The variant of the tr\n */\n variant?: 'even' | 'odd'\n\n /**\n * If set to true, the inherited header text will not wrap to new lines.\n * Default: false\n */\n noWrap?: boolean\n\n /**\n * Set true to render the tr initially as expanded.\n * Is part of the accordion feature and needs to be enabled with `mode=\"accordion\"` prop in main Table.\n * Default: false\n */\n expanded?: boolean\n\n /**\n * Set true to disable the tr to be accessible as an interactive element.\n * Is part of the accordion feature and needs to be enabled with `mode=\"accordion\"`prop in main Table.\n * Default: false\n */\n disabled?: boolean\n\n /**\n * Set to true to skip animation.\n * Is part of the accordion feature and needs to be enabled with `mode=\"accordion\"` prop in main Table.\n * Default: false\n */\n noAnimation?: boolean\n\n /**\n * Will emit when user clicks/expands or on keydown space/enter(in mode=\"accordion\" and mode=\"navigation\") in the table row.\n * Is part of the mode feature and needs to be enabled with the `mode` prop in main Table.\n */\n onClick?: (event: React.SyntheticEvent) => void\n\n /**\n * Will emit when table row is expanded.\n * Is part of the accordion feature and needs to be enabled with `mode=\"accordion\"` prop in main Table.\n */\n onOpened?: ({ target }: { target: HTMLTableRowElement }) => void\n\n /**\n * Will emit when table row is closed (after it was open)\n * Is part of the accordion feature and needs to be enabled with `mode=\"accordion\"` prop in main Table.\n */\n onClosed?: ({ target }: { target: HTMLTableRowElement }) => void\n\n /**\n * The content of the component.\n */\n children: React.ReactNode\n}\n\nexport default function Tr(\n componentProps: TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n) {\n const {\n variant,\n noWrap,\n className: _className,\n ...restProps\n } = componentProps\n\n const { currentVariant, isLast, count } = useHandleTrVariant({\n variant,\n })\n\n const className = classnames(\n 'dnb-table__tr',\n currentVariant && `dnb-table__tr--${currentVariant}`,\n isLast && 'dnb-table__tr--last',\n noWrap && 'dnb-table--no-wrap',\n _className\n )\n\n const tableContext = React.useContext(TableContext)\n\n // Deprecated – can be removed in v11\n const deprecatedAccordionProp = tableContext?.allProps?.accordion\n\n if (\n deprecatedAccordionProp ||\n tableContext?.allProps?.mode == 'accordion'\n ) {\n return (\n <TableAccordionHead\n count={count}\n className={className}\n {...restProps}\n />\n )\n }\n if (tableContext?.allProps?.mode == 'navigation') {\n return <TableNavigationHead className={className} {...restProps} />\n }\n\n const {\n expanded, // eslint-disable-line @typescript-eslint/no-unused-vars\n disabled, // eslint-disable-line @typescript-eslint/no-unused-vars\n noAnimation, // eslint-disable-line @typescript-eslint/no-unused-vars\n onClick, // eslint-disable-line @typescript-eslint/no-unused-vars\n onOpened, // eslint-disable-line @typescript-eslint/no-unused-vars\n onClosed, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...trProps\n } = restProps\n\n return <tr role=\"row\" className={className} {...trProps} />\n}\n\nfunction useHandleTrVariant({ variant }) {\n const tableContext = React.useContext(TableContext)\n\n /**\n * Handle odd/even\n */\n const countRef = tableContext?.trCountRef.current\n const increment = () => {\n if (typeof countRef === 'undefined') {\n return 0\n }\n if (\n !variant ||\n (variant === 'even' && countRef.count % 2 === 1) ||\n (variant === 'odd' && countRef.count % 2 === 0)\n ) {\n countRef.count++\n }\n\n return countRef.count\n }\n\n const [count, setCount] = React.useState(() => {\n // SSR Support\n if (typeof window === 'undefined') {\n return increment()\n }\n })\n\n // StrictMode support\n React.useEffect(() => {\n // SSR will not execute useEffect\n setCount(increment())\n }, [tableContext?.rerenderAlias]) // eslint-disable-line react-hooks/exhaustive-deps\n\n /**\n * Find out the current odd/even when \"accordionContent\" is used.\n * Because we have now an additional \"tr\" element.\n * Then the CSS can't figure out the correct nth element (nth-of-type)\n * and we need to set it manually (nth-child and nth-of-type do not respect classes, so we can't ignore this one).\n */\n let currentVariant = variant\n if (!currentVariant) {\n currentVariant = count % 2 ? 'odd' : 'even'\n }\n const isLast =\n typeof countRef !== 'undefined' && countRef.count === count\n return {\n currentVariant,\n isLast,\n count,\n }\n}\n\n/**\n * Handle odd/even on re-render and React.StrictMode\n */\nexport function useHandleOddEven({ children }) {\n // Create this ref in order to \"auto\" set even/odd class in tr elements\n const trCountRef = React.useRef({ count: 0 })\n\n // When the alias changes, all tr's will rerender and get a new even/odd color\n // This is useful, when one tr gets removed\n const [rerenderAlias, setRerenderAlias] = React.useState({}) // eslint-disable-line no-unused-vars\n\n const isMounted = React.useRef(false)\n React.useEffect(() => {\n if (isMounted.current) {\n forceRerender()\n }\n isMounted.current = true\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return { trCountRef, rerenderAlias, setRerenderAlias }\n\n function forceRerender() {\n trCountRef.current.count = 0\n setRerenderAlias({})\n }\n}\n\nTr.AccordionContent = TableAccordionContentRow\n"],"mappings":"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"}
@@ -83,19 +83,19 @@
83
83
  border-radius: 0 0 var(--table-outline-radius) var(--table-outline-radius);
84
84
  }
85
85
  .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr:last-child,
86
- .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content.dnb-table__tr--last {
86
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--clickable.dnb-table__tr--last {
87
87
  clip-path: none;
88
88
  }
89
89
  .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,
90
90
  .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr:last-child .dnb-table__td,
91
91
  .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr:last-child .dnb-table__td::before,
92
92
  .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr:last-child .dnb-table__td::after,
93
- .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content.dnb-table__tr--last .dnb-table__th,
94
- .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content.dnb-table__tr--last .dnb-table__th::before,
95
- .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content.dnb-table__tr--last .dnb-table__th::after,
96
- .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content.dnb-table__tr--last .dnb-table__td,
97
- .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content.dnb-table__tr--last .dnb-table__td::before,
98
- .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--has-accordion-content.dnb-table__tr--last .dnb-table__td::after {
93
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--clickable.dnb-table__tr--last .dnb-table__th,
94
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--clickable.dnb-table__tr--last .dnb-table__th::before,
95
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--clickable.dnb-table__tr--last .dnb-table__th::after,
96
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--clickable.dnb-table__tr--last .dnb-table__td,
97
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--clickable.dnb-table__tr--last .dnb-table__td::before,
98
+ .dnb-table--outline > caption:not(.dnb-sr-only) ~ tbody:last-child .dnb-table__tr--clickable.dnb-table__tr--last .dnb-table__td::after {
99
99
  border-radius: 0;
100
100
  }
101
101
  .dnb-table.dnb-skeleton > * {
@@ -396,31 +396,31 @@ html[data-whatinput=keyboard] .dnb-table > thead > tr > th.dnb-table--active .dn
396
396
  border-top-right-radius: var(--table-outline-radius);
397
397
  }
398
398
  .dnb-table--outline tbody:last-child .dnb-table__tr:last-child,
399
- .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded).dnb-table__tr--last {
399
+ .dnb-table--outline tbody:last-child .dnb-table__tr--clickable:not(.dnb-table__tr--expanded).dnb-table__tr--last {
400
400
  clip-path: inset(0 round 0 0 var(--table-outline-radius) var(--table-outline-radius));
401
401
  }
402
402
  .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,
403
403
  .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__td:first-child,
404
404
  .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__td:first-child::before,
405
405
  .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__td:first-child::after,
406
- .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__th:first-child,
407
- .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__th:first-child::before,
408
- .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__th:first-child::after,
409
- .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__td:first-child,
410
- .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__td:first-child::before,
411
- .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__td:first-child::after {
406
+ .dnb-table--outline tbody:last-child .dnb-table__tr--clickable:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__th:first-child,
407
+ .dnb-table--outline tbody:last-child .dnb-table__tr--clickable:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__th:first-child::before,
408
+ .dnb-table--outline tbody:last-child .dnb-table__tr--clickable:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__th:first-child::after,
409
+ .dnb-table--outline tbody:last-child .dnb-table__tr--clickable:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__td:first-child,
410
+ .dnb-table--outline tbody:last-child .dnb-table__tr--clickable:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__td:first-child::before,
411
+ .dnb-table--outline tbody:last-child .dnb-table__tr--clickable:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__td:first-child::after {
412
412
  border-bottom-left-radius: var(--table-outline-radius);
413
413
  }
414
414
  .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,
415
415
  .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__td:last-child,
416
416
  .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__td:last-child::before,
417
417
  .dnb-table--outline tbody:last-child .dnb-table__tr:last-child .dnb-table__td:last-child::after,
418
- .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__th:last-child,
419
- .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__th:last-child::before,
420
- .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__th:last-child::after,
421
- .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__td:last-child,
422
- .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__td:last-child::before,
423
- .dnb-table--outline tbody:last-child .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__td:last-child::after {
418
+ .dnb-table--outline tbody:last-child .dnb-table__tr--clickable:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__th:last-child,
419
+ .dnb-table--outline tbody:last-child .dnb-table__tr--clickable:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__th:last-child::before,
420
+ .dnb-table--outline tbody:last-child .dnb-table__tr--clickable:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__th:last-child::after,
421
+ .dnb-table--outline tbody:last-child .dnb-table__tr--clickable:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__td:last-child,
422
+ .dnb-table--outline tbody:last-child .dnb-table__tr--clickable:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__td:last-child::before,
423
+ .dnb-table--outline tbody:last-child .dnb-table__tr--clickable:not(.dnb-table__tr--expanded).dnb-table__tr--last .dnb-table__td:last-child::after {
424
424
  border-bottom-right-radius: var(--table-outline-radius);
425
425
  }
426
426
  .dnb-table__td--no-spacing,
@@ -585,61 +585,61 @@ html[data-whatinput=keyboard] .dnb-table > thead > tr > th.dnb-table--active .dn
585
585
  --table-accordion-outline-width: var(--focus-ring-width);
586
586
  --table-accordion-outline-background--active: var(--color-pistachio);
587
587
  }
588
- .dnb-table__th.dnb-table__th__accordion-icon.dnb-table__th {
588
+ .dnb-table__th.dnb-table__th__button-icon.dnb-table__th {
589
589
  padding: 0;
590
590
  }
591
- .dnb-table__th.dnb-table__th__accordion-icon,
592
- .dnb-table__th.dnb-table__th__accordion-icon div {
591
+ .dnb-table__th.dnb-table__th__button-icon,
592
+ .dnb-table__th.dnb-table__th__button-icon div {
593
593
  width: 3.5rem;
594
594
  text-indent: -300vw;
595
595
  }
596
- .dnb-table__size--medium .dnb-table__th.dnb-table__th__accordion-icon,
597
- .dnb-table__size--medium .dnb-table__th.dnb-table__th__accordion-icon div {
596
+ .dnb-table__size--medium .dnb-table__th.dnb-table__th__button-icon,
597
+ .dnb-table__size--medium .dnb-table__th.dnb-table__th__button-icon div {
598
598
  width: 3rem;
599
599
  }
600
- .dnb-table__size--small .dnb-table__th.dnb-table__th__accordion-icon,
601
- .dnb-table__size--small .dnb-table__th.dnb-table__th__accordion-icon div {
600
+ .dnb-table__size--small .dnb-table__th.dnb-table__th__button-icon,
601
+ .dnb-table__size--small .dnb-table__th.dnb-table__th__button-icon div {
602
602
  width: 2.5rem;
603
603
  }
604
- .dnb-table__td.dnb-table__td__accordion-icon {
604
+ .dnb-table__td.dnb-table__td__button-icon {
605
605
  -webkit-user-select: none;
606
606
  user-select: none;
607
607
  }
608
- .dnb-table__td.dnb-table__td__accordion-icon.dnb-table__td {
608
+ .dnb-table__td.dnb-table__td__button-icon.dnb-table__td {
609
609
  padding: 0;
610
610
  }
611
- .dnb-table__tr--has-accordion-content .dnb-table__toggle-button {
611
+ .dnb-table__tr--clickable .dnb-table__button {
612
612
  display: flex;
613
613
  justify-content: center;
614
614
  }
615
- .dnb-table__tr--has-accordion-content .dnb-table__toggle-button .dnb-icon {
615
+ .dnb-table__tr--clickable .dnb-table__button .dnb-icon {
616
616
  color: var(--table-accordion-icon-color);
617
617
  transition: transform 500ms var(--easing-default);
618
618
  }
619
- .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 {
619
+ .dnb-table__tr--clickable.dnb-table__tr--no-animation .dnb-table__button .dnb-icon, html[data-visual-test] .dnb-table__tr--clickable .dnb-table__button .dnb-icon {
620
620
  transition: none !important;
621
621
  }
622
- .dnb-table__tr--has-accordion-content, .dnb-table__tr__accordion-content {
622
+ .dnb-table__tr--clickable, .dnb-table__tr__accordion-content {
623
623
  position: relative;
624
624
  }
625
- .dnb-table__tr--has-accordion-content.dnb-table__tr--expanded, .dnb-table__tr__accordion-content {
625
+ .dnb-table__tr--clickable.dnb-table__tr--expanded, .dnb-table__tr__accordion-content {
626
626
  z-index: 3;
627
627
  }
628
- .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) {
628
+ .dnb-table__tr--clickable:active, html[data-whatinput=keyboard] .dnb-table__tr--clickable:focus, .dnb-table__tr--clickable:hover:not(.dnb-table__tr--hover.dnb-table__tr--expanded) {
629
629
  z-index: 5;
630
630
  }
631
- .dnb-table__tr--has-accordion-content.dnb-table__tr--expanded .dnb-table__toggle-button .dnb-icon {
631
+ .dnb-table__tr--clickable.dnb-table__tr--expanded .dnb-table__button .dnb-icon {
632
632
  transform: rotate(180deg);
633
633
  }
634
- .dnb-table--border .dnb-table__tr--has-accordion-content.dnb-table__tr--expanded td::after {
634
+ .dnb-table--border .dnb-table__tr--clickable.dnb-table__tr--expanded td::after {
635
635
  border-bottom: none;
636
636
  border-left: none;
637
637
  border-right: none;
638
638
  }
639
- .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled) {
639
+ .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled) {
640
640
  outline: none;
641
641
  }
642
- .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled) td::before {
642
+ .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled) td::before {
643
643
  content: "";
644
644
  position: absolute;
645
645
  z-index: 3;
@@ -647,63 +647,63 @@ html[data-whatinput=keyboard] .dnb-table > thead > tr > th.dnb-table--active .dn
647
647
  pointer-events: none;
648
648
  border: var(--table-accordion-outline-width) solid transparent;
649
649
  }
650
- .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled) td:not(:first-of-type)::before {
650
+ .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled) td:not(:first-of-type)::before {
651
651
  border-left: none;
652
652
  }
653
- .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled) td:not(:last-of-type)::before {
653
+ .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled) td:not(:last-of-type)::before {
654
654
  border-right: none;
655
655
  }
656
- html:not([data-whatintent=touch]) .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled):hover[disabled] {
656
+ html:not([data-whatintent=touch]) .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled):hover[disabled] {
657
657
  cursor: not-allowed;
658
658
  }
659
- html:not([data-whatintent=touch]) .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled):hover:not([disabled]) td::before {
659
+ html:not([data-whatintent=touch]) .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled):hover:not([disabled]) td::before {
660
660
  border-color: var(--table-accordion-outline-color);
661
661
  }
662
- html:not([data-whatintent=touch]) .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled):hover:not([disabled]) .dnb-table__td__accordion-icon .dnb-icon {
662
+ html:not([data-whatintent=touch]) .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled):hover:not([disabled]) .dnb-table__td__button-icon .dnb-icon {
663
663
  color: var(--table-accordion-icon-color--active);
664
664
  }
665
- .dnb-table--border tbody .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--expanded):not(.dnb-table__tr--last) .dnb-table__td::before {
665
+ .dnb-table--border tbody .dnb-table__tr--clickable:not(.dnb-table__tr--expanded):not(.dnb-table__tr--last) .dnb-table__td::before {
666
666
  bottom: calc(var(--table-border-width) * -1);
667
667
  }
668
- .dnb-table__tr--has-accordion-content.dnb-table__tr--expanded:not(.dnb-table__tr--disabled):hover .dnb-table__td {
668
+ .dnb-table__tr--clickable.dnb-table__tr--expanded:not(.dnb-table__tr--disabled):hover .dnb-table__td {
669
669
  background-color: var(--color-white);
670
670
  }
671
- html[data-whatinput=keyboard] .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled):not(:active):not(:hover):focus td::before {
671
+ html[data-whatinput=keyboard] .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled):not(:active):not(:hover):focus td::before {
672
672
  border-color: var(--focus-ring-color);
673
673
  border-width: var(--focus-ring-width);
674
674
  }
675
- .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled):not(:active):not(:hover):focus td:first-of-type::before {
675
+ .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled):not(:active):not(:hover):focus td:first-of-type::before {
676
676
  left: 0;
677
677
  }
678
- .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled):not(:active):not(:hover):focus td:last-of-type::before {
678
+ .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled):not(:active):not(:hover):focus td:last-of-type::before {
679
679
  right: 0;
680
680
  }
681
- html:not([data-whatintent=touch]) .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled):active:hover td::before,
682
- .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled):active td::before {
681
+ html:not([data-whatintent=touch]) .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled):active:hover td::before,
682
+ .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled):active td::before {
683
683
  border-color: var(--table-accordion-outline-color);
684
684
  border-width: var(--table-accordion-border-width);
685
685
  }
686
- .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled):active .dnb-table__td {
686
+ .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled):active .dnb-table__td {
687
687
  background-color: var(--table-accordion-outline-background--active);
688
688
  }
689
- .dnb-table__tr--has-accordion-content.dnb-table__tr:not(.dnb-table__tr--disabled):active .dnb-table__td .dnb-table__td__accordion-icon .dnb-icon {
689
+ .dnb-table__tr--clickable.dnb-table__tr:not(.dnb-table__tr--disabled):active .dnb-table__td .dnb-table__td__button-icon .dnb-icon {
690
690
  color: var(--table-accordion-icon-color--active);
691
691
  }
692
- .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 {
692
+ .dnb-table__tr--clickable.dnb-table__tr--expanded:not(.dnb-table__tr--disabled).dnb-table__tr--hover:not(:active):hover .dnb-table__td {
693
693
  background-color: var(--table-accordion-header-background);
694
694
  }
695
- .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 {
695
+ .dnb-table__tr--clickable.dnb-table__tr--expanded:not(.dnb-table__tr--disabled).dnb-table__tr--hover:not(:active):hover .dnb-table__td::before {
696
696
  border: none;
697
697
  border-top: var(--table-accordion-border);
698
698
  }
699
- 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) {
699
+ html:not([data-whatinput=keyboard]) .dnb-table__tr--clickable.dnb-table__tr.dnb-table__tr--expanded:not(.dnb-table__tr--disabled):not(:active):not(:hover) {
700
700
  background-color: var(--table-accordion-header-background);
701
701
  }
702
- 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 {
702
+ html:not([data-whatinput=keyboard]) .dnb-table__tr--clickable.dnb-table__tr.dnb-table__tr--expanded:not(.dnb-table__tr--disabled):not(:active):not(:hover) td::before {
703
703
  border: none;
704
704
  border-top: var(--table-accordion-border);
705
705
  }
706
- .dnb-table__tr--has-accordion-content.dnb-table__tr--disabled .dnb-table__td__accordion-icon .dnb-icon {
706
+ .dnb-table__tr--clickable.dnb-table__tr--disabled .dnb-table__td__button-icon .dnb-icon {
707
707
  color: var(--table-accordion-icon-color--disabled);
708
708
  }
709
709
  @supports (-webkit-appearance: none) and (stroke-color: transparent) and (not (-webkit-touch-callout: none)) {
@@ -735,7 +735,7 @@ html[data-visual-test] .dnb-table__tr__accordion-content--parallax .dnb-table__t
735
735
  .dnb-table__tr__accordion-content--expanded > td.dnb-table__td {
736
736
  background-color: var(--color-white);
737
737
  }
738
- .dnb-table__tr__accordion-content--expanded + .dnb-table__tr--has-accordion-content .dnb-table__td::after {
738
+ .dnb-table__tr__accordion-content--expanded + .dnb-table__tr--clickable .dnb-table__td::after {
739
739
  content: "";
740
740
  position: absolute;
741
741
  top: 0;
@@ -746,7 +746,7 @@ html[data-visual-test] .dnb-table__tr__accordion-content--parallax .dnb-table__t
746
746
  pointer-events: none;
747
747
  border-top: var(--table-accordion-border);
748
748
  }
749
- .dnb-table__tr__accordion-content--expanded + .dnb-table__tr--has-accordion-content .dnb-table__td:last-child::after {
749
+ .dnb-table__tr__accordion-content--expanded + .dnb-table__tr--clickable .dnb-table__td:last-child::after {
750
750
  right: 0;
751
751
  }
752
752
  .dnb-table__tr__accordion-content--single td {
@@ -791,7 +791,7 @@ html[data-visual-test] .dnb-table__tr__accordion-content--parallax .dnb-table__t
791
791
  */
792
792
  vertical-align: top;
793
793
  }
794
- .dnb-table__tr--has-accordion-content:not(.dnb-table__tr--disabled) {
794
+ .dnb-table__tr--clickable:not(.dnb-table__tr--disabled) {
795
795
  cursor: pointer;
796
796
  }
797
797
  .dnb-table__td-wrapper {