@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
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_Provider","_SpacingHelper","_SkeletonHelper","_componentHelper","_TableScrollView","_TableContext","_TableStickyHeader","_TableTr","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","defaultProps","size","variant","exports","Table","componentProps","context","React","useContext","Context","allProps","extendPropsWithContext","skeleton","className","children","sticky","stickyOffset","fixed","border","outline","accordion","accordionChevronPlacement","collapseAllHandleRef","props","elementRef","useStickyHeader","trCountRef","rerenderAlias","useHandleOddEven","collapseTrCallbacks","useRef","useEffect","current","callback","skeletonClasses","createSkeletonClass","spacingClasses","createSpacingClasses","validateDOMAttributes","createElement","Boolean","TableContext","Provider","getTranslation","classnames","ref","_supportsSpacingProps","_default","ScrollView"],"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport ScrollView from './TableScrollView'\nimport { TableContext } from './TableContext'\nimport { useStickyHeader } from './TableStickyHeader'\n\nimport type { StickyTableHeaderProps } from './TableStickyHeader'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\nimport { useHandleOddEven } from './TableTr'\n\nexport type TableSizes = 'large' | 'medium' | 'small'\nexport type TableVariants = 'generic'\n\nexport { ScrollView }\n\nexport type TableProps = {\n /**\n * The content of the component.\n */\n children: React.ReactNode\n\n /**\n * Custom className on the component root\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n */\n skeleton?: SkeletonShow\n\n /**\n * The size of the component.\n * Default: large.\n */\n size?: TableSizes\n\n /**\n * The style variant of the component. Currently not implemented.\n * Default: generic.\n */\n variant?: TableVariants\n\n /**\n * Use `true` to show borders between table data cell\n * Default: false\n */\n border?: boolean\n\n /**\n * Use `true` to show a outline border around the table\n * Default: false\n */\n outline?: boolean\n\n /**\n * Set to true if you have one or more rows that contains an accordion content.\n * Default: false\n */\n accordion?: boolean\n\n /**\n * Defines where the chevron will be placed.\n * Default: 'start'\n */\n accordionChevronPlacement?: 'start' | 'end'\n\n /**\n * Defines if the table should behave with a fixed table layout, using: \"table-layout: fixed;\"\n * Default: null.\n */\n fixed?: boolean\n\n /**\n * ref handle to collapse all expanded accordion rows. Send in a ref and use `.current()` to collapse all rows.\n *\n * Default: `undefined`\n */\n collapseAllHandleRef?: React.MutableRefObject<() => void>\n} & StickyTableHeaderProps\n\nexport type TableAllProps = TableProps &\n Omit<React.TableHTMLAttributes<HTMLTableElement>, 'border'> &\n LocaleProps &\n SpacingProps\n\nexport const defaultProps = {\n size: 'large',\n variant: 'generic',\n}\n\nconst Table = (componentProps: TableAllProps) => {\n const context = React.useContext(Context)\n\n const allProps = extendPropsWithContext(\n componentProps,\n defaultProps,\n context?.Table,\n {\n skeleton: context?.skeleton,\n }\n )\n\n const {\n className,\n children,\n size,\n skeleton,\n variant,\n sticky,\n stickyOffset, // eslint-disable-line\n fixed,\n border,\n outline,\n accordion,\n accordionChevronPlacement, // eslint-disable-line\n collapseAllHandleRef,\n ...props\n } = allProps\n\n const { elementRef } = useStickyHeader(allProps)\n const { trCountRef, rerenderAlias } = useHandleOddEven({ children })\n const collapseTrCallbacks = React.useRef<(() => void)[]>([])\n\n useEffect(() => {\n if (collapseAllHandleRef) {\n collapseAllHandleRef.current = () => {\n collapseTrCallbacks.current.forEach((callback) => callback())\n }\n }\n }, [collapseAllHandleRef])\n\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n validateDOMAttributes(allProps, props)\n\n return (\n <Provider skeleton={Boolean(skeleton)}>\n <TableContext.Provider\n value={{\n trCountRef,\n rerenderAlias,\n collapseTrCallbacks,\n allProps: {\n ...allProps,\n ...context.getTranslation(componentProps).Table,\n },\n }}\n >\n <table\n className={classnames(\n 'dnb-table',\n variant && `dnb-table__variant--${variant}`,\n size && `dnb-table__size--${size}`,\n sticky && 'dnb-table--sticky',\n fixed && 'dnb-table--fixed',\n border && 'dnb-table--border',\n outline && 'dnb-table--outline',\n accordion && 'dnb-table--accordion',\n spacingClasses,\n skeletonClasses,\n className\n )}\n ref={elementRef}\n {...props}\n >\n {children}\n </table>\n </TableContext.Provider>\n </Provider>\n )\n}\n\nTable._supportsSpacingProps = true\n\nexport default Table\n\nTable.ScrollView = ScrollView\n"],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_Provider","_SpacingHelper","_SkeletonHelper","_componentHelper","_TableScrollView","_TableContext","_TableStickyHeader","_TableTr","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","defaultProps","size","variant","exports","Table","componentProps","context","React","useContext","Context","allProps","extendPropsWithContext","skeleton","className","children","sticky","stickyOffset","fixed","border","outline","accordion","mode","accordionChevronPlacement","collapseAllHandleRef","props","elementRef","useStickyHeader","trCountRef","rerenderAlias","useHandleOddEven","collapseTrCallbacks","useRef","useEffect","current","callback","skeletonClasses","createSkeletonClass","spacingClasses","createSpacingClasses","validateDOMAttributes","createElement","Boolean","TableContext","Provider","getTranslation","classnames","ref","_supportsSpacingProps","_default","ScrollView"],"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport ScrollView from './TableScrollView'\nimport { TableContext } from './TableContext'\nimport { useStickyHeader } from './TableStickyHeader'\n\nimport type { StickyTableHeaderProps } from './TableStickyHeader'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\nimport { useHandleOddEven } from './TableTr'\n\nexport type TableSizes = 'large' | 'medium' | 'small'\nexport type TableVariants = 'generic'\n\nexport { ScrollView }\n\nexport type TableProps = {\n /**\n * The content of the component.\n */\n children: React.ReactNode\n\n /**\n * Custom className on the component root\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n */\n skeleton?: SkeletonShow\n\n /**\n * The size of the component.\n * Default: large.\n */\n size?: TableSizes\n\n /**\n * The style variant of the component. Currently not implemented.\n * Default: generic.\n */\n variant?: TableVariants\n\n /**\n * Use `true` to show borders between table data cell\n * Default: false\n */\n border?: boolean\n\n /**\n * Use `true` to show a outline border around the table\n * Default: false\n */\n outline?: boolean\n\n /**\n * Defines how the Table should look. Use `accordion` for an accordion-like table. Use `navigation` for a navigation table.\n */\n mode?: 'accordion' | 'navigation'\n\n /**\n * @deprecated – use mode=\"accordion\" instead. Will be removed in v11.\n */\n accordion?: boolean\n\n /**\n * Defines where the chevron will be placed, should only be used together with mode=\"accordion\".\n * Default: 'start'\n */\n accordionChevronPlacement?: 'start' | 'end'\n\n /**\n * Defines if the table should behave with a fixed table layout, using: \"table-layout: fixed;\"\n * Default: null.\n */\n fixed?: boolean\n\n /**\n * ref handle to collapse all expanded accordion rows. Send in a ref and use `.current()` to collapse all rows.\n *\n * Default: `undefined`\n */\n collapseAllHandleRef?: React.MutableRefObject<() => void>\n} & StickyTableHeaderProps\n\nexport type TableAllProps = TableProps &\n Omit<React.TableHTMLAttributes<HTMLTableElement>, 'border'> &\n LocaleProps &\n SpacingProps\n\nexport const defaultProps = {\n size: 'large',\n variant: 'generic',\n}\n\nconst Table = (componentProps: TableAllProps) => {\n const context = React.useContext(Context)\n\n const allProps = extendPropsWithContext(\n componentProps,\n defaultProps,\n context?.Table,\n {\n skeleton: context?.skeleton,\n }\n )\n\n const {\n className,\n children,\n size,\n skeleton,\n variant,\n sticky,\n stickyOffset, // eslint-disable-line\n fixed,\n border,\n outline,\n accordion, // Deprecated – can be removed in v11\n mode,\n accordionChevronPlacement, // eslint-disable-line\n collapseAllHandleRef,\n ...props\n } = allProps\n\n const { elementRef } = useStickyHeader(allProps)\n const { trCountRef, rerenderAlias } = useHandleOddEven({ children })\n const collapseTrCallbacks = React.useRef<(() => void)[]>([])\n\n useEffect(() => {\n if (collapseAllHandleRef) {\n collapseAllHandleRef.current = () => {\n collapseTrCallbacks.current.forEach((callback) => callback())\n }\n }\n }, [collapseAllHandleRef])\n\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n validateDOMAttributes(allProps, props)\n\n return (\n <Provider skeleton={Boolean(skeleton)}>\n <TableContext.Provider\n value={{\n trCountRef,\n rerenderAlias,\n collapseTrCallbacks,\n allProps: {\n ...allProps,\n ...context.getTranslation(componentProps).Table,\n },\n }}\n >\n <table\n className={classnames(\n 'dnb-table',\n variant && `dnb-table__variant--${variant}`,\n size && `dnb-table__size--${size}`,\n sticky && 'dnb-table--sticky',\n fixed && 'dnb-table--fixed',\n border && 'dnb-table--border',\n outline && 'dnb-table--outline',\n accordion && 'dnb-table--accordion', // Deprecated – can be removed in v11\n mode === 'accordion' && 'dnb-table--accordion',\n mode === 'navigation' && 'dnb-table--navigation',\n spacingClasses,\n skeletonClasses,\n className\n )}\n ref={elementRef}\n {...props}\n >\n {children}\n </table>\n </TableContext.Provider>\n </Provider>\n )\n}\n\nTable._supportsSpacingProps = true\n\nexport default Table\n\nTable.ScrollView = ScrollView\n"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import type { TableTrProps } from './TableTr';
3
+ export type TableClickableHeadProps = {
4
+ trIsOpen?: boolean;
5
+ trIsHover?: boolean;
6
+ trHadClick?: boolean;
7
+ clickable: boolean;
8
+ noAnimation?: boolean;
9
+ ariaLabel: string;
10
+ } & TableTrProps & React.TableHTMLAttributes<HTMLTableRowElement>;
11
+ export declare function TableClickableHead(allProps: TableClickableHeadProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function onClickTr(event: React.SyntheticEvent, allowInteractiveElement?: boolean, onClick?: (event: React.SyntheticEvent) => void): void;
13
+ export declare function TableClickableButtonTd(props: {
14
+ trIsOpen?: boolean;
15
+ ariaLabel: string;
16
+ icon: 'chevron_down' | 'chevron_right';
17
+ onClick: (event: React.SyntheticEvent, allowInteractiveElement: boolean) => void;
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ export declare function TableIconSrTh(props: {
20
+ text: string;
21
+ }): import("react/jsx-runtime").JSX.Element;
22
+ export declare const isTableHead: (children: React.ReactNode[]) => boolean;
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TableClickableButtonTd = TableClickableButtonTd;
7
+ exports.TableClickableHead = TableClickableHead;
8
+ exports.TableIconSrTh = TableIconSrTh;
9
+ exports.isTableHead = void 0;
10
+ exports.onClickTr = onClickTr;
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _keycode = _interopRequireDefault(require("keycode"));
14
+ var _helpers = require("../../shared/helpers");
15
+ var _Button = _interopRequireDefault(require("../button/Button"));
16
+ var _IconPrimary = _interopRequireDefault(require("../icon/IconPrimary"));
17
+ var _TableTh = _interopRequireDefault(require("./TableTh"));
18
+ var _TableTd = _interopRequireDefault(require("./TableTd"));
19
+ var _TableContext = require("./TableContext");
20
+ const _excluded = ["children", "className", "disabled", "onClick", "onOpened", "onClosed", "trIsOpen", "trIsHover", "trHadClick", "clickable", "noAnimation", "onMouseEnter", "onMouseLeave", "onKeyDown", "ariaLabel"];
21
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
24
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25
+ function TableClickableHead(allProps) {
26
+ const {
27
+ children,
28
+ className,
29
+ disabled,
30
+ onClick,
31
+ onOpened,
32
+ onClosed,
33
+ trIsOpen,
34
+ trIsHover,
35
+ trHadClick,
36
+ clickable,
37
+ noAnimation,
38
+ onMouseEnter,
39
+ onMouseLeave,
40
+ onKeyDown,
41
+ ariaLabel
42
+ } = allProps,
43
+ props = _objectWithoutProperties(allProps, _excluded);
44
+ const trParams = !disabled && clickable ? {
45
+ onClick: onClick,
46
+ onMouseEnter: onMouseEnter,
47
+ onMouseLeave: onMouseLeave,
48
+ onKeyDown: onKeydownHandler
49
+ } : {};
50
+ return _react.default.createElement("tr", _extends({
51
+ tabIndex: clickable && !disabled ? 0 : undefined,
52
+ className: (0, _classnames.default)(className, clickable && 'dnb-table__tr--clickable', trIsOpen && 'dnb-table__tr--expanded', disabled && 'dnb-table__tr--disabled', noAnimation && 'dnb-table__tr--no-animation', trIsHover && trHadClick && 'dnb-table__tr--hover')
53
+ }, trParams, props), children);
54
+ function onKeydownHandler(event) {
55
+ switch ((0, _keycode.default)(event.nativeEvent)) {
56
+ case 'space':
57
+ case 'enter':
58
+ {
59
+ const target = event.target;
60
+ if (document.activeElement !== target || target.tagName === 'TR') {
61
+ onKeyDown(event);
62
+ event.preventDefault();
63
+ }
64
+ }
65
+ break;
66
+ }
67
+ }
68
+ }
69
+ function onClickTr(event) {
70
+ let allowInteractiveElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
71
+ let onClick = arguments.length > 2 ? arguments[2] : undefined;
72
+ const target = event.target;
73
+ if ((document.activeElement !== target && target.tagName !== 'INPUT' && target.tagName !== 'LABEL' || allowInteractiveElement) && !(0, _helpers.hasSelectedText)()) {
74
+ onClick === null || onClick === void 0 ? void 0 : onClick(event);
75
+ }
76
+ }
77
+ function TableClickableButtonTd(props) {
78
+ var _React$useContext;
79
+ const {
80
+ trIsOpen,
81
+ ariaLabel,
82
+ icon,
83
+ onClick
84
+ } = props;
85
+ const tableContextAllProps = (_React$useContext = _react.default.useContext(_TableContext.TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
86
+ const iconSize = (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.size) === 'medium' || (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.size) === 'small' ? 'basis' : 'medium';
87
+ return _react.default.createElement(_TableTd.default, {
88
+ className: "dnb-table__td__button-icon"
89
+ }, _react.default.createElement("span", {
90
+ className: "dnb-table__button"
91
+ }, _react.default.createElement(_IconPrimary.default, {
92
+ icon: icon,
93
+ size: iconSize
94
+ }), _react.default.createElement(_Button.default, _extends({
95
+ className: "dnb-sr-only",
96
+ tabIndex: -1,
97
+ "aria-label": ariaLabel,
98
+ "aria-expanded": Boolean(trIsOpen)
99
+ }, trIsOpen != null ? {
100
+ 'aria-expanded': Boolean(trIsOpen)
101
+ } : {}, {
102
+ on_click: event => onClick(event, true)
103
+ }))));
104
+ }
105
+ function TableIconSrTh(props) {
106
+ const {
107
+ text
108
+ } = props;
109
+ return _react.default.createElement(_TableTh.default, {
110
+ "aria-hidden": true,
111
+ className: "dnb-table__th__button-icon"
112
+ }, _react.default.createElement("div", null, text));
113
+ }
114
+ const isTableHead = children => children.some(element => element.type === _TableTh.default);
115
+ exports.isTableHead = isTableHead;
116
+ //# sourceMappingURL=TableClickableHead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableClickableHead.js","names":["_react","_interopRequireDefault","require","_classnames","_keycode","_helpers","_Button","_IconPrimary","_TableTh","_TableTd","_TableContext","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","TableClickableHead","allProps","children","className","disabled","onClick","onOpened","onClosed","trIsOpen","trIsHover","trHadClick","clickable","noAnimation","onMouseEnter","onMouseLeave","onKeyDown","ariaLabel","props","trParams","onKeydownHandler","createElement","tabIndex","undefined","classnames","event","keycode","nativeEvent","document","activeElement","tagName","preventDefault","onClickTr","allowInteractiveElement","hasSelectedText","TableClickableButtonTd","_React$useContext","icon","tableContextAllProps","React","useContext","TableContext","iconSize","size","Boolean","on_click","TableIconSrTh","text","isTableHead","some","element","type","Th","exports"],"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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"}
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.TrProperties = exports.TrEventProperties = exports.ThProperties = exports.TdProperties = exports.TableProperties = exports.TableEventProperties = void 0;
7
7
  const TableProperties = {
8
- accordion: {
9
- doc: 'Set to true if you have one or more rows that contains an accordion content.',
10
- type: 'boolean',
11
- defaultValue: 'false',
8
+ mode: {
9
+ doc: 'Defines how the Table should look. Use `accordion` for an accordion-like table. Use `navigation` for a navigation table.',
10
+ type: [`'accordion'`, `'navigation'`],
11
+ defaultValue: 'null',
12
12
  status: 'optional'
13
13
  },
14
14
  accordionChevronPlacement: {
15
- doc: 'Defines where the chevron will be placed.',
15
+ doc: 'Defines where the chevron will be placed, should only be used together with mode="accordion".',
16
16
  type: [`'start'`, `'end'`],
17
17
  defaultValue: `'start'`,
18
18
  status: 'optional'
@@ -126,7 +126,7 @@ const TrProperties = {
126
126
  exports.TrProperties = TrProperties;
127
127
  const TrEventProperties = {
128
128
  onClick: {
129
- doc: 'will emit when user clicks/expands the table row. Returns a native click.',
129
+ 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.',
130
130
  type: '(event) => void',
131
131
  defaultValue: 'undefined',
132
132
  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","exports","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","exports","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":";;;;;;AAEO,MAAMA,eAAqC,GAAG;EACnDC,IAAI,EAAE;IACJC,GAAG,EAAE,0HAA0H;IAC/HC,IAAI,EAAE,CAAE,aAAY,EAAG,cAAa,CAAC;IACrCC,YAAY,EAAE,MAAM;IACpBC,MAAM,EAAE;EACV,CAAC;EACDC,yBAAyB,EAAE;IACzBJ,GAAG,EAAE,+FAA+F;IACpGC,IAAI,EAAE,CAAE,SAAQ,EAAG,OAAM,CAAC;IAC1BC,YAAY,EAAG,SAAQ;IACvBC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNL,GAAG,EAAE,sDAAsD;IAC3DC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,OAAO;IACrBC,MAAM,EAAE;EACV,CAAC;EACDG,OAAO,EAAE;IACPN,GAAG,EAAE,uDAAuD;IAC5DC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,OAAO;IACrBC,MAAM,EAAE;EACV,CAAC;EACDI,MAAM,EAAE;IACNP,GAAG,EAAE,8GAA8G;IACnHC,IAAI,EAAE,CAAC,SAAS,EAAG,gBAAe,CAAC;IACnCC,YAAY,EAAE,OAAO;IACrBC,MAAM,EAAE;EACV,CAAC;EACDK,YAAY,EAAE;IACZR,GAAG,EAAE,sKAAsK;IAC3KC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,YAAY,EAAE,OAAO;IACrBC,MAAM,EAAE;EACV,CAAC;EACDM,IAAI,EAAE;IACJT,GAAG,EAAE,gDAAgD;IACrDC,IAAI,EAAE,CAAE,SAAQ,EAAG,UAAS,EAAG,SAAQ,CAAC;IACxCC,YAAY,EAAG,SAAQ;IACvBC,MAAM,EAAE;EACV,CAAC;EACDO,KAAK,EAAE;IACLV,GAAG,EAAE,oKAAoK;IACzKC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,MAAM;IACpBC,MAAM,EAAE;EACV,CAAC;EACDQ,QAAQ,EAAE;IACRX,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,iBAAiB;IACvBE,MAAM,EAAE;EACV,CAAC;EACDS,SAAS,EAAE;IACTZ,GAAG,EAAE,wCAAwC;IAC7CC,IAAI,EAAE,QAAQ;IACdC,YAAY,EAAE,WAAW;IACzBC,MAAM,EAAE;EACV,CAAC;EACDU,QAAQ,EAAE;IACRb,GAAG,EAAE,wEAAwE;IAC7EC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,WAAW;IACzBC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCH,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BE,MAAM,EAAE;EACV;AACF,CAAC;AAAAW,OAAA,CAAAhB,eAAA,GAAAA,eAAA;AAEM,MAAMiB,oBAA0C,GAAG;EACxDC,oBAAoB,EAAE;IACpBhB,GAAG,EAAE,8GAA8G;IACnHC,IAAI,EAAE,oCAAoC;IAC1CC,YAAY,EAAE,WAAW;IACzBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAW,OAAA,CAAAC,oBAAA,GAAAA,oBAAA;AAEM,MAAME,YAAkC,GAAG;EAIhDC,OAAO,EAAE;IACPlB,GAAG,EAAE,sGAAsG;IAC3GC,IAAI,EAAE,CAAE,QAAO,EAAG,OAAM,CAAC;IACzBC,YAAY,EAAE,WAAW;IACzBC,MAAM,EAAE;EACV,CAAC;EACDgB,MAAM,EAAE;IACNnB,GAAG,EAAE,yEAAyE;IAC9EC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,MAAM;IACpBC,MAAM,EAAE;EACV,CAAC;EACDiB,QAAQ,EAAE;IACRpB,GAAG,EAAE,wDAAwD;IAC7DC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,OAAO;IACrBC,MAAM,EAAE;EACV,CAAC;EACDkB,QAAQ,EAAE;IACRrB,GAAG,EAAE,8EAA8E;IACnFC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,OAAO;IACrBC,MAAM,EAAE;EACV,CAAC;EACDmB,WAAW,EAAE;IACXtB,GAAG,EAAE,sDAAsD;IAC3DC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,OAAO;IACrBC,MAAM,EAAE;EACV,CAAC;EACDQ,QAAQ,EAAE;IACRX,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,iBAAiB;IACvBE,MAAM,EAAE;EACV;AACF,CAAC;AAAAW,OAAA,CAAAG,YAAA,GAAAA,YAAA;AAEM,MAAMM,iBAAuC,GAAG;EACrDC,OAAO,EAAE;IACPxB,GAAG,EAAE,mJAAmJ;IACxJC,IAAI,EAAE,iBAAiB;IACvBC,YAAY,EAAE,WAAW;IACzBC,MAAM,EAAE;EACV,CAAC;EACDsB,QAAQ,EAAE;IACRzB,GAAG,EAAE,yGAAyG;IAC9GC,IAAI,EAAE,sBAAsB;IAC5BC,YAAY,EAAE,WAAW;IACzBC,MAAM,EAAE;EACV,CAAC;EACDuB,QAAQ,EAAE;IACR1B,GAAG,EAAE,2HAA2H;IAChIC,IAAI,EAAE,sBAAsB;IAC5BC,YAAY,EAAE,WAAW;IACzBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAW,OAAA,CAAAS,iBAAA,GAAAA,iBAAA;AAEM,MAAMI,YAAkC,GAAG;EAChDC,QAAQ,EAAE;IACR5B,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,OAAO;IACrBC,MAAM,EAAE;EACV,CAAC;EACD0B,MAAM,EAAE;IACN7B,GAAG,EAAE,gEAAgE;IACrEC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,OAAO;IACrBC,MAAM,EAAE;EACV,CAAC;EACD2B,QAAQ,EAAE;IACR9B,GAAG,EAAE,gEAAgE;IACrEC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,OAAO;IACrBC,MAAM,EAAE;EACV,CAAC;EACDgB,MAAM,EAAE;IACNnB,GAAG,EAAE,+DAA+D;IACpEC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,OAAO;IACrBC,MAAM,EAAE;EACV,CAAC;EACDQ,QAAQ,EAAE;IACRX,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,iBAAiB;IACvBC,YAAY,EAAE,WAAW;IACzBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAW,OAAA,CAAAa,YAAA,GAAAA,YAAA;AAEM,MAAMI,YAAkC,GAAG;EAChDC,SAAS,EAAE;IACThC,GAAG,EAAE,6CAA6C;IAClDC,IAAI,EAAE,SAAS;IACfC,YAAY,EAAE,OAAO;IACrBC,MAAM,EAAE;EACV,CAAC;EACD8B,OAAO,EAAE;IACPjC,GAAG,EAAE,yDAAyD;IAC9DC,IAAI,EAAG,cAAa;IACpBC,YAAY,EAAE,WAAW;IACzBC,MAAM,EAAE;EACV,CAAC;EACDQ,QAAQ,EAAE;IACRX,GAAG,EAAE,+BAA+B;IACpCC,IAAI,EAAE,iBAAiB;IACvBC,YAAY,EAAE,WAAW;IACzBC,MAAM,EAAE;EACV;AACF,CAAC;AAAAW,OAAA,CAAAiB,YAAA,GAAAA,YAAA"}
@@ -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;
@@ -8,6 +8,7 @@ exports.useHandleOddEven = useHandleOddEven;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _TableAccordionHead = require("./table-accordion/TableAccordionHead");
11
+ var _TableNavigationHead = require("./table-navigation/TableNavigationHead");
11
12
  var _TableAccordionContent = require("./table-accordion/TableAccordionContent");
12
13
  var _TableContext = require("./TableContext");
13
14
  const _excluded = ["variant", "noWrap", "className"],
@@ -17,13 +18,13 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
17
18
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
18
19
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
19
20
  function Tr(componentProps) {
20
- var _tableContext$allProp;
21
+ var _tableContext$allProp, _tableContext$allProp2, _tableContext$allProp3;
21
22
  const {
22
23
  variant,
23
24
  noWrap,
24
25
  className: _className
25
26
  } = componentProps,
26
- accordionProps = _objectWithoutProperties(componentProps, _excluded);
27
+ restProps = _objectWithoutProperties(componentProps, _excluded);
27
28
  const {
28
29
  currentVariant,
29
30
  isLast,
@@ -33,11 +34,17 @@ function Tr(componentProps) {
33
34
  });
34
35
  const className = (0, _classnames.default)('dnb-table__tr', _className, currentVariant && `dnb-table__tr--${currentVariant}`, isLast && 'dnb-table__tr--last', noWrap && 'dnb-table--no-wrap');
35
36
  const tableContext = _react.default.useContext(_TableContext.TableContext);
36
- if (tableContext !== null && tableContext !== void 0 && (_tableContext$allProp = tableContext.allProps) !== null && _tableContext$allProp !== void 0 && _tableContext$allProp.accordion) {
37
+ const deprecatedAccordionProp = tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.accordion;
38
+ if (deprecatedAccordionProp || (tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp2 = tableContext.allProps) === null || _tableContext$allProp2 === void 0 ? void 0 : _tableContext$allProp2.mode) == 'accordion') {
37
39
  return _react.default.createElement(_TableAccordionHead.TableAccordionHead, _extends({
38
40
  count: count,
39
41
  className: className
40
- }, accordionProps));
42
+ }, restProps));
43
+ }
44
+ if ((tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp3 = tableContext.allProps) === null || _tableContext$allProp3 === void 0 ? void 0 : _tableContext$allProp3.mode) == 'navigation') {
45
+ return _react.default.createElement(_TableNavigationHead.TableNavigationHead, _extends({
46
+ className: className
47
+ }, restProps));
41
48
  }
42
49
  const {
43
50
  expanded,
@@ -46,8 +53,8 @@ function Tr(componentProps) {
46
53
  onClick,
47
54
  onOpened,
48
55
  onClosed
49
- } = accordionProps,
50
- trProps = _objectWithoutProperties(accordionProps, _excluded2);
56
+ } = restProps,
57
+ trProps = _objectWithoutProperties(restProps, _excluded2);
51
58
  return _react.default.createElement("tr", _extends({
52
59
  role: "row",
53
60
  className: className
@@ -1 +1 @@
1
- {"version":3,"file":"TableTr.js","names":["_react","_interopRequireDefault","require","_classnames","_TableAccordionHead","_TableAccordionContent","_TableContext","_excluded","_excluded2","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Tr","componentProps","_tableContext$allProp","variant","noWrap","className","_className","accordionProps","currentVariant","isLast","count","useHandleTrVariant","classnames","tableContext","React","useContext","TableContext","allProps","accordion","createElement","TableAccordionHead","expanded","disabled","noAnimation","onClick","onOpened","onClosed","trProps","role","_ref","countRef","trCountRef","current","increment","setCount","useState","window","useEffect","rerenderAlias","useHandleOddEven","_ref2","children","useRef","setRerenderAlias","isMounted","forceRerender","AccordionContent","TableAccordionContentRow"],"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","_interopRequireDefault","require","_classnames","_TableAccordionHead","_TableNavigationHead","_TableAccordionContent","_TableContext","_excluded","_excluded2","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Tr","componentProps","_tableContext$allProp","_tableContext$allProp2","_tableContext$allProp3","variant","noWrap","className","_className","restProps","currentVariant","isLast","count","useHandleTrVariant","classnames","tableContext","React","useContext","TableContext","deprecatedAccordionProp","allProps","accordion","mode","createElement","TableAccordionHead","TableNavigationHead","expanded","disabled","noAnimation","onClick","onOpened","onClosed","trProps","role","_ref","countRef","trCountRef","current","increment","setCount","useState","window","useEffect","rerenderAlias","useHandleOddEven","_ref2","children","useRef","setRerenderAlias","isMounted","forceRerender","AccordionContent","TableAccordionContentRow"],"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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"}