@payloadcms/ui 3.1.1 → 3.1.2-canary.eb1a61e

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 (85) hide show
  1. package/dist/elements/AnimateHeight/index.d.ts +10 -0
  2. package/dist/elements/AnimateHeight/index.d.ts.map +1 -0
  3. package/dist/elements/AnimateHeight/index.js +75 -0
  4. package/dist/elements/AnimateHeight/index.js.map +1 -0
  5. package/dist/elements/AnimateHeight/index.scss +8 -0
  6. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts +8 -0
  7. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -0
  8. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +49 -0
  9. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -0
  10. package/dist/elements/AppHeader/index.scss +7 -8
  11. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  12. package/dist/elements/BulkUpload/FileSidebar/index.js +2 -4
  13. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  14. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  15. package/dist/elements/Collapsible/index.js +1 -3
  16. package/dist/elements/Collapsible/index.js.map +1 -1
  17. package/dist/elements/ListControls/index.d.ts.map +1 -1
  18. package/dist/elements/ListControls/index.js +2 -3
  19. package/dist/elements/ListControls/index.js.map +1 -1
  20. package/dist/elements/NavGroup/index.d.ts.map +1 -1
  21. package/dist/elements/NavGroup/index.js +1 -2
  22. package/dist/elements/NavGroup/index.js.map +1 -1
  23. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  24. package/dist/elements/RelationshipTable/index.js +3 -4
  25. package/dist/elements/RelationshipTable/index.js.map +1 -1
  26. package/dist/exports/client/index.js +21 -21
  27. package/dist/exports/client/index.js.map +4 -4
  28. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -1
  29. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  30. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +10 -0
  31. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  32. package/dist/forms/fieldSchemasToFormState/index.d.ts +7 -1
  33. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  34. package/dist/forms/fieldSchemasToFormState/index.js +5 -0
  35. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  36. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +3 -2
  37. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  38. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  39. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  40. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  41. package/dist/forms/fieldSchemasToFormState/renderField.js +4 -3
  42. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  43. package/dist/forms/fieldSchemasToFormState/types.d.ts +2 -1
  44. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  45. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  46. package/dist/providers/Locale/index.js +30 -29
  47. package/dist/providers/Locale/index.js.map +1 -1
  48. package/dist/styles.css +1 -1
  49. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts +16 -0
  50. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -0
  51. package/dist/utilities/buildClientFieldSchemaMap/index.js +70 -0
  52. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -0
  53. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts +15 -0
  54. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -0
  55. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +129 -0
  56. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -0
  57. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  58. package/dist/utilities/buildFieldSchemaMap/index.js +13 -14
  59. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  60. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  61. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  62. package/dist/utilities/buildFormState.d.ts +1 -8
  63. package/dist/utilities/buildFormState.d.ts.map +1 -1
  64. package/dist/utilities/buildFormState.js +19 -41
  65. package/dist/utilities/buildFormState.js.map +1 -1
  66. package/dist/utilities/buildTableState.d.ts +1 -7
  67. package/dist/utilities/buildTableState.d.ts.map +1 -1
  68. package/dist/utilities/buildTableState.js +2 -21
  69. package/dist/utilities/buildTableState.js.map +1 -1
  70. package/dist/utilities/getClientConfig.d.ts +8 -0
  71. package/dist/utilities/getClientConfig.d.ts.map +1 -0
  72. package/dist/utilities/getClientConfig.js +25 -0
  73. package/dist/utilities/getClientConfig.js.map +1 -0
  74. package/dist/utilities/getClientSchemaMap.d.ts +11 -0
  75. package/dist/utilities/getClientSchemaMap.d.ts.map +1 -0
  76. package/dist/utilities/getClientSchemaMap.js +39 -0
  77. package/dist/utilities/getClientSchemaMap.js.map +1 -0
  78. package/dist/utilities/getSchemaMap.d.ts +9 -0
  79. package/dist/utilities/getSchemaMap.d.ts.map +1 -0
  80. package/dist/utilities/getSchemaMap.js +35 -0
  81. package/dist/utilities/getSchemaMap.js.map +1 -0
  82. package/dist/views/Edit/Auth/types.d.ts +2 -2
  83. package/dist/views/Edit/Auth/types.d.ts.map +1 -1
  84. package/dist/views/Edit/Auth/types.js.map +1 -1
  85. package/package.json +5 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAEf,aAAa,EACb,KAAK,EACN,MAAM,SAAS,CAAA;AAEhB,OAAO,KAA0C,MAAM,OAAO,CAAA;AAO9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,OAAO,cAAc,CAAA;AAKrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAoNvE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAEf,aAAa,EACb,KAAK,EACN,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,OAAO,cAAc,CAAA;AAMrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAmNvE,CAAA"}
@@ -1,10 +1,8 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import React, { Fragment, useCallback, useState } from 'react';
5
- import AnimateHeightImport from 'react-animate-height';
6
- const AnimateHeight = AnimateHeightImport.default || AnimateHeightImport;
7
4
  import { getTranslation } from '@payloadcms/translations';
5
+ import React, { Fragment, useCallback, useState } from 'react';
8
6
  import { Button } from '../../elements/Button/index.js';
9
7
  import { Pill } from '../../elements/Pill/index.js';
10
8
  import { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js';
@@ -15,12 +13,13 @@ import { ListQueryProvider } from '../../providers/ListQuery/index.js';
15
13
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
16
14
  import { useTranslation } from '../../providers/Translation/index.js';
17
15
  import { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js';
16
+ import { AnimateHeight } from '../AnimateHeight/index.js';
18
17
  import { ColumnSelector } from '../ColumnSelector/index.js';
19
18
  import { useDocumentDrawer } from '../DocumentDrawer/index.js';
20
19
  import { RelationshipProvider } from '../Table/RelationshipProvider/index.js';
21
20
  import { TableColumnsProvider } from '../TableColumns/index.js';
22
- import { DrawerLink } from './cells/DrawerLink/index.js';
23
21
  import './index.scss';
22
+ import { DrawerLink } from './cells/DrawerLink/index.js';
24
23
  import { RelationshipTablePagination } from './Pagination.js';
25
24
  const baseClass = 'relationship-table';
26
25
  export const RelationshipTable = props => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Fragment","useCallback","useState","AnimateHeightImport","AnimateHeight","default","getTranslation","Button","Pill","useIgnoredEffect","ChevronIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","useTranslation","hoistQueryParamsToAnd","ColumnSelector","useDocumentDrawer","RelationshipProvider","TableColumnsProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","allowCreate","disableTable","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","where","newData","state","newColumnState","NewTable","enableRowSelections","renderRowTypes","tableAppearance","DocumentDrawer","DocumentDrawerToggler","closeDrawer","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedDoc","undefined","newDocs","onDrawerCreate","preferenceKey","canCreate","collections","create","_jsxs","className","_jsx","icon","direction","onClick","pillStyle","length","label","labels","plural","singular","defaultLimit","admin","pagination","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 React, { Fragment, useCallback, useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nconst AnimateHeight = AnimateHeightImport.default || AnimateHeightImport\n\nimport { getTranslation } from '@payloadcms/translations'\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 { 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 { DrawerLink } from './cells/DrawerLink/index.js'\nimport './index.scss'\nimport { RelationshipTablePagination } from './Pagination.js'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly allowCreate?: boolean\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 allowCreate = true,\n disableTable = false,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n\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(true)\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 ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\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 [getTableState, relationTo, filterOptions, query],\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 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 && <DocumentDrawerToggler>{i18n.t('fields:addNew')}</DocumentDrawerToggler>}\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 {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 collectionSlug={relationTo}\n data={data}\n defaultLimit={collectionConfig?.admin?.pagination?.defaultLimit}\n modifySearchParams={false}\n onQueryChange={setQuery}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={relationTo}\n columnState={columnState}\n docs={data.docs}\n LinkedCellOverride={<DrawerLink onDrawerSave={onDrawerSave} />}\n preferenceKey={preferenceKey}\n renderRowTypes\n setTable={setTable}\n sortColumnProps={{\n appearance: 'condensed',\n }}\n tableAppearance=\"condensed\"\n >\n {/* @ts-expect-error TODO: get this CJS import to work, eslint keeps removing the type assertion */}\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 <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","allowCreate","disableTable","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","where","newData","state","newColumnState","NewTable","enableRowSelections","renderRowTypes","tableAppearance","DocumentDrawer","DocumentDrawerToggler","closeDrawer","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedDoc","undefined","newDocs","onDrawerCreate","preferenceKey","canCreate","collections","create","_jsxs","className","_jsx","icon","direction","onClick","pillStyle","length","label","labels","plural","singular","defaultLimit","admin","pagination","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 allowCreate?: boolean\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 allowCreate = true,\n disableTable = false,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n\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(true)\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 ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\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 [getTableState, relationTo, filterOptions, query],\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 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 && <DocumentDrawerToggler>{i18n.t('fields:addNew')}</DocumentDrawerToggler>}\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 {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 collectionSlug={relationTo}\n data={data}\n defaultLimit={collectionConfig?.admin?.pagination?.defaultLimit}\n modifySearchParams={false}\n onQueryChange={setQuery}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={relationTo}\n columnState={columnState}\n docs={data.docs}\n LinkedCellOverride={<DrawerLink onDrawerSave={onDrawerSave} />}\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 <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}