@payloadcms/ui 3.0.0-canary.67aae47 → 3.0.0-canary.6b9e4be

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/Banner/index.d.ts.map +1 -1
  2. package/dist/elements/Banner/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/AddingFilesView/index.js +2 -2
  4. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  5. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  6. package/dist/elements/BulkUpload/EditForm/index.js +13 -2
  7. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  8. package/dist/elements/BulkUpload/FormsManager/reducer.js +14 -14
  9. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  10. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  11. package/dist/elements/DocumentDrawer/DrawerContent.js +44 -30
  12. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  13. package/dist/elements/DuplicateDocument/index.d.ts +1 -1
  14. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  15. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  16. package/dist/elements/EditMany/index.d.ts.map +1 -1
  17. package/dist/elements/EditMany/index.js +155 -247
  18. package/dist/elements/EditMany/index.js.map +1 -1
  19. package/dist/elements/RenderServerComponent/index.d.ts +0 -6
  20. package/dist/elements/RenderServerComponent/index.d.ts.map +1 -1
  21. package/dist/elements/RenderServerComponent/index.js +1 -24
  22. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  23. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -1
  24. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  25. package/dist/elements/Table/DefaultCell/index.d.ts +1 -1
  26. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  27. package/dist/elements/Table/DefaultCell/index.js +2 -2
  28. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  29. package/dist/elements/Table/RelationshipProvider/reducer.js +16 -16
  30. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  31. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +4 -4
  32. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  33. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +7 -7
  34. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  35. package/dist/exports/client/index.js +10 -10
  36. package/dist/exports/client/index.js.map +4 -4
  37. package/dist/exports/shared/index.d.ts +1 -0
  38. package/dist/exports/shared/index.d.ts.map +1 -1
  39. package/dist/exports/shared/index.js +2 -2
  40. package/dist/exports/shared/index.js.map +4 -4
  41. package/dist/fields/Relationship/optionsReducer.js +42 -42
  42. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  43. package/dist/forms/Form/fieldReducer.js +170 -170
  44. package/dist/forms/Form/fieldReducer.js.map +1 -1
  45. package/dist/forms/Form/index.d.ts.map +1 -1
  46. package/dist/forms/Form/index.js +7 -29
  47. package/dist/forms/Form/index.js.map +1 -1
  48. package/dist/forms/RenderFields/RenderField.js +6 -6
  49. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  50. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  51. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  52. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +17 -17
  53. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  54. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  55. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
  56. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  57. package/dist/providers/ServerFunctions/index.d.ts +0 -2
  58. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  59. package/dist/providers/ServerFunctions/index.js +16 -67
  60. package/dist/providers/ServerFunctions/index.js.map +1 -1
  61. package/dist/utilities/abortAndIgnore.d.ts +2 -0
  62. package/dist/utilities/abortAndIgnore.d.ts.map +1 -0
  63. package/dist/utilities/abortAndIgnore.js +10 -0
  64. package/dist/utilities/abortAndIgnore.js.map +1 -0
  65. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +12 -12
  66. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  67. package/dist/utilities/buildFormState.d.ts +0 -4
  68. package/dist/utilities/buildFormState.d.ts.map +1 -1
  69. package/dist/utilities/buildFormState.js +1 -15
  70. package/dist/utilities/buildFormState.js.map +1 -1
  71. package/dist/utilities/buildTableState.d.ts +2 -1
  72. package/dist/utilities/buildTableState.d.ts.map +1 -1
  73. package/dist/utilities/buildTableState.js +6 -3
  74. package/dist/utilities/buildTableState.js.map +1 -1
  75. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  76. package/dist/utilities/handleFormStateLocking.js +2 -0
  77. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  78. package/dist/views/Edit/index.d.ts.map +1 -1
  79. package/dist/views/Edit/index.js +11 -18
  80. package/dist/views/Edit/index.js.map +1 -1
  81. package/dist/views/List/index.d.ts.map +1 -1
  82. package/dist/views/List/index.js +41 -52
  83. package/dist/views/List/index.js.map +1 -1
  84. package/license.md +22 -0
  85. package/package.json +15 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isPlainObject","isReactServerComponentOrFunction","parsePayloadComponent","React","getFromImportMap","args","importMap","PayloadComponent","schemaPath","silent","exportName","path","key","importMapEntry","console","error","RenderServerComponent","clientProps","Component","Fallback","serverProps","Array","isArray","map","c","index","_jsx","isRSC","ResolvedComponent"],"sources":["../../../src/elements/RenderServerComponent/index.tsx"],"sourcesContent":["import type { ImportMap, PayloadComponent } from 'payload'\n\nimport {\n isPlainObject,\n isReactServerComponentOrFunction,\n parsePayloadComponent,\n} from 'payload/shared'\nimport React from 'react'\n\nexport const getFromImportMap = <TOutput,>(args: {\n importMap: ImportMap\n PayloadComponent: PayloadComponent\n schemaPath?: string\n silent?: boolean\n}): TOutput => {\n const { importMap, PayloadComponent, schemaPath, silent } = args\n\n const { exportName, path } = parsePayloadComponent(PayloadComponent)\n\n const key = path + '#' + exportName\n\n const importMapEntry = importMap[key]\n\n if (!importMapEntry && !silent) {\n // eslint-disable-next-line no-console\n console.error(\n `getFromImportMap: PayloadComponent not found in importMap`,\n {\n key,\n PayloadComponent,\n schemaPath,\n },\n 'You may need to run the `payload generate:importmap` command to generate the importMap ahead of runtime.',\n )\n }\n\n return importMapEntry\n}\n\n/**\n * Can be used to render both MappedComponents and React Components.\n */\nexport const RenderServerComponent: React.FC<{\n readonly clientProps?: object\n readonly Component?:\n | PayloadComponent\n | PayloadComponent[]\n | React.ComponentType\n | React.ComponentType[]\n readonly Fallback?: React.ComponentType\n readonly importMap: ImportMap\n readonly serverProps?: object\n}> = ({ clientProps = {}, Component, Fallback, importMap, serverProps }) => {\n if (Array.isArray(Component)) {\n return Component.map((c, index) => (\n <RenderServerComponent\n clientProps={clientProps}\n Component={c}\n importMap={importMap}\n key={index}\n serverProps={serverProps}\n />\n ))\n }\n\n if (typeof Component === 'function') {\n const isRSC = isReactServerComponentOrFunction(Component)\n\n return <Component {...clientProps} {...(isRSC ? serverProps : {})} />\n }\n\n if (typeof Component === 'string' || isPlainObject(Component)) {\n const ResolvedComponent = getFromImportMap<React.ComponentType>({\n importMap,\n PayloadComponent: Component,\n schemaPath: '',\n })\n\n if (ResolvedComponent) {\n const isRSC = isReactServerComponentOrFunction(ResolvedComponent)\n\n return (\n <ResolvedComponent\n {...clientProps}\n {...(isRSC ? serverProps : {})}\n {...(isRSC && typeof Component === 'object' && Component?.serverProps\n ? Component.serverProps\n : {})}\n {...(typeof Component === 'object' && Component?.clientProps\n ? Component.clientProps\n : {})}\n />\n )\n }\n }\n\n return Fallback ? (\n <RenderServerComponent\n clientProps={clientProps}\n Component={Fallback}\n importMap={importMap}\n serverProps={serverProps}\n />\n ) : null\n}\n"],"mappings":";AAEA,SACEA,aAAa,EACbC,gCAAgC,EAChCC,qBAAqB,QAChB;AACP,OAAOC,KAAA,MAAW;AAElB,OAAO,MAAMC,gBAAA,GAA8BC,IAAA;EAMzC,MAAM;IAAEC,SAAS;IAAEC,gBAAgB;IAAEC,UAAU;IAAEC;EAAM,CAAE,GAAGJ,IAAA;EAE5D,MAAM;IAAEK,UAAU;IAAEC;EAAI,CAAE,GAAGT,qBAAA,CAAsBK,gBAAA;EAEnD,MAAMK,GAAA,GAAMD,IAAA,GAAO,MAAMD,UAAA;EAEzB,MAAMG,cAAA,GAAiBP,SAAS,CAACM,GAAA,CAAI;EAErC,IAAI,CAACC,cAAA,IAAkB,CAACJ,MAAA,EAAQ;IAC9B;IACAK,OAAA,CAAQC,KAAK,CACX,2DAA2D,EAC3D;MACEH,GAAA;MACAL,gBAAA;MACAC;IACF,GACA;EAEJ;EAEA,OAAOK,cAAA;AACT;AAEA;;;AAGA,OAAO,MAAMG,qBAAA,GAURA,CAAC;EAAEC,WAAA,GAAc,CAAC,CAAC;EAAEC,SAAS;EAAEC,QAAQ;EAAEb,SAAS;EAAEc;AAAW,CAAE;EACrE,IAAIC,KAAA,CAAMC,OAAO,CAACJ,SAAA,GAAY;IAC5B,OAAOA,SAAA,CAAUK,GAAG,CAAC,CAACC,CAAA,EAAGC,KAAA,kBACvBC,IAAA,CAACV,qBAAA;MACCC,WAAA,EAAaA,WAAA;MACbC,SAAA,EAAWM,CAAA;MACXlB,SAAA,EAAWA,SAAA;MAEXc,WAAA,EAAaA;OADRK,KAAA;EAIX;EAEA,IAAI,OAAOP,SAAA,KAAc,YAAY;IACnC,MAAMS,KAAA,GAAQ1B,gCAAA,CAAiCiB,SAAA;IAE/C,oBAAOQ,IAAA,CAACR,SAAA;MAAW,GAAGD,WAAW;MAAG,IAAIU,KAAA,GAAQP,WAAA,GAAc,CAAC,CAAC;;EAClE;EAEA,IAAI,OAAOF,SAAA,KAAc,YAAYlB,aAAA,CAAckB,SAAA,GAAY;IAC7D,MAAMU,iBAAA,GAAoBxB,gBAAA,CAAsC;MAC9DE,SAAA;MACAC,gBAAA,EAAkBW,SAAA;MAClBV,UAAA,EAAY;IACd;IAEA,IAAIoB,iBAAA,EAAmB;MACrB,MAAMD,KAAA,GAAQ1B,gCAAA,CAAiC2B,iBAAA;MAE/C,oBACEF,IAAA,CAACE,iBAAA;QACE,GAAGX,WAAW;QACd,IAAIU,KAAA,GAAQP,WAAA,GAAc,CAAC,CAAC;QAC5B,IAAIO,KAAA,IAAS,OAAOT,SAAA,KAAc,YAAYA,SAAA,EAAWE,WAAA,GACtDF,SAAA,CAAUE,WAAW,GACrB,CAAC,CAAC;QACL,IAAI,OAAOF,SAAA,KAAc,YAAYA,SAAA,EAAWD,WAAA,GAC7CC,SAAA,CAAUD,WAAW,GACrB,CAAC,CAAC;;IAGZ;EACF;EAEA,OAAOE,QAAA,gBACLO,IAAA,CAACV,qBAAA;IACCC,WAAA,EAAaA,WAAA;IACbC,SAAA,EAAWC,QAAA;IACXb,SAAA,EAAWA,SAAA;IACXc,WAAA,EAAaA;OAEb;AACN","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getFromImportMap","isPlainObject","isReactServerComponentOrFunction","React","RenderServerComponent","clientProps","Component","Fallback","importMap","serverProps","Array","isArray","map","c","index","_jsx","isRSC","ResolvedComponent","PayloadComponent","schemaPath"],"sources":["../../../src/elements/RenderServerComponent/index.tsx"],"sourcesContent":["import type { ImportMap, PayloadComponent } from 'payload'\n\nimport { getFromImportMap, isPlainObject, isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\n/**\n * Can be used to render both MappedComponents and React Components.\n */\nexport const RenderServerComponent: React.FC<{\n readonly clientProps?: object\n readonly Component?:\n | PayloadComponent\n | PayloadComponent[]\n | React.ComponentType\n | React.ComponentType[]\n readonly Fallback?: React.ComponentType\n readonly importMap: ImportMap\n readonly serverProps?: object\n}> = ({ clientProps = {}, Component, Fallback, importMap, serverProps }) => {\n if (Array.isArray(Component)) {\n return Component.map((c, index) => (\n <RenderServerComponent\n clientProps={clientProps}\n Component={c}\n importMap={importMap}\n key={index}\n serverProps={serverProps}\n />\n ))\n }\n\n if (typeof Component === 'function') {\n const isRSC = isReactServerComponentOrFunction(Component)\n\n return <Component {...clientProps} {...(isRSC ? serverProps : {})} />\n }\n\n if (typeof Component === 'string' || isPlainObject(Component)) {\n const ResolvedComponent = getFromImportMap<React.ComponentType>({\n importMap,\n PayloadComponent: Component,\n schemaPath: '',\n })\n\n if (ResolvedComponent) {\n const isRSC = isReactServerComponentOrFunction(ResolvedComponent)\n\n return (\n <ResolvedComponent\n {...clientProps}\n {...(isRSC ? serverProps : {})}\n {...(isRSC && typeof Component === 'object' && Component?.serverProps\n ? Component.serverProps\n : {})}\n {...(typeof Component === 'object' && Component?.clientProps\n ? Component.clientProps\n : {})}\n />\n )\n }\n }\n\n return Fallback ? (\n <RenderServerComponent\n clientProps={clientProps}\n Component={Fallback}\n importMap={importMap}\n serverProps={serverProps}\n />\n ) : null\n}\n"],"mappings":";AAEA,SAASA,gBAAgB,EAAEC,aAAa,EAAEC,gCAAgC,QAAQ;AAClF,OAAOC,KAAA,MAAW;AAElB;;;AAGA,OAAO,MAAMC,qBAAA,GAURA,CAAC;EAAEC,WAAA,GAAc,CAAC,CAAC;EAAEC,SAAS;EAAEC,QAAQ;EAAEC,SAAS;EAAEC;AAAW,CAAE;EACrE,IAAIC,KAAA,CAAMC,OAAO,CAACL,SAAA,GAAY;IAC5B,OAAOA,SAAA,CAAUM,GAAG,CAAC,CAACC,CAAA,EAAGC,KAAA,kBACvBC,IAAA,CAACX,qBAAA;MACCC,WAAA,EAAaA,WAAA;MACbC,SAAA,EAAWO,CAAA;MACXL,SAAA,EAAWA,SAAA;MAEXC,WAAA,EAAaA;OADRK,KAAA;EAIX;EAEA,IAAI,OAAOR,SAAA,KAAc,YAAY;IACnC,MAAMU,KAAA,GAAQd,gCAAA,CAAiCI,SAAA;IAE/C,oBAAOS,IAAA,CAACT,SAAA;MAAW,GAAGD,WAAW;MAAG,IAAIW,KAAA,GAAQP,WAAA,GAAc,CAAC,CAAC;;EAClE;EAEA,IAAI,OAAOH,SAAA,KAAc,YAAYL,aAAA,CAAcK,SAAA,GAAY;IAC7D,MAAMW,iBAAA,GAAoBjB,gBAAA,CAAsC;MAC9DQ,SAAA;MACAU,gBAAA,EAAkBZ,SAAA;MAClBa,UAAA,EAAY;IACd;IAEA,IAAIF,iBAAA,EAAmB;MACrB,MAAMD,KAAA,GAAQd,gCAAA,CAAiCe,iBAAA;MAE/C,oBACEF,IAAA,CAACE,iBAAA;QACE,GAAGZ,WAAW;QACd,IAAIW,KAAA,GAAQP,WAAA,GAAc,CAAC,CAAC;QAC5B,IAAIO,KAAA,IAAS,OAAOV,SAAA,KAAc,YAAYA,SAAA,EAAWG,WAAA,GACtDH,SAAA,CAAUG,WAAW,GACrB,CAAC,CAAC;QACL,IAAI,OAAOH,SAAA,KAAc,YAAYA,SAAA,EAAWD,WAAA,GAC7CC,SAAA,CAAUD,WAAW,GACrB,CAAC,CAAC;;IAGZ;EACF;EAEA,OAAOE,QAAA,gBACLQ,IAAA,CAACX,qBAAA;IACCC,WAAA,EAAaA,WAAA;IACbC,SAAA,EAAWC,QAAA;IACXC,SAAA,EAAWA,SAAA;IACXC,WAAA,EAAaA;OAEb;AACN","ignoreList":[]}
@@ -149,8 +149,8 @@ export const RelationshipCell = t0 => {
149
149
  const previewAllowed = field.displayPreview || relatedCollectionPreview && field.displayPreview !== false;
150
150
  if (previewAllowed && document) {
151
151
  fileField = _jsx(FileCell, {
152
- collectionConfig: relatedCollection,
153
152
  cellData: label_0,
153
+ collectionConfig: relatedCollection,
154
154
  customCellProps: customCellContext,
155
155
  field,
156
156
  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 any,\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 collectionConfig={relatedCollection}\n cellData={label}\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","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 any,\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,4 +1,4 @@
1
- import React from 'react';
2
1
  import type { DefaultCellComponentProps } from 'payload';
2
+ import React from 'react';
3
3
  export declare const DefaultCell: React.FC<DefaultCellComponentProps>;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,yBAAyB,EAAqB,MAAM,SAAS,CAAA;AAa3E,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,EAAE,yBAAyB,EAAqB,MAAM,SAAS,CAAA;AAK3E,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA2H3D,CAAA"}
@@ -2,10 +2,10 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import LinkImport from 'next/link.js';
6
- import React from 'react'; // TODO: abstract this out to support all routers
7
5
  import { getTranslation } from '@payloadcms/translations';
6
+ import LinkImport from 'next/link.js';
8
7
  import { fieldAffectsData } from 'payload/shared';
8
+ import React from 'react'; // TODO: abstract this out to support all routers
9
9
  import { useConfig } from '../../../providers/Config/index.js';
10
10
  import { useTranslation } from '../../../providers/Translation/index.js';
11
11
  import { formatAdminURL } from '../../../utilities/formatAdminURL.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","LinkImport","React","getTranslation","fieldAffectsData","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","id","type","t5","collectionSlug","name","_jsx","children","nowrap","DefaultCellComponent","CellComponent","upload","FileCellComponent","File","_jsxs","t","label","JSON","stringify"],"sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport LinkImport from 'next/link.js'\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport type { DefaultCellComponentProps, UploadFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldAffectsData } from 'payload/shared'\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'\n\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}/${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 ('name' in field && field.name === 'id') {\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","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","id","type","t5","collectionSlug","name","_jsx","children","nowrap","DefaultCellComponent","CellComponent","upload","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 } 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}/${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 ('name' in field && field.name === 'id') {\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,21 +1,5 @@
1
1
  export function reducer(state, action) {
2
2
  switch (action.type) {
3
- case 'REQUEST':
4
- {
5
- const newState = {
6
- ...state
7
- };
8
- action.docs.forEach(({
9
- relationTo,
10
- value
11
- }) => {
12
- if (typeof newState[relationTo] !== 'object') {
13
- newState[relationTo] = {};
14
- }
15
- newState[relationTo][value] = null;
16
- });
17
- return newState;
18
- }
19
3
  case 'ADD_LOADED':
20
4
  {
21
5
  const newState = {
@@ -36,6 +20,22 @@ export function reducer(state, action) {
36
20
  });
37
21
  return newState;
38
22
  }
23
+ case 'REQUEST':
24
+ {
25
+ const newState = {
26
+ ...state
27
+ };
28
+ action.docs.forEach(({
29
+ relationTo,
30
+ value
31
+ }) => {
32
+ if (typeof newState[relationTo] !== 'object') {
33
+ newState[relationTo] = {};
34
+ }
35
+ newState[relationTo][value] = null;
36
+ });
37
+ return newState;
38
+ }
39
39
  default:
40
40
  {
41
41
  return state;
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","names":["reducer","state","action","type","newState","docs","forEach","relationTo","value","unreturnedIDs","idsToLoad","Array","isArray","doc","splice","indexOf","id"],"sources":["../../../../src/elements/Table/RelationshipProvider/reducer.ts"],"sourcesContent":["import type { TypeWithID } from 'payload'\n\nimport type { Documents } from './index.js'\n\ntype RequestDocuments = {\n docs: { relationTo: string; value: number | string }[]\n type: 'REQUEST'\n}\n\ntype AddLoadedDocuments = {\n docs: TypeWithID[]\n idsToLoad: (number | string)[]\n relationTo: string\n type: 'ADD_LOADED'\n}\n\ntype Action = AddLoadedDocuments | RequestDocuments\n\nexport function reducer(state: Documents, action: Action): Documents {\n switch (action.type) {\n case 'REQUEST': {\n const newState = { ...state }\n\n action.docs.forEach(({ relationTo, value }) => {\n if (typeof newState[relationTo] !== 'object') {\n newState[relationTo] = {}\n }\n newState[relationTo][value] = null\n })\n\n return newState\n }\n\n case 'ADD_LOADED': {\n const newState = { ...state }\n if (typeof newState[action.relationTo] !== 'object') {\n newState[action.relationTo] = {}\n }\n const unreturnedIDs = [...action.idsToLoad]\n\n if (Array.isArray(action.docs)) {\n action.docs.forEach((doc) => {\n unreturnedIDs.splice(unreturnedIDs.indexOf(doc.id), 1)\n newState[action.relationTo][doc.id] = doc\n })\n }\n\n unreturnedIDs.forEach((id) => {\n newState[action.relationTo][id] = false\n })\n\n return newState\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"AAkBA,OAAO,SAASA,QAAQC,KAAgB,EAAEC,MAAc;EACtD,QAAQA,MAAA,CAAOC,IAAI;IACjB,KAAK;MAAW;QACd,MAAMC,QAAA,GAAW;UAAE,GAAGH;QAAM;QAE5BC,MAAA,CAAOG,IAAI,CAACC,OAAO,CAAC,CAAC;UAAEC,UAAU;UAAEC;QAAK,CAAE;UACxC,IAAI,OAAOJ,QAAQ,CAACG,UAAA,CAAW,KAAK,UAAU;YAC5CH,QAAQ,CAACG,UAAA,CAAW,GAAG,CAAC;UAC1B;UACAH,QAAQ,CAACG,UAAA,CAAW,CAACC,KAAA,CAAM,GAAG;QAChC;QAEA,OAAOJ,QAAA;MACT;IAEA,KAAK;MAAc;QACjB,MAAMA,QAAA,GAAW;UAAE,GAAGH;QAAM;QAC5B,IAAI,OAAOG,QAAQ,CAACF,MAAA,CAAOK,UAAU,CAAC,KAAK,UAAU;UACnDH,QAAQ,CAACF,MAAA,CAAOK,UAAU,CAAC,GAAG,CAAC;QACjC;QACA,MAAME,aAAA,GAAgB,C,GAAIP,MAAA,CAAOQ,SAAS,CAAC;QAE3C,IAAIC,KAAA,CAAMC,OAAO,CAACV,MAAA,CAAOG,IAAI,GAAG;UAC9BH,MAAA,CAAOG,IAAI,CAACC,OAAO,CAAEO,GAAA;YACnBJ,aAAA,CAAcK,MAAM,CAACL,aAAA,CAAcM,OAAO,CAACF,GAAA,CAAIG,EAAE,GAAG;YACpDZ,QAAQ,CAACF,MAAA,CAAOK,UAAU,CAAC,CAACM,GAAA,CAAIG,EAAE,CAAC,GAAGH,GAAA;UACxC;QACF;QAEAJ,aAAA,CAAcH,OAAO,CAAEU,EAAA;UACrBZ,QAAQ,CAACF,MAAA,CAAOK,UAAU,CAAC,CAACS,EAAA,CAAG,GAAG;QACpC;QAEA,OAAOZ,QAAA;MACT;IAEA;MAAS;QACP,OAAOH,KAAA;MACT;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"reducer.js","names":["reducer","state","action","type","newState","relationTo","unreturnedIDs","idsToLoad","Array","isArray","docs","forEach","doc","splice","indexOf","id","value"],"sources":["../../../../src/elements/Table/RelationshipProvider/reducer.ts"],"sourcesContent":["import type { TypeWithID } from 'payload'\n\nimport type { Documents } from './index.js'\n\ntype RequestDocuments = {\n docs: { relationTo: string; value: number | string }[]\n type: 'REQUEST'\n}\n\ntype AddLoadedDocuments = {\n docs: TypeWithID[]\n idsToLoad: (number | string)[]\n relationTo: string\n type: 'ADD_LOADED'\n}\n\ntype Action = AddLoadedDocuments | RequestDocuments\n\nexport function reducer(state: Documents, action: Action): Documents {\n switch (action.type) {\n case 'ADD_LOADED': {\n const newState = { ...state }\n if (typeof newState[action.relationTo] !== 'object') {\n newState[action.relationTo] = {}\n }\n const unreturnedIDs = [...action.idsToLoad]\n\n if (Array.isArray(action.docs)) {\n action.docs.forEach((doc) => {\n unreturnedIDs.splice(unreturnedIDs.indexOf(doc.id), 1)\n newState[action.relationTo][doc.id] = doc\n })\n }\n\n unreturnedIDs.forEach((id) => {\n newState[action.relationTo][id] = false\n })\n\n return newState\n }\n\n case 'REQUEST': {\n const newState = { ...state }\n\n action.docs.forEach(({ relationTo, value }) => {\n if (typeof newState[relationTo] !== 'object') {\n newState[relationTo] = {}\n }\n newState[relationTo][value] = null\n })\n\n return newState\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"AAkBA,OAAO,SAASA,QAAQC,KAAgB,EAAEC,MAAc;EACtD,QAAQA,MAAA,CAAOC,IAAI;IACjB,KAAK;MAAc;QACjB,MAAMC,QAAA,GAAW;UAAE,GAAGH;QAAM;QAC5B,IAAI,OAAOG,QAAQ,CAACF,MAAA,CAAOG,UAAU,CAAC,KAAK,UAAU;UACnDD,QAAQ,CAACF,MAAA,CAAOG,UAAU,CAAC,GAAG,CAAC;QACjC;QACA,MAAMC,aAAA,GAAgB,C,GAAIJ,MAAA,CAAOK,SAAS,CAAC;QAE3C,IAAIC,KAAA,CAAMC,OAAO,CAACP,MAAA,CAAOQ,IAAI,GAAG;UAC9BR,MAAA,CAAOQ,IAAI,CAACC,OAAO,CAAEC,GAAA;YACnBN,aAAA,CAAcO,MAAM,CAACP,aAAA,CAAcQ,OAAO,CAACF,GAAA,CAAIG,EAAE,GAAG;YACpDX,QAAQ,CAACF,MAAA,CAAOG,UAAU,CAAC,CAACO,GAAA,CAAIG,EAAE,CAAC,GAAGH,GAAA;UACxC;QACF;QAEAN,aAAA,CAAcK,OAAO,CAAEI,EAAA;UACrBX,QAAQ,CAACF,MAAA,CAAOG,UAAU,CAAC,CAACU,EAAA,CAAG,GAAG;QACpC;QAEA,OAAOX,QAAA;MACT;IAEA,KAAK;MAAW;QACd,MAAMA,QAAA,GAAW;UAAE,GAAGH;QAAM;QAE5BC,MAAA,CAAOQ,IAAI,CAACC,OAAO,CAAC,CAAC;UAAEN,UAAU;UAAEW;QAAK,CAAE;UACxC,IAAI,OAAOZ,QAAQ,CAACC,UAAA,CAAW,KAAK,UAAU;YAC5CD,QAAQ,CAACC,UAAA,CAAW,GAAG,CAAC;UAC1B;UACAD,QAAQ,CAACC,UAAA,CAAW,CAACW,KAAA,CAAM,GAAG;QAChC;QAEA,OAAOZ,QAAA;MACT;IAEA;MAAS;QACP,OAAOH,KAAA;MACT;EACF;AACF","ignoreList":[]}
@@ -25,9 +25,9 @@ export const DefaultFilter = ({
25
25
  });
26
26
  }
27
27
  switch (internalField?.field?.type) {
28
- case 'number':
28
+ case 'date':
29
29
  {
30
- return /*#__PURE__*/_jsx(NumberField, {
30
+ return /*#__PURE__*/_jsx(DateField, {
31
31
  disabled: disabled,
32
32
  field: internalField.field,
33
33
  onChange: onChange,
@@ -35,9 +35,9 @@ export const DefaultFilter = ({
35
35
  value: value
36
36
  });
37
37
  }
38
- case 'date':
38
+ case 'number':
39
39
  {
40
- return /*#__PURE__*/_jsx(DateField, {
40
+ return /*#__PURE__*/_jsx(NumberField, {
41
41
  disabled: disabled,
42
42
  field: internalField.field,
43
43
  onChange: onChange,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","DateField","NumberField","RelationshipField","Select","Text","DefaultFilter","booleanSelect","disabled","internalField","onChange","operator","options","value","includes","field","type","_jsx"],"sources":["../../../../../src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx"],"sourcesContent":["import type { Operator, Option, SelectFieldClient, TextFieldClient } from 'payload'\n\nimport React from 'react'\n\nimport type { FieldCondition } from '../../types.js'\n\nimport { DateField } from '../Date/index.js'\nimport { NumberField } from '../Number/index.js'\nimport { RelationshipField } from '../Relationship/index.js'\nimport { Select } from '../Select/index.js'\nimport { Text } from '../Text/index.js'\n\ntype Props = {\n booleanSelect: boolean\n disabled: boolean\n internalField: FieldCondition\n onChange: React.Dispatch<React.SetStateAction<string>>\n operator: Operator\n options: Option[]\n value: string\n}\n\nexport const DefaultFilter: React.FC<Props> = ({\n booleanSelect,\n disabled,\n internalField,\n onChange,\n operator,\n options,\n value,\n}) => {\n if (booleanSelect || ['radio', 'select'].includes(internalField?.field?.type)) {\n return (\n <Select\n disabled={disabled}\n field={internalField.field as SelectFieldClient}\n onChange={onChange}\n operator={operator}\n options={options}\n value={value}\n />\n )\n }\n\n switch (internalField?.field?.type) {\n case 'number': {\n return (\n <NumberField\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n case 'date': {\n return (\n <DateField\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n case 'relationship': {\n return (\n <RelationshipField\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n default: {\n return (\n <Text\n disabled={disabled}\n field={internalField.field as TextFieldClient}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n }\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAIlB,SAASC,SAAS,QAAQ;AAC1B,SAASC,WAAW,QAAQ;AAC5B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,MAAM,QAAQ;AACvB,SAASC,IAAI,QAAQ;AAYrB,OAAO,MAAMC,aAAA,GAAiCA,CAAC;EAC7CC,aAAa;EACbC,QAAQ;EACRC,aAAa;EACbC,QAAQ;EACRC,QAAQ;EACRC,OAAO;EACPC;AAAK,CACN;EACC,IAAIN,aAAA,IAAiB,CAAC,SAAS,SAAS,CAACO,QAAQ,CAACL,aAAA,EAAeM,KAAA,EAAOC,IAAA,GAAO;IAC7E,oBACEC,IAAA,CAACb,MAAA;MACCI,QAAA,EAAUA,QAAA;MACVO,KAAA,EAAON,aAAA,CAAcM,KAAK;MAC1BL,QAAA,EAAUA,QAAA;MACVC,QAAA,EAAUA,QAAA;MACVC,OAAA,EAASA,OAAA;MACTC,KAAA,EAAOA;;EAGb;EAEA,QAAQJ,aAAA,EAAeM,KAAA,EAAOC,IAAA;IAC5B,KAAK;MAAU;QACb,oBACEC,IAAA,CAACf,WAAA;UACCM,QAAA,EAAUA,QAAA;UACVO,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA,KAAK;MAAQ;QACX,oBACEI,IAAA,CAAChB,SAAA;UACCO,QAAA,EAAUA,QAAA;UACVO,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA,KAAK;MAAgB;QACnB,oBACEI,IAAA,CAACd,iBAAA;UACCK,QAAA,EAAUA,QAAA;UACVO,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA;MAAS;QACP,oBACEI,IAAA,CAACZ,IAAA;UACCG,QAAA,EAAUA,QAAA;UACVO,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","DateField","NumberField","RelationshipField","Select","Text","DefaultFilter","booleanSelect","disabled","internalField","onChange","operator","options","value","includes","field","type","_jsx"],"sources":["../../../../../src/elements/WhereBuilder/Condition/DefaultFilter/index.tsx"],"sourcesContent":["import type { Operator, Option, SelectFieldClient, TextFieldClient } from 'payload'\n\nimport React from 'react'\n\nimport type { FieldCondition } from '../../types.js'\n\nimport { DateField } from '../Date/index.js'\nimport { NumberField } from '../Number/index.js'\nimport { RelationshipField } from '../Relationship/index.js'\nimport { Select } from '../Select/index.js'\nimport { Text } from '../Text/index.js'\n\ntype Props = {\n booleanSelect: boolean\n disabled: boolean\n internalField: FieldCondition\n onChange: React.Dispatch<React.SetStateAction<string>>\n operator: Operator\n options: Option[]\n value: string\n}\n\nexport const DefaultFilter: React.FC<Props> = ({\n booleanSelect,\n disabled,\n internalField,\n onChange,\n operator,\n options,\n value,\n}) => {\n if (booleanSelect || ['radio', 'select'].includes(internalField?.field?.type)) {\n return (\n <Select\n disabled={disabled}\n field={internalField.field as SelectFieldClient}\n onChange={onChange}\n operator={operator}\n options={options}\n value={value}\n />\n )\n }\n\n switch (internalField?.field?.type) {\n case 'date': {\n return (\n <DateField\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n case 'number': {\n return (\n <NumberField\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n case 'relationship': {\n return (\n <RelationshipField\n disabled={disabled}\n field={internalField.field}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n\n default: {\n return (\n <Text\n disabled={disabled}\n field={internalField.field as TextFieldClient}\n onChange={onChange}\n operator={operator}\n value={value}\n />\n )\n }\n }\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAIlB,SAASC,SAAS,QAAQ;AAC1B,SAASC,WAAW,QAAQ;AAC5B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,MAAM,QAAQ;AACvB,SAASC,IAAI,QAAQ;AAYrB,OAAO,MAAMC,aAAA,GAAiCA,CAAC;EAC7CC,aAAa;EACbC,QAAQ;EACRC,aAAa;EACbC,QAAQ;EACRC,QAAQ;EACRC,OAAO;EACPC;AAAK,CACN;EACC,IAAIN,aAAA,IAAiB,CAAC,SAAS,SAAS,CAACO,QAAQ,CAACL,aAAA,EAAeM,KAAA,EAAOC,IAAA,GAAO;IAC7E,oBACEC,IAAA,CAACb,MAAA;MACCI,QAAA,EAAUA,QAAA;MACVO,KAAA,EAAON,aAAA,CAAcM,KAAK;MAC1BL,QAAA,EAAUA,QAAA;MACVC,QAAA,EAAUA,QAAA;MACVC,OAAA,EAASA,OAAA;MACTC,KAAA,EAAOA;;EAGb;EAEA,QAAQJ,aAAA,EAAeM,KAAA,EAAOC,IAAA;IAC5B,KAAK;MAAQ;QACX,oBACEC,IAAA,CAAChB,SAAA;UACCO,QAAA,EAAUA,QAAA;UACVO,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA,KAAK;MAAU;QACb,oBACEI,IAAA,CAACf,WAAA;UACCM,QAAA,EAAUA,QAAA;UACVO,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA,KAAK;MAAgB;QACnB,oBACEI,IAAA,CAACd,iBAAA;UACCK,QAAA,EAAUA,QAAA;UACVO,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;IAEA;MAAS;QACP,oBACEI,IAAA,CAACZ,IAAA;UACCG,QAAA,EAAUA,QAAA;UACVO,KAAA,EAAON,aAAA,CAAcM,KAAK;UAC1BL,QAAA,EAAUA,QAAA;UACVC,QAAA,EAAUA,QAAA;UACVE,KAAA,EAAOA;;MAGb;EACF;AACF","ignoreList":[]}
@@ -9,13 +9,6 @@ const reduceToIDs = options => options.reduce((ids, option) => {
9
9
  }, []);
10
10
  const optionsReducer = (state, action) => {
11
11
  switch (action.type) {
12
- case 'CLEAR':
13
- {
14
- return action.required ? [] : [{
15
- label: action.i18n.t('general:none'),
16
- value: 'null'
17
- }];
18
- }
19
12
  case 'ADD':
20
13
  {
21
14
  const {
@@ -63,6 +56,13 @@ const optionsReducer = (state, action) => {
63
56
  }
64
57
  return newOptions;
65
58
  }
59
+ case 'CLEAR':
60
+ {
61
+ return action.required ? [] : [{
62
+ label: action.i18n.t('general:none'),
63
+ value: 'null'
64
+ }];
65
+ }
66
66
  default:
67
67
  {
68
68
  return state;
@@ -1 +1 @@
1
- {"version":3,"file":"optionsReducer.js","names":["getTranslation","reduceToIDs","options","reduce","ids","option","id","optionsReducer","state","action","type","required","label","i18n","t","value","collection","data","hasMultipleRelations","relation","labelKey","admin","useAsTitle","loadedIDs","docs","doc","indexOf","push","newOptions","optionsToAddTo","find","optionGroup","labels","plural","newSubOptions","relationTo","undefined"],"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/optionsReducer.ts"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { Action, Option } from './types.js'\n\nconst reduceToIDs = (options) =>\n options.reduce((ids, option) => {\n if (option.options) {\n return [...ids, ...reduceToIDs(option.options)]\n }\n\n return [...ids, option.id]\n }, [])\n\nconst optionsReducer = (state: Option[], action: Action): Option[] => {\n switch (action.type) {\n case 'CLEAR': {\n return action.required ? [] : [{ label: action.i18n.t('general:none'), value: 'null' }]\n }\n\n case 'ADD': {\n const { collection, data, hasMultipleRelations, i18n, relation } = action\n\n const labelKey = collection.admin.useAsTitle || 'id'\n\n const loadedIDs = reduceToIDs(state)\n\n if (!hasMultipleRelations) {\n return [\n ...state,\n ...data.docs.reduce((docs, doc) => {\n if (loadedIDs.indexOf(doc.id) === -1) {\n loadedIDs.push(doc.id)\n return [\n ...docs,\n {\n label: doc[labelKey],\n value: doc.id,\n },\n ]\n }\n return docs\n }, []),\n ]\n }\n\n const newOptions = [...state]\n const optionsToAddTo = newOptions.find(\n (optionGroup) => optionGroup.label === getTranslation(collection.labels.plural, i18n),\n )\n\n const newSubOptions = data.docs.reduce((docs, doc) => {\n if (loadedIDs.indexOf(doc.id) === -1) {\n loadedIDs.push(doc.id)\n\n return [\n ...docs,\n {\n label: doc[labelKey],\n relationTo: relation,\n value: doc.id,\n },\n ]\n }\n\n return docs\n }, [])\n\n if (optionsToAddTo) {\n optionsToAddTo.options = [...optionsToAddTo.options, ...newSubOptions]\n } else {\n newOptions.push({\n label: getTranslation(collection.labels.plural, i18n),\n options: newSubOptions,\n value: undefined,\n })\n }\n\n return newOptions\n }\n\n default: {\n return state\n }\n }\n}\n\nexport default optionsReducer\n"],"mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ;AAI/B,MAAMC,WAAA,GAAeC,OAAA,IACnBA,OAAA,CAAQC,MAAM,CAAC,CAACC,GAAA,EAAKC,MAAA;EACnB,IAAIA,MAAA,CAAOH,OAAO,EAAE;IAClB,OAAO,C,GAAIE,GAAA,E,GAAQH,WAAA,CAAYI,MAAA,CAAOH,OAAO,EAAE;EACjD;EAEA,OAAO,C,GAAIE,GAAA,EAAKC,MAAA,CAAOC,EAAE,CAAC;AAC5B,GAAG,EAAE;AAEP,MAAMC,cAAA,GAAiBA,CAACC,KAAA,EAAiBC,MAAA;EACvC,QAAQA,MAAA,CAAOC,IAAI;IACjB,KAAK;MAAS;QACZ,OAAOD,MAAA,CAAOE,QAAQ,GAAG,EAAE,GAAG,CAAC;UAAEC,KAAA,EAAOH,MAAA,CAAOI,IAAI,CAACC,CAAC,CAAC;UAAiBC,KAAA,EAAO;QAAO,EAAE;MACzF;IAEA,KAAK;MAAO;QACV,MAAM;UAAEC,UAAU;UAAEC,IAAI;UAAEC,oBAAoB;UAAEL,IAAI;UAAEM;QAAQ,CAAE,GAAGV,MAAA;QAEnE,MAAMW,QAAA,GAAWJ,UAAA,CAAWK,KAAK,CAACC,UAAU,IAAI;QAEhD,MAAMC,SAAA,GAAYtB,WAAA,CAAYO,KAAA;QAE9B,IAAI,CAACU,oBAAA,EAAsB;UACzB,OAAO,C,GACFV,KAAA,E,GACAS,IAAA,CAAKO,IAAI,CAACrB,MAAM,CAAC,CAACqB,IAAA,EAAMC,GAAA;YACzB,IAAIF,SAAA,CAAUG,OAAO,CAACD,GAAA,CAAInB,EAAE,MAAM,CAAC,GAAG;cACpCiB,SAAA,CAAUI,IAAI,CAACF,GAAA,CAAInB,EAAE;cACrB,OAAO,C,GACFkB,IAAA,EACH;gBACEZ,KAAA,EAAOa,GAAG,CAACL,QAAA,CAAS;gBACpBL,KAAA,EAAOU,GAAA,CAAInB;cACb,EACD;YACH;YACA,OAAOkB,IAAA;UACT,GAAG,EAAE,EACN;QACH;QAEA,MAAMI,UAAA,GAAa,C,GAAIpB,KAAA,CAAM;QAC7B,MAAMqB,cAAA,GAAiBD,UAAA,CAAWE,IAAI,CACnCC,WAAA,IAAgBA,WAAA,CAAYnB,KAAK,KAAKZ,cAAA,CAAegB,UAAA,CAAWgB,MAAM,CAACC,MAAM,EAAEpB,IAAA;QAGlF,MAAMqB,aAAA,GAAgBjB,IAAA,CAAKO,IAAI,CAACrB,MAAM,CAAC,CAACqB,IAAA,EAAMC,GAAA;UAC5C,IAAIF,SAAA,CAAUG,OAAO,CAACD,GAAA,CAAInB,EAAE,MAAM,CAAC,GAAG;YACpCiB,SAAA,CAAUI,IAAI,CAACF,GAAA,CAAInB,EAAE;YAErB,OAAO,C,GACFkB,IAAA,EACH;cACEZ,KAAA,EAAOa,GAAG,CAACL,QAAA,CAAS;cACpBe,UAAA,EAAYhB,QAAA;cACZJ,KAAA,EAAOU,GAAA,CAAInB;YACb,EACD;UACH;UAEA,OAAOkB,IAAA;QACT,GAAG,EAAE;QAEL,IAAIK,cAAA,EAAgB;UAClBA,cAAA,CAAe3B,OAAO,GAAG,C,GAAI2B,cAAA,CAAe3B,OAAO,E,GAAKgC,aAAA,CAAc;QACxE,OAAO;UACLN,UAAA,CAAWD,IAAI,CAAC;YACdf,KAAA,EAAOZ,cAAA,CAAegB,UAAA,CAAWgB,MAAM,CAACC,MAAM,EAAEpB,IAAA;YAChDX,OAAA,EAASgC,aAAA;YACTnB,KAAA,EAAOqB;UACT;QACF;QAEA,OAAOR,UAAA;MACT;IAEA;MAAS;QACP,OAAOpB,KAAA;MACT;EACF;AACF;AAEA,eAAeD,cAAA","ignoreList":[]}
1
+ {"version":3,"file":"optionsReducer.js","names":["getTranslation","reduceToIDs","options","reduce","ids","option","id","optionsReducer","state","action","type","collection","data","hasMultipleRelations","i18n","relation","labelKey","admin","useAsTitle","loadedIDs","docs","doc","indexOf","push","label","value","newOptions","optionsToAddTo","find","optionGroup","labels","plural","newSubOptions","relationTo","undefined","required","t"],"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/optionsReducer.ts"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { Action, Option } from './types.js'\n\nconst reduceToIDs = (options) =>\n options.reduce((ids, option) => {\n if (option.options) {\n return [...ids, ...reduceToIDs(option.options)]\n }\n\n return [...ids, option.id]\n }, [])\n\nconst optionsReducer = (state: Option[], action: Action): Option[] => {\n switch (action.type) {\n case 'ADD': {\n const { collection, data, hasMultipleRelations, i18n, relation } = action\n\n const labelKey = collection.admin.useAsTitle || 'id'\n\n const loadedIDs = reduceToIDs(state)\n\n if (!hasMultipleRelations) {\n return [\n ...state,\n ...data.docs.reduce((docs, doc) => {\n if (loadedIDs.indexOf(doc.id) === -1) {\n loadedIDs.push(doc.id)\n return [\n ...docs,\n {\n label: doc[labelKey],\n value: doc.id,\n },\n ]\n }\n return docs\n }, []),\n ]\n }\n\n const newOptions = [...state]\n const optionsToAddTo = newOptions.find(\n (optionGroup) => optionGroup.label === getTranslation(collection.labels.plural, i18n),\n )\n\n const newSubOptions = data.docs.reduce((docs, doc) => {\n if (loadedIDs.indexOf(doc.id) === -1) {\n loadedIDs.push(doc.id)\n\n return [\n ...docs,\n {\n label: doc[labelKey],\n relationTo: relation,\n value: doc.id,\n },\n ]\n }\n\n return docs\n }, [])\n\n if (optionsToAddTo) {\n optionsToAddTo.options = [...optionsToAddTo.options, ...newSubOptions]\n } else {\n newOptions.push({\n label: getTranslation(collection.labels.plural, i18n),\n options: newSubOptions,\n value: undefined,\n })\n }\n\n return newOptions\n }\n\n case 'CLEAR': {\n return action.required ? [] : [{ label: action.i18n.t('general:none'), value: 'null' }]\n }\n\n default: {\n return state\n }\n }\n}\n\nexport default optionsReducer\n"],"mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ;AAI/B,MAAMC,WAAA,GAAeC,OAAA,IACnBA,OAAA,CAAQC,MAAM,CAAC,CAACC,GAAA,EAAKC,MAAA;EACnB,IAAIA,MAAA,CAAOH,OAAO,EAAE;IAClB,OAAO,C,GAAIE,GAAA,E,GAAQH,WAAA,CAAYI,MAAA,CAAOH,OAAO,EAAE;EACjD;EAEA,OAAO,C,GAAIE,GAAA,EAAKC,MAAA,CAAOC,EAAE,CAAC;AAC5B,GAAG,EAAE;AAEP,MAAMC,cAAA,GAAiBA,CAACC,KAAA,EAAiBC,MAAA;EACvC,QAAQA,MAAA,CAAOC,IAAI;IACjB,KAAK;MAAO;QACV,MAAM;UAAEC,UAAU;UAAEC,IAAI;UAAEC,oBAAoB;UAAEC,IAAI;UAAEC;QAAQ,CAAE,GAAGN,MAAA;QAEnE,MAAMO,QAAA,GAAWL,UAAA,CAAWM,KAAK,CAACC,UAAU,IAAI;QAEhD,MAAMC,SAAA,GAAYlB,WAAA,CAAYO,KAAA;QAE9B,IAAI,CAACK,oBAAA,EAAsB;UACzB,OAAO,C,GACFL,KAAA,E,GACAI,IAAA,CAAKQ,IAAI,CAACjB,MAAM,CAAC,CAACiB,IAAA,EAAMC,GAAA;YACzB,IAAIF,SAAA,CAAUG,OAAO,CAACD,GAAA,CAAIf,EAAE,MAAM,CAAC,GAAG;cACpCa,SAAA,CAAUI,IAAI,CAACF,GAAA,CAAIf,EAAE;cACrB,OAAO,C,GACFc,IAAA,EACH;gBACEI,KAAA,EAAOH,GAAG,CAACL,QAAA,CAAS;gBACpBS,KAAA,EAAOJ,GAAA,CAAIf;cACb,EACD;YACH;YACA,OAAOc,IAAA;UACT,GAAG,EAAE,EACN;QACH;QAEA,MAAMM,UAAA,GAAa,C,GAAIlB,KAAA,CAAM;QAC7B,MAAMmB,cAAA,GAAiBD,UAAA,CAAWE,IAAI,CACnCC,WAAA,IAAgBA,WAAA,CAAYL,KAAK,KAAKxB,cAAA,CAAeW,UAAA,CAAWmB,MAAM,CAACC,MAAM,EAAEjB,IAAA;QAGlF,MAAMkB,aAAA,GAAgBpB,IAAA,CAAKQ,IAAI,CAACjB,MAAM,CAAC,CAACiB,IAAA,EAAMC,GAAA;UAC5C,IAAIF,SAAA,CAAUG,OAAO,CAACD,GAAA,CAAIf,EAAE,MAAM,CAAC,GAAG;YACpCa,SAAA,CAAUI,IAAI,CAACF,GAAA,CAAIf,EAAE;YAErB,OAAO,C,GACFc,IAAA,EACH;cACEI,KAAA,EAAOH,GAAG,CAACL,QAAA,CAAS;cACpBiB,UAAA,EAAYlB,QAAA;cACZU,KAAA,EAAOJ,GAAA,CAAIf;YACb,EACD;UACH;UAEA,OAAOc,IAAA;QACT,GAAG,EAAE;QAEL,IAAIO,cAAA,EAAgB;UAClBA,cAAA,CAAezB,OAAO,GAAG,C,GAAIyB,cAAA,CAAezB,OAAO,E,GAAK8B,aAAA,CAAc;QACxE,OAAO;UACLN,UAAA,CAAWH,IAAI,CAAC;YACdC,KAAA,EAAOxB,cAAA,CAAeW,UAAA,CAAWmB,MAAM,CAACC,MAAM,EAAEjB,IAAA;YAChDZ,OAAA,EAAS8B,aAAA;YACTP,KAAA,EAAOS;UACT;QACF;QAEA,OAAOR,UAAA;MACT;IAEA,KAAK;MAAS;QACZ,OAAOjB,MAAA,CAAO0B,QAAQ,GAAG,EAAE,GAAG,CAAC;UAAEX,KAAA,EAAOf,MAAA,CAAOK,IAAI,CAACsB,CAAC,CAAC;UAAiBX,KAAA,EAAO;QAAO,EAAE;MACzF;IAEA;MAAS;QACP,OAAOjB,KAAA;MACT;EACF;AACF;AAEA,eAAeD,cAAA","ignoreList":[]}