@dfds-ui/experiences 2.2.0-alpha.8f6cde13 → 2.2.0-alpha.9b8e2d07
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/cjs/dynamic-table/Body/TableBody.d.ts +4 -0
- package/cjs/dynamic-table/Body/TableBody.js +49 -0
- package/cjs/dynamic-table/Body/TableBody.types.d.ts +11 -0
- package/cjs/dynamic-table/Body/TableBody.types.js +5 -0
- package/cjs/dynamic-table/Body/TableCell.d.ts +4 -0
- package/cjs/dynamic-table/Body/TableCell.js +22 -0
- package/cjs/dynamic-table/Body/TableCell.styles.d.ts +9 -0
- package/cjs/dynamic-table/Body/TableCell.styles.js +25 -0
- package/cjs/dynamic-table/Body/TableCell.types.d.ts +5 -0
- package/cjs/dynamic-table/Body/TableCell.types.js +5 -0
- package/cjs/dynamic-table/Body/TableRow.d.ts +4 -0
- package/cjs/dynamic-table/Body/TableRow.js +73 -0
- package/cjs/dynamic-table/Body/TableRow.styles.d.ts +11 -0
- package/cjs/dynamic-table/Body/TableRow.styles.js +37 -0
- package/cjs/dynamic-table/Body/TableRow.types.d.ts +18 -0
- package/cjs/dynamic-table/Body/TableRow.types.js +5 -0
- package/cjs/dynamic-table/Body/TableRowGroup.d.ts +4 -0
- package/cjs/dynamic-table/Body/TableRowGroup.js +52 -0
- package/cjs/dynamic-table/Body/TableRowGroup.types.d.ts +14 -0
- package/cjs/dynamic-table/Body/TableRowGroup.types.js +5 -0
- package/cjs/dynamic-table/DynamicTable.d.ts +4 -0
- package/cjs/dynamic-table/DynamicTable.js +78 -0
- package/cjs/dynamic-table/DynamicTable.styles.d.ts +6 -0
- package/cjs/dynamic-table/DynamicTable.styles.js +16 -0
- package/cjs/dynamic-table/DynamicTable.types.d.ts +36 -0
- package/cjs/dynamic-table/DynamicTable.types.js +5 -0
- package/cjs/dynamic-table/Head/TableHead.d.ts +4 -0
- package/cjs/dynamic-table/Head/TableHead.js +94 -0
- package/cjs/dynamic-table/Head/TableHead.styles.d.ts +5 -0
- package/cjs/dynamic-table/Head/TableHead.styles.js +70 -0
- package/cjs/dynamic-table/Head/TableHead.types.d.ts +36 -0
- package/cjs/dynamic-table/Head/TableHead.types.js +5 -0
- package/cjs/dynamic-table/Skeleton/SkeletonTable.styles.d.ts +1 -0
- package/cjs/dynamic-table/Skeleton/SkeletonTable.styles.js +16 -0
- package/cjs/dynamic-table/Skeleton/helpers/createSkeletonRows.d.ts +3 -0
- package/cjs/dynamic-table/Skeleton/helpers/createSkeletonRows.js +32 -0
- package/cjs/dynamic-table/helpers/getHeaderRow.d.ts +3 -0
- package/cjs/dynamic-table/helpers/getHeaderRow.js +21 -0
- package/cjs/dynamic-table/stories/headerRow.d.ts +3 -0
- package/cjs/dynamic-table/stories/headerRow.js +26 -0
- package/cjs/dynamic-table/stories/headerRowSortable.d.ts +3 -0
- package/cjs/dynamic-table/stories/headerRowSortable.js +28 -0
- package/cjs/dynamic-table/stories/tableRows.d.ts +3 -0
- package/cjs/dynamic-table/stories/tableRows.js +107 -0
- package/cjs/dynamic-table/stories/tableRowsExpandable.d.ts +3 -0
- package/cjs/dynamic-table/stories/tableRowsExpandable.js +109 -0
- package/cjs/footer/Footer.d.ts +23 -0
- package/cjs/footer/Footer.js +100 -0
- package/cjs/footer/FooterColumn.d.ts +11 -0
- package/cjs/footer/FooterColumn.js +36 -0
- package/cjs/footer/FooterColumnItem.d.ts +7 -0
- package/cjs/footer/FooterColumnItem.js +31 -0
- package/cjs/footer/FooterMetaLink.d.ts +7 -0
- package/cjs/footer/FooterMetaLink.js +33 -0
- package/cjs/footer/index.d.ts +4 -0
- package/cjs/footer/index.js +49 -0
- package/cjs/index.d.ts +5 -0
- package/cjs/index.js +60 -0
- package/cjs/internet-explorer-modal/IEModal.d.ts +69 -0
- package/cjs/internet-explorer-modal/IEModal.js +115 -0
- package/cjs/locale-selector/LocaleOption.d.ts +9 -0
- package/cjs/locale-selector/LocaleOption.js +41 -0
- package/cjs/locale-selector/LocaleSelector.d.ts +55 -0
- package/cjs/locale-selector/LocaleSelector.js +90 -0
- package/cjs/locale-selector/index.d.ts +1 -0
- package/cjs/locale-selector/index.js +16 -0
- package/cjs/swiper/Swiper.d.ts +6 -0
- package/cjs/swiper/Swiper.js +31 -0
- package/cjs/swiper/SwiperCard.d.ts +6 -0
- package/cjs/swiper/SwiperCard.js +31 -0
- package/cjs/swiper/index.d.ts +2 -0
- package/cjs/swiper/index.js +27 -0
- package/dynamic-table/Body/TableBody.d.ts +4 -0
- package/dynamic-table/Body/TableBody.js +48 -0
- package/dynamic-table/Body/TableBody.types.d.ts +11 -0
- package/dynamic-table/Body/TableBody.types.js +1 -0
- package/dynamic-table/Body/TableCell.d.ts +4 -0
- package/dynamic-table/Body/TableCell.js +16 -0
- package/dynamic-table/Body/TableCell.styles.d.ts +9 -0
- package/dynamic-table/Body/TableCell.styles.js +18 -0
- package/dynamic-table/Body/TableCell.types.d.ts +5 -0
- package/dynamic-table/Body/TableCell.types.js +1 -0
- package/dynamic-table/Body/TableRow.d.ts +4 -0
- package/dynamic-table/Body/TableRow.js +74 -0
- package/dynamic-table/Body/TableRow.styles.d.ts +11 -0
- package/dynamic-table/Body/TableRow.styles.js +20 -0
- package/dynamic-table/Body/TableRow.types.d.ts +18 -0
- package/dynamic-table/Body/TableRow.types.js +1 -0
- package/dynamic-table/Body/TableRowGroup.d.ts +4 -0
- package/dynamic-table/Body/TableRowGroup.js +55 -0
- package/dynamic-table/Body/TableRowGroup.types.d.ts +14 -0
- package/dynamic-table/Body/TableRowGroup.types.js +1 -0
- package/dynamic-table/DynamicTable.d.ts +4 -0
- package/dynamic-table/DynamicTable.js +93 -0
- package/dynamic-table/DynamicTable.styles.d.ts +6 -0
- package/dynamic-table/DynamicTable.styles.js +7 -0
- package/dynamic-table/DynamicTable.types.d.ts +36 -0
- package/dynamic-table/DynamicTable.types.js +1 -0
- package/dynamic-table/Head/TableHead.d.ts +4 -0
- package/dynamic-table/Head/TableHead.js +88 -0
- package/dynamic-table/Head/TableHead.styles.d.ts +5 -0
- package/dynamic-table/Head/TableHead.styles.js +48 -0
- package/dynamic-table/Head/TableHead.types.d.ts +36 -0
- package/dynamic-table/Head/TableHead.types.js +1 -0
- package/dynamic-table/Skeleton/SkeletonTable.styles.d.ts +1 -0
- package/dynamic-table/Skeleton/SkeletonTable.styles.js +10 -0
- package/dynamic-table/Skeleton/helpers/createSkeletonRows.d.ts +3 -0
- package/dynamic-table/Skeleton/helpers/createSkeletonRows.js +33 -0
- package/dynamic-table/helpers/getHeaderRow.d.ts +3 -0
- package/dynamic-table/helpers/getHeaderRow.js +15 -0
- package/dynamic-table/stories/headerRow.d.ts +3 -0
- package/dynamic-table/stories/headerRow.js +20 -0
- package/dynamic-table/stories/headerRowSortable.d.ts +3 -0
- package/dynamic-table/stories/headerRowSortable.js +22 -0
- package/dynamic-table/stories/tableRows.d.ts +3 -0
- package/dynamic-table/stories/tableRows.js +102 -0
- package/dynamic-table/stories/tableRowsExpandable.d.ts +3 -0
- package/dynamic-table/stories/tableRowsExpandable.js +104 -0
- package/footer/Footer.d.ts +23 -0
- package/footer/Footer.js +80 -0
- package/footer/FooterColumn.d.ts +11 -0
- package/footer/FooterColumn.js +36 -0
- package/footer/FooterColumnItem.d.ts +7 -0
- package/footer/FooterColumnItem.js +29 -0
- package/footer/FooterMetaLink.d.ts +7 -0
- package/footer/FooterMetaLink.js +35 -0
- package/footer/index.d.ts +4 -0
- package/footer/index.js +4 -0
- package/index.d.ts +5 -0
- package/index.js +5 -0
- package/internet-explorer-modal/IEModal.d.ts +69 -0
- package/internet-explorer-modal/IEModal.js +137 -0
- package/locale-selector/LocaleOption.d.ts +9 -0
- package/locale-selector/LocaleOption.js +32 -0
- package/locale-selector/LocaleSelector.d.ts +55 -0
- package/locale-selector/LocaleSelector.js +98 -0
- package/locale-selector/index.d.ts +1 -0
- package/locale-selector/index.js +1 -0
- package/package.json +10 -10
- package/swiper/Swiper.d.ts +6 -0
- package/swiper/Swiper.js +22 -0
- package/swiper/SwiperCard.d.ts +6 -0
- package/swiper/SwiperCard.js +22 -0
- package/swiper/index.d.ts +2 -0
- package/swiper/index.js +2 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { tableCellStyles } from './TableCell.styles';
|
|
3
|
+
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
4
|
+
var TableCell = /*#__PURE__*/React.memo(function (_ref) {
|
|
5
|
+
var children = _ref.children,
|
|
6
|
+
headerCell = _ref.headerCell;
|
|
7
|
+
return _jsx("td", {
|
|
8
|
+
css: tableCellStyles({
|
|
9
|
+
align: headerCell === null || headerCell === void 0 ? void 0 : headerCell.textAlign,
|
|
10
|
+
customWidth: headerCell === null || headerCell === void 0 ? void 0 : headerCell.width
|
|
11
|
+
}),
|
|
12
|
+
"data-cy": "dynamic-table-cell-".concat(headerCell === null || headerCell === void 0 ? void 0 : headerCell.key),
|
|
13
|
+
children: children
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
export default TableCell;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const genericTableCellStyles: import("@emotion/utils").SerializedStyles;
|
|
2
|
+
type TableCellProps = {
|
|
3
|
+
align?: 'center' | 'left' | 'right';
|
|
4
|
+
customWidth?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const tableCellStyles: ({ align, customWidth }: TableCellProps) => import("@emotion/utils").SerializedStyles;
|
|
7
|
+
export declare const tableCellExpanderStyles: (isExpandable: boolean) => import("@emotion/utils").SerializedStyles;
|
|
8
|
+
export declare const tableCellCheckboxStyles: import("@emotion/utils").SerializedStyles;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
import { theme } from '@dfds-ui/theme';
|
|
8
|
+
import { css } from '@emotion/react';
|
|
9
|
+
export var genericTableCellStyles = /*#__PURE__*/css("padding:0 ", theme.spacing.xs, ";&:first-of-type{padding-left:", theme.spacing.s, ";}&:last-of-type{padding-right:", theme.spacing.s, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:genericTableCellStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR3lDIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aGVtZSB9IGZyb20gJ0BkZmRzLXVpL3RoZW1lJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVDZWxsU3R5bGVzID0gY3NzYFxuICBwYWRkaW5nOiAwICR7dGhlbWUuc3BhY2luZy54c307XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICR7dGhlbWUuc3BhY2luZy5zfTtcbiAgfVxuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cbmBcblxudHlwZSBUYWJsZUNlbGxQcm9wcyA9IHtcbiAgYWxpZ24/OiAnY2VudGVyJyB8ICdsZWZ0JyB8ICdyaWdodCdcbiAgY3VzdG9tV2lkdGg/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHRhYmxlQ2VsbFN0eWxlcyA9ICh7IGFsaWduLCBjdXN0b21XaWR0aCB9OiBUYWJsZUNlbGxQcm9wcykgPT4gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyB9fVxuXG4gIG1pbi13aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuICB0ZXh0LWFsaWduOiAke2FsaWduIHx8ICdsZWZ0J307XG4gIHdpZHRoOiAke2N1c3RvbVdpZHRoIHx8ICdhdXRvJ307XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxFeHBhbmRlclN0eWxlcyA9IChpc0V4cGFuZGFibGU6IGJvb2xlYW4pID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtYXgtd2lkdGg6IDQ4cHg7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aWR0aDogNDhweDtcblxuICAke2lzRXhwYW5kYWJsZSAmJlxuICBgXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IHRhYmxlQ2VsbENoZWNrYm94U3R5bGVzID0gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyB9fVxuXG4gIG1heC13aWR0aDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG5gXG4iXX0= */");
|
|
10
|
+
export var tableCellStyles = function tableCellStyles(_ref) {
|
|
11
|
+
var align = _ref.align,
|
|
12
|
+
customWidth = _ref.customWidth;
|
|
13
|
+
return /*#__PURE__*/css(_objectSpread({}, genericTableCellStyles), " min-width:", customWidth || 'auto', ";text-align:", align || 'left', ";width:", customWidth || 'auto', ";" + (process.env.NODE_ENV === "production" ? "" : ";label:tableCellStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0I4RSIsImZpbGUiOiIuLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSAoaXNFeHBhbmRhYmxlOiBib29sZWFuKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0OHB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDQ4cHg7XG5cbiAgJHtpc0V4cGFuZGFibGUgJiZcbiAgYFxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgYH07XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxDaGVja2JveFN0eWxlcyA9IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtYXgtd2lkdGg6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuYFxuIl19 */");
|
|
14
|
+
};
|
|
15
|
+
export var tableCellExpanderStyles = function tableCellExpanderStyles(isExpandable) {
|
|
16
|
+
return /*#__PURE__*/css(_objectSpread({}, genericTableCellStyles), " max-width:48px;user-select:none;width:48px;", isExpandable && "\n cursor: pointer;\n ", ";" + (process.env.NODE_ENV === "production" ? "" : ";label:tableCellExpanderStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEJxRSIsImZpbGUiOiIuLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSAoaXNFeHBhbmRhYmxlOiBib29sZWFuKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0OHB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDQ4cHg7XG5cbiAgJHtpc0V4cGFuZGFibGUgJiZcbiAgYFxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgYH07XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxDaGVja2JveFN0eWxlcyA9IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtYXgtd2lkdGg6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuYFxuIl19 */");
|
|
17
|
+
};
|
|
18
|
+
export var tableCellCheckboxStyles = /*#__PURE__*/css(_objectSpread({}, genericTableCellStyles), " max-width:40px;width:40px;" + (process.env.NODE_ENV === "production" ? "" : ";label:tableCellCheckboxStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUMwQyIsImZpbGUiOiIuLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlcyA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxTdHlsZXMgPSAoeyBhbGlnbiwgY3VzdG9tV2lkdGggfTogVGFibGVDZWxsUHJvcHMpID0+IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtaW4td2lkdGg6ICR7Y3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbiAgdGV4dC1hbGlnbjogJHthbGlnbiB8fCAnbGVmdCd9O1xuICB3aWR0aDogJHtjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuYFxuXG5leHBvcnQgY29uc3QgdGFibGVDZWxsRXhwYW5kZXJTdHlsZXMgPSAoaXNFeHBhbmRhYmxlOiBib29sZWFuKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVDZWxsU3R5bGVzIH19XG5cbiAgbWF4LXdpZHRoOiA0OHB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDQ4cHg7XG5cbiAgJHtpc0V4cGFuZGFibGUgJiZcbiAgYFxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgYH07XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZUNlbGxDaGVja2JveFN0eWxlcyA9IGNzc2BcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZXMgfX1cblxuICBtYXgtd2lkdGg6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuYFxuIl19 */");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TableRowProps } from './TableRow.types';
|
|
3
|
+
declare const TableRow: React.MemoExoticComponent<({ expandable, headerRow, isActive, isExpanded, isSubRow, onClickRow, onSelectRow, row, selectableRows, selectedRows, setIsExpanded, showExpander, }: TableRowProps) => React.JSX.Element>;
|
|
4
|
+
export default TableRow;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Checkbox } from '@dfds-ui/forms';
|
|
3
|
+
import TableCell from './TableCell';
|
|
4
|
+
import { tableCellCheckboxStyles, tableCellExpanderStyles } from './TableCell.styles';
|
|
5
|
+
import { chevronStyles, tableRowStyles } from './TableRow.styles';
|
|
6
|
+
import { ChevronRight } from '@dfds-ui/icons/system';
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
8
|
+
var TableRow = /*#__PURE__*/React.memo(function (_ref) {
|
|
9
|
+
var _row$subRows;
|
|
10
|
+
var expandable = _ref.expandable,
|
|
11
|
+
headerRow = _ref.headerRow,
|
|
12
|
+
isActive = _ref.isActive,
|
|
13
|
+
isExpanded = _ref.isExpanded,
|
|
14
|
+
_ref$isSubRow = _ref.isSubRow,
|
|
15
|
+
isSubRow = _ref$isSubRow === void 0 ? false : _ref$isSubRow,
|
|
16
|
+
onClickRow = _ref.onClickRow,
|
|
17
|
+
onSelectRow = _ref.onSelectRow,
|
|
18
|
+
row = _ref.row,
|
|
19
|
+
selectableRows = _ref.selectableRows,
|
|
20
|
+
selectedRows = _ref.selectedRows,
|
|
21
|
+
setIsExpanded = _ref.setIsExpanded,
|
|
22
|
+
_ref$showExpander = _ref.showExpander,
|
|
23
|
+
showExpander = _ref$showExpander === void 0 ? false : _ref$showExpander;
|
|
24
|
+
var hasSubRows = (((_row$subRows = row.subRows) === null || _row$subRows === void 0 ? void 0 : _row$subRows.length) || 0) > 0;
|
|
25
|
+
return _jsxs("tr", {
|
|
26
|
+
css: tableRowStyles({
|
|
27
|
+
active: isActive,
|
|
28
|
+
expanded: isExpanded,
|
|
29
|
+
hoverColor: !!onClickRow,
|
|
30
|
+
subRow: !!isSubRow
|
|
31
|
+
}),
|
|
32
|
+
className: row.className,
|
|
33
|
+
"data-expanded": isExpanded,
|
|
34
|
+
"data-row-type": isSubRow ? 'sub-row' : 'row',
|
|
35
|
+
onClick: function onClick() {
|
|
36
|
+
return onClickRow && onClickRow(row.id ? String(row.id) : '');
|
|
37
|
+
},
|
|
38
|
+
children: [expandable && _jsx("td", {
|
|
39
|
+
css: tableCellExpanderStyles(showExpander),
|
|
40
|
+
onClick: function onClick(e) {
|
|
41
|
+
if (!showExpander) return;
|
|
42
|
+
e.stopPropagation();
|
|
43
|
+
setIsExpanded(function (prev) {
|
|
44
|
+
return !prev;
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
children: hasSubRows ? _jsx(ChevronRight, {
|
|
48
|
+
css: chevronStyles({
|
|
49
|
+
expanded: isExpanded
|
|
50
|
+
})
|
|
51
|
+
}) : null
|
|
52
|
+
}), selectableRows && row.id && _jsx("td", {
|
|
53
|
+
css: tableCellCheckboxStyles,
|
|
54
|
+
children: _jsx(Checkbox, {
|
|
55
|
+
checked: selectedRows.includes(row.id),
|
|
56
|
+
name: row.id,
|
|
57
|
+
onChange: function onChange() {
|
|
58
|
+
if (!row.id) return;
|
|
59
|
+
onSelectRow(row.id);
|
|
60
|
+
},
|
|
61
|
+
onLabelClick: function onLabelClick(e) {
|
|
62
|
+
e.stopPropagation();
|
|
63
|
+
},
|
|
64
|
+
visualSize: "small"
|
|
65
|
+
})
|
|
66
|
+
}), headerRow.map(function (headerCell, index) {
|
|
67
|
+
return _jsx(TableCell, {
|
|
68
|
+
headerCell: headerRow === null || headerRow === void 0 ? void 0 : headerRow[index],
|
|
69
|
+
children: row[headerCell.key] || '-'
|
|
70
|
+
}, index);
|
|
71
|
+
})]
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
export default TableRow;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ChevronProps } from './TableRow.types';
|
|
2
|
+
export declare const genericTableRowStyles: import("@emotion/utils").SerializedStyles;
|
|
3
|
+
type TableRowProps = {
|
|
4
|
+
active?: boolean;
|
|
5
|
+
expanded: boolean;
|
|
6
|
+
hoverColor: boolean;
|
|
7
|
+
subRow: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const tableRowStyles: ({ active, expanded, hoverColor, subRow }: TableRowProps) => import("@emotion/utils").SerializedStyles;
|
|
10
|
+
export declare const chevronStyles: ({ expanded }: ChevronProps) => import("@emotion/utils").SerializedStyles;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
import { theme } from '@dfds-ui/theme';
|
|
8
|
+
import { css } from '@emotion/react';
|
|
9
|
+
export var genericTableRowStyles = /*#__PURE__*/css("border-bottom:1px solid ", theme.colors.divider.dark, ";border-collapse:collapse;height:48px;" + (process.env.NODE_ENV === "production" ? "" : ";label:genericTableRowStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJd0MiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2R5bmFtaWMtdGFibGUvQm9keS9UYWJsZVJvdy5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgQ2hldnJvblByb3BzIH0gZnJvbSAnLi9UYWJsZVJvdy50eXBlcydcblxuZXhwb3J0IGNvbnN0IGdlbmVyaWNUYWJsZVJvd1N0eWxlcyA9IGNzc2BcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLmRpdmlkZXIuZGFya307XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGhlaWdodDogNDhweDtcbmBcblxudHlwZSBUYWJsZVJvd1Byb3BzID0ge1xuICBhY3RpdmU/OiBib29sZWFuXG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGhvdmVyQ29sb3I6IGJvb2xlYW5cbiAgc3ViUm93OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZVJvd1N0eWxlcyA9ICh7IGFjdGl2ZSwgZXhwYW5kZWQsIGhvdmVyQ29sb3IsIHN1YlJvdyB9OiBUYWJsZVJvd1Byb3BzKSA9PiBjc3NgXG4gICR7eyAuLi5nZW5lcmljVGFibGVSb3dTdHlsZXMgfX1cblxuICAmOmhvdmVyIHtcbiAgICAke2hvdmVyQ29sb3IgJiZcbiAgICBgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYH07XG4gIH1cblxuICAke2V4cGFuZGVkICYmXG4gIGBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICR7XG4gICAgICAgIGhvdmVyQ29sb3IgJiZcbiAgICAgICAgYFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5kaXZpZGVyLmRhcmt9O1xuICAgICAgYFxuICAgICAgfTtcbiAgICB9XG4gIGB9O1xuXG4gICR7c3ViUm93ICYmXG4gICFleHBhbmRlZCAmJlxuICBgXG4gICAgZGlzcGxheTogbm9uZTtcbiAgYH07XG5cbiAgJHthY3RpdmUgJiZcbiAgYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLmRpdmlkZXIuZGFya307XG4gIGB9O1xuYFxuXG5leHBvcnQgY29uc3QgY2hldnJvblN0eWxlcyA9ICh7IGV4cGFuZGVkIH06IENoZXZyb25Qcm9wcykgPT4gY3NzYFxuICBjb2xvcjogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5kYXJrfTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHRyYW5zZm9ybTogJHtleHBhbmRlZCAmJiAncm90YXRlKDkwZGVnKSd9O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuYFxuIl19 */");
|
|
10
|
+
export var tableRowStyles = function tableRowStyles(_ref) {
|
|
11
|
+
var active = _ref.active,
|
|
12
|
+
expanded = _ref.expanded,
|
|
13
|
+
hoverColor = _ref.hoverColor,
|
|
14
|
+
subRow = _ref.subRow;
|
|
15
|
+
return /*#__PURE__*/css(_objectSpread({}, genericTableRowStyles), " &:hover{", hoverColor && "\n background-color: ".concat(theme.colors.surface.secondary, ";\n cursor: pointer;\n "), ";}", expanded && "\n background-color: ".concat(theme.colors.surface.secondary, ";\n\n &:hover {\n ").concat(hoverColor && "\n background-color: ".concat(theme.colors.divider.dark, ";\n "), ";\n }\n "), ";", subRow && !expanded && "\n display: none;\n ", ";", active && "\n background-color: ".concat(theme.colors.divider.dark, ";\n "), ";" + (process.env.NODE_ENV === "production" ? "" : ";label:tableRowStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQjhGIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IENoZXZyb25Qcm9wcyB9IGZyb20gJy4vVGFibGVSb3cudHlwZXMnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVSb3dTdHlsZXMgPSBjc3NgXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5kaXZpZGVyLmRhcmt9O1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBoZWlnaHQ6IDQ4cHg7XG5gXG5cbnR5cGUgVGFibGVSb3dQcm9wcyA9IHtcbiAgYWN0aXZlPzogYm9vbGVhblxuICBleHBhbmRlZDogYm9vbGVhblxuICBob3ZlckNvbG9yOiBib29sZWFuXG4gIHN1YlJvdzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdGFibGVSb3dTdHlsZXMgPSAoeyBhY3RpdmUsIGV4cGFuZGVkLCBob3ZlckNvbG9yLCBzdWJSb3cgfTogVGFibGVSb3dQcm9wcykgPT4gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlUm93U3R5bGVzIH19XG5cbiAgJjpob3ZlciB7XG4gICAgJHtob3ZlckNvbG9yICYmXG4gICAgYFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGB9O1xuICB9XG5cbiAgJHtleHBhbmRlZCAmJlxuICBgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAke1xuICAgICAgICBob3ZlckNvbG9yICYmXG4gICAgICAgIGBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuZGl2aWRlci5kYXJrfTtcbiAgICAgIGBcbiAgICAgIH07XG4gICAgfVxuICBgfTtcblxuICAke3N1YlJvdyAmJlxuICAhZXhwYW5kZWQgJiZcbiAgYFxuICAgIGRpc3BsYXk6IG5vbmU7XG4gIGB9O1xuXG4gICR7YWN0aXZlICYmXG4gIGBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5kaXZpZGVyLmRhcmt9O1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IGNoZXZyb25TdHlsZXMgPSAoeyBleHBhbmRlZCB9OiBDaGV2cm9uUHJvcHMpID0+IGNzc2BcbiAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnByaW1hcnkuZGFya307XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICB0cmFuc2Zvcm06ICR7ZXhwYW5kZWQgJiYgJ3JvdGF0ZSg5MGRlZyknfTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbmBcbiJdfQ== */");
|
|
16
|
+
};
|
|
17
|
+
export var chevronStyles = function chevronStyles(_ref2) {
|
|
18
|
+
var expanded = _ref2.expanded;
|
|
19
|
+
return /*#__PURE__*/css("color:", theme.colors.primary.dark, ";font-size:1.5rem;transform:", expanded && 'rotate(90deg)', ";transition-duration:250ms;transition-property:transform;" + (process.env.NODE_ENV === "production" ? "" : ";label:chevronStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzRGdFIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IENoZXZyb25Qcm9wcyB9IGZyb20gJy4vVGFibGVSb3cudHlwZXMnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVSb3dTdHlsZXMgPSBjc3NgXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5kaXZpZGVyLmRhcmt9O1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBoZWlnaHQ6IDQ4cHg7XG5gXG5cbnR5cGUgVGFibGVSb3dQcm9wcyA9IHtcbiAgYWN0aXZlPzogYm9vbGVhblxuICBleHBhbmRlZDogYm9vbGVhblxuICBob3ZlckNvbG9yOiBib29sZWFuXG4gIHN1YlJvdzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdGFibGVSb3dTdHlsZXMgPSAoeyBhY3RpdmUsIGV4cGFuZGVkLCBob3ZlckNvbG9yLCBzdWJSb3cgfTogVGFibGVSb3dQcm9wcykgPT4gY3NzYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlUm93U3R5bGVzIH19XG5cbiAgJjpob3ZlciB7XG4gICAgJHtob3ZlckNvbG9yICYmXG4gICAgYFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGB9O1xuICB9XG5cbiAgJHtleHBhbmRlZCAmJlxuICBgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAke1xuICAgICAgICBob3ZlckNvbG9yICYmXG4gICAgICAgIGBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuZGl2aWRlci5kYXJrfTtcbiAgICAgIGBcbiAgICAgIH07XG4gICAgfVxuICBgfTtcblxuICAke3N1YlJvdyAmJlxuICAhZXhwYW5kZWQgJiZcbiAgYFxuICAgIGRpc3BsYXk6IG5vbmU7XG4gIGB9O1xuXG4gICR7YWN0aXZlICYmXG4gIGBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5kaXZpZGVyLmRhcmt9O1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IGNoZXZyb25TdHlsZXMgPSAoeyBleHBhbmRlZCB9OiBDaGV2cm9uUHJvcHMpID0+IGNzc2BcbiAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnByaW1hcnkuZGFya307XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICB0cmFuc2Zvcm06ICR7ZXhwYW5kZWQgJiYgJ3JvdGF0ZSg5MGRlZyknfTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbmBcbiJdfQ== */");
|
|
20
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Header, Row } from '../DynamicTable.types';
|
|
2
|
+
export type TableRowProps = {
|
|
3
|
+
expandable?: boolean;
|
|
4
|
+
headerRow: Header[];
|
|
5
|
+
isActive: boolean;
|
|
6
|
+
isExpanded: boolean;
|
|
7
|
+
isSubRow?: boolean;
|
|
8
|
+
onClickRow?: (id: string) => void;
|
|
9
|
+
onSelectRow: (id: string) => void;
|
|
10
|
+
row: Row;
|
|
11
|
+
selectableRows: boolean;
|
|
12
|
+
selectedRows: string[];
|
|
13
|
+
setIsExpanded: React.Dispatch<React.SetStateAction<boolean>>;
|
|
14
|
+
showExpander?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export type ChevronProps = {
|
|
17
|
+
expanded: boolean;
|
|
18
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TableRowGroupProps } from './TableRowGroup.types';
|
|
3
|
+
declare const TableRowGroup: React.MemoExoticComponent<({ activeRow, expandable, headerRow, onClickRow, onSelectRow, row, selectableRows, selectedRows, }: TableRowGroupProps) => React.JSX.Element>;
|
|
4
|
+
export default TableRowGroup;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import TableRow from './TableRow';
|
|
9
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
10
|
+
var TableRowGroup = /*#__PURE__*/React.memo(function (_ref) {
|
|
11
|
+
var activeRow = _ref.activeRow,
|
|
12
|
+
expandable = _ref.expandable,
|
|
13
|
+
headerRow = _ref.headerRow,
|
|
14
|
+
onClickRow = _ref.onClickRow,
|
|
15
|
+
onSelectRow = _ref.onSelectRow,
|
|
16
|
+
row = _ref.row,
|
|
17
|
+
selectableRows = _ref.selectableRows,
|
|
18
|
+
selectedRows = _ref.selectedRows;
|
|
19
|
+
var _React$useState = React.useState(false),
|
|
20
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
21
|
+
isExpanded = _React$useState2[0],
|
|
22
|
+
setIsExpanded = _React$useState2[1];
|
|
23
|
+
var subRows = row.subRows || [];
|
|
24
|
+
var hasSubRows = subRows.length > 0;
|
|
25
|
+
return _jsxs(_Fragment, {
|
|
26
|
+
children: [_jsx(TableRow, {
|
|
27
|
+
expandable: expandable,
|
|
28
|
+
headerRow: headerRow,
|
|
29
|
+
isActive: activeRow ? row.id === activeRow : false,
|
|
30
|
+
isExpanded: isExpanded,
|
|
31
|
+
onClickRow: onClickRow,
|
|
32
|
+
onSelectRow: onSelectRow,
|
|
33
|
+
row: row,
|
|
34
|
+
selectableRows: selectableRows,
|
|
35
|
+
selectedRows: selectedRows,
|
|
36
|
+
setIsExpanded: setIsExpanded,
|
|
37
|
+
showExpander: hasSubRows
|
|
38
|
+
}), subRows.map(function (subRow) {
|
|
39
|
+
return _jsx(TableRow, {
|
|
40
|
+
expandable: expandable,
|
|
41
|
+
headerRow: headerRow,
|
|
42
|
+
isActive: activeRow ? subRow.id === activeRow : false,
|
|
43
|
+
isExpanded: isExpanded,
|
|
44
|
+
isSubRow: true,
|
|
45
|
+
onClickRow: onClickRow,
|
|
46
|
+
onSelectRow: onSelectRow,
|
|
47
|
+
row: subRow,
|
|
48
|
+
selectableRows: selectableRows,
|
|
49
|
+
selectedRows: selectedRows,
|
|
50
|
+
setIsExpanded: setIsExpanded
|
|
51
|
+
}, subRow.id);
|
|
52
|
+
})]
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
export default TableRowGroup;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Header, Row } from '../DynamicTable.types';
|
|
2
|
+
export type TableRowGroupProps = {
|
|
3
|
+
activeRow?: string;
|
|
4
|
+
expandable?: boolean;
|
|
5
|
+
headerRow: Header[];
|
|
6
|
+
onClickRow?: (id: string) => void;
|
|
7
|
+
onSelectRow: (id: string) => void;
|
|
8
|
+
row: Row;
|
|
9
|
+
selectableRows: boolean;
|
|
10
|
+
selectedRows: string[];
|
|
11
|
+
};
|
|
12
|
+
export type ChevronProps = {
|
|
13
|
+
expanded: boolean;
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
var _excluded = ["activeRow", "descending", "expandable", "height", "headerRow", "isLoading", "onClickRow", "onSelectRow", "onSort", "rows", "selectedRows", "sortingBy", "stickyHeader"];
|
|
3
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
7
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
9
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
11
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
12
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
13
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
14
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
15
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
16
|
+
import React, { useEffect, useMemo, useState } from 'react';
|
|
17
|
+
import TableBody from './Body/TableBody';
|
|
18
|
+
import { tableStyles, tableWrapperStyles } from './DynamicTable.styles';
|
|
19
|
+
import TableHead from './Head/TableHead';
|
|
20
|
+
import createSkeletonRows from './Skeleton/helpers/createSkeletonRows';
|
|
21
|
+
import { fadeStyles } from './Skeleton/SkeletonTable.styles';
|
|
22
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
23
|
+
var DynamicTable = function DynamicTable(_ref) {
|
|
24
|
+
var activeRow = _ref.activeRow,
|
|
25
|
+
descending = _ref.descending,
|
|
26
|
+
expandable = _ref.expandable,
|
|
27
|
+
height = _ref.height,
|
|
28
|
+
headerRow = _ref.headerRow,
|
|
29
|
+
isLoading = _ref.isLoading,
|
|
30
|
+
onClickRow = _ref.onClickRow,
|
|
31
|
+
onSelectRow = _ref.onSelectRow,
|
|
32
|
+
onSort = _ref.onSort,
|
|
33
|
+
rows = _ref.rows,
|
|
34
|
+
_ref$selectedRows = _ref.selectedRows,
|
|
35
|
+
selectedRows = _ref$selectedRows === void 0 ? [] : _ref$selectedRows,
|
|
36
|
+
sortingBy = _ref.sortingBy,
|
|
37
|
+
stickyHeader = _ref.stickyHeader,
|
|
38
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
39
|
+
// states
|
|
40
|
+
var _useState = useState(sortingBy || ''),
|
|
41
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
42
|
+
sortByKeyValue = _useState2[0],
|
|
43
|
+
setSortByKeyValue = _useState2[1];
|
|
44
|
+
var _useState3 = useState(sortingBy && descending || false),
|
|
45
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
46
|
+
sortDescending = _useState4[0],
|
|
47
|
+
setSortDescending = _useState4[1];
|
|
48
|
+
var selectableRows = !!onSelectRow;
|
|
49
|
+
var skeletonRows = useMemo(function () {
|
|
50
|
+
return createSkeletonRows(headerRow);
|
|
51
|
+
}, [headerRow]);
|
|
52
|
+
useEffect(function () {
|
|
53
|
+
if (onSort) {
|
|
54
|
+
onSort(sortByKeyValue, sortDescending);
|
|
55
|
+
}
|
|
56
|
+
}, [sortDescending, onSort, sortByKeyValue]);
|
|
57
|
+
return _jsxs("div", _objectSpread(_objectSpread({
|
|
58
|
+
css: tableWrapperStyles({
|
|
59
|
+
height: height
|
|
60
|
+
})
|
|
61
|
+
}, rest), {}, {
|
|
62
|
+
children: [_jsxs("table", {
|
|
63
|
+
css: tableStyles,
|
|
64
|
+
"data-cy": !isLoading ? "dynamic-table-isLoaded" : '',
|
|
65
|
+
children: [headerRow && _jsx(TableHead, {
|
|
66
|
+
expandable: expandable,
|
|
67
|
+
headerRow: headerRow,
|
|
68
|
+
onSelectRow: onSelectRow,
|
|
69
|
+
onSort: onSort,
|
|
70
|
+
rows: rows,
|
|
71
|
+
selectableRows: selectableRows,
|
|
72
|
+
selectedRows: selectedRows,
|
|
73
|
+
setSortDescending: setSortDescending,
|
|
74
|
+
setSortByKeyValue: setSortByKeyValue,
|
|
75
|
+
sortDescending: sortDescending,
|
|
76
|
+
sortByKeyValue: sortByKeyValue,
|
|
77
|
+
stickyHeader: stickyHeader
|
|
78
|
+
}), _jsx(TableBody, {
|
|
79
|
+
activeRow: activeRow,
|
|
80
|
+
expandable: expandable,
|
|
81
|
+
headerRow: headerRow,
|
|
82
|
+
onClickRow: onClickRow,
|
|
83
|
+
onSelectRow: onSelectRow,
|
|
84
|
+
rows: !isLoading ? rows : skeletonRows,
|
|
85
|
+
selectableRows: selectableRows,
|
|
86
|
+
selectedRows: selectedRows
|
|
87
|
+
})]
|
|
88
|
+
}), isLoading && _jsx("div", {
|
|
89
|
+
css: fadeStyles
|
|
90
|
+
})]
|
|
91
|
+
}));
|
|
92
|
+
};
|
|
93
|
+
export default /*#__PURE__*/React.memo(DynamicTable);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { theme } from '@dfds-ui/theme';
|
|
2
|
+
import { css } from '@emotion/react';
|
|
3
|
+
export var tableWrapperStyles = function tableWrapperStyles(_ref) {
|
|
4
|
+
var height = _ref.height;
|
|
5
|
+
return /*#__PURE__*/css("color:", theme.colors.text.primary, ";display:flex;flex-direction:column;overflow-x:auto;width:100%;", height && "\n height: ".concat(height, ";\n overflow-y: auto;\n "), ";" + (process.env.NODE_ENV === "production" ? "" : ";label:tableWrapperStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0R5bmFtaWNUYWJsZS5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU93RSIsImZpbGUiOiIuLi8uLi9zcmMvZHluYW1pYy10YWJsZS9EeW5hbWljVGFibGUuc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRoZW1lIH0gZnJvbSAnQGRmZHMtdWkvdGhlbWUnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcblxudHlwZSBUYWJsZVdyYXBwZXJQcm9wcyA9IHtcbiAgaGVpZ2h0Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB0YWJsZVdyYXBwZXJTdHlsZXMgPSAoeyBoZWlnaHQgfTogVGFibGVXcmFwcGVyUHJvcHMpID0+IGNzc2BcbiAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQucHJpbWFyeX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7aGVpZ2h0ICYmXG4gIGBcbiAgICBoZWlnaHQ6ICR7aGVpZ2h0fTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICBgfTtcbmBcblxuZXhwb3J0IGNvbnN0IHRhYmxlU3R5bGVzID0gY3NzYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnByaW1hcnl9O1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgd2lkdGg6IDEwMCU7XG5gXG4iXX0= */");
|
|
6
|
+
};
|
|
7
|
+
export var tableStyles = /*#__PURE__*/css("background-color:", theme.colors.surface.primary, ";font-family:Verdana,sans-serif;font-size:12px;line-height:16px;width:100%;" + (process.env.NODE_ENV === "production" ? "" : ";label:tableStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0R5bmFtaWNUYWJsZS5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFCOEIiLCJmaWxlIjoiLi4vLi4vc3JjL2R5bmFtaWMtdGFibGUvRHluYW1pY1RhYmxlLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aGVtZSB9IGZyb20gJ0BkZmRzLXVpL3RoZW1lJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5cbnR5cGUgVGFibGVXcmFwcGVyUHJvcHMgPSB7XG4gIGhlaWdodD86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgdGFibGVXcmFwcGVyU3R5bGVzID0gKHsgaGVpZ2h0IH06IFRhYmxlV3JhcHBlclByb3BzKSA9PiBjc3NgXG4gIGNvbG9yOiAke3RoZW1lLmNvbG9ycy50ZXh0LnByaW1hcnl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcblxuICAke2hlaWdodCAmJlxuICBgXG4gICAgaGVpZ2h0OiAke2hlaWdodH07XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgYH07XG5gXG5cbmV4cG9ydCBjb25zdCB0YWJsZVN0eWxlcyA9IGNzc2BcbiAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5wcmltYXJ5fTtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxMDAlO1xuYFxuIl19 */");
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type Header = {
|
|
3
|
+
displayName: string | React.ReactElement;
|
|
4
|
+
key: string;
|
|
5
|
+
sortKey?: string;
|
|
6
|
+
sortable?: boolean;
|
|
7
|
+
textAlign?: 'center' | 'left' | 'right';
|
|
8
|
+
width?: string;
|
|
9
|
+
};
|
|
10
|
+
export type SubRow = {
|
|
11
|
+
className?: string;
|
|
12
|
+
id?: string;
|
|
13
|
+
[name: string]: any;
|
|
14
|
+
};
|
|
15
|
+
export type Row = {
|
|
16
|
+
className?: string;
|
|
17
|
+
id?: string;
|
|
18
|
+
subRows?: SubRow[];
|
|
19
|
+
[name: string]: any;
|
|
20
|
+
};
|
|
21
|
+
export type DynamicTableProps = {
|
|
22
|
+
activeRow?: string;
|
|
23
|
+
descending?: boolean;
|
|
24
|
+
expandable?: boolean;
|
|
25
|
+
headerRow: Header[];
|
|
26
|
+
height?: string;
|
|
27
|
+
isLoading?: boolean;
|
|
28
|
+
onClickRow?: (id: string) => void;
|
|
29
|
+
onSelectRow?: (list: string[]) => void;
|
|
30
|
+
onSort?: (value: string, sortDescending: boolean) => void;
|
|
31
|
+
rows: Row[];
|
|
32
|
+
selectedRows?: string[];
|
|
33
|
+
sortingBy?: string;
|
|
34
|
+
stickyHeader?: boolean;
|
|
35
|
+
translate?: 'yes' | 'no';
|
|
36
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TableHeadProps } from './TableHead.types';
|
|
3
|
+
declare const TableHead: React.MemoExoticComponent<({ expandable, headerRow, onSelectRow, onSort, rows, selectableRows, selectedRows, setSortDescending, setSortByKeyValue, sortDescending, sortByKeyValue, stickyHeader, }: TableHeadProps) => React.JSX.Element>;
|
|
4
|
+
export default TableHead;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import { ChevronDown } from '@dfds-ui/icons/system';
|
|
3
|
+
import { Checkbox } from '@dfds-ui/react-components';
|
|
4
|
+
import { chevronStyles, tableHeadCellCheckboxStyles, tableHeadCellExpanderStyles, tableHeadCellStyles } from './TableHead.styles';
|
|
5
|
+
import { genericTableRowStyles } from '../Body/TableRow.styles';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
7
|
+
var TableHead = /*#__PURE__*/React.memo(function (_ref) {
|
|
8
|
+
var expandable = _ref.expandable,
|
|
9
|
+
headerRow = _ref.headerRow,
|
|
10
|
+
onSelectRow = _ref.onSelectRow,
|
|
11
|
+
onSort = _ref.onSort,
|
|
12
|
+
rows = _ref.rows,
|
|
13
|
+
selectableRows = _ref.selectableRows,
|
|
14
|
+
selectedRows = _ref.selectedRows,
|
|
15
|
+
setSortDescending = _ref.setSortDescending,
|
|
16
|
+
setSortByKeyValue = _ref.setSortByKeyValue,
|
|
17
|
+
sortDescending = _ref.sortDescending,
|
|
18
|
+
sortByKeyValue = _ref.sortByKeyValue,
|
|
19
|
+
stickyHeader = _ref.stickyHeader;
|
|
20
|
+
var toggleAll = useCallback(function () {
|
|
21
|
+
if (!onSelectRow) return;
|
|
22
|
+
var newArray = [];
|
|
23
|
+
if (selectedRows.length === 0) {
|
|
24
|
+
for (var i = 0; i < rows.length; i++) {
|
|
25
|
+
newArray.push(rows[i].id || '');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
onSelectRow(newArray);
|
|
29
|
+
}, [onSelectRow, rows, selectedRows]);
|
|
30
|
+
var sort = useCallback(function (oldKey, newKey) {
|
|
31
|
+
if (!onSort) return;
|
|
32
|
+
if (oldKey !== newKey) {
|
|
33
|
+
setSortByKeyValue(newKey);
|
|
34
|
+
setSortDescending(false);
|
|
35
|
+
} else {
|
|
36
|
+
setSortDescending(!sortDescending);
|
|
37
|
+
}
|
|
38
|
+
}, [onSort, setSortDescending, setSortByKeyValue, sortDescending]);
|
|
39
|
+
return _jsx("thead", {
|
|
40
|
+
children: _jsxs("tr", {
|
|
41
|
+
css: genericTableRowStyles,
|
|
42
|
+
children: [expandable && _jsx("th", {
|
|
43
|
+
css: tableHeadCellExpanderStyles({
|
|
44
|
+
stickyHeader: stickyHeader
|
|
45
|
+
})
|
|
46
|
+
}), selectableRows && _jsx("th", {
|
|
47
|
+
css: tableHeadCellCheckboxStyles({
|
|
48
|
+
stickyHeader: stickyHeader
|
|
49
|
+
}),
|
|
50
|
+
children: _jsx(Checkbox, {
|
|
51
|
+
checked: selectedRows.length > 0,
|
|
52
|
+
indeterminate: true,
|
|
53
|
+
name: "all",
|
|
54
|
+
onChange: toggleAll,
|
|
55
|
+
size: "small"
|
|
56
|
+
})
|
|
57
|
+
}), headerRow.map(function (headerCell, i) {
|
|
58
|
+
var sortKey = headerCell.sortKey || headerCell.key;
|
|
59
|
+
var clickHandler = function clickHandler() {
|
|
60
|
+
return headerCell.sortable && sort(sortByKeyValue, sortKey);
|
|
61
|
+
};
|
|
62
|
+
var showChevron = String(sortByKeyValue === sortKey);
|
|
63
|
+
return _jsx("th", {
|
|
64
|
+
align: headerCell.textAlign,
|
|
65
|
+
css: tableHeadCellStyles({
|
|
66
|
+
align: headerCell.textAlign,
|
|
67
|
+
customWidth: headerCell.width,
|
|
68
|
+
sortByKey: onSort,
|
|
69
|
+
sortable: headerCell.sortable,
|
|
70
|
+
stickyHeader: stickyHeader
|
|
71
|
+
}),
|
|
72
|
+
onClick: clickHandler,
|
|
73
|
+
children: _jsxs("div", {
|
|
74
|
+
children: [_jsx("span", {
|
|
75
|
+
children: headerCell.displayName
|
|
76
|
+
}), headerCell.sortable && onSort && _jsx(ChevronDown, {
|
|
77
|
+
css: chevronStyles({
|
|
78
|
+
descending: String(sortDescending),
|
|
79
|
+
show: showChevron
|
|
80
|
+
})
|
|
81
|
+
})]
|
|
82
|
+
})
|
|
83
|
+
}, i);
|
|
84
|
+
})]
|
|
85
|
+
})
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
export default TableHead;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ChevronProps, TableHeadCellCExpanderProps, TableHeadCellCheckboxProps, TableHeadCellProps } from './TableHead.types';
|
|
2
|
+
export declare const tableHeadCellStyles: ({ align, customWidth, sortable, sortByKey, stickyHeader, }: TableHeadCellProps) => import("@emotion/utils").SerializedStyles;
|
|
3
|
+
export declare const tableHeadCellExpanderStyles: ({ stickyHeader }: TableHeadCellCExpanderProps) => import("@emotion/utils").SerializedStyles;
|
|
4
|
+
export declare const tableHeadCellCheckboxStyles: ({ stickyHeader }: TableHeadCellCheckboxProps) => import("@emotion/utils").SerializedStyles;
|
|
5
|
+
export declare const chevronStyles: ({ descending, show }: ChevronProps) => import("@emotion/utils").SerializedStyles;
|