@pega/lists-react 9.0.0-build.18.9 → 9.0.0-build.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/lib/Core/Components/AggregateMenu.d.ts.map +1 -1
  2. package/lib/Core/Components/AggregateMenu.js +6 -2
  3. package/lib/Core/Components/AggregateMenu.js.map +1 -1
  4. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.d.ts.map +1 -1
  5. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.js +9 -15
  6. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.js.map +1 -1
  7. package/lib/Core/Components/DefaultComponents/PersonalizationDeleteConfirmation.js +2 -2
  8. package/lib/Core/Components/DefaultComponents/PersonalizationDeleteConfirmation.js.map +1 -1
  9. package/lib/Core/Components/DefaultComponents/PersonalizationSelector.d.ts.map +1 -1
  10. package/lib/Core/Components/DefaultComponents/PersonalizationSelector.js +10 -4
  11. package/lib/Core/Components/DefaultComponents/PersonalizationSelector.js.map +1 -1
  12. package/lib/Core/Components/DefaultComponents/index.d.ts +0 -1
  13. package/lib/Core/Components/DefaultComponents/index.d.ts.map +1 -1
  14. package/lib/Core/Components/DefaultComponents/index.js +0 -2
  15. package/lib/Core/Components/DefaultComponents/index.js.map +1 -1
  16. package/lib/Core/Components/FooterAggregators.d.ts.map +1 -1
  17. package/lib/Core/Components/FooterAggregators.js +3 -2
  18. package/lib/Core/Components/FooterAggregators.js.map +1 -1
  19. package/lib/Core/Components/GroupRenderer/index.d.ts.map +1 -1
  20. package/lib/Core/Components/GroupRenderer/index.js +170 -128
  21. package/lib/Core/Components/GroupRenderer/index.js.map +1 -1
  22. package/lib/Core/Components/Toolbar/AdvanceToolbar.d.ts.map +1 -1
  23. package/lib/Core/Components/Toolbar/AdvanceToolbar.js +4 -4
  24. package/lib/Core/Components/Toolbar/AdvanceToolbar.js.map +1 -1
  25. package/lib/Core/Components/Toolbar/hooks/useMore.d.ts +1 -1
  26. package/lib/Core/Components/Toolbar/hooks/useMore.d.ts.map +1 -1
  27. package/lib/Core/Components/Toolbar/hooks/useMore.js +10 -31
  28. package/lib/Core/Components/Toolbar/hooks/useMore.js.map +1 -1
  29. package/lib/Core/Components/Toolbar/hooks/usePersonalization.d.ts +8 -4
  30. package/lib/Core/Components/Toolbar/hooks/usePersonalization.d.ts.map +1 -1
  31. package/lib/Core/Components/Toolbar/hooks/usePersonalization.js +17 -2
  32. package/lib/Core/Components/Toolbar/hooks/usePersonalization.js.map +1 -1
  33. package/lib/Core/Localization/defaultTranslations.d.ts +6 -4
  34. package/lib/Core/Localization/defaultTranslations.d.ts.map +1 -1
  35. package/lib/Core/Localization/defaultTranslations.js +6 -4
  36. package/lib/Core/Localization/defaultTranslations.js.map +1 -1
  37. package/lib/Core/Views/Gallery/Components/GalleryCard.d.ts +4 -0
  38. package/lib/Core/Views/Gallery/Components/GalleryCard.d.ts.map +1 -0
  39. package/lib/Core/Views/Gallery/Components/GalleryCard.js +16 -0
  40. package/lib/Core/Views/Gallery/Components/GalleryCard.js.map +1 -0
  41. package/lib/Core/Views/Gallery/Components/GalleryFieldValue.d.ts +8 -0
  42. package/lib/Core/Views/Gallery/Components/GalleryFieldValue.d.ts.map +1 -0
  43. package/lib/Core/Views/Gallery/Components/GalleryFieldValue.js +8 -0
  44. package/lib/Core/Views/Gallery/Components/GalleryFieldValue.js.map +1 -0
  45. package/lib/Core/Views/Gallery/Components/GalleryHeader.d.ts +9 -0
  46. package/lib/Core/Views/Gallery/Components/GalleryHeader.d.ts.map +1 -0
  47. package/lib/Core/Views/Gallery/Components/GalleryHeader.js +19 -0
  48. package/lib/Core/Views/Gallery/Components/GalleryHeader.js.map +1 -0
  49. package/lib/Core/Views/Gallery/Gallery.types.d.ts +9 -0
  50. package/lib/Core/Views/Gallery/Gallery.types.d.ts.map +1 -0
  51. package/lib/Core/Views/Gallery/Gallery.types.js +2 -0
  52. package/lib/Core/Views/Gallery/Gallery.types.js.map +1 -0
  53. package/lib/Core/Views/Gallery/StyledGalleryContainer.d.ts +11 -1
  54. package/lib/Core/Views/Gallery/StyledGalleryContainer.d.ts.map +1 -1
  55. package/lib/Core/Views/Gallery/StyledGalleryContainer.js +30 -41
  56. package/lib/Core/Views/Gallery/StyledGalleryContainer.js.map +1 -1
  57. package/lib/Core/Views/Gallery/_tests_/Samples/GalleryA11ySample.js +1 -1
  58. package/lib/Core/Views/Gallery/_tests_/Samples/GalleryA11ySample.js.map +1 -1
  59. package/lib/Core/Views/Gallery/index.d.ts +4 -8
  60. package/lib/Core/Views/Gallery/index.d.ts.map +1 -1
  61. package/lib/Core/Views/Gallery/index.js +18 -64
  62. package/lib/Core/Views/Gallery/index.js.map +1 -1
  63. package/lib/Core/Views/Gallery/utils.d.ts +23 -0
  64. package/lib/Core/Views/Gallery/utils.d.ts.map +1 -0
  65. package/lib/Core/Views/Gallery/utils.js +73 -0
  66. package/lib/Core/Views/Gallery/utils.js.map +1 -0
  67. package/lib/Core/Views/Table/StyledTableContainer.d.ts.map +1 -1
  68. package/lib/Core/Views/Table/StyledTableContainer.js +196 -78
  69. package/lib/Core/Views/Table/StyledTableContainer.js.map +1 -1
  70. package/lib/Core/Views/Table/VirtualizeWrapper.d.ts +3 -1
  71. package/lib/Core/Views/Table/VirtualizeWrapper.d.ts.map +1 -1
  72. package/lib/Core/Views/Table/VirtualizeWrapper.js +5 -4
  73. package/lib/Core/Views/Table/VirtualizeWrapper.js.map +1 -1
  74. package/package.json +7 -7
  75. package/lib/Core/Components/DefaultComponents/CardItem.d.ts +0 -3
  76. package/lib/Core/Components/DefaultComponents/CardItem.d.ts.map +0 -1
  77. package/lib/Core/Components/DefaultComponents/CardItem.js +0 -79
  78. package/lib/Core/Components/DefaultComponents/CardItem.js.map +0 -1
  79. package/lib/Core/Views/Gallery/ItemWrapper.d.ts +0 -19
  80. package/lib/Core/Views/Gallery/ItemWrapper.d.ts.map +0 -1
  81. package/lib/Core/Views/Gallery/ItemWrapper.js +0 -34
  82. package/lib/Core/Views/Gallery/ItemWrapper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AggregateMenu.d.ts","sourceRoot":"","sources":["../../../Core/Components/AggregateMenu.jsx"],"names":[],"mappings":"AAkEA;;;mDAwDC;;;;;;;;;;;;;;;;;;AA3EM,kEALI,MAAM,GAAC,MAAM,mBACb,MAAM,UACN,OAAO,gCAAgC,EAAE,WAAW,CAAC,MAAM,GACzD,MAAM,GAAC,MAAM,CAmBzB;sBA/DqB,YAAY"}
1
+ {"version":3,"file":"AggregateMenu.d.ts","sourceRoot":"","sources":["../../../Core/Components/AggregateMenu.jsx"],"names":[],"mappings":"AAqEA;;;mDA2DC;;;;;;;;;;;;;;;;;;AA9EM,kEALI,MAAM,GAAC,MAAM,mBACb,MAAM,UACN,OAAO,gCAAgC,EAAE,WAAW,CAAC,MAAM,GACzD,MAAM,GAAC,MAAM,CAmBzB;sBAlEqB,YAAY"}
@@ -12,6 +12,9 @@ const StyledMenuButton = styled(MenuButton) `
12
12
  }
13
13
  `;
14
14
  const StyledCell = styled.div `
15
+ &:not(:has(${StyledMenuButton})) {
16
+ gap: 0.25rem;
17
+ }
15
18
  display: flex;
16
19
  text-align: right;
17
20
  justify-content: flex-end;
@@ -54,6 +57,7 @@ export default function AggregateMenu({ column, context }) {
54
57
  const { aggregationType } = column;
55
58
  const uid = createUID();
56
59
  const [translate] = useTranslate();
60
+ const isFooterAggregate = context.getExecutionContext?.()?.name === 'footer';
57
61
  const actions = aggregateOptions[column.field.type]?.map(label => ({
58
62
  primary: translate(label),
59
63
  id: label,
@@ -65,12 +69,12 @@ export default function AggregateMenu({ column, context }) {
65
69
  const rawAggregationValue = context.getValue();
66
70
  const aggregationValue = getFormattedAggregationValue(rawAggregationValue, aggregationType, column);
67
71
  const buttonText = translate('Aggregate options');
68
- return (_jsxs(StyledCell, { children: [_jsx("span", { children: translate(aggregationType) }), _jsx(StyledMenuButton, { className: 'aggregate-button', menu: {
72
+ return (_jsxs(StyledCell, { children: [_jsx("span", { children: translate(aggregationType) }), isFooterAggregate && (_jsx(StyledMenuButton, { className: 'aggregate-button', menu: {
69
73
  items: actions,
70
74
  mode: 'single-select'
71
75
  }, popover: {
72
76
  portal: true
73
- }, icon: 'arrow-micro-down', iconOnly: true, variant: 'simple', compact: true, text: buttonText, "aria-labelledby": `${uid}_label` }), _jsx(Flex, { container: true, as: StyledAggregationValue, item: { shrink: 0 }, "data-testid": TestIdConstants.aggregateDisplayValue, children: aggregationValue }), _jsx(VisuallyHiddenText, { id: `${uid}_label`, "aria-hidden": true, children: `${translate(aggregationType)} ${context.getValue()} ${buttonText}` })] }));
77
+ }, icon: 'arrow-micro-down', iconOnly: true, variant: 'simple', compact: true, text: buttonText, "aria-labelledby": `${uid}_label` })), _jsx(Flex, { container: true, as: StyledAggregationValue, item: { shrink: 0 }, "data-testid": TestIdConstants.aggregateDisplayValue, children: aggregationValue }), _jsx(VisuallyHiddenText, { id: `${uid}_label`, "aria-hidden": true, children: `${translate(aggregationType)} ${context.getValue()} ${buttonText}` })] }));
74
78
  }
75
79
  AggregateMenu.propTypes = {
76
80
  column: PropTypes.objectOf(PropTypes.any),
@@ -1 +1 @@
1
- {"version":3,"file":"AggregateMenu.js","sourceRoot":"","sources":["../../../Core/Components/AggregateMenu.jsx"],"names":[],"mappings":"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","sourcesContent":["import styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nimport {\n Flex,\n MenuButton,\n VisuallyHiddenText,\n createUID,\n formatNumber\n} from '@pega/cosmos-react-core';\n\nimport useTranslate from '../Hooks/useTranslate';\n\nimport TestIdConstants from './TestIdConstants';\n\nconst StyledMenuButton = styled(MenuButton)`\n color: ${props => props.theme.base.palette['foreground-color']};\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n`;\n\nconst StyledCell = styled.div`\n display: flex;\n text-align: right;\n justify-content: flex-end;\n align-items: center;\n margin-inline-end: var(--cell-padding);\n\n &:hover {\n background-clip: padding-box;\n }\n`;\n\nconst StyledAggregationValue = styled.div`\n font-weight: ${props => props.theme.base['font-weight']['semi-bold']};\n`;\n\n/**\n * Formats the aggregation value based on the aggregation type and column context.\n *\n * @param {number|string} rawAggregationValue - The raw aggregation value to format.\n * @param {string} aggregationType - The type of aggregation (e.g., 'Avg').\n * @param {import('pega-repeating-structures-core').RsCoreTypes.Column} column - The column object.\n * @returns {string|number} The formatted aggregation value or the raw value if no formatter is available.\n */\nexport const getFormattedAggregationValue = (rawAggregationValue, aggregationType, column) => {\n const formatter = column.getContext().getFormatter();\n const fieldDef = column.getContext().getField();\n const { fieldType } = fieldDef;\n const { locale, timezone } = column.parent.meta;\n\n if (!formatter) return rawAggregationValue;\n\n if (aggregationType === 'Avg' && fieldType === 'Integer') {\n return formatNumber(Number(rawAggregationValue), {\n locale,\n useGrouping: true,\n maximumFractionDigits: 2\n });\n }\n\n return formatter(rawAggregationValue, { locale, timezone, fieldDef });\n};\n\nexport default function AggregateMenu({ column, context }) {\n const { aggregateOptions } = column.parent.meta;\n const { aggregationType } = column;\n const uid = createUID();\n const [translate] = useTranslate();\n\n const actions = aggregateOptions[column.field.type]?.map(label => ({\n primary: translate(label),\n id: label,\n onClick: () => column.applyAggregation(label),\n selected: aggregationType === label\n }));\n if (!actions) return null;\n\n const rawAggregationValue = context.getValue();\n\n const aggregationValue = getFormattedAggregationValue(\n rawAggregationValue,\n aggregationType,\n column\n );\n\n const buttonText = translate('Aggregate options');\n\n return (\n <StyledCell>\n <span>{translate(aggregationType)}</span>\n <StyledMenuButton\n className='aggregate-button'\n menu={{\n items: actions,\n mode: 'single-select'\n }}\n popover={{\n portal: true\n }}\n icon='arrow-micro-down'\n iconOnly\n variant='simple'\n compact\n text={buttonText} // Text property to display tooltip on hover\n aria-labelledby={`${uid}_label`}\n />\n <Flex\n container\n as={StyledAggregationValue}\n item={{ shrink: 0 }}\n data-testid={TestIdConstants.aggregateDisplayValue}\n >\n {aggregationValue}\n </Flex>\n <VisuallyHiddenText id={`${uid}_label`} aria-hidden>\n {`${translate(aggregationType)} ${context.getValue()} ${buttonText}`}\n </VisuallyHiddenText>\n </StyledCell>\n );\n}\n\nAggregateMenu.propTypes = {\n column: PropTypes.objectOf(PropTypes.any),\n context: PropTypes.objectOf(PropTypes.any)\n};\n\nAggregateMenu.defaultProps = {\n column: {},\n context: {}\n};\n"]}
1
+ {"version":3,"file":"AggregateMenu.js","sourceRoot":"","sources":["../../../Core/Components/AggregateMenu.jsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EACL,IAAI,EACJ,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,YAAY,EACb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AAEjD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;WAChC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;;;;;CAK/D,CAAC;AAEF,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAA;eACd,gBAAgB;;;;;;;;;;;;CAY9B,CAAC;AAEF,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAA;iBACxB,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC;CACrE,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,mBAAmB,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE;IAC3F,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;IAChD,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAEhD,IAAI,CAAC,SAAS;QAAE,OAAO,mBAAmB,CAAC;IAE3C,IAAI,eAAe,KAAK,KAAK,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,YAAY,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE;YAC/C,MAAM;YACN,WAAW,EAAE,IAAI;YACjB,qBAAqB,EAAE,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE;IACvD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAChD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IACnC,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,EAAE,CAAC;IACnC,MAAM,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,EAAE,EAAE,EAAE,IAAI,KAAK,QAAQ,CAAC;IAE7E,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC;QACzB,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAC7C,QAAQ,EAAE,eAAe,KAAK,KAAK;KACpC,CAAC,CAAC,CAAC;IACJ,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAE/C,MAAM,gBAAgB,GAAG,4BAA4B,CACnD,mBAAmB,EACnB,eAAe,EACf,MAAM,CACP,CAAC;IAEF,MAAM,UAAU,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAElD,OAAO,CACL,MAAC,UAAU,eACT,yBAAO,SAAS,CAAC,eAAe,CAAC,GAAQ,EACxC,iBAAiB,IAAI,CACpB,KAAC,gBAAgB,IACf,SAAS,EAAC,kBAAkB,EAC5B,IAAI,EAAE;oBACJ,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,eAAe;iBACtB,EACD,OAAO,EAAE;oBACP,MAAM,EAAE,IAAI;iBACb,EACD,IAAI,EAAC,kBAAkB,EACvB,QAAQ,QACR,OAAO,EAAC,QAAQ,EAChB,OAAO,QACP,IAAI,EAAE,UAAU,qBACC,GAAG,GAAG,QAAQ,GAC/B,CACH,EACD,KAAC,IAAI,IACH,SAAS,QACT,EAAE,EAAE,sBAAsB,EAC1B,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,iBACN,eAAe,CAAC,qBAAqB,YAEjD,gBAAgB,GACZ,EACP,KAAC,kBAAkB,IAAC,EAAE,EAAE,GAAG,GAAG,QAAQ,iCACnC,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,UAAU,EAAE,GACjD,IACV,CACd,CAAC;AACJ,CAAC;AAED,aAAa,CAAC,SAAS,GAAG;IACxB,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;IACzC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;CAC3C,CAAC;AAEF,aAAa,CAAC,YAAY,GAAG;IAC3B,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;CACZ,CAAC","sourcesContent":["import styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nimport {\n Flex,\n MenuButton,\n VisuallyHiddenText,\n createUID,\n formatNumber\n} from '@pega/cosmos-react-core';\n\nimport useTranslate from '../Hooks/useTranslate';\n\nimport TestIdConstants from './TestIdConstants';\n\nconst StyledMenuButton = styled(MenuButton)`\n color: ${props => props.theme.base.palette['foreground-color']};\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n`;\n\nconst StyledCell = styled.div`\n &:not(:has(${StyledMenuButton})) {\n gap: 0.25rem;\n }\n display: flex;\n text-align: right;\n justify-content: flex-end;\n align-items: center;\n margin-inline-end: var(--cell-padding);\n\n &:hover {\n background-clip: padding-box;\n }\n`;\n\nconst StyledAggregationValue = styled.div`\n font-weight: ${props => props.theme.base['font-weight']['semi-bold']};\n`;\n\n/**\n * Formats the aggregation value based on the aggregation type and column context.\n *\n * @param {number|string} rawAggregationValue - The raw aggregation value to format.\n * @param {string} aggregationType - The type of aggregation (e.g., 'Avg').\n * @param {import('pega-repeating-structures-core').RsCoreTypes.Column} column - The column object.\n * @returns {string|number} The formatted aggregation value or the raw value if no formatter is available.\n */\nexport const getFormattedAggregationValue = (rawAggregationValue, aggregationType, column) => {\n const formatter = column.getContext().getFormatter();\n const fieldDef = column.getContext().getField();\n const { fieldType } = fieldDef;\n const { locale, timezone } = column.parent.meta;\n\n if (!formatter) return rawAggregationValue;\n\n if (aggregationType === 'Avg' && fieldType === 'Integer') {\n return formatNumber(Number(rawAggregationValue), {\n locale,\n useGrouping: true,\n maximumFractionDigits: 2\n });\n }\n\n return formatter(rawAggregationValue, { locale, timezone, fieldDef });\n};\n\nexport default function AggregateMenu({ column, context }) {\n const { aggregateOptions } = column.parent.meta;\n const { aggregationType } = column;\n const uid = createUID();\n const [translate] = useTranslate();\n const isFooterAggregate = context.getExecutionContext?.()?.name === 'footer';\n\n const actions = aggregateOptions[column.field.type]?.map(label => ({\n primary: translate(label),\n id: label,\n onClick: () => column.applyAggregation(label),\n selected: aggregationType === label\n }));\n if (!actions) return null;\n\n const rawAggregationValue = context.getValue();\n\n const aggregationValue = getFormattedAggregationValue(\n rawAggregationValue,\n aggregationType,\n column\n );\n\n const buttonText = translate('Aggregate options');\n\n return (\n <StyledCell>\n <span>{translate(aggregationType)}</span>\n {isFooterAggregate && (\n <StyledMenuButton\n className='aggregate-button'\n menu={{\n items: actions,\n mode: 'single-select'\n }}\n popover={{\n portal: true\n }}\n icon='arrow-micro-down'\n iconOnly\n variant='simple'\n compact\n text={buttonText} // Text property to display tooltip on hover\n aria-labelledby={`${uid}_label`}\n />\n )}\n <Flex\n container\n as={StyledAggregationValue}\n item={{ shrink: 0 }}\n data-testid={TestIdConstants.aggregateDisplayValue}\n >\n {aggregationValue}\n </Flex>\n <VisuallyHiddenText id={`${uid}_label`} aria-hidden>\n {`${translate(aggregationType)} ${context.getValue()} ${buttonText}`}\n </VisuallyHiddenText>\n </StyledCell>\n );\n}\n\nAggregateMenu.propTypes = {\n column: PropTypes.objectOf(PropTypes.any),\n context: PropTypes.objectOf(PropTypes.any)\n};\n\nAggregateMenu.defaultProps = {\n column: {},\n context: {}\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PersonalizationCreateEdit.d.ts","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/PersonalizationCreateEdit.jsx"],"names":[],"mappings":"AAOA;;;;;4CAwHC;;;;;;;;;;;QAUW,mCAAQ;;;;;;;sBAxIE,YAAY"}
1
+ {"version":3,"file":"PersonalizationCreateEdit.d.ts","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/PersonalizationCreateEdit.jsx"],"names":[],"mappings":"AAOA;;;;;4CAqHC;;;;;;;;;;;QAUW,mCAAQ;;;;;;;sBArIE,YAAY"}
@@ -24,17 +24,7 @@ export default function PersonalizationCreateEdit({ view, onFinish, editing = fa
24
24
  const viewAlreadyPresentError = translate('This view is already present.');
25
25
  const viewNameEmptyError = translate('This view name cannot be empty.');
26
26
  const viewNameMaxLengthError = translate('View name must contain less than 65 characters.');
27
- // markAsDefault is meant to be null rather than false as APIS will remove the default if it sees false
28
- // but will be a no-op if undefined or null
29
- const [markAsDefault, setMarkAsDefault] = useState(() => {
30
- if (!editing) {
31
- return true;
32
- }
33
- if (editing && personalization.defaultPersonalization === personalization.active) {
34
- return true;
35
- }
36
- return null;
37
- });
27
+ const [markAsDefault, setMarkAsDefault] = useState(!!(editing && personalization.defaultPersonalization === personalization.active));
38
28
  useEffect(() => {
39
29
  if (viewName && viewName.toLowerCase() === nonPersonalizationViewName.toLowerCase()) {
40
30
  setError(defaultNameError);
@@ -71,16 +61,20 @@ export default function PersonalizationCreateEdit({ view, onFinish, editing = fa
71
61
  return;
72
62
  }
73
63
  if (editing) {
74
- view.type.editPersonalization(personalization.active, trimmedName, markAsDefault, isAppDefaultView);
64
+ view.type.editPersonalization(personalization.active, trimmedName,
65
+ // markAsDefault is meant to be null rather than false as APIS will remove the default if it sees false
66
+ // but will be a no-op if undefined or null
67
+ markAsDefault || null, isAppDefaultView);
75
68
  }
76
69
  else {
77
- view.type.createPersonalization(trimmedName, markAsDefault);
70
+ // markAsDefault is meant to be null rather than false as APIS will remove the default if it sees false
71
+ // but will be a no-op if undefined or null
72
+ view.type.createPersonalization(trimmedName, markAsDefault || null);
78
73
  }
79
74
  onFinish();
80
75
  return undefined;
81
76
  };
82
- const heading = editing ? translate('Edit view') : translate('Save view as..');
83
- return (_jsx(FormDialog, { heading: heading, onCancel: onFinish, onSubmit: onSubmit, target: target, children: _jsxs(Flex, { container: { direction: 'column', itemGap: 2 }, children: [_jsx(Input, { ref: viewNameRef, name: 'viewName', required: true, label: translate('View name'), autoComplete: 'off', status: error ? 'error' : null, info: error, value: viewName, onChange: onChange }), !(editing && isAppDefaultView) && (_jsx(Checkbox, { checked: markAsDefault, label: translate('Mark as default?'), required: false, disabled: false, onChange: () => setMarkAsDefault(curState => !curState) }))] }) }));
77
+ return (_jsx(FormDialog, { heading: translate(editing ? 'Edit customized view' : 'Add customized view'), onCancel: onFinish, onSubmit: onSubmit, target: target, children: _jsxs(Flex, { container: { direction: 'column', gap: 2 }, children: [_jsx(Input, { ref: viewNameRef, name: 'viewName', required: true, label: translate('View name'), autoComplete: 'off', status: error ? 'error' : undefined, info: error, value: viewName, onChange: onChange }), !(editing && isAppDefaultView) && (_jsx(Checkbox, { checked: markAsDefault, label: translate('Always show this view first'), onChange: () => setMarkAsDefault(curState => !curState) }))] }) }));
84
78
  }
85
79
  PersonalizationCreateEdit.propTypes = {
86
80
  onFinish: PropTypes.func,
@@ -1 +1 @@
1
- {"version":3,"file":"PersonalizationCreateEdit.js","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/PersonalizationCreateEdit.jsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, useMemo, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Flex, Input, Checkbox, FormDialog } from '@pega/cosmos-react-core';\n\nimport useTranslate from '../../Hooks/useTranslate';\n\nexport default function PersonalizationCreateEdit({ view, onFinish, editing = false, target }) {\n const {\n state: { personalization },\n meta: { nonPersonalizationViewName }\n } = view;\n const personalizationNames = useMemo(() => {\n const personalizations = personalization?.allPersonalizations || {};\n return Object.keys(personalizations).map(key => personalizations[key]?.name?.toLowerCase());\n }, [personalization]);\n const [translate] = useTranslate();\n const currentPersonalization = personalization?.allPersonalizations?.[personalization.active];\n const currentPersonalizationName = currentPersonalization?.name;\n const isAppDefaultView = personalization.active === 'APP_DEFAULT';\n const [viewName, setViewName] = useState(() => {\n if (editing) return currentPersonalizationName;\n return '';\n });\n const [error, setError] = useState();\n const viewNameRef = useRef(null);\n const defaultNameError = `${nonPersonalizationViewName} ${translate(\n 'name is reserved for non Personalized view and cannot be used.'\n )}`;\n const viewAlreadyPresentError = translate('This view is already present.');\n const viewNameEmptyError = translate('This view name cannot be empty.');\n const viewNameMaxLengthError = translate('View name must contain less than 65 characters.');\n // markAsDefault is meant to be null rather than false as APIS will remove the default if it sees false\n // but will be a no-op if undefined or null\n const [markAsDefault, setMarkAsDefault] = useState(() => {\n if (!editing) {\n return true;\n }\n if (editing && personalization.defaultPersonalization === personalization.active) {\n return true;\n }\n return null;\n });\n\n useEffect(() => {\n if (viewName && viewName.toLowerCase() === nonPersonalizationViewName.toLowerCase()) {\n setError(defaultNameError);\n return;\n }\n if (\n personalizationNames.includes(viewName?.trim().toLowerCase()) &&\n !(editing && viewName.trim() === currentPersonalizationName)\n ) {\n setError(viewAlreadyPresentError);\n return;\n }\n if (viewName?.length > 64) {\n setError(viewNameMaxLengthError);\n return;\n }\n setError(null);\n }, [\n defaultNameError,\n currentPersonalizationName,\n editing,\n nonPersonalizationViewName,\n personalizationNames,\n viewName,\n viewAlreadyPresentError,\n viewNameMaxLengthError\n ]);\n\n const onChange = e => {\n setViewName(e.target.value);\n };\n\n const onSubmit = () => {\n const trimmedName = viewName.trim();\n if (!trimmedName) {\n viewNameRef.current.focus();\n setError(viewNameEmptyError);\n return;\n }\n if (editing) {\n view.type.editPersonalization(\n personalization.active,\n trimmedName,\n markAsDefault,\n isAppDefaultView\n );\n } else {\n view.type.createPersonalization(trimmedName, markAsDefault);\n }\n\n onFinish();\n return undefined;\n };\n\n const heading = editing ? translate('Edit view') : translate('Save view as..');\n\n return (\n <FormDialog heading={heading} onCancel={onFinish} onSubmit={onSubmit} target={target}>\n <Flex container={{ direction: 'column', itemGap: 2 }}>\n <Input\n ref={viewNameRef}\n name='viewName'\n required\n label={translate('View name')}\n autoComplete='off'\n status={error ? 'error' : null}\n info={error}\n value={viewName}\n onChange={onChange}\n />\n\n {!(editing && isAppDefaultView) && (\n <Checkbox\n checked={markAsDefault}\n label={translate('Mark as default?')}\n required={false}\n disabled={false}\n onChange={() => setMarkAsDefault(curState => !curState)}\n />\n )}\n </Flex>\n </FormDialog>\n );\n}\n\nPersonalizationCreateEdit.propTypes = {\n onFinish: PropTypes.func,\n view: PropTypes.objectOf(PropTypes.any).isRequired,\n editing: PropTypes.bool,\n target: PropTypes.instanceOf(Element)\n};\n\nPersonalizationCreateEdit.defaultProps = {\n onFinish: () => {},\n editing: false\n};\n"]}
1
+ {"version":3,"file":"PersonalizationCreateEdit.js","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/PersonalizationCreateEdit.jsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, useMemo, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Flex, Input, Checkbox, FormDialog } from '@pega/cosmos-react-core';\n\nimport useTranslate from '../../Hooks/useTranslate';\n\nexport default function PersonalizationCreateEdit({ view, onFinish, editing = false, target }) {\n const {\n state: { personalization },\n meta: { nonPersonalizationViewName }\n } = view;\n const personalizationNames = useMemo(() => {\n const personalizations = personalization?.allPersonalizations || {};\n return Object.keys(personalizations).map(key => personalizations[key]?.name?.toLowerCase());\n }, [personalization]);\n const [translate] = useTranslate();\n const currentPersonalization = personalization?.allPersonalizations?.[personalization.active];\n const currentPersonalizationName = currentPersonalization?.name;\n const isAppDefaultView = personalization.active === 'APP_DEFAULT';\n const [viewName, setViewName] = useState(() => {\n if (editing) return currentPersonalizationName;\n return '';\n });\n const [error, setError] = useState();\n const viewNameRef = useRef(null);\n const defaultNameError = `${nonPersonalizationViewName} ${translate(\n 'name is reserved for non Personalized view and cannot be used.'\n )}`;\n const viewAlreadyPresentError = translate('This view is already present.');\n const viewNameEmptyError = translate('This view name cannot be empty.');\n const viewNameMaxLengthError = translate('View name must contain less than 65 characters.');\n const [markAsDefault, setMarkAsDefault] = useState(\n !!(editing && personalization.defaultPersonalization === personalization.active)\n );\n\n useEffect(() => {\n if (viewName && viewName.toLowerCase() === nonPersonalizationViewName.toLowerCase()) {\n setError(defaultNameError);\n return;\n }\n if (\n personalizationNames.includes(viewName?.trim().toLowerCase()) &&\n !(editing && viewName.trim() === currentPersonalizationName)\n ) {\n setError(viewAlreadyPresentError);\n return;\n }\n if (viewName?.length > 64) {\n setError(viewNameMaxLengthError);\n return;\n }\n setError(null);\n }, [\n defaultNameError,\n currentPersonalizationName,\n editing,\n nonPersonalizationViewName,\n personalizationNames,\n viewName,\n viewAlreadyPresentError,\n viewNameMaxLengthError\n ]);\n\n const onChange = e => {\n setViewName(e.target.value);\n };\n\n const onSubmit = () => {\n const trimmedName = viewName.trim();\n if (!trimmedName) {\n viewNameRef.current.focus();\n setError(viewNameEmptyError);\n return;\n }\n if (editing) {\n view.type.editPersonalization(\n personalization.active,\n trimmedName,\n // markAsDefault is meant to be null rather than false as APIS will remove the default if it sees false\n // but will be a no-op if undefined or null\n markAsDefault || null,\n isAppDefaultView\n );\n } else {\n // markAsDefault is meant to be null rather than false as APIS will remove the default if it sees false\n // but will be a no-op if undefined or null\n view.type.createPersonalization(trimmedName, markAsDefault || null);\n }\n\n onFinish();\n return undefined;\n };\n\n return (\n <FormDialog\n heading={translate(editing ? 'Edit customized view' : 'Add customized view')}\n onCancel={onFinish}\n onSubmit={onSubmit}\n target={target}\n >\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input\n ref={viewNameRef}\n name='viewName'\n required\n label={translate('View name')}\n autoComplete='off'\n status={error ? 'error' : undefined}\n info={error}\n value={viewName}\n onChange={onChange}\n />\n\n {!(editing && isAppDefaultView) && (\n <Checkbox\n checked={markAsDefault}\n label={translate('Always show this view first')}\n onChange={() => setMarkAsDefault(curState => !curState)}\n />\n )}\n </Flex>\n </FormDialog>\n );\n}\n\nPersonalizationCreateEdit.propTypes = {\n onFinish: PropTypes.func,\n view: PropTypes.objectOf(PropTypes.any).isRequired,\n editing: PropTypes.bool,\n target: PropTypes.instanceOf(Element)\n};\n\nPersonalizationCreateEdit.defaultProps = {\n onFinish: () => {},\n editing: false\n};\n"]}
@@ -10,10 +10,10 @@ export default function PersonalizationDeleteConfirmation(props) {
10
10
  dismiss();
11
11
  }, [onSubmit, dismiss]);
12
12
  const modalProps = {
13
- heading: translate('Delete view'),
13
+ heading: translate('Delete customized view'),
14
14
  actions: (_jsxs(_Fragment, { children: [_jsx(Button, { onClick: dismiss, children: translate('No') }), _jsx(Button, { variant: 'primary', onClick: onSubmitAction, children: translate('Yes') })] }))
15
15
  };
16
- return (_jsx(Modal, { heading: modalProps.heading, actions: modalProps.actions, children: _jsx(Text, { children: `${translate('Are you sure you want to delete view')} ${currentActiveViewName}?` }) }));
16
+ return (_jsx(Modal, { heading: modalProps.heading, actions: modalProps.actions, children: _jsx(Text, { children: `${translate('Are you sure you want to delete customized view')} ${currentActiveViewName}?` }) }));
17
17
  }
18
18
  PersonalizationDeleteConfirmation.propTypes = {
19
19
  currentActiveViewName: PropTypes.string,
@@ -1 +1 @@
1
- {"version":3,"file":"PersonalizationDeleteConfirmation.js","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/PersonalizationDeleteConfirmation.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,MAAM,CAAC,OAAO,UAAU,iCAAiC,CAAC,KAAK;IAC7D,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IAEtC,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAExB,MAAM,UAAU,GAAG;QACjB,OAAO,EAAE,SAAS,CAAC,aAAa,CAAC;QACjC,OAAO,EAAE,CACP,8BACE,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,YAAG,SAAS,CAAC,IAAI,CAAC,GAAU,EACpD,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,cAAc,YAC9C,SAAS,CAAC,KAAK,CAAC,GACV,IACR,CACJ;KACF,CAAC;IAEF,OAAO,CACL,KAAC,KAAK,IAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,YAC7D,KAAC,IAAI,cAAE,GAAG,SAAS,CAAC,sCAAsC,CAAC,IAAI,qBAAqB,GAAG,GAAQ,GACzF,CACT,CAAC;AACJ,CAAC;AAED,iCAAiC,CAAC,SAAS,GAAG;IAC5C,qBAAqB,EAAE,SAAS,CAAC,MAAM;IACvC,QAAQ,EAAE,SAAS,CAAC,IAAI;CACzB,CAAC;AAEF,iCAAiC,CAAC,YAAY,GAAG;IAC/C,qBAAqB,EAAE,EAAE;IACzB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACnB,CAAC","sourcesContent":["import { useCallback } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Text, Button, Modal, useModalContext } from '@pega/cosmos-react-core';\n\nexport default function PersonalizationDeleteConfirmation(props) {\n const { onSubmit, currentActiveViewName, translate } = props;\n const { dismiss } = useModalContext();\n\n const onSubmitAction = useCallback(() => {\n onSubmit();\n dismiss();\n }, [onSubmit, dismiss]);\n\n const modalProps = {\n heading: translate('Delete view'),\n actions: (\n <>\n <Button onClick={dismiss}>{translate('No')}</Button>\n <Button variant='primary' onClick={onSubmitAction}>\n {translate('Yes')}\n </Button>\n </>\n )\n };\n\n return (\n <Modal heading={modalProps.heading} actions={modalProps.actions}>\n <Text>{`${translate('Are you sure you want to delete view')} ${currentActiveViewName}?`}</Text>\n </Modal>\n );\n}\n\nPersonalizationDeleteConfirmation.propTypes = {\n currentActiveViewName: PropTypes.string,\n onSubmit: PropTypes.func\n};\n\nPersonalizationDeleteConfirmation.defaultProps = {\n currentActiveViewName: '',\n onSubmit: () => {}\n};\n"]}
1
+ {"version":3,"file":"PersonalizationDeleteConfirmation.js","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/PersonalizationDeleteConfirmation.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/E,MAAM,CAAC,OAAO,UAAU,iCAAiC,CAAC,KAAK;IAC7D,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IAEtC,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAExB,MAAM,UAAU,GAAG;QACjB,OAAO,EAAE,SAAS,CAAC,wBAAwB,CAAC;QAC5C,OAAO,EAAE,CACP,8BACE,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,YAAG,SAAS,CAAC,IAAI,CAAC,GAAU,EACpD,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,cAAc,YAC9C,SAAS,CAAC,KAAK,CAAC,GACV,IACR,CACJ;KACF,CAAC;IAEF,OAAO,CACL,KAAC,KAAK,IAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,YAC7D,KAAC,IAAI,cAAE,GAAG,SAAS,CAAC,iDAAiD,CAAC,IAAI,qBAAqB,GAAG,GAAQ,GACpG,CACT,CAAC;AACJ,CAAC;AAED,iCAAiC,CAAC,SAAS,GAAG;IAC5C,qBAAqB,EAAE,SAAS,CAAC,MAAM;IACvC,QAAQ,EAAE,SAAS,CAAC,IAAI;CACzB,CAAC;AAEF,iCAAiC,CAAC,YAAY,GAAG;IAC/C,qBAAqB,EAAE,EAAE;IACzB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;CACnB,CAAC","sourcesContent":["import { useCallback } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Text, Button, Modal, useModalContext } from '@pega/cosmos-react-core';\n\nexport default function PersonalizationDeleteConfirmation(props) {\n const { onSubmit, currentActiveViewName, translate } = props;\n const { dismiss } = useModalContext();\n\n const onSubmitAction = useCallback(() => {\n onSubmit();\n dismiss();\n }, [onSubmit, dismiss]);\n\n const modalProps = {\n heading: translate('Delete customized view'),\n actions: (\n <>\n <Button onClick={dismiss}>{translate('No')}</Button>\n <Button variant='primary' onClick={onSubmitAction}>\n {translate('Yes')}\n </Button>\n </>\n )\n };\n\n return (\n <Modal heading={modalProps.heading} actions={modalProps.actions}>\n <Text>{`${translate('Are you sure you want to delete customized view')} ${currentActiveViewName}?`}</Text>\n </Modal>\n );\n}\n\nPersonalizationDeleteConfirmation.propTypes = {\n currentActiveViewName: PropTypes.string,\n onSubmit: PropTypes.func\n};\n\nPersonalizationDeleteConfirmation.defaultProps = {\n currentActiveViewName: '',\n onSubmit: () => {}\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PersonalizationSelector.d.ts","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/PersonalizationSelector.jsx"],"names":[],"mappings":"AAwGA;;4CAYC;;;;;;;;;AA/EM;;;;;;;;;EAiEN;sBAtGqB,YAAY"}
1
+ {"version":3,"file":"PersonalizationSelector.d.ts","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/PersonalizationSelector.jsx"],"names":[],"mappings":"AA+GA;;4CAYC;;;;;;;;;AAtFM;;;;;;;;;EAwEN;sBA7GqB,YAAY"}
@@ -58,10 +58,16 @@ export const usePersonalizationSelector = ({ personalization, nonPersonalization
58
58
  personalisationClicked(option, personalization, actionPersonalizationSetActive, activePersonalizationName, create, translate);
59
59
  }
60
60
  };
61
- if (option.isPreset)
62
- acc[0].push(obj);
63
- else
64
- acc[1].push(obj);
61
+ // If this is the default personalization,
62
+ // place it at the beginning of the preset personalizations (acc[0])
63
+ if (option.id === defaultPersonalization) {
64
+ acc[0].unshift(obj);
65
+ }
66
+ else {
67
+ // Preset personalizations go into acc[0],
68
+ // custom personalizations go into acc[1]
69
+ (option.isPreset ? acc[0] : acc[1]).push(obj);
70
+ }
65
71
  return acc;
66
72
  }, [[], []]);
67
73
  return { actions, activePersonalizationName };
@@ -1 +1 @@
1
- {"version":3,"file":"PersonalizationSelector.js","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/PersonalizationSelector.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\n\nimport { Menu, useModalManager } from '@pega/cosmos-react-core';\n\nimport useTranslate from '../../Hooks/useTranslate';\n\nimport PersonalizationUnsavedWarning from './PersonalizationUnsavedWarning';\n\nconst personalisationClicked = (\n option,\n personalization,\n actionPersonalizationSetActive,\n activePersonalizationName,\n create,\n translate\n) => {\n if (option.id === personalization.active) {\n return;\n }\n if (!personalization?.dirty) {\n actionPersonalizationSetActive(option);\n return;\n }\n\n create(\n PersonalizationUnsavedWarning,\n {\n onSubmit: () => {\n actionPersonalizationSetActive(option);\n },\n activePersonalizationName,\n translate\n },\n { alert: true }\n );\n};\n\nexport const usePersonalizationSelector = ({\n personalization,\n nonPersonalizationViewName,\n actionPersonalizationSetActive,\n name,\n defaultPresetId\n}) => {\n const [translate] = useTranslate();\n const { create } = useModalManager();\n const personalizations = personalization?.allPersonalizations || {};\n const activePersonalization = personalization?.active || defaultPresetId;\n let activePersonalizationName =\n personalization?.allPersonalizations?.[activePersonalization]?.name;\n if (activePersonalization === defaultPresetId) {\n activePersonalizationName = name ?? nonPersonalizationViewName;\n }\n const dependentPresetId = personalizations?.APP_DEFAULT?.personalizationState?.presetId;\n\n const defaultPersonalization = personalization?.defaultPersonalization;\n\n const { [dependentPresetId]: _, ...filteredPersonalizations } = personalizations ?? {};\n\n const options = Object.keys(filteredPersonalizations).map(key => ({\n id: key,\n name: personalizations[key]?.name,\n isPreset: personalizations[key]?.isPreset\n }));\n\n const primaryName = option => {\n if (option.id === 'APP_DEFAULT') {\n return `${option.name} (app default)`;\n // eslint-disable-next-line no-else-return\n } else if (option.id === defaultPersonalization) {\n return `${option.name} (default)`;\n } else {\n return option.name;\n }\n };\n\n const actions = options.reduce(\n (acc, option) => {\n const obj = {\n id: option.id,\n primary: primaryName(option),\n text: option.name,\n selected: option.id === activePersonalization,\n onClick: () => {\n personalisationClicked(\n option,\n personalization,\n actionPersonalizationSetActive,\n activePersonalizationName,\n create,\n translate\n );\n }\n };\n if (option.isPreset) acc[0].push(obj);\n else acc[1].push(obj);\n return acc;\n },\n [[], []]\n );\n\n return { actions, activePersonalizationName };\n};\n\nexport default function PersonalizationSelector({ view }) {\n const {\n state: { personalization },\n meta: { nonPersonalizationViewName }\n } = view;\n const { actions } = usePersonalizationSelector({\n personalization,\n nonPersonalizationViewName,\n actionPersonalizationSetActive: view.type.applyActivePersonalization\n });\n\n return <Menu className='action-menu' items={actions} mode='single-select' />;\n}\n\nPersonalizationSelector.propTypes = {\n view: PropTypes.objectOf(PropTypes.any).isRequired\n};\n"]}
1
+ {"version":3,"file":"PersonalizationSelector.js","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/PersonalizationSelector.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\n\nimport { Menu, useModalManager } from '@pega/cosmos-react-core';\n\nimport useTranslate from '../../Hooks/useTranslate';\n\nimport PersonalizationUnsavedWarning from './PersonalizationUnsavedWarning';\n\nconst personalisationClicked = (\n option,\n personalization,\n actionPersonalizationSetActive,\n activePersonalizationName,\n create,\n translate\n) => {\n if (option.id === personalization.active) {\n return;\n }\n if (!personalization?.dirty) {\n actionPersonalizationSetActive(option);\n return;\n }\n\n create(\n PersonalizationUnsavedWarning,\n {\n onSubmit: () => {\n actionPersonalizationSetActive(option);\n },\n activePersonalizationName,\n translate\n },\n { alert: true }\n );\n};\n\nexport const usePersonalizationSelector = ({\n personalization,\n nonPersonalizationViewName,\n actionPersonalizationSetActive,\n name,\n defaultPresetId\n}) => {\n const [translate] = useTranslate();\n const { create } = useModalManager();\n const personalizations = personalization?.allPersonalizations || {};\n const activePersonalization = personalization?.active || defaultPresetId;\n let activePersonalizationName =\n personalization?.allPersonalizations?.[activePersonalization]?.name;\n if (activePersonalization === defaultPresetId) {\n activePersonalizationName = name ?? nonPersonalizationViewName;\n }\n const dependentPresetId = personalizations?.APP_DEFAULT?.personalizationState?.presetId;\n\n const defaultPersonalization = personalization?.defaultPersonalization;\n\n const { [dependentPresetId]: _, ...filteredPersonalizations } = personalizations ?? {};\n\n const options = Object.keys(filteredPersonalizations).map(key => ({\n id: key,\n name: personalizations[key]?.name,\n isPreset: personalizations[key]?.isPreset\n }));\n\n const primaryName = option => {\n if (option.id === 'APP_DEFAULT') {\n return `${option.name} (app default)`;\n // eslint-disable-next-line no-else-return\n } else if (option.id === defaultPersonalization) {\n return `${option.name} (default)`;\n } else {\n return option.name;\n }\n };\n\n const actions = options.reduce(\n (acc, option) => {\n const obj = {\n id: option.id,\n primary: primaryName(option),\n text: option.name,\n selected: option.id === activePersonalization,\n onClick: () => {\n personalisationClicked(\n option,\n personalization,\n actionPersonalizationSetActive,\n activePersonalizationName,\n create,\n translate\n );\n }\n };\n // If this is the default personalization,\n // place it at the beginning of the preset personalizations (acc[0])\n if (option.id === defaultPersonalization) {\n acc[0].unshift(obj);\n } else {\n // Preset personalizations go into acc[0],\n // custom personalizations go into acc[1]\n (option.isPreset ? acc[0] : acc[1]).push(obj);\n }\n return acc;\n },\n [[], []]\n );\n\n return { actions, activePersonalizationName };\n};\n\nexport default function PersonalizationSelector({ view }) {\n const {\n state: { personalization },\n meta: { nonPersonalizationViewName }\n } = view;\n const { actions } = usePersonalizationSelector({\n personalization,\n nonPersonalizationViewName,\n actionPersonalizationSetActive: view.type.applyActivePersonalization\n });\n\n return <Menu className='action-menu' items={actions} mode='single-select' />;\n}\n\nPersonalizationSelector.propTypes = {\n view: PropTypes.objectOf(PropTypes.any).isRequired\n};\n"]}
@@ -77,7 +77,6 @@ declare const _default: {
77
77
  value: PropTypes.Requireable<number>;
78
78
  };
79
79
  }>;
80
- CardItemRenderer: import("react").NamedExoticComponent<object>;
81
80
  selectAllCheckboxRenderer: typeof SelectAllCheckbox;
82
81
  };
83
82
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/index.jsx"],"names":[],"mappings":"AA8BA,uGAKC;;;;;;;;;;AAUD,mGASC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAtDqB,YAAY;iBAEjB,QAAQ;mBACN,UAAU;uBAEN,cAAc;6BAGR,oBAAoB;8BACnB,aAAa;4CAEC,2BAA2B;8CACzB,6BAA6B;8BAC7C,qBAAqB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/index.jsx"],"names":[],"mappings":"AA4BA,uGAKC;;;;;;;;;;AAUD,mGASC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBApDqB,YAAY;iBAEjB,QAAQ;mBACN,UAAU;uBAEN,cAAc;6BAER,oBAAoB;8BACnB,aAAa;4CAEC,2BAA2B;8CACzB,6BAA6B;8BAC7C,qBAAqB"}
@@ -4,7 +4,6 @@ import sort from './Sort';
4
4
  import Filter from './Filter';
5
5
  import CellRenderers from './CellRenderers';
6
6
  import HeaderCell from './HeaderCell';
7
- import CardItem from './CardItem';
8
7
  import EmptyContainer from './EmptyContainer';
9
8
  import LoadingIndicator from './LoadingIndicator';
10
9
  import RowHeightRenderer from './RowHeight';
@@ -22,7 +21,6 @@ export default {
22
21
  personalizationSelectorRenderer,
23
22
  personalizationCreateEditRenderer,
24
23
  badgeRenderer: BadgeRenderer,
25
- CardItemRenderer: CardItem,
26
24
  selectAllCheckboxRenderer: SelectAllCheckbox,
27
25
  ...CellRenderers
28
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/index.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,iBAAiB,MAAM,aAAa,CAAC;AAC5C,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,+BAA+B,MAAM,2BAA2B,CAAC;AACxE,OAAO,iCAAiC,MAAM,6BAA6B,CAAC;AAC5E,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,eAAe;IACb,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,MAAM;IACtB,kBAAkB,EAAE,UAAU;IAC9B,sBAAsB,EAAE,cAAc;IACtC,gBAAgB,EAAE,gBAAgB;IAClC,iBAAiB,EAAE,iBAAiB;IACpC,+BAA+B;IAC/B,iCAAiC;IACjC,aAAa,EAAE,aAAa;IAC5B,gBAAgB,EAAE,QAAQ;IAC1B,yBAAyB,EAAE,iBAAiB;IAC5C,GAAG,aAAa;CACjB,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,IAAI,EAAE,KAAK;IACzC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,KAAC,IAAI,OAAK,KAAK,GAAI,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe,CAAC,SAAS,GAAG;IAC1B,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACnE,CAAC;AAEF,eAAe,CAAC,YAAY,GAAG;IAC7B,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,IAAI,EAAE,KAAK;IACrC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CACL,yBACE,KAAC,IAAI,OAAK,KAAK,GAAI,GACd,CACR,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,WAAW,CAAC,SAAS,GAAG;IACtB,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACnE,CAAC;AAEF,WAAW,CAAC,YAAY,GAAG;IACzB,OAAO,EAAE,EAAE;CACZ,CAAC","sourcesContent":["import PropTypes from 'prop-types';\n\nimport sort from './Sort';\nimport Filter from './Filter';\nimport CellRenderers from './CellRenderers';\nimport HeaderCell from './HeaderCell';\nimport CardItem from './CardItem';\nimport EmptyContainer from './EmptyContainer';\nimport LoadingIndicator from './LoadingIndicator';\nimport RowHeightRenderer from './RowHeight';\nimport BadgeRenderer from './Badge';\nimport personalizationSelectorRenderer from './PersonalizationSelector';\nimport personalizationCreateEditRenderer from './PersonalizationCreateEdit';\nimport SelectAllCheckbox from './SelectAllCheckbox';\n\nexport default {\n sortRenderer: sort,\n filterRenderer: Filter,\n headerCellRenderer: HeaderCell,\n emptyContainerRenderer: EmptyContainer,\n loadingIndicator: LoadingIndicator,\n rowHeightRenderer: RowHeightRenderer,\n personalizationSelectorRenderer,\n personalizationCreateEditRenderer,\n badgeRenderer: BadgeRenderer,\n CardItemRenderer: CardItem,\n selectAllCheckboxRenderer: SelectAllCheckbox,\n ...CellRenderers\n};\n\nexport function defaultRenderer(Comp, props) {\n if (Comp) {\n return <Comp {...props} />;\n }\n return null;\n}\n\ndefaultRenderer.propTypes = {\n itemKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\n\ndefaultRenderer.defaultProps = {\n itemKey: ''\n};\n\nexport function extRenderer(Comp, props) {\n if (Comp) {\n return (\n <span>\n <Comp {...props} />\n </span>\n );\n }\n return null;\n}\n\nextRenderer.propTypes = {\n itemKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\n\nextRenderer.defaultProps = {\n itemKey: ''\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Components/DefaultComponents/index.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,iBAAiB,MAAM,aAAa,CAAC;AAC5C,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,+BAA+B,MAAM,2BAA2B,CAAC;AACxE,OAAO,iCAAiC,MAAM,6BAA6B,CAAC;AAC5E,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,eAAe;IACb,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,MAAM;IACtB,kBAAkB,EAAE,UAAU;IAC9B,sBAAsB,EAAE,cAAc;IACtC,gBAAgB,EAAE,gBAAgB;IAClC,iBAAiB,EAAE,iBAAiB;IACpC,+BAA+B;IAC/B,iCAAiC;IACjC,aAAa,EAAE,aAAa;IAC5B,yBAAyB,EAAE,iBAAiB;IAC5C,GAAG,aAAa;CACjB,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,IAAI,EAAE,KAAK;IACzC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,KAAC,IAAI,OAAK,KAAK,GAAI,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe,CAAC,SAAS,GAAG;IAC1B,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACnE,CAAC;AAEF,eAAe,CAAC,YAAY,GAAG;IAC7B,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,IAAI,EAAE,KAAK;IACrC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CACL,yBACE,KAAC,IAAI,OAAK,KAAK,GAAI,GACd,CACR,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,WAAW,CAAC,SAAS,GAAG;IACtB,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACnE,CAAC;AAEF,WAAW,CAAC,YAAY,GAAG;IACzB,OAAO,EAAE,EAAE;CACZ,CAAC","sourcesContent":["import PropTypes from 'prop-types';\n\nimport sort from './Sort';\nimport Filter from './Filter';\nimport CellRenderers from './CellRenderers';\nimport HeaderCell from './HeaderCell';\nimport EmptyContainer from './EmptyContainer';\nimport LoadingIndicator from './LoadingIndicator';\nimport RowHeightRenderer from './RowHeight';\nimport BadgeRenderer from './Badge';\nimport personalizationSelectorRenderer from './PersonalizationSelector';\nimport personalizationCreateEditRenderer from './PersonalizationCreateEdit';\nimport SelectAllCheckbox from './SelectAllCheckbox';\n\nexport default {\n sortRenderer: sort,\n filterRenderer: Filter,\n headerCellRenderer: HeaderCell,\n emptyContainerRenderer: EmptyContainer,\n loadingIndicator: LoadingIndicator,\n rowHeightRenderer: RowHeightRenderer,\n personalizationSelectorRenderer,\n personalizationCreateEditRenderer,\n badgeRenderer: BadgeRenderer,\n selectAllCheckboxRenderer: SelectAllCheckbox,\n ...CellRenderers\n};\n\nexport function defaultRenderer(Comp, props) {\n if (Comp) {\n return <Comp {...props} />;\n }\n return null;\n}\n\ndefaultRenderer.propTypes = {\n itemKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\n\ndefaultRenderer.defaultProps = {\n itemKey: ''\n};\n\nexport function extRenderer(Comp, props) {\n if (Comp) {\n return (\n <span>\n <Comp {...props} />\n </span>\n );\n }\n return null;\n}\n\nextRenderer.propTypes = {\n itemKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\n\nextRenderer.defaultProps = {\n itemKey: ''\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FooterAggregators.d.ts","sourceRoot":"","sources":["../../../Core/Components/FooterAggregators.jsx"],"names":[],"mappings":";;AAaA;;mDAaC;;;;;;;;;;sBAzBqB,YAAY"}
1
+ {"version":3,"file":"FooterAggregators.d.ts","sourceRoot":"","sources":["../../../Core/Components/FooterAggregators.jsx"],"names":[],"mappings":";;AAcA;;mDAcC;;;;;;;;;;sBA3BqB,YAAY"}
@@ -6,7 +6,7 @@ import AggregatorCell from './AggregatorCell';
6
6
  const StyledAggregatorWrapper = styled.div `
7
7
  border-bottom: 0;
8
8
  .aggregateCell {
9
- border-top: var(--border-style);
9
+ border-top: ${props => props.theme.components.table.border['horizontal-inner'] ? 'var(--border-style)' : 'none'};
10
10
  }
11
11
  `;
12
12
  function FooterAggregators({ columns }) {
@@ -14,7 +14,8 @@ function FooterAggregators({ columns }) {
14
14
  return null;
15
15
  return (_jsx(StyledAggregatorWrapper, { className: 'row', children: columns.map(column => {
16
16
  const context = {
17
- getValue: () => column.aggregateValue
17
+ getValue: () => column.aggregateValue,
18
+ getExecutionContext: () => ({ name: 'footer' })
18
19
  };
19
20
  return _jsx(AggregatorCell, { column: column, context: context }, column.field?.id);
20
21
  }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"FooterAggregators.js","sourceRoot":"","sources":["../../../Core/Components/FooterAggregators.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;CAKzC,CAAC;AAEF,SAAS,iBAAiB,CAAC,EAAE,OAAO,EAAE;IACpC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhE,OAAO,CACL,KAAC,uBAAuB,IAAC,SAAS,EAAC,KAAK,YACrC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACpB,MAAM,OAAO,GAAG;gBACd,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc;aACtC,CAAC;YACF,OAAO,KAAC,cAAc,IAAwB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,IAAlD,MAAM,CAAC,KAAK,EAAE,EAAE,CAAsC,CAAC;QACrF,CAAC,CAAC,GACsB,CAC3B,CAAC;AACJ,CAAC;AAED,iBAAiB,CAAC,SAAS,GAAG;IAC5B,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;CAC1C,CAAC;AAEF,iBAAiB,CAAC,YAAY,GAAG;IAC/B,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,eAAe,IAAI,CAAC,iBAAiB,CAAC,CAAC","sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport AggregatorCell from './AggregatorCell';\n\nconst StyledAggregatorWrapper = styled.div`\n border-bottom: 0;\n .aggregateCell {\n border-top: var(--border-style);\n }\n`;\n\nfunction FooterAggregators({ columns }) {\n if (columns.filter(c => c.aggregated).length === 0) return null;\n\n return (\n <StyledAggregatorWrapper className='row'>\n {columns.map(column => {\n const context = {\n getValue: () => column.aggregateValue\n };\n return <AggregatorCell key={column.field?.id} column={column} context={context} />;\n })}\n </StyledAggregatorWrapper>\n );\n}\n\nFooterAggregators.propTypes = {\n columns: PropTypes.arrayOf(PropTypes.any)\n};\n\nFooterAggregators.defaultProps = {\n columns: []\n};\n\nexport default memo(FooterAggregators);\n"]}
1
+ {"version":3,"file":"FooterAggregators.js","sourceRoot":"","sources":["../../../Core/Components/FooterAggregators.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAA;;;kBAGxB,KAAK,CAAC,EAAE,CACpB,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM;;CAE7F,CAAC;AAEF,SAAS,iBAAiB,CAAC,EAAE,OAAO,EAAE;IACpC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhE,OAAO,CACL,KAAC,uBAAuB,IAAC,SAAS,EAAC,KAAK,YACrC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACpB,MAAM,OAAO,GAAG;gBACd,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc;gBACrC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aAChD,CAAC;YACF,OAAO,KAAC,cAAc,IAAwB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,IAAlD,MAAM,CAAC,KAAK,EAAE,EAAE,CAAsC,CAAC;QACrF,CAAC,CAAC,GACsB,CAC3B,CAAC;AACJ,CAAC;AAED,iBAAiB,CAAC,SAAS,GAAG;IAC5B,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;CAC1C,CAAC;AAEF,iBAAiB,CAAC,YAAY,GAAG;IAC/B,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,eAAe,IAAI,CAAC,iBAAiB,CAAC,CAAC","sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport AggregatorCell from './AggregatorCell';\n\nconst StyledAggregatorWrapper = styled.div`\n border-bottom: 0;\n .aggregateCell {\n border-top: ${props =>\n props.theme.components.table.border['horizontal-inner'] ? 'var(--border-style)' : 'none'};\n }\n`;\n\nfunction FooterAggregators({ columns }) {\n if (columns.filter(c => c.aggregated).length === 0) return null;\n\n return (\n <StyledAggregatorWrapper className='row'>\n {columns.map(column => {\n const context = {\n getValue: () => column.aggregateValue,\n getExecutionContext: () => ({ name: 'footer' })\n };\n return <AggregatorCell key={column.field?.id} column={column} context={context} />;\n })}\n </StyledAggregatorWrapper>\n );\n}\n\nFooterAggregators.propTypes = {\n columns: PropTypes.arrayOf(PropTypes.any)\n};\n\nFooterAggregators.defaultProps = {\n columns: []\n};\n\nexport default memo(FooterAggregators);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Components/GroupRenderer/index.jsx"],"names":[],"mappings":"AAoNA;;;;;;QAwCC;AA2GD;;;mDA6IC;;;;;;;;;;sBApfqB,YAAY"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Components/GroupRenderer/index.jsx"],"names":[],"mappings":"AA+PA;;;;;;QAwCC;AA2GD;;;mDAiJC;;;;;;;;;;sBAniBqB,YAAY"}