@payloadcms/ui 3.30.0 → 3.31.0-canary.1

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 (215) hide show
  1. package/dist/elements/ColumnSelector/index.js +1 -1
  2. package/dist/elements/ColumnSelector/index.js.map +1 -1
  3. package/dist/elements/ColumnSelector/index.scss +2 -3
  4. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  5. package/dist/elements/DeleteDocument/index.js +1 -2
  6. package/dist/elements/DeleteDocument/index.js.map +1 -1
  7. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  8. package/dist/elements/DeleteMany/index.js +1 -1
  9. package/dist/elements/DeleteMany/index.js.map +1 -1
  10. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  11. package/dist/elements/DocumentDrawer/DrawerContent.js +2 -1
  12. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  13. package/dist/elements/DocumentDrawer/types.d.ts +4 -0
  14. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  15. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  16. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  17. package/dist/elements/EditMany/DrawerContent.js +1 -2
  18. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  19. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts +8 -0
  20. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +1 -0
  21. package/dist/elements/ListControls/ActiveQueryPreset/index.js +154 -0
  22. package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +1 -0
  23. package/dist/elements/ListControls/ActiveQueryPreset/index.scss +21 -0
  24. package/dist/elements/ListControls/index.d.ts +1 -24
  25. package/dist/elements/ListControls/index.d.ts.map +1 -1
  26. package/dist/elements/ListControls/index.js +115 -86
  27. package/dist/elements/ListControls/index.js.map +1 -1
  28. package/dist/elements/ListControls/index.scss +5 -9
  29. package/dist/elements/ListControls/types.d.ts +28 -0
  30. package/dist/elements/ListControls/types.d.ts.map +1 -0
  31. package/dist/elements/ListControls/types.js.map +1 -0
  32. package/dist/elements/ListControls/useQueryPresets.d.ts +17 -0
  33. package/dist/elements/ListControls/useQueryPresets.d.ts.map +1 -0
  34. package/dist/elements/ListControls/useQueryPresets.js +260 -0
  35. package/dist/elements/ListControls/useQueryPresets.js.map +1 -0
  36. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  37. package/dist/elements/ListDrawer/DrawerContent.js +4 -2
  38. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  39. package/dist/elements/ListDrawer/types.d.ts +3 -2
  40. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  41. package/dist/elements/ListDrawer/types.js.map +1 -1
  42. package/dist/elements/Pill/index.d.ts +1 -1
  43. package/dist/elements/Pill/index.d.ts.map +1 -1
  44. package/dist/elements/Pill/index.js +2 -0
  45. package/dist/elements/Pill/index.js.map +1 -1
  46. package/dist/elements/Pill/index.scss +29 -6
  47. package/dist/elements/Popup/PopupButtonList/index.d.ts +2 -1
  48. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  49. package/dist/elements/Popup/PopupButtonList/index.js +2 -0
  50. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  51. package/dist/elements/Popup/PopupDivider/index.d.ts +4 -0
  52. package/dist/elements/Popup/PopupDivider/index.d.ts.map +1 -0
  53. package/dist/elements/Popup/PopupDivider/index.js +10 -0
  54. package/dist/elements/Popup/PopupDivider/index.js.map +1 -0
  55. package/dist/elements/Popup/PopupDivider/index.scss +10 -0
  56. package/dist/elements/Popup/PopupGroupLabel/index.d.ts +6 -0
  57. package/dist/elements/Popup/PopupGroupLabel/index.d.ts.map +1 -0
  58. package/dist/elements/Popup/PopupGroupLabel/index.js +13 -0
  59. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -0
  60. package/dist/elements/Popup/PopupGroupLabel/index.scss +8 -0
  61. package/dist/elements/Popup/index.d.ts.map +1 -1
  62. package/dist/elements/Popup/index.js +2 -2
  63. package/dist/elements/Popup/index.js.map +1 -1
  64. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts +4 -0
  65. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts.map +1 -0
  66. package/dist/elements/QueryPresets/cells/AccessCell/index.js +25 -0
  67. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -0
  68. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +5 -0
  69. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -0
  70. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +25 -0
  71. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -0
  72. package/dist/elements/QueryPresets/cells/ColumnsCell/index.scss +9 -0
  73. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts +4 -0
  74. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts.map +1 -0
  75. package/dist/elements/QueryPresets/cells/WhereCell/index.js +29 -0
  76. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -0
  77. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +4 -0
  78. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -0
  79. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +65 -0
  80. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -0
  81. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +17 -0
  82. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +4 -0
  83. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -0
  84. package/dist/elements/QueryPresets/fields/WhereField/index.js +121 -0
  85. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -0
  86. package/dist/elements/QueryPresets/fields/WhereField/index.scss +23 -0
  87. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +1 -1
  88. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  89. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  90. package/dist/elements/RelationshipTable/index.js +3 -4
  91. package/dist/elements/RelationshipTable/index.js.map +1 -1
  92. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  93. package/dist/elements/WhereBuilder/Condition/index.js +1 -1
  94. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  95. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  96. package/dist/elements/WhereBuilder/index.js +18 -15
  97. package/dist/elements/WhereBuilder/index.js.map +1 -1
  98. package/dist/exports/client/index.d.ts +7 -2
  99. package/dist/exports/client/index.d.ts.map +1 -1
  100. package/dist/exports/client/index.js +23 -23
  101. package/dist/exports/client/index.js.map +4 -4
  102. package/dist/exports/shared/index.d.ts +8 -3
  103. package/dist/exports/shared/index.d.ts.map +1 -1
  104. package/dist/exports/shared/index.js +2 -2
  105. package/dist/exports/shared/index.js.map +4 -4
  106. package/dist/icons/Chevron/index.d.ts +1 -0
  107. package/dist/icons/Chevron/index.d.ts.map +1 -1
  108. package/dist/icons/Chevron/index.js +2 -0
  109. package/dist/icons/Chevron/index.js.map +1 -1
  110. package/dist/icons/Dots/index.d.ts +2 -0
  111. package/dist/icons/Dots/index.d.ts.map +1 -1
  112. package/dist/icons/Dots/index.js +5 -2
  113. package/dist/icons/Dots/index.js.map +1 -1
  114. package/dist/icons/Dots/index.scss +14 -0
  115. package/dist/icons/People/index.d.ts +6 -0
  116. package/dist/icons/People/index.d.ts.map +1 -0
  117. package/dist/icons/People/index.js +18 -0
  118. package/dist/icons/People/index.js.map +1 -0
  119. package/dist/icons/People/index.scss +11 -0
  120. package/dist/providers/DocumentInfo/types.d.ts +1 -0
  121. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  122. package/dist/providers/DocumentInfo/types.js.map +1 -1
  123. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  124. package/dist/providers/EntityVisibility/index.js.map +1 -1
  125. package/dist/providers/ListQuery/context.d.ts +2 -0
  126. package/dist/providers/ListQuery/context.d.ts.map +1 -1
  127. package/dist/providers/ListQuery/context.js +2 -0
  128. package/dist/providers/ListQuery/context.js.map +1 -1
  129. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  130. package/dist/providers/ListQuery/index.js +29 -13
  131. package/dist/providers/ListQuery/index.js.map +1 -1
  132. package/dist/providers/ListQuery/types.d.ts +6 -3
  133. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  134. package/dist/providers/ListQuery/types.js.map +1 -1
  135. package/dist/providers/Preferences/index.d.ts.map +1 -1
  136. package/dist/providers/Preferences/index.js.map +1 -1
  137. package/dist/providers/ServerFunctions/index.d.ts +1 -0
  138. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  139. package/dist/providers/ServerFunctions/index.js.map +1 -1
  140. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
  141. package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.js +2 -2
  142. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -0
  143. package/dist/{elements → providers}/TableColumns/buildColumnState.d.ts +1 -1
  144. package/dist/providers/TableColumns/buildColumnState.d.ts.map +1 -0
  145. package/dist/{elements → providers}/TableColumns/buildColumnState.js +1 -1
  146. package/dist/providers/TableColumns/buildColumnState.js.map +1 -0
  147. package/dist/{elements → providers}/TableColumns/buildPolymorphicColumnState.d.ts +1 -1
  148. package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -0
  149. package/dist/{elements → providers}/TableColumns/buildPolymorphicColumnState.js +1 -1
  150. package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +1 -0
  151. package/dist/providers/TableColumns/context.d.ts.map +1 -0
  152. package/dist/providers/TableColumns/context.js.map +1 -0
  153. package/dist/providers/TableColumns/filterFields.d.ts.map +1 -0
  154. package/dist/providers/TableColumns/filterFields.js.map +1 -0
  155. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -0
  156. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -0
  157. package/dist/providers/TableColumns/index.d.ts.map +1 -0
  158. package/dist/{elements → providers}/TableColumns/index.js +4 -2
  159. package/dist/providers/TableColumns/index.js.map +1 -0
  160. package/dist/{elements → providers}/TableColumns/types.d.ts +1 -1
  161. package/dist/providers/TableColumns/types.d.ts.map +1 -0
  162. package/dist/providers/TableColumns/types.js +2 -0
  163. package/dist/providers/TableColumns/types.js.map +1 -0
  164. package/dist/styles.css +1 -1
  165. package/dist/utilities/renderTable.js +4 -4
  166. package/dist/utilities/renderTable.js.map +1 -1
  167. package/dist/utilities/upsertPreferences.d.ts +7 -2
  168. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  169. package/dist/utilities/upsertPreferences.js +11 -5
  170. package/dist/utilities/upsertPreferences.js.map +1 -1
  171. package/dist/views/Edit/index.d.ts.map +1 -1
  172. package/dist/views/Edit/index.js +2 -1
  173. package/dist/views/Edit/index.js.map +1 -1
  174. package/dist/views/List/index.d.ts.map +1 -1
  175. package/dist/views/List/index.js +7 -1
  176. package/dist/views/List/index.js.map +1 -1
  177. package/package.json +4 -4
  178. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +0 -1
  179. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +0 -1
  180. package/dist/elements/TableColumns/buildColumnState.d.ts.map +0 -1
  181. package/dist/elements/TableColumns/buildColumnState.js.map +0 -1
  182. package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts.map +0 -1
  183. package/dist/elements/TableColumns/buildPolymorphicColumnState.js.map +0 -1
  184. package/dist/elements/TableColumns/context.d.ts.map +0 -1
  185. package/dist/elements/TableColumns/context.js.map +0 -1
  186. package/dist/elements/TableColumns/filterFields.d.ts.map +0 -1
  187. package/dist/elements/TableColumns/filterFields.js.map +0 -1
  188. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +0 -1
  189. package/dist/elements/TableColumns/getInitialColumns.js.map +0 -1
  190. package/dist/elements/TableColumns/index.d.ts.map +0 -1
  191. package/dist/elements/TableColumns/index.js.map +0 -1
  192. package/dist/elements/TableColumns/types.d.ts.map +0 -1
  193. package/dist/elements/TableColumns/types.js.map +0 -1
  194. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts +0 -8
  195. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts.map +0 -1
  196. package/dist/elements/WhereBuilder/transformWhereQuery.js +0 -45
  197. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +0 -1
  198. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts +0 -4
  199. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +0 -1
  200. package/dist/elements/WhereBuilder/validateWhereQuery.js +0 -36
  201. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +0 -1
  202. package/dist/utilities/mergeListSearchAndWhere.d.ts +0 -10
  203. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +0 -1
  204. package/dist/utilities/mergeListSearchAndWhere.js +0 -47
  205. package/dist/utilities/mergeListSearchAndWhere.js.map +0 -1
  206. /package/dist/elements/{TableColumns → ListControls}/types.js +0 -0
  207. /package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.d.ts +0 -0
  208. /package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.scss +0 -0
  209. /package/dist/{elements → providers}/TableColumns/context.d.ts +0 -0
  210. /package/dist/{elements → providers}/TableColumns/context.js +0 -0
  211. /package/dist/{elements → providers}/TableColumns/filterFields.d.ts +0 -0
  212. /package/dist/{elements → providers}/TableColumns/filterFields.js +0 -0
  213. /package/dist/{elements → providers}/TableColumns/getInitialColumns.d.ts +0 -0
  214. /package/dist/{elements → providers}/TableColumns/getInitialColumns.js +0 -0
  215. /package/dist/{elements → providers}/TableColumns/index.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildPolymorphicColumnState.js","names":["MissingEditorProp","fieldIsHiddenOrDisabled","fieldIsID","fieldIsPresentationalOnly","flattenTopLevelFields","React","RenderCustomComponent","RenderDefaultCell","SortColumn","RenderServerComponent","filterFields","buildPolymorphicColumnState","args","beforeRows","columnPreferences","columns","customCellProps","docs","enableRowSelections","fields","i18n","payload","sortColumnProps","useAsTitle","sortedFieldMap","_sortedFieldMap","idFieldIndex","findIndex","field","idField","splice","unshift","useAsTitleFieldIndex","name","useAsTitleField","sortTo","sortFieldMap","fieldMap","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","_field","find","f","columnPreference","preference","active","Array","isArray","length","includes","push","CustomLabel","undefined","fieldAffectsDataSubFields","type","Heading","_jsx","disable","Label","label","renderedCells","map","doc","i","isLinkedColumn","collectionSlug","relationTo","value","baseCellClientProps","cellData","rowData","cellClientProps","link","cellServerProps","className","collectionConfig","collections","config","columnIndex","onClick","CustomCell","editor","Error","admin","components","clientProps","Component","CellComponent","importMap","serverProps","CustomCellComponent","Cell","CustomComponent","Fallback"],"sources":["../../../src/providers/TableColumns/buildPolymorphicColumnState.tsx"],"sourcesContent":["// Dirty copy of buildColumnState.tsx with some changes to not break things\n\nimport type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientField,\n Column,\n DefaultCellComponentProps,\n DefaultServerCellComponentProps,\n Field,\n ListPreferences,\n PaginatedDocs,\n Payload,\n SanitizedCollectionConfig,\n StaticLabel,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport {\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsPresentationalOnly,\n flattenTopLevelFields,\n} from 'payload/shared'\nimport React from 'react'\n\nimport type { SortColumnProps } from '../../elements/SortColumn/index.js'\n\nimport {\n RenderCustomComponent,\n RenderDefaultCell,\n SortColumn,\n // eslint-disable-next-line payload/no-imports-from-exports-dir\n} from '../../exports/client/index.js'\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\nimport { filterFields } from './filterFields.js'\n\ntype Args = {\n beforeRows?: Column[]\n columnPreferences: ListPreferences['columns']\n columns?: ListPreferences['columns']\n customCellProps: DefaultCellComponentProps['customCellProps']\n docs: PaginatedDocs['docs']\n enableRowSelections: boolean\n enableRowTypes?: boolean\n fields: ClientField[]\n i18n: I18nClient\n payload: Payload\n sortColumnProps?: Partial<SortColumnProps>\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const buildPolymorphicColumnState = (args: Args): Column[] => {\n const {\n beforeRows,\n columnPreferences,\n columns,\n customCellProps,\n docs,\n enableRowSelections,\n fields,\n i18n,\n payload,\n sortColumnProps,\n useAsTitle,\n } = args\n\n // clientFields contains the fake `id` column\n let sortedFieldMap = flattenTopLevelFields(filterFields(fields), true) as ClientField[]\n\n let _sortedFieldMap = flattenTopLevelFields(filterFields(fields), true) as Field[] // TODO: think of a way to avoid this additional flatten\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap?.findIndex((field) => fieldIsID(field))\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n const sortFieldMap = (fieldMap, sortTo) =>\n fieldMap?.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n\n if (aIndex === -1 && bIndex === -1) {\n return 0\n }\n\n if (aIndex === -1) {\n return 1\n }\n\n if (bIndex === -1) {\n return -1\n }\n\n return aIndex - bIndex\n })\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortFieldMap(sortedFieldMap, sortTo)\n _sortedFieldMap = sortFieldMap(_sortedFieldMap, sortTo) // TODO: think of a way to avoid this additional sort\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap?.reduce((acc, field, index) => {\n if (fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) {\n return acc\n }\n\n const _field = _sortedFieldMap.find(\n (f) => 'name' in field && 'name' in f && f.name === field.name,\n )\n\n const columnPreference = columnPreferences?.find(\n (preference) => field && 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find(\n (column) => field && 'name' in field && column.accessor === field.name,\n )?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n // const CustomLabelToRender =\n // _field &&\n // 'admin' in _field &&\n // 'components' in _field.admin &&\n // 'Label' in _field.admin.components &&\n // _field.admin.components.Label !== undefined // let it return `null`\n // ? _field.admin.components.Label\n // : undefined\n\n // // TODO: customComponent will be optional in v4\n // const clientProps: Omit<ClientComponentProps, 'customComponents'> = {\n // field,\n // }\n\n // const customLabelServerProps: Pick<\n // ServerComponentProps,\n // 'clientField' | 'collectionSlug' | 'field' | 'i18n' | 'payload'\n // > = {\n // clientField: field,\n // collectionSlug: collectionConfig.slug,\n // field: _field,\n // i18n,\n // payload,\n // }\n\n const CustomLabel = undefined\n\n const fieldAffectsDataSubFields =\n field &&\n field.type &&\n (field.type === 'array' || field.type === 'group' || field.type === 'blocks')\n\n const Heading = (\n <SortColumn\n disable={fieldAffectsDataSubFields || fieldIsPresentationalOnly(field) || undefined}\n Label={CustomLabel}\n label={field && 'label' in field ? (field.label as StaticLabel) : undefined}\n name={'name' in field ? field.name : undefined}\n {...(sortColumnProps || {})}\n />\n )\n\n const column: Column = {\n accessor: 'name' in field ? field.name : undefined,\n active,\n CustomLabel,\n field,\n Heading,\n renderedCells: active\n ? docs.map((doc, i) => {\n const isLinkedColumn = index === activeColumnsIndices[0]\n\n const collectionSlug = doc.relationTo\n doc = doc.value\n\n const baseCellClientProps: DefaultCellComponentProps = {\n cellData: undefined,\n collectionSlug,\n customCellProps,\n field,\n rowData: undefined,\n }\n\n const cellClientProps: DefaultCellComponentProps = {\n ...baseCellClientProps,\n cellData: 'name' in field ? doc[field.name] : undefined,\n link: isLinkedColumn,\n rowData: doc,\n }\n\n const cellServerProps: DefaultServerCellComponentProps = {\n cellData: cellClientProps.cellData,\n className: baseCellClientProps.className,\n collectionConfig: payload.collections[collectionSlug].config,\n collectionSlug,\n columnIndex: baseCellClientProps.columnIndex,\n customCellProps: baseCellClientProps.customCellProps,\n field: _field,\n i18n,\n link: cellClientProps.link,\n onClick: baseCellClientProps.onClick,\n payload,\n rowData: doc,\n }\n\n let CustomCell = null\n\n if (_field?.type === 'richText') {\n if (!_field?.editor) {\n throw new MissingEditorProp(_field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof _field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!_field.admin) {\n _field.admin = {}\n }\n\n if (!_field.admin.components) {\n _field.admin.components = {}\n }\n\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: _field.editor.CellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else {\n const CustomCellComponent = _field?.admin?.components?.Cell\n\n if (CustomCellComponent) {\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: CustomCellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else {\n CustomCell = undefined\n }\n }\n\n return (\n <RenderCustomComponent\n CustomComponent={CustomCell}\n Fallback={\n <RenderDefaultCell\n clientProps={cellClientProps}\n columnIndex={index}\n enableRowSelections={enableRowSelections}\n isLinkedColumn={isLinkedColumn}\n />\n }\n key={`${i}-${index}`}\n />\n )\n })\n : [],\n }\n\n acc.push(column)\n\n return acc\n }, [])\n\n if (beforeRows) {\n sorted.unshift(...beforeRows)\n }\n\n return sorted\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/providers/TableColumns/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,eAAO,MAAM,kBAAkB,wCAAoD,CAAA;AAEnF,eAAO,MAAM,eAAe,QAAO,aAAwC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","names":["createContext","use","TableColumnContext","useTableColumns"],"sources":["../../../src/providers/TableColumns/context.ts"],"sourcesContent":["import { createContext, use } from 'react'\n\nimport type { ITableColumns } from './types.js'\n\nexport const TableColumnContext = createContext<ITableColumns>({} as ITableColumns)\n\nexport const useTableColumns = (): ITableColumns => use(TableColumnContext)\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,GAAG,QAAQ;AAInC,OAAO,MAAMC,kBAAA,GAAqBF,aAAA,CAA6B,CAAC;AAEhE,OAAO,MAAMG,eAAA,GAAkBA,CAAA,KAAqBF,GAAA,CAAIC,kBAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterFields.d.ts","sourceRoot":"","sources":["../../../src/providers/TableColumns/filterFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIjD;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,WAAW,GAAG,KAAK,kBAAkB,CAAC,EAAE,KAAG,CAAC,EA4BlF,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterFields.js","names":["fieldIsHiddenOrDisabled","fieldIsID","filterFields","incomingFields","shouldSkipField","field","type","admin","disableListColumn","fields","reduce","acc","formattedField","tabs","map","tab","filter","tabField","push"],"sources":["../../../src/providers/TableColumns/filterFields.tsx"],"sourcesContent":["import type { ClientField, Field } from 'payload'\n\nimport { fieldIsHiddenOrDisabled, fieldIsID } from 'payload/shared'\n\n/**\n * Filters fields that are hidden, disabled, or have `disableListColumn` set to `true`\n * Does so recursively for `tabs` fields.\n */\nexport const filterFields = <T extends ClientField | Field>(incomingFields: T[]): T[] => {\n const shouldSkipField = (field: T): boolean =>\n (field.type !== 'ui' && fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) ||\n field?.admin?.disableListColumn === true\n\n const fields: T[] = incomingFields?.reduce((acc, field) => {\n if (shouldSkipField(field)) {\n return acc\n }\n\n // extract top-level `tabs` fields and filter out the same\n const formattedField: T =\n field.type === 'tabs' && 'tabs' in field\n ? {\n ...field,\n tabs: field.tabs.map((tab) => ({\n ...tab,\n fields: tab.fields.filter((tabField) => !shouldSkipField(tabField)),\n })),\n }\n : field\n\n acc.push(formattedField)\n\n return acc\n }, [])\n\n return fields\n}\n"],"mappings":"AAEA,SAASA,uBAAuB,EAAEC,SAAS,QAAQ;AAEnD;;;;AAIA,OAAO,MAAMC,YAAA,GAA+CC,cAAA;EAC1D,MAAMC,eAAA,GAAmBC,KAAA,IACvBA,KAAC,CAAMC,IAAI,KAAK,QAAQN,uBAAA,CAAwBK,KAAA,KAAU,CAACJ,SAAA,CAAUI,KAAA,KACrEA,KAAA,EAAOE,KAAA,EAAOC,iBAAA,KAAsB;EAEtC,MAAMC,MAAA,GAAcN,cAAA,EAAgBO,MAAA,CAAO,CAACC,GAAA,EAAKN,KAAA;IAC/C,IAAID,eAAA,CAAgBC,KAAA,GAAQ;MAC1B,OAAOM,GAAA;IACT;IAEA;IACA,MAAMC,cAAA,GACJP,KAAA,CAAMC,IAAI,KAAK,UAAU,UAAUD,KAAA,GAC/B;MACE,GAAGA,KAAK;MACRQ,IAAA,EAAMR,KAAA,CAAMQ,IAAI,CAACC,GAAG,CAAEC,GAAA,KAAS;QAC7B,GAAGA,GAAG;QACNN,MAAA,EAAQM,GAAA,CAAIN,MAAM,CAACO,MAAM,CAAEC,QAAA,IAAa,CAACb,eAAA,CAAgBa,QAAA;MAC3D;IACF,IACAZ,KAAA;IAENM,GAAA,CAAIO,IAAI,CAACN,cAAA;IAET,OAAOD,GAAA;EACT,GAAG,EAAE;EAEL,OAAOF,MAAA;AACT","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInitialColumns.d.ts","sourceRoot":"","sources":["../../../src/providers/TableColumns/getInitialColumns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAiCpF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,WAAW,EAAE,GAAG,KAAK,EAAE,UACzD,CAAC,cACG,gBAAgB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,kBACnC,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,KAC1D,eAAe,CAAC,SAAS,CAoB3B,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInitialColumns.js","names":["fieldAffectsData","getRemainingColumns","fields","useAsTitle","reduce","remaining","field","name","type","tabs","tabFieldColumns","tab","getInitialColumns","defaultColumns","initialColumns","Array","isArray","length","push","remainingColumns","concat","slice","map","column","accessor","active"],"sources":["../../../src/providers/TableColumns/getInitialColumns.ts"],"sourcesContent":["import type { ClientField, CollectionConfig, Field, ListPreferences } from 'payload'\n\nimport { fieldAffectsData } from 'payload/shared'\n\nconst getRemainingColumns = <T extends ClientField[] | Field[]>(\n fields: T,\n useAsTitle: string,\n): ListPreferences['columns'] =>\n fields?.reduce((remaining, field) => {\n if (fieldAffectsData(field) && field.name === useAsTitle) {\n return remaining\n }\n\n if (!fieldAffectsData(field) && 'fields' in field) {\n return [...remaining, ...getRemainingColumns(field.fields, useAsTitle)]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...remaining,\n ...field.tabs.reduce(\n (tabFieldColumns, tab) => [\n ...tabFieldColumns,\n ...('name' in tab ? [tab.name] : getRemainingColumns(tab.fields, useAsTitle)),\n ],\n [],\n ),\n ]\n }\n\n return [...remaining, field.name]\n }, [])\n\n/**\n * Returns the initial columns to display in the table based on the following criteria:\n * 1. If `defaultColumns` is set in the collection config, use those columns\n * 2. Otherwise take `useAtTitle, if set, and the next 3 fields that are not hidden or disabled\n */\nexport const getInitialColumns = <T extends ClientField[] | Field[]>(\n fields: T,\n useAsTitle: CollectionConfig['admin']['useAsTitle'],\n defaultColumns: CollectionConfig['admin']['defaultColumns'],\n): ListPreferences['columns'] => {\n let initialColumns = []\n\n if (Array.isArray(defaultColumns) && defaultColumns.length >= 1) {\n initialColumns = defaultColumns\n } else {\n if (useAsTitle) {\n initialColumns.push(useAsTitle)\n }\n\n const remainingColumns = getRemainingColumns(fields, useAsTitle)\n\n initialColumns = initialColumns.concat(remainingColumns)\n initialColumns = initialColumns.slice(0, 4)\n }\n\n return initialColumns.map((column) => ({\n accessor: column,\n active: true,\n }))\n}\n"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ;AAEjC,MAAMC,mBAAA,GAAsBA,CAC1BC,MAAA,EACAC,UAAA,KAEAD,MAAA,EAAQE,MAAA,CAAO,CAACC,SAAA,EAAWC,KAAA;EACzB,IAAIN,gBAAA,CAAiBM,KAAA,KAAUA,KAAA,CAAMC,IAAI,KAAKJ,UAAA,EAAY;IACxD,OAAOE,SAAA;EACT;EAEA,IAAI,CAACL,gBAAA,CAAiBM,KAAA,KAAU,YAAYA,KAAA,EAAO;IACjD,OAAO,C,GAAID,SAAA,E,GAAcJ,mBAAA,CAAoBK,KAAA,CAAMJ,MAAM,EAAEC,UAAA,EAAY;EACzE;EAEA,IAAIG,KAAA,CAAME,IAAI,KAAK,UAAU,UAAUF,KAAA,EAAO;IAC5C,OAAO,C,GACFD,SAAA,E,GACAC,KAAA,CAAMG,IAAI,CAACL,MAAM,CAClB,CAACM,eAAA,EAAiBC,GAAA,KAAQ,C,GACrBD,eAAA,E,IACC,UAAUC,GAAA,GAAM,CAACA,GAAA,CAAIJ,IAAI,CAAC,GAAGN,mBAAA,CAAoBU,GAAA,CAAIT,MAAM,EAAEC,UAAA,GAClE,EACD,EAAE,EAEL;EACH;EAEA,OAAO,C,GAAIE,SAAA,EAAWC,KAAA,CAAMC,IAAI,CAAC;AACnC,GAAG,EAAE;AAEP;;;;;AAKA,OAAO,MAAMK,iBAAA,GAAoBA,CAC/BV,MAAA,EACAC,UAAA,EACAU,cAAA;EAEA,IAAIC,cAAA,GAAiB,EAAE;EAEvB,IAAIC,KAAA,CAAMC,OAAO,CAACH,cAAA,KAAmBA,cAAA,CAAeI,MAAM,IAAI,GAAG;IAC/DH,cAAA,GAAiBD,cAAA;EACnB,OAAO;IACL,IAAIV,UAAA,EAAY;MACdW,cAAA,CAAeI,IAAI,CAACf,UAAA;IACtB;IAEA,MAAMgB,gBAAA,GAAmBlB,mBAAA,CAAoBC,MAAA,EAAQC,UAAA;IAErDW,cAAA,GAAiBA,cAAA,CAAeM,MAAM,CAACD,gBAAA;IACvCL,cAAA,GAAiBA,cAAA,CAAeO,KAAK,CAAC,GAAG;EAC3C;EAEA,OAAOP,cAAA,CAAeQ,GAAG,CAAEC,MAAA,KAAY;IACrCC,QAAA,EAAUD,MAAA;IACVE,MAAA,EAAQ;EACV;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/TableColumns/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAEnE,OAAO,KAAK,EAAiB,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAM1E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA+FpE,CAAA"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import { transformColumnsToSearchParams } from 'payload/shared';
5
- import React, { startTransition, useCallback } from 'react';
5
+ import React, { startTransition, useCallback, useRef } from 'react';
6
6
  import { useConfig } from '../../providers/Config/index.js';
7
7
  import { useListQuery } from '../../providers/ListQuery/index.js';
8
8
  import { TableColumnContext } from './context.js';
@@ -28,6 +28,7 @@ export const TableColumnsProvider = ({
28
28
  collectionSlug
29
29
  });
30
30
  const [columnState, setOptimisticColumnState] = React.useOptimistic(columnStateFromProps, (state, action) => action);
31
+ const contextRef = useRef({});
31
32
  const toggleColumn = useCallback(async column => {
32
33
  const newColumnState = (columnState || []).map(col => {
33
34
  if (col.accessor === column) {
@@ -83,7 +84,8 @@ export const TableColumnsProvider = ({
83
84
  moveColumn,
84
85
  resetColumnsState,
85
86
  setActiveColumns,
86
- toggleColumn
87
+ toggleColumn,
88
+ ...contextRef.current
87
89
  },
88
90
  children: children
89
91
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["transformColumnsToSearchParams","React","startTransition","useCallback","useRef","useConfig","useListQuery","TableColumnContext","useTableColumns","TableColumnsProvider","children","collectionSlug","columnState","columnStateFromProps","LinkedCellOverride","getEntityConfig","query","currentQuery","refineListData","admin","defaultColumns","setOptimisticColumnState","useOptimistic","state","action","contextRef","toggleColumn","column","newColumnState","map","col","accessor","active","columns","moveColumn","args","fromIndex","toIndex","columnToMove","splice","setActiveColumns","forEach","colName","colIndex","findIndex","c","undefined","slice","resetColumnsState","_jsx","value","current"],"sources":["../../../src/providers/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport { type Column } from 'payload'\nimport { transformColumnsToSearchParams } from 'payload/shared'\nimport React, { startTransition, useCallback, useRef } from 'react'\n\nimport type { ITableColumns, TableColumnsProviderProps } from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { TableColumnContext } from './context.js'\n\nexport { useTableColumns } from './context.js'\n\nexport const TableColumnsProvider: React.FC<TableColumnsProviderProps> = ({\n children,\n collectionSlug,\n columnState: columnStateFromProps,\n LinkedCellOverride,\n}) => {\n const { getEntityConfig } = useConfig()\n const { query: currentQuery, refineListData } = useListQuery()\n\n const { admin: { defaultColumns } = {} } = getEntityConfig({\n collectionSlug,\n })\n\n const [columnState, setOptimisticColumnState] = React.useOptimistic(\n columnStateFromProps,\n (state, action: Column[]) => action,\n )\n\n const contextRef = useRef({} as ITableColumns)\n\n const toggleColumn = useCallback(\n async (column: string) => {\n const newColumnState = (columnState || []).map((col) => {\n if (col.accessor === column) {\n return { ...col, active: !col.active }\n }\n return col\n })\n\n startTransition(() => {\n setOptimisticColumnState(newColumnState)\n })\n\n await refineListData({\n columns: transformColumnsToSearchParams(newColumnState),\n })\n },\n [refineListData, columnState, setOptimisticColumnState],\n )\n\n const moveColumn = useCallback(\n async (args: { fromIndex: number; toIndex: number }) => {\n const { fromIndex, toIndex } = args\n const newColumnState = [...(columnState || [])]\n const [columnToMove] = newColumnState.splice(fromIndex, 1)\n newColumnState.splice(toIndex, 0, columnToMove)\n\n startTransition(() => {\n setOptimisticColumnState(newColumnState)\n })\n\n await refineListData({\n columns: transformColumnsToSearchParams(newColumnState),\n })\n },\n [columnState, refineListData, setOptimisticColumnState],\n )\n\n const setActiveColumns = useCallback(\n async (columns: string[]) => {\n const newColumnState = currentQuery.columns\n\n columns.forEach((colName) => {\n const colIndex = newColumnState.findIndex((c) => colName === c)\n\n // ensure the name does not begin with a `-` which denotes an inactive column\n if (colIndex !== undefined && newColumnState[colIndex][0] === '-') {\n newColumnState[colIndex] = colName.slice(1)\n }\n })\n\n await refineListData({ columns: newColumnState })\n },\n [currentQuery, refineListData],\n )\n\n const resetColumnsState = React.useCallback(async () => {\n await setActiveColumns(defaultColumns)\n }, [defaultColumns, setActiveColumns])\n\n return (\n <TableColumnContext\n value={{\n columns: columnState,\n LinkedCellOverride,\n moveColumn,\n resetColumnsState,\n setActiveColumns,\n toggleColumn,\n ...contextRef.current,\n }}\n >\n {children}\n </TableColumnContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { Column, ListPreferences } from 'payload';
2
- import type { SortColumnProps } from '../SortColumn/index.js';
2
+ import type { SortColumnProps } from '../../elements/SortColumn/index.js';
3
3
  export interface ITableColumns {
4
4
  columns: Column[];
5
5
  LinkedCellOverride?: React.ReactNode;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/TableColumns/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEzE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3E,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChD;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAA;IAC9B;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACrB;;OAEG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7C;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAA;IACpD;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACnD;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CACnD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/TableColumns/types.ts"],"sourcesContent":["import type { Column, ListPreferences } from 'payload'\n\nimport type { SortColumnProps } from '../../elements/SortColumn/index.js'\n\nexport interface ITableColumns {\n columns: Column[]\n LinkedCellOverride?: React.ReactNode\n moveColumn: (args: { fromIndex: number; toIndex: number }) => Promise<void>\n resetColumnsState: () => Promise<void>\n setActiveColumns: (columns: string[]) => Promise<void>\n toggleColumn: (column: string) => Promise<void>\n}\n\nexport type TableColumnsProviderProps = {\n readonly children: React.ReactNode\n readonly collectionSlug: string | string[]\n readonly columnState: Column[]\n /**\n * @deprecated\n */\n readonly docs?: any[]\n /**\n * @deprecated\n */\n readonly enableRowSelections?: boolean\n readonly LinkedCellOverride?: React.ReactNode\n /**\n * @deprecated\n */\n readonly listPreferences?: ListPreferences\n /**\n * @deprecated\n */\n readonly preferenceKey?: string\n /**\n * @deprecated\n */\n readonly renderRowTypes?: boolean\n /**\n * @deprecated\n */\n readonly setTable?: (Table: React.ReactNode) => void\n /**\n * @deprecated\n */\n readonly sortColumnProps?: Partial<SortColumnProps>\n /**\n * @deprecated\n */\n readonly tableAppearance?: 'condensed' | 'default'\n}\n"],"mappings":"AAaA","ignoreList":[]}