@pega/lists-react 10.0.0-build.4.0 → 10.0.0-build.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +284 -83
- package/lib/Core/Components/Card/CardFieldValue.d.ts +8 -0
- package/lib/Core/Components/Card/CardFieldValue.d.ts.map +1 -0
- package/lib/Core/Components/Card/CardFieldValue.js +8 -0
- package/lib/Core/Components/Card/CardFieldValue.js.map +1 -0
- package/lib/Core/Components/Card/CardHeader.d.ts +8 -0
- package/lib/Core/Components/Card/CardHeader.d.ts.map +1 -0
- package/lib/Core/{Views/Gallery/Components/GalleryHeader.js → Components/Card/CardHeader.js} +4 -4
- package/lib/Core/Components/Card/CardHeader.js.map +1 -0
- package/lib/Core/{Views/Gallery/utils.d.ts → Components/Card/cardData.d.ts} +16 -14
- package/lib/Core/Components/Card/cardData.d.ts.map +1 -0
- package/lib/Core/{Views/Gallery/utils.js → Components/Card/cardData.js} +35 -50
- package/lib/Core/Components/Card/cardData.js.map +1 -0
- package/lib/Core/Components/Card/hooks/useRowActions.d.ts.map +1 -0
- package/lib/Core/Components/Card/hooks/useRowActions.js.map +1 -0
- package/lib/Core/Components/Card/index.d.ts +5 -0
- package/lib/Core/Components/Card/index.d.ts.map +1 -0
- package/lib/Core/Components/Card/index.js +5 -0
- package/lib/Core/Components/Card/index.js.map +1 -0
- package/lib/Core/Components/DefaultComponents/EmptyContainer.d.ts +2 -1
- package/lib/Core/Components/DefaultComponents/EmptyContainer.d.ts.map +1 -1
- package/lib/Core/Components/DefaultComponents/EmptyContainer.js +3 -3
- package/lib/Core/Components/DefaultComponents/EmptyContainer.js.map +1 -1
- package/lib/Core/Components/DefaultComponents/index.d.ts +2 -1
- package/lib/Core/Components/DefaultComponents/index.d.ts.map +1 -1
- package/lib/Core/Components/GroupRenderer/index.d.ts.map +1 -1
- package/lib/Core/Components/GroupRenderer/index.js +7 -2
- package/lib/Core/Components/GroupRenderer/index.js.map +1 -1
- package/lib/Core/Components/RSWrapper/index.d.ts.map +1 -1
- package/lib/Core/Components/RSWrapper/index.js +4 -0
- package/lib/Core/Components/RSWrapper/index.js.map +1 -1
- package/lib/Core/Components/Toolbar/utils/utils.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/utils/utils.js +10 -4
- package/lib/Core/Components/Toolbar/utils/utils.js.map +1 -1
- package/lib/Core/Views/Gallery/Components/GalleryCard.d.ts.map +1 -1
- package/lib/Core/Views/Gallery/Components/GalleryCard.js +3 -3
- package/lib/Core/Views/Gallery/Components/GalleryCard.js.map +1 -1
- package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.d.ts.map +1 -1
- package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.js +3 -3
- package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.js.map +1 -1
- package/lib/Core/Views/Gallery/GalleryContainer.d.ts.map +1 -1
- package/lib/Core/Views/Gallery/GalleryContainer.js +1 -1
- package/lib/Core/Views/Gallery/GalleryContainer.js.map +1 -1
- package/lib/Core/Views/Gallery/index.d.ts.map +1 -1
- package/lib/Core/Views/Gallery/index.js +3 -1
- package/lib/Core/Views/Gallery/index.js.map +1 -1
- package/lib/Core/Views/Kanban/Kanban.styles.d.ts +13 -0
- package/lib/Core/Views/Kanban/Kanban.styles.d.ts.map +1 -0
- package/lib/Core/Views/Kanban/Kanban.styles.js +47 -0
- package/lib/Core/Views/Kanban/Kanban.styles.js.map +1 -0
- package/lib/Core/Views/Kanban/Kanban.types.d.ts +8 -0
- package/lib/Core/Views/Kanban/Kanban.types.d.ts.map +1 -0
- package/lib/Core/Views/Kanban/Kanban.types.js +2 -0
- package/lib/Core/Views/Kanban/Kanban.types.js.map +1 -0
- package/lib/Core/Views/Kanban/KanbanCard.d.ts +4 -0
- package/lib/Core/Views/Kanban/KanbanCard.d.ts.map +1 -0
- package/lib/Core/Views/Kanban/KanbanCard.js +19 -0
- package/lib/Core/Views/Kanban/KanbanCard.js.map +1 -0
- package/lib/Core/Views/Kanban/KanbanLane.d.ts +20 -0
- package/lib/Core/Views/Kanban/KanbanLane.d.ts.map +1 -0
- package/lib/Core/Views/Kanban/KanbanLane.js +23 -0
- package/lib/Core/Views/Kanban/KanbanLane.js.map +1 -0
- package/lib/Core/Views/Kanban/KanbanLaneHeader.d.ts +11 -0
- package/lib/Core/Views/Kanban/KanbanLaneHeader.d.ts.map +1 -0
- package/lib/Core/Views/Kanban/KanbanLaneHeader.js +15 -0
- package/lib/Core/Views/Kanban/KanbanLaneHeader.js.map +1 -0
- package/lib/Core/Views/Kanban/index.d.ts +9 -0
- package/lib/Core/Views/Kanban/index.d.ts.map +1 -0
- package/lib/Core/Views/Kanban/index.js +63 -0
- package/lib/Core/Views/Kanban/index.js.map +1 -0
- package/lib/Core/templateFeatureSupport.js +2 -2
- package/lib/Core/templateFeatureSupport.js.map +1 -1
- package/package.json +8 -8
- package/lib/Core/Views/Gallery/Components/GalleryFieldValue.d.ts +0 -8
- package/lib/Core/Views/Gallery/Components/GalleryFieldValue.d.ts.map +0 -1
- package/lib/Core/Views/Gallery/Components/GalleryFieldValue.js +0 -8
- package/lib/Core/Views/Gallery/Components/GalleryFieldValue.js.map +0 -1
- package/lib/Core/Views/Gallery/Components/GalleryHeader.d.ts +0 -8
- package/lib/Core/Views/Gallery/Components/GalleryHeader.d.ts.map +0 -1
- package/lib/Core/Views/Gallery/Components/GalleryHeader.js.map +0 -1
- package/lib/Core/Views/Gallery/hooks/useRowActions.d.ts.map +0 -1
- package/lib/Core/Views/Gallery/hooks/useRowActions.js.map +0 -1
- package/lib/Core/Views/Gallery/utils.d.ts.map +0 -1
- package/lib/Core/Views/Gallery/utils.js.map +0 -1
- /package/lib/Core/{Views/Gallery → Components/Card}/hooks/useRowActions.d.ts +0 -0
- /package/lib/Core/{Views/Gallery → Components/Card}/hooks/useRowActions.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/utils/utils.js"],"names":[],"mappings":";AAkCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiEE;AAEF,oEA/DW,MAAM;;;IAIJ,KAAK,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/utils/utils.js"],"names":[],"mappings":";AAkCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiEE;AAEF,oEA/DW,MAAM;;;IAIJ,KAAK,CAsHjB"}
|
|
@@ -110,14 +110,20 @@ function getMenuItemsFromColumns(fieldDefs, fieldProp, { selectedField, columns
|
|
|
110
110
|
// TODO primary should be renderer rather string for user reference fields to show display value instead of id in condition builder.
|
|
111
111
|
...(filterPickListColumn && {
|
|
112
112
|
possibleValues: args => filterPickListColumn.getUniqueValues().then(records => {
|
|
113
|
-
const
|
|
114
|
-
|
|
113
|
+
const searchString = args?.searchString?.toString().toLowerCase().trim();
|
|
114
|
+
const filteredValues = records
|
|
115
|
+
.filter(id => id !== null &&
|
|
116
|
+
id !== undefined &&
|
|
117
|
+
(!searchString || id.toString().toLowerCase().includes(searchString)))
|
|
115
118
|
.map(id => ({ id, primary: id }));
|
|
116
119
|
// ConditionBuilder calls with { ids } to resolve display text for pre-selected values
|
|
117
120
|
if (args && 'ids' in args) {
|
|
118
|
-
return
|
|
121
|
+
return args.ids.reduce((selectedValues, id) => {
|
|
122
|
+
selectedValues.push(filteredValues.find(value => value.id === id) || { id, primary: id });
|
|
123
|
+
return selectedValues;
|
|
124
|
+
}, []);
|
|
119
125
|
}
|
|
120
|
-
return
|
|
126
|
+
return filteredValues;
|
|
121
127
|
})
|
|
122
128
|
})
|
|
123
129
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/utils/utils.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/utils/utils.js"],"names":[],"mappings":"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","sourcesContent":["import { FieldType } from 'pega-repeating-structures-core';\n\nimport { typeMap } from '../../Filters/config';\n\nconst getCategoryItems = (id, arr) => {\n for (const obj of arr) {\n if (obj.id === id && obj.items) {\n return obj.items;\n }\n }\n};\n\nconst prepareCategoryInfo = (id, label, arr) => {\n const items = [];\n arr.push({ id, primary: label, items });\n return items;\n};\n\nconst prepareCategoryItems = (categories, items) => {\n let curPath = '';\n let leafCategoryArr = items;\n for (let i = 0; i < categories.length; i += 1) {\n curPath = i > 0 ? `${curPath}.${categories[i].label}-${i}` : `${categories[i].label}-${i}`;\n\n const existingCategoryArr = getCategoryItems(curPath, leafCategoryArr);\n if (!existingCategoryArr) {\n leafCategoryArr = prepareCategoryInfo(curPath, categories[i].label, leafCategoryArr);\n } else {\n leafCategoryArr = existingCategoryArr;\n }\n }\n return leafCategoryArr;\n};\n\n/**\n * returns copy of embedded property's leafNode model from store or null\n * @function getMenuItemsFromColumns\n * @param fieldDefs - field definitions to build menu items from\n * @param {string} fieldProp value for id prop(either 'name' of 'id')\n * @param options.selectedField - field id that is already selected (for sort/group/filter actions)\n * @param options.columns - live column objects that expose `field.filterPickList` and `getUniqueValues()`\n * @param options.defaultType - fallback field type if not specified on the field definition\n * @returns {array} returns an array of objects where each object is one category\n *\n * @example <caption>Example for getMenuItemsFromColumns.</caption>\n * We have two fields named ID and Priority where ID does not belong to any category and priority belongs to Bugs class category\n *\n * columns example(fieldDefs) :\n * [\n * {\n filter: true,\n type: 'text',\n name: 'pyID',\n label: 'ID',\n id: '2',\n category: [{ label: 'Profile' }],\n sort: true\n },\n {\n type: 'text',\n name: 'pyLabel',\n label: 'Name',\n id: '3',\n category: [{ label: 'Profile' }],\n sort: true\n },\n {\n type: 'text',\n name: 'pyOperatorName',\n label: 'Operator name',\n id: '4',\n filterPicklist:true\n }\n ]\n *\n * getMenuItemsFromColumns(fieldDefs) returns :\n * [\n {\n id: 'pyID',\n primary: ID,\n items: undefined,\n selected: undefined\n },\n {\n id: ‘pyLabel’,\n primary: ‘Name’,\n selected: undefined,\n items: [ {id: ‘Priority', primary: ‘Priority’, selected: true, items: undefined}]\n },\n {\n id: 'pyOperatorName',\n primary: 'Operator name',\n selected: undefined,\n possibleValues: function() {\n // Fetch unique values for Operator name column\n }\n }\n\n ]\n*/\n\nfunction getMenuItemsFromColumns(\n fieldDefs,\n fieldProp,\n { selectedField, columns = [], defaultType = FieldType.TEXT } = {}\n) {\n const items = [];\n let categoryArr = [];\n\n if (!fieldDefs) {\n return items;\n }\n\n fieldDefs.forEach(field => {\n const filterPickListColumn =\n field.filterPickList && columns?.find(c => c.field.name === field[fieldProp]);\n\n const leafCategoryItem = {\n id: field[fieldProp],\n primary: field.label,\n type: typeMap[field.type?.toLowerCase()] || typeMap[defaultType],\n selected: field.id === selectedField,\n // Attach possibleValues for picklist columns (e.g. UserReference, WorkStatus)\n // TODO primary should be renderer rather string for user reference fields to show display value instead of id in condition builder.\n ...(filterPickListColumn && {\n possibleValues: args =>\n filterPickListColumn.getUniqueValues().then(records => {\n const searchString = args?.searchString?.toString().toLowerCase().trim();\n const filteredValues = records\n .filter(\n id =>\n id !== null &&\n id !== undefined &&\n (!searchString || id.toString().toLowerCase().includes(searchString))\n )\n .map(id => ({ id, primary: id }));\n\n // ConditionBuilder calls with { ids } to resolve display text for pre-selected values\n if (args && 'ids' in args) {\n return args.ids.reduce((selectedValues, id) => {\n selectedValues.push(\n filteredValues.find(value => value.id === id) || { id, primary: id }\n );\n return selectedValues;\n }, []);\n }\n\n return filteredValues;\n })\n })\n };\n\n categoryArr = items;\n if (field.category) {\n categoryArr = prepareCategoryItems(field.category, categoryArr);\n }\n categoryArr.push(leafCategoryItem);\n });\n\n return items;\n}\nexport default getMenuItemsFromColumns;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalleryCard.d.ts","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"GalleryCard.d.ts","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,QAAA,MAAM,WAAW,oFAAsD,gBAAgB,6CA4CrF,CAAC;AAEH,eAAe,WAAW,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { memo } from 'react';
|
|
3
3
|
import { SelectionCardDisplay } from '@pega/cosmos-react-core';
|
|
4
|
-
import { getCardData, getCardUIProps } from '
|
|
5
|
-
import useRowActions from '../hooks/useRowActions';
|
|
4
|
+
import { getCardData, getCardUIProps, useRowActions } from '../../../Components/Card';
|
|
6
5
|
const GalleryCard = memo(({ headerColumn, row, meta, visibleColumns }) => {
|
|
6
|
+
const cardConfig = { ...meta.galleryConfig, ...meta.cardConfig };
|
|
7
7
|
const { label, image, footer, fields, 'aria-label': ariaLabel } = getCardData({
|
|
8
8
|
row,
|
|
9
9
|
visibleColumns,
|
|
10
|
-
|
|
10
|
+
cardConfig,
|
|
11
11
|
headerColumn
|
|
12
12
|
});
|
|
13
13
|
const uiProps = getCardUIProps({ row });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalleryCard.js","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"GalleryCard.js","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEtF,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAoB,EAAE,EAAE;IACzF,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACjE,MAAM,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,YAAY,EAAE,SAAS,EACxB,GAAG,WAAW,CAAC;QACd,GAAG;QACH,cAAc;QACd,UAAU;QACV,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;IAEjD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,OAAO,CACL,KAAC,oBAAoB,kBACP,SAAS,EACrB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAC,IAAI,EACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,6BAEd,OAAO,EAAE,cAAc,KACnB,OAAO,EACX,MAAM,EAAE,MAAM,KACV,CAAC,WAAW;YACd,OAAO,IAAI;YACT,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;YACnC,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE;gBAC9B,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;oBACvC,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;SACF,CAAC,GACJ,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,WAAW,CAAC","sourcesContent":["import { memo } from 'react';\nimport type { KeyboardEvent } from 'react';\n\nimport { SelectionCardDisplay } from '@pega/cosmos-react-core';\n\nimport type { GalleryCardProps } from '../Gallery.types';\nimport { getCardData, getCardUIProps, useRowActions } from '../../../Components/Card';\n\nconst GalleryCard = memo(({ headerColumn, row, meta, visibleColumns }: GalleryCardProps) => {\n const cardConfig = { ...meta.galleryConfig, ...meta.cardConfig };\n const {\n label,\n image,\n footer,\n fields,\n 'aria-label': ariaLabel\n } = getCardData({\n row,\n visibleColumns,\n cardConfig,\n headerColumn\n });\n\n const uiProps = getCardUIProps({ row });\n const fetchActionsCb = useRowActions({ row, meta });\n const { onCardClick } = meta.galleryConfig ?? {};\n\n const rowData = onCardClick ? row.getContext().getValue() : undefined;\n\n return (\n <SelectionCardDisplay\n aria-label={ariaLabel}\n label={label}\n headingTag='h3'\n image={image}\n fields={fields}\n data-gallery-card\n actions={fetchActionsCb}\n {...uiProps}\n footer={footer}\n {...(onCardClick &&\n rowData && {\n onClick: () => onCardClick(rowData),\n onKeyDown: (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onCardClick(rowData);\n }\n }\n })}\n />\n );\n});\n\nexport default GalleryCard;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalleryCheckboxCard.d.ts","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCheckboxCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"GalleryCheckboxCard.d.ts","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCheckboxCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,UAAU,wBAAyB,SAAQ,gBAAgB;IACzD,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC;CACrC;AAED,QAAA,MAAM,mBAAmB,qGACwC,wBAAwB,6CA8CxF,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { memo, useCallback } from 'react';
|
|
3
3
|
import { CheckboxCard } from '@pega/cosmos-react-core';
|
|
4
|
-
import { getCardData, getCardUIProps } from '
|
|
5
|
-
import useRowActions from '../hooks/useRowActions';
|
|
4
|
+
import { getCardData, getCardUIProps, useRowActions } from '../../../Components/Card';
|
|
6
5
|
const GalleryCheckboxCard = memo(({ headerColumn, selectionColumn, row, meta, visibleColumns }) => {
|
|
6
|
+
const cardConfig = { ...meta.galleryConfig, ...meta.cardConfig };
|
|
7
7
|
const { label, image, fields, 'aria-label': ariaLabel } = getCardData({
|
|
8
8
|
row,
|
|
9
9
|
visibleColumns,
|
|
10
|
-
|
|
10
|
+
cardConfig,
|
|
11
11
|
headerColumn
|
|
12
12
|
});
|
|
13
13
|
const uiProps = getCardUIProps({ row });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalleryCheckboxCard.js","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCheckboxCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAoB,MAAM,OAAO,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"GalleryCheckboxCard.js","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCheckboxCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAoB,MAAM,OAAO,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMtF,MAAM,mBAAmB,GAAG,IAAI,CAC9B,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAA4B,EAAE,EAAE;IACzF,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACjE,MAAM,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,YAAY,EAAE,SAAS,EACxB,GAAG,WAAW,CAAC;QACd,GAAG;QACH,cAAc;QACd,UAAU;QACV,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAExC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IACtC,MAAM,sBAAsB,GAAG,eAAe;SAC3C,UAAU,EAAE;QACb,EAAE,SAAS,EAAE,EAAE,sBAAsB,CAAC;IACxC,4IAA4I;IAC5I,MAAM,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,IAAI,sBAAsB,CAAC;IAEpF,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,KAAoC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EACzE,CAAC,GAAG,EAAE,SAAS,CAAC,CACjB,CAAC;IAEF,MAAM,cAAc,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,OAAO,CACL,KAAC,YAAY,kBACC,SAAS,EACrB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAC,IAAI,EACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,6BAEd,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAChC,QAAQ,EAAE,gBAAgB,KACtB,OAAO,EACX,OAAO,EAAE,cAAc,GACvB,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import { memo, useCallback, type ChangeEvent } from 'react';\n\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport { CheckboxCard } from '@pega/cosmos-react-core';\n\nimport type { GalleryCardProps } from '../Gallery.types';\nimport { getCardData, getCardUIProps, useRowActions } from '../../../Components/Card';\n\ninterface GalleryCheckboxCardProps extends GalleryCardProps {\n selectionColumn: RsCoreTypes.Column;\n}\n\nconst GalleryCheckboxCard = memo(\n ({ headerColumn, selectionColumn, row, meta, visibleColumns }: GalleryCheckboxCardProps) => {\n const cardConfig = { ...meta.galleryConfig, ...meta.cardConfig };\n const {\n label,\n image,\n fields,\n 'aria-label': ariaLabel\n } = getCardData({\n row,\n visibleColumns,\n cardConfig,\n headerColumn\n });\n\n const uiProps = getCardUIProps({ row });\n\n const { selectRow, getContext } = row;\n const disableSelectionOnLoad = selectionColumn\n .getContext()\n ?.getRsMeta()?.disableSelectionOnLoad;\n // TODO: identify the usecase for column.disableSelection. Keeping it for now to keep the behavior in sync with RowSelectionColumn in table.\n const disableSelection = selectionColumn.disableSelection ?? disableSelectionOnLoad;\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => selectRow(event.target.checked),\n [row, selectRow]\n );\n\n const fetchActionsCb = useRowActions({ row, meta });\n\n return (\n <CheckboxCard\n aria-label={ariaLabel}\n label={label}\n headingTag='h3'\n image={image}\n fields={fields}\n data-gallery-card\n onChange={handleChange}\n checked={getContext()?.$selected}\n readOnly={disableSelection}\n {...uiProps}\n actions={fetchActionsCb}\n />\n );\n }\n);\n\nexport default GalleryCheckboxCard;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalleryContainer.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Gallery/GalleryContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"GalleryContainer.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Gallery/GalleryContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAWzE,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC;QAC3C,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC;QAC3C,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,CAAC;IACF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA6DD,QAAA,MAAM,gBAAgB,sJAoBrB,CAAC;AAIF,eAAe,gBAAgB,CAAC;AAEhC,QAAA,MAAM,yBAAyB,6NAG9B,CAAC;AAGF,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
|
|
@@ -4,7 +4,7 @@ import styled, { css } from 'styled-components';
|
|
|
4
4
|
import { getBaseCardContainerStyles, getInlineImageCardContainerStyles, StyledHeader, StyledSelectionCard } from '@pega/cosmos-react-core/lib/components/SelectionCard/SelectionCard.styles';
|
|
5
5
|
import { defaultThemeProp } from '@pega/cosmos-react-core';
|
|
6
6
|
import { generateRSDataContainerHeightStyles, generateRSHeightStyles } from '../../Utils/styles';
|
|
7
|
-
import { DEFAULT_IMAGE_PLACEMENT, DEFAULT_IMAGE_SIZE, GALLERY_IMAGE_PLACEMENT_MAP, isInlinePlacement } from '
|
|
7
|
+
import { DEFAULT_IMAGE_PLACEMENT, DEFAULT_IMAGE_SIZE, GALLERY_IMAGE_PLACEMENT_MAP, isInlinePlacement } from '../../Components/Card';
|
|
8
8
|
const StyledGalleryContainer = styled.div(({ view, isFullscreen, isStackLayout, theme }) => {
|
|
9
9
|
return css `
|
|
10
10
|
${generateRSHeightStyles({ view, isFullscreen })}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GalleryContainer.js","sourceRoot":"","sources":["../../../../Core/Views/Gallery/GalleryContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AACnD,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,YAAY,EACZ,mBAAmB,EACpB,MAAM,2EAA2E,CAAC;AAGnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,mCAAmC,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"GalleryContainer.js","sourceRoot":"","sources":["../../../../Core/Views/Gallery/GalleryContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AACnD,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,YAAY,EACZ,mBAAmB,EACpB,MAAM,2EAA2E,CAAC;AAGnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,mCAAmC,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AA6B/B,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CACvC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAA;QACN,sBAAsB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;;;;;UAM5C,0BAA0B,CAAC,KAAK,CAAC;UACjC,aAAa;QACf,GAAG,CAAA;;SAEF;UACC,mBAAmB,IAAI,YAAY;;;;KAIxC,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,sBAAsB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEvD,MAAM,iCAAiC,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAEtE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,EAAE;IACxD,OAAO,GAAG,CAAA;;;;;;QAMJ,CAAC,aAAa;QAChB,iCAAiC,CAAC,KAAK,EAAE;YACvC,SAAS,EAAE,2BAA2B,CAAC,cAAc,CAAC;YACtD,IAAI,EAAE,SAAS;SAChB,CAAC;;QAEA,mBAAmB,IAAI,YAAY;;;;GAIxC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,iCAAiC,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAElE,MAAM,gBAAgB,GAAG,UAAU,CACjC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAChD,MAAM,YAAY,GAAG,KAAK,IAAI,IAAI,CAAC;IACnC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,EAAE,SAAS,GAAG,uBAAuB,EAAE,IAAI,GAAG,kBAAkB,EAAE,GAAG,YAAY,CAAC;QACxF,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,CACL,KAAC,iCAAiC,IAChC,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,IAAI,EACf,cAAc,EAAE,SAAS,KACrB,KAAK,GACT,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAC,sBAAsB,IAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,KAAM,KAAK,GAAI,CAAC;AACvF,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC;AAElD,eAAe,gBAAgB,CAAC;AAEhC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAA;IACxC,mCAAmC;;CAEtC,CAAC;AAEF,yBAAyB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,CAAC","sourcesContent":["import { forwardRef, type ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n getBaseCardContainerStyles,\n getInlineImageCardContainerStyles,\n StyledHeader,\n StyledSelectionCard\n} from '@pega/cosmos-react-core/lib/components/SelectionCard/SelectionCard.styles';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport type { ImageSize, WithAttributes } from '@pega/cosmos-react-core';\nimport { defaultThemeProp } from '@pega/cosmos-react-core';\n\nimport { generateRSDataContainerHeightStyles, generateRSHeightStyles } from '../../Utils/styles';\nimport {\n DEFAULT_IMAGE_PLACEMENT,\n DEFAULT_IMAGE_SIZE,\n GALLERY_IMAGE_PLACEMENT_MAP,\n isInlinePlacement\n} from '../../Components/Card';\n\ninterface GalleryContainerProps {\n children?: ReactNode;\n view: RsCoreTypes.View;\n isFullscreen: boolean;\n className?: string;\n image?: {\n placement?: RsCoreTypes.HeroImagePlacement;\n size?: ImageSize;\n };\n tile?: {\n placement?: RsCoreTypes.HeroImagePlacement;\n size?: ImageSize;\n };\n isStackLayout?: boolean;\n}\n\ninterface StyledGalleryContainerProps {\n view: RsCoreTypes.View;\n isFullscreen: boolean;\n isStackLayout?: boolean;\n}\n\ninterface StyledInlineImageGalleryContainerProps extends StyledGalleryContainerProps {\n imagePlacement: Extract<RsCoreTypes.HeroImagePlacement, 'left' | 'right'>;\n imageSize: ImageSize;\n}\n\nconst StyledGalleryContainer = styled.div<StyledGalleryContainerProps>(\n ({ view, isFullscreen, isStackLayout, theme }) => {\n return css`\n ${generateRSHeightStyles({ view, isFullscreen })}\n\n .grid-container {\n position: absolute;\n width: 100%;\n padding: 0.2rem;\n ${getBaseCardContainerStyles(theme)}\n ${isStackLayout &&\n css`\n grid-template-columns: 1fr;\n `}\n ${StyledSelectionCard} ${StyledHeader} {\n min-height: auto;\n }\n }\n `;\n }\n);\n\nStyledGalleryContainer.defaultProps = defaultThemeProp;\n\nconst StyledInlineImageGalleryContainer = styled(StyledGalleryContainer)<\n Pick<StyledInlineImageGalleryContainerProps, 'imageSize' | 'imagePlacement'>\n>(({ theme, imageSize, imagePlacement, isStackLayout }) => {\n return css`\n *:has(> .grid-container) {\n container-type: inline-size;\n }\n\n .grid-container {\n ${!isStackLayout &&\n getInlineImageCardContainerStyles(theme, {\n placement: GALLERY_IMAGE_PLACEMENT_MAP[imagePlacement],\n size: imageSize\n })}\n\n ${StyledSelectionCard} ${StyledHeader} {\n min-height: auto;\n }\n }\n `;\n});\n\nStyledInlineImageGalleryContainer.defaultProps = defaultThemeProp;\n\nconst GalleryContainer = forwardRef<HTMLDivElement, WithAttributes<'div', GalleryContainerProps>>(\n ({ image, tile, isStackLayout, ...props }, ref) => {\n const layoutSource = image ?? tile;\n if (layoutSource) {\n const { placement = DEFAULT_IMAGE_PLACEMENT, size = DEFAULT_IMAGE_SIZE } = layoutSource;\n if (isInlinePlacement(placement)) {\n return (\n <StyledInlineImageGalleryContainer\n ref={ref}\n isStackLayout={isStackLayout}\n imageSize={size}\n imagePlacement={placement}\n {...props}\n />\n );\n }\n }\n\n return <StyledGalleryContainer ref={ref} isStackLayout={isStackLayout} {...props} />;\n }\n);\n\nGalleryContainer.displayName = 'GalleryContainer';\n\nexport default GalleryContainer;\n\nconst StyledVirtualizeContainer = styled.div`\n ${generateRSDataContainerHeightStyles};\n position: relative;\n`;\n\nStyledVirtualizeContainer.defaultProps = defaultThemeProp;\nexport { StyledVirtualizeContainer };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Gallery/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAkB7E,iBAAS,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Gallery/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAkB7E,iBAAS,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAA;CAAE,2CA4GpD;kBA5GQ,OAAO;;;AAgHhB,eAAe,OAAO,CAAC"}
|
|
@@ -38,7 +38,9 @@ function Gallery({ view }) {
|
|
|
38
38
|
});
|
|
39
39
|
const isCardList = layoutType === 'cardlist';
|
|
40
40
|
const { columns = [], meta, rows } = view;
|
|
41
|
-
const
|
|
41
|
+
const cardConfig = { ...meta.galleryConfig, ...meta.cardConfig };
|
|
42
|
+
const { heroImage, tile: tileConfig, header } = cardConfig;
|
|
43
|
+
const { selectionMode } = meta;
|
|
42
44
|
const headerColumn = useMemo(() => (header?.field ? columns.find(col => col.field.id === header.field) : undefined), [header, columns]);
|
|
43
45
|
const selectionColumn = useMemo(() => columns.find(col => col.field.id === rowSelectColumnMeta.field.id), [columns]);
|
|
44
46
|
const visibleColumns = useMemo(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Gallery/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAoB,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAC/C,OAAO,UAAU,MAAM,6CAA6C,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AACjE,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAE3D,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AACnE,OAAO,gBAAgB,EAAE,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,SAAS,OAAO,CAAC,EAAE,IAAI,EAA8B;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;IACtC,MAAM,YAAY,GAAG,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;IAC3D,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,OAAO,GAAG,IAAI,WAAW,CAC/B;gBACE,oBAAoB,EAAE,qBAAqB;gBAC3C,WAAW,EAAE,eAAe;aAC7B,EACD,EAAE,EACF,YAAY,CAAC,OAAO,EACpB,iBAAiB,EACjB,cAAc,EACd,SAAS,CACV,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,UAAU,KAAK,UAAU,CAAC;IAE7C,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAC1C,MAAM,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Gallery/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\n\nimport { FieldType, type RsCoreTypes } from 'pega-repeating-structures-core';\nimport { useLiveLog, useFullscreenContext } from '@pega/cosmos-react-core';\nimport { rowSelectColumnMeta } from 'pega-repeating-structures-core';\n\nimport useTranslate from '../../Hooks/useTranslate';\nimport Virtualiser from '../Table/VirtualizeWrapper';\nimport Toolbar from '../../Components/Toolbar';\nimport RenderView from '../../Components/RenderingEngine/RenderView';\nimport { EXTERNAL_FILTERS, SELECTION_MODES } from '../../constants';\nimport RsCardWrapper from '../RsCardWrapper';\nimport LoadingIndicator from '../../Components/LoadingIndicator';\nimport WarningBanner from '../../Components/WarningBanner';\n\nimport GalleryCard from './Components/GalleryCard';\nimport GalleryCheckboxCard from './Components/GalleryCheckboxCard';\nimport GalleryContainer, { StyledVirtualizeContainer } from './GalleryContainer';\nimport GalleryA11y from './GalleryA11y';\n\nfunction Gallery({ view }: { view: RsCoreTypes.View }) {\n const layoutType = view.galleryLayout;\n const isFullscreen = !!useFullscreenContext()?.[0];\n const containerRef = useRef<HTMLDivElement>(null);\n const { announceAssertive, announcePolite } = useLiveLog();\n const [translate] = useTranslate();\n const a11yRef = useRef<GalleryA11y | null>(null);\n\n useEffect(() => {\n if (containerRef.current) {\n a11yRef.current = new GalleryA11y(\n {\n focusElementSelector: '[data-gallery-card]',\n belowLoader: '.below-loader'\n },\n [],\n containerRef.current,\n announceAssertive,\n announcePolite,\n translate\n );\n }\n return () => {\n a11yRef.current = null;\n };\n }, [announceAssertive, announcePolite, translate]);\n\n useEffect(() => {\n a11yRef.current?.itemsLoadedCallback();\n });\n const isCardList = layoutType === 'cardlist';\n\n const { columns = [], meta, rows } = view;\n const cardConfig = { ...meta.galleryConfig, ...meta.cardConfig };\n const { heroImage, tile: tileConfig, header } = cardConfig;\n const { selectionMode } = meta;\n\n const headerColumn = useMemo(\n () => (header?.field ? columns.find(col => col.field.id === header.field) : undefined),\n [header, columns]\n );\n\n const selectionColumn = useMemo(\n () => columns.find(col => col.field.id === rowSelectColumnMeta.field.id),\n [columns]\n );\n\n const visibleColumns = useMemo(() => {\n const cols = [...columns].filter(\n col => !col.hidden && col.field.type !== FieldType.ACTION_FIELD_TYPE\n );\n cols.sort((colA, colB) => (colA.order ?? 0) - (colB.order ?? 0));\n return cols;\n }, [columns]);\n\n return (\n <RsCardWrapper>\n <GalleryContainer\n data-test-id='gallery'\n data-testid='gallery'\n view={view}\n isFullscreen={isFullscreen}\n image={heroImage}\n isStackLayout={isCardList}\n tile={tileConfig}\n >\n <WarningBanner warningMessages={view.warningMessages} />\n <Toolbar view={view} />\n <RenderView view={view} type={EXTERNAL_FILTERS} />\n <StyledVirtualizeContainer\n ref={containerRef}\n className='container'\n onFocusCapture={e => a11yRef.current?.onFocusHandler(e.nativeEvent)}\n >\n <Virtualiser\n id='rootVirtualiser'\n rowContainerClass='grid-container'\n view={view}\n bufferMultiplier={0.8}\n >\n {rows?.length\n ? rows.map(row =>\n selectionMode === SELECTION_MODES.multi && selectionColumn ? (\n <GalleryCheckboxCard\n key={row.reactKey}\n meta={meta}\n row={row}\n visibleColumns={visibleColumns}\n headerColumn={headerColumn}\n selectionColumn={selectionColumn}\n />\n ) : (\n <GalleryCard\n key={row.reactKey}\n meta={meta}\n row={row}\n visibleColumns={visibleColumns}\n headerColumn={headerColumn}\n />\n )\n )\n : []}\n </Virtualiser>\n <LoadingIndicator view={view} show={!rows || !!view.isLoading} />\n </StyledVirtualizeContainer>\n </GalleryContainer>\n </RsCardWrapper>\n );\n}\n\nGallery.displayName = 'Gallery';\n\nexport default Gallery;\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RsCoreTypes } from 'pega-repeating-structures-core';
|
|
2
|
+
interface StyledKanbanContainerProps {
|
|
3
|
+
view: RsCoreTypes.View;
|
|
4
|
+
isFullscreen: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const StyledKanbanContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, StyledKanbanContainerProps>> & string;
|
|
7
|
+
export declare const StyledKanbanBoard: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
8
|
+
export declare const StyledKanbanLane: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
|
|
9
|
+
export declare const StyledKanbanLaneHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
|
|
10
|
+
export declare const StyledKanbanCards: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
11
|
+
export declare const StyledKanbanCard: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=Kanban.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Kanban.styles.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Kanban/Kanban.styles.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIlE,UAAU,0BAA0B;IAClC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,qBAAqB,+PAKjC,CAAC;AAIF,eAAO,MAAM,iBAAiB,6NAM7B,CAAC;AAIF,eAAO,MAAM,gBAAgB,uNAO5B,CAAC;AAIF,eAAO,MAAM,sBAAsB,uNASlC,CAAC;AAIF,eAAO,MAAM,iBAAiB,6NAO7B,CAAC;AAIF,eAAO,MAAM,gBAAgB,6NAM5B,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { defaultThemeProp } from '@pega/cosmos-react-core';
|
|
3
|
+
import { StyledSelectionCard } from '@pega/cosmos-react-core/lib/components/SelectionCard/SelectionCard.styles';
|
|
4
|
+
import { generateRSHeightStyles } from '../../Utils/styles';
|
|
5
|
+
export const StyledKanbanContainer = styled.div(({ view, isFullscreen }) => css `
|
|
6
|
+
${generateRSHeightStyles({ view, isFullscreen })}
|
|
7
|
+
min-inline-size: 0;
|
|
8
|
+
`);
|
|
9
|
+
StyledKanbanContainer.defaultProps = defaultThemeProp;
|
|
10
|
+
export const StyledKanbanBoard = styled.div(() => css `
|
|
11
|
+
flex: 1 1 auto;
|
|
12
|
+
min-block-size: 0;
|
|
13
|
+
overflow: auto;
|
|
14
|
+
`);
|
|
15
|
+
StyledKanbanBoard.defaultProps = defaultThemeProp;
|
|
16
|
+
export const StyledKanbanLane = styled.section(({ theme }) => css `
|
|
17
|
+
min-block-size: 0;
|
|
18
|
+
border-radius: ${theme.base['border-radius']};
|
|
19
|
+
background: ${theme.base.palette['secondary-background']};
|
|
20
|
+
overflow: hidden;
|
|
21
|
+
`);
|
|
22
|
+
StyledKanbanLane.defaultProps = defaultThemeProp;
|
|
23
|
+
export const StyledKanbanLaneHeader = styled.header(({ theme }) => css `
|
|
24
|
+
color: ${theme.base.palette['foreground-color']};
|
|
25
|
+
font-weight: ${theme.base['font-weight']['semi-bold']};
|
|
26
|
+
|
|
27
|
+
> :first-child {
|
|
28
|
+
min-inline-size: 0;
|
|
29
|
+
}
|
|
30
|
+
`);
|
|
31
|
+
StyledKanbanLaneHeader.defaultProps = defaultThemeProp;
|
|
32
|
+
export const StyledKanbanCards = styled.div(() => css `
|
|
33
|
+
position: relative;
|
|
34
|
+
flex: 1 1 auto;
|
|
35
|
+
min-block-size: 0;
|
|
36
|
+
overflow: auto;
|
|
37
|
+
`);
|
|
38
|
+
StyledKanbanCards.defaultProps = defaultThemeProp;
|
|
39
|
+
export const StyledKanbanCard = styled.div `
|
|
40
|
+
${StyledSelectionCard} {
|
|
41
|
+
inline-size: 100%;
|
|
42
|
+
max-inline-size: 100%;
|
|
43
|
+
min-inline-size: 0;
|
|
44
|
+
}
|
|
45
|
+
`;
|
|
46
|
+
StyledKanbanCard.defaultProps = defaultThemeProp;
|
|
47
|
+
//# sourceMappingURL=Kanban.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Kanban.styles.js","sourceRoot":"","sources":["../../../../Core/Views/Kanban/Kanban.styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2EAA2E,CAAC;AAGhH,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAO5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAC7C,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA;MAC3B,sBAAsB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;GAEjD,CACF,CAAC;AAEF,qBAAqB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CACzC,GAAG,EAAE,CAAC,GAAG,CAAA;;;;GAIR,CACF,CAAC;AAEF,iBAAiB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAC5C,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA;;qBAEC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;kBAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;;GAEzD,CACF,CAAC;AAEF,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CACjD,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA;aACP,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;mBAChC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC;;;;;GAKtD,CACF,CAAC;AAEF,sBAAsB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CACzC,GAAG,EAAE,CAAC,GAAG,CAAA;;;;;GAKR,CACF,CAAC;AAEF,iBAAiB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA;IACtC,mBAAmB;;;;;CAKtB,CAAC;AAEF,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC","sourcesContent":["import styled, { css } from 'styled-components';\n\nimport { defaultThemeProp } from '@pega/cosmos-react-core';\nimport { StyledSelectionCard } from '@pega/cosmos-react-core/lib/components/SelectionCard/SelectionCard.styles';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport { generateRSHeightStyles } from '../../Utils/styles';\n\ninterface StyledKanbanContainerProps {\n view: RsCoreTypes.View;\n isFullscreen: boolean;\n}\n\nexport const StyledKanbanContainer = styled.div<StyledKanbanContainerProps>(\n ({ view, isFullscreen }) => css`\n ${generateRSHeightStyles({ view, isFullscreen })}\n min-inline-size: 0;\n `\n);\n\nStyledKanbanContainer.defaultProps = defaultThemeProp;\n\nexport const StyledKanbanBoard = styled.div(\n () => css`\n flex: 1 1 auto;\n min-block-size: 0;\n overflow: auto;\n `\n);\n\nStyledKanbanBoard.defaultProps = defaultThemeProp;\n\nexport const StyledKanbanLane = styled.section(\n ({ theme }) => css`\n min-block-size: 0;\n border-radius: ${theme.base['border-radius']};\n background: ${theme.base.palette['secondary-background']};\n overflow: hidden;\n `\n);\n\nStyledKanbanLane.defaultProps = defaultThemeProp;\n\nexport const StyledKanbanLaneHeader = styled.header(\n ({ theme }) => css`\n color: ${theme.base.palette['foreground-color']};\n font-weight: ${theme.base['font-weight']['semi-bold']};\n\n > :first-child {\n min-inline-size: 0;\n }\n `\n);\n\nStyledKanbanLaneHeader.defaultProps = defaultThemeProp;\n\nexport const StyledKanbanCards = styled.div(\n () => css`\n position: relative;\n flex: 1 1 auto;\n min-block-size: 0;\n overflow: auto;\n `\n);\n\nStyledKanbanCards.defaultProps = defaultThemeProp;\n\nexport const StyledKanbanCard = styled.div`\n ${StyledSelectionCard} {\n inline-size: 100%;\n max-inline-size: 100%;\n min-inline-size: 0;\n }\n`;\n\nStyledKanbanCard.defaultProps = defaultThemeProp;\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RsCoreTypes } from 'pega-repeating-structures-core';
|
|
2
|
+
export interface KanbanCardProps {
|
|
3
|
+
row: RsCoreTypes.Row;
|
|
4
|
+
meta: RsCoreTypes.Meta;
|
|
5
|
+
visibleColumns: RsCoreTypes.Column[];
|
|
6
|
+
headerColumn?: RsCoreTypes.Column;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=Kanban.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Kanban.types.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Kanban/Kanban.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IACrC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Kanban.types.js","sourceRoot":"","sources":["../../../../Core/Views/Kanban/Kanban.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nexport interface KanbanCardProps {\n row: RsCoreTypes.Row;\n meta: RsCoreTypes.Meta;\n visibleColumns: RsCoreTypes.Column[];\n headerColumn?: RsCoreTypes.Column;\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { KanbanCardProps } from './Kanban.types';
|
|
2
|
+
declare const KanbanCard: import("react").MemoExoticComponent<({ headerColumn, row, meta, visibleColumns }: KanbanCardProps) => import("react/jsx-runtime").JSX.Element>;
|
|
3
|
+
export default KanbanCard;
|
|
4
|
+
//# sourceMappingURL=KanbanCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanCard.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Kanban/KanbanCard.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,QAAA,MAAM,UAAU,oFAAsD,eAAe,6CA8BnF,CAAC;AAIH,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import { SelectionCardDisplay } from '@pega/cosmos-react-core';
|
|
4
|
+
import { getCardData, getCardUIProps, useRowActions } from '../../Components/Card';
|
|
5
|
+
import { StyledKanbanCard } from './Kanban.styles';
|
|
6
|
+
const KanbanCard = memo(({ headerColumn, row, meta, visibleColumns }) => {
|
|
7
|
+
const { label, image, footer, fields, 'aria-label': ariaLabel } = getCardData({
|
|
8
|
+
row,
|
|
9
|
+
visibleColumns,
|
|
10
|
+
cardConfig: meta.cardConfig,
|
|
11
|
+
headerColumn
|
|
12
|
+
});
|
|
13
|
+
const uiProps = getCardUIProps({ row });
|
|
14
|
+
const fetchActionsCb = useRowActions({ row, meta });
|
|
15
|
+
return (_jsx(StyledKanbanCard, { "data-key": uiProps['data-key'], children: _jsx(SelectionCardDisplay, { "aria-label": ariaLabel, label: label, headingTag: 'h3', image: image, fields: fields, actions: fetchActionsCb, footer: footer, draggable: false }) }));
|
|
16
|
+
});
|
|
17
|
+
KanbanCard.displayName = 'KanbanCard';
|
|
18
|
+
export default KanbanCard;
|
|
19
|
+
//# sourceMappingURL=KanbanCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanCard.js","sourceRoot":"","sources":["../../../../Core/Views/Kanban/KanbanCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAmB,EAAE,EAAE;IACvF,MAAM,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,YAAY,EAAE,SAAS,EACxB,GAAG,WAAW,CAAC;QACd,GAAG;QACH,cAAc;QACd,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,YAAY;KACb,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,OAAO,CACL,KAAC,gBAAgB,gBAAW,OAAO,CAAC,UAAU,CAAC,YAC7C,KAAC,oBAAoB,kBACP,SAAS,EACrB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAC,IAAI,EACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,KAAK,GAChB,GACe,CACpB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,eAAe,UAAU,CAAC","sourcesContent":["import { memo } from 'react';\n\nimport { SelectionCardDisplay } from '@pega/cosmos-react-core';\n\nimport { getCardData, getCardUIProps, useRowActions } from '../../Components/Card';\n\nimport { StyledKanbanCard } from './Kanban.styles';\nimport type { KanbanCardProps } from './Kanban.types';\n\nconst KanbanCard = memo(({ headerColumn, row, meta, visibleColumns }: KanbanCardProps) => {\n const {\n label,\n image,\n footer,\n fields,\n 'aria-label': ariaLabel\n } = getCardData({\n row,\n visibleColumns,\n cardConfig: meta.cardConfig,\n headerColumn\n });\n const uiProps = getCardUIProps({ row });\n const fetchActionsCb = useRowActions({ row, meta });\n\n return (\n <StyledKanbanCard data-key={uiProps['data-key']}>\n <SelectionCardDisplay\n aria-label={ariaLabel}\n label={label}\n headingTag='h3'\n image={image}\n fields={fields}\n actions={fetchActionsCb}\n footer={footer}\n draggable={false}\n />\n </StyledKanbanCard>\n );\n});\n\nKanbanCard.displayName = 'KanbanCard';\n\nexport default KanbanCard;\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { RsCoreTypes } from 'pega-repeating-structures-core';
|
|
3
|
+
interface KanbanLaneProps {
|
|
4
|
+
lane: RsCoreTypes.GroupGenerator;
|
|
5
|
+
laneColumn?: RsCoreTypes.Column;
|
|
6
|
+
meta: RsCoreTypes.Meta;
|
|
7
|
+
visibleColumns: RsCoreTypes.Column[];
|
|
8
|
+
headerColumn?: RsCoreTypes.Column;
|
|
9
|
+
emptyState: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
interface EmptyKanbanLaneProps {
|
|
12
|
+
emptyState: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
declare function KanbanLane({ lane, laneColumn, meta, visibleColumns, headerColumn, emptyState }: KanbanLaneProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare namespace KanbanLane {
|
|
16
|
+
var displayName: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const EmptyKanbanLane: ({ emptyState }: EmptyKanbanLaneProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export default KanbanLane;
|
|
20
|
+
//# sourceMappingURL=KanbanLane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanLane.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Kanban/KanbanLane.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAMlE,UAAU,eAAe;IACvB,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC;IACjC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IACrC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAClC,UAAU,EAAE,SAAS,CAAC;CACvB;AAED,UAAU,oBAAoB;IAC5B,UAAU,EAAE,SAAS,CAAC;CACvB;AAED,iBAAS,UAAU,CAAC,EAClB,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,UAAU,EACX,EAAE,eAAe,2CA2BjB;kBAlCQ,UAAU;;;AAsCnB,eAAO,MAAM,eAAe,GAAI,gBAAgB,oBAAoB,4CAoBnE,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Count, Flex, Grid } from '@pega/cosmos-react-core';
|
|
3
|
+
import KanbanCard from './KanbanCard';
|
|
4
|
+
import KanbanLaneHeader from './KanbanLaneHeader';
|
|
5
|
+
import { StyledKanbanCards, StyledKanbanLane, StyledKanbanLaneHeader } from './Kanban.styles';
|
|
6
|
+
function KanbanLane({ lane, laneColumn, meta, visibleColumns, headerColumn, emptyState }) {
|
|
7
|
+
const laneRows = lane.getRows?.() ?? [];
|
|
8
|
+
return (_jsxs(Flex, { as: StyledKanbanLane, role: 'listitem', container: { direction: 'column' }, children: [_jsxs(Grid, { as: StyledKanbanLaneHeader, container: { cols: 'minmax(0, 1fr) auto', alignItems: 'center', gap: 0.5, pad: 1 }, children: [_jsx(KanbanLaneHeader, { column: laneColumn, groupHeader: lane }), _jsx(Count, { children: lane.count })] }), _jsx(Flex, { as: StyledKanbanCards, container: { direction: 'column', gap: 1, pad: 1 }, children: lane.count === 0
|
|
9
|
+
? emptyState
|
|
10
|
+
: laneRows.map(row => (_jsx(KanbanCard, { meta: meta, row: row, visibleColumns: visibleColumns, headerColumn: headerColumn }, row.reactKey))) })] }));
|
|
11
|
+
}
|
|
12
|
+
KanbanLane.displayName = 'KanbanLane';
|
|
13
|
+
export const EmptyKanbanLane = ({ emptyState }) => {
|
|
14
|
+
return (_jsxs(Flex, { as: StyledKanbanLane, role: 'listitem', container: { direction: 'column' }, children: [_jsx(Grid, { as: StyledKanbanLaneHeader, container: {
|
|
15
|
+
cols: 'minmax(0, 1fr) auto',
|
|
16
|
+
alignItems: 'center',
|
|
17
|
+
gap: 0.5,
|
|
18
|
+
pad: 1,
|
|
19
|
+
justifyItems: 'end'
|
|
20
|
+
}, children: _jsx(Count, { children: 0 }) }), _jsx(Flex, { as: StyledKanbanCards, container: { direction: 'column', gap: 1, pad: 1 }, children: emptyState })] }));
|
|
21
|
+
};
|
|
22
|
+
export default KanbanLane;
|
|
23
|
+
//# sourceMappingURL=KanbanLane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanLane.js","sourceRoot":"","sources":["../../../../Core/Views/Kanban/KanbanLane.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAe9F,SAAS,UAAU,CAAC,EAClB,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,UAAU,EACM;IAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC;IAExC,OAAO,CACL,MAAC,IAAI,IAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAC,UAAU,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,aAC5E,MAAC,IAAI,IACH,EAAE,EAAE,sBAAsB,EAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,aAElF,KAAC,gBAAgB,IAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,GAAI,EAC3D,KAAC,KAAK,cAAE,IAAI,CAAC,KAAK,GAAS,IACtB,EACP,KAAC,IAAI,IAAC,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,YAC5E,IAAI,CAAC,KAAK,KAAK,CAAC;oBACf,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAClB,KAAC,UAAU,IAET,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,IAJrB,GAAG,CAAC,QAAQ,CAKjB,CACH,CAAC,GACD,IACF,CACR,CAAC;AACJ,CAAC;AAED,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,UAAU,EAAwB,EAAE,EAAE;IACtE,OAAO,CACL,MAAC,IAAI,IAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAC,UAAU,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,aAC5E,KAAC,IAAI,IACH,EAAE,EAAE,sBAAsB,EAC1B,SAAS,EAAE;oBACT,IAAI,EAAE,qBAAqB;oBAC3B,UAAU,EAAE,QAAQ;oBACpB,GAAG,EAAE,GAAG;oBACR,GAAG,EAAE,CAAC;oBACN,YAAY,EAAE,KAAK;iBACpB,YAED,KAAC,KAAK,cAAE,CAAC,GAAS,GACb,EACP,KAAC,IAAI,IAAC,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,YAC5E,UAAU,GACN,IACF,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import type { ReactNode } from 'react';\n\nimport { Count, Flex, Grid } from '@pega/cosmos-react-core';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport KanbanCard from './KanbanCard';\nimport KanbanLaneHeader from './KanbanLaneHeader';\nimport { StyledKanbanCards, StyledKanbanLane, StyledKanbanLaneHeader } from './Kanban.styles';\n\ninterface KanbanLaneProps {\n lane: RsCoreTypes.GroupGenerator;\n laneColumn?: RsCoreTypes.Column;\n meta: RsCoreTypes.Meta;\n visibleColumns: RsCoreTypes.Column[];\n headerColumn?: RsCoreTypes.Column;\n emptyState: ReactNode;\n}\n\ninterface EmptyKanbanLaneProps {\n emptyState: ReactNode;\n}\n\nfunction KanbanLane({\n lane,\n laneColumn,\n meta,\n visibleColumns,\n headerColumn,\n emptyState\n}: KanbanLaneProps) {\n const laneRows = lane.getRows?.() ?? [];\n\n return (\n <Flex as={StyledKanbanLane} role='listitem' container={{ direction: 'column' }}>\n <Grid\n as={StyledKanbanLaneHeader}\n container={{ cols: 'minmax(0, 1fr) auto', alignItems: 'center', gap: 0.5, pad: 1 }}\n >\n <KanbanLaneHeader column={laneColumn} groupHeader={lane} />\n <Count>{lane.count}</Count>\n </Grid>\n <Flex as={StyledKanbanCards} container={{ direction: 'column', gap: 1, pad: 1 }}>\n {lane.count === 0\n ? emptyState\n : laneRows.map(row => (\n <KanbanCard\n key={row.reactKey}\n meta={meta}\n row={row}\n visibleColumns={visibleColumns}\n headerColumn={headerColumn}\n />\n ))}\n </Flex>\n </Flex>\n );\n}\n\nKanbanLane.displayName = 'KanbanLane';\n\nexport const EmptyKanbanLane = ({ emptyState }: EmptyKanbanLaneProps) => {\n return (\n <Flex as={StyledKanbanLane} role='listitem' container={{ direction: 'column' }}>\n <Grid\n as={StyledKanbanLaneHeader}\n container={{\n cols: 'minmax(0, 1fr) auto',\n alignItems: 'center',\n gap: 0.5,\n pad: 1,\n justifyItems: 'end'\n }}\n >\n <Count>{0}</Count>\n </Grid>\n <Flex as={StyledKanbanCards} container={{ direction: 'column', gap: 1, pad: 1 }}>\n {emptyState}\n </Flex>\n </Flex>\n );\n};\n\nexport default KanbanLane;\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RsCoreTypes } from 'pega-repeating-structures-core';
|
|
2
|
+
interface KanbanLaneHeaderProps {
|
|
3
|
+
column?: RsCoreTypes.Column;
|
|
4
|
+
groupHeader?: RsCoreTypes.GroupGenerator;
|
|
5
|
+
}
|
|
6
|
+
declare function KanbanLaneHeader({ column, groupHeader }: KanbanLaneHeaderProps): import("react/jsx-runtime").JSX.Element | null;
|
|
7
|
+
declare namespace KanbanLaneHeader {
|
|
8
|
+
var displayName: string;
|
|
9
|
+
}
|
|
10
|
+
export default KanbanLaneHeader;
|
|
11
|
+
//# sourceMappingURL=KanbanLaneHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanLaneHeader.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Kanban/KanbanLaneHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIlE,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC;CAC1C;AAED,iBAAS,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,qBAAqB,kDAevE;kBAfQ,gBAAgB;;;AAmBzB,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import RenderingEngine from '../../Components/RenderingEngine/RenderCell';
|
|
3
|
+
function KanbanLaneHeader({ column, groupHeader }) {
|
|
4
|
+
if (!column || !groupHeader) {
|
|
5
|
+
return null;
|
|
6
|
+
}
|
|
7
|
+
column.setExecutionContext(null);
|
|
8
|
+
return (_jsx(RenderingEngine, { ...column.getRenderingEngineProps(), context: {
|
|
9
|
+
getValue: () => groupHeader.name,
|
|
10
|
+
getExecutionContext: () => ({ getValue: () => groupHeader.data, name: 'groupHeader' })
|
|
11
|
+
} }));
|
|
12
|
+
}
|
|
13
|
+
KanbanLaneHeader.displayName = 'KanbanLaneHeader';
|
|
14
|
+
export default KanbanLaneHeader;
|
|
15
|
+
//# sourceMappingURL=KanbanLaneHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanLaneHeader.js","sourceRoot":"","sources":["../../../../Core/Views/Kanban/KanbanLaneHeader.tsx"],"names":[],"mappings":";AAEA,OAAO,eAAe,MAAM,6CAA6C,CAAC;AAO1E,SAAS,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAyB;IACtE,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEjC,OAAO,CACL,KAAC,eAAe,OACV,MAAM,CAAC,uBAAuB,EAAE,EACpC,OAAO,EAAE;YACP,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI;YAChC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;SACvF,GACD,CACH,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC;AAElD,eAAe,gBAAgB,CAAC","sourcesContent":["import type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport RenderingEngine from '../../Components/RenderingEngine/RenderCell';\n\ninterface KanbanLaneHeaderProps {\n column?: RsCoreTypes.Column;\n groupHeader?: RsCoreTypes.GroupGenerator;\n}\n\nfunction KanbanLaneHeader({ column, groupHeader }: KanbanLaneHeaderProps) {\n if (!column || !groupHeader) {\n return null;\n }\n column.setExecutionContext(null);\n\n return (\n <RenderingEngine\n {...column.getRenderingEngineProps()}\n context={{\n getValue: () => groupHeader.name,\n getExecutionContext: () => ({ getValue: () => groupHeader.data, name: 'groupHeader' })\n }}\n />\n );\n}\n\nKanbanLaneHeader.displayName = 'KanbanLaneHeader';\n\nexport default KanbanLaneHeader;\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type RsCoreTypes } from 'pega-repeating-structures-core';
|
|
2
|
+
declare function Kanban({ view }: {
|
|
3
|
+
view: RsCoreTypes.View;
|
|
4
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare namespace Kanban {
|
|
6
|
+
var displayName: string;
|
|
7
|
+
}
|
|
8
|
+
export default Kanban;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Kanban/index.tsx"],"names":[],"mappings":"AASA,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAsB1F,iBAAS,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAA;CAAE,2CA0FnD;kBA1FQ,MAAM;;;AA8Ff,eAAe,MAAM,CAAC"}
|