@pega/lists-react 9.0.0-build.19.4 → 9.0.0-build.19.6

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 (63) hide show
  1. package/lib/Core/Components/Toolbar/AdvanceToolbar.d.ts.map +1 -1
  2. package/lib/Core/Components/Toolbar/AdvanceToolbar.js +2 -13
  3. package/lib/Core/Components/Toolbar/AdvanceToolbar.js.map +1 -1
  4. package/lib/Core/Components/Toolbar/FieldSelector.d.ts +1 -0
  5. package/lib/Core/Components/Toolbar/FieldSelector.d.ts.map +1 -1
  6. package/lib/Core/Components/Toolbar/FieldSelector.js +3 -2
  7. package/lib/Core/Components/Toolbar/FieldSelector.js.map +1 -1
  8. package/lib/Core/Components/Toolbar/Grouping.types.d.ts +0 -6
  9. package/lib/Core/Components/Toolbar/Grouping.types.d.ts.map +1 -1
  10. package/lib/Core/Components/Toolbar/Grouping.types.js.map +1 -1
  11. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.d.ts +14 -18
  12. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.d.ts.map +1 -1
  13. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.js +14 -15
  14. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.js.map +1 -1
  15. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.d.ts +3 -2
  16. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.d.ts.map +1 -1
  17. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.js +4 -4
  18. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.js.map +1 -1
  19. package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.d.ts.map +1 -1
  20. package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.js +6 -3
  21. package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.js.map +1 -1
  22. package/lib/Core/Components/Toolbar/hooks/useSort/Row.d.ts +4 -4
  23. package/lib/Core/Components/Toolbar/hooks/useSort/Row.d.ts.map +1 -1
  24. package/lib/Core/Components/Toolbar/hooks/useSort/Row.js +6 -6
  25. package/lib/Core/Components/Toolbar/hooks/useSort/Row.js.map +1 -1
  26. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.d.ts +2 -1
  27. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.d.ts.map +1 -1
  28. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.js +8 -2
  29. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.js.map +1 -1
  30. package/lib/Core/Components/Toolbar/hooks/useSort/useSort.d.ts.map +1 -1
  31. package/lib/Core/Components/Toolbar/hooks/useSort/useSort.js +2 -2
  32. package/lib/Core/Components/Toolbar/hooks/useSort/useSort.js.map +1 -1
  33. package/lib/Core/Views/Map/index.js +1 -1
  34. package/lib/Core/Views/Map/index.js.map +1 -1
  35. package/lib/Core/Views/Timeline/Timeline.d.ts.map +1 -1
  36. package/lib/Core/Views/Timeline/Timeline.js +11 -11
  37. package/lib/Core/Views/Timeline/Timeline.js.map +1 -1
  38. package/lib/Core/Views/Timeline/Timeline.styles.d.ts +1 -1
  39. package/lib/Core/Views/Timeline/Timeline.styles.d.ts.map +1 -1
  40. package/lib/Core/Views/Timeline/Timeline.styles.js +7 -10
  41. package/lib/Core/Views/Timeline/Timeline.styles.js.map +1 -1
  42. package/lib/Core/Views/Timeline/Timeline.types.d.ts +7 -9
  43. package/lib/Core/Views/Timeline/Timeline.types.d.ts.map +1 -1
  44. package/lib/Core/Views/Timeline/Timeline.types.js.map +1 -1
  45. package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.d.ts +2 -2
  46. package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.d.ts.map +1 -1
  47. package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.js.map +1 -1
  48. package/lib/Core/Views/Timeline/index.d.ts.map +1 -1
  49. package/lib/Core/Views/Timeline/index.js +3 -3
  50. package/lib/Core/Views/Timeline/index.js.map +1 -1
  51. package/lib/Core/Views/Timeline/utils.d.ts +8 -10
  52. package/lib/Core/Views/Timeline/utils.d.ts.map +1 -1
  53. package/lib/Core/Views/Timeline/utils.js +136 -58
  54. package/lib/Core/Views/Timeline/utils.js.map +1 -1
  55. package/package.json +7 -7
  56. package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.d.ts +0 -7
  57. package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.d.ts.map +0 -1
  58. package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.js +0 -109
  59. package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.js.map +0 -1
  60. package/lib/Core/Views/Timeline/utility.d.ts +0 -8
  61. package/lib/Core/Views/Timeline/utility.d.ts.map +0 -1
  62. package/lib/Core/Views/Timeline/utility.js +0 -120
  63. package/lib/Core/Views/Timeline/utility.js.map +0 -1
@@ -1,120 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import dayjs from 'dayjs';
3
- import timezonePlugin from 'dayjs/plugin/timezone';
4
- import { FieldType, ROW_DENSITY } from 'pega-repeating-structures-core/lib/types/Meta.types';
5
- import { NoValue } from '@pega/cosmos-react-core';
6
- import ValueRenderer from '../../Components/RenderingEngine/ValueRenderer';
7
- dayjs.extend(timezonePlugin);
8
- const getStatusVariant = (data) => {
9
- let variant;
10
- const warnStrings = ['fail', 'cancel', 'reject', 'revoke', 'stopped', 'warn'];
11
- const infoStrings = ['open', 'hold', 'info', 'new'];
12
- const successStrings = ['resolved', 'completed', 'success'];
13
- const pendingStrings = ['pending'];
14
- if (new RegExp(warnStrings.join('|'), 'i').test(data)) {
15
- variant = 'warn';
16
- }
17
- else if (new RegExp(infoStrings.join('|'), 'i').test(data)) {
18
- variant = 'info';
19
- }
20
- else if (new RegExp(successStrings.join('|'), 'i').test(data)) {
21
- variant = 'success';
22
- }
23
- else if (new RegExp(pendingStrings.join('|'), 'i').test(data)) {
24
- variant = 'pending';
25
- }
26
- else {
27
- variant = 'info';
28
- }
29
- return variant;
30
- };
31
- const getFieldsAsActivityContent = (columns, row) => {
32
- return columns
33
- ?.filter(column => column.field.name !== 'RowActionMenu' && !column.hidden)
34
- ?.map(column => {
35
- return {
36
- id: column.field.id,
37
- name: column.field.label,
38
- value: _jsx(ValueRenderer, { column: column, row: row })
39
- };
40
- });
41
- };
42
- const convertDateToTimezone = (value, timezone) => {
43
- return (dayjs(value)
44
- .tz(timezone)
45
- // cSpell:disable-next-line
46
- .format('YYYY-MM-DDTHH:mm:ss'));
47
- };
48
- const getActivity = (rows, columns, { timelineFields, timezone, defaultRowHeight }) => {
49
- const { title, date, status: statusProp, icon, content } = timelineFields ?? {};
50
- const titleColumn = columns?.find(({ field }) => field.name === title?.name);
51
- const dateColumn = columns?.find(({ field }) => field.name === date?.name);
52
- const contentColumn = columns?.find(({ field }) => field.name === content?.name);
53
- return rows
54
- ?.map(row => {
55
- const data = row.getContext().getValue();
56
- const dateValue = date?.name ? data[date.name] : undefined;
57
- const dateFieldType = dateColumn?.field?.type;
58
- const isDateOnlyFieldType = dateFieldType === FieldType.DATE ||
59
- dateFieldType === FieldType.DATE_ONLY ||
60
- dateFieldType === FieldType.DATE_TIMELINE;
61
- // Activity Object date can't be undefined
62
- if (!dateValue) {
63
- return undefined;
64
- }
65
- const statusData = statusProp?.name ? data[statusProp.name] : undefined;
66
- let status;
67
- if (statusData) {
68
- status = {
69
- variant: getStatusVariant(statusData),
70
- children: statusData
71
- };
72
- }
73
- const activity = {
74
- id: row.key,
75
- title: title?.name && data[title.name] && titleColumn ? (_jsx(ValueRenderer, { column: titleColumn, row: row })) : (_jsx(NoValue, {})),
76
- date: timezone && dateColumn?.formatterAllowed && dateFieldType && !isDateOnlyFieldType // Date only value should be formatted without timezone
77
- ? convertDateToTimezone(dateValue, timezone)
78
- : dateValue,
79
- dateVariant: isDateOnlyFieldType ? 'date' : 'datetime',
80
- icon: icon?.name ? data[icon.name] : undefined,
81
- defaultExpanded: defaultRowHeight === ROW_DENSITY.WRAP_CONTENT,
82
- content: contentColumn ? (_jsx(ValueRenderer, { column: contentColumn, row: row })) : (getFieldsAsActivityContent(columns, row)),
83
- status: statusProp?.getCustomContent ? statusProp.getCustomContent(row) : status
84
- };
85
- return activity;
86
- })
87
- ?.filter((item) => !!item);
88
- };
89
- export default getActivity;
90
- export const mapDateFnToGroupOption = (dateFunction) => {
91
- switch (dateFunction) {
92
- case 'YEARS':
93
- return 'year';
94
- case 'QUARTERS':
95
- return 'quarteryear';
96
- case 'MONTHS':
97
- return 'monthyear';
98
- case 'DAYS':
99
- return 'date';
100
- default:
101
- return 'none';
102
- }
103
- };
104
- export function calculateBodyMaxHeight(maxHeight, domContainer, pContainer) {
105
- if (maxHeight === undefined)
106
- return;
107
- if (!domContainer || !pContainer)
108
- return;
109
- const extraHeight = domContainer.offsetHeight - pContainer.offsetHeight;
110
- if (typeof maxHeight === 'string' && maxHeight.startsWith('--')) {
111
- // Means it is a css variable which is a string, and it needs to be computed with calc function
112
- // If css variable is not defined then fallback to default max height i.e. 550px
113
- const defaultMaxHeight = `calc(550px + ${extraHeight}px + 32px)`;
114
- return `calc(var(${maxHeight}, ${defaultMaxHeight}) - ${extraHeight}px - 32px)`;
115
- }
116
- if (typeof maxHeight === 'number') {
117
- return `${maxHeight - extraHeight - 32}px`;
118
- }
119
- }
120
- //# sourceMappingURL=utility.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utility.js","sourceRoot":"","sources":["../../../../Core/Views/Timeline/utility.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,uBAAuB,CAAC;AAInD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAE7F,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD,OAAO,aAAa,MAAM,gDAAgD,CAAC;AAI3E,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAC7B,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAA0B,EAAE;IAChE,IAAI,OAA+B,CAAC;IACpC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,CAAC,SAAS,CAAC,CAAC;IAEnC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;SAAM,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;SAAM,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;SAAM,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CACjC,OAAoC,EACpC,GAAoB,EACuB,EAAE;IAC7C,OAAO,OAAO;QACZ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3E,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE;QACb,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;YACnB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;YACxB,KAAK,EAAE,KAAC,aAAa,IAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAI;SACnD,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,KAA6B,EAC7B,QAAsC,EAC9B,EAAE;IACV,OAAO,CACL,KAAK,CAAC,KAAK,CAAC;SACT,EAAE,CAAC,QAAQ,CAAC;QACb,2BAA2B;SAC1B,MAAM,CAAC,qBAAqB,CAAC,CACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,IAA8B,EAC9B,OAAoC,EACpC,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAA4B,EAC1C,EAAE;IAChC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,IAAI,EAAE,CAAC;IAChF,MAAM,WAAW,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,IAAI,CAAC,CAAC;IAEjF,OAAO,IAAI;QACT,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE;QACV,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,MAAM,aAAa,GAAG,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC;QAC9C,MAAM,mBAAmB,GACvB,aAAa,KAAK,SAAS,CAAC,IAAI;YAChC,aAAa,KAAK,SAAS,CAAC,SAAS;YACrC,aAAa,KAAK,SAAS,CAAC,aAAa,CAAC;QAE5C,0CAA0C;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,UAAU,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,IAAI,MAAM,CAAC;QACX,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,GAAG;gBACP,OAAO,EAAE,gBAAgB,CAAC,UAAoB,CAAC;gBAC/C,QAAQ,EAAE,UAAuB;aAClC,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAmB;YAC/B,EAAE,EAAE,GAAG,CAAC,GAAa;YACrB,KAAK,EACH,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAC/C,KAAC,aAAa,IAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,GAAI,CACjD,CAAC,CAAC,CAAC,CACF,KAAC,OAAO,KAAG,CACZ;YACH,IAAI,EACF,QAAQ,IAAI,UAAU,EAAE,gBAAgB,IAAI,aAAa,IAAI,CAAC,mBAAmB,CAAC,uDAAuD;gBACvI,CAAC,CAAC,qBAAqB,CAAC,SAAmB,EAAE,QAAQ,CAAC;gBACtD,CAAC,CAAE,SAAoB;YAC3B,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;YACtD,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAY,CAAC,CAAC,CAAC,SAAS;YAC1D,eAAe,EAAE,gBAAgB,KAAK,WAAW,CAAC,YAAY;YAC9D,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CACvB,KAAC,aAAa,IAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,GAAI,CACnD,CAAC,CAAC,CAAC,CACF,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,CACzC;YACD,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM;SACjF,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;QACF,EAAE,MAAM,CAAC,CAAC,IAAI,EAA0B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC;AAE3B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,YAAmC,EAAmB,EAAE;IAC7F,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,aAAa,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,sBAAsB,CACpC,SAAsC,EACtC,YAAqC,EACrC,UAA0C;IAE1C,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO;IACpC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU;QAAE,OAAO;IACzC,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IACxE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,+FAA+F;QAC/F,gFAAgF;QAChF,MAAM,gBAAgB,GAAG,gBAAgB,WAAW,YAAY,CAAC;QACjE,OAAO,YAAY,SAAS,KAAK,gBAAgB,OAAO,WAAW,YAAY,CAAC;IAClF,CAAC;IACD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,EAAE,IAAI,CAAC;IAC7C,CAAC;AACH,CAAC","sourcesContent":["import dayjs from 'dayjs';\nimport timezonePlugin from 'dayjs/plugin/timezone';\nimport type { ReactText } from 'react';\n\nimport type { Group } from 'pega-repeating-structures-core/lib/types/State.types';\nimport { FieldType, ROW_DENSITY } from 'pega-repeating-structures-core/lib/types/Meta.types';\nimport type { FieldValueListProps, StatusProps } from '@pega/cosmos-react-core';\nimport { NoValue } from '@pega/cosmos-react-core';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport ValueRenderer from '../../Components/RenderingEngine/ValueRenderer';\n\nimport type { ActivityObject, TimelineGroupBy } from './Timeline.types';\n\ndayjs.extend(timezonePlugin);\nconst getStatusVariant = (data: string): StatusProps['variant'] => {\n let variant: StatusProps['variant'];\n const warnStrings = ['fail', 'cancel', 'reject', 'revoke', 'stopped', 'warn'];\n const infoStrings = ['open', 'hold', 'info', 'new'];\n const successStrings = ['resolved', 'completed', 'success'];\n const pendingStrings = ['pending'];\n\n if (new RegExp(warnStrings.join('|'), 'i').test(data)) {\n variant = 'warn';\n } else if (new RegExp(infoStrings.join('|'), 'i').test(data)) {\n variant = 'info';\n } else if (new RegExp(successStrings.join('|'), 'i').test(data)) {\n variant = 'success';\n } else if (new RegExp(pendingStrings.join('|'), 'i').test(data)) {\n variant = 'pending';\n } else {\n variant = 'info';\n }\n return variant;\n};\n\nconst getFieldsAsActivityContent = (\n columns: RsCoreTypes.View['columns'],\n row: RsCoreTypes.Row\n): FieldValueListProps['fields'] | undefined => {\n return columns\n ?.filter(column => column.field.name !== 'RowActionMenu' && !column.hidden)\n ?.map(column => {\n return {\n id: column.field.id,\n name: column.field.label,\n value: <ValueRenderer column={column} row={row} />\n };\n });\n};\n\nconst convertDateToTimezone = (\n value: string | number | Date,\n timezone: RsCoreTypes.Meta['timezone']\n): string => {\n return (\n dayjs(value)\n .tz(timezone)\n // cSpell:disable-next-line\n .format('YYYY-MM-DDTHH:mm:ss')\n );\n};\n\nconst getActivity = (\n rows: RsCoreTypes.View['rows'],\n columns: RsCoreTypes.View['columns'],\n { timelineFields, timezone, defaultRowHeight }: RsCoreTypes.View['meta']\n): ActivityObject[] | undefined => {\n const { title, date, status: statusProp, icon, content } = timelineFields ?? {};\n const titleColumn = columns?.find(({ field }) => field.name === title?.name);\n const dateColumn = columns?.find(({ field }) => field.name === date?.name);\n const contentColumn = columns?.find(({ field }) => field.name === content?.name);\n\n return rows\n ?.map(row => {\n const data = row.getContext().getValue();\n const dateValue = date?.name ? data[date.name] : undefined;\n const dateFieldType = dateColumn?.field?.type;\n const isDateOnlyFieldType =\n dateFieldType === FieldType.DATE ||\n dateFieldType === FieldType.DATE_ONLY ||\n dateFieldType === FieldType.DATE_TIMELINE;\n\n // Activity Object date can't be undefined\n if (!dateValue) {\n return undefined;\n }\n const statusData = statusProp?.name ? data[statusProp.name] : undefined;\n let status;\n if (statusData) {\n status = {\n variant: getStatusVariant(statusData as string),\n children: statusData as ReactText\n };\n }\n const activity: ActivityObject = {\n id: row.key as string,\n title:\n title?.name && data[title.name] && titleColumn ? (\n <ValueRenderer column={titleColumn} row={row} />\n ) : (\n <NoValue />\n ),\n date:\n timezone && dateColumn?.formatterAllowed && dateFieldType && !isDateOnlyFieldType // Date only value should be formatted without timezone\n ? convertDateToTimezone(dateValue as string, timezone)\n : (dateValue as string),\n dateVariant: isDateOnlyFieldType ? 'date' : 'datetime',\n icon: icon?.name ? (data[icon.name] as string) : undefined,\n defaultExpanded: defaultRowHeight === ROW_DENSITY.WRAP_CONTENT,\n content: contentColumn ? (\n <ValueRenderer column={contentColumn} row={row} />\n ) : (\n getFieldsAsActivityContent(columns, row)\n ),\n status: statusProp?.getCustomContent ? statusProp.getCustomContent(row) : status\n };\n return activity;\n })\n ?.filter((item): item is ActivityObject => !!item);\n};\n\nexport default getActivity;\n\nexport const mapDateFnToGroupOption = (dateFunction: Group['dateFunction']): TimelineGroupBy => {\n switch (dateFunction) {\n case 'YEARS':\n return 'year';\n case 'QUARTERS':\n return 'quarteryear';\n case 'MONTHS':\n return 'monthyear';\n case 'DAYS':\n return 'date';\n default:\n return 'none';\n }\n};\n\nexport function calculateBodyMaxHeight(\n maxHeight: string | number | undefined,\n domContainer: HTMLElement | undefined,\n pContainer: HTMLElement | null | undefined\n) {\n if (maxHeight === undefined) return;\n if (!domContainer || !pContainer) return;\n const extraHeight = domContainer.offsetHeight - pContainer.offsetHeight;\n if (typeof maxHeight === 'string' && maxHeight.startsWith('--')) {\n // Means it is a css variable which is a string, and it needs to be computed with calc function\n // If css variable is not defined then fallback to default max height i.e. 550px\n const defaultMaxHeight = `calc(550px + ${extraHeight}px + 32px)`;\n return `calc(var(${maxHeight}, ${defaultMaxHeight}) - ${extraHeight}px - 32px)`;\n }\n if (typeof maxHeight === 'number') {\n return `${maxHeight - extraHeight - 32}px`;\n }\n}\n"]}