@dfds-ui/experiences 0.10.0 → 1.0.0-alpha.8d4fd23a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/cjs/dynamic-table/Body/TableBody.d.ts +4 -0
  2. package/cjs/dynamic-table/Body/TableBody.js +57 -0
  3. package/cjs/dynamic-table/Body/TableBody.types.d.ts +10 -0
  4. package/cjs/dynamic-table/Body/TableBody.types.js +5 -0
  5. package/cjs/dynamic-table/Body/TableCell.d.ts +4 -0
  6. package/cjs/dynamic-table/Body/TableCell.js +26 -0
  7. package/cjs/dynamic-table/Body/TableCell.styles.d.ts +14 -0
  8. package/cjs/dynamic-table/Body/TableCell.styles.js +43 -0
  9. package/cjs/dynamic-table/Body/TableCell.types.d.ts +5 -0
  10. package/cjs/dynamic-table/Body/TableCell.types.js +5 -0
  11. package/cjs/dynamic-table/Body/TableRow.d.ts +4 -0
  12. package/cjs/dynamic-table/Body/TableRow.js +51 -0
  13. package/cjs/dynamic-table/Body/TableRow.styles.d.ts +10 -0
  14. package/cjs/dynamic-table/Body/TableRow.styles.js +39 -0
  15. package/cjs/dynamic-table/Body/TableRow.types.d.ts +10 -0
  16. package/cjs/dynamic-table/Body/TableRow.types.js +5 -0
  17. package/cjs/dynamic-table/DynamicTable.d.ts +4 -29
  18. package/cjs/dynamic-table/DynamicTable.js +55 -174
  19. package/cjs/dynamic-table/DynamicTable.styles.d.ts +12 -5
  20. package/cjs/dynamic-table/DynamicTable.styles.js +23 -29
  21. package/cjs/dynamic-table/DynamicTable.types.d.ts +26 -0
  22. package/cjs/dynamic-table/DynamicTable.types.js +5 -0
  23. package/cjs/dynamic-table/Head/TableHead.d.ts +4 -0
  24. package/cjs/dynamic-table/Head/TableHead.js +85 -0
  25. package/cjs/dynamic-table/Head/TableHead.styles.d.ts +24 -0
  26. package/cjs/dynamic-table/Head/TableHead.styles.js +89 -0
  27. package/cjs/dynamic-table/Head/TableHead.types.d.ts +33 -0
  28. package/cjs/dynamic-table/Head/TableHead.types.js +5 -0
  29. package/cjs/dynamic-table/Skeleton/SkeletonTable.styles.d.ts +4 -0
  30. package/cjs/dynamic-table/Skeleton/SkeletonTable.styles.js +28 -0
  31. package/cjs/dynamic-table/Skeleton/helpers/createSkeletonRows.d.ts +3 -0
  32. package/cjs/dynamic-table/Skeleton/helpers/createSkeletonRows.js +40 -0
  33. package/cjs/dynamic-table/helpers/getHeaderRow.d.ts +3 -0
  34. package/cjs/dynamic-table/helpers/getHeaderRow.js +27 -0
  35. package/cjs/dynamic-table/stories/headerRow.d.ts +3 -0
  36. package/cjs/dynamic-table/stories/headerRow.js +26 -0
  37. package/cjs/dynamic-table/stories/headerRowSortable.d.ts +3 -0
  38. package/cjs/dynamic-table/stories/headerRowSortable.js +28 -0
  39. package/cjs/dynamic-table/stories/tableRows.d.ts +3 -0
  40. package/cjs/dynamic-table/stories/tableRows.js +76 -0
  41. package/dynamic-table/Body/TableBody.d.ts +4 -0
  42. package/dynamic-table/Body/TableBody.js +52 -0
  43. package/dynamic-table/Body/TableBody.types.d.ts +10 -0
  44. package/dynamic-table/Body/TableBody.types.js +1 -0
  45. package/dynamic-table/Body/TableCell.d.ts +4 -0
  46. package/dynamic-table/Body/TableCell.js +13 -0
  47. package/dynamic-table/Body/TableCell.styles.d.ts +14 -0
  48. package/dynamic-table/Body/TableCell.styles.js +32 -0
  49. package/dynamic-table/Body/TableCell.types.d.ts +5 -0
  50. package/dynamic-table/Body/TableCell.types.js +1 -0
  51. package/dynamic-table/Body/TableRow.d.ts +4 -0
  52. package/dynamic-table/Body/TableRow.js +39 -0
  53. package/dynamic-table/Body/TableRow.styles.d.ts +10 -0
  54. package/dynamic-table/Body/TableRow.styles.js +23 -0
  55. package/dynamic-table/Body/TableRow.types.d.ts +10 -0
  56. package/dynamic-table/Body/TableRow.types.js +1 -0
  57. package/dynamic-table/DynamicTable.d.ts +4 -29
  58. package/dynamic-table/DynamicTable.js +55 -189
  59. package/dynamic-table/DynamicTable.styles.d.ts +12 -5
  60. package/dynamic-table/DynamicTable.styles.js +16 -17
  61. package/dynamic-table/DynamicTable.types.d.ts +26 -0
  62. package/dynamic-table/DynamicTable.types.js +1 -0
  63. package/dynamic-table/Head/TableHead.d.ts +4 -0
  64. package/dynamic-table/Head/TableHead.js +69 -0
  65. package/dynamic-table/Head/TableHead.styles.d.ts +24 -0
  66. package/dynamic-table/Head/TableHead.styles.js +72 -0
  67. package/dynamic-table/Head/TableHead.types.d.ts +33 -0
  68. package/dynamic-table/Head/TableHead.types.js +1 -0
  69. package/dynamic-table/Skeleton/SkeletonTable.styles.d.ts +4 -0
  70. package/dynamic-table/Skeleton/SkeletonTable.styles.js +18 -0
  71. package/dynamic-table/Skeleton/helpers/createSkeletonRows.d.ts +3 -0
  72. package/dynamic-table/Skeleton/helpers/createSkeletonRows.js +43 -0
  73. package/dynamic-table/helpers/getHeaderRow.d.ts +3 -0
  74. package/dynamic-table/helpers/getHeaderRow.js +19 -0
  75. package/dynamic-table/stories/headerRow.d.ts +3 -0
  76. package/dynamic-table/stories/headerRow.js +19 -0
  77. package/dynamic-table/stories/headerRowSortable.d.ts +3 -0
  78. package/dynamic-table/stories/headerRowSortable.js +21 -0
  79. package/dynamic-table/stories/tableRows.d.ts +3 -0
  80. package/dynamic-table/stories/tableRows.js +67 -0
  81. package/package.json +9 -9
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const headerRowSortable = [{
8
+ displayName: 'ID',
9
+ key: 'id',
10
+ sortable: true
11
+ }, {
12
+ displayName: 'Pallets',
13
+ key: 'pallets'
14
+ }, {
15
+ displayName: 'From',
16
+ key: 'from',
17
+ sortable: true
18
+ }, {
19
+ displayName: 'To',
20
+ key: 'to',
21
+ sortable: true
22
+ }, {
23
+ displayName: 'Price',
24
+ key: 'price',
25
+ textAlign: 'right'
26
+ }];
27
+ var _default = headerRowSortable;
28
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import { Row } from '../DynamicTable.types';
2
+ declare const tableRows: Row[];
3
+ export default tableRows;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _react2 = require("@emotion/react");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ const Currency = () => (0, _react2.jsx)("span", {
15
+ style: {
16
+ fontSize: '10px'
17
+ }
18
+ }, "EUR");
19
+
20
+ const tableRows = [{
21
+ id: '1001',
22
+ pallets: 10,
23
+ from: 'Copenhagen',
24
+ to: 'Stockholm',
25
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "200"))
26
+ }, {
27
+ id: '1002',
28
+ pallets: 41,
29
+ from: 'Istanbul',
30
+ to: 'London',
31
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "320"))
32
+ }, {
33
+ id: '1003',
34
+ pallets: 9,
35
+ from: 'Delphi',
36
+ to: 'Madrid',
37
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "1574"))
38
+ }, {
39
+ id: '1004',
40
+ pallets: 52,
41
+ from: 'Stockholm',
42
+ to: 'Amsterdam',
43
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "945.50"))
44
+ }, {
45
+ id: '1005',
46
+ pallets: 4,
47
+ from: 'London',
48
+ to: 'Paris',
49
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "850"))
50
+ }, {
51
+ id: '1006',
52
+ pallets: 33,
53
+ from: 'Madrid',
54
+ to: 'Berlin',
55
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "2000"))
56
+ }, {
57
+ id: '1007',
58
+ pallets: 17,
59
+ from: 'Berlin',
60
+ to: 'Oslo',
61
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "887"))
62
+ }, {
63
+ id: '1008',
64
+ pallets: 14,
65
+ from: 'Oslo',
66
+ to: 'Cairo',
67
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "2400"))
68
+ }, {
69
+ id: '1009',
70
+ pallets: 23,
71
+ from: 'Paris',
72
+ to: 'Rome',
73
+ price: (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(Currency, null), " ", (0, _react2.jsx)("strong", null, "1280.30"))
74
+ }];
75
+ var _default = tableRows;
76
+ exports.default = _default;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { TableBodyProps } from './TableBody.types';
3
+ declare const TableBody: React.MemoExoticComponent<({ activeRow, headerRow, onClickRow, onSelectRow, rows, selectableRows, selectedRows }: TableBodyProps) => JSX.Element>;
4
+ export default TableBody;
@@ -0,0 +1,52 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+
3
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+
5
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6
+
7
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
8
+
9
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
10
+
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
12
+
13
+ import React, { useCallback } from 'react';
14
+ import TableRow from './TableRow';
15
+ import { jsx as ___EmotionJSX } from "@emotion/react";
16
+ var TableBody = /*#__PURE__*/React.memo(function (_ref) {
17
+ var activeRow = _ref.activeRow,
18
+ headerRow = _ref.headerRow,
19
+ onClickRow = _ref.onClickRow,
20
+ onSelectRow = _ref.onSelectRow,
21
+ rows = _ref.rows,
22
+ selectableRows = _ref.selectableRows,
23
+ selectedRows = _ref.selectedRows;
24
+ // update state and callback functions
25
+ var updateSelectedRows = useCallback(function (id) {
26
+ if (onSelectRow && selectableRows) {
27
+ var selection = _toConsumableArray(selectedRows);
28
+
29
+ if (selectedRows.includes(id)) {
30
+ var index = selectedRows.indexOf(id);
31
+ if (index !== -1) selection.splice(index, 1);
32
+ onSelectRow(selection);
33
+ } else {
34
+ selection.push(id);
35
+ onSelectRow(selection);
36
+ }
37
+ }
38
+ }, [selectableRows, selectedRows]);
39
+ return ___EmotionJSX("tbody", null, rows.map(function (row, index) {
40
+ return ___EmotionJSX(TableRow, {
41
+ headerRow: headerRow,
42
+ isActive: activeRow ? row.id === activeRow : undefined,
43
+ key: index,
44
+ onClickRow: onClickRow,
45
+ onSelectRow: updateSelectedRows,
46
+ row: row,
47
+ selectableRows: selectableRows,
48
+ selectedRows: selectedRows
49
+ });
50
+ }));
51
+ });
52
+ export default TableBody;
@@ -0,0 +1,10 @@
1
+ import { Header, Row } from '../DynamicTable.types';
2
+ export declare type TableBodyProps = {
3
+ activeRow?: string;
4
+ headerRow: Header[];
5
+ onClickRow?: (id: string) => void;
6
+ onSelectRow?: (list: string[]) => void;
7
+ rows: Row[];
8
+ selectableRows: boolean;
9
+ selectedRows: string[];
10
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { TableCellProps } from './TableCell.types';
3
+ declare const TableCell: React.MemoExoticComponent<({ children, headerCell }: TableCellProps) => JSX.Element>;
4
+ export default TableCell;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { TableCellStyled } from './TableCell.styles';
3
+ import { jsx as ___EmotionJSX } from "@emotion/react";
4
+ var TableCell = /*#__PURE__*/React.memo(function (_ref) {
5
+ var children = _ref.children,
6
+ headerCell = _ref.headerCell;
7
+ return ___EmotionJSX(TableCellStyled, {
8
+ align: headerCell === null || headerCell === void 0 ? void 0 : headerCell.textAlign,
9
+ "data-cy": "dynamic-table-cell-".concat(headerCell === null || headerCell === void 0 ? void 0 : headerCell.key),
10
+ customWidth: headerCell === null || headerCell === void 0 ? void 0 : headerCell.width
11
+ }, children);
12
+ });
13
+ export default TableCell;
@@ -0,0 +1,14 @@
1
+ export declare const genericTableCellStyle: import("@emotion/react").SerializedStyles;
2
+ declare type TableCellProps = {
3
+ align?: 'center' | 'left' | 'right';
4
+ customWidth?: string;
5
+ };
6
+ export declare const TableCellStyled: import("@emotion/styled").StyledComponent<{
7
+ theme?: import("@emotion/react").Theme | undefined;
8
+ as?: import("react").ElementType<any> | undefined;
9
+ } & TableCellProps, import("react").DetailedHTMLProps<import("react").TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>, {}>;
10
+ export declare const TableCellCheckboxStyled: import("@emotion/styled").StyledComponent<{
11
+ theme?: import("@emotion/react").Theme | undefined;
12
+ as?: import("react").ElementType<any> | undefined;
13
+ }, import("react").DetailedHTMLProps<import("react").TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>, {}>;
14
+ export {};
@@ -0,0 +1,32 @@
1
+ import _styled from "@emotion/styled/base";
2
+
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4
+
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6
+
7
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
+
9
+ import { theme } from '@dfds-ui/theme';
10
+ import { css } from '@emotion/react';
11
+ export var genericTableCellStyle = /*#__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:genericTableCellStyle;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSXdDIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aGVtZSB9IGZyb20gJ0BkZmRzLXVpL3RoZW1lJ1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcblxuZXhwb3J0IGNvbnN0IGdlbmVyaWNUYWJsZUNlbGxTdHlsZSA9IGNzc2BcbiAgcGFkZGluZzogMCAke3RoZW1lLnNwYWNpbmcueHN9O1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAke3RoZW1lLnNwYWNpbmcuc307XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5gXG5cbnR5cGUgVGFibGVDZWxsUHJvcHMgPSB7XG4gIGFsaWduPzogJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnXG4gIGN1c3RvbVdpZHRoPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBUYWJsZUNlbGxTdHlsZWQgPSBzdHlsZWQudGQ8VGFibGVDZWxsUHJvcHM+YFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlIH19XG5cbiAgbWluLXdpZHRoOiAkeyh7IGN1c3RvbVdpZHRoIH0pID0+IGN1c3RvbVdpZHRoIHx8ICdhdXRvJ307XG4gIHRleHQtYWxpZ246ICR7KHsgYWxpZ24gfSkgPT4gYWxpZ24gfHwgJ2xlZnQnfTtcbiAgd2lkdGg6ICR7KHsgY3VzdG9tV2lkdGggfSkgPT4gY3VzdG9tV2lkdGggfHwgJ2F1dG8nfTtcbmBcblxuZXhwb3J0IGNvbnN0IFRhYmxlQ2VsbENoZWNrYm94U3R5bGVkID0gc3R5bGVkLnRkYFxuICAke3sgLi4uZ2VuZXJpY1RhYmxlQ2VsbFN0eWxlIH19XG5cbiAgbWF4LXdpZHRoOiA0MHB4O1xuICB3aWR0aDogNDBweDtcbmBcbiJdfQ== */");
12
+ export var TableCellStyled = _styled("td", process.env.NODE_ENV === "production" ? {
13
+ target: "e1uuobsr1"
14
+ } : {
15
+ target: "e1uuobsr1",
16
+ label: "TableCellStyled"
17
+ })(_objectSpread({}, genericTableCellStyle), " min-width:", function (_ref) {
18
+ var customWidth = _ref.customWidth;
19
+ return customWidth || 'auto';
20
+ }, ";text-align:", function (_ref2) {
21
+ var align = _ref2.align;
22
+ return align || 'left';
23
+ }, ";width:", function (_ref3) {
24
+ var customWidth = _ref3.customWidth;
25
+ return customWidth || 'auto';
26
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUJ3RCIsImZpbGUiOiIuLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVDZWxsU3R5bGUgPSBjc3NgXG4gIHBhZGRpbmc6IDAgJHt0aGVtZS5zcGFjaW5nLnhzfTtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctbGVmdDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctcmlnaHQ6ICR7dGhlbWUuc3BhY2luZy5zfTtcbiAgfVxuYFxuXG50eXBlIFRhYmxlQ2VsbFByb3BzID0ge1xuICBhbGlnbj86ICdjZW50ZXInIHwgJ2xlZnQnIHwgJ3JpZ2h0J1xuICBjdXN0b21XaWR0aD86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgVGFibGVDZWxsU3R5bGVkID0gc3R5bGVkLnRkPFRhYmxlQ2VsbFByb3BzPmBcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZSB9fVxuXG4gIG1pbi13aWR0aDogJHsoeyBjdXN0b21XaWR0aCB9KSA9PiBjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuICB0ZXh0LWFsaWduOiAkeyh7IGFsaWduIH0pID0+IGFsaWduIHx8ICdsZWZ0J307XG4gIHdpZHRoOiAkeyh7IGN1c3RvbVdpZHRoIH0pID0+IGN1c3RvbVdpZHRoIHx8ICdhdXRvJ307XG5gXG5cbmV4cG9ydCBjb25zdCBUYWJsZUNlbGxDaGVja2JveFN0eWxlZCA9IHN0eWxlZC50ZGBcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZSB9fVxuXG4gIG1heC13aWR0aDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG5gXG4iXX0= */"));
27
+ export var TableCellCheckboxStyled = _styled("td", process.env.NODE_ENV === "production" ? {
28
+ target: "e1uuobsr0"
29
+ } : {
30
+ target: "e1uuobsr0",
31
+ label: "TableCellCheckboxStyled"
32
+ })(_objectSpread({}, genericTableCellStyle), " max-width:40px;width:40px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVDZWxsLnN0eWxlcy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkJnRCIsImZpbGUiOiIuLi8uLi8uLi9zcmMvZHluYW1pYy10YWJsZS9Cb2R5L1RhYmxlQ2VsbC5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVDZWxsU3R5bGUgPSBjc3NgXG4gIHBhZGRpbmc6IDAgJHt0aGVtZS5zcGFjaW5nLnhzfTtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctbGVmdDogJHt0aGVtZS5zcGFjaW5nLnN9O1xuICB9XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctcmlnaHQ6ICR7dGhlbWUuc3BhY2luZy5zfTtcbiAgfVxuYFxuXG50eXBlIFRhYmxlQ2VsbFByb3BzID0ge1xuICBhbGlnbj86ICdjZW50ZXInIHwgJ2xlZnQnIHwgJ3JpZ2h0J1xuICBjdXN0b21XaWR0aD86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgVGFibGVDZWxsU3R5bGVkID0gc3R5bGVkLnRkPFRhYmxlQ2VsbFByb3BzPmBcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZSB9fVxuXG4gIG1pbi13aWR0aDogJHsoeyBjdXN0b21XaWR0aCB9KSA9PiBjdXN0b21XaWR0aCB8fCAnYXV0byd9O1xuICB0ZXh0LWFsaWduOiAkeyh7IGFsaWduIH0pID0+IGFsaWduIHx8ICdsZWZ0J307XG4gIHdpZHRoOiAkeyh7IGN1c3RvbVdpZHRoIH0pID0+IGN1c3RvbVdpZHRoIHx8ICdhdXRvJ307XG5gXG5cbmV4cG9ydCBjb25zdCBUYWJsZUNlbGxDaGVja2JveFN0eWxlZCA9IHN0eWxlZC50ZGBcbiAgJHt7IC4uLmdlbmVyaWNUYWJsZUNlbGxTdHlsZSB9fVxuXG4gIG1heC13aWR0aDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG5gXG4iXX0= */"));
@@ -0,0 +1,5 @@
1
+ import { Header } from '../DynamicTable.types';
2
+ export declare type TableCellProps = {
3
+ children: React.ReactNode;
4
+ headerCell?: Header;
5
+ };
@@ -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<({ headerRow, isActive, onClickRow, onSelectRow, row, selectableRows, selectedRows }: TableRowProps) => JSX.Element>;
4
+ export default TableRow;
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ import { Checkbox } from '@dfds-ui/forms';
3
+ import TableCell from './TableCell';
4
+ import { TableCellCheckboxStyled } from './TableCell.styles';
5
+ import { TableRowStyled } from './TableRow.styles';
6
+ import { jsx as ___EmotionJSX } from "@emotion/react";
7
+ var TableRow = /*#__PURE__*/React.memo(function (_ref) {
8
+ var headerRow = _ref.headerRow,
9
+ isActive = _ref.isActive,
10
+ onClickRow = _ref.onClickRow,
11
+ onSelectRow = _ref.onSelectRow,
12
+ row = _ref.row,
13
+ selectableRows = _ref.selectableRows,
14
+ selectedRows = _ref.selectedRows;
15
+ return ___EmotionJSX(TableRowStyled, {
16
+ active: isActive,
17
+ hoverColor: !!onClickRow,
18
+ onClick: function onClick() {
19
+ return onClickRow && onClickRow(row.id ? String(row.id) : '');
20
+ }
21
+ }, selectableRows && row.id && ___EmotionJSX(TableCellCheckboxStyled, null, ___EmotionJSX(Checkbox, {
22
+ checked: selectedRows.includes(row.id),
23
+ name: row.id,
24
+ onChange: function onChange() {
25
+ if (!row.id) return;
26
+ onSelectRow(row.id);
27
+ },
28
+ onLabelClick: function onLabelClick(e) {
29
+ e.stopPropagation();
30
+ },
31
+ visualSize: "small"
32
+ })), headerRow.map(function (headerCell, index) {
33
+ return ___EmotionJSX(TableCell, {
34
+ headerCell: headerRow === null || headerRow === void 0 ? void 0 : headerRow[index],
35
+ key: index
36
+ }, row[headerCell.key] || '-');
37
+ }));
38
+ });
39
+ export default TableRow;
@@ -0,0 +1,10 @@
1
+ export declare const genericTableRowStyle: import("@emotion/react").SerializedStyles;
2
+ declare type TableRowProps = {
3
+ active?: boolean;
4
+ hoverColor: boolean;
5
+ };
6
+ export declare const TableRowStyled: import("@emotion/styled").StyledComponent<{
7
+ theme?: import("@emotion/react").Theme | undefined;
8
+ as?: import("react").ElementType<any> | undefined;
9
+ } & TableRowProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, {}>;
10
+ export {};
@@ -0,0 +1,23 @@
1
+ import _styled from "@emotion/styled/base";
2
+
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4
+
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6
+
7
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
+
9
+ import { theme } from '@dfds-ui/theme';
10
+ import { css } from '@emotion/react';
11
+ export var genericTableRowStyle = /*#__PURE__*/css("border-bottom:1px solid ", theme.colors.surface.secondary, ";border-collapse:collapse;height:48px;" + (process.env.NODE_ENV === "production" ? "" : ";label:genericTableRowStyle;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJdUMiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2R5bmFtaWMtdGFibGUvQm9keS9UYWJsZVJvdy5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVSb3dTdHlsZSA9IGNzc2BcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgaGVpZ2h0OiA0OHB4O1xuYFxuXG50eXBlIFRhYmxlUm93UHJvcHMgPSB7XG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgaG92ZXJDb2xvcjogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgVGFibGVSb3dTdHlsZWQgPSBzdHlsZWQudHI8VGFibGVSb3dQcm9wcz5gXG4gICR7eyAuLi5nZW5lcmljVGFibGVSb3dTdHlsZSB9fVxuXG4gICY6aG92ZXIge1xuICAgICR7KHsgaG92ZXJDb2xvciB9KSA9PlxuICAgICAgaG92ZXJDb2xvciAmJlxuICAgICAgYFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICAgIGN1cnNvcjogJHtob3ZlckNvbG9yICYmICdwb2ludGVyJ307XG4gICAgICBgfTtcbiAgfVxuXG4gICR7KHsgYWN0aXZlIH0pID0+XG4gICAgYWN0aXZlICYmXG4gICAgYFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA0MywgNjksIDAuMTIpO1xuICAgIGB9O1xuYFxuIl19 */");
12
+ export var TableRowStyled = _styled("tr", process.env.NODE_ENV === "production" ? {
13
+ target: "e1ozhs4m0"
14
+ } : {
15
+ target: "e1ozhs4m0",
16
+ label: "TableRowStyled"
17
+ })(_objectSpread({}, genericTableRowStyle), " &:hover{", function (_ref) {
18
+ var hoverColor = _ref.hoverColor;
19
+ return hoverColor && "\n background-color: ".concat(theme.colors.surface.secondary, ";\n cursor: ").concat(hoverColor && 'pointer', ";\n ");
20
+ }, ";}", function (_ref2) {
21
+ var active = _ref2.active;
22
+ return active && "\n background-color: rgba(0, 43, 69, 0.12);\n ";
23
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9keW5hbWljLXRhYmxlL0JvZHkvVGFibGVSb3cuc3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlc0QiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2R5bmFtaWMtdGFibGUvQm9keS9UYWJsZVJvdy5zdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5cbmV4cG9ydCBjb25zdCBnZW5lcmljVGFibGVSb3dTdHlsZSA9IGNzc2BcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgaGVpZ2h0OiA0OHB4O1xuYFxuXG50eXBlIFRhYmxlUm93UHJvcHMgPSB7XG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgaG92ZXJDb2xvcjogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgVGFibGVSb3dTdHlsZWQgPSBzdHlsZWQudHI8VGFibGVSb3dQcm9wcz5gXG4gICR7eyAuLi5nZW5lcmljVGFibGVSb3dTdHlsZSB9fVxuXG4gICY6aG92ZXIge1xuICAgICR7KHsgaG92ZXJDb2xvciB9KSA9PlxuICAgICAgaG92ZXJDb2xvciAmJlxuICAgICAgYFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICAgIGN1cnNvcjogJHtob3ZlckNvbG9yICYmICdwb2ludGVyJ307XG4gICAgICBgfTtcbiAgfVxuXG4gICR7KHsgYWN0aXZlIH0pID0+XG4gICAgYWN0aXZlICYmXG4gICAgYFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA0MywgNjksIDAuMTIpO1xuICAgIGB9O1xuYFxuIl19 */"));
@@ -0,0 +1,10 @@
1
+ import { Header, Row } from '../DynamicTable.types';
2
+ export declare type TableRowProps = {
3
+ headerRow: Header[];
4
+ isActive?: boolean;
5
+ onClickRow?: (id: string) => void;
6
+ onSelectRow: (id: string) => void;
7
+ row: Row;
8
+ selectableRows: boolean;
9
+ selectedRows: string[];
10
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,29 +1,4 @@
1
- import { FunctionComponent } from 'react';
2
- declare type DataKey = {
3
- displayName: string;
4
- key: string;
5
- rightAlign?: boolean;
6
- customColumnWidth?: string;
7
- bold?: boolean;
8
- };
9
- declare type DynamicTableProps = {
10
- data: any[];
11
- dataKeys?: DataKey[];
12
- className?: string;
13
- hasHeader?: boolean;
14
- colorScheme?: {
15
- valueKey: string;
16
- colors: any;
17
- };
18
- badgesScheme?: {
19
- valueKey: string;
20
- intentMapping: any;
21
- };
22
- fixedHeight?: string;
23
- stickyHeader?: boolean;
24
- onSortByKey?: (value: string, sortByDescending: boolean) => void;
25
- onSelectFunction?: (list: string[]) => void;
26
- onSelectRow?: (id: string) => void;
27
- };
28
- declare const DynamicTable: FunctionComponent<DynamicTableProps>;
29
- export default DynamicTable;
1
+ import React from 'react';
2
+ import { DynamicTableProps } from './DynamicTable.types';
3
+ declare const _default: React.NamedExoticComponent<DynamicTableProps>;
4
+ export default _default;