@payloadcms/ui 3.32.0-internal.a8b166f → 3.32.0-internal.f2e77bd

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 (57) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +20 -42
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/ListControls/useQueryPresets.d.ts.map +1 -1
  5. package/dist/elements/ListControls/useQueryPresets.js +10 -1
  6. package/dist/elements/ListControls/useQueryPresets.js.map +1 -1
  7. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  8. package/dist/elements/Table/DefaultCell/fields/File/index.js +7 -19
  9. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  10. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  11. package/dist/elements/Table/DefaultCell/index.js +13 -0
  12. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  13. package/dist/exports/client/index.js +23 -23
  14. package/dist/exports/client/index.js.map +4 -4
  15. package/dist/fields/Array/index.d.ts.map +1 -1
  16. package/dist/fields/Array/index.js +46 -50
  17. package/dist/fields/Array/index.js.map +1 -1
  18. package/dist/fields/Blocks/index.d.ts.map +1 -1
  19. package/dist/fields/Blocks/index.js +46 -50
  20. package/dist/fields/Blocks/index.js.map +1 -1
  21. package/dist/fields/Upload/HasMany/index.d.ts +1 -1
  22. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  23. package/dist/fields/Upload/HasMany/index.js +11 -1
  24. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  25. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
  26. package/dist/fields/Upload/HasOne/index.js +12 -2
  27. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  28. package/dist/fields/Upload/RelationshipContent/index.js +28 -27
  29. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  30. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  31. package/dist/forms/Form/fieldReducer.js +51 -8
  32. package/dist/forms/Form/fieldReducer.js.map +1 -1
  33. package/dist/forms/Form/index.d.ts.map +1 -1
  34. package/dist/forms/Form/index.js +56 -42
  35. package/dist/forms/Form/index.js.map +1 -1
  36. package/dist/forms/Form/initContextState.d.ts.map +1 -1
  37. package/dist/forms/Form/initContextState.js +1 -0
  38. package/dist/forms/Form/initContextState.js.map +1 -1
  39. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  40. package/dist/forms/Form/mergeServerFormState.js +24 -6
  41. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  42. package/dist/forms/Form/types.d.ts +5 -0
  43. package/dist/forms/Form/types.d.ts.map +1 -1
  44. package/dist/forms/Form/types.js.map +1 -1
  45. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  46. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +0 -2
  47. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  48. package/dist/hooks/useQueues.d.ts +34 -1
  49. package/dist/hooks/useQueues.d.ts.map +1 -1
  50. package/dist/hooks/useQueues.js +44 -28
  51. package/dist/hooks/useQueues.js.map +1 -1
  52. package/dist/styles.css +1 -1
  53. package/dist/utilities/getBestFitFromSizes.d.ts +25 -0
  54. package/dist/utilities/getBestFitFromSizes.d.ts.map +1 -0
  55. package/dist/utilities/getBestFitFromSizes.js +45 -0
  56. package/dist/utilities/getBestFitFromSizes.js.map +1 -0
  57. package/package.json +5 -5
@@ -1,7 +1,7 @@
1
1
  import type { JsonObject } from 'payload';
2
2
  import React from 'react';
3
- import type { ReloadDoc } from '../types.js';
4
3
  import './index.scss';
4
+ import type { ReloadDoc } from '../types.js';
5
5
  type Props = {
6
6
  readonly className?: string;
7
7
  readonly displayPreview?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Upload/HasMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,UAAU,CAAA;KAClB,EAAE,CAAA;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,qBAyHlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Upload/HasMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAYzB,OAAO,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAI5C,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,UAAU,CAAA;KAClB,EAAE,CAAA;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,qBAkIlD"}
@@ -9,7 +9,9 @@ import { DragHandleIcon } from '../../../icons/DragHandle/index.js';
9
9
  import { RelationshipContent } from '../RelationshipContent/index.js';
10
10
  import { UploadCard } from '../UploadCard/index.js';
11
11
  const baseClass = 'upload upload--has-many';
12
+ import { isImage } from 'payload/shared';
12
13
  import './index.scss';
14
+ import { getBestFitFromSizes } from '../../../utilities/getBestFitFromSizes.js';
13
15
  export function UploadComponentHasMany(props) {
14
16
  const $ = _c(27);
15
17
  const {
@@ -104,6 +106,14 @@ export function UploadComponentHasMany(props) {
104
106
  thumbnailSrc = `${serverURL}${value_0.thumbnailURL}`;
105
107
  }
106
108
  }
109
+ if (isImage(value_0.mimeType)) {
110
+ thumbnailSrc = getBestFitFromSizes({
111
+ sizes: value_0.sizes,
112
+ thumbnailURL: thumbnailSrc,
113
+ url: src,
114
+ width: value_0.width
115
+ });
116
+ }
107
117
  return _jsx(DraggableSortableItem, {
108
118
  disabled: !isSortable || readonly,
109
119
  id,
@@ -135,7 +145,7 @@ export function UploadComponentHasMany(props) {
135
145
  onRemove: () => removeItem(index_0),
136
146
  reloadDoc,
137
147
  src,
138
- thumbnailSrc: thumbnailSrc || src,
148
+ thumbnailSrc,
139
149
  withMeta: false,
140
150
  x: value_0?.width,
141
151
  y: value_0?.height
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","DraggableSortableItem","DraggableSortable","DragHandleIcon","RelationshipContent","UploadCard","baseClass","UploadComponentHasMany","props","$","className","displayPreview","fileDocs","isSortable","onRemove","onReorder","readonly","reloadDoc","serverURL","t0","moveFromIndex","moveToIndex","updatedArray","item","splice","moveRow","t1","index","updatedArray_0","length","removeItem","t2","filter","Boolean","t3","join","t4","t5","t6","moveFromIndex_0","moveToIndex_0","t7","index_0","relationTo","value","value_0","id","String","src","thumbnailSrc","url","toString","thumbnailURL","_jsx","disabled","children","draggableSortableItemProps","ref","setNodeRef","style","transform","transition","zIndex","isDragging","undefined","_jsxs","size","attributes","listeners","allowEdit","allowRemove","alt","filename","byteSize","filesize","collectionSlug","mimeType","withMeta","x","width","y","height","ids","map","_temp","onDragEnd"],"sources":["../../../../src/fields/Upload/HasMany/index.tsx"],"sourcesContent":["'use client'\nimport type { JsonObject } from 'payload'\n\nimport React from 'react'\n\nimport { DraggableSortableItem } from '../../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../../elements/DraggableSortable/index.js'\nimport { DragHandleIcon } from '../../../icons/DragHandle/index.js'\nimport { RelationshipContent } from '../RelationshipContent/index.js'\nimport { UploadCard } from '../UploadCard/index.js'\n\nconst baseClass = 'upload upload--has-many'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport './index.scss'\n\ntype Props = {\n readonly className?: string\n readonly displayPreview?: boolean\n readonly fileDocs: {\n relationTo: string\n value: JsonObject\n }[]\n readonly isSortable?: boolean\n readonly onRemove?: (value) => void\n readonly onReorder?: (value) => void\n readonly readonly?: boolean\n readonly reloadDoc: ReloadDoc\n readonly serverURL: string\n}\n\nexport function UploadComponentHasMany(props: Props) {\n const {\n className,\n displayPreview,\n fileDocs,\n isSortable,\n onRemove,\n onReorder,\n readonly,\n reloadDoc,\n serverURL,\n } = props\n\n const moveRow = React.useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n if (moveFromIndex === moveToIndex) {\n return\n }\n\n const updatedArray = [...fileDocs]\n const [item] = updatedArray.splice(moveFromIndex, 1)\n\n updatedArray.splice(moveToIndex, 0, item)\n\n onReorder(updatedArray)\n },\n [fileDocs, onReorder],\n )\n\n const removeItem = React.useCallback(\n (index: number) => {\n const updatedArray = [...(fileDocs || [])]\n updatedArray.splice(index, 1)\n onRemove(updatedArray.length === 0 ? [] : updatedArray)\n },\n [fileDocs, onRemove],\n )\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={fileDocs?.map(({ value }) => String(value.id))}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {fileDocs.map(({ relationTo, value }, index) => {\n const id = String(value.id)\n let src: string\n let thumbnailSrc: string\n\n if (value.url) {\n try {\n src = new URL(value.url, serverURL).toString()\n } catch {\n src = `${serverURL}${value.url}`\n }\n }\n\n if (value.thumbnailURL) {\n try {\n thumbnailSrc = new URL(value.thumbnailURL, serverURL).toString()\n } catch {\n thumbnailSrc = `${serverURL}${value.thumbnailURL}`\n }\n }\n\n return (\n <DraggableSortableItem disabled={!isSortable || readonly} id={id} key={id}>\n {(draggableSortableItemProps) => (\n <div\n className={[\n `${baseClass}__dragItem`,\n draggableSortableItemProps && isSortable && `${baseClass}--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={draggableSortableItemProps.setNodeRef}\n style={{\n transform: draggableSortableItemProps.transform,\n transition: draggableSortableItemProps.transition,\n zIndex: draggableSortableItemProps.isDragging ? 1 : undefined,\n }}\n >\n <UploadCard size=\"small\">\n {draggableSortableItemProps && (\n <div\n className={`${baseClass}__drag`}\n {...draggableSortableItemProps.attributes}\n {...draggableSortableItemProps.listeners}\n >\n <DragHandleIcon />\n </div>\n )}\n\n <RelationshipContent\n allowEdit={!readonly}\n allowRemove={!readonly}\n alt={(value?.alt || value?.filename) as string}\n byteSize={value.filesize as number}\n collectionSlug={relationTo}\n displayPreview={displayPreview}\n filename={value.filename as string}\n id={id}\n mimeType={value?.mimeType as string}\n onRemove={() => removeItem(index)}\n reloadDoc={reloadDoc}\n src={src}\n thumbnailSrc={thumbnailSrc || src}\n withMeta={false}\n x={value?.width as number}\n y={value?.height as number}\n />\n </UploadCard>\n </div>\n )}\n </DraggableSortableItem>\n )\n })}\n </DraggableSortable>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","DraggableSortableItem","DraggableSortable","DragHandleIcon","RelationshipContent","UploadCard","baseClass","isImage","getBestFitFromSizes","UploadComponentHasMany","props","$","className","displayPreview","fileDocs","isSortable","onRemove","onReorder","readonly","reloadDoc","serverURL","t0","moveFromIndex","moveToIndex","updatedArray","item","splice","moveRow","t1","index","updatedArray_0","length","removeItem","t2","filter","Boolean","t3","join","t4","t5","t6","moveFromIndex_0","moveToIndex_0","t7","index_0","relationTo","value","value_0","id","String","src","thumbnailSrc","url","toString","thumbnailURL","mimeType","sizes","width","_jsx","disabled","children","draggableSortableItemProps","ref","setNodeRef","style","transform","transition","zIndex","isDragging","undefined","_jsxs","size","attributes","listeners","allowEdit","allowRemove","alt","filename","byteSize","filesize","collectionSlug","withMeta","x","y","height","ids","map","_temp","onDragEnd"],"sources":["../../../../src/fields/Upload/HasMany/index.tsx"],"sourcesContent":["'use client'\nimport type { JsonObject } from 'payload'\n\nimport React from 'react'\n\nimport { DraggableSortableItem } from '../../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../../elements/DraggableSortable/index.js'\nimport { DragHandleIcon } from '../../../icons/DragHandle/index.js'\nimport { RelationshipContent } from '../RelationshipContent/index.js'\nimport { UploadCard } from '../UploadCard/index.js'\n\nconst baseClass = 'upload upload--has-many'\n\nimport { isImage } from 'payload/shared'\n\nimport './index.scss'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport { getBestFitFromSizes } from '../../../utilities/getBestFitFromSizes.js'\n\ntype Props = {\n readonly className?: string\n readonly displayPreview?: boolean\n readonly fileDocs: {\n relationTo: string\n value: JsonObject\n }[]\n readonly isSortable?: boolean\n readonly onRemove?: (value) => void\n readonly onReorder?: (value) => void\n readonly readonly?: boolean\n readonly reloadDoc: ReloadDoc\n readonly serverURL: string\n}\n\nexport function UploadComponentHasMany(props: Props) {\n const {\n className,\n displayPreview,\n fileDocs,\n isSortable,\n onRemove,\n onReorder,\n readonly,\n reloadDoc,\n serverURL,\n } = props\n\n const moveRow = React.useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n if (moveFromIndex === moveToIndex) {\n return\n }\n\n const updatedArray = [...fileDocs]\n const [item] = updatedArray.splice(moveFromIndex, 1)\n\n updatedArray.splice(moveToIndex, 0, item)\n\n onReorder(updatedArray)\n },\n [fileDocs, onReorder],\n )\n\n const removeItem = React.useCallback(\n (index: number) => {\n const updatedArray = [...(fileDocs || [])]\n updatedArray.splice(index, 1)\n onRemove(updatedArray.length === 0 ? [] : updatedArray)\n },\n [fileDocs, onRemove],\n )\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={fileDocs?.map(({ value }) => String(value.id))}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {fileDocs.map(({ relationTo, value }, index) => {\n const id = String(value.id)\n let src: string\n let thumbnailSrc: string\n\n if (value.url) {\n try {\n src = new URL(value.url, serverURL).toString()\n } catch {\n src = `${serverURL}${value.url}`\n }\n }\n\n if (value.thumbnailURL) {\n try {\n thumbnailSrc = new URL(value.thumbnailURL, serverURL).toString()\n } catch {\n thumbnailSrc = `${serverURL}${value.thumbnailURL}`\n }\n }\n\n if (isImage(value.mimeType)) {\n thumbnailSrc = getBestFitFromSizes({\n sizes: value.sizes,\n thumbnailURL: thumbnailSrc,\n url: src,\n width: value.width,\n })\n }\n\n return (\n <DraggableSortableItem disabled={!isSortable || readonly} id={id} key={id}>\n {(draggableSortableItemProps) => (\n <div\n className={[\n `${baseClass}__dragItem`,\n draggableSortableItemProps && isSortable && `${baseClass}--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n ref={draggableSortableItemProps.setNodeRef}\n style={{\n transform: draggableSortableItemProps.transform,\n transition: draggableSortableItemProps.transition,\n zIndex: draggableSortableItemProps.isDragging ? 1 : undefined,\n }}\n >\n <UploadCard size=\"small\">\n {draggableSortableItemProps && (\n <div\n className={`${baseClass}__drag`}\n {...draggableSortableItemProps.attributes}\n {...draggableSortableItemProps.listeners}\n >\n <DragHandleIcon />\n </div>\n )}\n\n <RelationshipContent\n allowEdit={!readonly}\n allowRemove={!readonly}\n alt={(value?.alt || value?.filename) as string}\n byteSize={value.filesize as number}\n collectionSlug={relationTo}\n displayPreview={displayPreview}\n filename={value.filename as string}\n id={id}\n mimeType={value?.mimeType as string}\n onRemove={() => removeItem(index)}\n reloadDoc={reloadDoc}\n src={src}\n thumbnailSrc={thumbnailSrc}\n withMeta={false}\n x={value?.width as number}\n y={value?.height as number}\n />\n </UploadCard>\n </div>\n )}\n </DraggableSortableItem>\n )\n })}\n </DraggableSortable>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Upload/HasOne/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAI5C,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE;QAChB,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,UAAU,CAAA;KAClB,CAAA;IACD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,qBA6CjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Upload/HasOne/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAG5C,OAAO,cAAc,CAAA;AAMrB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE;QAChB,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,UAAU,CAAA;KAClB,CAAA;IACD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,qBAsDjD"}
@@ -1,10 +1,12 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { isImage } from 'payload/shared';
4
5
  import React from 'react';
6
+ import { getBestFitFromSizes } from '../../../utilities/getBestFitFromSizes.js';
7
+ import './index.scss';
5
8
  import { RelationshipContent } from '../RelationshipContent/index.js';
6
9
  import { UploadCard } from '../UploadCard/index.js';
7
- import './index.scss';
8
10
  const baseClass = 'upload upload--has-one';
9
11
  export function UploadComponentHasOne(props) {
10
12
  const {
@@ -37,6 +39,14 @@ export function UploadComponentHasOne(props) {
37
39
  thumbnailSrc = `${serverURL}${value.thumbnailURL}`;
38
40
  }
39
41
  }
42
+ if (isImage(value.mimeType)) {
43
+ thumbnailSrc = getBestFitFromSizes({
44
+ sizes: value.sizes,
45
+ thumbnailURL: thumbnailSrc,
46
+ url: src,
47
+ width: value.width
48
+ });
49
+ }
40
50
  return /*#__PURE__*/_jsx(UploadCard, {
41
51
  className: [baseClass, className].filter(Boolean).join(' '),
42
52
  children: /*#__PURE__*/_jsx(RelationshipContent, {
@@ -52,7 +62,7 @@ export function UploadComponentHasOne(props) {
52
62
  onRemove: onRemove,
53
63
  reloadDoc: reloadDoc,
54
64
  src: src,
55
- thumbnailSrc: thumbnailSrc || src,
65
+ thumbnailSrc: thumbnailSrc,
56
66
  x: value?.width,
57
67
  y: value?.height
58
68
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","RelationshipContent","UploadCard","baseClass","UploadComponentHasOne","props","className","displayPreview","fileDoc","onRemove","readonly","reloadDoc","serverURL","relationTo","value","id","String","src","thumbnailSrc","url","URL","toString","thumbnailURL","_jsx","filter","Boolean","join","allowEdit","allowRemove","alt","filename","byteSize","filesize","collectionSlug","mimeType","x","width","y","height"],"sources":["../../../../src/fields/Upload/HasOne/index.tsx"],"sourcesContent":["'use client'\n\nimport type { JsonObject } from 'payload'\n\nimport React from 'react'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport { RelationshipContent } from '../RelationshipContent/index.js'\nimport { UploadCard } from '../UploadCard/index.js'\nimport './index.scss'\n\nconst baseClass = 'upload upload--has-one'\n\ntype Props = {\n readonly className?: string\n readonly displayPreview?: boolean\n readonly fileDoc: {\n relationTo: string\n value: JsonObject\n }\n readonly onRemove?: () => void\n readonly readonly?: boolean\n readonly reloadDoc: ReloadDoc\n readonly serverURL: string\n}\n\nexport function UploadComponentHasOne(props: Props) {\n const { className, displayPreview, fileDoc, onRemove, readonly, reloadDoc, serverURL } = props\n const { relationTo, value } = fileDoc\n const id = String(value?.id)\n\n let src: string\n let thumbnailSrc: string\n\n if (value.url) {\n try {\n src = new URL(value.url, serverURL).toString()\n } catch {\n src = `${serverURL}${value.url}`\n }\n }\n\n if (value.thumbnailURL) {\n try {\n thumbnailSrc = new URL(value.thumbnailURL, serverURL).toString()\n } catch {\n thumbnailSrc = `${serverURL}${value.thumbnailURL}`\n }\n }\n\n return (\n <UploadCard className={[baseClass, className].filter(Boolean).join(' ')}>\n <RelationshipContent\n allowEdit={!readonly}\n allowRemove={!readonly}\n alt={(value?.alt || value?.filename) as string}\n byteSize={value.filesize as number}\n collectionSlug={relationTo}\n displayPreview={displayPreview}\n filename={value.filename as string}\n id={id}\n mimeType={value?.mimeType as string}\n onRemove={onRemove}\n reloadDoc={reloadDoc}\n src={src}\n thumbnailSrc={thumbnailSrc || src}\n x={value?.width as number}\n y={value?.height as number}\n />\n </UploadCard>\n )\n}\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,MAAW;AAIlB,SAASC,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAC3B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAelB,OAAO,SAASC,sBAAsBC,KAAY;EAChD,MAAM;IAAEC,SAAS;IAAEC,cAAc;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,SAAS;IAAEC;EAAS,CAAE,GAAGP,KAAA;EACzF,MAAM;IAAEQ,UAAU;IAAEC;EAAK,CAAE,GAAGN,OAAA;EAC9B,MAAMO,EAAA,GAAKC,MAAA,CAAOF,KAAA,EAAOC,EAAA;EAEzB,IAAIE,GAAA;EACJ,IAAIC,YAAA;EAEJ,IAAIJ,KAAA,CAAMK,GAAG,EAAE;IACb,IAAI;MACFF,GAAA,GAAM,IAAIG,GAAA,CAAIN,KAAA,CAAMK,GAAG,EAAEP,SAAA,EAAWS,QAAQ;IAC9C,EAAE,MAAM;MACNJ,GAAA,GAAM,GAAGL,SAAA,GAAYE,KAAA,CAAMK,GAAG,EAAE;IAClC;EACF;EAEA,IAAIL,KAAA,CAAMQ,YAAY,EAAE;IACtB,IAAI;MACFJ,YAAA,GAAe,IAAIE,GAAA,CAAIN,KAAA,CAAMQ,YAAY,EAAEV,SAAA,EAAWS,QAAQ;IAChE,EAAE,MAAM;MACNH,YAAA,GAAe,GAAGN,SAAA,GAAYE,KAAA,CAAMQ,YAAY,EAAE;IACpD;EACF;EAEA,oBACEC,IAAA,CAACrB,UAAA;IAAWI,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACkB,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;cACjE,aAAAH,IAAA,CAACtB,mBAAA;MACC0B,SAAA,EAAW,CAACjB,QAAA;MACZkB,WAAA,EAAa,CAAClB,QAAA;MACdmB,GAAA,EAAMf,KAAA,EAAOe,GAAA,IAAOf,KAAA,EAAOgB,QAAA;MAC3BC,QAAA,EAAUjB,KAAA,CAAMkB,QAAQ;MACxBC,cAAA,EAAgBpB,UAAA;MAChBN,cAAA,EAAgBA,cAAA;MAChBuB,QAAA,EAAUhB,KAAA,CAAMgB,QAAQ;MACxBf,EAAA,EAAIA,EAAA;MACJmB,QAAA,EAAUpB,KAAA,EAAOoB,QAAA;MACjBzB,QAAA,EAAUA,QAAA;MACVE,SAAA,EAAWA,SAAA;MACXM,GAAA,EAAKA,GAAA;MACLC,YAAA,EAAcA,YAAA,IAAgBD,GAAA;MAC9BkB,CAAA,EAAGrB,KAAA,EAAOsB,KAAA;MACVC,CAAA,EAAGvB,KAAA,EAAOwB;;;AAIlB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["isImage","React","getBestFitFromSizes","RelationshipContent","UploadCard","baseClass","UploadComponentHasOne","props","className","displayPreview","fileDoc","onRemove","readonly","reloadDoc","serverURL","relationTo","value","id","String","src","thumbnailSrc","url","URL","toString","thumbnailURL","mimeType","sizes","width","_jsx","filter","Boolean","join","allowEdit","allowRemove","alt","filename","byteSize","filesize","collectionSlug","x","y","height"],"sources":["../../../../src/fields/Upload/HasOne/index.tsx"],"sourcesContent":["'use client'\n\nimport type { JsonObject } from 'payload'\n\nimport { isImage } from 'payload/shared'\nimport React from 'react'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport { getBestFitFromSizes } from '../../../utilities/getBestFitFromSizes.js'\nimport './index.scss'\nimport { RelationshipContent } from '../RelationshipContent/index.js'\nimport { UploadCard } from '../UploadCard/index.js'\n\nconst baseClass = 'upload upload--has-one'\n\ntype Props = {\n readonly className?: string\n readonly displayPreview?: boolean\n readonly fileDoc: {\n relationTo: string\n value: JsonObject\n }\n readonly onRemove?: () => void\n readonly readonly?: boolean\n readonly reloadDoc: ReloadDoc\n readonly serverURL: string\n}\n\nexport function UploadComponentHasOne(props: Props) {\n const { className, displayPreview, fileDoc, onRemove, readonly, reloadDoc, serverURL } = props\n const { relationTo, value } = fileDoc\n const id = String(value?.id)\n\n let src: string\n let thumbnailSrc: string\n\n if (value.url) {\n try {\n src = new URL(value.url, serverURL).toString()\n } catch {\n src = `${serverURL}${value.url}`\n }\n }\n\n if (value.thumbnailURL) {\n try {\n thumbnailSrc = new URL(value.thumbnailURL, serverURL).toString()\n } catch {\n thumbnailSrc = `${serverURL}${value.thumbnailURL}`\n }\n }\n\n if (isImage(value.mimeType)) {\n thumbnailSrc = getBestFitFromSizes({\n sizes: value.sizes,\n thumbnailURL: thumbnailSrc,\n url: src,\n width: value.width,\n })\n }\n\n return (\n <UploadCard className={[baseClass, className].filter(Boolean).join(' ')}>\n <RelationshipContent\n allowEdit={!readonly}\n allowRemove={!readonly}\n alt={(value?.alt || value?.filename) as string}\n byteSize={value.filesize as number}\n collectionSlug={relationTo}\n displayPreview={displayPreview}\n filename={value.filename as string}\n id={id}\n mimeType={value?.mimeType as string}\n onRemove={onRemove}\n reloadDoc={reloadDoc}\n src={src}\n thumbnailSrc={thumbnailSrc}\n x={value?.width as number}\n y={value?.height as number}\n />\n </UploadCard>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,OAAO,QAAQ;AACxB,OAAOC,KAAA,MAAW;AAIlB,SAASC,mBAAmB,QAAQ;AACpC,OAAO;AACP,SAASC,mBAAmB,QAAQ;AACpC,SAASC,UAAU,QAAQ;AAE3B,MAAMC,SAAA,GAAY;AAelB,OAAO,SAASC,sBAAsBC,KAAY;EAChD,MAAM;IAAEC,SAAS;IAAEC,cAAc;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,SAAS;IAAEC;EAAS,CAAE,GAAGP,KAAA;EACzF,MAAM;IAAEQ,UAAU;IAAEC;EAAK,CAAE,GAAGN,OAAA;EAC9B,MAAMO,EAAA,GAAKC,MAAA,CAAOF,KAAA,EAAOC,EAAA;EAEzB,IAAIE,GAAA;EACJ,IAAIC,YAAA;EAEJ,IAAIJ,KAAA,CAAMK,GAAG,EAAE;IACb,IAAI;MACFF,GAAA,GAAM,IAAIG,GAAA,CAAIN,KAAA,CAAMK,GAAG,EAAEP,SAAA,EAAWS,QAAQ;IAC9C,EAAE,MAAM;MACNJ,GAAA,GAAM,GAAGL,SAAA,GAAYE,KAAA,CAAMK,GAAG,EAAE;IAClC;EACF;EAEA,IAAIL,KAAA,CAAMQ,YAAY,EAAE;IACtB,IAAI;MACFJ,YAAA,GAAe,IAAIE,GAAA,CAAIN,KAAA,CAAMQ,YAAY,EAAEV,SAAA,EAAWS,QAAQ;IAChE,EAAE,MAAM;MACNH,YAAA,GAAe,GAAGN,SAAA,GAAYE,KAAA,CAAMQ,YAAY,EAAE;IACpD;EACF;EAEA,IAAIxB,OAAA,CAAQgB,KAAA,CAAMS,QAAQ,GAAG;IAC3BL,YAAA,GAAelB,mBAAA,CAAoB;MACjCwB,KAAA,EAAOV,KAAA,CAAMU,KAAK;MAClBF,YAAA,EAAcJ,YAAA;MACdC,GAAA,EAAKF,GAAA;MACLQ,KAAA,EAAOX,KAAA,CAAMW;IACf;EACF;EAEA,oBACEC,IAAA,CAACxB,UAAA;IAAWI,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACqB,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;cACjE,aAAAH,IAAA,CAACzB,mBAAA;MACC6B,SAAA,EAAW,CAACpB,QAAA;MACZqB,WAAA,EAAa,CAACrB,QAAA;MACdsB,GAAA,EAAMlB,KAAA,EAAOkB,GAAA,IAAOlB,KAAA,EAAOmB,QAAA;MAC3BC,QAAA,EAAUpB,KAAA,CAAMqB,QAAQ;MACxBC,cAAA,EAAgBvB,UAAA;MAChBN,cAAA,EAAgBA,cAAA;MAChB0B,QAAA,EAAUnB,KAAA,CAAMmB,QAAQ;MACxBlB,EAAA,EAAIA,EAAA;MACJQ,QAAA,EAAUT,KAAA,EAAOS,QAAA;MACjBd,QAAA,EAAUA,QAAA;MACVE,SAAA,EAAWA,SAAA;MACXM,GAAA,EAAKA,GAAA;MACLC,YAAA,EAAcA,YAAA;MACdmB,CAAA,EAAGvB,KAAA,EAAOW,KAAA;MACVa,CAAA,EAAGxB,KAAA,EAAOyB;;;AAIlB","ignoreList":[]}
@@ -2,7 +2,7 @@
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 { formatFilesize } from 'payload/shared';
5
+ import { formatFilesize, isImage } from 'payload/shared';
6
6
  import React from 'react';
7
7
  import { Button } from '../../../elements/Button/index.js';
8
8
  import { useDocumentDrawer } from '../../../elements/DocumentDrawer/index.js';
@@ -11,7 +11,7 @@ import { useConfig } from '../../../providers/Config/index.js';
11
11
  import './index.scss';
12
12
  const baseClass = 'upload-relationship-details';
13
13
  export function RelationshipContent(props) {
14
- const $ = _c(34);
14
+ const $ = _c(35);
15
15
  const {
16
16
  id,
17
17
  allowEdit,
@@ -111,37 +111,38 @@ export function RelationshipContent(props) {
111
111
  }
112
112
  const t8 = t7.join(" ");
113
113
  let t9;
114
- if ($[14] !== alt || $[15] !== filename || $[16] !== previewAllowed || $[17] !== thumbnailSrc) {
114
+ if ($[14] !== alt || $[15] !== filename || $[16] !== mimeType || $[17] !== previewAllowed || $[18] !== thumbnailSrc) {
115
115
  t9 = previewAllowed && _jsx(ThumbnailComponent, {
116
116
  alt,
117
117
  className: `${baseClass}__thumbnail`,
118
118
  filename,
119
- fileSrc: thumbnailSrc,
119
+ fileSrc: isImage(mimeType) && thumbnailSrc,
120
120
  size: "small"
121
121
  });
122
122
  $[14] = alt;
123
123
  $[15] = filename;
124
- $[16] = previewAllowed;
125
- $[17] = thumbnailSrc;
126
- $[18] = t9;
124
+ $[16] = mimeType;
125
+ $[17] = previewAllowed;
126
+ $[18] = thumbnailSrc;
127
+ $[19] = t9;
127
128
  } else {
128
- t9 = $[18];
129
+ t9 = $[19];
129
130
  }
130
131
  let t10;
131
- if ($[19] !== filename || $[20] !== src) {
132
+ if ($[20] !== filename || $[21] !== src) {
132
133
  t10 = src ? _jsx("a", {
133
134
  href: src,
134
135
  target: "_blank",
135
136
  children: filename
136
137
  }) : filename;
137
- $[19] = filename;
138
- $[20] = src;
139
- $[21] = t10;
138
+ $[20] = filename;
139
+ $[21] = src;
140
+ $[22] = t10;
140
141
  } else {
141
- t10 = $[21];
142
+ t10 = $[22];
142
143
  }
143
144
  let t11;
144
- if ($[22] !== DocumentDrawer || $[23] !== allowEdit || $[24] !== allowRemove || $[25] !== metaText || $[26] !== onRemove || $[27] !== onSave || $[28] !== openDrawer || $[29] !== t10 || $[30] !== t8 || $[31] !== t9 || $[32] !== withMeta) {
145
+ if ($[23] !== DocumentDrawer || $[24] !== allowEdit || $[25] !== allowRemove || $[26] !== metaText || $[27] !== onRemove || $[28] !== onSave || $[29] !== openDrawer || $[30] !== t10 || $[31] !== t8 || $[32] !== t9 || $[33] !== withMeta) {
145
146
  t11 = _jsxs("div", {
146
147
  className: t8,
147
148
  children: [_jsxs("div", {
@@ -175,20 +176,20 @@ export function RelationshipContent(props) {
175
176
  })]
176
177
  }) : null]
177
178
  });
178
- $[22] = DocumentDrawer;
179
- $[23] = allowEdit;
180
- $[24] = allowRemove;
181
- $[25] = metaText;
182
- $[26] = onRemove;
183
- $[27] = onSave;
184
- $[28] = openDrawer;
185
- $[29] = t10;
186
- $[30] = t8;
187
- $[31] = t9;
188
- $[32] = withMeta;
189
- $[33] = t11;
179
+ $[23] = DocumentDrawer;
180
+ $[24] = allowEdit;
181
+ $[25] = allowRemove;
182
+ $[26] = metaText;
183
+ $[27] = onRemove;
184
+ $[28] = onSave;
185
+ $[29] = openDrawer;
186
+ $[30] = t10;
187
+ $[31] = t8;
188
+ $[32] = t9;
189
+ $[33] = withMeta;
190
+ $[34] = t11;
190
191
  } else {
191
- t11 = $[33];
192
+ t11 = $[34];
192
193
  }
193
194
  return t11;
194
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","formatFilesize","React","Button","useDocumentDrawer","ThumbnailComponent","useConfig","baseClass","RelationshipContent","props","$","id","allowEdit","allowRemove","alt","byteSize","className","collectionSlug","displayPreview","filename","mimeType","onRemove","reloadDoc","src","thumbnailSrc","withMeta","t0","x","y","undefined","config","t1","collections","find","collection","slug","collectionConfig","t2","t3","DocumentDrawer","t4","openDrawer","t5","t6","doc","onSave","generateMetaText","mimeType_0","size","sections","push","join","metaText","previewAllowed","upload","t7","filter","Boolean","t8","t9","_jsx","fileSrc","t10","href","target","children","t11","_jsxs","buttonStyle","icon","iconStyle","onClick"],"sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithID } from 'payload'\n\nimport { formatFilesize } from 'payload/shared'\nimport React from 'react'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../../elements/DocumentDrawer/index.js'\nimport { ThumbnailComponent } from '../../../elements/Thumbnail/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport './index.scss'\n\nconst baseClass = 'upload-relationship-details'\n\ntype Props = {\n readonly allowEdit?: boolean\n readonly allowRemove?: boolean\n readonly alt: string\n readonly byteSize: number\n readonly className?: string\n readonly collectionSlug: string\n readonly displayPreview?: boolean\n readonly filename: string\n readonly id?: number | string\n readonly mimeType: string\n readonly onRemove: () => void\n readonly reloadDoc: ReloadDoc\n readonly src: string\n readonly thumbnailSrc: string\n readonly withMeta?: boolean\n readonly x?: number\n readonly y?: number\n}\nexport function RelationshipContent(props: Props) {\n const {\n id,\n allowEdit,\n allowRemove,\n alt,\n byteSize,\n className,\n collectionSlug,\n displayPreview,\n filename,\n mimeType,\n onRemove,\n reloadDoc,\n src,\n thumbnailSrc,\n withMeta = true,\n x,\n y,\n } = props\n\n const { config } = useConfig()\n const collectionConfig =\n 'collections' in config\n ? config.collections.find((collection) => collection.slug === collectionSlug)\n : undefined\n\n const [DocumentDrawer, _, { openDrawer }] = useDocumentDrawer({\n id: src ? id : undefined,\n collectionSlug,\n })\n\n const onSave = React.useCallback(\n async ({ doc }: { doc: TypeWithID }) => reloadDoc(doc.id, collectionSlug),\n [reloadDoc, collectionSlug],\n )\n\n function generateMetaText(mimeType: string, size: number): string {\n const sections: string[] = []\n if (size) {\n sections.push(formatFilesize(size))\n }\n\n if (x && y) {\n sections.push(`${x}x${y}`)\n }\n\n if (mimeType) {\n sections.push(mimeType)\n }\n\n return sections.join(' — ')\n }\n\n const metaText = withMeta ? generateMetaText(mimeType, byteSize) : ''\n const previewAllowed = displayPreview ?? collectionConfig.upload?.displayPreview ?? true\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__imageAndDetails`}>\n {previewAllowed && (\n <ThumbnailComponent\n alt={alt}\n className={`${baseClass}__thumbnail`}\n filename={filename}\n fileSrc={thumbnailSrc}\n size=\"small\"\n />\n )}\n <div className={`${baseClass}__details`}>\n <p className={`${baseClass}__filename`}>\n {src ? (\n <a href={src} target=\"_blank\">\n {filename}\n </a>\n ) : (\n filename\n )}\n </p>\n {withMeta ? <p className={`${baseClass}__meta`}>{metaText}</p> : null}\n </div>\n </div>\n\n {allowEdit !== false || allowRemove !== false ? (\n <div className={`${baseClass}__actions`}>\n {allowEdit !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__edit`}\n icon=\"edit\"\n iconStyle=\"none\"\n onClick={openDrawer}\n />\n ) : null}\n {allowRemove !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"none\"\n onClick={() => onRemove()}\n />\n ) : null}\n <DocumentDrawer onSave={onSave} />\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","formatFilesize","isImage","React","Button","useDocumentDrawer","ThumbnailComponent","useConfig","baseClass","RelationshipContent","props","$","id","allowEdit","allowRemove","alt","byteSize","className","collectionSlug","displayPreview","filename","mimeType","onRemove","reloadDoc","src","thumbnailSrc","withMeta","t0","x","y","undefined","config","t1","collections","find","collection","slug","collectionConfig","t2","t3","DocumentDrawer","t4","openDrawer","t5","t6","doc","onSave","generateMetaText","mimeType_0","size","sections","push","join","metaText","previewAllowed","upload","t7","filter","Boolean","t8","t9","_jsx","fileSrc","t10","href","target","children","t11","_jsxs","buttonStyle","icon","iconStyle","onClick"],"sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithID } from 'payload'\n\nimport { formatFilesize, isImage } from 'payload/shared'\nimport React from 'react'\n\nimport type { ReloadDoc } from '../types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../../elements/DocumentDrawer/index.js'\nimport { ThumbnailComponent } from '../../../elements/Thumbnail/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport './index.scss'\n\nconst baseClass = 'upload-relationship-details'\n\ntype Props = {\n readonly allowEdit?: boolean\n readonly allowRemove?: boolean\n readonly alt: string\n readonly byteSize: number\n readonly className?: string\n readonly collectionSlug: string\n readonly displayPreview?: boolean\n readonly filename: string\n readonly id?: number | string\n readonly mimeType: string\n readonly onRemove: () => void\n readonly reloadDoc: ReloadDoc\n readonly src: string\n readonly thumbnailSrc: string\n readonly withMeta?: boolean\n readonly x?: number\n readonly y?: number\n}\nexport function RelationshipContent(props: Props) {\n const {\n id,\n allowEdit,\n allowRemove,\n alt,\n byteSize,\n className,\n collectionSlug,\n displayPreview,\n filename,\n mimeType,\n onRemove,\n reloadDoc,\n src,\n thumbnailSrc,\n withMeta = true,\n x,\n y,\n } = props\n\n const { config } = useConfig()\n const collectionConfig =\n 'collections' in config\n ? config.collections.find((collection) => collection.slug === collectionSlug)\n : undefined\n\n const [DocumentDrawer, _, { openDrawer }] = useDocumentDrawer({\n id: src ? id : undefined,\n collectionSlug,\n })\n\n const onSave = React.useCallback(\n async ({ doc }: { doc: TypeWithID }) => reloadDoc(doc.id, collectionSlug),\n [reloadDoc, collectionSlug],\n )\n\n function generateMetaText(mimeType: string, size: number): string {\n const sections: string[] = []\n if (size) {\n sections.push(formatFilesize(size))\n }\n\n if (x && y) {\n sections.push(`${x}x${y}`)\n }\n\n if (mimeType) {\n sections.push(mimeType)\n }\n\n return sections.join(' — ')\n }\n\n const metaText = withMeta ? generateMetaText(mimeType, byteSize) : ''\n const previewAllowed = displayPreview ?? collectionConfig.upload?.displayPreview ?? true\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__imageAndDetails`}>\n {previewAllowed && (\n <ThumbnailComponent\n alt={alt}\n className={`${baseClass}__thumbnail`}\n filename={filename}\n fileSrc={isImage(mimeType) && thumbnailSrc}\n size=\"small\"\n />\n )}\n <div className={`${baseClass}__details`}>\n <p className={`${baseClass}__filename`}>\n {src ? (\n <a href={src} target=\"_blank\">\n {filename}\n </a>\n ) : (\n filename\n )}\n </p>\n {withMeta ? <p className={`${baseClass}__meta`}>{metaText}</p> : null}\n </div>\n </div>\n\n {allowEdit !== false || allowRemove !== false ? (\n <div className={`${baseClass}__actions`}>\n {allowEdit !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__edit`}\n icon=\"edit\"\n iconStyle=\"none\"\n onClick={openDrawer}\n />\n ) : null}\n {allowRemove !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"none\"\n onClick={() => onRemove()}\n />\n ) : null}\n <DocumentDrawer onSave={onSave} />\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"fieldReducer.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/fieldReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,SAAS,EAAO,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAgZ7E"}
1
+ {"version":3,"file":"fieldReducer.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/fieldReducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,SAAS,EAAO,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,CAsc7E"}
@@ -55,7 +55,24 @@ export function fieldReducer(state, action) {
55
55
  disableFormData: true,
56
56
  requiresRender: true,
57
57
  rows: withNewRow,
58
- value: siblingRows.length
58
+ value: siblingRows.length,
59
+ /**
60
+ * The `ignoreServerProps` obj is used to prevent the various properties from being overridden across form state requests.
61
+ * This can happen when queueing a form state request with `requiresRender: true` while the another is already processing.
62
+ * For example:
63
+ * 1. One "add row" action will set `requiresRender: true` and dispatch a form state request
64
+ * 2. Another "add row" action will set `requiresRender: true` and queue a form state request
65
+ * 3. The first request will return with `requiresRender: false`
66
+ * 4. The second request will be dispatched with `requiresRender: false` but should be `true`
67
+ * To fix this, only merge the `requiresRender` property if the previous state has not set it to `true`.
68
+ * See the `mergeServerFormState` function for implementation details.
69
+ */
70
+ ...(state[path]?.requiresRender === true ? {
71
+ ignoreServerProps: {
72
+ ...(state[path]?.ignoreServerProps || {}),
73
+ requiresRender: true
74
+ }
75
+ } : state[path]?.ignoreServerProps || {})
59
76
  }
60
77
  };
61
78
  return newState;
@@ -160,7 +177,14 @@ export function fieldReducer(state, action) {
160
177
  disableFormData: true,
161
178
  requiresRender: true,
162
179
  rows: rowsMetadata,
163
- value: rows.length
180
+ value: rows.length,
181
+ // See note above about `ignoreServerProps`
182
+ ...(state[path]?.requiresRender === true ? {
183
+ ignoreServerProps: {
184
+ ...(state[path]?.ignoreServerProps || {}),
185
+ requiresRender: true
186
+ }
187
+ } : state[path]?.ignoreServerProps || {})
164
188
  }
165
189
  };
166
190
  return newState;
@@ -193,7 +217,14 @@ export function fieldReducer(state, action) {
193
217
  [path]: {
194
218
  ...state[path],
195
219
  requiresRender: true,
196
- rows: rowsWithinField
220
+ rows: rowsWithinField,
221
+ // See note above about `ignoreServerProps`
222
+ ...(state[path]?.requiresRender === true ? {
223
+ ignoreServerProps: {
224
+ ...(state[path]?.ignoreServerProps || {}),
225
+ requiresRender: true
226
+ }
227
+ } : state[path]?.ignoreServerProps || {})
197
228
  }
198
229
  };
199
230
  // Do the same for custom components, i.e. `array.customComponents.RowLabels[0]` -> `array.customComponents.RowLabels[1]`
@@ -208,9 +239,7 @@ export function fieldReducer(state, action) {
208
239
  customComponents.RowLabels.length = moveToIndex + 1;
209
240
  }
210
241
  const copyOfMovingLabel = customComponents.RowLabels[moveFromIndex];
211
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
212
242
  customComponents.RowLabels.splice(moveFromIndex, 1);
213
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
214
243
  customComponents.RowLabels.splice(moveToIndex, 0, copyOfMovingLabel);
215
244
  newState[path].customComponents = customComponents;
216
245
  }
@@ -246,7 +275,14 @@ export function fieldReducer(state, action) {
246
275
  disableFormData: rows.length > 0,
247
276
  requiresRender: true,
248
277
  rows: rowsMetadata,
249
- value: rows.length
278
+ value: rows.length,
279
+ // See note above about `ignoreServerProps`
280
+ ...(state[path]?.requiresRender === true ? {
281
+ ignoreServerProps: {
282
+ ...(state[path]?.ignoreServerProps || {}),
283
+ requiresRender: true
284
+ }
285
+ } : state[path]?.ignoreServerProps || {})
250
286
  },
251
287
  ...flattenRows(path, rows)
252
288
  };
@@ -287,7 +323,14 @@ export function fieldReducer(state, action) {
287
323
  ...state[path],
288
324
  disableFormData: true,
289
325
  rows: rowsMetadata,
290
- value: siblingRows.length
326
+ value: siblingRows.length,
327
+ // See note above about `ignoreServerProps`
328
+ ...(state[path]?.requiresRender === true ? {
329
+ ignoreServerProps: {
330
+ ...(state[path]?.ignoreServerProps || {}),
331
+ requiresRender: true
332
+ }
333
+ } : state[path]?.ignoreServerProps || {})
291
334
  }
292
335
  };
293
336
  return newState;
@@ -317,7 +360,7 @@ export function fieldReducer(state, action) {
317
360
  }
318
361
  return newState;
319
362
  }
320
- //TODO: Remove this in 4.0 - this is a temporary fix to prevent a breaking change
363
+ // TODO: Remove this in 4.0 - this is a temporary fix to prevent a breaking change
321
364
  if (action.sanitize) {
322
365
  for (const field of Object.values(action.state)) {
323
366
  if (field.valid !== false) {
@@ -1 +1 @@
1
- {"version":3,"file":"fieldReducer.js","names":["ObjectIdImport","dequal","deepCopyObjectSimple","deepCopyObjectSimpleWithoutReactComponents","flattenRows","separateRows","ObjectId","default","fieldReducer","state","action","type","blockType","path","rowIndex","rowIndexFromArgs","subFieldState","rows","length","withNewRow","newRow","id","value","toHexString","undefined","collapsed","isLoading","splice","initialValue","valid","remainingFields","siblingRows","newState","passesCondition","requiresRender","disableFormData","errorPaths","errors","forEach","message","fieldPath","errorMessage","segments","split","push","fieldErrorPath","parentPath","slice","join","Object","entries","reduce","acc","fieldState","fieldErrorPaths","errorACC","startsWith","changed","newErrorPaths","Array","isArray","includes","rowsMetadata","duplicateRowMetadata","duplicateRowState","key","keys","filter","endsWith","idState","isValid","moveFromIndex","moveToIndex","topLevelRows","copyOfMovingRow","rowsWithinField","copyOfMovingRow2","customComponents","RowLabels","copyOfMovingLabel","rowIndexArg","Math","max","min","optimize","newField","oldField","sanitize","field","values","updatedRows","formState"],"sources":["../../../src/forms/Form/fieldReducer.ts"],"sourcesContent":["'use client'\nimport type { FormField, FormState, Row } from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { deepCopyObjectSimple, deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared'\n\nimport type { FieldAction } from './types.js'\n\nimport { flattenRows, separateRows } from './rows.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\n/**\n * Reducer which modifies the form field state (all the current data of the fields in the form). When called using dispatch, it will return a new state object.\n */\nexport function fieldReducer(state: FormState, action: FieldAction): FormState {\n switch (action.type) {\n case 'ADD_ROW': {\n const { blockType, path, rowIndex: rowIndexFromArgs, subFieldState = {} } = action\n\n const rowIndex =\n typeof rowIndexFromArgs === 'number' ? rowIndexFromArgs : state[path]?.rows?.length || 0\n\n const withNewRow = [...(state[path]?.rows || [])]\n\n const newRow: Row = {\n id: (subFieldState?.id?.value as string) || new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n isLoading: true,\n }\n\n withNewRow.splice(rowIndex, 0, newRow)\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // add new row to array _field state_\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n\n siblingRows.splice(rowIndex, 0, subFieldState)\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [`${path}.${rowIndex}.id`]: {\n initialValue: newRow.id,\n passesCondition: true,\n requiresRender: true,\n valid: true,\n value: newRow.id,\n },\n [path]: {\n ...state[path],\n disableFormData: true,\n requiresRender: true,\n rows: withNewRow,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'ADD_SERVER_ERRORS': {\n let newState = { ...state }\n\n const errorPaths: { fieldErrorPath: string; parentPath: string }[] = []\n\n action.errors.forEach(({ message, path: fieldPath }) => {\n newState[fieldPath] = {\n ...(newState[fieldPath] || {\n initialValue: null,\n value: null,\n }),\n errorMessage: message,\n valid: false,\n }\n\n const segments = fieldPath.split('.')\n if (segments.length > 1) {\n errorPaths.push({\n fieldErrorPath: fieldPath,\n parentPath: segments.slice(0, segments.length - 1).join('.'),\n })\n }\n })\n\n newState = Object.entries(newState).reduce((acc, [path, fieldState]) => {\n const fieldErrorPaths = errorPaths.reduce((errorACC, { fieldErrorPath, parentPath }) => {\n if (parentPath.startsWith(path)) {\n errorACC.push(fieldErrorPath)\n }\n return errorACC\n }, [])\n\n let changed = false\n\n if (fieldErrorPaths.length > 0) {\n const newErrorPaths = Array.isArray(fieldState.errorPaths) ? fieldState.errorPaths : []\n\n fieldErrorPaths.forEach((fieldErrorPath) => {\n if (!newErrorPaths.includes(fieldErrorPath)) {\n newErrorPaths.push(fieldErrorPath)\n changed = true\n }\n })\n\n if (changed) {\n acc[path] = {\n ...fieldState,\n errorPaths: newErrorPaths,\n }\n }\n }\n\n if (!changed) {\n acc[path] = fieldState\n }\n\n return acc\n }, {})\n\n return newState\n }\n\n case 'DUPLICATE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path].rows || [])]\n\n const duplicateRowMetadata = deepCopyObjectSimple(rowsMetadata[rowIndex])\n if (duplicateRowMetadata.id) {\n duplicateRowMetadata.id = new ObjectId().toHexString()\n }\n\n const duplicateRowState = deepCopyObjectSimpleWithoutReactComponents(rows[rowIndex])\n if (duplicateRowState.id) {\n duplicateRowState.id.value = new ObjectId().toHexString()\n duplicateRowState.id.initialValue = new ObjectId().toHexString()\n }\n\n for (const key of Object.keys(duplicateRowState).filter((key) => key.endsWith('.id'))) {\n const idState = duplicateRowState[key]\n\n if (idState && typeof idState.value === 'string' && ObjectId.isValid(idState.value)) {\n duplicateRowState[key].value = new ObjectId().toHexString()\n duplicateRowState[key].initialValue = new ObjectId().toHexString()\n }\n }\n\n // If there are subfields\n if (Object.keys(duplicateRowState).length > 0) {\n // Add new object containing subfield names to unflattenedRows array\n rows.splice(rowIndex + 1, 0, duplicateRowState)\n rowsMetadata.splice(rowIndex + 1, 0, duplicateRowMetadata)\n }\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n disableFormData: true,\n requiresRender: true,\n rows: rowsMetadata,\n value: rows.length,\n },\n }\n\n return newState\n }\n\n case 'MOVE_ROW': {\n const { moveFromIndex, moveToIndex, path } = action\n\n // Handle moving rows on the top-level, i.e. `array.0.text` -> `array.1.text`\n const { remainingFields, rows: topLevelRows } = separateRows(path, state)\n const copyOfMovingRow = topLevelRows[moveFromIndex]\n topLevelRows.splice(moveFromIndex, 1)\n topLevelRows.splice(moveToIndex, 0, copyOfMovingRow)\n\n // modify array/block internal row state (i.e. collapsed, blockType)\n const rowsWithinField = [...(state[path]?.rows || [])]\n const copyOfMovingRow2 = { ...rowsWithinField[moveFromIndex] }\n rowsWithinField.splice(moveFromIndex, 1)\n rowsWithinField.splice(moveToIndex, 0, copyOfMovingRow2)\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, topLevelRows),\n [path]: {\n ...state[path],\n requiresRender: true,\n rows: rowsWithinField,\n },\n }\n\n // Do the same for custom components, i.e. `array.customComponents.RowLabels[0]` -> `array.customComponents.RowLabels[1]`\n // Do this _after_ initializing `newState` to avoid adding the `customComponents` key to the state if it doesn't exist\n if (newState[path]?.customComponents?.RowLabels) {\n const customComponents = {\n ...newState[path].customComponents,\n RowLabels: [...newState[path].customComponents.RowLabels],\n }\n\n // Ensure the array grows if necessary\n if (moveToIndex >= customComponents.RowLabels.length) {\n customComponents.RowLabels.length = moveToIndex + 1\n }\n\n const copyOfMovingLabel = customComponents.RowLabels[moveFromIndex]\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n customComponents.RowLabels.splice(moveFromIndex, 1)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n customComponents.RowLabels.splice(moveToIndex, 0, copyOfMovingLabel)\n\n newState[path].customComponents = customComponents\n }\n\n return newState\n }\n\n case 'REMOVE': {\n const newState = { ...state }\n if (newState[action.path]) {\n delete newState[action.path]\n }\n return newState\n }\n\n case 'REMOVE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path]?.rows || [])]\n\n rows.splice(rowIndex, 1)\n rowsMetadata.splice(rowIndex, 1)\n\n const newState: FormState = {\n ...remainingFields,\n [path]: {\n ...state[path],\n disableFormData: rows.length > 0,\n requiresRender: true,\n rows: rowsMetadata,\n value: rows.length,\n },\n ...flattenRows(path, rows),\n }\n\n return newState\n }\n\n case 'REPLACE_ROW': {\n const { blockType, path, rowIndex: rowIndexArg, subFieldState = {} } = action\n\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n const rowIndex = Math.max(0, Math.min(rowIndexArg, siblingRows?.length - 1 || 0))\n\n const rowsMetadata = [...(state[path]?.rows || [])]\n rowsMetadata[rowIndex] = {\n id: new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n }\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // replace form _field state_\n siblingRows[rowIndex] = subFieldState\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsMetadata,\n value: siblingRows.length,\n },\n }\n\n return newState\n }\n\n case 'REPLACE_STATE': {\n if (action.optimize !== false) {\n // Only update fields that have changed\n // by comparing old value / initialValue to new\n // ..\n // This is a performance enhancement for saving\n // large documents with hundreds of fields\n const newState: FormState = {}\n\n for (const [path, newField] of Object.entries(action.state)) {\n const oldField = state[path]\n\n if (newField.valid !== false) {\n newField.valid = true\n }\n if (newField.passesCondition !== false) {\n newField.passesCondition = true\n }\n\n if (!dequal(oldField, newField)) {\n newState[path] = newField\n } else if (oldField) {\n newState[path] = oldField\n }\n }\n\n return newState\n }\n\n //TODO: Remove this in 4.0 - this is a temporary fix to prevent a breaking change\n if (action.sanitize) {\n for (const field of Object.values(action.state)) {\n if (field.valid !== false) {\n field.valid = true\n }\n if (field.passesCondition !== false) {\n field.passesCondition = true\n }\n }\n }\n // If we're not optimizing, just set the state to the new state\n return action.state\n }\n\n case 'SET_ALL_ROWS_COLLAPSED': {\n const { path, updatedRows } = action\n\n return {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n }\n\n case 'SET_ROW_COLLAPSED': {\n const { path, updatedRows } = action\n\n const newState = {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n\n return newState\n }\n\n case 'UPDATE': {\n const newField = Object.entries(action).reduce(\n (field, [key, value]) => {\n if (\n [\n 'disableFormData',\n 'errorMessage',\n 'initialValue',\n 'rows',\n 'valid',\n 'validate',\n 'value',\n ].includes(key)\n ) {\n return {\n ...field,\n [key]: value,\n }\n }\n\n return field\n },\n state?.[action.path] || ({} as FormField),\n )\n\n const newState = {\n ...state,\n [action.path]: newField,\n }\n\n return newState\n }\n\n case 'UPDATE_MANY': {\n const newState = { ...state }\n\n Object.entries(action.formState).forEach(([path, field]) => {\n newState[path] = field\n })\n\n return newState\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"fieldReducer.js","names":["ObjectIdImport","dequal","deepCopyObjectSimple","deepCopyObjectSimpleWithoutReactComponents","flattenRows","separateRows","ObjectId","default","fieldReducer","state","action","type","blockType","path","rowIndex","rowIndexFromArgs","subFieldState","rows","length","withNewRow","newRow","id","value","toHexString","undefined","collapsed","isLoading","splice","initialValue","valid","remainingFields","siblingRows","newState","passesCondition","requiresRender","disableFormData","ignoreServerProps","errorPaths","errors","forEach","message","fieldPath","errorMessage","segments","split","push","fieldErrorPath","parentPath","slice","join","Object","entries","reduce","acc","fieldState","fieldErrorPaths","errorACC","startsWith","changed","newErrorPaths","Array","isArray","includes","rowsMetadata","duplicateRowMetadata","duplicateRowState","key","keys","filter","endsWith","idState","isValid","moveFromIndex","moveToIndex","topLevelRows","copyOfMovingRow","rowsWithinField","copyOfMovingRow2","customComponents","RowLabels","copyOfMovingLabel","rowIndexArg","Math","max","min","optimize","newField","oldField","sanitize","field","values","updatedRows","formState"],"sources":["../../../src/forms/Form/fieldReducer.ts"],"sourcesContent":["'use client'\nimport type { FormField, FormState, Row } from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { deepCopyObjectSimple, deepCopyObjectSimpleWithoutReactComponents } from 'payload/shared'\n\nimport type { FieldAction } from './types.js'\n\nimport { flattenRows, separateRows } from './rows.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\n/**\n * Reducer which modifies the form field state (all the current data of the fields in the form). When called using dispatch, it will return a new state object.\n */\nexport function fieldReducer(state: FormState, action: FieldAction): FormState {\n switch (action.type) {\n case 'ADD_ROW': {\n const { blockType, path, rowIndex: rowIndexFromArgs, subFieldState = {} } = action\n\n const rowIndex =\n typeof rowIndexFromArgs === 'number' ? rowIndexFromArgs : state[path]?.rows?.length || 0\n\n const withNewRow = [...(state[path]?.rows || [])]\n\n const newRow: Row = {\n id: (subFieldState?.id?.value as string) || new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n isLoading: true,\n }\n\n withNewRow.splice(rowIndex, 0, newRow)\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // add new row to array _field state_\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n\n siblingRows.splice(rowIndex, 0, subFieldState)\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [`${path}.${rowIndex}.id`]: {\n initialValue: newRow.id,\n passesCondition: true,\n requiresRender: true,\n valid: true,\n value: newRow.id,\n },\n [path]: {\n ...state[path],\n disableFormData: true,\n requiresRender: true,\n rows: withNewRow,\n value: siblingRows.length,\n /**\n * The `ignoreServerProps` obj is used to prevent the various properties from being overridden across form state requests.\n * This can happen when queueing a form state request with `requiresRender: true` while the another is already processing.\n * For example:\n * 1. One \"add row\" action will set `requiresRender: true` and dispatch a form state request\n * 2. Another \"add row\" action will set `requiresRender: true` and queue a form state request\n * 3. The first request will return with `requiresRender: false`\n * 4. The second request will be dispatched with `requiresRender: false` but should be `true`\n * To fix this, only merge the `requiresRender` property if the previous state has not set it to `true`.\n * See the `mergeServerFormState` function for implementation details.\n */\n ...(state[path]?.requiresRender === true\n ? {\n ignoreServerProps: {\n ...(state[path]?.ignoreServerProps || {}),\n requiresRender: true,\n },\n }\n : state[path]?.ignoreServerProps || ({} as any)),\n },\n }\n\n return newState\n }\n\n case 'ADD_SERVER_ERRORS': {\n let newState = { ...state }\n\n const errorPaths: { fieldErrorPath: string; parentPath: string }[] = []\n\n action.errors.forEach(({ message, path: fieldPath }) => {\n newState[fieldPath] = {\n ...(newState[fieldPath] || {\n initialValue: null,\n value: null,\n }),\n errorMessage: message,\n valid: false,\n }\n\n const segments = fieldPath.split('.')\n if (segments.length > 1) {\n errorPaths.push({\n fieldErrorPath: fieldPath,\n parentPath: segments.slice(0, segments.length - 1).join('.'),\n })\n }\n })\n\n newState = Object.entries(newState).reduce((acc, [path, fieldState]) => {\n const fieldErrorPaths = errorPaths.reduce((errorACC, { fieldErrorPath, parentPath }) => {\n if (parentPath.startsWith(path)) {\n errorACC.push(fieldErrorPath)\n }\n return errorACC\n }, [])\n\n let changed = false\n\n if (fieldErrorPaths.length > 0) {\n const newErrorPaths = Array.isArray(fieldState.errorPaths) ? fieldState.errorPaths : []\n\n fieldErrorPaths.forEach((fieldErrorPath) => {\n if (!newErrorPaths.includes(fieldErrorPath)) {\n newErrorPaths.push(fieldErrorPath)\n changed = true\n }\n })\n\n if (changed) {\n acc[path] = {\n ...fieldState,\n errorPaths: newErrorPaths,\n }\n }\n }\n\n if (!changed) {\n acc[path] = fieldState\n }\n\n return acc\n }, {})\n\n return newState\n }\n\n case 'DUPLICATE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path].rows || [])]\n\n const duplicateRowMetadata = deepCopyObjectSimple(rowsMetadata[rowIndex])\n if (duplicateRowMetadata.id) {\n duplicateRowMetadata.id = new ObjectId().toHexString()\n }\n\n const duplicateRowState = deepCopyObjectSimpleWithoutReactComponents(rows[rowIndex])\n if (duplicateRowState.id) {\n duplicateRowState.id.value = new ObjectId().toHexString()\n duplicateRowState.id.initialValue = new ObjectId().toHexString()\n }\n\n for (const key of Object.keys(duplicateRowState).filter((key) => key.endsWith('.id'))) {\n const idState = duplicateRowState[key]\n\n if (idState && typeof idState.value === 'string' && ObjectId.isValid(idState.value)) {\n duplicateRowState[key].value = new ObjectId().toHexString()\n duplicateRowState[key].initialValue = new ObjectId().toHexString()\n }\n }\n\n // If there are subfields\n if (Object.keys(duplicateRowState).length > 0) {\n // Add new object containing subfield names to unflattenedRows array\n rows.splice(rowIndex + 1, 0, duplicateRowState)\n rowsMetadata.splice(rowIndex + 1, 0, duplicateRowMetadata)\n }\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, rows),\n [path]: {\n ...state[path],\n disableFormData: true,\n requiresRender: true,\n rows: rowsMetadata,\n value: rows.length,\n // See note above about `ignoreServerProps`\n ...(state[path]?.requiresRender === true\n ? {\n ignoreServerProps: {\n ...(state[path]?.ignoreServerProps || {}),\n requiresRender: true,\n },\n }\n : state[path]?.ignoreServerProps || ({} as any)),\n },\n }\n\n return newState\n }\n\n case 'MOVE_ROW': {\n const { moveFromIndex, moveToIndex, path } = action\n\n // Handle moving rows on the top-level, i.e. `array.0.text` -> `array.1.text`\n const { remainingFields, rows: topLevelRows } = separateRows(path, state)\n const copyOfMovingRow = topLevelRows[moveFromIndex]\n topLevelRows.splice(moveFromIndex, 1)\n topLevelRows.splice(moveToIndex, 0, copyOfMovingRow)\n\n // modify array/block internal row state (i.e. collapsed, blockType)\n const rowsWithinField = [...(state[path]?.rows || [])]\n const copyOfMovingRow2 = { ...rowsWithinField[moveFromIndex] }\n rowsWithinField.splice(moveFromIndex, 1)\n rowsWithinField.splice(moveToIndex, 0, copyOfMovingRow2)\n\n const newState = {\n ...remainingFields,\n ...flattenRows(path, topLevelRows),\n [path]: {\n ...state[path],\n requiresRender: true,\n rows: rowsWithinField,\n // See note above about `ignoreServerProps`\n ...(state[path]?.requiresRender === true\n ? {\n ignoreServerProps: {\n ...(state[path]?.ignoreServerProps || {}),\n requiresRender: true,\n },\n }\n : state[path]?.ignoreServerProps || ({} as any)),\n },\n }\n\n // Do the same for custom components, i.e. `array.customComponents.RowLabels[0]` -> `array.customComponents.RowLabels[1]`\n // Do this _after_ initializing `newState` to avoid adding the `customComponents` key to the state if it doesn't exist\n if (newState[path]?.customComponents?.RowLabels) {\n const customComponents = {\n ...newState[path].customComponents,\n RowLabels: [...newState[path].customComponents.RowLabels],\n }\n\n // Ensure the array grows if necessary\n if (moveToIndex >= customComponents.RowLabels.length) {\n customComponents.RowLabels.length = moveToIndex + 1\n }\n\n const copyOfMovingLabel = customComponents.RowLabels[moveFromIndex]\n\n customComponents.RowLabels.splice(moveFromIndex, 1)\n\n customComponents.RowLabels.splice(moveToIndex, 0, copyOfMovingLabel)\n\n newState[path].customComponents = customComponents\n }\n\n return newState\n }\n\n case 'REMOVE': {\n const newState = { ...state }\n if (newState[action.path]) {\n delete newState[action.path]\n }\n return newState\n }\n\n case 'REMOVE_ROW': {\n const { path, rowIndex } = action\n const { remainingFields, rows } = separateRows(path, state)\n const rowsMetadata = [...(state[path]?.rows || [])]\n\n rows.splice(rowIndex, 1)\n rowsMetadata.splice(rowIndex, 1)\n\n const newState: FormState = {\n ...remainingFields,\n [path]: {\n ...state[path],\n disableFormData: rows.length > 0,\n requiresRender: true,\n rows: rowsMetadata,\n value: rows.length,\n // See note above about `ignoreServerProps`\n ...(state[path]?.requiresRender === true\n ? {\n ignoreServerProps: {\n ...(state[path]?.ignoreServerProps || {}),\n requiresRender: true,\n },\n }\n : state[path]?.ignoreServerProps || ({} as any)),\n },\n ...flattenRows(path, rows),\n }\n\n return newState\n }\n\n case 'REPLACE_ROW': {\n const { blockType, path, rowIndex: rowIndexArg, subFieldState = {} } = action\n\n const { remainingFields, rows: siblingRows } = separateRows(path, state)\n const rowIndex = Math.max(0, Math.min(rowIndexArg, siblingRows?.length - 1 || 0))\n\n const rowsMetadata = [...(state[path]?.rows || [])]\n rowsMetadata[rowIndex] = {\n id: new ObjectId().toHexString(),\n blockType: blockType || undefined,\n collapsed: false,\n }\n\n if (blockType) {\n subFieldState.blockType = {\n initialValue: blockType,\n valid: true,\n value: blockType,\n }\n }\n\n // replace form _field state_\n siblingRows[rowIndex] = subFieldState\n\n const newState: FormState = {\n ...remainingFields,\n ...flattenRows(path, siblingRows),\n [path]: {\n ...state[path],\n disableFormData: true,\n rows: rowsMetadata,\n value: siblingRows.length,\n // See note above about `ignoreServerProps`\n ...(state[path]?.requiresRender === true\n ? {\n ignoreServerProps: {\n ...(state[path]?.ignoreServerProps || {}),\n requiresRender: true,\n },\n }\n : state[path]?.ignoreServerProps || ({} as any)),\n },\n }\n\n return newState\n }\n\n case 'REPLACE_STATE': {\n if (action.optimize !== false) {\n // Only update fields that have changed\n // by comparing old value / initialValue to new\n // ..\n // This is a performance enhancement for saving\n // large documents with hundreds of fields\n const newState: FormState = {}\n\n for (const [path, newField] of Object.entries(action.state)) {\n const oldField = state[path]\n\n if (newField.valid !== false) {\n newField.valid = true\n }\n if (newField.passesCondition !== false) {\n newField.passesCondition = true\n }\n\n if (!dequal(oldField, newField)) {\n newState[path] = newField\n } else if (oldField) {\n newState[path] = oldField\n }\n }\n\n return newState\n }\n\n // TODO: Remove this in 4.0 - this is a temporary fix to prevent a breaking change\n if (action.sanitize) {\n for (const field of Object.values(action.state)) {\n if (field.valid !== false) {\n field.valid = true\n }\n if (field.passesCondition !== false) {\n field.passesCondition = true\n }\n }\n }\n // If we're not optimizing, just set the state to the new state\n return action.state\n }\n\n case 'SET_ALL_ROWS_COLLAPSED': {\n const { path, updatedRows } = action\n\n return {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n }\n\n case 'SET_ROW_COLLAPSED': {\n const { path, updatedRows } = action\n\n const newState = {\n ...state,\n [path]: {\n ...state[path],\n rows: updatedRows,\n },\n }\n\n return newState\n }\n\n case 'UPDATE': {\n const newField = Object.entries(action).reduce(\n (field, [key, value]) => {\n if (\n [\n 'disableFormData',\n 'errorMessage',\n 'initialValue',\n 'rows',\n 'valid',\n 'validate',\n 'value',\n ].includes(key)\n ) {\n return {\n ...field,\n [key]: value,\n }\n }\n\n return field\n },\n state?.[action.path] || ({} as FormField),\n )\n\n const newState = {\n ...state,\n [action.path]: newField,\n }\n\n return newState\n }\n\n case 'UPDATE_MANY': {\n const newState = { ...state }\n\n Object.entries(action.formState).forEach(([path, field]) => {\n newState[path] = field\n })\n\n return newState\n }\n\n default: {\n return state\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAGnF,OAAO,KAAK,EAGV,SAAS,EAGV,MAAM,YAAY,CAAA;AAqCnB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA0vBpC,CAAA;AAED,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAGnF,OAAO,KAAK,EAGV,SAAS,EAGV,MAAM,YAAY,CAAA;AAqCnB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAywBpC,CAAA;AAED,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,SAAS,EAAE,CAAA"}