@reltio/components 1.4.2079 → 1.4.2080

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 (101) hide show
  1. package/ExpandableSearchInput/ExpandableSearchInput.d.ts +4 -1
  2. package/ExpandableSearchInput/ExpandableSearchInput.js +4 -4
  3. package/ExpandableSearchInput/ExpandableSearchInput.module.css.js +9 -0
  4. package/SegmentsTable/CellRenderer.module.css.js +9 -0
  5. package/SegmentsTable/SegmentsTable.d.ts +13 -0
  6. package/SegmentsTable/SegmentsTable.js +70 -0
  7. package/SegmentsTable/SegmentsTable.module.css.js +9 -0
  8. package/SegmentsTable/SegmentsTable.test.d.ts +1 -0
  9. package/SegmentsTable/SegmentsTable.test.js +165 -0
  10. package/SegmentsTable/components/AttributeCellRenderer/AttributeCellRenderer.d.ts +6 -0
  11. package/SegmentsTable/components/AttributeCellRenderer/AttributeCellRenderer.js +8 -0
  12. package/SegmentsTable/components/AttributeCellRenderer/index.d.ts +1 -0
  13. package/SegmentsTable/components/AttributeCellRenderer/index.js +1 -0
  14. package/SegmentsTable/components/AudienceCountCellRenderer/AudienceCountCellRenderer.d.ts +6 -0
  15. package/SegmentsTable/components/AudienceCountCellRenderer/AudienceCountCellRenderer.js +8 -0
  16. package/SegmentsTable/components/AudienceCountCellRenderer/AudienceCountCellRenderer.module.css.js +9 -0
  17. package/SegmentsTable/components/AudienceCountCellRenderer/index.d.ts +1 -0
  18. package/SegmentsTable/components/AudienceCountCellRenderer/index.js +1 -0
  19. package/SegmentsTable/components/BarCellRenderer/BarCellRenderer.d.ts +9 -0
  20. package/SegmentsTable/components/BarCellRenderer/BarCellRenderer.js +9 -0
  21. package/SegmentsTable/components/BarCellRenderer/BarCellRenderer.module.css.js +9 -0
  22. package/SegmentsTable/components/BarCellRenderer/index.d.ts +1 -0
  23. package/SegmentsTable/components/BarCellRenderer/index.js +1 -0
  24. package/SegmentsTable/components/BarHeadCellRenderer/BarHeadCellRenderer.d.ts +5 -0
  25. package/SegmentsTable/components/BarHeadCellRenderer/BarHeadCellRenderer.js +12 -0
  26. package/SegmentsTable/components/BarHeadCellRenderer/BarHeadCellRenderer.module.css.js +9 -0
  27. package/SegmentsTable/components/BarHeadCellRenderer/index.d.ts +1 -0
  28. package/SegmentsTable/components/BarHeadCellRenderer/index.js +1 -0
  29. package/SegmentsTable/components/HeadCellRenderer/HeadCellRenderer.d.ts +9 -0
  30. package/SegmentsTable/components/HeadCellRenderer/HeadCellRenderer.js +33 -0
  31. package/SegmentsTable/components/HeadCellRenderer/HeadCellRenderer.module.css.js +9 -0
  32. package/SegmentsTable/components/HeadCellRenderer/index.d.ts +1 -0
  33. package/SegmentsTable/components/HeadCellRenderer/index.js +1 -0
  34. package/SegmentsTable/components/LabelCellRenderer/LabelCellRenderer.d.ts +9 -0
  35. package/SegmentsTable/components/LabelCellRenderer/LabelCellRenderer.js +14 -0
  36. package/SegmentsTable/components/LabelCellRenderer/LabelCellRenderer.module.css.js +9 -0
  37. package/SegmentsTable/components/LabelCellRenderer/index.d.ts +1 -0
  38. package/SegmentsTable/components/LabelCellRenderer/index.js +1 -0
  39. package/SegmentsTable/helpers.d.ts +3 -0
  40. package/SegmentsTable/helpers.js +16 -0
  41. package/SegmentsTable/index.d.ts +1 -0
  42. package/SegmentsTable/index.js +1 -0
  43. package/cjs/ExpandableSearchInput/ExpandableSearchInput.d.ts +4 -1
  44. package/cjs/ExpandableSearchInput/ExpandableSearchInput.js +6 -6
  45. package/cjs/ExpandableSearchInput/ExpandableSearchInput.module.css.js +9 -0
  46. package/cjs/SegmentsTable/CellRenderer.module.css.js +9 -0
  47. package/cjs/SegmentsTable/SegmentsTable.d.ts +13 -0
  48. package/cjs/SegmentsTable/SegmentsTable.js +100 -0
  49. package/cjs/SegmentsTable/SegmentsTable.module.css.js +9 -0
  50. package/cjs/SegmentsTable/SegmentsTable.test.d.ts +1 -0
  51. package/cjs/SegmentsTable/SegmentsTable.test.js +170 -0
  52. package/cjs/SegmentsTable/components/AttributeCellRenderer/AttributeCellRenderer.d.ts +6 -0
  53. package/cjs/SegmentsTable/components/AttributeCellRenderer/AttributeCellRenderer.js +15 -0
  54. package/cjs/SegmentsTable/components/AttributeCellRenderer/index.d.ts +1 -0
  55. package/cjs/SegmentsTable/components/AttributeCellRenderer/index.js +5 -0
  56. package/cjs/SegmentsTable/components/AudienceCountCellRenderer/AudienceCountCellRenderer.d.ts +6 -0
  57. package/cjs/SegmentsTable/components/AudienceCountCellRenderer/AudienceCountCellRenderer.js +15 -0
  58. package/cjs/SegmentsTable/components/AudienceCountCellRenderer/AudienceCountCellRenderer.module.css.js +9 -0
  59. package/cjs/SegmentsTable/components/AudienceCountCellRenderer/index.d.ts +1 -0
  60. package/cjs/SegmentsTable/components/AudienceCountCellRenderer/index.js +5 -0
  61. package/cjs/SegmentsTable/components/BarCellRenderer/BarCellRenderer.d.ts +9 -0
  62. package/cjs/SegmentsTable/components/BarCellRenderer/BarCellRenderer.js +16 -0
  63. package/cjs/SegmentsTable/components/BarCellRenderer/BarCellRenderer.module.css.js +9 -0
  64. package/cjs/SegmentsTable/components/BarCellRenderer/index.d.ts +1 -0
  65. package/cjs/SegmentsTable/components/BarCellRenderer/index.js +5 -0
  66. package/cjs/SegmentsTable/components/BarHeadCellRenderer/BarHeadCellRenderer.d.ts +5 -0
  67. package/cjs/SegmentsTable/components/BarHeadCellRenderer/BarHeadCellRenderer.js +17 -0
  68. package/cjs/SegmentsTable/components/BarHeadCellRenderer/BarHeadCellRenderer.module.css.js +9 -0
  69. package/cjs/SegmentsTable/components/BarHeadCellRenderer/index.d.ts +1 -0
  70. package/cjs/SegmentsTable/components/BarHeadCellRenderer/index.js +8 -0
  71. package/cjs/SegmentsTable/components/HeadCellRenderer/HeadCellRenderer.d.ts +9 -0
  72. package/cjs/SegmentsTable/components/HeadCellRenderer/HeadCellRenderer.js +40 -0
  73. package/cjs/SegmentsTable/components/HeadCellRenderer/HeadCellRenderer.module.css.js +9 -0
  74. package/cjs/SegmentsTable/components/HeadCellRenderer/index.d.ts +1 -0
  75. package/cjs/SegmentsTable/components/HeadCellRenderer/index.js +5 -0
  76. package/cjs/SegmentsTable/components/LabelCellRenderer/LabelCellRenderer.d.ts +9 -0
  77. package/cjs/SegmentsTable/components/LabelCellRenderer/LabelCellRenderer.js +21 -0
  78. package/cjs/SegmentsTable/components/LabelCellRenderer/LabelCellRenderer.module.css.js +9 -0
  79. package/cjs/SegmentsTable/components/LabelCellRenderer/index.d.ts +1 -0
  80. package/cjs/SegmentsTable/components/LabelCellRenderer/index.js +5 -0
  81. package/cjs/SegmentsTable/helpers.d.ts +3 -0
  82. package/cjs/SegmentsTable/helpers.js +23 -0
  83. package/cjs/SegmentsTable/index.d.ts +1 -0
  84. package/cjs/SegmentsTable/index.js +5 -0
  85. package/cjs/hooks/useSegmentsRequest/helper.d.ts +2 -0
  86. package/cjs/hooks/useSegmentsRequest/helper.js +51 -0
  87. package/cjs/hooks/useSegmentsRequest/index.d.ts +1 -0
  88. package/cjs/hooks/useSegmentsRequest/index.js +5 -0
  89. package/cjs/hooks/useSegmentsRequest/useSegmentsRequest.d.ts +42 -0
  90. package/cjs/hooks/useSegmentsRequest/useSegmentsRequest.js +146 -0
  91. package/hooks/useSegmentsRequest/helper.d.ts +2 -0
  92. package/hooks/useSegmentsRequest/helper.js +47 -0
  93. package/hooks/useSegmentsRequest/index.d.ts +1 -0
  94. package/hooks/useSegmentsRequest/index.js +1 -0
  95. package/hooks/useSegmentsRequest/useSegmentsRequest.d.ts +42 -0
  96. package/hooks/useSegmentsRequest/useSegmentsRequest.js +142 -0
  97. package/package.json +2 -2
  98. package/ExpandableSearchInput/styles.d.ts +0 -1
  99. package/ExpandableSearchInput/styles.js +0 -22
  100. package/cjs/ExpandableSearchInput/styles.d.ts +0 -1
  101. package/cjs/ExpandableSearchInput/styles.js +0 -25
@@ -29,6 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.ExpandableSearchInput = void 0;
30
30
  var react_1 = __importStar(require("react"));
31
31
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
32
+ var classnames_1 = __importDefault(require("classnames"));
32
33
  var ramda_1 = require("ramda");
33
34
  var Close_1 = __importDefault(require("@mui/icons-material/Close"));
34
35
  var IconButton_1 = __importDefault(require("@mui/material/IconButton"));
@@ -37,18 +38,17 @@ var InputAdornment_1 = __importDefault(require("@mui/material/InputAdornment"));
37
38
  var Search_1 = __importDefault(require("@mui/icons-material/Search"));
38
39
  var SmallIconButton_1 = require("../SmallIconButton");
39
40
  var events_1 = require("../helpers/events");
40
- var styles_1 = require("./styles");
41
+ var ExpandableSearchInput_module_css_1 = __importDefault(require("./ExpandableSearchInput.module.css"));
41
42
  var ExpandableSearchInput = function (_a) {
42
- var query = _a.query, onChange = _a.onChange;
43
+ var query = _a.query, onChange = _a.onChange, classes = _a.classes;
43
44
  var _b = (0, react_1.useState)(query), value = _b[0], setValue = _b[1];
44
45
  var _c = (0, react_1.useState)(!!query), isOpen = _c[0], setIsOpen = _c[1];
45
46
  (0, react_1.useEffect)(function () {
46
47
  setValue(query);
47
48
  }, [query]);
48
- var styles = (0, styles_1.useStyles)();
49
- return isOpen ? (react_1.default.createElement(Input_1.default, { "data-reltio-id": "expandable-search-input", className: styles.input, value: value, autoFocus: true, placeholder: ui_i18n_1.default.text('Search'), disableUnderline: true, onChange: (0, ramda_1.pipe)(events_1.getValue, setValue), startAdornment: react_1.default.createElement(InputAdornment_1.default, { position: "start" },
50
- react_1.default.createElement(Search_1.default, { className: styles.startAdornment })), endAdornment: react_1.default.createElement(InputAdornment_1.default, { position: "end" },
51
- react_1.default.createElement(SmallIconButton_1.SmallIconButton, { size: "S", icon: Close_1.default, className: styles.endAdornment, onClick: (0, ramda_1.pipe)(ramda_1.F, setIsOpen, (0, ramda_1.always)(''), (0, ramda_1.tap)(onChange), setValue) })), onKeyPress: (0, ramda_1.when)((0, ramda_1.propEq)('key', 'Enter'), (0, ramda_1.pipe)((0, ramda_1.always)(value), ramda_1.trim, onChange)) })) : (react_1.default.createElement(IconButton_1.default, { "data-reltio-id": "expandable-search-button", className: styles.searchButton, onClick: (0, ramda_1.pipe)(ramda_1.T, setIsOpen), size: "large" },
49
+ return isOpen ? (react_1.default.createElement(Input_1.default, { "data-reltio-id": "expandable-search-input", className: ExpandableSearchInput_module_css_1.default.input, value: value, autoFocus: true, placeholder: ui_i18n_1.default.text('Search'), disableUnderline: true, onChange: (0, ramda_1.pipe)(events_1.getValue, setValue), startAdornment: react_1.default.createElement(InputAdornment_1.default, { position: "start" },
50
+ react_1.default.createElement(Search_1.default, { className: ExpandableSearchInput_module_css_1.default.startAdornment })), endAdornment: react_1.default.createElement(InputAdornment_1.default, { position: "end" },
51
+ react_1.default.createElement(SmallIconButton_1.SmallIconButton, { size: "S", icon: Close_1.default, className: ExpandableSearchInput_module_css_1.default.endAdornment, onClick: (0, ramda_1.pipe)(ramda_1.F, setIsOpen, (0, ramda_1.always)(''), (0, ramda_1.tap)(onChange), setValue) })), onKeyPress: (0, ramda_1.when)((0, ramda_1.propEq)('key', 'Enter'), (0, ramda_1.pipe)((0, ramda_1.always)(value), ramda_1.trim, onChange)) })) : (react_1.default.createElement(IconButton_1.default, { "data-reltio-id": "expandable-search-button", className: (0, classnames_1.default)(ExpandableSearchInput_module_css_1.default.searchButton, classes === null || classes === void 0 ? void 0 : classes.searchButton), onClick: (0, ramda_1.pipe)(ramda_1.T, setIsOpen), size: "large" },
52
52
  react_1.default.createElement(Search_1.default, null)));
53
53
  };
54
54
  exports.ExpandableSearchInput = ExpandableSearchInput;
@@ -0,0 +1,9 @@
1
+ const styles = {"searchButton":"ExpandableSearchInput-searchButton--Quegj","input":"ExpandableSearchInput-input--ZVai5","startAdornment":"ExpandableSearchInput-startAdornment--1qJKE","endAdornment":"ExpandableSearchInput-endAdornment--YHXxA"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.ExpandableSearchInput-searchButton--Quegj{padding:8px}.ExpandableSearchInput-input--ZVai5{background:rgba(0,0,0,.03) 2px;flex:1 1;font-size:14px;margin-right:4px;max-width:350px;min-width:160px;padding:4px 0}.ExpandableSearchInput-startAdornment--1qJKE{color:rgba(0,0,0,.54);padding-left:8px}.ExpandableSearchInput-endAdornment--YHXxA{margin-right:4px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1,9 @@
1
+ const styles = {"attribute":"SegmentsTable-attribute--xdeVk"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.SegmentsTable-attribute--xdeVk{align-items:center;color:var(--mui-palette-text-primary);display:flex;font-size:13px;font-weight:400;height:100%;line-height:15px;overflow:hidden;padding:0 16px;position:relative;white-space:nowrap}.SegmentsTable-attribute--xdeVk:after{background:linear-gradient(90deg,hsla(0,0%,100%,.2),#fff);content:"";height:100%;pointer-events:none;position:absolute;right:0;top:0;width:40px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1,13 @@
1
+ import React, { RefObject } from 'react';
2
+ import { Segment } from '@reltio/mdm-sdk';
3
+ import { Sorting } from '../types/basicTable';
4
+ type Props = {
5
+ width: number;
6
+ height: number;
7
+ segments: Segment[];
8
+ basicTableRef?: RefObject<HTMLDivElement>;
9
+ onSort: (field: string) => void;
10
+ sorting?: Sorting;
11
+ };
12
+ export declare const SegmentsTable: ({ width, height, segments, basicTableRef, onSort, sorting }: Props) => React.JSX.Element;
13
+ export {};
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.SegmentsTable = void 0;
30
+ var react_1 = __importStar(require("react"));
31
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
32
+ var BasicTable_1 = require("../BasicTable");
33
+ var helpers_1 = require("./helpers");
34
+ var HeadCellRenderer_1 = require("./components/HeadCellRenderer");
35
+ var AttributeCellRenderer_1 = require("./components/AttributeCellRenderer");
36
+ var LabelCellRenderer_1 = require("./components/LabelCellRenderer");
37
+ var AudienceCountCellRenderer_1 = require("./components/AudienceCountCellRenderer");
38
+ var BarCellRenderer_1 = require("./components/BarCellRenderer");
39
+ var BarHeadCellRenderer_1 = require("./components/BarHeadCellRenderer");
40
+ var SegmentsTable_module_css_1 = __importDefault(require("./SegmentsTable.module.css"));
41
+ var SegmentsTable = function (_a) {
42
+ var width = _a.width, height = _a.height, segments = _a.segments, basicTableRef = _a.basicTableRef, onSort = _a.onSort, sorting = _a.sorting;
43
+ var containerStyle = (0, react_1.useMemo)(function () { return ({
44
+ width: width,
45
+ height: height
46
+ }); }, [width, height]);
47
+ var maxCount = (0, react_1.useMemo)(function () { return Math.max.apply(Math, segments.map(function (item) { return item.count; })); }, [segments]);
48
+ var headData = (0, react_1.useMemo)(function () { return [
49
+ {
50
+ id: 'label',
51
+ label: ui_i18n_1.default.text('Segments'),
52
+ resizable: false,
53
+ minWidth: 130,
54
+ sortable: true,
55
+ initialWidth: width * 0.34,
56
+ headCellRenderer: HeadCellRenderer_1.HeadCellRenderer,
57
+ rowCellValueRenderer: LabelCellRenderer_1.LabelCellRenderer
58
+ },
59
+ {
60
+ id: 'refreshedOn',
61
+ label: ui_i18n_1.default.text('Refreshed On'),
62
+ resizable: false,
63
+ minWidth: 160,
64
+ initialWidth: width * 0.18,
65
+ autoResize: false,
66
+ headCellRenderer: HeadCellRenderer_1.HeadCellRenderer,
67
+ rowCellValueRenderer: AttributeCellRenderer_1.AttributeCellRenderer
68
+ },
69
+ {
70
+ id: 'audienceCount',
71
+ label: ui_i18n_1.default.text('Audience Count'),
72
+ resizable: false,
73
+ minWidth: 130,
74
+ initialWidth: width * 0.14,
75
+ autoResize: false,
76
+ headCellRenderer: HeadCellRenderer_1.HeadCellRenderer,
77
+ rowCellValueRenderer: AudienceCountCellRenderer_1.AudienceCountCellRenderer
78
+ },
79
+ {
80
+ id: 'audienceCountBar',
81
+ label: '',
82
+ resizable: false,
83
+ minWidth: 130,
84
+ initialWidth: width * 0.34,
85
+ maxCount: maxCount,
86
+ headCellRenderer: BarHeadCellRenderer_1.BarHeadCellRenderer,
87
+ rowCellValueRenderer: BarCellRenderer_1.BarCellRenderer
88
+ }
89
+ ]; }, [width, maxCount]);
90
+ var context = (0, react_1.useMemo)(function () { return ({
91
+ maxCount: maxCount
92
+ }); }, [maxCount]);
93
+ var rowsData = (0, react_1.useMemo)(function () { return (0, helpers_1.getSegmentTableData)(segments); }, [segments]);
94
+ var handleSort = (0, react_1.useCallback)(function (field) {
95
+ onSort(field);
96
+ }, [onSort]);
97
+ return (react_1.default.createElement("div", { style: containerStyle, className: SegmentsTable_module_css_1.default.container },
98
+ react_1.default.createElement(BasicTable_1.BasicTable, { sorting: sorting, onSort: handleSort, columnsData: headData, rowsData: rowsData, headRowHeight: 48, getRowCellHeight: null, defaultColumnWidth: 100, defaultColumnMinWidth: 100, ref: basicTableRef, context: context })));
99
+ };
100
+ exports.SegmentsTable = SegmentsTable;
@@ -0,0 +1,9 @@
1
+ const styles = {"container":"SegmentsTable-container--LfVXz"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.SegmentsTable-container--LfVXz{display:flex;flex-direction:column}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ var react_1 = __importDefault(require("react"));
54
+ var react_2 = require("@testing-library/react");
55
+ var SegmentsTable_1 = require("./SegmentsTable");
56
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
57
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
58
+ var test_utils_1 = require("../test-utils");
59
+ var mockSegments = [
60
+ {
61
+ uri: 'savedSearches/0BDCmca',
62
+ name: 'Test Segment 1',
63
+ description: '',
64
+ query: "filter=equals(entity.type%2C'configuration%2FentityTypes%2FHCO')",
65
+ type: mdm_sdk_1.SavedSearchType.SEGMENTATION,
66
+ isFavorite: true,
67
+ uiState: {
68
+ groups: [
69
+ {
70
+ operator: 'and',
71
+ entityType: 'configuration/entityTypes/HCO',
72
+ id: 'Qvg_2OeFm7UkX19-9C2jC'
73
+ }
74
+ ]
75
+ },
76
+ createDate: 1730795566249,
77
+ updateDate: 1730795573955,
78
+ isPublic: true,
79
+ owner: 'test.test',
80
+ count: 10000
81
+ },
82
+ {
83
+ uri: 'savedSearches/0BXFqDH',
84
+ name: 'Test Segment 2',
85
+ description: '',
86
+ query: "filter=equals(entity.type%2C'configuration%2FentityTypes%2FHCO')",
87
+ type: mdm_sdk_1.SavedSearchType.SEGMENTATION,
88
+ isFavorite: false,
89
+ uiState: {
90
+ groups: [
91
+ {
92
+ operator: 'and',
93
+ entityType: 'configuration/entityTypes/HCO',
94
+ id: 'SWLihLs4pRtsGpwWPXe8M'
95
+ }
96
+ ]
97
+ },
98
+ createDate: 1729868922843,
99
+ updateDate: 1729869197093,
100
+ isPublic: true,
101
+ owner: 'test.test',
102
+ count: 20000
103
+ }
104
+ ];
105
+ var defaultProps = {
106
+ width: 1920,
107
+ height: 1080,
108
+ segments: mockSegments,
109
+ onSort: jest.fn()
110
+ };
111
+ var setUp = function (props) {
112
+ if (props === void 0) { props = {}; }
113
+ var user = user_event_1.default.setup();
114
+ return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(SegmentsTable_1.SegmentsTable, __assign({}, defaultProps, props))));
115
+ };
116
+ describe('SegmentsTable tests', function () {
117
+ var unmockTableSizing;
118
+ beforeAll(function () {
119
+ unmockTableSizing = (0, test_utils_1.mockBasicTableSizing)();
120
+ });
121
+ afterAll(function () {
122
+ unmockTableSizing();
123
+ });
124
+ beforeEach(function () {
125
+ jest.clearAllMocks();
126
+ });
127
+ it('renders table with correct columns', function () {
128
+ setUp();
129
+ expect(react_2.screen.getByText('Segments')).toBeInTheDocument();
130
+ expect(react_2.screen.getByText('Refreshed On')).toBeInTheDocument();
131
+ expect(react_2.screen.getByText('Audience Count')).toBeInTheDocument();
132
+ });
133
+ it('displays segment data correctly', function () {
134
+ setUp();
135
+ expect(react_2.screen.getByText('Test Segment 1')).toBeInTheDocument();
136
+ expect(react_2.screen.getByText('Test Segment 2')).toBeInTheDocument();
137
+ expect(react_2.screen.getByText('10.0K')).toBeInTheDocument();
138
+ expect(react_2.screen.getAllByText('20.0K')).toHaveLength(2);
139
+ });
140
+ it('calls onSort when clicking sortable column header', function () { return __awaiter(void 0, void 0, void 0, function () {
141
+ var user, segmentsHeader;
142
+ return __generator(this, function (_a) {
143
+ switch (_a.label) {
144
+ case 0:
145
+ user = setUp().user;
146
+ segmentsHeader = react_2.screen.getByText('Segments');
147
+ return [4 /*yield*/, user.click(segmentsHeader)];
148
+ case 1:
149
+ _a.sent();
150
+ expect(defaultProps.onSort).toHaveBeenCalledWith('label');
151
+ return [2 /*return*/];
152
+ }
153
+ });
154
+ }); });
155
+ it('shows star icon for favorite segments', function () {
156
+ setUp();
157
+ var starIcons = document.querySelectorAll('.starIcon');
158
+ expect(starIcons[0]).toHaveClass('starIconActive');
159
+ expect(starIcons[1]).not.toHaveClass('starIconActive');
160
+ });
161
+ it('displays formatted dates in Refreshed On column', function () {
162
+ setUp();
163
+ expect(react_2.screen.getByText('11/05/2024 8:32 AM')).toBeInTheDocument();
164
+ expect(react_2.screen.getByText('10/25/2024 3:13 PM')).toBeInTheDocument();
165
+ });
166
+ it('calculates max count correctly for bar visualization', function () {
167
+ setUp();
168
+ expect(react_2.screen.getAllByText('20.0K')).toHaveLength(2);
169
+ });
170
+ });
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ value?: string;
4
+ };
5
+ export declare const AttributeCellRenderer: ({ value }: Props) => React.JSX.Element;
6
+ export {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AttributeCellRenderer = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var ExpandedValueTooltip_1 = require("../../../ExpandedValueTooltip");
9
+ var CellRenderer_module_css_1 = __importDefault(require("../../CellRenderer.module.css"));
10
+ var AttributeCellRenderer = function (_a) {
11
+ var _b = _a.value, value = _b === void 0 ? '' : _b;
12
+ return (react_1.default.createElement(ExpandedValueTooltip_1.ExpandedValueTooltip, { value: value },
13
+ react_1.default.createElement("div", { className: CellRenderer_module_css_1.default.attribute }, value)));
14
+ };
15
+ exports.AttributeCellRenderer = AttributeCellRenderer;
@@ -0,0 +1 @@
1
+ export { AttributeCellRenderer } from './AttributeCellRenderer';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AttributeCellRenderer = void 0;
4
+ var AttributeCellRenderer_1 = require("./AttributeCellRenderer");
5
+ Object.defineProperty(exports, "AttributeCellRenderer", { enumerable: true, get: function () { return AttributeCellRenderer_1.AttributeCellRenderer; } });
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ value: string;
4
+ };
5
+ export declare const AudienceCountCellRenderer: ({ value }: Props) => React.JSX.Element;
6
+ export {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AudienceCountCellRenderer = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var ExpandedValueTooltip_1 = require("../../../ExpandedValueTooltip");
9
+ var AudienceCountCellRenderer_module_css_1 = __importDefault(require("./AudienceCountCellRenderer.module.css"));
10
+ var AudienceCountCellRenderer = function (_a) {
11
+ var value = _a.value;
12
+ return (react_1.default.createElement(ExpandedValueTooltip_1.ExpandedValueTooltip, { value: value },
13
+ react_1.default.createElement("div", { className: AudienceCountCellRenderer_module_css_1.default.countValue }, value)));
14
+ };
15
+ exports.AudienceCountCellRenderer = AudienceCountCellRenderer;
@@ -0,0 +1,9 @@
1
+ const styles = {"countValue":"AudienceCountCellRenderer-countValue--atqCe"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.AudienceCountCellRenderer-countValue--atqCe{align-items:center;color:var(--mui-palette-text-primary);display:flex;font-size:13px;font-weight:400;height:100%;justify-content:end;line-height:15px;overflow:hidden;padding:0 16px;white-space:nowrap}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1 @@
1
+ export { AudienceCountCellRenderer } from './AudienceCountCellRenderer';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AudienceCountCellRenderer = void 0;
4
+ var AudienceCountCellRenderer_1 = require("./AudienceCountCellRenderer");
5
+ Object.defineProperty(exports, "AudienceCountCellRenderer", { enumerable: true, get: function () { return AudienceCountCellRenderer_1.AudienceCountCellRenderer; } });
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ value: number;
4
+ columnData: {
5
+ maxCount: number;
6
+ };
7
+ };
8
+ export declare const BarCellRenderer: ({ value, columnData }: Props) => React.JSX.Element;
9
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BarCellRenderer = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var ColorBar_1 = require("../../../ColorBar");
9
+ var BarCellRenderer_module_css_1 = __importDefault(require("./BarCellRenderer.module.css"));
10
+ var BarCellRenderer = function (_a) {
11
+ var value = _a.value, columnData = _a.columnData;
12
+ return (react_1.default.createElement("div", { className: BarCellRenderer_module_css_1.default.container },
13
+ react_1.default.createElement("div", { className: BarCellRenderer_module_css_1.default.colorBarContainer },
14
+ react_1.default.createElement(ColorBar_1.ColorBar, { width: value, maxWidth: columnData.maxCount }))));
15
+ };
16
+ exports.BarCellRenderer = BarCellRenderer;
@@ -0,0 +1,9 @@
1
+ const styles = {"container":"BarCellRenderer-container--AEzOK","colorBarContainer":"BarCellRenderer-colorBarContainer---yasX"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.BarCellRenderer-container--AEzOK{align-items:center;display:flex;height:100%;padding:0 16px}.BarCellRenderer-colorBarContainer---yasX{height:20px;position:relative;width:100%}.BarCellRenderer-colorBarContainer---yasX>div{background-color:#0072ce;opacity:1}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1 @@
1
+ export { BarCellRenderer } from './BarCellRenderer';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BarCellRenderer = void 0;
4
+ var BarCellRenderer_1 = require("./BarCellRenderer");
5
+ Object.defineProperty(exports, "BarCellRenderer", { enumerable: true, get: function () { return BarCellRenderer_1.BarCellRenderer; } });
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ declare const _default: React.ComponentType<{
3
+ [x: string]: unknown;
4
+ }>;
5
+ export default _default;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_1 = __importDefault(require("react"));
7
+ var ramda_1 = require("ramda");
8
+ var withTableContext_1 = require("../../../HOCs/withTableContext");
9
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
10
+ var BarHeadCellRenderer_module_css_1 = __importDefault(require("./BarHeadCellRenderer.module.css"));
11
+ var BarHeadCellRenderer = function (_a) {
12
+ var maxCount = _a.maxCount;
13
+ return (react_1.default.createElement("div", { className: BarHeadCellRenderer_module_css_1.default.container },
14
+ react_1.default.createElement("div", { className: BarHeadCellRenderer_module_css_1.default.startNumber }, "0"),
15
+ react_1.default.createElement("div", { className: BarHeadCellRenderer_module_css_1.default.endNumber }, (0, mdm_sdk_1.formatNumberAsMetric)(maxCount, 9999))));
16
+ };
17
+ exports.default = (0, withTableContext_1.withTableContext)((0, ramda_1.pick)(['maxCount']))(BarHeadCellRenderer);
@@ -0,0 +1,9 @@
1
+ const styles = {"container":"BarHeadCellRenderer-container---WESc","startNumber":"BarHeadCellRenderer-startNumber--i2DZ-","endNumber":"BarHeadCellRenderer-endNumber--RRTTn"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.BarHeadCellRenderer-container---WESc{align-items:flex-end;box-sizing:border-box;color:var(--mui-palette-text-secondary);display:flex;font-size:12px;height:100%;justify-content:space-between;padding:0 16px 6px;position:relative}.BarHeadCellRenderer-startNumber--i2DZ-:after{left:16px}.BarHeadCellRenderer-endNumber--RRTTn:after,.BarHeadCellRenderer-startNumber--i2DZ-:after{background-color:rgba(0,0,0,.5);bottom:0;content:"";height:4px;position:absolute;width:1px}.BarHeadCellRenderer-endNumber--RRTTn:after{right:16px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1 @@
1
+ export { default as BarHeadCellRenderer } from './BarHeadCellRenderer';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BarHeadCellRenderer = void 0;
7
+ var BarHeadCellRenderer_1 = require("./BarHeadCellRenderer");
8
+ Object.defineProperty(exports, "BarHeadCellRenderer", { enumerable: true, get: function () { return __importDefault(BarHeadCellRenderer_1).default; } });
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ type HeadCellRendererProps = {
3
+ className?: string;
4
+ headCellData: {
5
+ label: string;
6
+ };
7
+ };
8
+ export declare const HeadCellRenderer: ({ className, headCellData, ...otherProps }: HeadCellRendererProps) => React.JSX.Element;
9
+ export {};
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.HeadCellRenderer = void 0;
29
+ var react_1 = __importDefault(require("react"));
30
+ var classnames_1 = __importDefault(require("classnames"));
31
+ var DefaultHeadCellRenderer_1 = __importDefault(require("react-components/dist/Table/DefaultHeadCellRenderer/DefaultHeadCellRenderer"));
32
+ var ExpandedValueTooltip_1 = require("../../../ExpandedValueTooltip");
33
+ var HeadCellRenderer_module_css_1 = __importDefault(require("./HeadCellRenderer.module.css"));
34
+ var HeadCellRenderer = function (_a) {
35
+ var className = _a.className, headCellData = _a.headCellData, otherProps = __rest(_a, ["className", "headCellData"]);
36
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)(HeadCellRenderer_module_css_1.default.headCell, className) },
37
+ react_1.default.createElement(DefaultHeadCellRenderer_1.default, __assign({}, otherProps, { headCellData: __assign(__assign({}, headCellData), { label: (react_1.default.createElement(ExpandedValueTooltip_1.ExpandedValueTooltip, { value: headCellData.label },
38
+ react_1.default.createElement("div", { className: HeadCellRenderer_module_css_1.default.headLabel }, headCellData.label))) }) }))));
39
+ };
40
+ exports.HeadCellRenderer = HeadCellRenderer;
@@ -0,0 +1,9 @@
1
+ const styles = {"headCell":"HeadCellRenderer-headCell--8wzZ7","headLabel":"HeadCellRenderer-headLabel--egn2j"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.HeadCellRenderer-headCell--8wzZ7{align-items:center;display:flex;height:100%}.HeadCellRenderer-headCell--8wzZ7>div{padding:0 16px 0 22px;width:100%}.HeadCellRenderer-headCell--8wzZ7>div>span{justify-content:flex-end;width:100%}.HeadCellRenderer-headLabel--egn2j{color:var(--mui-palette-text-primary);font-size:12px;font-weight:500;line-height:16px;overflow:hidden;white-space:nowrap}.HeadCellRenderer-headLabel--egn2j:after{background:linear-gradient(90deg,hsla(0,0%,100%,.2),#fff);content:"";height:100%;pointer-events:none;position:absolute;right:0;top:0;width:40px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -0,0 +1 @@
1
+ export { HeadCellRenderer } from './HeadCellRenderer';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HeadCellRenderer = void 0;
4
+ var HeadCellRenderer_1 = require("./HeadCellRenderer");
5
+ Object.defineProperty(exports, "HeadCellRenderer", { enumerable: true, get: function () { return HeadCellRenderer_1.HeadCellRenderer; } });
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ value?: string;
4
+ rowValue: {
5
+ isFavorite: boolean;
6
+ };
7
+ };
8
+ export declare const LabelCellRenderer: ({ value, rowValue }: Props) => React.JSX.Element;
9
+ export {};