@dnb/eufemia 10.38.0 → 10.40.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.
- package/CHANGELOG.md +37 -0
- package/cjs/components/badge/Badge.js +2 -1
- package/cjs/components/badge/Badge.js.map +1 -1
- package/cjs/components/badge/style/dnb-badge.css +6 -0
- package/cjs/components/badge/style/dnb-badge.min.css +1 -1
- package/cjs/components/badge/style/dnb-badge.scss +12 -0
- package/cjs/components/button/Button.d.ts +1 -0
- package/cjs/components/button/Button.js +5 -2
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/modal/Modal.js +1 -1
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/modal/types.d.ts +4 -0
- package/cjs/components/modal/types.js.map +1 -1
- package/cjs/components/table/Table.d.ts +6 -3
- package/cjs/components/table/Table.js +6 -2
- package/cjs/components/table/Table.js.map +1 -1
- package/cjs/components/table/TableClickableHead.d.ts +22 -0
- package/cjs/components/table/TableClickableHead.js +116 -0
- package/cjs/components/table/TableClickableHead.js.map +1 -0
- package/cjs/components/table/TableDocs.js +6 -6
- package/cjs/components/table/TableDocs.js.map +1 -1
- package/cjs/components/table/TableTr.d.ts +12 -12
- package/cjs/components/table/TableTr.js +13 -6
- package/cjs/components/table/TableTr.js.map +1 -1
- package/cjs/components/table/style/dnb-table.css +61 -61
- package/cjs/components/table/style/dnb-table.min.css +1 -1
- package/cjs/components/table/style/dnb-table.scss +1 -1
- package/cjs/components/table/style/table-accordion.scss +28 -36
- package/cjs/components/table/style/table-td.scss +1 -1
- package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
- package/cjs/components/table/table-accordion/TableAccordionHead.js +45 -74
- package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/cjs/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
- package/cjs/components/table/table-navigation/TableNavigationHead.js +56 -0
- package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -0
- package/cjs/extensions/forms/Field/Number/Number.d.ts +3 -1
- package/cjs/extensions/forms/Field/Number/Number.js +6 -2
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/NumberDocs.js +10 -0
- package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +3 -3
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +2 -2
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +6 -5
- package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +2 -2
- package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/cjs/extensions/forms/Wizard/EditButton/EditButton.js +2 -2
- package/cjs/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
- package/cjs/extensions/forms/Wizard/NextButton/NextButton.js +2 -2
- package/cjs/extensions/forms/Wizard/NextButton/NextButton.js.map +1 -1
- package/cjs/extensions/forms/Wizard/PreviousButton/PreviousButton.js +2 -2
- package/cjs/extensions/forms/Wizard/PreviousButton/PreviousButton.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +28 -8
- package/cjs/extensions/forms/constants/locales/en-GB.js +28 -8
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +28 -8
- package/cjs/extensions/forms/constants/locales/index.d.ts +56 -16
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +28 -8
- package/cjs/extensions/forms/constants/locales/nb-NO.js +28 -8
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.js +1 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/cjs/extensions/payment-card/utils/cardProducts.js +7 -7
- package/cjs/extensions/payment-card/utils/cardProducts.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/helpers/isAsync.js +5 -1
- package/cjs/shared/helpers/isAsync.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +1 -0
- package/cjs/shared/locales/en-GB.js +2 -1
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +1 -0
- package/cjs/shared/locales/index.d.ts +2 -0
- package/cjs/shared/locales/nb-NO.d.ts +1 -0
- package/cjs/shared/locales/nb-NO.js +2 -1
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +67 -61
- package/cjs/style/dnb-ui-components.min.css +2 -2
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +67 -61
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +67 -61
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-components.css +67 -61
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/components/badge/Badge.js +2 -1
- package/components/badge/Badge.js.map +1 -1
- package/components/badge/style/dnb-badge.css +6 -0
- package/components/badge/style/dnb-badge.min.css +1 -1
- package/components/badge/style/dnb-badge.scss +12 -0
- package/components/button/Button.d.ts +1 -0
- package/components/button/Button.js +5 -2
- package/components/button/Button.js.map +1 -1
- package/components/modal/Modal.js +1 -1
- package/components/modal/Modal.js.map +1 -1
- package/components/modal/types.d.ts +4 -0
- package/components/modal/types.js.map +1 -1
- package/components/table/Table.d.ts +6 -3
- package/components/table/Table.js +6 -2
- package/components/table/Table.js.map +1 -1
- package/components/table/TableClickableHead.d.ts +22 -0
- package/components/table/TableClickableHead.js +103 -0
- package/components/table/TableClickableHead.js.map +1 -0
- package/components/table/TableDocs.js +6 -6
- package/components/table/TableDocs.js.map +1 -1
- package/components/table/TableTr.d.ts +12 -12
- package/components/table/TableTr.js +13 -6
- package/components/table/TableTr.js.map +1 -1
- package/components/table/style/dnb-table.css +61 -61
- package/components/table/style/dnb-table.min.css +1 -1
- package/components/table/style/dnb-table.scss +1 -1
- package/components/table/style/table-accordion.scss +28 -36
- package/components/table/style/table-td.scss +1 -1
- package/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
- package/components/table/table-accordion/TableAccordionHead.js +44 -72
- package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
- package/components/table/table-navigation/TableNavigationHead.js +48 -0
- package/components/table/table-navigation/TableNavigationHead.js.map +1 -0
- package/es/components/badge/Badge.js +2 -1
- package/es/components/badge/Badge.js.map +1 -1
- package/es/components/badge/style/dnb-badge.css +6 -0
- package/es/components/badge/style/dnb-badge.min.css +1 -1
- package/es/components/badge/style/dnb-badge.scss +12 -0
- package/es/components/button/Button.d.ts +1 -0
- package/es/components/button/Button.js +5 -2
- package/es/components/button/Button.js.map +1 -1
- package/es/components/modal/Modal.js +1 -1
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/modal/types.d.ts +4 -0
- package/es/components/modal/types.js.map +1 -1
- package/es/components/table/Table.d.ts +6 -3
- package/es/components/table/Table.js +6 -2
- package/es/components/table/Table.js.map +1 -1
- package/es/components/table/TableClickableHead.d.ts +22 -0
- package/es/components/table/TableClickableHead.js +101 -0
- package/es/components/table/TableClickableHead.js.map +1 -0
- package/es/components/table/TableDocs.js +6 -6
- package/es/components/table/TableDocs.js.map +1 -1
- package/es/components/table/TableTr.d.ts +12 -12
- package/es/components/table/TableTr.js +13 -6
- package/es/components/table/TableTr.js.map +1 -1
- package/es/components/table/style/dnb-table.css +61 -61
- package/es/components/table/style/dnb-table.min.css +1 -1
- package/es/components/table/style/dnb-table.scss +1 -1
- package/es/components/table/style/table-accordion.scss +28 -36
- package/es/components/table/style/table-td.scss +1 -1
- package/es/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
- package/es/components/table/table-accordion/TableAccordionHead.js +44 -71
- package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/es/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
- package/es/components/table/table-navigation/TableNavigationHead.js +48 -0
- package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -0
- package/es/extensions/forms/Field/Number/Number.d.ts +3 -1
- package/es/extensions/forms/Field/Number/Number.js +6 -2
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Number/NumberDocs.js +10 -0
- package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +3 -3
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +2 -2
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +5 -4
- package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +2 -2
- package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
- package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/es/extensions/forms/Wizard/EditButton/EditButton.js +2 -2
- package/es/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
- package/es/extensions/forms/Wizard/NextButton/NextButton.js +2 -2
- package/es/extensions/forms/Wizard/NextButton/NextButton.js.map +1 -1
- package/es/extensions/forms/Wizard/PreviousButton/PreviousButton.js +2 -2
- package/es/extensions/forms/Wizard/PreviousButton/PreviousButton.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +28 -8
- package/es/extensions/forms/constants/locales/en-GB.js +28 -8
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +28 -8
- package/es/extensions/forms/constants/locales/index.d.ts +56 -16
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +28 -8
- package/es/extensions/forms/constants/locales/nb-NO.js +28 -8
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/hooks/DataValueDocs.js +1 -1
- package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/es/extensions/payment-card/utils/cardProducts.js +7 -7
- package/es/extensions/payment-card/utils/cardProducts.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/helpers/isAsync.js +5 -1
- package/es/shared/helpers/isAsync.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +1 -0
- package/es/shared/locales/en-GB.js +2 -1
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +1 -0
- package/es/shared/locales/index.d.ts +2 -0
- package/es/shared/locales/nb-NO.d.ts +1 -0
- package/es/shared/locales/nb-NO.js +2 -1
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +67 -61
- package/es/style/dnb-ui-components.min.css +2 -2
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +67 -61
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +67 -61
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-components.css +67 -61
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/Field/Number/Number.d.ts +3 -1
- package/extensions/forms/Field/Number/Number.js +6 -2
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Number/NumberDocs.js +10 -0
- package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +3 -3
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +2 -2
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +5 -4
- package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +2 -2
- package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +3 -3
- package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
- package/extensions/forms/Wizard/EditButton/EditButton.js +2 -2
- package/extensions/forms/Wizard/EditButton/EditButton.js.map +1 -1
- package/extensions/forms/Wizard/NextButton/NextButton.js +2 -2
- package/extensions/forms/Wizard/NextButton/NextButton.js.map +1 -1
- package/extensions/forms/Wizard/PreviousButton/PreviousButton.js +2 -2
- package/extensions/forms/Wizard/PreviousButton/PreviousButton.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +28 -8
- package/extensions/forms/constants/locales/en-GB.js +28 -8
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +28 -8
- package/extensions/forms/constants/locales/index.d.ts +56 -16
- package/extensions/forms/constants/locales/nb-NO.d.ts +28 -8
- package/extensions/forms/constants/locales/nb-NO.js +28 -8
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/hooks/DataValueDocs.js +1 -1
- package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/extensions/payment-card/utils/cardProducts.js +7 -7
- package/extensions/payment-card/utils/cardProducts.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/helpers/isAsync.js +5 -1
- package/shared/helpers/isAsync.js.map +1 -1
- package/shared/locales/en-GB.d.ts +1 -0
- package/shared/locales/en-GB.js +2 -1
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +1 -0
- package/shared/locales/index.d.ts +2 -0
- package/shared/locales/nb-NO.d.ts +1 -0
- package/shared/locales/nb-NO.js +2 -1
- package/shared/locales/nb-NO.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +67 -61
- package/style/dnb-ui-components.min.css +2 -2
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +67 -61
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.css +67 -61
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-components.css +67 -61
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
const _excluded = ["children", "className", "disabled", "onClick", "onOpened", "onClosed", "trIsOpen", "trIsHover", "trHadClick", "clickable", "noAnimation", "onMouseEnter", "onMouseLeave", "onKeyDown", "ariaLabel"];
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import classnames from 'classnames';
|
|
6
|
+
import keycode from 'keycode';
|
|
7
|
+
import { hasSelectedText } from '../../shared/helpers';
|
|
8
|
+
import Button from '../button/Button';
|
|
9
|
+
import IconPrimary from '../icon/IconPrimary';
|
|
10
|
+
import Th from './TableTh';
|
|
11
|
+
import Td from './TableTd';
|
|
12
|
+
import { TableContext } from './TableContext';
|
|
13
|
+
export function TableClickableHead(allProps) {
|
|
14
|
+
const {
|
|
15
|
+
children,
|
|
16
|
+
className,
|
|
17
|
+
disabled,
|
|
18
|
+
onClick,
|
|
19
|
+
onOpened,
|
|
20
|
+
onClosed,
|
|
21
|
+
trIsOpen,
|
|
22
|
+
trIsHover,
|
|
23
|
+
trHadClick,
|
|
24
|
+
clickable,
|
|
25
|
+
noAnimation,
|
|
26
|
+
onMouseEnter,
|
|
27
|
+
onMouseLeave,
|
|
28
|
+
onKeyDown,
|
|
29
|
+
ariaLabel
|
|
30
|
+
} = allProps,
|
|
31
|
+
props = _objectWithoutProperties(allProps, _excluded);
|
|
32
|
+
const trParams = !disabled && clickable ? {
|
|
33
|
+
onClick: onClick,
|
|
34
|
+
onMouseEnter: onMouseEnter,
|
|
35
|
+
onMouseLeave: onMouseLeave,
|
|
36
|
+
onKeyDown: onKeydownHandler
|
|
37
|
+
} : {};
|
|
38
|
+
return React.createElement("tr", _extends({
|
|
39
|
+
tabIndex: clickable && !disabled ? 0 : undefined,
|
|
40
|
+
className: classnames(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')
|
|
41
|
+
}, trParams, props), children);
|
|
42
|
+
function onKeydownHandler(event) {
|
|
43
|
+
switch (keycode(event.nativeEvent)) {
|
|
44
|
+
case 'space':
|
|
45
|
+
case 'enter':
|
|
46
|
+
{
|
|
47
|
+
const target = event.target;
|
|
48
|
+
if (document.activeElement !== target || target.tagName === 'TR') {
|
|
49
|
+
onKeyDown(event);
|
|
50
|
+
event.preventDefault();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export function onClickTr(event, allowInteractiveElement = false, onClick) {
|
|
58
|
+
const target = event.target;
|
|
59
|
+
if ((document.activeElement !== target && target.tagName !== 'INPUT' && target.tagName !== 'LABEL' || allowInteractiveElement) && !hasSelectedText()) {
|
|
60
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
export function TableClickableButtonTd(props) {
|
|
64
|
+
var _React$useContext;
|
|
65
|
+
const {
|
|
66
|
+
trIsOpen,
|
|
67
|
+
ariaLabel,
|
|
68
|
+
icon,
|
|
69
|
+
onClick
|
|
70
|
+
} = props;
|
|
71
|
+
const tableContextAllProps = (_React$useContext = React.useContext(TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
|
|
72
|
+
const iconSize = (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.size) === 'medium' || (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.size) === 'small' ? 'basis' : 'medium';
|
|
73
|
+
return React.createElement(Td, {
|
|
74
|
+
className: "dnb-table__td__button-icon"
|
|
75
|
+
}, React.createElement("span", {
|
|
76
|
+
className: "dnb-table__button"
|
|
77
|
+
}, React.createElement(IconPrimary, {
|
|
78
|
+
icon: icon,
|
|
79
|
+
size: iconSize
|
|
80
|
+
}), React.createElement(Button, _extends({
|
|
81
|
+
className: "dnb-sr-only",
|
|
82
|
+
tabIndex: -1,
|
|
83
|
+
"aria-label": ariaLabel,
|
|
84
|
+
"aria-expanded": Boolean(trIsOpen)
|
|
85
|
+
}, trIsOpen != null ? {
|
|
86
|
+
'aria-expanded': Boolean(trIsOpen)
|
|
87
|
+
} : {}, {
|
|
88
|
+
on_click: event => onClick(event, true)
|
|
89
|
+
}))));
|
|
90
|
+
}
|
|
91
|
+
export function TableIconSrTh(props) {
|
|
92
|
+
const {
|
|
93
|
+
text
|
|
94
|
+
} = props;
|
|
95
|
+
return React.createElement(Th, {
|
|
96
|
+
"aria-hidden": true,
|
|
97
|
+
className: "dnb-table__th__button-icon"
|
|
98
|
+
}, React.createElement("div", null, text));
|
|
99
|
+
}
|
|
100
|
+
export const isTableHead = children => children.some(element => element.type === Th);
|
|
101
|
+
//# sourceMappingURL=TableClickableHead.js.map
|
|
@@ -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","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
|
-
|
|
3
|
-
doc: '
|
|
4
|
-
type: '
|
|
5
|
-
defaultValue: '
|
|
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: '
|
|
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`
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
},
|
|
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
|
-
} =
|
|
41
|
-
trProps = _objectWithoutProperties(
|
|
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","countRef","trCountRef","current","increment","setCount","useState","window","useEffect","rerenderAlias","useHandleOddEven","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":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,kBAAkB,QAAQ,sCAAsC;AACzE,SAASC,wBAAwB,QAAQ,yCAAyC;AAClF,SAASC,YAAY,QAAQ,gBAAgB;AA2D7C,eAAe,SAASC,EAAEA,CACxBC,cACgD,EAChD;EAAA,IAAAC,qBAAA;EACA,MAAM;MACJC,OAAO;MACPC,MAAM;MACNC,SAAS,EAAEC;IAEb,CAAC,GAAGL,cAAc;IADbM,cAAc,GAAAC,wBAAA,CACfP,cAAc,EAAAQ,SAAA;EAElB,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGC,kBAAkB,CAAC;IAC3DV;EACF,CAAC,CAAC;EAEF,MAAME,SAAS,GAAGT,UAAU,CAC1B,eAAe,EAIfU,UAAU,EAHVI,cAAc,IAAK,kBAAiBA,cAAe,EAAC,EACpDC,MAAM,IAAI,qBAAqB,EAC/BP,MAAM,IAAI,oBAEZ,CAAC;EAED,MAAMU,YAAY,GAAGnB,KAAK,CAACoB,UAAU,CAAChB,YAAY,CAAC;EACnD,IAAIe,YAAY,aAAZA,YAAY,gBAAAZ,qBAAA,GAAZY,YAAY,CAAEE,QAAQ,cAAAd,qBAAA,eAAtBA,qBAAA,CAAwBe,SAAS,EAAE;IACrC,OACEtB,KAAA,CAAAuB,aAAA,CAACrB,kBAAkB,EAAAsB,QAAA;MACjBP,KAAK,EAAEA,KAAM;MACbP,SAAS,EAAEA;IAAU,GACjBE,cAAc,CACnB,CAAC;EAEN;EAEA,MAAM;MACJa,QAAQ;MACRC,QAAQ;MACRC,WAAW;MACXC,OAAO;MACPC,QAAQ;MACRC;IAEF,CAAC,GAAGlB,cAAc;IADbmB,OAAO,GAAAlB,wBAAA,CACRD,cAAc,EAAAoB,UAAA;EAElB,OAAOhC,KAAA,CAAAuB,aAAA,OAAAC,QAAA;IAAIS,IAAI,EAAC,KAAK;IAACvB,SAAS,EAAEA;EAAU,GAAKqB,OAAO,CAAG,CAAC;AAC7D;AAEA,SAASb,kBAAkBA,CAAC;EAAEV;AAAQ,CAAC,EAAE;EACvC,MAAMW,YAAY,GAAGnB,KAAK,CAACoB,UAAU,CAAChB,YAAY,CAAC;EAKnD,MAAM8B,QAAQ,GAAGf,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEgB,UAAU,CAACC,OAAO;EACjD,MAAMC,SAAS,GAAGA,CAAA,KAAM;IACtB,IAAI,OAAOH,QAAQ,KAAK,WAAW,EAAE;MACnC,OAAO,CAAC;IACV;IACA,IACE,CAAC1B,OAAO,IACPA,OAAO,KAAK,MAAM,IAAI0B,QAAQ,CAACjB,KAAK,GAAG,CAAC,KAAK,CAAE,IAC/CT,OAAO,KAAK,KAAK,IAAI0B,QAAQ,CAACjB,KAAK,GAAG,CAAC,KAAK,CAAE,EAC/C;MACAiB,QAAQ,CAACjB,KAAK,EAAE;IAClB;IAEA,OAAOiB,QAAQ,CAACjB,KAAK;EACvB,CAAC;EAED,MAAM,CAACA,KAAK,EAAEqB,QAAQ,CAAC,GAAGtC,KAAK,CAACuC,QAAQ,CAAC,MAAM;IAE7C,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;MACjC,OAAOH,SAAS,CAAC,CAAC;IACpB;EACF,CAAC,CAAC;EAGFrC,KAAK,CAACyC,SAAS,CAAC,MAAM;IAEpBH,QAAQ,CAACD,SAAS,CAAC,CAAC,CAAC;EACvB,CAAC,EAAE,CAAClB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEuB,aAAa,CAAC,CAAC;EAQjC,IAAI3B,cAAc,GAAGP,OAAO;EAC5B,IAAI,CAACO,cAAc,EAAE;IACnBA,cAAc,GAAGE,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,MAAM;EAC7C;EACA,MAAMD,MAAM,GACV,OAAOkB,QAAQ,KAAK,WAAW,IAAIA,QAAQ,CAACjB,KAAK,KAAKA,KAAK;EAC7D,OAAO;IACLF,cAAc;IACdC,MAAM;IACNC;EACF,CAAC;AACH;AAKA,OAAO,SAAS0B,gBAAgBA,CAAC;EAAEC;AAAS,CAAC,EAAE;EAE7C,MAAMT,UAAU,GAAGnC,KAAK,CAAC6C,MAAM,CAAC;IAAE5B,KAAK,EAAE;EAAE,CAAC,CAAC;EAI7C,MAAM,CAACyB,aAAa,EAAEI,gBAAgB,CAAC,GAAG9C,KAAK,CAACuC,QAAQ,CAAC,CAAC,CAAC,CAAC;EAE5D,MAAMQ,SAAS,GAAG/C,KAAK,CAAC6C,MAAM,CAAC,KAAK,CAAC;EACrC7C,KAAK,CAACyC,SAAS,CAAC,MAAM;IACpB,IAAIM,SAAS,CAACX,OAAO,EAAE;MACrBY,aAAa,CAAC,CAAC;IACjB;IACAD,SAAS,CAACX,OAAO,GAAG,IAAI;EAC1B,CAAC,EAAE,CAACQ,QAAQ,CAAC,CAAC;EAEd,OAAO;IAAET,UAAU;IAAEO,aAAa;IAAEI;EAAiB,CAAC;EAEtD,SAASE,aAAaA,CAAA,EAAG;IACvBb,UAAU,CAACC,OAAO,CAACnB,KAAK,GAAG,CAAC;IAC5B6B,gBAAgB,CAAC,CAAC,CAAC,CAAC;EACtB;AACF;AAEAzC,EAAE,CAAC4C,gBAAgB,GAAG9C,wBAAwB"}
|
|
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","countRef","trCountRef","current","increment","setCount","useState","window","useEffect","rerenderAlias","useHandleOddEven","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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"}
|