@pega/lists-core 9.0.0-build.6.8 → 9.0.0-build.7.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 (35) hide show
  1. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.d.ts.map +1 -1
  2. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js +2 -3
  3. package/lib/src/core/features/uIFeatures/beforeRender/columnReOrder.js.map +1 -1
  4. package/lib/src/core/features/uIFeatures/beforeRender/grouping.d.ts.map +1 -1
  5. package/lib/src/core/features/uIFeatures/beforeRender/grouping.js +4 -6
  6. package/lib/src/core/features/uIFeatures/beforeRender/grouping.js.map +1 -1
  7. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.d.ts.map +1 -1
  8. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js +11 -3
  9. package/lib/src/core/features/uIFeatures/beforeRender/rowDragDrop.js.map +1 -1
  10. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.d.ts.map +1 -1
  11. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js +2 -1
  12. package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js.map +1 -1
  13. package/lib/src/core/features/uIFeatures/index.d.ts.map +1 -1
  14. package/lib/src/core/generators/ColumnGenerator.types.d.ts +1 -1
  15. package/lib/src/core/generators/ColumnGenerator.types.d.ts.map +1 -1
  16. package/lib/src/core/generators/ColumnGenerator.types.js.map +1 -1
  17. package/lib/src/core/generators/GroupGenerator.d.ts +4 -1
  18. package/lib/src/core/generators/GroupGenerator.d.ts.map +1 -1
  19. package/lib/src/core/generators/GroupGenerator.js +4 -1
  20. package/lib/src/core/generators/GroupGenerator.js.map +1 -1
  21. package/lib/src/core/reducers/error.d.ts.map +1 -1
  22. package/lib/src/core/reducers/index.d.ts.map +1 -1
  23. package/lib/types/ApiContext.types.d.ts +21 -1
  24. package/lib/types/ApiContext.types.d.ts.map +1 -1
  25. package/lib/types/ApiContext.types.js.map +1 -1
  26. package/lib/types/Meta.types.d.ts +3 -1
  27. package/lib/types/Meta.types.d.ts.map +1 -1
  28. package/lib/types/Meta.types.js.map +1 -1
  29. package/lib/types/State.types.d.ts +20 -1
  30. package/lib/types/State.types.d.ts.map +1 -1
  31. package/lib/types/State.types.js.map +1 -1
  32. package/lib/types.d.ts +4 -1
  33. package/lib/types.d.ts.map +1 -1
  34. package/lib/types.js.map +1 -1
  35. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"Meta.types.js","sourceRoot":"","sources":["../../types/Meta.types.ts"],"names":[],"mappings":"AAsDA,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,UAAU;IACrB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,WAAW;IACtB,iEAAiE;IACjE,GAAG,EAAE,KAAK;IACV,iBAAiB,EAAE,QAAQ;IAC3B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAyDX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,kBAAkB,EAAE,kBAAkB;CAC9B,CAAC;AAyNX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,YAAY,EAAE,GAAG;CACT,CAAC;AAOX,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;CACF,CAAC;AAEX,MAAM,cAAc,GAAG;IACrB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,cAAc,EAAE,gBAAgB;CACxB,CAAC","sourcesContent":["import type { Condition, DateFunctionsByType } from '@pega/cosmos-react-condition-builder';\nimport type { DateFunction } from '@pega/cosmos-react-condition-builder/lib/components/ConditionBuilder/core/types';\nimport type { OmitStrict } from '@pega/cosmos-react-core';\nimport type { ActivityObject } from '@pega/cosmos-react-work/lib/components/Timeline/Timeline.types';\n\nimport type { FilterConfig } from '../src/core/config/filterConfig';\nimport type Row from '../src/core/generators/RowGenerator';\nimport type { RowData } from '../src/core/generators/RowGenerator.types';\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type { ApiContext } from './ApiContext.types';\nimport type { AggregationType, SortDirection, State } from './State.types';\nimport type RsCoreBootArgs from './RsCoreBootArgs.types';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\ntype CSSVariable = `--${string}`;\n\nexport interface RowAction {\n /** A label to be displayed to end user for this action */\n text: string;\n /** An identifier to uniquely identify this action */\n id: string;\n /**\n * @param {RowData} rowContext - RowData where this row action is triggered.\n * @param refreshRow - A callback which can be used to trigger refreshRow\n * which will trigger 'fetchRowData' api of {@link ApiContext} to fetch latest data for a row, after action is completed.\n * @return {void} - void\n */\n onClick: (rowContext: RowData, refreshRow: () => void) => void;\n}\n\n// Meta and it's type START\ninterface Category {\n label: string;\n}\n\ninterface ContextMenuOption {\n id: string;\n icon?: string;\n label: string;\n show?: boolean;\n disabled?: boolean;\n onClick?: (target: HTMLElement) => void;\n}\n\nexport interface HierarchicalInfo {\n parentId?: string;\n materializedPathId?: string;\n targetId?: string;\n sortById?: string;\n columnId?: string;\n mode?: string;\n}\n\nconst CellAlign = {\n LEFT: 'left',\n RIGHT: 'right',\n CENTER: 'center'\n} as const;\n\nexport const FieldType = {\n TEXT: 'text',\n NUMBER: 'number',\n BOOLEAN: 'boolean',\n DATE_TIME: 'datetime',\n DATE: 'date',\n TIME: 'time',\n DATE_TIMELINE: 'Date',\n DATE_ONLY: 'Date only',\n // TODO: URL as a type is not needed. It can be merged with TEXT.\n URL: 'URL',\n ACTION_FIELD_TYPE: 'action',\n CUSTOM: 'custom',\n CURRENCY: 'currency'\n} as const;\n\nexport interface StyleFormat {\n /** A unique identifier for the style format. */\n id: string;\n /** The display name of the style format. */\n label: string;\n /** A collection of style properties that defines how the format will be applied. */\n config: {\n /** Background color to be applied.\n * Supports standard CSS color formats like below:\n * - Named colors: `'red'`, `'blue'`, `'green'`, `'yellow'`, `'black'`, `'white'`, etc.\n * - Hex codes: `'#RRGGBB'`, `'#RGB'`, `'#RRGGBBAA'`, `'#RGBA'`\n * - RGB: `'rgb(255, 0, 0)'`\n * - RGBA: `'rgba(255, 0, 0, 0.5)'`\n */\n backgroundColor: string;\n /**\n * Foreground (text) color to be applied.\n * Supports standard CSS color formats like below:\n * - Named colors: `'red'`, `'blue'`, `'green'`, `'yellow'`, `'black'`, `'white'`, etc.\n * - Hex codes: `'#RRGGBB'`, `'#RGB'`, `'#RRGGBBAA'`, `'#RGBA'`\n * - RGB: `'rgb(255, 0, 0)'`\n * - RGBA: `'rgba(255, 0, 0, 0.5)'`\n *\n * Optional\n */\n foregroundColor?: string;\n /**\n * An icon used as a visual indicator of the applied format.\n * Optional.\n */\n icon?: {\n /** The name of icon. */\n name: string;\n /** The color of icon.\n * Supports standard CSS color formats like below:\n * - Named colors: `'red'`, `'blue'`, `'green'`, `'yellow'`, `'black'`, `'white'`, etc.\n * - Hex codes: `'#RRGGBB'`, `'#RGB'`, `'#RRGGBBAA'`, `'#RGBA'`\n * - RGB: `'rgb(255, 0, 0)'`\n * - RGBA: `'rgba(255, 0, 0, 0.5)'`\n */\n color: string;\n };\n };\n}\n\n// For now, conditionalFormatting is exposed for fields only. In future, for rows the fieldName can be made optional.\nexport interface ConditionalStyleFormat {\n /** The condition that determines whether this style format should be applied. */\n condition: Condition;\n /** The ID of the style format, sourced from {@link RsCoreBootArgs.styleFormats}, that will be applied if the condition is met. */\n styleFormatId: StyleFormat['id'];\n /** The {@link FieldDef.name name of the fieldDef} to which this style format is applied. */\n fieldName: FieldDef['name'];\n}\n\nexport const cellUpdateTrigger = {\n ROW_DENSITY_CHANGE: 'rowDensityChange'\n} as const;\n\nexport interface FieldDef {\n /** Actual field name in data */\n name: string;\n /** The type of the field will be used to derive cell renderer from {@link RsProps.renderFactory} */\n type: (typeof FieldType)[keyof typeof FieldType];\n /** Persistent ID of the field, typically the same as the name */\n id: string;\n /** A display name of that field */\n label: string;\n /**\n * Represents the category hierarchy of a field, if the field is nested within a parent property. The format should be an array of objects\n * where each index represents a level of the category hierarchy.\n * This structure is used to display the hierarchy of the field wherever necessary.\n * @example\n * ```json\n * [{label: 'categoryName'}]\n * ```\n */\n category?: Category[];\n /** Show {@link category} in header label. The header will be displayed in format {categoryName}.{label} where categoryName will be all the category's labels combined with .(dot) notation */\n showCategoryInHeaderLabel?: boolean;\n /** Defines Field whose value needs to be shown as HelperText e.g tooltip: 'pzDescription' field value for pyID field */\n tooltip?: string;\n /** Enable/Disable tooltip on column */\n showTooltip?: boolean;\n /** Width of the field in px */\n width?: number;\n /** Maximum width of the field in px */\n maxWidth?: number;\n /** Minimum width in pixels, field width cannot be resized below this threshold\n * @default 90\n */\n minWidth?: number;\n /** Allow filtering on this field\n * @default true\n */\n filter?: boolean;\n /** Filter popup presents a pick list to choose values from\n * @default false\n */\n filterPickList?: boolean;\n /** Allow sorting on this field\n * @default true\n */\n sort?: boolean;\n /** Allows sorting on load. If this property is present, then sortPriority is mandatory */\n sortDirection?: (typeof SortDirection)[keyof typeof SortDirection];\n /** Sets the priority on filed for multi sorting(1 takes highest precedence). Allows sorting on load. If this property is present, then sortDirection is mandatory */\n sortPriority?: number;\n /** Allow grouping on this field\n * @default true\n */\n grouping?: boolean;\n /** To set group order of the current field def */\n groupOrder?: number;\n /** To auto apply grouping on this field */\n grouped?: boolean;\n /** Choose date function {@link DateFunction} to group by when `grouped` is enabled for date/time field. Fallbacks to grouping by equality if undefined. */\n groupedDateFunction?: DateFunction;\n /** Allow resizing on this field\n * @default true\n */\n resize?: boolean;\n /** Allow reordering on this field\n * @default true\n */\n reorderFields?: boolean;\n /** Allow freezing of this field\n * @default true\n */\n freeze?: boolean;\n /** This field will resize to available excess width if set to true. Only first field definition will be honoured if configured on multiple fields. */\n fillAvailableSpace?: boolean;\n /** An asterisk will be added in the table header cell right after the label signifying it is required. */\n required?: boolean;\n /** Allow show/hide of this field\n * @default true\n */\n toggle?: boolean;\n /** Field shows in the view by default. Can be set to false to toggle it in later */\n show?: boolean;\n /** Show/hide field level Header action menu\n * @default true\n */\n showMenu?: boolean;\n /** Allow aggregation on this field\n * @default true\n */\n aggregation?: boolean;\n /** Allow combining of this field with other field\n * @default true\n */\n combineColumn?: boolean;\n /** Allow customizing column label and apply formatting\n * @default true\n */\n customizeColumn?: boolean;\n /** Disable context menu at cells of this field if set to true. Context menu is shown on right mouse click in the cell\n * @default false\n */\n noContextMenu?: boolean;\n /** This property extends options provided on right click in a cell context.\n * The default one's that the Repeating structures provide out of the box\n * are 'Copy Text', 'Paste Text' and 'Filter by this' */\n contextMenuOptions?: ContextMenuOption[];\n /** Optional name of a custom component to be rendered in the header cell of the column.\n * The custom component should be provided via the render factory.\n * If not specified, the default header cell renderer will be used. */\n headerCellRenderer?: string;\n /** Name of a custom component that is made available through the render factory. Check section on cellRenderer */\n cellRenderer?: string;\n /**\n * Configure additional events that explicitly trigger this field’s cell(s) to regenerate (re-render).\n * If omitted or empty, the cell will not update automatically on these events.\n *\n * These are *explicit* triggers that require the consumer to specify them for the cell to update.\n *\n *\n * Supported triggers include:\n * - `rowDensityChange`: when the row height or density changes.\n *\n * **Caution:** Using this may cause rendering overhead as the cells will be re-generated(re-rendered).\n *\n * @examples\n * ```json\n * cellUpdateTriggers: [\"rowDensityChange\"]\n * ```\n */\n cellUpdateTriggers?: (typeof cellUpdateTrigger)[keyof typeof cellUpdateTrigger][];\n\n /** Format on the basis of this field data should be formatted. The formatter should be present in {@link RsCoreBootArgs.renderFormatterTypeMap renderFormatterTypeMap}. */\n formatter?: string;\n /** To enable autosize on this field.\n * @default true\n */\n autosize?: boolean;\n // TODO: Remove this parentPath field. Consumer should handle the corresponding logic.\n /** If a field is of type pageList, parentpath should contain the path of the parent to traverse the field. */\n parentPath?: string;\n // TODO: Remove this isPageListField field. Consumer should handle the corresponding logic.\n /** Set if the field is of type pageList */\n isPageListField?: boolean;\n /** Enable 'Hierarchical' display mode on column if hierarchicalInfo exists. */\n hierarchicalInfo?: HierarchicalInfo;\n /** Align cell to left/right/center. Values accepted: 'left', 'right', 'center' */\n cellAlign?: (typeof CellAlign)[keyof typeof CellAlign];\n /** Column name label in group header will be hidden when set to 'true'\n * @default false\n */\n hideGroupColumnNameLabel?: boolean;\n // TODO this is exposed to consumer but is not being considered. Check this.\n /** Filter options for various field type\n * @example\n * [\n {\n value: 'Equals',\n key: 'equals'\n },\n {\n value: 'Not equals',\n key: 'notEquals'\n },\n {\n value: 'After',\n key: 'greaterThan'\n },\n {\n value: 'Before',\n key: 'lessThan'\n },\n {\n value: 'On or after',\n key: 'greaterThanEquals'\n },\n {\n value: 'On or before',\n key: 'lessThanEquals'\n }\n ]\n */\n filterParams?: {\n value: string;\n key: string;\n }[];\n /** To enable inline editing for a field. */\n editable?: boolean;\n /** A read only extra info related to field can be preserved in meta.\\\n * This will never be manipulated by repeating structure, it will be passed as it is to {@link FieldDef.cellRenderer cellRenderer} as props as it is. */\n meta?: { [key: string | number | symbol]: any };\n /** A read only extra info related to field can be preserved in this.\\\n * This will never be manipulated by repeating structure, it will be passed as it is to {@link FieldDef.cellRenderer cellRenderer} as props as it is. */\n customObject?: { [key: string | number | symbol]: any };\n /** Indicates if the field is used as rowHeader for A11y of the row */\n isRowHeader?: boolean;\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * A unique idHash.\n */\n idHash?: number;\n /** Indicates if this field is aggregated. If set to true, then first option from {@link Meta.aggregationType} will be picked as aggregation type for this field. */\n aggregated?: boolean;\n /** An array of conditional formats applied to the fieldDef.\n * @property {Condition} condition - The condition that determines whether the format should be applied.\n * @property {ConditionalStyleFormat} styleFormat - The {@link StyleFormat.id style format id} from `field` {@link RsCoreBootArgs.styleFormats styleFormats} applied to the cell if the condition evaluates to true.\n *\n * **Note**: *If the data satisfies multiple conditional style formats, the first matching conditional format will be used.*\n * */\n conditionalStyleFormats?: OmitStrict<ConditionalStyleFormat, 'fieldName'>[];\n /** Disables formatting on the field using {@link RsCoreBootArgs.renderFormatterTypeMap renderFormatterTypeMap}\n * @default false\n */\n disableFormatting?: boolean;\n}\nexport const ROW_DENSITY = {\n SHORT: '1',\n MEDIUM: '2',\n TALL: '3',\n WRAP_CONTENT: '4'\n} as const;\n\ntype DisplayDensity = {\n id: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY];\n name: string;\n};\n\nexport const REPEATING_STRUCTURE_TEMPLATES = {\n TABLE: 'Table',\n GALLERY: 'Gallery',\n TIMELINE: 'Timeline',\n MAP: 'Map'\n} as const;\n\nconst SELECTION_MODE = {\n SINGLE: 'single',\n MULTI: 'multi',\n MULTI_ON_HOVER: 'multi_on_hover'\n} as const;\n\ntype TimelineFieldDef = Partial<Pick<FieldDef, 'name' | 'label' | 'type' | 'meta'>>;\n\ntype DisplayFeature = {\n filter?: boolean;\n grouping?: boolean;\n sort?: boolean;\n};\n\n/** Meta input to RS */\nexport interface Meta {\n /** Metadata for fields */\n fieldDefs: FieldDef[];\n /** itemKey for data identification */\n itemKey: string;\n /** Preset id of the current preset/personalization. This will be used to uniquely identify the preset on which the current view is dervied from */\n id: string;\n /** Preset name of the current preset/personalization. This will be displayed to end user */\n name: string;\n /** Array of fields(extra) that should be included in the query prepared for different api's in {@link ApiContext}.\n * `lists-client-api` package implicitly appends this in `select` field while preparing the query.\n */\n patchQueryFields?: string[];\n /** Array denoting sort operation order.\n *\n * @default\n * ```json\n * ['asc', 'desc', null]\n * ```\n */\n sortOrder?: (string | null)[];\n /**\n * A collection of row density options that users can select to adjust the height of rows based on the chosen density.\n *\n * @default\n * ```json\n * [\n * { \"name\": \"Short\", \"id\": \"1\" },\n * { \"name\": \"Medium\", \"id\": \"2\" },\n * { \"name\": \"Tall\", \"id\": \"3\" },\n * { \"name\": \"Full content\", \"id\": \"4\" }\n * ]\n * ```\n */\n displayDensity?: DisplayDensity[];\n /**\n * Configuration for the height of the view.\n *\n * @default\n * ```json\n * {\n * minHeight: 600\n * }\n * ```\n */\n height?: {\n /** The minimum height in pixels for the view or 'auto' */\n minHeight?: number;\n /** Specifies an HTML element or a string query selector to which the view's height will be adjusted. If this property is used, the `height` property will be ignored */\n fitHeightToElement?: HTMLElement | string;\n /** Specifies an explicit height in pixels for the view. If set, the `fitHeightToElement` property will be ignored. */\n height?: number;\n /** A height adjustment value in pixels */\n deltaAdjustment?: number;\n /** If true, the height will be adjusted responsively on window resize, but only if `fitHeightToElement` is provided. */\n autoSize?: boolean;\n /** The maximum height for the view, specified in pixels or as a CSS variable (e.g., `--view-height`) */\n maxHeight?: number | string;\n /** CSS variable that defines the minimum threshold to be used in `maxHeight` calculations. If not provided, a default value of `25rem` will be used.\n *\n * Caution: Use carefully as setting this value too low can introduce usability issues on smaller screens.\n */\n maxHeightMinValueVariable?: CSSVariable;\n };\n /** Allow show/hide of fields\n *\n * @default true\n */\n toggleFieldVisibility?: boolean;\n /** Allow grouping on fields\n *\n * @default true\n */\n grouping?: boolean;\n /** Determines the view of a Repeating Structure\n *\n * @default 'Table'\n */\n template?: (typeof REPEATING_STRUCTURE_TEMPLATES)[keyof typeof REPEATING_STRUCTURE_TEMPLATES];\n /** Allow editing on fields and if enabled then row actions are also enabled.\n *\n * @default false\n */\n editing?: boolean;\n /** Allow deleting of rows.\n */\n deleting?: boolean;\n /** Allow personalization views\n * @default true\n */\n personalization?: boolean;\n /** Enable app default personalization options in Toolbar action menu.\n * If a personalization is set as App Default then that will be used as default personalization in repeating structures.\n * @default false\n * */\n enableAppDefault?: boolean;\n /**\n * Name to be shown for non personalized view.\n * @default 'Initial view'\n */\n nonPersonalizationViewName?: string;\n /** Allow field (column) reordering through a drag and drop action.\n * @default true\n */\n reorderFields?: boolean;\n /** Allow row reordering through a drag and drop action.\n * @default false\n */\n reorderItems?: boolean;\n /**\n * Allow to add a column for drag handle\n * @default false\n * @deprecated Use {@link rowReorderField}\n */\n dragHandle?: boolean;\n /**\n * Enables row reorder column. By default if enabled, it will be visible. To override the default behavior set show as false.\n */\n rowReorderField?: {\n show: boolean;\n };\n /**\n * Brings in a search widget to allow searching across all text type fields.\n * @default true\n */\n globalSearch?: boolean;\n /** Display toolbar on the view.\n * @default true\n */\n toolbar?: boolean;\n /** Display count in toolbar.\n * @default true\n */\n showCount?: boolean;\n /**\n * Row density id value from the \"displayDensity\" options prop above.\n * @default {@link ROW_DENSITY.SHORT}\n */\n defaultRowHeight?: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY];\n /**\n * Renders the 'Bulk actions' button in the table toolbar, which gets enabled on row selection.\n * @default false\n */\n allowBulkActions?: boolean;\n /**\n * Denotes the page size being passed in the case of rest backed data page\n * #JSDOC\n */\n pageSize?: number;\n /** Enables date-functions like MONTHS/WEEKS/... during Grouping and Filtering. ([Object structure](https://git.pega.io/projects/PS/repos/cosmos/browse/packages/cosmos-condition-builder/src/components/ConditionBuilder/ConditionBuilder.types.ts?until=dfcf607851276bfeb877e9fb2c8f55d4396fd8b7&untilPath=packages%2Fcosmos-condition-builder%2Fsrc%2Fcomponents%2FConditionBuilder%2FConditionBuilder.types.ts#79-85)) */\n dateFunctions?: DateFunctionsByType;\n /** Enabled Relative Dates, such as \"Last 7 days\" (Or) \"Current Year\", in filtering for the DateTime or Date_Only values\".\n * @default false\n */\n relativeDates?: boolean;\n /** Display footer on the view.\n * @default true\n */\n footer?: boolean;\n /**\n * Templates for dynamic fields (or) columns which are used to combine two columns with a template.\n * @default\n * ```json\n * [\n * { name: 'Comma separated', value: 'comma',selected: true },\n * { name: 'Space separated', value: 'space' },\n * { name: 'Multi line', value: 'multiline' },\n * { name: 'Forward slash', value: 'forwardslash' }\n * ]\n * ```\n */\n dynamicFieldTemplates?: {\n name: string;\n value: string;\n selected?: boolean;\n }[];\n /** Repeating Structure Title\n * @default '<label not set>'\n */\n title?: string;\n /** Repeating Structure Icon\n * @default 'picture'\n */\n icon?: string;\n /** Display Header Bar\n * @default false\n */\n headerBar?: boolean;\n /**\n * Display Respective Header Icons at field labels based on type\n * @default false\n */\n showHeaderIcons?: boolean;\n /** Indicates if freezing is allowed on Fields. */\n freezeFields?: boolean;\n /**\n * list of available static actions for an editable table with following properties\n * @example\n * ```json\n * [\n * {\n * text: 'Open in a new tab',\n * id: 'row-new-tab',\n * onClick: () => {}\n * }\n * ]\n * ```\n * @default\n * []\n */\n rowActions?: RowAction[];\n /** Decides type of row selection mode (radio for single/ checkbox for multi) possible values : single / multi / multi-on-hover */\n selectionMode?: (typeof SELECTION_MODE)[keyof typeof SELECTION_MODE];\n /** Displays select-all checkbox if selectionMode is multi-on-hover and the records count is not greater than threshold */\n selectionCountThreshold?: number;\n /** To Disable/Enable selection of rows */\n disableSelectionOnLoad?: boolean;\n /** To show asterisk(*) symbol on table header in case of Data Reference/Embedded views. (Note: This works perfectly if the personalization is off.) */\n requiredOnLoad?: boolean;\n /**\n * List of available static actions at table level (shown in toolbar/ headerbar) with following properties\n * [{ text: 'Add', tooltip: 'Add story', id: 'Add', onClick: () => {}}]\n */\n toolbarActions?: {\n text: string;\n id: string;\n onClick: () => void;\n tooltip: string;\n }[];\n /** Allow row reordering through a drag and drop action.\n * default value: false\n */\n moveListRecords?: boolean;\n\n /** Allow end user to refresh data of the repeating structures. Enabling this will show up `Refresh` action in repeating structures toolbar.\n * @default false\n */\n allowRefresh?: boolean;\n\n /** The height of repeating structure is calculated on this parameter if provided. */\n numberOfRows?: number;\n /** Display views of repeating structures with full or condensed toolbar.\n * @default false\n * Default shows full toolbar.\n */\n basicMode?: boolean;\n /** Timezone which is passed to formatter\n * @default 'America/New_York'\n */\n timezone?: string;\n /** Locale which is passed to formatter function\n * @default 'en-US'\n */\n locale?: string;\n timelineFields?: {\n /** Timeline template title for display */\n title?: TimelineFieldDef;\n /** Timeline template date for display */\n date?: TimelineFieldDef;\n /** Timeline template status for display */\n status?: TimelineFieldDef & { getCustomContent?: (row: Row) => ActivityObject['status'] };\n /** Timeline template icon for display */\n icon?: TimelineFieldDef;\n /** Timeline template content for display */\n content?: TimelineFieldDef;\n };\n /** Map template field ids for display */\n mapFieldIds?: {\n /** Map template location field id for display */\n location?: FieldDef['id'];\n /** Map template label field id for display */\n label?: FieldDef['id'];\n /** Map template content field id for display */\n content?: FieldDef['id'];\n };\n /** A unique key for injectable filters component.\n * This key will be sent to {@link RsCoreBootArgs.renderFactory renderFactory} as 'type' to get a renderer for the external filters.\n * The renderer will be shown between Repeating structures body and repeating structures toolbar.\n * This key should be used in {@link State.externalState externalState} to populate state related to externalFilters.\n */\n externalFilters?: string;\n /** This key is used to show the 'Import Data' action in the repeating structures toolbar. It will only work for Launchpad.\n * On click, it will call {@link ApiContext.importCSVData importCSVData} open a modal allowing the user to upload a file.\n */\n showImportDataOption?: boolean;\n /** This key is used to show 'Export to Excel' action in repeating structure toolbar.\n * On click of it, {@link ApiContext.exportData exportData} api is called to export repeating structures data into excel file. */\n showExportToExcelOption?: boolean;\n /** This key is used to show 'Export to CSV' action in repeating structure toolbar.\n * On click of it, {@link ApiContext.exportDataToCSV exportDataToCSV} api is called to export repeating structures data into CSV file. */\n showExportToCSVOption?: boolean;\n /** To enable 'Freeze columns' action in toolbar action menu. This action triggers freezing of columns.This toolbar action considers {@link FieldDef.freeze freeze} key in FieldDef too.\n * @default true\n */\n // TODO: meta.freezeFields and meta.enableFreezeColumns are checking the same thing. Evaluate if one can be removed.\n enableFreezeColumns?: boolean;\n /** To enable 'Auto size columns' action in toolbar action menu. This action triggers auto size of columns.\n * @default true\n */\n autoSizeColumns?: boolean;\n /** To enable 'Query info' action in toolbar action menu. This action shows query information.\n * @default false\n */\n showQueryInfo?: boolean;\n /** To enable 'Reset column widths' action in toolbar action menu. This action triggers reset of columns width to its default state.\n * @default true\n */\n resetColumnWidths?: boolean;\n /** To enable 'Row density' action in toolbar action menu. This action triggers a popover menu item to select row density.This toolbar action considers {@link Meta.displayDensity displayDensity} key in Meta too.\n * @default true\n */\n rowDensity?: boolean;\n /** To show/hide filter,sort,group action buttons from end user.\\\n * **Note**: Above features will still work, it is just not available to end user to trigger.\n * @default\n * ```json\n * {\n * filter: true,\n * grouping: true,\n * sort: true\n * }\n * ```\n */\n displayFeatures?: DisplayFeature;\n /** Enables error column. The column will be visible when dataErrors are present in {@link State.errors errors}.\n * @default false\n * @deprecated Use {@link rowErrorField}\n */\n showErrorField?: boolean;\n /**\n * Enables error column. By default if enabled, it will be hidden. To override the default behavior set show as true.\n * The column will be visible when dataErrors are present in {@link State.errors errors}.\n */\n rowErrorField?: {\n show: boolean;\n };\n /** Id of the custom renderer that should be used to display customized columns cells. */\n customFieldRenderer?: string;\n /** Id of the custom renderer that should be used to display header cells. */\n customHeaderRenderer?: string;\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * The default config of the FieldDef. This is used to normalize each {@link FieldDef} properties with its default value.\n */\n defaultFieldDef?: OmitStrict<FieldDef, 'name' | 'type' | 'id' | 'label'>;\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * A set of comparator map used for filter operation on columns. */\n comparatorMap?: FilterConfig['comparatorMap'];\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * Indicates if editing is enabled on Repeating structures.\n */\n editable?: boolean;\n /** A set of aggregation options available for a column on which the data can be aggregated.\n *\n * @default\n * ```json\n * {\n * number: ['Sum', 'Min', 'Max', 'Avg']\n * }\n * ```\n */\n aggregateOptions?: {\n [fieldType: string]: AggregationType[];\n };\n /** An optional change action that will be called whenever the personalization is switched. */\n personalizationChangeAction?: () => void;\n /** Predefined filters that will be applied on load of repeating structures. */\n filterExpression?: Condition;\n}\n"]}
1
+ {"version":3,"file":"Meta.types.js","sourceRoot":"","sources":["../../types/Meta.types.ts"],"names":[],"mappings":"AAsDA,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,UAAU;IACrB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,WAAW;IACtB,iEAAiE;IACjE,GAAG,EAAE,KAAK;IACV,iBAAiB,EAAE,QAAQ;IAC3B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAyDX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,kBAAkB,EAAE,kBAAkB;CAC9B,CAAC;AA2NX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,YAAY,EAAE,GAAG;CACT,CAAC;AAOX,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;CACF,CAAC;AAEX,MAAM,cAAc,GAAG;IACrB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,cAAc,EAAE,gBAAgB;CACxB,CAAC","sourcesContent":["import type { Condition, DateFunctionsByType } from '@pega/cosmos-react-condition-builder';\nimport type { DateFunction } from '@pega/cosmos-react-condition-builder/lib/components/ConditionBuilder/core/types';\nimport type { OmitStrict } from '@pega/cosmos-react-core';\nimport type { ActivityObject } from '@pega/cosmos-react-work/lib/components/Timeline/Timeline.types';\n\nimport type { FilterConfig } from '../src/core/config/filterConfig';\nimport type Row from '../src/core/generators/RowGenerator';\nimport type { RowData } from '../src/core/generators/RowGenerator.types';\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type { ApiContext } from './ApiContext.types';\nimport type { AggregationType, GroupAdditionalField, SortDirection, State } from './State.types';\nimport type RsCoreBootArgs from './RsCoreBootArgs.types';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\ntype CSSVariable = `--${string}`;\n\nexport interface RowAction {\n /** A label to be displayed to end user for this action */\n text: string;\n /** An identifier to uniquely identify this action */\n id: string;\n /**\n * @param {RowData} rowContext - RowData where this row action is triggered.\n * @param refreshRow - A callback which can be used to trigger refreshRow\n * which will trigger 'fetchRowData' api of {@link ApiContext} to fetch latest data for a row, after action is completed.\n * @return {void} - void\n */\n onClick: (rowContext: RowData, refreshRow: () => void) => void;\n}\n\n// Meta and it's type START\ninterface Category {\n label: string;\n}\n\ninterface ContextMenuOption {\n id: string;\n icon?: string;\n label: string;\n show?: boolean;\n disabled?: boolean;\n onClick?: (target: HTMLElement) => void;\n}\n\nexport interface HierarchicalInfo {\n parentId?: string;\n materializedPathId?: string;\n targetId?: string;\n sortById?: string;\n columnId?: string;\n mode?: string;\n}\n\nconst CellAlign = {\n LEFT: 'left',\n RIGHT: 'right',\n CENTER: 'center'\n} as const;\n\nexport const FieldType = {\n TEXT: 'text',\n NUMBER: 'number',\n BOOLEAN: 'boolean',\n DATE_TIME: 'datetime',\n DATE: 'date',\n TIME: 'time',\n DATE_TIMELINE: 'Date',\n DATE_ONLY: 'Date only',\n // TODO: URL as a type is not needed. It can be merged with TEXT.\n URL: 'URL',\n ACTION_FIELD_TYPE: 'action',\n CUSTOM: 'custom',\n CURRENCY: 'currency'\n} as const;\n\nexport interface StyleFormat {\n /** A unique identifier for the style format. */\n id: string;\n /** The display name of the style format. */\n label: string;\n /** A collection of style properties that defines how the format will be applied. */\n config: {\n /** Background color to be applied.\n * Supports standard CSS color formats like below:\n * - Named colors: `'red'`, `'blue'`, `'green'`, `'yellow'`, `'black'`, `'white'`, etc.\n * - Hex codes: `'#RRGGBB'`, `'#RGB'`, `'#RRGGBBAA'`, `'#RGBA'`\n * - RGB: `'rgb(255, 0, 0)'`\n * - RGBA: `'rgba(255, 0, 0, 0.5)'`\n */\n backgroundColor: string;\n /**\n * Foreground (text) color to be applied.\n * Supports standard CSS color formats like below:\n * - Named colors: `'red'`, `'blue'`, `'green'`, `'yellow'`, `'black'`, `'white'`, etc.\n * - Hex codes: `'#RRGGBB'`, `'#RGB'`, `'#RRGGBBAA'`, `'#RGBA'`\n * - RGB: `'rgb(255, 0, 0)'`\n * - RGBA: `'rgba(255, 0, 0, 0.5)'`\n *\n * Optional\n */\n foregroundColor?: string;\n /**\n * An icon used as a visual indicator of the applied format.\n * Optional.\n */\n icon?: {\n /** The name of icon. */\n name: string;\n /** The color of icon.\n * Supports standard CSS color formats like below:\n * - Named colors: `'red'`, `'blue'`, `'green'`, `'yellow'`, `'black'`, `'white'`, etc.\n * - Hex codes: `'#RRGGBB'`, `'#RGB'`, `'#RRGGBBAA'`, `'#RGBA'`\n * - RGB: `'rgb(255, 0, 0)'`\n * - RGBA: `'rgba(255, 0, 0, 0.5)'`\n */\n color: string;\n };\n };\n}\n\n// For now, conditionalFormatting is exposed for fields only. In future, for rows the fieldName can be made optional.\nexport interface ConditionalStyleFormat {\n /** The condition that determines whether this style format should be applied. */\n condition: Condition;\n /** The ID of the style format, sourced from {@link RsCoreBootArgs.styleFormats}, that will be applied if the condition is met. */\n styleFormatId: StyleFormat['id'];\n /** The {@link FieldDef.name name of the fieldDef} to which this style format is applied. */\n fieldName: FieldDef['name'];\n}\n\nexport const cellUpdateTrigger = {\n ROW_DENSITY_CHANGE: 'rowDensityChange'\n} as const;\n\nexport interface FieldDef {\n /** Actual field name in data */\n name: string;\n /** The type of the field will be used to derive cell renderer from {@link RsProps.renderFactory} */\n type: (typeof FieldType)[keyof typeof FieldType];\n /** Persistent ID of the field, typically the same as the name */\n id: string;\n /** A display name of that field */\n label: string;\n /**\n * Represents the category hierarchy of a field, if the field is nested within a parent property. The format should be an array of objects\n * where each index represents a level of the category hierarchy.\n * This structure is used to display the hierarchy of the field wherever necessary.\n * @example\n * ```json\n * [{label: 'categoryName'}]\n * ```\n */\n category?: Category[];\n /** Show {@link category} in header label. The header will be displayed in format {categoryName}.{label} where categoryName will be all the category's labels combined with .(dot) notation */\n showCategoryInHeaderLabel?: boolean;\n /** Defines Field whose value needs to be shown as HelperText e.g tooltip: 'pzDescription' field value for pyID field */\n tooltip?: string;\n /** Enable/Disable tooltip on column */\n showTooltip?: boolean;\n /** Width of the field in px */\n width?: number;\n /** Maximum width of the field in px */\n maxWidth?: number;\n /** Minimum width in pixels, field width cannot be resized below this threshold\n * @default 90\n */\n minWidth?: number;\n /** Allow filtering on this field\n * @default true\n */\n filter?: boolean;\n /** Filter popup presents a pick list to choose values from\n * @default false\n */\n filterPickList?: boolean;\n /** Allow sorting on this field\n * @default true\n */\n sort?: boolean;\n /** Allows sorting on load. If this property is present, then sortPriority is mandatory */\n sortDirection?: (typeof SortDirection)[keyof typeof SortDirection];\n /** Sets the priority on filed for multi sorting(1 takes highest precedence). Allows sorting on load. If this property is present, then sortDirection is mandatory */\n sortPriority?: number;\n /** Allow grouping on this field\n * @default true\n */\n grouping?: boolean;\n /** To set group order of the current field def */\n groupOrder?: number;\n /** To auto apply grouping on this field */\n grouped?: boolean;\n /** Choose date function {@link DateFunction} to group by when `grouped` is enabled for date/time field. Fallbacks to grouping by equality if undefined. */\n groupedDateFunction?: DateFunction;\n /** Additional field config for current field, if grouping is applied */\n groupedAdditionalFields?: GroupAdditionalField[];\n /** Allow resizing on this field\n * @default true\n */\n resize?: boolean;\n /** Allow reordering on this field\n * @default true\n */\n reorderFields?: boolean;\n /** Allow freezing of this field\n * @default true\n */\n freeze?: boolean;\n /** This field will resize to available excess width if set to true. Only first field definition will be honoured if configured on multiple fields. */\n fillAvailableSpace?: boolean;\n /** An asterisk will be added in the table header cell right after the label signifying it is required. */\n required?: boolean;\n /** Allow show/hide of this field\n * @default true\n */\n toggle?: boolean;\n /** Field shows in the view by default. Can be set to false to toggle it in later */\n show?: boolean;\n /** Show/hide field level Header action menu\n * @default true\n */\n showMenu?: boolean;\n /** Allow aggregation on this field\n * @default true\n */\n aggregation?: boolean;\n /** Allow combining of this field with other field\n * @default true\n */\n combineColumn?: boolean;\n /** Allow customizing column label and apply formatting\n * @default true\n */\n customizeColumn?: boolean;\n /** Disable context menu at cells of this field if set to true. Context menu is shown on right mouse click in the cell\n * @default false\n */\n noContextMenu?: boolean;\n /** This property extends options provided on right click in a cell context.\n * The default one's that the Repeating structures provide out of the box\n * are 'Copy Text', 'Paste Text' and 'Filter by this' */\n contextMenuOptions?: ContextMenuOption[];\n /** Optional name of a custom component to be rendered in the header cell of the column.\n * The custom component should be provided via the render factory.\n * If not specified, the default header cell renderer will be used. */\n headerCellRenderer?: string;\n /** Name of a custom component that is made available through the render factory. Check section on cellRenderer */\n cellRenderer?: string;\n /**\n * Configure additional events that explicitly trigger this field’s cell(s) to regenerate (re-render).\n * If omitted or empty, the cell will not update automatically on these events.\n *\n * These are *explicit* triggers that require the consumer to specify them for the cell to update.\n *\n *\n * Supported triggers include:\n * - `rowDensityChange`: when the row height or density changes.\n *\n * **Caution:** Using this may cause rendering overhead as the cells will be re-generated(re-rendered).\n *\n * @examples\n * ```json\n * cellUpdateTriggers: [\"rowDensityChange\"]\n * ```\n */\n cellUpdateTriggers?: (typeof cellUpdateTrigger)[keyof typeof cellUpdateTrigger][];\n\n /** Format on the basis of this field data should be formatted. The formatter should be present in {@link RsCoreBootArgs.renderFormatterTypeMap renderFormatterTypeMap}. */\n formatter?: string;\n /** To enable autosize on this field.\n * @default true\n */\n autosize?: boolean;\n // TODO: Remove this parentPath field. Consumer should handle the corresponding logic.\n /** If a field is of type pageList, parentpath should contain the path of the parent to traverse the field. */\n parentPath?: string;\n // TODO: Remove this isPageListField field. Consumer should handle the corresponding logic.\n /** Set if the field is of type pageList */\n isPageListField?: boolean;\n /** Enable 'Hierarchical' display mode on column if hierarchicalInfo exists. */\n hierarchicalInfo?: HierarchicalInfo;\n /** Align cell to left/right/center. Values accepted: 'left', 'right', 'center' */\n cellAlign?: (typeof CellAlign)[keyof typeof CellAlign];\n /** Column name label in group header will be hidden when set to 'true'\n * @default false\n */\n hideGroupColumnNameLabel?: boolean;\n // TODO this is exposed to consumer but is not being considered. Check this.\n /** Filter options for various field type\n * @example\n * [\n {\n value: 'Equals',\n key: 'equals'\n },\n {\n value: 'Not equals',\n key: 'notEquals'\n },\n {\n value: 'After',\n key: 'greaterThan'\n },\n {\n value: 'Before',\n key: 'lessThan'\n },\n {\n value: 'On or after',\n key: 'greaterThanEquals'\n },\n {\n value: 'On or before',\n key: 'lessThanEquals'\n }\n ]\n */\n filterParams?: {\n value: string;\n key: string;\n }[];\n /** To enable inline editing for a field. */\n editable?: boolean;\n /** A read only extra info related to field can be preserved in meta.\\\n * This will never be manipulated by repeating structure, it will be passed as it is to {@link FieldDef.cellRenderer cellRenderer} as props as it is. */\n meta?: { [key: string | number | symbol]: any };\n /** A read only extra info related to field can be preserved in this.\\\n * This will never be manipulated by repeating structure, it will be passed as it is to {@link FieldDef.cellRenderer cellRenderer} as props as it is. */\n customObject?: { [key: string | number | symbol]: any };\n /** Indicates if the field is used as rowHeader for A11y of the row */\n isRowHeader?: boolean;\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * A unique idHash.\n */\n idHash?: number;\n /** Indicates if this field is aggregated. If set to true, then first option from {@link Meta.aggregationType} will be picked as aggregation type for this field. */\n aggregated?: boolean;\n /** An array of conditional formats applied to the fieldDef.\n * @property {Condition} condition - The condition that determines whether the format should be applied.\n * @property {ConditionalStyleFormat} styleFormat - The {@link StyleFormat.id style format id} from `field` {@link RsCoreBootArgs.styleFormats styleFormats} applied to the cell if the condition evaluates to true.\n *\n * **Note**: *If the data satisfies multiple conditional style formats, the first matching conditional format will be used.*\n * */\n conditionalStyleFormats?: OmitStrict<ConditionalStyleFormat, 'fieldName'>[];\n /** Disables formatting on the field using {@link RsCoreBootArgs.renderFormatterTypeMap renderFormatterTypeMap}\n * @default false\n */\n disableFormatting?: boolean;\n}\nexport const ROW_DENSITY = {\n SHORT: '1',\n MEDIUM: '2',\n TALL: '3',\n WRAP_CONTENT: '4'\n} as const;\n\ntype DisplayDensity = {\n id: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY];\n name: string;\n};\n\nexport const REPEATING_STRUCTURE_TEMPLATES = {\n TABLE: 'Table',\n GALLERY: 'Gallery',\n TIMELINE: 'Timeline',\n MAP: 'Map'\n} as const;\n\nconst SELECTION_MODE = {\n SINGLE: 'single',\n MULTI: 'multi',\n MULTI_ON_HOVER: 'multi_on_hover'\n} as const;\n\ntype TimelineFieldDef = Partial<Pick<FieldDef, 'name' | 'label' | 'type' | 'meta'>>;\n\ntype DisplayFeature = {\n filter?: boolean;\n grouping?: boolean;\n sort?: boolean;\n};\n\n/** Meta input to RS */\nexport interface Meta {\n /** Metadata for fields */\n fieldDefs: FieldDef[];\n /** itemKey for data identification */\n itemKey: string;\n /** Preset id of the current preset/personalization. This will be used to uniquely identify the preset on which the current view is dervied from */\n id: string;\n /** Preset name of the current preset/personalization. This will be displayed to end user */\n name: string;\n /** Array of fields(extra) that should be included in the query prepared for different api's in {@link ApiContext}.\n * `lists-client-api` package implicitly appends this in `select` field while preparing the query.\n */\n patchQueryFields?: string[];\n /** Array denoting sort operation order.\n *\n * @default\n * ```json\n * ['asc', 'desc', null]\n * ```\n */\n sortOrder?: (string | null)[];\n /**\n * A collection of row density options that users can select to adjust the height of rows based on the chosen density.\n *\n * @default\n * ```json\n * [\n * { \"name\": \"Short\", \"id\": \"1\" },\n * { \"name\": \"Medium\", \"id\": \"2\" },\n * { \"name\": \"Tall\", \"id\": \"3\" },\n * { \"name\": \"Full content\", \"id\": \"4\" }\n * ]\n * ```\n */\n displayDensity?: DisplayDensity[];\n /**\n * Configuration for the height of the view.\n *\n * @default\n * ```json\n * {\n * minHeight: 600\n * }\n * ```\n */\n height?: {\n /** The minimum height in pixels for the view or 'auto' */\n minHeight?: number;\n /** Specifies an HTML element or a string query selector to which the view's height will be adjusted. If this property is used, the `height` property will be ignored */\n fitHeightToElement?: HTMLElement | string;\n /** Specifies an explicit height in pixels for the view. If set, the `fitHeightToElement` property will be ignored. */\n height?: number;\n /** A height adjustment value in pixels */\n deltaAdjustment?: number;\n /** If true, the height will be adjusted responsively on window resize, but only if `fitHeightToElement` is provided. */\n autoSize?: boolean;\n /** The maximum height for the view, specified in pixels or as a CSS variable (e.g., `--view-height`) */\n maxHeight?: number | string;\n /** CSS variable that defines the minimum threshold to be used in `maxHeight` calculations. If not provided, a default value of `25rem` will be used.\n *\n * Caution: Use carefully as setting this value too low can introduce usability issues on smaller screens.\n */\n maxHeightMinValueVariable?: CSSVariable;\n };\n /** Allow show/hide of fields\n *\n * @default true\n */\n toggleFieldVisibility?: boolean;\n /** Allow grouping on fields\n *\n * @default true\n */\n grouping?: boolean;\n /** Determines the view of a Repeating Structure\n *\n * @default 'Table'\n */\n template?: (typeof REPEATING_STRUCTURE_TEMPLATES)[keyof typeof REPEATING_STRUCTURE_TEMPLATES];\n /** Allow editing on fields and if enabled then row actions are also enabled.\n *\n * @default false\n */\n editing?: boolean;\n /** Allow deleting of rows.\n */\n deleting?: boolean;\n /** Allow personalization views\n * @default true\n */\n personalization?: boolean;\n /** Enable app default personalization options in Toolbar action menu.\n * If a personalization is set as App Default then that will be used as default personalization in repeating structures.\n * @default false\n * */\n enableAppDefault?: boolean;\n /**\n * Name to be shown for non personalized view.\n * @default 'Initial view'\n */\n nonPersonalizationViewName?: string;\n /** Allow field (column) reordering through a drag and drop action.\n * @default true\n */\n reorderFields?: boolean;\n /** Allow row reordering through a drag and drop action.\n * @default false\n */\n reorderItems?: boolean;\n /**\n * Allow to add a column for drag handle\n * @default false\n * @deprecated Use {@link rowReorderField}\n */\n dragHandle?: boolean;\n /**\n * Enables row reorder column. By default if enabled, it will be visible. To override the default behavior set show as false.\n */\n rowReorderField?: {\n show: boolean;\n };\n /**\n * Brings in a search widget to allow searching across all text type fields.\n * @default true\n */\n globalSearch?: boolean;\n /** Display toolbar on the view.\n * @default true\n */\n toolbar?: boolean;\n /** Display count in toolbar.\n * @default true\n */\n showCount?: boolean;\n /**\n * Row density id value from the \"displayDensity\" options prop above.\n * @default {@link ROW_DENSITY.SHORT}\n */\n defaultRowHeight?: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY];\n /**\n * Renders the 'Bulk actions' button in the table toolbar, which gets enabled on row selection.\n * @default false\n */\n allowBulkActions?: boolean;\n /**\n * Denotes the page size being passed in the case of rest backed data page\n * #JSDOC\n */\n pageSize?: number;\n /** Enables date-functions like MONTHS/WEEKS/... during Grouping and Filtering. ([Object structure](https://git.pega.io/projects/PS/repos/cosmos/browse/packages/cosmos-condition-builder/src/components/ConditionBuilder/ConditionBuilder.types.ts?until=dfcf607851276bfeb877e9fb2c8f55d4396fd8b7&untilPath=packages%2Fcosmos-condition-builder%2Fsrc%2Fcomponents%2FConditionBuilder%2FConditionBuilder.types.ts#79-85)) */\n dateFunctions?: DateFunctionsByType;\n /** Enabled Relative Dates, such as \"Last 7 days\" (Or) \"Current Year\", in filtering for the DateTime or Date_Only values\".\n * @default false\n */\n relativeDates?: boolean;\n /** Display footer on the view.\n * @default true\n */\n footer?: boolean;\n /**\n * Templates for dynamic fields (or) columns which are used to combine two columns with a template.\n * @default\n * ```json\n * [\n * { name: 'Comma separated', value: 'comma',selected: true },\n * { name: 'Space separated', value: 'space' },\n * { name: 'Multi line', value: 'multiline' },\n * { name: 'Forward slash', value: 'forwardslash' }\n * ]\n * ```\n */\n dynamicFieldTemplates?: {\n name: string;\n value: string;\n selected?: boolean;\n }[];\n /** Repeating Structure Title\n * @default '<label not set>'\n */\n title?: string;\n /** Repeating Structure Icon\n * @default 'picture'\n */\n icon?: string;\n /** Display Header Bar\n * @default false\n */\n headerBar?: boolean;\n /**\n * Display Respective Header Icons at field labels based on type\n * @default false\n */\n showHeaderIcons?: boolean;\n /** Indicates if freezing is allowed on Fields. */\n freezeFields?: boolean;\n /**\n * list of available static actions for an editable table with following properties\n * @example\n * ```json\n * [\n * {\n * text: 'Open in a new tab',\n * id: 'row-new-tab',\n * onClick: () => {}\n * }\n * ]\n * ```\n * @default\n * []\n */\n rowActions?: RowAction[];\n /** Decides type of row selection mode (radio for single/ checkbox for multi) possible values : single / multi / multi-on-hover */\n selectionMode?: (typeof SELECTION_MODE)[keyof typeof SELECTION_MODE];\n /** Displays select-all checkbox if selectionMode is multi-on-hover and the records count is not greater than threshold */\n selectionCountThreshold?: number;\n /** To Disable/Enable selection of rows */\n disableSelectionOnLoad?: boolean;\n /** To show asterisk(*) symbol on table header in case of Data Reference/Embedded views. (Note: This works perfectly if the personalization is off.) */\n requiredOnLoad?: boolean;\n /**\n * List of available static actions at table level (shown in toolbar/ headerbar) with following properties\n * [{ text: 'Add', tooltip: 'Add story', id: 'Add', onClick: () => {}}]\n */\n toolbarActions?: {\n text: string;\n id: string;\n onClick: () => void;\n tooltip: string;\n }[];\n /** Allow row reordering through a drag and drop action.\n * default value: false\n */\n moveListRecords?: boolean;\n\n /** Allow end user to refresh data of the repeating structures. Enabling this will show up `Refresh` action in repeating structures toolbar.\n * @default false\n */\n allowRefresh?: boolean;\n\n /** The height of repeating structure is calculated on this parameter if provided. */\n numberOfRows?: number;\n /** Display views of repeating structures with full or condensed toolbar.\n * @default false\n * Default shows full toolbar.\n */\n basicMode?: boolean;\n /** Timezone which is passed to formatter\n * @default 'America/New_York'\n */\n timezone?: string;\n /** Locale which is passed to formatter function\n * @default 'en-US'\n */\n locale?: string;\n timelineFields?: {\n /** Timeline template title for display */\n title?: TimelineFieldDef;\n /** Timeline template date for display */\n date?: TimelineFieldDef;\n /** Timeline template status for display */\n status?: TimelineFieldDef & { getCustomContent?: (row: Row) => ActivityObject['status'] };\n /** Timeline template icon for display */\n icon?: TimelineFieldDef;\n /** Timeline template content for display */\n content?: TimelineFieldDef;\n };\n /** Map template field ids for display */\n mapFieldIds?: {\n /** Map template location field id for display */\n location?: FieldDef['id'];\n /** Map template label field id for display */\n label?: FieldDef['id'];\n /** Map template content field id for display */\n content?: FieldDef['id'];\n };\n /** A unique key for injectable filters component.\n * This key will be sent to {@link RsCoreBootArgs.renderFactory renderFactory} as 'type' to get a renderer for the external filters.\n * The renderer will be shown between Repeating structures body and repeating structures toolbar.\n * This key should be used in {@link State.externalState externalState} to populate state related to externalFilters.\n */\n externalFilters?: string;\n /** This key is used to show the 'Import Data' action in the repeating structures toolbar. It will only work for Launchpad.\n * On click, it will call {@link ApiContext.importCSVData importCSVData} open a modal allowing the user to upload a file.\n */\n showImportDataOption?: boolean;\n /** This key is used to show 'Export to Excel' action in repeating structure toolbar.\n * On click of it, {@link ApiContext.exportData exportData} api is called to export repeating structures data into excel file. */\n showExportToExcelOption?: boolean;\n /** This key is used to show 'Export to CSV' action in repeating structure toolbar.\n * On click of it, {@link ApiContext.exportDataToCSV exportDataToCSV} api is called to export repeating structures data into CSV file. */\n showExportToCSVOption?: boolean;\n /** To enable 'Freeze columns' action in toolbar action menu. This action triggers freezing of columns.This toolbar action considers {@link FieldDef.freeze freeze} key in FieldDef too.\n * @default true\n */\n // TODO: meta.freezeFields and meta.enableFreezeColumns are checking the same thing. Evaluate if one can be removed.\n enableFreezeColumns?: boolean;\n /** To enable 'Auto size columns' action in toolbar action menu. This action triggers auto size of columns.\n * @default true\n */\n autoSizeColumns?: boolean;\n /** To enable 'Query info' action in toolbar action menu. This action shows query information.\n * @default false\n */\n showQueryInfo?: boolean;\n /** To enable 'Reset column widths' action in toolbar action menu. This action triggers reset of columns width to its default state.\n * @default true\n */\n resetColumnWidths?: boolean;\n /** To enable 'Row density' action in toolbar action menu. This action triggers a popover menu item to select row density.This toolbar action considers {@link Meta.displayDensity displayDensity} key in Meta too.\n * @default true\n */\n rowDensity?: boolean;\n /** To show/hide filter,sort,group action buttons from end user.\\\n * **Note**: Above features will still work, it is just not available to end user to trigger.\n * @default\n * ```json\n * {\n * filter: true,\n * grouping: true,\n * sort: true\n * }\n * ```\n */\n displayFeatures?: DisplayFeature;\n /** Enables error column. The column will be visible when dataErrors are present in {@link State.errors errors}.\n * @default false\n * @deprecated Use {@link rowErrorField}\n */\n showErrorField?: boolean;\n /**\n * Enables error column. By default if enabled, it will be hidden. To override the default behavior set show as true.\n * The column will be visible when dataErrors are present in {@link State.errors errors}.\n */\n rowErrorField?: {\n show: boolean;\n };\n /** Id of the custom renderer that should be used to display customized columns cells. */\n customFieldRenderer?: string;\n /** Id of the custom renderer that should be used to display header cells. */\n customHeaderRenderer?: string;\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * The default config of the FieldDef. This is used to normalize each {@link FieldDef} properties with its default value.\n */\n defaultFieldDef?: OmitStrict<FieldDef, 'name' | 'type' | 'id' | 'label'>;\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * A set of comparator map used for filter operation on columns. */\n comparatorMap?: FilterConfig['comparatorMap'];\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * Indicates if editing is enabled on Repeating structures.\n */\n editable?: boolean;\n /** A set of aggregation options available for a column on which the data can be aggregated.\n *\n * @default\n * ```json\n * {\n * number: ['Sum', 'Min', 'Max', 'Avg']\n * }\n * ```\n */\n aggregateOptions?: {\n [fieldType: string]: AggregationType[];\n };\n /** An optional change action that will be called whenever the personalization is switched. */\n personalizationChangeAction?: () => void;\n /** Predefined filters that will be applied on load of repeating structures. */\n filterExpression?: Condition;\n}\n"]}
@@ -3,7 +3,7 @@ import type { Condition, LeafCondition } from '@pega/cosmos-react-condition-buil
3
3
  import type { DateFunction } from '@pega/cosmos-react-condition-builder/lib/components/ConditionBuilder/core/types';
4
4
  import type { personalizationProps } from '../src/core/reducers/personalizationReducer';
5
5
  import type { RowData } from '../src/core/generators/RowGenerator.types';
6
- import type { ROW_DENSITY, HierarchicalInfo, ConditionalStyleFormat } from './Meta.types';
6
+ import type { ROW_DENSITY, HierarchicalInfo, FieldDef, ConditionalStyleFormat } from './Meta.types';
7
7
  /** Custom functions ungrouped type */
8
8
  type Ungrouped = {
9
9
  /**
@@ -95,6 +95,23 @@ export declare const GroupSortDirection: {
95
95
  readonly ASC: "asc";
96
96
  readonly DESC: "desc";
97
97
  };
98
+ export type DateGroupAdditionalField = {
99
+ /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */
100
+ id: FieldDef['id'];
101
+ /** Optional date function for {@link FieldType.DATE 'date'}/ {@link FieldType.DATE_TIME 'dateTime'} field. */
102
+ dateFunction?: DateFunction;
103
+ };
104
+ export type NumberGroupAdditionalField = {
105
+ /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */
106
+ id: FieldDef['id'];
107
+ /** Optional aggregation for {@link FieldType.NUMBER 'number'} type field. */
108
+ aggregation?: AggregationType;
109
+ };
110
+ /** Additional fields data for Group info. */
111
+ export type GroupAdditionalField = {
112
+ /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */
113
+ id: FieldDef['id'];
114
+ } | DateGroupAdditionalField | NumberGroupAdditionalField;
98
115
  /** Group configuration on Table state */
99
116
  export interface Group {
100
117
  /** Column ID */
@@ -111,6 +128,8 @@ export interface Group {
111
128
  order: (typeof GroupSortDirection)[keyof typeof GroupSortDirection];
112
129
  /** Current group level, starts with 0 for 1st level of grouping. */
113
130
  level: number;
131
+ /** Additional field config for current group node */
132
+ additionalFields?: GroupAdditionalField[];
114
133
  }
115
134
  /** Sort configuration on Table state */
116
135
  export interface Sort {
@@ -1 +1 @@
1
- {"version":3,"file":"State.types.d.ts","sourceRoot":"","sources":["../../types/State.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"State.types.d.ts","sourceRoot":"","sources":["../../types/State.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"State.types.js","sourceRoot":"","sources":["../../types/State.types.ts"],"names":[],"mappings":"AAuHA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,aAAa;IAChB,8DAA8D;IAC9D,MAAM,EAAE,QAAQ;CACR,CAAC","sourcesContent":["import type { OmitStrict } from '@pega/cosmos-react-core';\nimport type { Condition, LeafCondition } from '@pega/cosmos-react-condition-builder';\nimport type { DateFunction } from '@pega/cosmos-react-condition-builder/lib/components/ConditionBuilder/core/types';\n\nimport type { personalizationProps } from '../src/core/reducers/personalizationReducer';\nimport type { RowData } from '../src/core/generators/RowGenerator.types';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type RsCoreBootArgs from './RsCoreBootArgs.types';\nimport type {\n ROW_DENSITY,\n HierarchicalInfo,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n FieldDef,\n Meta,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ConditionalStyleFormat\n} from './Meta.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { ApiContext, RsApi } from './ApiContext.types';\n/** Custom functions ungrouped type */\ntype Ungrouped =\n | {\n /**\n * Ungrouped mode\n * 'aggregate' - Aggregate remaining groups as others group\n */\n mode: 'aggregate';\n /** Others group label */\n label: string;\n }\n | {\n /** 'exclude' - Exclude remaining values */\n mode: 'exclude';\n };\n\n/** Boundaries for range grouping */\nexport type RangeBoundaries =\n | 'include-lower-only'\n | 'include-upper-only'\n | 'include-both'\n | 'exclude-both';\n\n/** Rhs type for range grouping to support boundaries */\ninterface RangeGroupingRhs<T extends number | string> {\n rhs:\n | {\n value: T;\n }\n | {\n start: T;\n end: T;\n boundaries: RangeBoundaries;\n };\n}\n\n/** Modified leaf condition for Range grouping */\ntype RangeGroupingLeafCondition<T extends number | string> = OmitStrict<LeafCondition, 'rhs'> &\n RangeGroupingRhs<T>;\n\n/** Aggregation types */\nexport type AggregationType = 'Sum' | 'Min' | 'Max' | 'Avg';\n/** Aggregation state on the Table */\nexport type Aggregation = {\n /** Column ID */\n columnId: string;\n /** Aggregation type */\n type: AggregationType;\n};\n\n/** Custom grouping types */\nexport type CustomFunctions = 'TEXT_GROUPING' | 'RANGE_GROUPING';\n\n/** Custom text grouping details applied on column */\nexport type TextGrouping = {\n /** Custom function name */\n type: 'TEXT_GROUPING';\n /** Randomly generated unique id to distinguish separate custom functions on same field */\n id: string;\n /** Custom groups information */\n groups: {\n /** Group label */\n label: string;\n /** Group condition */\n condition: LeafCondition;\n }[];\n /** Ungrouped information */\n ungrouped: Ungrouped;\n};\n\n/** Custom range grouping details applied on column */\nexport type RangeGrouping = {\n /** Custom function name */\n type: 'RANGE_GROUPING';\n /** Randomly generated unique id to distinguish separate custom functions on same field */\n id: string;\n /** Custom groups information */\n groups: {\n /** Group label */\n label: string;\n /** Group condition */\n condition: RangeGroupingLeafCondition<number>;\n }[];\n /** Ungrouped information */\n ungrouped: Ungrouped;\n};\n\n/** Custom interval grouping details applied on column */\nexport type IntervalGrouping = {\n /** Custom function name */\n type: 'INTERVAL_GROUPING';\n /** Randomly generated unique id to distinguish separate custom functions on same field */\n id: string;\n /** interval */\n interval: number;\n /** boundaries */\n boundaries: 'include-lower-only' | 'include-upper-only';\n};\n\nexport const SortDirection = {\n ASC: 'asc',\n DESC: 'desc'\n} as const;\n\nexport const GroupSortDirection = {\n ...SortDirection,\n /** For custom grouping, the group order can be custom too. */\n CUSTOM: 'custom'\n} as const;\n\n/** Group configuration on Table state */\nexport interface Group {\n /** Column ID */\n columnId: string;\n /** Date function if grouping by a date part */\n dateFunction?: DateFunction;\n /** Custom function if applied on Text/Number column */\n customFunction?: TextGrouping | RangeGrouping | IntervalGrouping;\n /** Sort order of the grouped column.\n * - asc - ascending\n * - desc - descending\n * - custom - user defined custom sorting. This is applicable in case of custom grouping.\n */\n order: (typeof GroupSortDirection)[keyof typeof GroupSortDirection];\n /** Current group level, starts with 0 for 1st level of grouping. */\n level: number;\n}\n\n/** Sort configuration on Table state */\nexport interface Sort {\n /** Column ID */\n columnId: string;\n /** Sort order */\n order: (typeof SortDirection)[keyof typeof SortDirection];\n /** Used to indicate the sequence in multi-sort */\n sequence: number;\n}\n\n/** Group filter from the Table state */\nexport interface GroupFilter {\n /** Start-index used for pagination */\n groupFrom: number;\n /** End-index used for pagination */\n groupTo: number;\n /**\n * List of filters in the current branch of groupFilters.\n * Each entry in the object corresponds to a single node in the given group's hierarchy\n * groupBy can be in one of two patterns - `${columnId}`, `${columnId}||${dateFunction}`.\n * Use getGroupFromKey from lists to safely split it.\n */\n filters: {\n [groupBy: string]: string | number;\n };\n}\n\nexport interface PersonalizationInfo {\n name: string;\n personalizationState: State;\n isDefaultPreset?: boolean;\n isPreset?: boolean;\n title?: string;\n template?: string;\n markAsDefault?: boolean;\n}\nexport interface Personalization {\n allPersonalizations: {\n [personalizationkey: string]: PersonalizationInfo;\n };\n defaultPersonalization: string;\n active: string;\n dirty?: boolean;\n previousDefaultPersonalization?: string;\n lastDeletedPersonalization?: PersonalizationInfo;\n}\nexport interface Child extends CustomField {\n fieldIds: string[];\n children: Child[];\n templateName: string;\n}\n/** This interface is the old implementation of custom fields which is required for state versioning reducer. */\ninterface OldCustomField {\n children?: Child[];\n templateName?: string;\n}\nexport type CustomField = {\n /**\n * An array which contains the 2 join column id details and merge template details(a tuple of length 1 and type string) for those 2 columns\n * Column Merge templates:\n * - comma\n * - space\n * - multiline\n * - forwardslash\n */\n expression: (string | [string])[];\n /** A unique id to identify the new column resulted from merging of 2 columns. */\n id: string;\n /** Label for the new column */\n label: string;\n /** Primary column id which is used to derive the {@link FieldDef FieldDefinition} of new column */\n primaryColumnId: string;\n} & OldCustomField;\n\nexport interface DataError {\n /** itemKey of the row that has error */\n [itemKeyValue: string | number]: {\n /** error message for the row */\n message: string;\n };\n}\nexport interface Errors {\n /** errors related to row data */\n dataErrors: DataError;\n}\n\nexport type ResponsiveBreakpoint = {\n [breakpoint in 'xs' | 'sm' | 'md' | 'lg' | 'xl']?: boolean;\n};\n\nexport interface EditChangeSet {\n /** Value of the itemKey {@link Meta. itemKey itemKey} of the row under which cell is edited. */\n [itemKey: string]: {\n /** {@link FieldDef.name name} of the field that is edited. */\n [fieldName: string]: {\n /** Updated cell value after edit. */\n value: string | number | boolean | Date;\n /** Current status of the edit process. 'pending' | 'inProgress' */\n status: string;\n };\n };\n}\n\nexport interface Notification {\n content: string;\n id?: string;\n}\n\n/**\n * groupBy - field id of the column on which group is toggled.\n * value(2D array) - The path of the group which is toggled.\n * @example - Consider 3 columns Priority, Severity, Status and all are grouped.\n * Expanding the first and second nested group header fully starting from Priority -> Severity -> Status will result in:\n * {\n * 'Priority': [['85 P'], ['95P']],\n * 'Severity': [['85P', 'Low severity'], ['95P', 'Low severity']],\n * 'Status': [['85P', 'Low severity', 'Pending'],['95P', 'Low severity', 'Pending']]\n * }\n */\nexport interface GroupToggle {\n [groupBy: string]: (string | number | boolean | Date)[][];\n}\n\nexport interface RowSelectionChangeSet {\n [key: string]: { data: RowData; status: string; selected: boolean };\n}\n\nexport interface EditInfo {\n rowId?: string;\n colId?: string;\n}\n\nexport interface State {\n /** Current order of the columns in the form of array of {@link FieldDef.id fieldDef id} */\n colOrder?: string[];\n /** Current widths of the columns in the form of array of fieldDef id and its current width */\n columnWidths?: { [key: string]: number };\n /** Current frozen columns represented by array of fieldDef id */\n freezeColumns?: string[];\n /** Current hidden columns represented by array of fieldDef id */\n hiddenColumns?: string[];\n /** id value from displayDensity table meta configuration property */\n selectedHeightOption?: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY];\n /** Filter configuration in the ConditionBuilder format */\n filterExpression?: Condition;\n /** Aggregation configuration */\n aggregationInfo?: Aggregation[];\n /** Grouping configuration */\n groups?: Group[];\n /** Sorting configuration */\n sortingOrder?: Sort[];\n /** Search configuration */\n search?: {\n /** Search text */\n query: string;\n /** Fields to search in */\n fields: string[];\n };\n /** Group filters applied when fetching data-rows */\n groupFilters?: GroupFilter[];\n /** Pagination applied when fetching data-rows */\n paginationOptions?: {\n [virtualizerId: string]: {\n startIndex: number;\n endIndex: number;\n };\n };\n /** An object of features that needs to be forced triggered on next dispatch cycle of Repeating structures. */\n forceUpdateFeatures?: {\n /** Force re-render the Repeating structures on next dispatch */\n forceRenderOnNextRun?: boolean;\n /** Force re-calculate width of fields of the Repeating structures on next dispatch. */\n forceCalculateAutoWidth?: boolean;\n /** Force re-fetch selectedRows by calling {@link ApiContext.getSelectedRows getSelectedRows} apiContext. */\n updateSelectedRows?: number;\n };\n /** An array of selected rows identified by value of {@link Meta.itemKey itemkey} for that rows */\n selectedRows?: string[];\n /** Repeating Structure {@link Meta.template templates} */\n template?: string;\n /**\n * Preset identifier through which the current preset/personalized view is derived.\n * For default preset or personalization dervied from default preset the value is equal to 'nonPersonalizationViewKey'\n */\n presetId?: string;\n /** Version of the state */\n version?: string;\n /** Personalization state of repeating structure */\n personalization?: Personalization;\n /** An array of custom fields generated using joining the columns */\n customFields?: CustomField[];\n /**\n * This key holds the state of the external component within RS state.\n * This state is never manipulated by Repeating structures. This key is personalizable. Currently it contains state related to {@link Meta.externalFilters}\n */\n externalState?: { [key: string]: object };\n /**\n * This holds formatter info for a given column id.\n * key - {@link FieldDef.id columnId}\n * value - Formatter name\n */\n renderFormatter?: {\n [key: string]: string;\n };\n /** It contains the alias for the column. Key is {@link FieldDef.id id} of the column, value is the alias name given to that column. */\n columnAlias?: {\n [key: string]: string;\n };\n /** Hierarchical groups info */\n hierarchicalGroup?: HierarchicalInfo;\n /** Groups are expanded or closed. */\n allGroupsExpanded?: boolean;\n\n /** Stores the errors */\n errors?: Errors;\n /** {@link FieldDef.id Id} of the field for which filter is going to be deleted. */\n clearColFilter?: string | null;\n /** A 2D array that contains the expand/collapse info of groups\n * * @example - Consider 3 columns Priority, Severity, Status and all are grouped.\n * Expanding the first and second nested group header fully starting from Priority -> Severity -> Status will result in:\n * {\n * 'Priority': [['85 P'], ['95P']],\n * 'Severity': [['85P', 'Low severity'], ['95P', 'Low severity']],\n * 'Status': [['85P', 'Low severity', 'Pending'],['95P', 'Low severity', 'Pending']]\n * }\n */\n groupToggle?: GroupToggle;\n /** Indicates if the header icon needs to be shown for header cells. */\n showHeaderIcons?: boolean;\n /** The current set of notifications on repeating structures. */\n notifications?: Notification[];\n /** Temporary change set for the selection of rows till the time the selected rows are not communicated to ApiContext via {@link ApiContext.setSelectedRows setSelectedRows}. */\n rowSelectionChangeSet?: RowSelectionChangeSet;\n /** The edit information of the cells. */\n editInfo?: EditInfo;\n /** Indicates the repeating structures is bootstraped. */\n bootstrap?: boolean;\n /** Triggers refresh on repeating structures. */\n refresh?: number;\n /** Indicates to show select all checkbox in repeating structures. */\n showSelectAllCheckbox?: boolean;\n /** Indicates to show confirmation action in repeating structures. */\n showConfirmationAction?: boolean;\n /** Stores the itemkey of the row which is being moved in drag drop operations. */\n sourceKey?: string;\n /** Stores the itemkey of the row on which the dragged row is dropped in drag drop operations. */\n destinationKey?: string;\n /** Set of features which should be skipped when running the queued action. */\n featuresToAvoid?: string[];\n /** Temporary change set information for edited row till the time data is not submitted to {@link ApiContext} */\n changeSet?: EditChangeSet;\n /** Stores the repeating structures body height. */\n tableHeight?: number | string;\n /** Stores the responsive breakpoints of DOM container */\n responsive?: ResponsiveBreakpoint;\n /**\n * Array of conditional style formats.\n *\n * When set, make sure the following conditions must be met:\n * - The available {@link RsCoreBootArgs.styleFormats styleFormats} must be passed to repeating structures as a prop.\n * - The `styleFormatId` referenced in conditional style formats within {@link State.conditionalStyleFormats state} must belong to one of the {@link RsCoreBootArgs.styleFormats styleFormats}.\n * - The {@link ApiContext.evaluateCondition evaluateCondition} API is optional. If the RS consumer wants to evaluate the condition itself, this API should be provided; otherwise, it is optional.\n *\n * **Note**: *For a given fieldName, if the data satisfies multiple conditional style formats, the first matching conditional format will be used.*\n */\n conditionalStyleFormats?: ConditionalStyleFormat[];\n}\n\nexport interface PersonalizedState extends Pick<State, (typeof personalizationProps)[number]> {}\n"]}
1
+ {"version":3,"file":"State.types.js","sourceRoot":"","sources":["../../types/State.types.ts"],"names":[],"mappings":"AAwHA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,aAAa;IAChB,8DAA8D;IAC9D,MAAM,EAAE,QAAQ;CACR,CAAC","sourcesContent":["import type { OmitStrict } from '@pega/cosmos-react-core';\nimport type { Condition, LeafCondition } from '@pega/cosmos-react-condition-builder';\nimport type { DateFunction } from '@pega/cosmos-react-condition-builder/lib/components/ConditionBuilder/core/types';\n\nimport type { personalizationProps } from '../src/core/reducers/personalizationReducer';\nimport type { RowData } from '../src/core/generators/RowGenerator.types';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type RsCoreBootArgs from './RsCoreBootArgs.types';\nimport type {\n ROW_DENSITY,\n HierarchicalInfo,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n FieldDef,\n Meta,\n FieldType,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ConditionalStyleFormat\n} from './Meta.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { ApiContext, RsApi } from './ApiContext.types';\n/** Custom functions ungrouped type */\ntype Ungrouped =\n | {\n /**\n * Ungrouped mode\n * 'aggregate' - Aggregate remaining groups as others group\n */\n mode: 'aggregate';\n /** Others group label */\n label: string;\n }\n | {\n /** 'exclude' - Exclude remaining values */\n mode: 'exclude';\n };\n\n/** Boundaries for range grouping */\nexport type RangeBoundaries =\n | 'include-lower-only'\n | 'include-upper-only'\n | 'include-both'\n | 'exclude-both';\n\n/** Rhs type for range grouping to support boundaries */\ninterface RangeGroupingRhs<T extends number | string> {\n rhs:\n | {\n value: T;\n }\n | {\n start: T;\n end: T;\n boundaries: RangeBoundaries;\n };\n}\n\n/** Modified leaf condition for Range grouping */\ntype RangeGroupingLeafCondition<T extends number | string> = OmitStrict<LeafCondition, 'rhs'> &\n RangeGroupingRhs<T>;\n\n/** Aggregation types */\nexport type AggregationType = 'Sum' | 'Min' | 'Max' | 'Avg';\n/** Aggregation state on the Table */\nexport type Aggregation = {\n /** Column ID */\n columnId: string;\n /** Aggregation type */\n type: AggregationType;\n};\n\n/** Custom grouping types */\nexport type CustomFunctions = 'TEXT_GROUPING' | 'RANGE_GROUPING';\n\n/** Custom text grouping details applied on column */\nexport type TextGrouping = {\n /** Custom function name */\n type: 'TEXT_GROUPING';\n /** Randomly generated unique id to distinguish separate custom functions on same field */\n id: string;\n /** Custom groups information */\n groups: {\n /** Group label */\n label: string;\n /** Group condition */\n condition: LeafCondition;\n }[];\n /** Ungrouped information */\n ungrouped: Ungrouped;\n};\n\n/** Custom range grouping details applied on column */\nexport type RangeGrouping = {\n /** Custom function name */\n type: 'RANGE_GROUPING';\n /** Randomly generated unique id to distinguish separate custom functions on same field */\n id: string;\n /** Custom groups information */\n groups: {\n /** Group label */\n label: string;\n /** Group condition */\n condition: RangeGroupingLeafCondition<number>;\n }[];\n /** Ungrouped information */\n ungrouped: Ungrouped;\n};\n\n/** Custom interval grouping details applied on column */\nexport type IntervalGrouping = {\n /** Custom function name */\n type: 'INTERVAL_GROUPING';\n /** Randomly generated unique id to distinguish separate custom functions on same field */\n id: string;\n /** interval */\n interval: number;\n /** boundaries */\n boundaries: 'include-lower-only' | 'include-upper-only';\n};\n\nexport const SortDirection = {\n ASC: 'asc',\n DESC: 'desc'\n} as const;\n\nexport const GroupSortDirection = {\n ...SortDirection,\n /** For custom grouping, the group order can be custom too. */\n CUSTOM: 'custom'\n} as const;\n\nexport type DateGroupAdditionalField = {\n /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */\n id: FieldDef['id'];\n /** Optional date function for {@link FieldType.DATE 'date'}/ {@link FieldType.DATE_TIME 'dateTime'} field. */\n dateFunction?: DateFunction;\n};\n\nexport type NumberGroupAdditionalField = {\n /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */\n id: FieldDef['id'];\n /** Optional aggregation for {@link FieldType.NUMBER 'number'} type field. */\n aggregation?: AggregationType;\n};\n\n/** Additional fields data for Group info. */\nexport type GroupAdditionalField =\n | {\n /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */\n id: FieldDef['id'];\n }\n | DateGroupAdditionalField\n | NumberGroupAdditionalField;\n\n/** Group configuration on Table state */\nexport interface Group {\n /** Column ID */\n columnId: string;\n /** Date function if grouping by a date part */\n dateFunction?: DateFunction;\n /** Custom function if applied on Text/Number column */\n customFunction?: TextGrouping | RangeGrouping | IntervalGrouping;\n /** Sort order of the grouped column.\n * - asc - ascending\n * - desc - descending\n * - custom - user defined custom sorting. This is applicable in case of custom grouping.\n */\n order: (typeof GroupSortDirection)[keyof typeof GroupSortDirection];\n /** Current group level, starts with 0 for 1st level of grouping. */\n level: number;\n /** Additional field config for current group node */\n additionalFields?: GroupAdditionalField[];\n}\n\n/** Sort configuration on Table state */\nexport interface Sort {\n /** Column ID */\n columnId: string;\n /** Sort order */\n order: (typeof SortDirection)[keyof typeof SortDirection];\n /** Used to indicate the sequence in multi-sort */\n sequence: number;\n}\n\n/** Group filter from the Table state */\nexport interface GroupFilter {\n /** Start-index used for pagination */\n groupFrom: number;\n /** End-index used for pagination */\n groupTo: number;\n /**\n * List of filters in the current branch of groupFilters.\n * Each entry in the object corresponds to a single node in the given group's hierarchy\n * groupBy can be in one of two patterns - `${columnId}`, `${columnId}||${dateFunction}`.\n * Use getGroupFromKey from lists to safely split it.\n */\n filters: {\n [groupBy: string]: string | number;\n };\n}\n\nexport interface PersonalizationInfo {\n name: string;\n personalizationState: State;\n isDefaultPreset?: boolean;\n isPreset?: boolean;\n title?: string;\n template?: string;\n markAsDefault?: boolean;\n}\nexport interface Personalization {\n allPersonalizations: {\n [personalizationkey: string]: PersonalizationInfo;\n };\n defaultPersonalization: string;\n active: string;\n dirty?: boolean;\n previousDefaultPersonalization?: string;\n lastDeletedPersonalization?: PersonalizationInfo;\n}\nexport interface Child extends CustomField {\n fieldIds: string[];\n children: Child[];\n templateName: string;\n}\n/** This interface is the old implementation of custom fields which is required for state versioning reducer. */\ninterface OldCustomField {\n children?: Child[];\n templateName?: string;\n}\nexport type CustomField = {\n /**\n * An array which contains the 2 join column id details and merge template details(a tuple of length 1 and type string) for those 2 columns\n * Column Merge templates:\n * - comma\n * - space\n * - multiline\n * - forwardslash\n */\n expression: (string | [string])[];\n /** A unique id to identify the new column resulted from merging of 2 columns. */\n id: string;\n /** Label for the new column */\n label: string;\n /** Primary column id which is used to derive the {@link FieldDef FieldDefinition} of new column */\n primaryColumnId: string;\n} & OldCustomField;\n\nexport interface DataError {\n /** itemKey of the row that has error */\n [itemKeyValue: string | number]: {\n /** error message for the row */\n message: string;\n };\n}\nexport interface Errors {\n /** errors related to row data */\n dataErrors: DataError;\n}\n\nexport type ResponsiveBreakpoint = {\n [breakpoint in 'xs' | 'sm' | 'md' | 'lg' | 'xl']?: boolean;\n};\n\nexport interface EditChangeSet {\n /** Value of the itemKey {@link Meta. itemKey itemKey} of the row under which cell is edited. */\n [itemKey: string]: {\n /** {@link FieldDef.name name} of the field that is edited. */\n [fieldName: string]: {\n /** Updated cell value after edit. */\n value: string | number | boolean | Date;\n /** Current status of the edit process. 'pending' | 'inProgress' */\n status: string;\n };\n };\n}\n\nexport interface Notification {\n content: string;\n id?: string;\n}\n\n/**\n * groupBy - field id of the column on which group is toggled.\n * value(2D array) - The path of the group which is toggled.\n * @example - Consider 3 columns Priority, Severity, Status and all are grouped.\n * Expanding the first and second nested group header fully starting from Priority -> Severity -> Status will result in:\n * {\n * 'Priority': [['85 P'], ['95P']],\n * 'Severity': [['85P', 'Low severity'], ['95P', 'Low severity']],\n * 'Status': [['85P', 'Low severity', 'Pending'],['95P', 'Low severity', 'Pending']]\n * }\n */\nexport interface GroupToggle {\n [groupBy: string]: (string | number | boolean | Date)[][];\n}\n\nexport interface RowSelectionChangeSet {\n [key: string]: { data: RowData; status: string; selected: boolean };\n}\n\nexport interface EditInfo {\n rowId?: string;\n colId?: string;\n}\n\nexport interface State {\n /** Current order of the columns in the form of array of {@link FieldDef.id fieldDef id} */\n colOrder?: string[];\n /** Current widths of the columns in the form of array of fieldDef id and its current width */\n columnWidths?: { [key: string]: number };\n /** Current frozen columns represented by array of fieldDef id */\n freezeColumns?: string[];\n /** Current hidden columns represented by array of fieldDef id */\n hiddenColumns?: string[];\n /** id value from displayDensity table meta configuration property */\n selectedHeightOption?: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY];\n /** Filter configuration in the ConditionBuilder format */\n filterExpression?: Condition;\n /** Aggregation configuration */\n aggregationInfo?: Aggregation[];\n /** Grouping configuration */\n groups?: Group[];\n /** Sorting configuration */\n sortingOrder?: Sort[];\n /** Search configuration */\n search?: {\n /** Search text */\n query: string;\n /** Fields to search in */\n fields: string[];\n };\n /** Group filters applied when fetching data-rows */\n groupFilters?: GroupFilter[];\n /** Pagination applied when fetching data-rows */\n paginationOptions?: {\n [virtualizerId: string]: {\n startIndex: number;\n endIndex: number;\n };\n };\n /** An object of features that needs to be forced triggered on next dispatch cycle of Repeating structures. */\n forceUpdateFeatures?: {\n /** Force re-render the Repeating structures on next dispatch */\n forceRenderOnNextRun?: boolean;\n /** Force re-calculate width of fields of the Repeating structures on next dispatch. */\n forceCalculateAutoWidth?: boolean;\n /** Force re-fetch selectedRows by calling {@link ApiContext.getSelectedRows getSelectedRows} apiContext. */\n updateSelectedRows?: number;\n };\n /** An array of selected rows identified by value of {@link Meta.itemKey itemkey} for that rows */\n selectedRows?: string[];\n /** Repeating Structure {@link Meta.template templates} */\n template?: string;\n /**\n * Preset identifier through which the current preset/personalized view is derived.\n * For default preset or personalization dervied from default preset the value is equal to 'nonPersonalizationViewKey'\n */\n presetId?: string;\n /** Version of the state */\n version?: string;\n /** Personalization state of repeating structure */\n personalization?: Personalization;\n /** An array of custom fields generated using joining the columns */\n customFields?: CustomField[];\n /**\n * This key holds the state of the external component within RS state.\n * This state is never manipulated by Repeating structures. This key is personalizable. Currently it contains state related to {@link Meta.externalFilters}\n */\n externalState?: { [key: string]: object };\n /**\n * This holds formatter info for a given column id.\n * key - {@link FieldDef.id columnId}\n * value - Formatter name\n */\n renderFormatter?: {\n [key: string]: string;\n };\n /** It contains the alias for the column. Key is {@link FieldDef.id id} of the column, value is the alias name given to that column. */\n columnAlias?: {\n [key: string]: string;\n };\n /** Hierarchical groups info */\n hierarchicalGroup?: HierarchicalInfo;\n /** Groups are expanded or closed. */\n allGroupsExpanded?: boolean;\n\n /** Stores the errors */\n errors?: Errors;\n /** {@link FieldDef.id Id} of the field for which filter is going to be deleted. */\n clearColFilter?: string | null;\n /** A 2D array that contains the expand/collapse info of groups\n * * @example - Consider 3 columns Priority, Severity, Status and all are grouped.\n * Expanding the first and second nested group header fully starting from Priority -> Severity -> Status will result in:\n * {\n * 'Priority': [['85 P'], ['95P']],\n * 'Severity': [['85P', 'Low severity'], ['95P', 'Low severity']],\n * 'Status': [['85P', 'Low severity', 'Pending'],['95P', 'Low severity', 'Pending']]\n * }\n */\n groupToggle?: GroupToggle;\n /** Indicates if the header icon needs to be shown for header cells. */\n showHeaderIcons?: boolean;\n /** The current set of notifications on repeating structures. */\n notifications?: Notification[];\n /** Temporary change set for the selection of rows till the time the selected rows are not communicated to ApiContext via {@link ApiContext.setSelectedRows setSelectedRows}. */\n rowSelectionChangeSet?: RowSelectionChangeSet;\n /** The edit information of the cells. */\n editInfo?: EditInfo;\n /** Indicates the repeating structures is bootstraped. */\n bootstrap?: boolean;\n /** Triggers refresh on repeating structures. */\n refresh?: number;\n /** Indicates to show select all checkbox in repeating structures. */\n showSelectAllCheckbox?: boolean;\n /** Indicates to show confirmation action in repeating structures. */\n showConfirmationAction?: boolean;\n /** Stores the itemkey of the row which is being moved in drag drop operations. */\n sourceKey?: string;\n /** Stores the itemkey of the row on which the dragged row is dropped in drag drop operations. */\n destinationKey?: string;\n /** Set of features which should be skipped when running the queued action. */\n featuresToAvoid?: string[];\n /** Temporary change set information for edited row till the time data is not submitted to {@link ApiContext} */\n changeSet?: EditChangeSet;\n /** Stores the repeating structures body height. */\n tableHeight?: number | string;\n /** Stores the responsive breakpoints of DOM container */\n responsive?: ResponsiveBreakpoint;\n /**\n * Array of conditional style formats.\n *\n * When set, make sure the following conditions must be met:\n * - The available {@link RsCoreBootArgs.styleFormats styleFormats} must be passed to repeating structures as a prop.\n * - The `styleFormatId` referenced in conditional style formats within {@link State.conditionalStyleFormats state} must belong to one of the {@link RsCoreBootArgs.styleFormats styleFormats}.\n * - The {@link ApiContext.evaluateCondition evaluateCondition} API is optional. If the RS consumer wants to evaluate the condition itself, this API should be provided; otherwise, it is optional.\n *\n * **Note**: *For a given fieldName, if the data satisfies multiple conditional style formats, the first matching conditional format will be used.*\n */\n conditionalStyleFormats?: ConditionalStyleFormat[];\n}\n\nexport interface PersonalizedState extends Pick<State, (typeof personalizationProps)[number]> {}\n"]}
package/lib/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type RsCoreClass from './src/core/RsCore';
2
2
  import type { ApiContext as ApiContextType, RsApi as RsApiType } from './types/ApiContext.types';
3
3
  import type { Meta as MetaType, FieldDef as FieldDefType } from './types/Meta.types';
4
- import type { State as StateType, Group as GroupType, PersonalizedState as PersonalizedStateType, Errors as StateErrors } from './types/State.types';
4
+ import type { State as StateType, Group as GroupType, PersonalizedState as PersonalizedStateType, Errors as StateErrors, GroupAdditionalField as GroupAdditionalFieldType } from './types/State.types';
5
5
  import type { RowData as RowDataType } from './src/core/generators/RowGenerator.types';
6
6
  import type RowType from './src/core/generators/RowGenerator';
7
7
  import type ViewType from './src/core/generators/ViewGenerator';
@@ -9,12 +9,14 @@ import type { ColumnRenderingEngineProps as ColumnRenderingEnginePropsType } fro
9
9
  import type ColumnType from './src/core/generators/ColumnGenerator';
10
10
  import type RsCoreBootArgs from './types/RsCoreBootArgs.types';
11
11
  import type { RenderFactoryWithProps as RenderFactoryWithPropsType } from './types/RsCoreBootArgs.types';
12
+ import type GroupGeneratorType from './src/core/generators/GroupGenerator';
12
13
  export declare namespace RsCoreTypes {
13
14
  /** Arguments to the rsCore initialization */
14
15
  type ApiContext = ApiContextType;
15
16
  type Meta = MetaType;
16
17
  type State = StateType;
17
18
  type Group = GroupType;
19
+ type GroupAdditionalField = GroupAdditionalFieldType;
18
20
  type PersonalizedState = PersonalizedStateType;
19
21
  type FieldDef = FieldDefType;
20
22
  type RenderFactoryWithProps = RenderFactoryWithPropsType;
@@ -27,5 +29,6 @@ export declare namespace RsCoreTypes {
27
29
  type View = ViewType;
28
30
  type RowData = RowDataType;
29
31
  type Errors = StateErrors;
32
+ type GroupGenerator = GroupGeneratorType;
30
33
  }
31
34
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,KAAK,EACV,KAAK,IAAI,SAAS,EAClB,KAAK,IAAI,SAAS,EAClB,iBAAiB,IAAI,qBAAqB,EAC1C,MAAM,IAAI,WAAW,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,OAAO,MAAM,oCAAoC,CAAC;AAC9D,OAAO,KAAK,QAAQ,MAAM,qCAAqC,CAAC;AAChE,OAAO,KAAK,EAAE,0BAA0B,IAAI,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAChI,OAAO,KAAK,UAAU,MAAM,uCAAuC,CAAC;AACpE,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAEzG,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,6CAA6C;IAC7C,KAAY,UAAU,GAAG,cAAc,CAAC;IACxC,KAAY,IAAI,GAAG,QAAQ,CAAC;IAC5B,KAAY,KAAK,GAAG,SAAS,CAAC;IAC9B,KAAY,KAAK,GAAG,SAAS,CAAC;IAC9B,KAAY,iBAAiB,GAAG,qBAAqB,CAAC;IACtD,KAAY,QAAQ,GAAG,YAAY,CAAC;IACpC,KAAY,sBAAsB,GAAG,0BAA0B,CAAC;IAChE,KAAY,0BAA0B,GAAG,8BAA8B,CAAC;IACxE,KAAY,cAAc,GAAG,cAAc,CAAC;IAC5C,KAAY,KAAK,GAAG,SAAS,CAAC;IAE9B,KAAY,MAAM,GAAG,WAAW,CAAC;IAEjC,KAAY,MAAM,GAAG,UAAU,CAAC;IAChC,KAAY,GAAG,GAAG,OAAO,CAAC;IAC1B,KAAY,IAAI,GAAG,QAAQ,CAAC;IAC5B,KAAY,OAAO,GAAG,WAAW,CAAC;IAClC,KAAY,MAAM,GAAG,WAAW,CAAC;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,KAAK,EACV,KAAK,IAAI,SAAS,EAClB,KAAK,IAAI,SAAS,EAClB,iBAAiB,IAAI,qBAAqB,EAC1C,MAAM,IAAI,WAAW,EACrB,oBAAoB,IAAI,wBAAwB,EACjD,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,OAAO,MAAM,oCAAoC,CAAC;AAC9D,OAAO,KAAK,QAAQ,MAAM,qCAAqC,CAAC;AAChE,OAAO,KAAK,EAAE,0BAA0B,IAAI,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAChI,OAAO,KAAK,UAAU,MAAM,uCAAuC,CAAC;AACpE,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACzG,OAAO,KAAK,kBAAkB,MAAM,sCAAsC,CAAC;AAE3E,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,6CAA6C;IAC7C,KAAY,UAAU,GAAG,cAAc,CAAC;IACxC,KAAY,IAAI,GAAG,QAAQ,CAAC;IAC5B,KAAY,KAAK,GAAG,SAAS,CAAC;IAC9B,KAAY,KAAK,GAAG,SAAS,CAAC;IAC9B,KAAY,oBAAoB,GAAG,wBAAwB,CAAC;IAC5D,KAAY,iBAAiB,GAAG,qBAAqB,CAAC;IACtD,KAAY,QAAQ,GAAG,YAAY,CAAC;IACpC,KAAY,sBAAsB,GAAG,0BAA0B,CAAC;IAChE,KAAY,0BAA0B,GAAG,8BAA8B,CAAC;IACxE,KAAY,cAAc,GAAG,cAAc,CAAC;IAC5C,KAAY,KAAK,GAAG,SAAS,CAAC;IAE9B,KAAY,MAAM,GAAG,WAAW,CAAC;IAEjC,KAAY,MAAM,GAAG,UAAU,CAAC;IAChC,KAAY,GAAG,GAAG,OAAO,CAAC;IAC1B,KAAY,IAAI,GAAG,QAAQ,CAAC;IAC5B,KAAY,OAAO,GAAG,WAAW,CAAC;IAClC,KAAY,MAAM,GAAG,WAAW,CAAC;IACjC,KAAY,cAAc,GAAG,kBAAkB,CAAC;CACjD"}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"","sourcesContent":["import type RsCoreClass from './src/core/RsCore';\nimport type { ApiContext as ApiContextType, RsApi as RsApiType } from './types/ApiContext.types';\nimport type { Meta as MetaType, FieldDef as FieldDefType } from './types/Meta.types';\nimport type {\n State as StateType,\n Group as GroupType,\n PersonalizedState as PersonalizedStateType,\n Errors as StateErrors\n} from './types/State.types';\nimport type { RowData as RowDataType } from './src/core/generators/RowGenerator.types';\nimport type RowType from './src/core/generators/RowGenerator';\nimport type ViewType from './src/core/generators/ViewGenerator';\nimport type { ColumnRenderingEngineProps as ColumnRenderingEnginePropsType } from './src/core/generators/ColumnGenerator.types';\nimport type ColumnType from './src/core/generators/ColumnGenerator';\nimport type RsCoreBootArgs from './types/RsCoreBootArgs.types';\nimport type { RenderFactoryWithProps as RenderFactoryWithPropsType } from './types/RsCoreBootArgs.types';\n\nexport declare namespace RsCoreTypes {\n /** Arguments to the rsCore initialization */\n export type ApiContext = ApiContextType;\n export type Meta = MetaType;\n export type State = StateType;\n export type Group = GroupType;\n export type PersonalizedState = PersonalizedStateType;\n export type FieldDef = FieldDefType;\n export type RenderFactoryWithProps = RenderFactoryWithPropsType;\n export type ColumnRenderingEngineProps = ColumnRenderingEnginePropsType;\n export type RsCoreInitArgs = RsCoreBootArgs;\n export type RsApi = RsApiType;\n\n export type RsCore = RsCoreClass;\n\n export type Column = ColumnType;\n export type Row = RowType;\n export type View = ViewType;\n export type RowData = RowDataType;\n export type Errors = StateErrors;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"","sourcesContent":["import type RsCoreClass from './src/core/RsCore';\nimport type { ApiContext as ApiContextType, RsApi as RsApiType } from './types/ApiContext.types';\nimport type { Meta as MetaType, FieldDef as FieldDefType } from './types/Meta.types';\nimport type {\n State as StateType,\n Group as GroupType,\n PersonalizedState as PersonalizedStateType,\n Errors as StateErrors,\n GroupAdditionalField as GroupAdditionalFieldType\n} from './types/State.types';\nimport type { RowData as RowDataType } from './src/core/generators/RowGenerator.types';\nimport type RowType from './src/core/generators/RowGenerator';\nimport type ViewType from './src/core/generators/ViewGenerator';\nimport type { ColumnRenderingEngineProps as ColumnRenderingEnginePropsType } from './src/core/generators/ColumnGenerator.types';\nimport type ColumnType from './src/core/generators/ColumnGenerator';\nimport type RsCoreBootArgs from './types/RsCoreBootArgs.types';\nimport type { RenderFactoryWithProps as RenderFactoryWithPropsType } from './types/RsCoreBootArgs.types';\nimport type GroupGeneratorType from './src/core/generators/GroupGenerator';\n\nexport declare namespace RsCoreTypes {\n /** Arguments to the rsCore initialization */\n export type ApiContext = ApiContextType;\n export type Meta = MetaType;\n export type State = StateType;\n export type Group = GroupType;\n export type GroupAdditionalField = GroupAdditionalFieldType;\n export type PersonalizedState = PersonalizedStateType;\n export type FieldDef = FieldDefType;\n export type RenderFactoryWithProps = RenderFactoryWithPropsType;\n export type ColumnRenderingEngineProps = ColumnRenderingEnginePropsType;\n export type RsCoreInitArgs = RsCoreBootArgs;\n export type RsApi = RsApiType;\n\n export type RsCore = RsCoreClass;\n\n export type Column = ColumnType;\n export type Row = RowType;\n export type View = ViewType;\n export type RowData = RowDataType;\n export type Errors = StateErrors;\n export type GroupGenerator = GroupGeneratorType;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/lists-core",
3
- "version": "9.0.0-build.6.8",
3
+ "version": "9.0.0-build.7.0",
4
4
  "description": "Core headless UI library that the users can use to write their own UI and create repeating structures like table, gallery, timeline etc.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Pegasystems",
@@ -14,9 +14,9 @@
14
14
  "build": "tsc -b tsconfig.build.json"
15
15
  },
16
16
  "dependencies": {
17
- "@pega/cosmos-react-condition-builder": "9.0.0-build.6.8",
18
- "@pega/cosmos-react-core": "9.0.0-build.6.8",
19
- "@pega/cosmos-react-work": "9.0.0-build.6.8",
17
+ "@pega/cosmos-react-condition-builder": "9.0.0-build.7.0",
18
+ "@pega/cosmos-react-core": "9.0.0-build.7.0",
19
+ "@pega/cosmos-react-work": "9.0.0-build.7.0",
20
20
  "@types/lodash.get": "^4.4.9",
21
21
  "@types/uuid": "^9.0.0",
22
22
  "dayjs": "^1.11.13",