@payloadcms/ui 3.18.0-canary.df484f6 → 3.18.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 (109) hide show
  1. package/dist/elements/AddNewRelation/useRelatedCollections.d.ts.map +1 -1
  2. package/dist/elements/AddNewRelation/useRelatedCollections.js +6 -4
  3. package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -1
  4. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  5. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  6. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  7. package/dist/elements/BulkUpload/index.js +4 -2
  8. package/dist/elements/BulkUpload/index.js.map +1 -1
  9. package/dist/elements/DeleteDocument/index.js.map +1 -1
  10. package/dist/elements/DocumentControls/index.js.map +1 -1
  11. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  12. package/dist/elements/DocumentDrawer/DrawerContent.js +4 -4
  13. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  14. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  15. package/dist/elements/ListDrawer/DrawerContent.js +6 -6
  16. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  17. package/dist/elements/Localizer/index.d.ts.map +1 -1
  18. package/dist/elements/Localizer/index.js +21 -21
  19. package/dist/elements/Localizer/index.js.map +1 -1
  20. package/dist/elements/PublishButton/index.js +79 -100
  21. package/dist/elements/PublishButton/index.js.map +1 -1
  22. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +1 -1
  23. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  24. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  25. package/dist/elements/RelationshipTable/index.js.map +1 -1
  26. package/dist/elements/SortColumn/index.scss +0 -1
  27. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +2 -1
  28. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  29. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  30. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -1
  31. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  32. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  33. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  34. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -0
  35. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  36. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  37. package/dist/elements/Table/DefaultCell/index.js +33 -40
  38. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  39. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  40. package/dist/elements/TableColumns/RenderDefaultCell/index.js +1 -1
  41. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
  42. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  43. package/dist/elements/TableColumns/buildColumnState.js +30 -11
  44. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  45. package/dist/elements/TableColumns/index.js.map +1 -1
  46. package/dist/elements/Upload/index.d.ts.map +1 -1
  47. package/dist/elements/Upload/index.js +72 -33
  48. package/dist/elements/Upload/index.js.map +1 -1
  49. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  50. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +18 -11
  51. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  52. package/dist/elements/WhereBuilder/validateWhereQuery.js +2 -2
  53. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  54. package/dist/exports/client/{CodeEditor-W7RSWONH.js → CodeEditor-BMYVMDNZ.js} +2 -2
  55. package/dist/exports/client/chunk-CQQHQHCB.js +26 -0
  56. package/dist/exports/client/{chunk-3MXUY6XL.js.map → chunk-CQQHQHCB.js.map} +3 -3
  57. package/dist/exports/client/index.js +22 -22
  58. package/dist/exports/client/index.js.map +4 -4
  59. package/dist/exports/shared/index.js +2 -2
  60. package/dist/exports/shared/index.js.map +3 -3
  61. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  62. package/dist/fields/Blocks/BlockRow.js +32 -47
  63. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  64. package/dist/fields/Blocks/index.js +3 -2
  65. package/dist/fields/Blocks/index.js.map +1 -1
  66. package/dist/fields/Join/index.d.ts.map +1 -1
  67. package/dist/fields/Join/index.js +5 -5
  68. package/dist/fields/Join/index.js.map +1 -1
  69. package/dist/fields/Relationship/index.d.ts.map +1 -1
  70. package/dist/fields/Relationship/index.js +14 -8
  71. package/dist/fields/Relationship/index.js.map +1 -1
  72. package/dist/forms/Form/reduceToSerializableFields.d.ts +4 -0
  73. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  74. package/dist/forms/Form/reduceToSerializableFields.js +15 -12
  75. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  76. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  77. package/dist/forms/fieldSchemasToFormState/renderField.js +26 -1
  78. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  79. package/dist/providers/Config/index.d.ts +22 -13
  80. package/dist/providers/Config/index.d.ts.map +1 -1
  81. package/dist/providers/Config/index.js +45 -61
  82. package/dist/providers/Config/index.js.map +1 -1
  83. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  84. package/dist/providers/DocumentInfo/index.js.map +1 -1
  85. package/dist/providers/Locale/index.d.ts.map +1 -1
  86. package/dist/providers/Locale/index.js +62 -54
  87. package/dist/providers/Locale/index.js.map +1 -1
  88. package/dist/scss/toasts.scss +2 -0
  89. package/dist/styles.css +1 -1
  90. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  91. package/dist/utilities/handleFormStateLocking.js +3 -3
  92. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  93. package/dist/utilities/isURLAllowed.d.ts +3 -0
  94. package/dist/utilities/isURLAllowed.d.ts.map +1 -0
  95. package/dist/utilities/isURLAllowed.js +31 -0
  96. package/dist/utilities/isURLAllowed.js.map +1 -0
  97. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  98. package/dist/views/Edit/Auth/APIKey.js +4 -3
  99. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  100. package/dist/views/Edit/index.d.ts.map +1 -1
  101. package/dist/views/Edit/index.js.map +1 -1
  102. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  103. package/dist/views/List/ListHeader/index.js +5 -4
  104. package/dist/views/List/ListHeader/index.js.map +1 -1
  105. package/dist/views/List/index.d.ts.map +1 -1
  106. package/dist/views/List/index.js.map +1 -1
  107. package/package.json +5 -5
  108. package/dist/exports/client/chunk-3MXUY6XL.js +0 -26
  109. /package/dist/exports/client/{CodeEditor-W7RSWONH.js.map → CodeEditor-BMYVMDNZ.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","React","Fragment","useCallback","useState","Button","Pill","useIgnoredEffect","ChevronIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","useTranslation","hoistQueryParamsToAnd","AnimateHeight","ColumnSelector","useDocumentDrawer","RelationshipProvider","TableColumnsProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","relationTo","Table","setTable","getEntityConfig","permissions","docs","Array","isArray","reduce","acc","doc","id","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","collectionConfig","collectionSlug","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","renderTable","newQuery","limit","String","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","undefined","newData","state","newColumnState","NewTable","columns","enableRowSelections","renderRowTypes","tableAppearance","DocumentDrawer","DocumentDrawerToggler","closeDrawer","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedDoc","newDocs","onDrawerCreate","onDrawerDelete","filter","preferenceKey","canCreate","collections","create","_jsxs","className","_jsx","icon","direction","onClick","pillStyle","length","label","labels","plural","singular","modifySearchParams","onQueryChange","LinkedCellOverride","sortColumnProps","appearance","height","slug","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n JoinFieldClient,\n ListQuery,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\nimport type { Column } from '../Table/index.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport './index.scss'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly relationTo: string\n}\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(\n () => getEntityConfig({ collectionSlug: relationTo }) as ClientCollectionConfig,\n )\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n limit: String(field.defaultLimit || collectionConfig.admin.pagination.defaultLimit),\n sort: field.defaultSort || collectionConfig.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to ListPreferences['columns']\n const defaultColumns = field.admin.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: defaultColumns,\n docs,\n enableRowSelections: false,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n field.admin.defaultColumns,\n collectionConfig.admin.pagination.defaultLimit,\n collectionConfig.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n ],\n )\n\n useIgnoredEffect(\n () => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n },\n [query, disableTable],\n [Table, renderTable],\n )\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, openDrawer }] = useDocumentDrawer({\n collectionSlug: relationTo,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n void renderTable(newDocs)\n },\n [data.docs, renderTable],\n )\n\n const preferenceKey = `${relationTo}-list`\n\n const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {BeforeInput}\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n data={data}\n defaultLimit={\n field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit\n }\n modifySearchParams={false}\n onQueryChange={setQuery}\n >\n <TableColumnsProvider\n collectionSlug={relationTo}\n columnState={columnState}\n docs={data.docs}\n LinkedCellOverride={\n <DrawerLink onDrawerDelete={onDrawerDelete} onDrawerSave={onDrawerSave} />\n }\n preferenceKey={preferenceKey}\n renderRowTypes\n setTable={setTable}\n sortColumnProps={{\n appearance: 'condensed',\n }}\n tableAppearance=\"condensed\"\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","Fragment","useCallback","useState","Button","Pill","useIgnoredEffect","ChevronIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","useTranslation","hoistQueryParamsToAnd","AnimateHeight","ColumnSelector","useDocumentDrawer","RelationshipProvider","TableColumnsProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","relationTo","Table","setTable","getEntityConfig","permissions","docs","Array","isArray","reduce","acc","doc","id","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","collectionConfig","collectionSlug","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","renderTable","newQuery","limit","String","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","undefined","newData","state","newColumnState","NewTable","columns","enableRowSelections","renderRowTypes","tableAppearance","DocumentDrawer","DocumentDrawerToggler","closeDrawer","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedDoc","newDocs","onDrawerCreate","onDrawerDelete","filter","preferenceKey","canCreate","collections","create","_jsxs","className","_jsx","icon","direction","onClick","pillStyle","length","label","labels","plural","singular","modifySearchParams","onQueryChange","LinkedCellOverride","sortColumnProps","appearance","height","slug","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n JoinFieldClient,\n ListQuery,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\nimport type { Column } from '../Table/index.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport './index.scss'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly relationTo: string\n}\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n limit: String(field.defaultLimit || collectionConfig.admin.pagination.defaultLimit),\n sort: field.defaultSort || collectionConfig.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to ListPreferences['columns']\n const defaultColumns = field.admin.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: defaultColumns,\n docs,\n enableRowSelections: false,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n field.admin.defaultColumns,\n collectionConfig.admin.pagination.defaultLimit,\n collectionConfig.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n ],\n )\n\n useIgnoredEffect(\n () => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n },\n [query, disableTable],\n [Table, renderTable],\n )\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, openDrawer }] = useDocumentDrawer({\n collectionSlug: relationTo,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n void renderTable(newDocs)\n },\n [data.docs, renderTable],\n )\n\n const preferenceKey = `${relationTo}-list`\n\n const canCreate = allowCreate !== false && permissions?.collections?.[relationTo]?.create\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {BeforeInput}\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n data={data}\n defaultLimit={\n field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit\n }\n modifySearchParams={false}\n onQueryChange={setQuery}\n >\n <TableColumnsProvider\n collectionSlug={relationTo}\n columnState={columnState}\n docs={data.docs}\n LinkedCellOverride={\n <DrawerLink onDrawerDelete={onDrawerDelete} onDrawerSave={onDrawerSave} />\n }\n preferenceKey={preferenceKey}\n renderRowTypes\n setTable={setTable}\n sortColumnProps={{\n appearance: 'condensed',\n }}\n tableAppearance=\"condensed\"\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -37,7 +37,6 @@
37
37
  justify-content: center;
38
38
  background: transparent;
39
39
  border: none;
40
- outline: none;
41
40
  cursor: pointer;
42
41
 
43
42
  &.sort-column--active {
@@ -1,7 +1,8 @@
1
- import type { CodeFieldClient, DefaultCellComponentProps } from 'payload';
1
+ import type { ClientCollectionConfig, CodeFieldClient, DefaultCellComponentProps } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  export interface CodeCellProps extends DefaultCellComponentProps<CodeFieldClient> {
5
+ readonly collectionConfig: ClientCollectionConfig;
5
6
  readonly nowrap?: boolean;
6
7
  }
7
8
  export declare const CodeCell: React.FC<CodeCellProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Code/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEzE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,MAAM,WAAW,aAAc,SAAQ,yBAAyB,CAAC,eAAe,CAAC;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAU5C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Code/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEjG,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,MAAM,WAAW,aAAc,SAAQ,yBAAyB,CAAC,eAAe,CAAC;IAC/E,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAU5C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","CodeCell","cellData","nowrap","textToShow","length","substring","noWrapStyle","whiteSpace","_jsx","className","style"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Code/index.tsx"],"sourcesContent":["'use client'\nimport type { CodeFieldClient, DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport './index.scss'\n\nexport interface CodeCellProps extends DefaultCellComponentProps<CodeFieldClient> {\n readonly nowrap?: boolean\n}\n\nexport const CodeCell: React.FC<CodeCellProps> = ({ cellData, nowrap }) => {\n const textToShow = cellData?.length > 100 ? `${cellData.substring(0, 100)}\\u2026` : cellData\n\n const noWrapStyle: React.CSSProperties = nowrap ? { whiteSpace: 'nowrap' } : {}\n\n return (\n <code className=\"code-cell\" style={noWrapStyle}>\n <span>{textToShow}</span>\n </code>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAMP,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAE;EACpE,MAAMC,UAAA,GAAaF,QAAA,EAAUG,MAAA,GAAS,MAAM,GAAGH,QAAA,CAASI,SAAS,CAAC,GAAG,YAAY,GAAGJ,QAAA;EAEpF,MAAMK,WAAA,GAAmCJ,MAAA,GAAS;IAAEK,UAAA,EAAY;EAAS,IAAI,CAAC;EAE9E,oBACEC,IAAA,CAAC;IAAKC,SAAA,EAAU;IAAYC,KAAA,EAAOJ,WAAA;cACjC,aAAAE,IAAA,CAAC;gBAAML;;;AAGb","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","CodeCell","cellData","nowrap","textToShow","length","substring","noWrapStyle","whiteSpace","_jsx","className","style"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Code/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, CodeFieldClient, DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport './index.scss'\n\nexport interface CodeCellProps extends DefaultCellComponentProps<CodeFieldClient> {\n readonly collectionConfig: ClientCollectionConfig\n readonly nowrap?: boolean\n}\n\nexport const CodeCell: React.FC<CodeCellProps> = ({ cellData, nowrap }) => {\n const textToShow = cellData?.length > 100 ? `${cellData.substring(0, 100)}\\u2026` : cellData\n\n const noWrapStyle: React.CSSProperties = nowrap ? { whiteSpace: 'nowrap' } : {}\n\n return (\n <code className=\"code-cell\" style={noWrapStyle}>\n <span>{textToShow}</span>\n </code>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAOP,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAE;EACpE,MAAMC,UAAA,GAAaF,QAAA,EAAUG,MAAA,GAAS,MAAM,GAAGH,QAAA,CAASI,SAAS,CAAC,GAAG,YAAY,GAAGJ,QAAA;EAEpF,MAAMK,WAAA,GAAmCJ,MAAA,GAAS;IAAEK,UAAA,EAAY;EAAS,IAAI,CAAC;EAE9E,oBACEC,IAAA,CAAC;IAAKC,SAAA,EAAU;IAAYC,KAAA,EAAOJ,WAAA;cACjC,aAAAE,IAAA,CAAC;gBAAML;;;AAGb","ignoreList":[]}
@@ -1,7 +1,8 @@
1
- import type { DefaultCellComponentProps, TextFieldClient, UploadFieldClient } from 'payload';
1
+ import type { ClientCollectionConfig, DefaultCellComponentProps, TextFieldClient, UploadFieldClient } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  export interface FileCellProps extends DefaultCellComponentProps<TextFieldClient | UploadFieldClient> {
5
+ readonly collectionConfig: ClientCollectionConfig;
5
6
  }
6
7
  export declare const FileCell: React.FC<FileCellProps>;
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAE5F,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAIrB,MAAM,WAAW,aACf,SAAQ,yBAAyB,CAAC,eAAe,GAAG,iBAAiB,CAAC;CAAG;AAE3E,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAqB5C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAIrB,MAAM,WAAW,aACf,SAAQ,yBAAyB,CAAC,eAAe,GAAG,iBAAiB,CAAC;IACtE,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;CAClD;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAqB5C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Thumbnail","baseClass","FileCell","cellData","filename","collectionConfig","rowData","_jsxs","className","_jsx","collectionSlug","slug","doc","fileSrc","thumbnailURL","url","size","uploadConfig","upload","String"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps, TextFieldClient, UploadFieldClient } from 'payload'\n\nimport React from 'react'\n\nimport { Thumbnail } from '../../../../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file'\n\nexport interface FileCellProps\n extends DefaultCellComponentProps<TextFieldClient | UploadFieldClient> {}\n\nexport const FileCell: React.FC<FileCellProps> = ({\n cellData: filename,\n collectionConfig,\n rowData,\n}) => {\n return (\n <div className={baseClass}>\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionConfig?.slug}\n doc={{\n ...rowData,\n filename,\n }}\n fileSrc={rowData?.thumbnailURL || rowData?.url}\n size=\"small\"\n uploadConfig={collectionConfig?.upload}\n />\n <span className={`${baseClass}__filename`}>{String(filename)}</span>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAKlB,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,QAAA,EAAUC,QAAQ;EAClBC,gBAAgB;EAChBC;AAAO,CACR;EACC,oBACEC,KAAA,CAAC;IAAIC,SAAA,EAAWP,SAAA;4BACdQ,IAAA,CAACT,SAAA;MACCQ,SAAA,EAAW,GAAGP,SAAA,aAAsB;MACpCS,cAAA,EAAgBL,gBAAA,EAAkBM,IAAA;MAClCC,GAAA,EAAK;QACH,GAAGN,OAAO;QACVF;MACF;MACAS,OAAA,EAASP,OAAA,EAASQ,YAAA,IAAgBR,OAAA,EAASS,GAAA;MAC3CC,IAAA,EAAK;MACLC,YAAA,EAAcZ,gBAAA,EAAkBa;qBAElCT,IAAA,CAAC;MAAKD,SAAA,EAAW,GAAGP,SAAA,YAAqB;gBAAGkB,MAAA,CAAOf,QAAA;;;AAGzD","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","Thumbnail","baseClass","FileCell","cellData","filename","collectionConfig","rowData","_jsxs","className","_jsx","collectionSlug","slug","doc","fileSrc","thumbnailURL","url","size","uploadConfig","upload","String"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n DefaultCellComponentProps,\n TextFieldClient,\n UploadFieldClient,\n} from 'payload'\n\nimport React from 'react'\n\nimport { Thumbnail } from '../../../../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file'\n\nexport interface FileCellProps\n extends DefaultCellComponentProps<TextFieldClient | UploadFieldClient> {\n readonly collectionConfig: ClientCollectionConfig\n}\n\nexport const FileCell: React.FC<FileCellProps> = ({\n cellData: filename,\n collectionConfig,\n rowData,\n}) => {\n return (\n <div className={baseClass}>\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionConfig?.slug}\n doc={{\n ...rowData,\n filename,\n }}\n fileSrc={rowData?.thumbnailURL || rowData?.url}\n size=\"small\"\n uploadConfig={collectionConfig?.upload}\n />\n <span className={`${baseClass}__filename`}>{String(filename)}</span>\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAQA,OAAOA,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAOlB,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,QAAA,EAAUC,QAAQ;EAClBC,gBAAgB;EAChBC;AAAO,CACR;EACC,oBACEC,KAAA,CAAC;IAAIC,SAAA,EAAWP,SAAA;4BACdQ,IAAA,CAACT,SAAA;MACCQ,SAAA,EAAW,GAAGP,SAAA,aAAsB;MACpCS,cAAA,EAAgBL,gBAAA,EAAkBM,IAAA;MAClCC,GAAA,EAAK;QACH,GAAGN,OAAO;QACVF;MACF;MACAS,OAAA,EAASP,OAAA,EAASQ,YAAA,IAAgBR,OAAA,EAASS,GAAA;MAC3CC,IAAA,EAAK;MACLC,YAAA,EAAcZ,gBAAA,EAAkBa;qBAElCT,IAAA,CAAC;MAAKD,SAAA,EAAW,GAAGP,SAAA,YAAqB;gBAAGkB,MAAA,CAAOf,QAAA;;;AAGzD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,yBAAyB,EACzB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAuC,MAAM,OAAO,CAAA;AAS3D,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,CAC3D,eAAe,GAAG,uBAAuB,GAAG,iBAAiB,CAC9D,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAoH5D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAuC,MAAM,OAAO,CAAA;AAS3D,OAAO,cAAc,CAAA;AAMrB,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,CAC3D,eAAe,GAAG,uBAAuB,GAAG,iBAAiB,CAC9D,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAqH5D,CAAA"}
@@ -151,6 +151,7 @@ export const RelationshipCell = t0 => {
151
151
  fileField = _jsx(FileCell, {
152
152
  cellData: label_0,
153
153
  collectionConfig: relatedCollection,
154
+ collectionSlug: relatedCollection.slug,
154
155
  customCellProps: customCellContext,
155
156
  field,
156
157
  rowData: document
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useEffect","useMemo","useState","useIntersect","useConfig","useTranslation","canUseDOM","formatDocTitle","useListRelationships","FileCell","baseClass","totalToShow","RelationshipCell","t0","$","cellData","cellDataFromProps","customCellProps","customCellContext","field","t1","label","relationTo","collection","t2","docs","config","getEntityConfig","collections","routes","intersectionRef","entry","t3","Symbol","for","values","setValues","documents","getRelationships","hasRequested","setHasRequested","i18n","t","isAboveViewport","boundingClientRect","top","window","innerHeight","t4","formattedValues","arrayCellData","Array","isArray","slice","length","forEach","cell","push","value","t5","api","t6","t7","t8","admin","dateFormat","t9","t10","i","relationTo_0","document","relatedCollection","collectionSlug","label_0","collectionConfig","data","fallback","fileField","type","relatedCollectionPreview","upload","displayPreview","previewAllowed","rowData","_jsxs","Fragment","children","className","ref","map","count","items"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n DefaultCellComponentProps,\n JoinFieldClient,\n RelationshipFieldClient,\n UploadFieldClient,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport { useIntersect } from '../../../../../hooks/useIntersect.js'\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { canUseDOM } from '../../../../../utilities/canUseDOM.js'\nimport { formatDocTitle } from '../../../../../utilities/formatDocTitle.js'\nimport { useListRelationships } from '../../../RelationshipProvider/index.js'\nimport { FileCell } from '../File/index.js'\nimport './index.scss'\n\ntype Value = { relationTo: string; value: number | string }\nconst baseClass = 'relationship-cell'\nconst totalToShow = 3\n\nexport type RelationshipCellProps = DefaultCellComponentProps<\n JoinFieldClient | RelationshipFieldClient | UploadFieldClient\n>\n\nexport const RelationshipCell: React.FC<RelationshipCellProps> = ({\n cellData: cellDataFromProps,\n customCellProps: customCellContext,\n field,\n field: { label },\n}) => {\n // conditionally extract relationTo both both relationship and join fields\n const relationTo =\n ('relationTo' in field && field.relationTo) || ('collection' in field && field.collection)\n\n // conditionally extract docs from join fields\n const cellData = useMemo(() => {\n return 'collection' in field ? cellDataFromProps?.docs : cellDataFromProps\n }, [cellDataFromProps, field])\n\n const { config, getEntityConfig } = useConfig()\n const { collections, routes } = config\n const [intersectionRef, entry] = useIntersect()\n const [values, setValues] = useState<Value[]>([])\n const { documents, getRelationships } = useListRelationships()\n const [hasRequested, setHasRequested] = useState(false)\n const { i18n, t } = useTranslation()\n\n const isAboveViewport = canUseDOM ? entry?.boundingClientRect?.top < window.innerHeight : false\n\n useEffect(() => {\n if ((cellData || typeof cellData === 'number') && isAboveViewport && !hasRequested) {\n const formattedValues: Value[] = []\n const arrayCellData = Array.isArray(cellData) ? cellData : [cellData]\n arrayCellData\n .slice(0, arrayCellData.length < totalToShow ? arrayCellData.length : totalToShow)\n .forEach((cell) => {\n if (typeof cell === 'object' && 'relationTo' in cell && 'value' in cell) {\n formattedValues.push(cell)\n }\n if (\n (typeof cell === 'number' || typeof cell === 'string') &&\n typeof relationTo === 'string'\n ) {\n formattedValues.push({\n relationTo,\n value: cell,\n })\n }\n })\n getRelationships(formattedValues)\n setHasRequested(true)\n setValues(formattedValues)\n }\n }, [\n cellData,\n relationTo,\n collections,\n isAboveViewport,\n routes.api,\n hasRequested,\n getRelationships,\n ])\n\n useEffect(() => {\n if (hasRequested) {\n setHasRequested(false)\n }\n }, [cellData])\n\n return (\n <div className={baseClass} ref={intersectionRef}>\n {values.map(({ relationTo, value }, i) => {\n const document = documents[relationTo][value]\n const relatedCollection = getEntityConfig({\n collectionSlug: relationTo,\n }) as ClientCollectionConfig\n\n const label = formatDocTitle({\n collectionConfig: relatedCollection,\n data: document || null,\n dateFormat: config.admin.dateFormat,\n fallback: `${t('general:untitled')} - ID: ${value}`,\n i18n,\n })\n\n let fileField = null\n\n if (field.type === 'upload') {\n const relatedCollectionPreview = !!relatedCollection.upload.displayPreview\n const previewAllowed =\n field.displayPreview || (relatedCollectionPreview && field.displayPreview !== false)\n\n if (previewAllowed && document) {\n fileField = (\n <FileCell\n cellData={label}\n collectionConfig={relatedCollection}\n customCellProps={customCellContext}\n field={field}\n rowData={document}\n />\n )\n }\n }\n\n return (\n <React.Fragment key={i}>\n {document === false && `${t('general:untitled')} - ID: ${value}`}\n {document === null && `${t('general:loading')}...`}\n {document ? fileField || label : null}\n {values.length > i + 1 && ', '}\n </React.Fragment>\n )\n })}\n {Array.isArray(cellData) &&\n cellData.length > totalToShow &&\n t('fields:itemsAndMore', { count: cellData.length - totalToShow, items: '' })}\n {values.length === 0 && t('general:noLabel', { label: getTranslation(label || '', i18n) })}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useEffect","useMemo","useState","useIntersect","useConfig","useTranslation","canUseDOM","formatDocTitle","useListRelationships","FileCell","baseClass","totalToShow","RelationshipCell","t0","$","cellData","cellDataFromProps","customCellProps","customCellContext","field","t1","label","relationTo","collection","t2","docs","config","getEntityConfig","collections","routes","intersectionRef","entry","t3","Symbol","for","values","setValues","documents","getRelationships","hasRequested","setHasRequested","i18n","t","isAboveViewport","boundingClientRect","top","window","innerHeight","t4","formattedValues","arrayCellData","Array","isArray","slice","length","forEach","cell","push","value","t5","api","t6","t7","t8","admin","dateFormat","t9","t10","i","relationTo_0","document","relatedCollection","collectionSlug","label_0","collectionConfig","data","fallback","fileField","type","relatedCollectionPreview","upload","displayPreview","previewAllowed","slug","rowData","_jsxs","Fragment","children","className","ref","map","count","items"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type {\n DefaultCellComponentProps,\n JoinFieldClient,\n RelationshipFieldClient,\n UploadFieldClient,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport { useIntersect } from '../../../../../hooks/useIntersect.js'\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { canUseDOM } from '../../../../../utilities/canUseDOM.js'\nimport { formatDocTitle } from '../../../../../utilities/formatDocTitle.js'\nimport { useListRelationships } from '../../../RelationshipProvider/index.js'\nimport { FileCell } from '../File/index.js'\nimport './index.scss'\n\ntype Value = { relationTo: string; value: number | string }\nconst baseClass = 'relationship-cell'\nconst totalToShow = 3\n\nexport type RelationshipCellProps = DefaultCellComponentProps<\n JoinFieldClient | RelationshipFieldClient | UploadFieldClient\n>\n\nexport const RelationshipCell: React.FC<RelationshipCellProps> = ({\n cellData: cellDataFromProps,\n customCellProps: customCellContext,\n field,\n field: { label },\n}) => {\n // conditionally extract relationTo both both relationship and join fields\n const relationTo =\n ('relationTo' in field && field.relationTo) || ('collection' in field && field.collection)\n\n // conditionally extract docs from join fields\n const cellData = useMemo(() => {\n return 'collection' in field ? cellDataFromProps?.docs : cellDataFromProps\n }, [cellDataFromProps, field])\n\n const { config, getEntityConfig } = useConfig()\n const { collections, routes } = config\n const [intersectionRef, entry] = useIntersect()\n const [values, setValues] = useState<Value[]>([])\n const { documents, getRelationships } = useListRelationships()\n const [hasRequested, setHasRequested] = useState(false)\n const { i18n, t } = useTranslation()\n\n const isAboveViewport = canUseDOM ? entry?.boundingClientRect?.top < window.innerHeight : false\n\n useEffect(() => {\n if ((cellData || typeof cellData === 'number') && isAboveViewport && !hasRequested) {\n const formattedValues: Value[] = []\n const arrayCellData = Array.isArray(cellData) ? cellData : [cellData]\n arrayCellData\n .slice(0, arrayCellData.length < totalToShow ? arrayCellData.length : totalToShow)\n .forEach((cell) => {\n if (typeof cell === 'object' && 'relationTo' in cell && 'value' in cell) {\n formattedValues.push(cell)\n }\n if (\n (typeof cell === 'number' || typeof cell === 'string') &&\n typeof relationTo === 'string'\n ) {\n formattedValues.push({\n relationTo,\n value: cell,\n })\n }\n })\n getRelationships(formattedValues)\n setHasRequested(true)\n setValues(formattedValues)\n }\n }, [\n cellData,\n relationTo,\n collections,\n isAboveViewport,\n routes.api,\n hasRequested,\n getRelationships,\n ])\n\n useEffect(() => {\n if (hasRequested) {\n setHasRequested(false)\n }\n }, [cellData])\n\n return (\n <div className={baseClass} ref={intersectionRef}>\n {values.map(({ relationTo, value }, i) => {\n const document = documents[relationTo][value]\n const relatedCollection = getEntityConfig({\n collectionSlug: relationTo,\n })\n\n const label = formatDocTitle({\n collectionConfig: relatedCollection,\n data: document || null,\n dateFormat: config.admin.dateFormat,\n fallback: `${t('general:untitled')} - ID: ${value}`,\n i18n,\n })\n\n let fileField = null\n\n if (field.type === 'upload') {\n const relatedCollectionPreview = !!relatedCollection.upload.displayPreview\n const previewAllowed =\n field.displayPreview || (relatedCollectionPreview && field.displayPreview !== false)\n\n if (previewAllowed && document) {\n fileField = (\n <FileCell\n cellData={label}\n collectionConfig={relatedCollection}\n collectionSlug={relatedCollection.slug}\n customCellProps={customCellContext}\n field={field}\n rowData={document}\n />\n )\n }\n }\n\n return (\n <React.Fragment key={i}>\n {document === false && `${t('general:untitled')} - ID: ${value}`}\n {document === null && `${t('general:loading')}...`}\n {document ? fileField || label : null}\n {values.length > i + 1 && ', '}\n </React.Fragment>\n )\n })}\n {Array.isArray(cellData) &&\n cellData.length > totalToShow &&\n t('fields:itemsAndMore', { count: cellData.length - totalToShow, items: '' })}\n {values.length === 0 && t('general:noLabel', { label: getTranslation(label || '', i18n) })}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAqB,MAAM,SAAS,CAAA;AAK3E,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA2H3D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,yBAAyB,EAAqB,MAAM,SAAS,CAAA;AAKnG,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA+H3D,CAAA"}
@@ -13,11 +13,11 @@ import { CodeCell } from './fields/Code/index.js';
13
13
  import { cellComponents } from './fields/index.js';
14
14
  const Link = LinkImport.default || LinkImport;
15
15
  export const DefaultCell = props => {
16
- const $ = _c(19);
16
+ const $ = _c(14);
17
17
  const {
18
18
  cellData,
19
19
  className: classNameFromProps,
20
- collectionConfig,
20
+ collectionSlug,
21
21
  field,
22
22
  field: t0,
23
23
  link,
@@ -31,7 +31,8 @@ export const DefaultCell = props => {
31
31
  i18n
32
32
  } = useTranslation();
33
33
  const {
34
- config: t1
34
+ config: t1,
35
+ getEntityConfig
35
36
  } = useConfig();
36
37
  const {
37
38
  routes: t2
@@ -39,15 +40,18 @@ export const DefaultCell = props => {
39
40
  const {
40
41
  admin: adminRoute
41
42
  } = t2;
42
- const classNameFromConfigContext = admin && "className" in admin ? admin.className : undefined;
43
- const className = classNameFromProps || (field.admin && "className" in field.admin ? field.admin.className : null) || classNameFromConfigContext;
44
- const onClick = onClickFromProps;
45
- let WrapElement = "span";
46
43
  let t3;
47
44
  let t4;
48
- if ($[0] !== WrapElement || $[1] !== adminRoute || $[2] !== cellData || $[3] !== className || $[4] !== collectionConfig || $[5] !== field || $[6] !== i18n || $[7] !== link || $[8] !== onClick || $[9] !== props || $[10] !== rowData) {
45
+ if ($[0] !== admin || $[1] !== adminRoute || $[2] !== cellData || $[3] !== classNameFromProps || $[4] !== collectionSlug || $[5] !== field || $[6] !== getEntityConfig || $[7] !== i18n || $[8] !== link || $[9] !== onClickFromProps || $[10] !== props || $[11] !== rowData) {
49
46
  t4 = Symbol.for("react.early_return_sentinel");
50
47
  bb0: {
48
+ const collectionConfig = getEntityConfig({
49
+ collectionSlug
50
+ });
51
+ const classNameFromConfigContext = admin && "className" in admin ? admin.className : undefined;
52
+ const className = classNameFromProps || (field.admin && "className" in field.admin ? field.admin.className : null) || classNameFromConfigContext;
53
+ const onClick = onClickFromProps;
54
+ let WrapElement = "span";
51
55
  const wrapElementProps = {
52
56
  className
53
57
  };
@@ -62,24 +66,13 @@ export const DefaultCell = props => {
62
66
  if (typeof onClick === "function") {
63
67
  WrapElement = "button";
64
68
  wrapElementProps.type = "button";
65
- let t5;
66
- if ($[14] !== cellData || $[15] !== collectionConfig?.slug || $[16] !== onClick || $[17] !== rowData) {
67
- t5 = () => {
68
- onClick({
69
- cellData,
70
- collectionSlug: collectionConfig?.slug,
71
- rowData
72
- });
73
- };
74
- $[14] = cellData;
75
- $[15] = collectionConfig?.slug;
76
- $[16] = onClick;
77
- $[17] = rowData;
78
- $[18] = t5;
79
- } else {
80
- t5 = $[18];
81
- }
82
- wrapElementProps.onClick = t5;
69
+ wrapElementProps.onClick = () => {
70
+ onClick({
71
+ cellData,
72
+ collectionSlug: collectionConfig?.slug,
73
+ rowData
74
+ });
75
+ };
83
76
  }
84
77
  if (fieldIsID(field)) {
85
78
  t4 = _jsx(WrapElement, {
@@ -87,6 +80,7 @@ export const DefaultCell = props => {
87
80
  children: _jsx(CodeCell, {
88
81
  cellData: `ID: ${cellData}`,
89
82
  collectionConfig,
83
+ collectionSlug,
90
84
  field: {
91
85
  ...field,
92
86
  type: "code"
@@ -132,24 +126,23 @@ export const DefaultCell = props => {
132
126
  children: CellComponent
133
127
  });
134
128
  }
135
- $[0] = WrapElement;
129
+ $[0] = admin;
136
130
  $[1] = adminRoute;
137
131
  $[2] = cellData;
138
- $[3] = className;
139
- $[4] = collectionConfig;
132
+ $[3] = classNameFromProps;
133
+ $[4] = collectionSlug;
140
134
  $[5] = field;
141
- $[6] = i18n;
142
- $[7] = link;
143
- $[8] = onClick;
144
- $[9] = props;
145
- $[10] = rowData;
146
- $[11] = t3;
147
- $[12] = t4;
148
- $[13] = WrapElement;
135
+ $[6] = getEntityConfig;
136
+ $[7] = i18n;
137
+ $[8] = link;
138
+ $[9] = onClickFromProps;
139
+ $[10] = props;
140
+ $[11] = rowData;
141
+ $[12] = t3;
142
+ $[13] = t4;
149
143
  } else {
150
- t3 = $[11];
151
- t4 = $[12];
152
- WrapElement = $[13];
144
+ t3 = $[12];
145
+ t4 = $[13];
153
146
  }
154
147
  if (t4 !== Symbol.for("react.early_return_sentinel")) {
155
148
  return t4;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","LinkImport","fieldAffectsData","fieldIsID","React","useConfig","useTranslation","formatAdminURL","CodeCell","cellComponents","Link","default","DefaultCell","props","$","cellData","className","classNameFromProps","collectionConfig","field","t0","link","onClick","onClickFromProps","rowData","admin","i18n","config","t1","routes","t2","adminRoute","classNameFromConfigContext","undefined","WrapElement","t3","t4","Symbol","for","wrapElementProps","prefetch","href","slug","path","encodeURIComponent","id","type","t5","collectionSlug","_jsx","children","nowrap","DefaultCellComponent","CellComponent","upload","name","FileCellComponent","File","_jsxs","t","label","JSON","stringify"],"sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps, UploadFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport LinkImport from 'next/link.js'\nimport { fieldAffectsData, fieldIsID } from 'payload/shared'\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../../utilities/formatAdminURL.js'\nimport { CodeCell } from './fields/Code/index.js'\nimport { cellComponents } from './fields/index.js'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DefaultCell: React.FC<DefaultCellComponentProps> = (props) => {\n const {\n cellData,\n className: classNameFromProps,\n collectionConfig,\n field,\n field: { admin },\n link,\n onClick: onClickFromProps,\n rowData,\n } = props\n\n const { i18n } = useTranslation()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const classNameFromConfigContext = admin && 'className' in admin ? admin.className : undefined\n\n const className =\n classNameFromProps ||\n (field.admin && 'className' in field.admin ? field.admin.className : null) ||\n classNameFromConfigContext\n\n const onClick = onClickFromProps\n\n let WrapElement: React.ComponentType<any> | string = 'span'\n\n const wrapElementProps: {\n className?: string\n href?: string\n onClick?: () => void\n prefetch?: false\n type?: 'button'\n } = {\n className,\n }\n\n if (link) {\n wrapElementProps.prefetch = false\n WrapElement = Link\n wrapElementProps.href = collectionConfig?.slug\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/${encodeURIComponent(rowData.id)}`,\n })\n : ''\n }\n\n if (typeof onClick === 'function') {\n WrapElement = 'button'\n wrapElementProps.type = 'button'\n wrapElementProps.onClick = () => {\n onClick({\n cellData,\n collectionSlug: collectionConfig?.slug,\n rowData,\n })\n }\n }\n\n if (fieldIsID(field)) {\n return (\n <WrapElement {...wrapElementProps}>\n <CodeCell\n cellData={`ID: ${cellData}`}\n collectionConfig={collectionConfig}\n field={{\n ...field,\n type: 'code',\n }}\n nowrap\n rowData={rowData}\n />\n </WrapElement>\n )\n }\n\n const DefaultCellComponent: React.FC<DefaultCellComponentProps> =\n typeof cellData !== 'undefined' && cellComponents[field.type]\n\n let CellComponent: React.ReactNode = null\n\n if (DefaultCellComponent) {\n CellComponent = <DefaultCellComponent cellData={cellData} rowData={rowData} {...props} />\n } else if (!DefaultCellComponent) {\n // DefaultCellComponent does not exist for certain field types like `text`\n if (\n collectionConfig?.upload &&\n fieldAffectsData(field) &&\n field.name === 'filename' &&\n field.type === 'text'\n ) {\n const FileCellComponent = cellComponents.File\n\n CellComponent = (\n <FileCellComponent\n cellData={cellData}\n rowData={rowData}\n {...(props as DefaultCellComponentProps<UploadFieldClient>)}\n collectionConfig={collectionConfig}\n field={field}\n />\n )\n } else {\n return (\n <WrapElement {...wrapElementProps}>\n {(cellData === '' || typeof cellData === 'undefined' || cellData === null) &&\n i18n.t('general:noLabel', {\n label: getTranslation(('label' in field ? field.label : null) || 'data', i18n),\n })}\n {typeof cellData === 'string' && cellData}\n {typeof cellData === 'number' && cellData}\n {typeof cellData === 'object' && cellData !== null && JSON.stringify(cellData)}\n </WrapElement>\n )\n }\n }\n\n return <WrapElement {...wrapElementProps}>{CellComponent}</WrapElement>\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","LinkImport","fieldAffectsData","fieldIsID","React","useConfig","useTranslation","formatAdminURL","CodeCell","cellComponents","Link","default","DefaultCell","props","$","cellData","className","classNameFromProps","collectionSlug","field","t0","link","onClick","onClickFromProps","rowData","admin","i18n","config","t1","getEntityConfig","routes","t2","adminRoute","t3","t4","Symbol","for","collectionConfig","classNameFromConfigContext","undefined","WrapElement","wrapElementProps","prefetch","href","slug","path","encodeURIComponent","id","type","_jsx","children","nowrap","DefaultCellComponent","CellComponent","upload","name","FileCellComponent","File","_jsxs","t","label","JSON","stringify"],"sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, DefaultCellComponentProps, UploadFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport LinkImport from 'next/link.js'\nimport { fieldAffectsData, fieldIsID } from 'payload/shared'\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../../utilities/formatAdminURL.js'\nimport { CodeCell } from './fields/Code/index.js'\nimport { cellComponents } from './fields/index.js'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DefaultCell: React.FC<DefaultCellComponentProps> = (props) => {\n const {\n cellData,\n className: classNameFromProps,\n collectionSlug,\n field,\n field: { admin },\n link,\n onClick: onClickFromProps,\n rowData,\n } = props\n\n const { i18n } = useTranslation()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const classNameFromConfigContext = admin && 'className' in admin ? admin.className : undefined\n\n const className =\n classNameFromProps ||\n (field.admin && 'className' in field.admin ? field.admin.className : null) ||\n classNameFromConfigContext\n\n const onClick = onClickFromProps\n\n let WrapElement: React.ComponentType<any> | string = 'span'\n\n const wrapElementProps: {\n className?: string\n href?: string\n onClick?: () => void\n prefetch?: false\n type?: 'button'\n } = {\n className,\n }\n\n if (link) {\n wrapElementProps.prefetch = false\n WrapElement = Link\n wrapElementProps.href = collectionConfig?.slug\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/${encodeURIComponent(rowData.id)}`,\n })\n : ''\n }\n\n if (typeof onClick === 'function') {\n WrapElement = 'button'\n wrapElementProps.type = 'button'\n wrapElementProps.onClick = () => {\n onClick({\n cellData,\n collectionSlug: collectionConfig?.slug,\n rowData,\n })\n }\n }\n\n if (fieldIsID(field)) {\n return (\n <WrapElement {...wrapElementProps}>\n <CodeCell\n cellData={`ID: ${cellData}`}\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n field={{\n ...field,\n type: 'code',\n }}\n nowrap\n rowData={rowData}\n />\n </WrapElement>\n )\n }\n\n const DefaultCellComponent: React.FC<DefaultCellComponentProps> =\n typeof cellData !== 'undefined' && cellComponents[field.type]\n\n let CellComponent: React.ReactNode = null\n\n if (DefaultCellComponent) {\n CellComponent = <DefaultCellComponent cellData={cellData} rowData={rowData} {...props} />\n } else if (!DefaultCellComponent) {\n // DefaultCellComponent does not exist for certain field types like `text`\n if (\n collectionConfig?.upload &&\n fieldAffectsData(field) &&\n field.name === 'filename' &&\n field.type === 'text'\n ) {\n const FileCellComponent = cellComponents.File\n\n CellComponent = (\n <FileCellComponent\n cellData={cellData}\n rowData={rowData}\n {...(props as DefaultCellComponentProps<UploadFieldClient>)}\n collectionConfig={collectionConfig}\n field={field}\n />\n )\n } else {\n return (\n <WrapElement {...wrapElementProps}>\n {(cellData === '' || typeof cellData === 'undefined' || cellData === null) &&\n i18n.t('general:noLabel', {\n label: getTranslation(('label' in field ? field.label : null) || 'data', i18n),\n })}\n {typeof cellData === 'string' && cellData}\n {typeof cellData === 'number' && cellData}\n {typeof cellData === 'object' && cellData !== null && JSON.stringify(cellData)}\n </WrapElement>\n )\n }\n }\n\n return <WrapElement {...wrapElementProps}>{CellComponent}</WrapElement>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,UAAA,MAAgB;AACvB,SAASC,gBAAgB,EAAEC,SAAS,QAAQ;AAC5C,OAAOC,KAAA,MAAW,QAAO,CAAC;AAE1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,MAAMC,IAAA,GAAQT,UAAA,CAAWU,OAAO,IAAIV,UAAA;AAEpC,OAAO,MAAMW,WAAA,GAAmDC,KAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAC9D;IAAAgB,QAAA;IAAAC,SAAA,EAAAC,kBAAA;IAAAC,cAAA;IAAAC,KAAA;IAAAA,KAAA,EAAAC,EAAA;IAAAC,IAAA;IAAAC,OAAA,EAAAC,gBAAA;IAAAC;EAAA,IASIX,KAAA;EAJK;IAAAY;EAAA,IAAAL,EAAS;EAMlB;IAAAM;EAAA,IAAiBpB,cAAA;EAEjB;IAAAqB,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAKIxB,SAAA;EAJM;IAAAyB,MAAA,EAAAC;EAAA,IAAAH,EAEP;EADS;IAAAH,KAAA,EAAAO;EAAA,IAAAD,EAAqB;EAAA,IAAAE,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAApB,CAAA,QAAAW,KAAA,IAAAX,CAAA,QAAAkB,UAAA,IAAAlB,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAG,kBAAA,IAAAH,CAAA,QAAAI,cAAA,IAAAJ,CAAA,QAAAK,KAAA,IAAAL,CAAA,QAAAe,eAAA,IAAAf,CAAA,QAAAY,IAAA,IAAAZ,CAAA,QAAAO,IAAA,IAAAP,CAAA,QAAAS,gBAAA,IAAAT,CAAA,SAAAD,KAAA,IAAAC,CAAA,SAAAU,OAAA;IAqD7BU,EAAA,GAAAC,MAAA,CAAAC,GAAA,8B;;MAhDJ,MAAAC,gBAAA,GAAyBR,eAAA;QAAAX;MAAA,CAAiC;MAE1D,MAAAoB,0BAAA,GAAmCb,KAAA,IAAS,eAAeA,KAAA,GAAQA,KAAA,CAAAT,SAAA,GAAAuB,SAAkB;MAErF,MAAAvB,SAAA,GACEC,kBAAA,KACCE,KAAA,CAAAM,KAAA,IAAe,eAAeN,KAAA,CAAAM,KAAW,GAAGN,KAAA,CAAAM,KAAA,CAAAT,SAAA,OAA2B,KACxEsB,0BAAA;MAEF,MAAAhB,OAAA,GAAgBC,gBAAA;MAEhB,IAAAiB,WAAA,GAAqD;MAErD,MAAAC,gBAAA;QAAAzB;MAAA;MAQA,IAEIK,IAAA;QACFoB,gBAAA,CAAAC,QAAA;QACAF,WAAA,CAAAA,CAAA,CAAAA,IAAA;QACAC,gBAAA,CAAAE,IAAA,GAAwBN,gBAAA,EAAAO,IAAA,GACpBrC,cAAA;UAAAyB,UAAA;UAAAa,IAAA,EAEQ,gBAAgBR,gBAAA,EAAAO,IAAA,IAA0BE,kBAAA,CAAmBtB,OAAA,CAAAuB,EAAU;QAAG,CAClF,IACA;MAAA;MAAA,IAGF,OAAOzB,OAAA,KAAY;QACrBkB,WAAA,CAAAA,CAAA,CAAcA,QAAA;QACdC,gBAAA,CAAAO,IAAA,GAAwB;QACxBP,gBAAA,CAAAnB,OAAA;UACEA,OAAA;YAAAP,QAAA;YAAAG,cAAA,EAEkBmB,gBAAA,EAAAO,IAAA;YAAApB;UAAA,CAElB;QAAA;MAAA;MAAA,IAIArB,SAAA,CAAUgB,KAAA;QAEVe,EAAA,GAAAe,IAAA,CAACT,WAAA;UAAA,GAAgBC,gBAAgB;UAAAS,QAAA,EAC/BD,IAAA,CAAAzC,QAAA;YAAAO,QAAA,EACY,OAAOA,QAAA,EAAU;YAAAsB,gBAAA;YAAAnB,cAAA;YAAAC,KAAA;cAAA,GAItBA,KAAK;cAAA6B,IAAA,EACF;YAAA;YAAAG,MAAA;YAAA3B;UAAA,C;;;;MAShB,MAAA4B,oBAAA,GACE,OAAOrC,QAAA,KAAa,eAAAN,cAAA,CAA8BU,KAAA,CAAA6B,IAAA,CAAW;MAE/D,IAAAK,aAAA;MAAqC,IAEjCD,oBAAA;QACFC,aAAA,CAAAA,CAAA,CAAgBA,KAACD,oBAAA;UAAArC,QAAA;UAAAS,OAAA;UAAA,GAA+DX;QAAK,C;MAArF;QAAA,KACUuC,oBAAA;UAAA,IAGRf,gBAAA,EAAAiB,MAAA,IACApD,gBAAA,CAAiBiB,KAAA,KACjBA,KAAA,CAAAoC,IAAA,KAAe,cACfpC,KAAA,CAAA6B,IAAA,KAAe;YAEf,MAAAQ,iBAAA,GAAA/C,cAAA,CAAAgD,IAAA;YAEAJ,aAAA,CAAAA,CAAA,CACEA,KAACG,iBAAA;cAAAzC,QAAA;cAAAS,OAAA;cAAA,GAGMX,KAAK;cAAAwB,gBAAA;cAAAlB;YAAA,C;UAJd;YAWEe,EAAA,GAAAwB,KAAA,CAAClB,WAAA;cAAA,GAAgBC,gBAAgB;cAAAS,QAAA,GAC7B,CAAAnC,QAAA,KAAa,MAAM,OAAOA,QAAA,KAAa,eAAeA,QAAA,SAAgB,KACtEW,IAAA,CAAAiC,CAAA,CAAO;gBAAAC,KAAA,EACE5D,cAAA,CAAe,CAAC,WAAWmB,KAAA,GAAQA,KAAA,CAAAyC,KAAA,OAAiB,KAAM,QAAQlC,IAAA;cAAA,CAC3E,GACD,OAAOX,QAAA,KAAa,YAAYA,QAAA,EAChC,OAAOA,QAAA,KAAa,YAAYA,QAAA,EAChC,OAAOA,QAAA,KAAa,YAAYA,QAAA,SAAa,IAAQ8C,IAAA,CAAAC,SAAA,CAAe/C,QAAA;YAAA,C;;;;;MAMtEkB,EAAA,GAAAgB,IAAA,CAACT,WAAA;QAAA,GAAgBC,gBAAgB;QAAAS,QAAA,EAAGG;MAAA,C;;;;;;;;;;;;;;;;;;;;;;;SAApCpB,E;CACT","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/TableColumns/RenderDefaultCell/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,YAAY,QAAO,yBAAyB,GAAG,IACxB,CAAA;AAEpC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,WAAW,EAAE,yBAAyB,CAAA;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAwBA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/TableColumns/RenderDefaultCell/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,YAAY,QAAO,yBAAyB,GAAG,IACxB,CAAA;AAEpC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,WAAW,EAAE,yBAAyB,CAAA;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CA2BA,CAAA"}
@@ -5,8 +5,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import React from 'react';
6
6
  import { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js';
7
7
  import { DefaultCell } from '../../Table/DefaultCell/index.js';
8
- import { useTableColumns } from '../index.js';
9
8
  import './index.scss';
9
+ import { useTableColumns } from '../index.js';
10
10
  const baseClass = 'default-cell';
11
11
  const CellPropsContext = /*#__PURE__*/React.createContext(null);
12
12
  export const useCellProps = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useListDrawerContext","DefaultCell","useTableColumns","baseClass","CellPropsContext","createContext","useCellProps","useContext","RenderDefaultCell","t0","$","clientProps","columnIndex","isLinkedColumn","drawerSlug","onSelect","LinkedCellOverride","t1","propsToPass","className","link","t2","t3","collectionSlug","rowColl","rowData","docID","id","onClick","_jsx","Provider","value","children"],"sources":["../../../../src/elements/TableColumns/RenderDefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DefaultCell } from '../../Table/DefaultCell/index.js'\nimport { useTableColumns } from '../index.js'\nimport './index.scss'\n\nconst baseClass = 'default-cell'\n\nconst CellPropsContext = React.createContext<DefaultCellComponentProps | null>(null)\n\nexport const useCellProps = (): DefaultCellComponentProps | null =>\n React.useContext(CellPropsContext)\n\nexport const RenderDefaultCell: React.FC<{\n clientProps: DefaultCellComponentProps\n columnIndex: number\n enableRowSelections?: boolean\n isLinkedColumn?: boolean\n}> = ({ clientProps, columnIndex, isLinkedColumn }) => {\n const { drawerSlug, onSelect } = useListDrawerContext()\n const { LinkedCellOverride } = useTableColumns()\n\n const propsToPass = { ...clientProps, columnIndex }\n\n if (isLinkedColumn && drawerSlug) {\n propsToPass.className = `${baseClass}__first-cell`\n propsToPass.link = false\n propsToPass.onClick = ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n }\n }\n\n return (\n <CellPropsContext.Provider value={propsToPass}>\n {isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : <DefaultCell {...propsToPass} />}\n </CellPropsContext.Provider>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,WAAW,QAAQ;AAC5B,SAASC,eAAe,QAAQ;AAChC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,gBAAA,gBAAmBL,KAAA,CAAMM,aAAa,CAAmC;AAE/E,OAAO,MAAMC,YAAA,GAAeA,CAAA;EAAA,OAC1BP,KAAA,CAAAQ,UAAA,CAAAH,gBAAiB;AAAA;AAEnB,OAAO,MAAMI,iBAAA,GAKRC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,WAAA;IAAAC,WAAA;IAAAC;EAAA,IAAAJ,EAA4C;EAChD;IAAAK,UAAA;IAAAC;EAAA,IAAiCf,oBAAA;EACjC;IAAAgB;EAAA,IAA+Bd,eAAA;EAAA,IAAAe,EAAA;EAAA,IAAAP,CAAA,QAAAM,kBAAA,IAAAN,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAE,WAAA,IAAAF,CAAA,QAAAI,UAAA,IAAAJ,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAK,QAAA;IAE/B,MAAAG,WAAA;MAAA,GAAyBP,WAAW;MAAAC;IAAA;IAAc,IAE9CC,cAAA,IAAkBC,UAAA;MACpBI,WAAA,CAAAC,SAAA,GAAwB,GAAAhB,SAAA,cAA0B;MAClDe,WAAA,CAAAE,IAAA;MAAA,IAAAC,EAAA;MAAA,IAAAX,CAAA,QAAAK,QAAA;QACsBM,EAAA,GAAAC,EAAA;UAAC;YAAAC,cAAA,EAAAC,OAAA;YAAAC;UAAA,IAAAH,EAAoC;UAAA,IACrD,OAAOP,QAAA,KAAa;YACtBA,QAAA;cAAAQ,cAAA,EACkBC,OAAA;cAAAE,KAAA,EACTD,OAAA,CAAAE;YAAA,CACT;UAAA;QAAA;QAEJjB,CAAA,MAAAK,QAAA;QAAAL,CAAA,MAAAW,EAAA;MAAA;QAAAA,EAAA,GAAAX,CAAA;MAAA;MAPAQ,WAAA,CAAAU,OAAA,GAAsBP,EAOtB;IAAA;IAIAJ,EAAA,GAAAY,IAAA,CAAAzB,gBAAA,CAAA0B,QAAA;MAAAC,KAAA,EAAkCb,WAAA;MAAAc,QAAA,EAC/BnB,cAAA,IAAkBG,kBAAA,GAAqBA,kBAAA,GAAqBa,IAAA,CAAA5B,WAAA;QAAA,GAAiBiB;MAAW,C;;;;;;;;;;;;SAD3FD,E;CAIJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useListDrawerContext","DefaultCell","useTableColumns","baseClass","CellPropsContext","createContext","useCellProps","useContext","RenderDefaultCell","t0","$","clientProps","columnIndex","isLinkedColumn","drawerSlug","onSelect","LinkedCellOverride","t1","propsToPass","className","link","t2","t3","collectionSlug","rowColl","rowData","docID","id","onClick","_jsx","Provider","value","children"],"sources":["../../../../src/elements/TableColumns/RenderDefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DefaultCell } from '../../Table/DefaultCell/index.js'\nimport './index.scss'\nimport { useTableColumns } from '../index.js'\n\nconst baseClass = 'default-cell'\n\nconst CellPropsContext = React.createContext<DefaultCellComponentProps | null>(null)\n\nexport const useCellProps = (): DefaultCellComponentProps | null =>\n React.useContext(CellPropsContext)\n\nexport const RenderDefaultCell: React.FC<{\n clientProps: DefaultCellComponentProps\n columnIndex: number\n enableRowSelections?: boolean\n isLinkedColumn?: boolean\n}> = ({ clientProps, columnIndex, isLinkedColumn }) => {\n const { drawerSlug, onSelect } = useListDrawerContext()\n const { LinkedCellOverride } = useTableColumns()\n\n const propsToPass: DefaultCellComponentProps = {\n ...clientProps,\n columnIndex,\n }\n\n if (isLinkedColumn && drawerSlug) {\n propsToPass.className = `${baseClass}__first-cell`\n propsToPass.link = false\n propsToPass.onClick = ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n }\n }\n\n return (\n <CellPropsContext.Provider value={propsToPass}>\n {isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : <DefaultCell {...propsToPass} />}\n </CellPropsContext.Provider>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,WAAW,QAAQ;AAC5B,OAAO;AACP,SAASC,eAAe,QAAQ;AAEhC,MAAMC,SAAA,GAAY;AAElB,MAAMC,gBAAA,gBAAmBL,KAAA,CAAMM,aAAa,CAAmC;AAE/E,OAAO,MAAMC,YAAA,GAAeA,CAAA;EAAA,OAC1BP,KAAA,CAAAQ,UAAA,CAAAH,gBAAiB;AAAA;AAEnB,OAAO,MAAMI,iBAAA,GAKRC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,WAAA;IAAAC,WAAA;IAAAC;EAAA,IAAAJ,EAA4C;EAChD;IAAAK,UAAA;IAAAC;EAAA,IAAiCf,oBAAA;EACjC;IAAAgB;EAAA,IAA+Bd,eAAA;EAAA,IAAAe,EAAA;EAAA,IAAAP,CAAA,QAAAM,kBAAA,IAAAN,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAE,WAAA,IAAAF,CAAA,QAAAI,UAAA,IAAAJ,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAK,QAAA;IAE/B,MAAAG,WAAA;MAAA,GACKP,WAAW;MAAAC;IAAA;IAEhB,IAEIC,cAAA,IAAkBC,UAAA;MACpBI,WAAA,CAAAC,SAAA,GAAwB,GAAAhB,SAAA,cAA0B;MAClDe,WAAA,CAAAE,IAAA;MAAA,IAAAC,EAAA;MAAA,IAAAX,CAAA,QAAAK,QAAA;QACsBM,EAAA,GAAAC,EAAA;UAAC;YAAAC,cAAA,EAAAC,OAAA;YAAAC;UAAA,IAAAH,EAAoC;UAAA,IACrD,OAAOP,QAAA,KAAa;YACtBA,QAAA;cAAAQ,cAAA,EACkBC,OAAA;cAAAE,KAAA,EACTD,OAAA,CAAAE;YAAA,CACT;UAAA;QAAA;QAEJjB,CAAA,MAAAK,QAAA;QAAAL,CAAA,MAAAW,EAAA;MAAA;QAAAA,EAAA,GAAAX,CAAA;MAAA;MAPAQ,WAAA,CAAAU,OAAA,GAAsBP,EAOtB;IAAA;IAIAJ,EAAA,GAAAY,IAAA,CAAAzB,gBAAA,CAAA0B,QAAA;MAAAC,KAAA,EAAkCb,WAAA;MAAAc,QAAA,EAC/BnB,cAAA,IAAkBG,kBAAA,GAAqBA,kBAAA,GAAqBa,IAAA,CAAA5B,WAAA;QAAA,GAAiBiB;MAAW,C;;;;;;;;;;;;SAD3FD,E;CAIJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,sBAAsB,EAGtB,yBAAyB,EAGzB,eAAe,EACf,aAAa,EACb,OAAO,EACP,yBAAyB,EAG1B,MAAM,SAAS,CAAA;AAYhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAW/C,KAAK,IAAI,GAAG;IACV,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,iBAAiB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IAC7C,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACpC,eAAe,EAAE,yBAAyB,CAAC,iBAAiB,CAAC,CAAA;IAC7D,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAC1C,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EAuPnD,CAAA"}
1
+ {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,sBAAsB,EAGtB,yBAAyB,EAGzB,eAAe,EACf,aAAa,EACb,OAAO,EACP,yBAAyB,EAG1B,MAAM,SAAS,CAAA;AAWhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAW/C,KAAK,IAAI,GAAG;IACV,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,iBAAiB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IAC7C,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACpC,eAAe,EAAE,yBAAyB,CAAC,iBAAiB,CAAC,CAAA;IAC7D,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAC1C,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EAsQnD,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { MissingEditorProp } from 'payload';
3
- import { deepCopyObjectSimple, fieldIsHiddenOrDisabled, fieldIsID, fieldIsPresentationalOnly, flattenTopLevelFields } from 'payload/shared';
3
+ import { fieldIsHiddenOrDisabled, fieldIsID, fieldIsPresentationalOnly, flattenTopLevelFields } from 'payload/shared';
4
4
  import React from 'react';
5
5
  import { RenderCustomComponent, RenderDefaultCell, SortColumn } from '../../exports/client/index.js';
6
6
  import { RenderServerComponent } from '../RenderServerComponent/index.js';
@@ -82,7 +82,7 @@ export const buildColumnState = args => {
82
82
  const clientProps = {
83
83
  field
84
84
  };
85
- const serverProps = {
85
+ const customLabelServerProps = {
86
86
  clientField: field,
87
87
  collectionSlug: collectionConfig.slug,
88
88
  field: _field,
@@ -93,7 +93,7 @@ export const buildColumnState = args => {
93
93
  clientProps,
94
94
  Component: CustomLabelToRender,
95
95
  importMap: payload.importMap,
96
- serverProps
96
+ serverProps: customLabelServerProps
97
97
  }) : undefined;
98
98
  const fieldAffectsDataSubFields = field && field.type && (field.type === 'array' || field.type === 'group' || field.type === 'blocks');
99
99
  const Heading = /*#__PURE__*/_jsx(SortColumn, {
@@ -105,7 +105,7 @@ export const buildColumnState = args => {
105
105
  });
106
106
  const baseCellClientProps = {
107
107
  cellData: undefined,
108
- collectionConfig: deepCopyObjectSimple(clientCollectionConfig),
108
+ collectionSlug: clientCollectionConfig.slug,
109
109
  customCellProps,
110
110
  field,
111
111
  rowData: undefined
@@ -124,6 +124,20 @@ export const buildColumnState = args => {
124
124
  link: isLinkedColumn,
125
125
  rowData: doc
126
126
  };
127
+ const cellServerProps = {
128
+ cellData: cellClientProps.cellData,
129
+ className: baseCellClientProps.className,
130
+ collectionConfig,
131
+ collectionSlug: collectionConfig.slug,
132
+ columnIndex: baseCellClientProps.columnIndex,
133
+ customCellProps: baseCellClientProps.customCellProps,
134
+ field: _field,
135
+ i18n,
136
+ link: cellClientProps.link,
137
+ onClick: baseCellClientProps.onClick,
138
+ payload,
139
+ rowData: doc
140
+ };
127
141
  let CustomCell = null;
128
142
  if (_field?.type === 'richText') {
129
143
  if (!_field?.editor) {
@@ -143,15 +157,20 @@ export const buildColumnState = args => {
143
157
  clientProps: cellClientProps,
144
158
  Component: _field.editor.CellComponent,
145
159
  importMap: payload.importMap,
146
- serverProps
160
+ serverProps: cellServerProps
147
161
  });
148
162
  } else {
149
- CustomCell = _field?.admin && 'components' in _field.admin && _field.admin.components?.Cell ? RenderServerComponent({
150
- clientProps: cellClientProps,
151
- Component: _field?.admin && 'components' in _field.admin && _field.admin.components?.Cell,
152
- importMap: payload.importMap,
153
- serverProps
154
- }) : undefined;
163
+ const CustomCellComponent = _field?.admin?.components?.Cell;
164
+ if (CustomCellComponent) {
165
+ CustomCell = RenderServerComponent({
166
+ clientProps: cellClientProps,
167
+ Component: CustomCellComponent,
168
+ importMap: payload.importMap,
169
+ serverProps: cellServerProps
170
+ });
171
+ } else {
172
+ CustomCell = undefined;
173
+ }
155
174
  }
156
175
  return /*#__PURE__*/_jsx(RenderCustomComponent, {
157
176
  CustomComponent: CustomCell,