@payloadcms/ui 3.28.0-internal.b3cf0a3 → 3.28.0-internal.c4e1bed

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 (73) hide show
  1. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  2. package/dist/elements/DocumentControls/index.js +2 -1
  3. package/dist/elements/DocumentControls/index.js.map +1 -1
  4. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  5. package/dist/elements/FileDetails/StaticFileDetails/index.js +2 -1
  6. package/dist/elements/FileDetails/StaticFileDetails/index.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 +26 -17
  9. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  10. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +2 -2
  11. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  12. package/dist/elements/ThumbnailCard/index.scss +2 -1
  13. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  14. package/dist/elements/Toasts/fieldErrors.js +2 -1
  15. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  16. package/dist/exports/client/index.js +23 -23
  17. package/dist/exports/client/index.js.map +4 -4
  18. package/dist/fields/Blocks/BlocksDrawer/index.js +5 -5
  19. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  20. package/dist/fields/Blocks/BlocksDrawer/index.scss +11 -2
  21. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  22. package/dist/fields/Collapsible/index.js +2 -1
  23. package/dist/fields/Collapsible/index.js.map +1 -1
  24. package/dist/fields/Row/index.d.ts.map +1 -1
  25. package/dist/fields/Row/index.js +3 -1
  26. package/dist/fields/Row/index.js.map +1 -1
  27. package/dist/fields/Row/index.scss +7 -0
  28. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  29. package/dist/fields/Tabs/Tab/index.js +35 -61
  30. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  31. package/dist/fields/Upload/HasMany/index.d.ts +1 -0
  32. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  33. package/dist/fields/Upload/HasMany/index.js +28 -24
  34. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  35. package/dist/fields/Upload/HasOne/index.d.ts +1 -0
  36. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
  37. package/dist/fields/Upload/HasOne/index.js +2 -0
  38. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  39. package/dist/fields/Upload/Input.d.ts +1 -0
  40. package/dist/fields/Upload/Input.d.ts.map +1 -1
  41. package/dist/fields/Upload/Input.js +34 -30
  42. package/dist/fields/Upload/Input.js.map +1 -1
  43. package/dist/fields/Upload/RelationshipContent/index.d.ts +1 -0
  44. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
  45. package/dist/fields/Upload/RelationshipContent/index.js +102 -77
  46. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  47. package/dist/fields/Upload/index.d.ts.map +1 -1
  48. package/dist/fields/Upload/index.js +2 -0
  49. package/dist/fields/Upload/index.js.map +1 -1
  50. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  51. package/dist/forms/Form/mergeServerFormState.js +1 -1
  52. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  53. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
  54. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  55. package/dist/forms/WatchChildErrors/buildPathSegments.js +8 -11
  56. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  57. package/dist/forms/WatchChildErrors/index.d.ts +6 -0
  58. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  59. package/dist/forms/WatchChildErrors/index.js +29 -17
  60. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  61. package/dist/graphics/DefaultBlockImage/index.d.ts.map +1 -1
  62. package/dist/graphics/DefaultBlockImage/index.js +54 -24
  63. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  64. package/dist/styles.css +1 -1
  65. package/package.json +4 -4
  66. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.d.ts +0 -9
  67. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.d.ts.map +0 -1
  68. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +0 -29
  69. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +0 -1
  70. package/dist/forms/WatchChildErrors/getNestedFieldState.d.ts +0 -12
  71. package/dist/forms/WatchChildErrors/getNestedFieldState.d.ts.map +0 -1
  72. package/dist/forms/WatchChildErrors/getNestedFieldState.js +0 -24
  73. package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","formatFilesize","React","Button","useDocumentDrawer","ThumbnailComponent","baseClass","RelationshipContent","props","$","id","allowEdit","allowRemove","alt","byteSize","className","collectionSlug","filename","mimeType","onRemove","reloadDoc","src","thumbnailSrc","withMeta","t0","x","y","undefined","t1","t2","DocumentDrawer","t3","openDrawer","t4","t5","doc","onSave","generateMetaText","mimeType_0","size","sections","push","join","metaText","t6","filter","Boolean","t7","t8","t9","_jsx","href","target","children","_jsxs","fileSrc","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 './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 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 filename,\n mimeType,\n onRemove,\n reloadDoc,\n src,\n thumbnailSrc,\n withMeta = true,\n x,\n y,\n } = props\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\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__imageAndDetails`}>\n <ThumbnailComponent\n alt={alt}\n className={`${baseClass}__thumbnail`}\n filename={filename}\n fileSrc={thumbnailSrc}\n size=\"small\"\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","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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAkB,MAAM,OAAO,CAAA;AAKtC,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,eAAO,MAAM,SAAS,WAAW,CAAA;AAEjC,wBAAgB,eAAe,CAAC,KAAK,EAAE,sBAAsB,qBAqE5D;AAED,eAAO,MAAM,WAAW,kCAAiC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAkB,MAAM,OAAO,CAAA;AAKtC,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,eAAO,MAAM,SAAS,WAAW,CAAA;AAEjC,wBAAgB,eAAe,CAAC,KAAK,EAAE,sBAAsB,qBAwE5D;AAED,eAAO,MAAM,WAAW,kCAAiC,CAAA"}
@@ -34,6 +34,7 @@ export function UploadComponent(props) {
34
34
  const {
35
35
  config
36
36
  } = useConfig();
37
+ const displayPreview = field.displayPreview;
37
38
  const memoizedValidate = React.useCallback((value, options) => {
38
39
  if (typeof validate === 'function') {
39
40
  return validate(value, {
@@ -67,6 +68,7 @@ export function UploadComponent(props) {
67
68
  className: className,
68
69
  Description: Description,
69
70
  description: description,
71
+ displayPreview: displayPreview,
70
72
  Error: Error,
71
73
  filterOptions: filterOptions,
72
74
  hasMany: hasMany,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","useField","withCondition","useConfig","mergeFieldStyles","UploadInput","baseClass","UploadComponent","props","field","admin","allowCreate","className","description","isSortable","hasMany","label","localized","maxRows","relationTo","required","path","readOnly","validate","config","memoizedValidate","useCallback","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","filterOptions","setValue","showError","styles","_jsx","api","routes","onChange","serverURL","style","UploadField"],"sources":["../../../src/fields/Upload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UploadFieldClientProps } from 'payload'\n\nimport React, { useMemo } from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport './index.scss'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { UploadInput } from './Input.js'\n\nexport { UploadInput } from './Input.js'\nexport type { UploadInputProps } from './Input.js'\n\nexport const baseClass = 'upload'\n\nexport function UploadComponent(props: UploadFieldClientProps) {\n const {\n field,\n field: {\n admin: { allowCreate, className, description, isSortable } = {},\n hasMany,\n label,\n localized,\n maxRows,\n relationTo,\n required,\n },\n path,\n readOnly,\n validate,\n } = props\n\n const { config } = useConfig()\n\n const memoizedValidate = React.useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n filterOptions,\n setValue,\n showError,\n value,\n } = useField<string | string[]>({\n path,\n validate: memoizedValidate,\n })\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <UploadInput\n AfterInput={AfterInput}\n allowCreate={allowCreate !== false}\n api={config.routes.api}\n BeforeInput={BeforeInput}\n className={className}\n Description={Description}\n description={description}\n Error={Error}\n filterOptions={filterOptions}\n hasMany={hasMany}\n isSortable={isSortable}\n label={label}\n Label={Label}\n localized={localized}\n maxRows={maxRows}\n onChange={setValue}\n path={path}\n readOnly={readOnly}\n relationTo={relationTo}\n required={required}\n serverURL={config.serverURL}\n showError={showError}\n style={styles}\n value={value}\n />\n )\n}\n\nexport const UploadField = withCondition(UploadComponent)\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,IAASC,OAAO,QAAQ;AAE/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,aAAa,QAAQ;AAC9B,SAASC,SAAS,QAAQ;AAC1B,OAAO;AACP,SAASC,gBAAgB,QAAQ;AACjC,SAASC,WAAW,QAAQ;AAE5B,SAASA,WAAW,QAAQ;AAG5B,OAAO,MAAMC,SAAA,GAAY;AAEzB,OAAO,SAASC,gBAAgBC,KAA6B;EAC3D,MAAM;IACJC,KAAK;IACLA,KAAA,EAAO;MACLC,KAAA,EAAO;QAAEC,WAAW;QAAEC,SAAS;QAAEC,WAAW;QAAEC;MAAU,CAAE,GAAG,CAAC,CAAC;MAC/DC,OAAO;MACPC,KAAK;MACLC,SAAS;MACTC,OAAO;MACPC,UAAU;MACVC;IAAQ,CACT;IACDC,IAAI;IACJC,QAAQ;IACRC;EAAQ,CACT,GAAGf,KAAA;EAEJ,MAAM;IAAEgB;EAAM,CAAE,GAAGrB,SAAA;EAEnB,MAAMsB,gBAAA,GAAmB1B,KAAA,CAAM2B,WAAW,CACxC,CAACC,KAAA,EAAOC,OAAA;IACN,IAAI,OAAOL,QAAA,KAAa,YAAY;MAClC,OAAOA,QAAA,CAASI,KAAA,EAAO;QAAE,GAAGC,OAAO;QAAER;MAAS;IAChD;EACF,GACA,CAACG,QAAA,EAAUH,QAAA,CAAS;EAGtB,MAAM;IACJS,gBAAA,EAAkB;MAAEC,UAAU;MAAEC,WAAW;MAAEC,WAAW;MAAEC,KAAK;MAAEC;IAAK,CAAE,GAAG,CAAC,CAAC;IAC7EC,aAAa;IACbC,QAAQ;IACRC,SAAS;IACTV,KAAK,EAALA;EAAK,CACN,GAAG1B,QAAA,CAA4B;IAC9BoB,IAAA;IACAE,QAAA,EAAUE;EACZ;EAEA,MAAMa,MAAA,GAAStC,OAAA,CAAQ,MAAMI,gBAAA,CAAiBK,KAAA,GAAQ,CAACA,KAAA,CAAM;EAE7D,oBACE8B,IAAA,CAAClC,WAAA;IACCyB,UAAA,EAAYA,UAAA;IACZnB,WAAA,EAAaA,WAAA,KAAgB;IAC7B6B,GAAA,EAAKhB,MAAA,CAAOiB,MAAM,CAACD,GAAG;IACtBT,WAAA,EAAaA,WAAA;IACbnB,SAAA,EAAWA,SAAA;IACXoB,WAAA,EAAaA,WAAA;IACbnB,WAAA,EAAaA,WAAA;IACboB,KAAA,EAAOA,KAAA;IACPE,aAAA,EAAeA,aAAA;IACfpB,OAAA,EAASA,OAAA;IACTD,UAAA,EAAYA,UAAA;IACZE,KAAA,EAAOA,KAAA;IACPkB,KAAA,EAAOA,KAAA;IACPjB,SAAA,EAAWA,SAAA;IACXC,OAAA,EAASA,OAAA;IACTwB,QAAA,EAAUN,QAAA;IACVf,IAAA,EAAMA,IAAA;IACNC,QAAA,EAAUA,QAAA;IACVH,UAAA,EAAYA,UAAA;IACZC,QAAA,EAAUA,QAAA;IACVuB,SAAA,EAAWnB,MAAA,CAAOmB,SAAS;IAC3BN,SAAA,EAAWA,SAAA;IACXO,KAAA,EAAON,MAAA;IACPX,KAAA,EAAOA;;AAGb;AAEA,OAAO,MAAMkB,WAAA,GAAc3C,aAAA,CAAcK,eAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","useField","withCondition","useConfig","mergeFieldStyles","UploadInput","baseClass","UploadComponent","props","field","admin","allowCreate","className","description","isSortable","hasMany","label","localized","maxRows","relationTo","required","path","readOnly","validate","config","displayPreview","memoizedValidate","useCallback","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","filterOptions","setValue","showError","styles","_jsx","api","routes","onChange","serverURL","style","UploadField"],"sources":["../../../src/fields/Upload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UploadFieldClientProps } from 'payload'\n\nimport React, { useMemo } from 'react'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport './index.scss'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { UploadInput } from './Input.js'\n\nexport { UploadInput } from './Input.js'\nexport type { UploadInputProps } from './Input.js'\n\nexport const baseClass = 'upload'\n\nexport function UploadComponent(props: UploadFieldClientProps) {\n const {\n field,\n field: {\n admin: { allowCreate, className, description, isSortable } = {},\n hasMany,\n label,\n localized,\n maxRows,\n relationTo,\n required,\n },\n path,\n readOnly,\n validate,\n } = props\n\n const { config } = useConfig()\n\n const displayPreview = field.displayPreview\n\n const memoizedValidate = React.useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n filterOptions,\n setValue,\n showError,\n value,\n } = useField<string | string[]>({\n path,\n validate: memoizedValidate,\n })\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <UploadInput\n AfterInput={AfterInput}\n allowCreate={allowCreate !== false}\n api={config.routes.api}\n BeforeInput={BeforeInput}\n className={className}\n Description={Description}\n description={description}\n displayPreview={displayPreview}\n Error={Error}\n filterOptions={filterOptions}\n hasMany={hasMany}\n isSortable={isSortable}\n label={label}\n Label={Label}\n localized={localized}\n maxRows={maxRows}\n onChange={setValue}\n path={path}\n readOnly={readOnly}\n relationTo={relationTo}\n required={required}\n serverURL={config.serverURL}\n showError={showError}\n style={styles}\n value={value}\n />\n )\n}\n\nexport const UploadField = withCondition(UploadComponent)\n"],"mappings":"AAAA;;;AAIA,OAAOA,KAAA,IAASC,OAAO,QAAQ;AAE/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,aAAa,QAAQ;AAC9B,SAASC,SAAS,QAAQ;AAC1B,OAAO;AACP,SAASC,gBAAgB,QAAQ;AACjC,SAASC,WAAW,QAAQ;AAE5B,SAASA,WAAW,QAAQ;AAG5B,OAAO,MAAMC,SAAA,GAAY;AAEzB,OAAO,SAASC,gBAAgBC,KAA6B;EAC3D,MAAM;IACJC,KAAK;IACLA,KAAA,EAAO;MACLC,KAAA,EAAO;QAAEC,WAAW;QAAEC,SAAS;QAAEC,WAAW;QAAEC;MAAU,CAAE,GAAG,CAAC,CAAC;MAC/DC,OAAO;MACPC,KAAK;MACLC,SAAS;MACTC,OAAO;MACPC,UAAU;MACVC;IAAQ,CACT;IACDC,IAAI;IACJC,QAAQ;IACRC;EAAQ,CACT,GAAGf,KAAA;EAEJ,MAAM;IAAEgB;EAAM,CAAE,GAAGrB,SAAA;EAEnB,MAAMsB,cAAA,GAAiBhB,KAAA,CAAMgB,cAAc;EAE3C,MAAMC,gBAAA,GAAmB3B,KAAA,CAAM4B,WAAW,CACxC,CAACC,KAAA,EAAOC,OAAA;IACN,IAAI,OAAON,QAAA,KAAa,YAAY;MAClC,OAAOA,QAAA,CAASK,KAAA,EAAO;QAAE,GAAGC,OAAO;QAAET;MAAS;IAChD;EACF,GACA,CAACG,QAAA,EAAUH,QAAA,CAAS;EAGtB,MAAM;IACJU,gBAAA,EAAkB;MAAEC,UAAU;MAAEC,WAAW;MAAEC,WAAW;MAAEC,KAAK;MAAEC;IAAK,CAAE,GAAG,CAAC,CAAC;IAC7EC,aAAa;IACbC,QAAQ;IACRC,SAAS;IACTV,KAAK,EAALA;EAAK,CACN,GAAG3B,QAAA,CAA4B;IAC9BoB,IAAA;IACAE,QAAA,EAAUG;EACZ;EAEA,MAAMa,MAAA,GAASvC,OAAA,CAAQ,MAAMI,gBAAA,CAAiBK,KAAA,GAAQ,CAACA,KAAA,CAAM;EAE7D,oBACE+B,IAAA,CAACnC,WAAA;IACC0B,UAAA,EAAYA,UAAA;IACZpB,WAAA,EAAaA,WAAA,KAAgB;IAC7B8B,GAAA,EAAKjB,MAAA,CAAOkB,MAAM,CAACD,GAAG;IACtBT,WAAA,EAAaA,WAAA;IACbpB,SAAA,EAAWA,SAAA;IACXqB,WAAA,EAAaA,WAAA;IACbpB,WAAA,EAAaA,WAAA;IACbY,cAAA,EAAgBA,cAAA;IAChBS,KAAA,EAAOA,KAAA;IACPE,aAAA,EAAeA,aAAA;IACfrB,OAAA,EAASA,OAAA;IACTD,UAAA,EAAYA,UAAA;IACZE,KAAA,EAAOA,KAAA;IACPmB,KAAA,EAAOA,KAAA;IACPlB,SAAA,EAAWA,SAAA;IACXC,OAAA,EAASA,OAAA;IACTyB,QAAA,EAAUN,QAAA;IACVhB,IAAA,EAAMA,IAAA;IACNC,QAAA,EAAUA,QAAA;IACVH,UAAA,EAAYA,UAAA;IACZC,QAAA,EAAUA,QAAA;IACVwB,SAAA,EAAWpB,MAAA,CAAOoB,SAAS;IAC3BN,SAAA,EAAWA,SAAA;IACXO,KAAA,EAAON,MAAA;IACPX,KAAA,EAAOA;;AAGb;AAEA,OAAO,MAAMkB,WAAA,GAAc5C,aAAA,CAAcK,eAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"mergeServerFormState.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/mergeServerFormState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC,KAAK,IAAI,GAAG;IACV,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,EAAE,SAAS,CAAA;IACxB,aAAa,EAAE,SAAS,CAAA;CACzB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,oDAI9B,IAAI,KAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CA8FhD,CAAA"}
1
+ {"version":3,"file":"mergeServerFormState.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/mergeServerFormState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC,KAAK,IAAI,GAAG;IACV,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,EAAE,SAAS,CAAA;IACxB,aAAa,EAAE,SAAS,CAAA;CACzB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,oDAI9B,IAAI,KAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CA+FhD,CAAA"}
@@ -17,7 +17,7 @@ export const mergeServerFormState = ({
17
17
  let changed = false;
18
18
  const newState = {};
19
19
  if (existingState) {
20
- const serverPropsToAccept = ['passesCondition', 'valid', 'errorMessage', 'rows', 'customComponents', 'requiresRender'];
20
+ const serverPropsToAccept = ['passesCondition', 'valid', 'errorMessage', 'errorPaths', 'rows', 'customComponents', 'requiresRender'];
21
21
  if (acceptValues) {
22
22
  serverPropsToAccept.push('value');
23
23
  serverPropsToAccept.push('initialValue');
@@ -1 +1 @@
1
- {"version":3,"file":"mergeServerFormState.js","names":["dequal","mergeErrorPaths","mergeServerFormState","acceptValues","existingState","incomingState","changed","newState","serverPropsToAccept","push","path","newFieldState","Object","entries","fieldChanged","errorPathsResult","errorPaths","result","filterOptions","forEach","prop","valid","passesCondition","field"],"sources":["../../../src/forms/Form/mergeServerFormState.ts"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { type FormState } from 'payload'\n\nimport { mergeErrorPaths } from './mergeErrorPaths.js'\n\ntype Args = {\n acceptValues?: boolean\n existingState: FormState\n incomingState: FormState\n}\n\n/**\n * Merges certain properties from the server state into the client state. These do not include values,\n * as we do not want to update them on the client like that, which would cause flickering.\n *\n * We want to use this to update the error state, and other properties that are not user input, as the error state\n * is the thing we want to keep in sync with the server (where it's calculated) on the client.\n */\nexport const mergeServerFormState = ({\n acceptValues,\n existingState,\n incomingState,\n}: Args): { changed: boolean; newState: FormState } => {\n let changed = false\n\n const newState = {}\n\n if (existingState) {\n const serverPropsToAccept = [\n 'passesCondition',\n 'valid',\n 'errorMessage',\n 'rows',\n 'customComponents',\n 'requiresRender',\n ]\n\n if (acceptValues) {\n serverPropsToAccept.push('value')\n serverPropsToAccept.push('initialValue')\n }\n\n for (const [path, newFieldState] of Object.entries(existingState)) {\n if (!incomingState[path]) {\n continue\n }\n let fieldChanged = false\n\n /**\n * Handle error paths\n */\n const errorPathsResult = mergeErrorPaths(\n newFieldState.errorPaths,\n incomingState[path].errorPaths as unknown as string[],\n )\n if (errorPathsResult.result) {\n if (errorPathsResult.changed) {\n changed = errorPathsResult.changed\n }\n newFieldState.errorPaths = errorPathsResult.result\n }\n\n /**\n * Handle filterOptions\n */\n if (incomingState[path]?.filterOptions || newFieldState.filterOptions) {\n if (!dequal(incomingState[path]?.filterOptions, newFieldState.filterOptions)) {\n changed = true\n fieldChanged = true\n newFieldState.filterOptions = incomingState[path].filterOptions\n }\n }\n\n /**\n * Handle adding all the remaining props that should be updated in the local form state from the server form state\n */\n serverPropsToAccept.forEach((prop) => {\n if (!dequal(incomingState[path]?.[prop], newFieldState[prop])) {\n changed = true\n fieldChanged = true\n if (!(prop in incomingState[path])) {\n // Regarding excluding the customComponents prop from being deleted: the incoming state might not have been rendered, as rendering components for every form onchange is expensive.\n // Thus, we simply re-use the initial render state\n if (prop !== 'customComponents') {\n delete newFieldState[prop]\n }\n } else {\n newFieldState[prop] = incomingState[path][prop]\n }\n }\n })\n\n if (newFieldState.valid !== false) {\n newFieldState.valid = true\n }\n if (newFieldState.passesCondition !== false) {\n newFieldState.passesCondition = true\n }\n\n // Conditions don't work if we don't memcopy the new state, as the object references would otherwise be the same\n newState[path] = fieldChanged ? { ...newFieldState } : newFieldState\n }\n\n // Now loop over values that are part of incoming state but not part of existing state, and add them to the new state.\n // This can happen if a new array row was added. In our local state, we simply add out stubbed `array` and `array.[index].id` entries to the local form state.\n // However, all other array sub-fields are not added to the local state - those will be added by the server and may be incoming here.\n\n for (const [path, field] of Object.entries(incomingState)) {\n if (!existingState[path]) {\n changed = true\n newState[path] = field\n }\n }\n }\n\n return { changed, newState }\n}\n"],"mappings":"AAAA;;AACA,SAASA,MAAM,QAAQ,cAAa,CAAC;AAGrC,SAASC,eAAe,QAAQ;AAQhC;;;;;;;AAOA,OAAO,MAAMC,oBAAA,GAAuBA,CAAC;EACnCC,YAAY;EACZC,aAAa;EACbC;AAAa,CACR;EACL,IAAIC,OAAA,GAAU;EAEd,MAAMC,QAAA,GAAW,CAAC;EAElB,IAAIH,aAAA,EAAe;IACjB,MAAMI,mBAAA,GAAsB,CAC1B,mBACA,SACA,gBACA,QACA,oBACA,iBACD;IAED,IAAIL,YAAA,EAAc;MAChBK,mBAAA,CAAoBC,IAAI,CAAC;MACzBD,mBAAA,CAAoBC,IAAI,CAAC;IAC3B;IAEA,KAAK,MAAM,CAACC,IAAA,EAAMC,aAAA,CAAc,IAAIC,MAAA,CAAOC,OAAO,CAACT,aAAA,GAAgB;MACjE,IAAI,CAACC,aAAa,CAACK,IAAA,CAAK,EAAE;QACxB;MACF;MACA,IAAII,YAAA,GAAe;MAEnB;;;MAGA,MAAMC,gBAAA,GAAmBd,eAAA,CACvBU,aAAA,CAAcK,UAAU,EACxBX,aAAa,CAACK,IAAA,CAAK,CAACM,UAAU;MAEhC,IAAID,gBAAA,CAAiBE,MAAM,EAAE;QAC3B,IAAIF,gBAAA,CAAiBT,OAAO,EAAE;UAC5BA,OAAA,GAAUS,gBAAA,CAAiBT,OAAO;QACpC;QACAK,aAAA,CAAcK,UAAU,GAAGD,gBAAA,CAAiBE,MAAM;MACpD;MAEA;;;MAGA,IAAIZ,aAAa,CAACK,IAAA,CAAK,EAAEQ,aAAA,IAAiBP,aAAA,CAAcO,aAAa,EAAE;QACrE,IAAI,CAAClB,MAAA,CAAOK,aAAa,CAACK,IAAA,CAAK,EAAEQ,aAAA,EAAeP,aAAA,CAAcO,aAAa,GAAG;UAC5EZ,OAAA,GAAU;UACVQ,YAAA,GAAe;UACfH,aAAA,CAAcO,aAAa,GAAGb,aAAa,CAACK,IAAA,CAAK,CAACQ,aAAa;QACjE;MACF;MAEA;;;MAGAV,mBAAA,CAAoBW,OAAO,CAAEC,IAAA;QAC3B,IAAI,CAACpB,MAAA,CAAOK,aAAa,CAACK,IAAA,CAAK,GAAGU,IAAA,CAAK,EAAET,aAAa,CAACS,IAAA,CAAK,GAAG;UAC7Dd,OAAA,GAAU;UACVQ,YAAA,GAAe;UACf,IAAI,EAAEM,IAAA,IAAQf,aAAa,CAACK,IAAA,CAAK,CAAD,EAAI;YAClC;YACA;YACA,IAAIU,IAAA,KAAS,oBAAoB;cAC/B,OAAOT,aAAa,CAACS,IAAA,CAAK;YAC5B;UACF,OAAO;YACLT,aAAa,CAACS,IAAA,CAAK,GAAGf,aAAa,CAACK,IAAA,CAAK,CAACU,IAAA,CAAK;UACjD;QACF;MACF;MAEA,IAAIT,aAAA,CAAcU,KAAK,KAAK,OAAO;QACjCV,aAAA,CAAcU,KAAK,GAAG;MACxB;MACA,IAAIV,aAAA,CAAcW,eAAe,KAAK,OAAO;QAC3CX,aAAA,CAAcW,eAAe,GAAG;MAClC;MAEA;MACAf,QAAQ,CAACG,IAAA,CAAK,GAAGI,YAAA,GAAe;QAAE,GAAGH;MAAc,IAAIA,aAAA;IACzD;IAEA;IACA;IACA;IAEA,KAAK,MAAM,CAACD,IAAA,EAAMa,KAAA,CAAM,IAAIX,MAAA,CAAOC,OAAO,CAACR,aAAA,GAAgB;MACzD,IAAI,CAACD,aAAa,CAACM,IAAA,CAAK,EAAE;QACxBJ,OAAA,GAAU;QACVC,QAAQ,CAACG,IAAA,CAAK,GAAGa,KAAA;MACnB;IACF;EACF;EAEA,OAAO;IAAEjB,OAAA;IAASC;EAAS;AAC7B","ignoreList":[]}
1
+ {"version":3,"file":"mergeServerFormState.js","names":["dequal","mergeErrorPaths","mergeServerFormState","acceptValues","existingState","incomingState","changed","newState","serverPropsToAccept","push","path","newFieldState","Object","entries","fieldChanged","errorPathsResult","errorPaths","result","filterOptions","forEach","prop","valid","passesCondition","field"],"sources":["../../../src/forms/Form/mergeServerFormState.ts"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { type FormState } from 'payload'\n\nimport { mergeErrorPaths } from './mergeErrorPaths.js'\n\ntype Args = {\n acceptValues?: boolean\n existingState: FormState\n incomingState: FormState\n}\n\n/**\n * Merges certain properties from the server state into the client state. These do not include values,\n * as we do not want to update them on the client like that, which would cause flickering.\n *\n * We want to use this to update the error state, and other properties that are not user input, as the error state\n * is the thing we want to keep in sync with the server (where it's calculated) on the client.\n */\nexport const mergeServerFormState = ({\n acceptValues,\n existingState,\n incomingState,\n}: Args): { changed: boolean; newState: FormState } => {\n let changed = false\n\n const newState = {}\n\n if (existingState) {\n const serverPropsToAccept = [\n 'passesCondition',\n 'valid',\n 'errorMessage',\n 'errorPaths',\n 'rows',\n 'customComponents',\n 'requiresRender',\n ]\n\n if (acceptValues) {\n serverPropsToAccept.push('value')\n serverPropsToAccept.push('initialValue')\n }\n\n for (const [path, newFieldState] of Object.entries(existingState)) {\n if (!incomingState[path]) {\n continue\n }\n let fieldChanged = false\n\n /**\n * Handle error paths\n */\n const errorPathsResult = mergeErrorPaths(\n newFieldState.errorPaths,\n incomingState[path].errorPaths as unknown as string[],\n )\n if (errorPathsResult.result) {\n if (errorPathsResult.changed) {\n changed = errorPathsResult.changed\n }\n newFieldState.errorPaths = errorPathsResult.result\n }\n\n /**\n * Handle filterOptions\n */\n if (incomingState[path]?.filterOptions || newFieldState.filterOptions) {\n if (!dequal(incomingState[path]?.filterOptions, newFieldState.filterOptions)) {\n changed = true\n fieldChanged = true\n newFieldState.filterOptions = incomingState[path].filterOptions\n }\n }\n\n /**\n * Handle adding all the remaining props that should be updated in the local form state from the server form state\n */\n serverPropsToAccept.forEach((prop) => {\n if (!dequal(incomingState[path]?.[prop], newFieldState[prop])) {\n changed = true\n fieldChanged = true\n if (!(prop in incomingState[path])) {\n // Regarding excluding the customComponents prop from being deleted: the incoming state might not have been rendered, as rendering components for every form onchange is expensive.\n // Thus, we simply re-use the initial render state\n if (prop !== 'customComponents') {\n delete newFieldState[prop]\n }\n } else {\n newFieldState[prop] = incomingState[path][prop]\n }\n }\n })\n\n if (newFieldState.valid !== false) {\n newFieldState.valid = true\n }\n if (newFieldState.passesCondition !== false) {\n newFieldState.passesCondition = true\n }\n\n // Conditions don't work if we don't memcopy the new state, as the object references would otherwise be the same\n newState[path] = fieldChanged ? { ...newFieldState } : newFieldState\n }\n\n // Now loop over values that are part of incoming state but not part of existing state, and add them to the new state.\n // This can happen if a new array row was added. In our local state, we simply add out stubbed `array` and `array.[index].id` entries to the local form state.\n // However, all other array sub-fields are not added to the local state - those will be added by the server and may be incoming here.\n\n for (const [path, field] of Object.entries(incomingState)) {\n if (!existingState[path]) {\n changed = true\n newState[path] = field\n }\n }\n }\n\n return { changed, newState }\n}\n"],"mappings":"AAAA;;AACA,SAASA,MAAM,QAAQ,cAAa,CAAC;AAGrC,SAASC,eAAe,QAAQ;AAQhC;;;;;;;AAOA,OAAO,MAAMC,oBAAA,GAAuBA,CAAC;EACnCC,YAAY;EACZC,aAAa;EACbC;AAAa,CACR;EACL,IAAIC,OAAA,GAAU;EAEd,MAAMC,QAAA,GAAW,CAAC;EAElB,IAAIH,aAAA,EAAe;IACjB,MAAMI,mBAAA,GAAsB,CAC1B,mBACA,SACA,gBACA,cACA,QACA,oBACA,iBACD;IAED,IAAIL,YAAA,EAAc;MAChBK,mBAAA,CAAoBC,IAAI,CAAC;MACzBD,mBAAA,CAAoBC,IAAI,CAAC;IAC3B;IAEA,KAAK,MAAM,CAACC,IAAA,EAAMC,aAAA,CAAc,IAAIC,MAAA,CAAOC,OAAO,CAACT,aAAA,GAAgB;MACjE,IAAI,CAACC,aAAa,CAACK,IAAA,CAAK,EAAE;QACxB;MACF;MACA,IAAII,YAAA,GAAe;MAEnB;;;MAGA,MAAMC,gBAAA,GAAmBd,eAAA,CACvBU,aAAA,CAAcK,UAAU,EACxBX,aAAa,CAACK,IAAA,CAAK,CAACM,UAAU;MAEhC,IAAID,gBAAA,CAAiBE,MAAM,EAAE;QAC3B,IAAIF,gBAAA,CAAiBT,OAAO,EAAE;UAC5BA,OAAA,GAAUS,gBAAA,CAAiBT,OAAO;QACpC;QACAK,aAAA,CAAcK,UAAU,GAAGD,gBAAA,CAAiBE,MAAM;MACpD;MAEA;;;MAGA,IAAIZ,aAAa,CAACK,IAAA,CAAK,EAAEQ,aAAA,IAAiBP,aAAA,CAAcO,aAAa,EAAE;QACrE,IAAI,CAAClB,MAAA,CAAOK,aAAa,CAACK,IAAA,CAAK,EAAEQ,aAAA,EAAeP,aAAA,CAAcO,aAAa,GAAG;UAC5EZ,OAAA,GAAU;UACVQ,YAAA,GAAe;UACfH,aAAA,CAAcO,aAAa,GAAGb,aAAa,CAACK,IAAA,CAAK,CAACQ,aAAa;QACjE;MACF;MAEA;;;MAGAV,mBAAA,CAAoBW,OAAO,CAAEC,IAAA;QAC3B,IAAI,CAACpB,MAAA,CAAOK,aAAa,CAACK,IAAA,CAAK,GAAGU,IAAA,CAAK,EAAET,aAAa,CAACS,IAAA,CAAK,GAAG;UAC7Dd,OAAA,GAAU;UACVQ,YAAA,GAAe;UACf,IAAI,EAAEM,IAAA,IAAQf,aAAa,CAACK,IAAA,CAAK,CAAD,EAAI;YAClC;YACA;YACA,IAAIU,IAAA,KAAS,oBAAoB;cAC/B,OAAOT,aAAa,CAACS,IAAA,CAAK;YAC5B;UACF,OAAO;YACLT,aAAa,CAACS,IAAA,CAAK,GAAGf,aAAa,CAACK,IAAA,CAAK,CAACU,IAAA,CAAK;UACjD;QACF;MACF;MAEA,IAAIT,aAAA,CAAcU,KAAK,KAAK,OAAO;QACjCV,aAAA,CAAcU,KAAK,GAAG;MACxB;MACA,IAAIV,aAAA,CAAcW,eAAe,KAAK,OAAO;QAC3CX,aAAA,CAAcW,eAAe,GAAG;MAClC;MAEA;MACAf,QAAQ,CAACG,IAAA,CAAK,GAAGI,YAAA,GAAe;QAAE,GAAGH;MAAc,IAAIA,aAAA;IACzD;IAEA;IACA;IACA;IAEA,KAAK,MAAM,CAACD,IAAA,EAAMa,KAAA,CAAM,IAAIX,MAAA,CAAOC,OAAO,CAACR,aAAA,GAAgB;MACzD,IAAI,CAACD,aAAa,CAACM,IAAA,CAAK,EAAE;QACxBJ,OAAA,GAAU;QACVC,QAAQ,CAACG,IAAA,CAAK,GAAGa,KAAA;MACnB;IACF;EACF;EAEA,OAAO;IAAEjB,OAAA;IAASC;EAAS;AAC7B","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  import type { ClientField } from 'payload';
2
- export declare const buildPathSegments: (parentPath: (number | string)[], fields: ClientField[]) => string[];
2
+ export declare const buildPathSegments: (fields: ClientField[]) => (`${string}.` | string)[];
3
3
  //# sourceMappingURL=buildPathSegments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildPathSegments.d.ts","sourceRoot":"","sources":["../../../src/forms/WatchChildErrors/buildPathSegments.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,eAAO,MAAM,iBAAiB,eAChB,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,UACvB,WAAW,EAAE,KACpB,MAAM,EAkCR,CAAA"}
1
+ {"version":3,"file":"buildPathSegments.d.ts","sourceRoot":"","sources":["../../../src/forms/WatchChildErrors/buildPathSegments.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,eAAO,MAAM,iBAAiB,WAAY,WAAW,EAAE,KAAG,CAAC,GAAG,MAAM,GAAG,GAAG,MAAM,CAAC,EA8BhF,CAAA"}
@@ -1,36 +1,33 @@
1
1
  'use client';
2
2
 
3
3
  import { fieldAffectsData } from 'payload/shared';
4
- export const buildPathSegments = (parentPath, fields) => {
5
- const pathNames = fields.reduce((acc, field) => {
4
+ export const buildPathSegments = fields => {
5
+ return fields.reduce((acc, field) => {
6
6
  const fields = 'fields' in field ? field.fields : undefined;
7
7
  if (fields) {
8
8
  if (fieldAffectsData(field)) {
9
9
  // group, block, array
10
- const name = 'name' in field ? field.name : 'unnamed';
11
- acc.push(...[...parentPath, name]);
10
+ acc.push(`${field.name}.`);
12
11
  } else {
13
12
  // rows, collapsibles, unnamed-tab
14
- acc.push(...buildPathSegments(parentPath, fields));
13
+ acc.push(...buildPathSegments(fields));
15
14
  }
16
15
  } else if (field.type === 'tabs') {
17
16
  // tabs
18
17
  if ('tabs' in field) {
19
18
  field.tabs?.forEach(tab => {
20
- let tabPath = parentPath;
21
19
  if ('name' in tab) {
22
- tabPath = [...parentPath, tab.name];
20
+ acc.push(`${tab.name}.`);
21
+ } else {
22
+ acc.push(...buildPathSegments(tab.fields));
23
23
  }
24
- acc.push(...buildPathSegments(tabPath, tab.fields));
25
24
  });
26
25
  }
27
26
  } else if (fieldAffectsData(field)) {
28
27
  // text, number, date, etc.
29
- const name = 'name' in field ? field.name : 'unnamed';
30
- acc.push(...[...parentPath, name]);
28
+ acc.push(field.name);
31
29
  }
32
30
  return acc;
33
31
  }, []);
34
- return pathNames;
35
32
  };
36
33
  //# sourceMappingURL=buildPathSegments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildPathSegments.js","names":["fieldAffectsData","buildPathSegments","parentPath","fields","pathNames","reduce","acc","field","undefined","name","push","type","tabs","forEach","tab","tabPath"],"sources":["../../../src/forms/WatchChildErrors/buildPathSegments.ts"],"sourcesContent":["'use client'\nimport type { ClientField } from 'payload'\n\nimport { fieldAffectsData } from 'payload/shared'\n\nexport const buildPathSegments = (\n parentPath: (number | string)[],\n fields: ClientField[],\n): string[] => {\n const pathNames = fields.reduce((acc, field) => {\n const fields: ClientField[] = 'fields' in field ? field.fields : undefined\n\n if (fields) {\n if (fieldAffectsData(field)) {\n // group, block, array\n const name = 'name' in field ? field.name : 'unnamed'\n acc.push(...[...parentPath, name])\n } else {\n // rows, collapsibles, unnamed-tab\n acc.push(...buildPathSegments(parentPath, fields))\n }\n } else if (field.type === 'tabs') {\n // tabs\n if ('tabs' in field) {\n field.tabs?.forEach((tab) => {\n let tabPath = parentPath\n if ('name' in tab) {\n tabPath = [...parentPath, tab.name]\n }\n acc.push(...buildPathSegments(tabPath, tab.fields))\n })\n }\n } else if (fieldAffectsData(field)) {\n // text, number, date, etc.\n const name = 'name' in field ? field.name : 'unnamed'\n acc.push(...[...parentPath, name])\n }\n\n return acc\n }, [])\n\n return pathNames\n}\n"],"mappings":"AAAA;;AAGA,SAASA,gBAAgB,QAAQ;AAEjC,OAAO,MAAMC,iBAAA,GAAoBA,CAC/BC,UAAA,EACAC,MAAA;EAEA,MAAMC,SAAA,GAAYD,MAAA,CAAOE,MAAM,CAAC,CAACC,GAAA,EAAKC,KAAA;IACpC,MAAMJ,MAAA,GAAwB,YAAYI,KAAA,GAAQA,KAAA,CAAMJ,MAAM,GAAGK,SAAA;IAEjE,IAAIL,MAAA,EAAQ;MACV,IAAIH,gBAAA,CAAiBO,KAAA,GAAQ;QAC3B;QACA,MAAME,IAAA,GAAO,UAAUF,KAAA,GAAQA,KAAA,CAAME,IAAI,GAAG;QAC5CH,GAAA,CAAII,IAAI,IAAI,C,GAAIR,UAAA,EAAYO,IAAA,CAAK;MACnC,OAAO;QACL;QACAH,GAAA,CAAII,IAAI,IAAIT,iBAAA,CAAkBC,UAAA,EAAYC,MAAA;MAC5C;IACF,OAAO,IAAII,KAAA,CAAMI,IAAI,KAAK,QAAQ;MAChC;MACA,IAAI,UAAUJ,KAAA,EAAO;QACnBA,KAAA,CAAMK,IAAI,EAAEC,OAAA,CAASC,GAAA;UACnB,IAAIC,OAAA,GAAUb,UAAA;UACd,IAAI,UAAUY,GAAA,EAAK;YACjBC,OAAA,GAAU,C,GAAIb,UAAA,EAAYY,GAAA,CAAIL,IAAI,CAAC;UACrC;UACAH,GAAA,CAAII,IAAI,IAAIT,iBAAA,CAAkBc,OAAA,EAASD,GAAA,CAAIX,MAAM;QACnD;MACF;IACF,OAAO,IAAIH,gBAAA,CAAiBO,KAAA,GAAQ;MAClC;MACA,MAAME,IAAA,GAAO,UAAUF,KAAA,GAAQA,KAAA,CAAME,IAAI,GAAG;MAC5CH,GAAA,CAAII,IAAI,IAAI,C,GAAIR,UAAA,EAAYO,IAAA,CAAK;IACnC;IAEA,OAAOH,GAAA;EACT,GAAG,EAAE;EAEL,OAAOF,SAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"buildPathSegments.js","names":["fieldAffectsData","buildPathSegments","fields","reduce","acc","field","undefined","push","name","type","tabs","forEach","tab"],"sources":["../../../src/forms/WatchChildErrors/buildPathSegments.ts"],"sourcesContent":["'use client'\nimport type { ClientField } from 'payload'\n\nimport { fieldAffectsData } from 'payload/shared'\n\nexport const buildPathSegments = (fields: ClientField[]): (`${string}.` | string)[] => {\n return fields.reduce((acc: (`${string}.` | string)[], field) => {\n const fields: ClientField[] = 'fields' in field ? field.fields : undefined\n\n if (fields) {\n if (fieldAffectsData(field)) {\n // group, block, array\n acc.push(`${field.name}.`)\n } else {\n // rows, collapsibles, unnamed-tab\n acc.push(...buildPathSegments(fields))\n }\n } else if (field.type === 'tabs') {\n // tabs\n if ('tabs' in field) {\n field.tabs?.forEach((tab) => {\n if ('name' in tab) {\n acc.push(`${tab.name}.`)\n } else {\n acc.push(...buildPathSegments(tab.fields))\n }\n })\n }\n } else if (fieldAffectsData(field)) {\n // text, number, date, etc.\n acc.push(field.name)\n }\n\n return acc\n }, [])\n}\n"],"mappings":"AAAA;;AAGA,SAASA,gBAAgB,QAAQ;AAEjC,OAAO,MAAMC,iBAAA,GAAqBC,MAAA;EAChC,OAAOA,MAAA,CAAOC,MAAM,CAAC,CAACC,GAAA,EAAgCC,KAAA;IACpD,MAAMH,MAAA,GAAwB,YAAYG,KAAA,GAAQA,KAAA,CAAMH,MAAM,GAAGI,SAAA;IAEjE,IAAIJ,MAAA,EAAQ;MACV,IAAIF,gBAAA,CAAiBK,KAAA,GAAQ;QAC3B;QACAD,GAAA,CAAIG,IAAI,CAAC,GAAGF,KAAA,CAAMG,IAAI,GAAG;MAC3B,OAAO;QACL;QACAJ,GAAA,CAAIG,IAAI,IAAIN,iBAAA,CAAkBC,MAAA;MAChC;IACF,OAAO,IAAIG,KAAA,CAAMI,IAAI,KAAK,QAAQ;MAChC;MACA,IAAI,UAAUJ,KAAA,EAAO;QACnBA,KAAA,CAAMK,IAAI,EAAEC,OAAA,CAASC,GAAA;UACnB,IAAI,UAAUA,GAAA,EAAK;YACjBR,GAAA,CAAIG,IAAI,CAAC,GAAGK,GAAA,CAAIJ,IAAI,GAAG;UACzB,OAAO;YACLJ,GAAA,CAAIG,IAAI,IAAIN,iBAAA,CAAkBW,GAAA,CAAIV,MAAM;UAC1C;QACF;MACF;IACF,OAAO,IAAIF,gBAAA,CAAiBK,KAAA,GAAQ;MAClC;MACAD,GAAA,CAAIG,IAAI,CAACF,KAAA,CAAMG,IAAI;IACrB;IAEA,OAAOJ,GAAA;EACT,GAAG,EAAE;AACP","ignoreList":[]}
@@ -2,6 +2,12 @@ import type { ClientField } from 'payload';
2
2
  import type React from 'react';
3
3
  type TrackSubSchemaErrorCountProps = {
4
4
  fields?: ClientField[];
5
+ /**
6
+ * This path should only include path segments that affect data
7
+ * i.e. it should not include _index-0 type segments
8
+ *
9
+ * For collapsibles and tabs you can simply pass their parent path
10
+ */
5
11
  path: (number | string)[];
6
12
  setErrorCount: (count: number) => void;
7
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/WatchChildErrors/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,KAAK,6BAA6B,GAAG;IACnC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAsBpE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/WatchChildErrors/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,KAAK,6BAA6B,GAAG;IACnC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB;;;;;OAKG;IACH,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC,CAAA;AACD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAwCpE,CAAA"}
@@ -4,42 +4,54 @@ import { c as _c } from "react/compiler-runtime";
4
4
  import { useThrottledEffect } from '../../hooks/useThrottledEffect.js';
5
5
  import { useAllFormFields, useFormSubmitted } from '../Form/context.js';
6
6
  import { buildPathSegments } from './buildPathSegments.js';
7
- import { getFieldStateFromPaths } from './getFieldStateFromPaths.js';
8
7
  export const WatchChildErrors = t0 => {
9
8
  const $ = _c(12);
10
9
  const {
11
10
  fields,
12
- path,
11
+ path: parentPath,
13
12
  setErrorCount
14
13
  } = t0;
15
14
  const [formState] = useAllFormFields();
16
15
  const hasSubmitted = useFormSubmitted();
17
16
  let t1;
18
- if ($[0] !== fields || $[1] !== path) {
19
- t1 = buildPathSegments(path, fields);
17
+ if ($[0] !== fields) {
18
+ t1 = buildPathSegments(fields);
20
19
  $[0] = fields;
21
- $[1] = path;
22
- $[2] = t1;
20
+ $[1] = t1;
23
21
  } else {
24
- t1 = $[2];
22
+ t1 = $[1];
25
23
  }
26
- const pathSegments = t1;
24
+ const segmentsToMatch = t1;
27
25
  let t2;
28
- if ($[3] !== formState || $[4] !== hasSubmitted || $[5] !== pathSegments || $[6] !== setErrorCount) {
26
+ if ($[2] !== formState || $[3] !== hasSubmitted || $[4] !== parentPath || $[5] !== segmentsToMatch || $[6] !== setErrorCount) {
29
27
  t2 = () => {
30
28
  if (hasSubmitted) {
31
- const {
32
- errorCount
33
- } = getFieldStateFromPaths({
34
- formState,
35
- pathSegments
29
+ let errorCount;
30
+ errorCount = 0;
31
+ Object.entries(formState).forEach(t3 => {
32
+ const [key] = t3;
33
+ const matchingSegment = segmentsToMatch?.some(segment => {
34
+ const segmentToMatch = [...parentPath, segment].join(".");
35
+ if (segmentToMatch.endsWith(".")) {
36
+ return key.startsWith(segmentToMatch);
37
+ }
38
+ return key === segmentToMatch;
39
+ });
40
+ if (matchingSegment) {
41
+ const pathState = formState[key];
42
+ if ("valid" in pathState && !pathState.valid) {
43
+ errorCount = errorCount + 1;
44
+ errorCount;
45
+ }
46
+ }
36
47
  });
37
48
  setErrorCount(errorCount);
38
49
  }
39
50
  };
40
- $[3] = formState;
41
- $[4] = hasSubmitted;
42
- $[5] = pathSegments;
51
+ $[2] = formState;
52
+ $[3] = hasSubmitted;
53
+ $[4] = parentPath;
54
+ $[5] = segmentsToMatch;
43
55
  $[6] = setErrorCount;
44
56
  $[7] = t2;
45
57
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useThrottledEffect","useAllFormFields","useFormSubmitted","buildPathSegments","getFieldStateFromPaths","WatchChildErrors","t0","$","fields","path","setErrorCount","formState","hasSubmitted","t1","pathSegments","t2","errorCount","t3"],"sources":["../../../src/forms/WatchChildErrors/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField } from 'payload'\nimport type React from 'react'\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAllFormFields, useFormSubmitted } from '../Form/context.js'\nimport { buildPathSegments } from './buildPathSegments.js'\nimport { getFieldStateFromPaths } from './getFieldStateFromPaths.js'\n\ntype TrackSubSchemaErrorCountProps = {\n fields?: ClientField[]\n path: (number | string)[]\n setErrorCount: (count: number) => void\n}\n\nexport const WatchChildErrors: React.FC<TrackSubSchemaErrorCountProps> = ({\n fields,\n path,\n setErrorCount,\n}) => {\n const [formState] = useAllFormFields()\n const hasSubmitted = useFormSubmitted()\n\n const pathSegments = buildPathSegments(path, fields)\n\n useThrottledEffect(\n () => {\n if (hasSubmitted) {\n const { errorCount } = getFieldStateFromPaths({ formState, pathSegments })\n setErrorCount(errorCount)\n }\n },\n 250,\n [formState, hasSubmitted, fields],\n )\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,kBAAkB,QAAQ;AACnC,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ;AACnD,SAASC,iBAAiB,QAAQ;AAClC,SAASC,sBAAsB,QAAQ;AAQvC,OAAO,MAAMC,gBAAA,GAA4DC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAAC;IAAAS,MAAA;IAAAC,IAAA;IAAAC;EAAA,IAAAJ,EAIzE;EACC,OAAAK,SAAA,IAAoBV,gBAAA;EACpB,MAAAW,YAAA,GAAqBV,gBAAA;EAAA,IAAAW,EAAA;EAAA,IAAAN,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAE,IAAA;IAEAI,EAAA,GAAAV,iBAAA,CAAkBM,IAAA,EAAMD,MAAA;IAAAD,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAE,IAAA;IAAAF,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAA7C,MAAAO,YAAA,GAAqBD,EAAwB;EAAA,IAAAE,EAAA;EAAA,IAAAR,CAAA,QAAAI,SAAA,IAAAJ,CAAA,QAAAK,YAAA,IAAAL,CAAA,QAAAO,YAAA,IAAAP,CAAA,QAAAG,aAAA;IAG3CK,EAAA,GAAAA,CAAA;MAAA,IACMH,YAAA;QACF;UAAAI;QAAA,IAAuBZ,sBAAA;UAAAO,SAAA;UAAAG;QAAA,CAAiD;QACxEJ,aAAA,CAAcM,UAAA;MAAA;IAAA;IAElBT,CAAA,MAAAI,SAAA;IAAAJ,CAAA,MAAAK,YAAA;IAAAL,CAAA,MAAAO,YAAA;IAAAP,CAAA,MAAAG,aAAA;IAAAH,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAV,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAI,SAAA,IAAAJ,CAAA,SAAAK,YAAA;IAEAK,EAAA,IAACN,SAAA,EAAWC,YAAA,EAAcJ,MAAA;IAAOD,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAI,SAAA;IAAAJ,CAAA,OAAAK,YAAA;IAAAL,CAAA,OAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EARnCP,kBAAA,CACEe,EAKA,OAEAE,EAAiC;EAAA;AAAA,CAIrC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useThrottledEffect","useAllFormFields","useFormSubmitted","buildPathSegments","WatchChildErrors","t0","$","fields","path","parentPath","setErrorCount","formState","hasSubmitted","t1","segmentsToMatch","t2","errorCount","Object","entries","forEach","t3","key","matchingSegment","some","segment","segmentToMatch","join","endsWith","startsWith","pathState","valid"],"sources":["../../../src/forms/WatchChildErrors/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField } from 'payload'\nimport type React from 'react'\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAllFormFields, useFormSubmitted } from '../Form/context.js'\nimport { buildPathSegments } from './buildPathSegments.js'\n\ntype TrackSubSchemaErrorCountProps = {\n fields?: ClientField[]\n /**\n * This path should only include path segments that affect data\n * i.e. it should not include _index-0 type segments\n *\n * For collapsibles and tabs you can simply pass their parent path\n */\n path: (number | string)[]\n setErrorCount: (count: number) => void\n}\nexport const WatchChildErrors: React.FC<TrackSubSchemaErrorCountProps> = ({\n fields,\n path: parentPath,\n setErrorCount,\n}) => {\n const [formState] = useAllFormFields()\n const hasSubmitted = useFormSubmitted()\n\n const segmentsToMatch = buildPathSegments(fields)\n\n useThrottledEffect(\n () => {\n if (hasSubmitted) {\n let errorCount = 0\n Object.entries(formState).forEach(([key]) => {\n const matchingSegment = segmentsToMatch?.some((segment) => {\n const segmentToMatch = [...parentPath, segment].join('.')\n // match fields with same parent path\n if (segmentToMatch.endsWith('.')) {\n return key.startsWith(segmentToMatch)\n }\n // match fields with same path\n return key === segmentToMatch\n })\n\n if (matchingSegment) {\n const pathState = formState[key]\n if ('valid' in pathState && !pathState.valid) {\n errorCount += 1\n }\n }\n })\n setErrorCount(errorCount)\n }\n },\n 250,\n [formState, hasSubmitted, fields],\n )\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAIA,SAASC,kBAAkB,QAAQ;AACnC,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ;AACnD,SAASC,iBAAiB,QAAQ;AAalC,OAAO,MAAMC,gBAAA,GAA4DC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ,MAAA;IAAAC,IAAA,EAAAC,UAAA;IAAAC;EAAA,IAAAL,EAIzE;EACC,OAAAM,SAAA,IAAoBV,gBAAA;EACpB,MAAAW,YAAA,GAAqBV,gBAAA;EAAA,IAAAW,EAAA;EAAA,IAAAP,CAAA,QAAAC,MAAA;IAEGM,EAAA,GAAAV,iBAAA,CAAkBI,MAAA;IAAAD,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA1C,MAAAQ,eAAA,GAAwBD,EAAkB;EAAA,IAAAE,EAAA;EAAA,IAAAT,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAM,YAAA,IAAAN,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAQ,eAAA,IAAAR,CAAA,QAAAI,aAAA;IAGxCK,EAAA,GAAAA,CAAA;MAAA,IACMH,YAAA;QACF,IAAAI,UAAA;QAAAA,UAAA;QACAC,MAAA,CAAAC,OAAA,CAAeP,SAAA,EAAAQ,OAAA,CAAAC,EAAA;UAAoB,OAAAC,GAAA,IAAAD,EAAK;UACtC,MAAAE,eAAA,GAAwBR,eAAA,EAAAS,IAAA,CAAAC,OAAA;YACtB,MAAAC,cAAA,GAAuB,IAAIhB,UAAA,EAAYe,OAAA,EAAAE,IAAA,CAAc;YAAA,IAEjDD,cAAA,CAAAE,QAAA,CAAwB;cAAA,OACnBN,GAAA,CAAAO,UAAA,CAAeH,cAAA;YAAA;YAAA,OAGjBJ,GAAA,KAAQI,cAAA;UAAA;UACjB,IAEIH,eAAA;YACF,MAAAO,SAAA,GAAkBlB,SAAS,CAACU,GAAA;YAAI,IAC5B,WAAWQ,SAAA,KAAcA,SAAA,CAAAC,KAAe;cAC1Cd,UAAA,GAAAA,UAAA,IAAc;cAAdA,UAAA;YAAA;UAAA;QAAA,CAGN;QACAN,aAAA,CAAcM,UAAA;MAAA;IAAA;IAElBV,CAAA,MAAAK,SAAA;IAAAL,CAAA,MAAAM,YAAA;IAAAN,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAQ,eAAA;IAAAR,CAAA,MAAAI,aAAA;IAAAJ,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAAA,IAAAc,EAAA;EAAA,IAAAd,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAK,SAAA,IAAAL,CAAA,SAAAM,YAAA;IAEAQ,EAAA,IAACT,SAAA,EAAWC,YAAA,EAAcL,MAAA;IAAOD,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAK,SAAA;IAAAL,CAAA,OAAAM,YAAA;IAAAN,CAAA,OAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EA1BnCN,kBAAA,CACEe,EAuBA,OAEAK,EAAiC;EAAA;AAAA,CAIrC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graphics/DefaultBlockImage/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAoBrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graphics/DefaultBlockImage/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAyCrC,CAAA"}
@@ -2,34 +2,64 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useState } from 'react';
3
3
  import { v4 as uuid } from 'uuid';
4
4
  export const DefaultBlockImage = () => {
5
- const [patternID] = useState(`pattern${uuid()}`);
6
- const [imageID] = useState(`image${uuid()}`);
5
+ const [patternID] = useState(() => `pattern${uuid()}`);
7
6
  return /*#__PURE__*/_jsxs("svg", {
8
7
  fill: "none",
9
- height: "53",
10
- viewBox: "0 0 82 53",
11
- width: "82",
12
- children: [/*#__PURE__*/_jsx("rect", {
13
- fill: `url(#${patternID})`,
14
- height: "52.7791",
15
- width: "80.574",
16
- x: "0.713013"
17
- }), /*#__PURE__*/_jsxs("defs", {
18
- children: [/*#__PURE__*/_jsx("pattern", {
19
- height: "1",
8
+ height: "151",
9
+ preserveAspectRatio: "xMidYMid slice",
10
+ viewBox: "0 0 231 151",
11
+ width: "231",
12
+ xmlns: "http://www.w3.org/2000/svg",
13
+ children: [/*#__PURE__*/_jsxs("g", {
14
+ clipPath: `url(#${patternID})`,
15
+ children: [/*#__PURE__*/_jsx("rect", {
16
+ fill: "#D9D9D9",
17
+ height: "100%",
18
+ rx: "2",
19
+ width: "100%"
20
+ }), /*#__PURE__*/_jsx("rect", {
21
+ fill: "#BCBCBC",
22
+ height: "116.063",
23
+ transform: "rotate(52.0687 33.7051 79.3051)",
24
+ width: "85.8593",
25
+ x: "33.7051",
26
+ y: "79.3051"
27
+ }), /*#__PURE__*/_jsx("rect", {
28
+ fill: "#BCBCBC",
29
+ height: "116.063",
30
+ transform: "rotate(52.0687 86.1219 92.6272)",
31
+ width: "85.8593",
32
+ x: "86.1219",
33
+ y: "92.6272"
34
+ }), /*#__PURE__*/_jsx("circle", {
35
+ cx: "189",
36
+ cy: "45",
37
+ fill: "#BCBCBC",
38
+ r: "19"
39
+ }), /*#__PURE__*/_jsx("rect", {
40
+ fill: "#B8B8B8",
41
+ height: "5",
42
+ rx: "2.5",
43
+ width: "98",
44
+ x: "66",
45
+ y: "70"
46
+ }), /*#__PURE__*/_jsx("rect", {
47
+ fill: "#B8B8B8",
48
+ height: "5",
49
+ rx: "2.5",
50
+ width: "76",
51
+ x: "77",
52
+ y: "82"
53
+ })]
54
+ }), /*#__PURE__*/_jsx("defs", {
55
+ children: /*#__PURE__*/_jsx("clipPath", {
20
56
  id: `${patternID}`,
21
- patternContentUnits: "objectBoundingBox",
22
- width: "1",
23
- children: /*#__PURE__*/_jsx("use", {
24
- transform: "scale(0.00387597 0.00591716)",
25
- xlinkHref: `#${imageID}`
57
+ children: /*#__PURE__*/_jsx("rect", {
58
+ fill: "white",
59
+ height: "151",
60
+ width: "231"
26
61
  })
27
- }), /*#__PURE__*/_jsx("image", {
28
- height: "169",
29
- id: imageID,
30
- width: "258",
31
- xlinkHref: "data:image/png;base64,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"
32
- })]
62
+ })
33
63
  })]
34
64
  });
35
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","v4","uuid","DefaultBlockImage","patternID","imageID","_jsxs","fill","height","viewBox","width","_jsx","x","id","patternContentUnits","transform","xlinkHref"],"sources":["../../../src/graphics/DefaultBlockImage/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { v4 as uuid } from 'uuid'\n\nexport const DefaultBlockImage: React.FC = () => {\n const [patternID] = useState(`pattern${uuid()}`)\n const [imageID] = useState(`image${uuid()}`)\n\n return (\n <svg fill=\"none\" height=\"53\" viewBox=\"0 0 82 53\" width=\"82\">\n <rect fill={`url(#${patternID})`} height=\"52.7791\" width=\"80.574\" x=\"0.713013\" />\n <defs>\n <pattern height=\"1\" id={`${patternID}`} patternContentUnits=\"objectBoundingBox\" width=\"1\">\n <use transform=\"scale(0.00387597 0.00591716)\" xlinkHref={`#${imageID}`} />\n </pattern>\n <image\n height=\"169\"\n id={imageID}\n width=\"258\"\n xlinkHref=\"data:image/png;base64,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\"\n />\n </defs>\n </svg>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,IAASC,QAAQ,QAAQ;AAChC,SAASC,EAAA,IAAMC,IAAI,QAAQ;AAE3B,OAAO,MAAMC,iBAAA,GAA8BA,CAAA;EACzC,MAAM,CAACC,SAAA,CAAU,GAAGJ,QAAA,CAAS,UAAUE,IAAA,IAAQ;EAC/C,MAAM,CAACG,OAAA,CAAQ,GAAGL,QAAA,CAAS,QAAQE,IAAA,IAAQ;EAE3C,oBACEI,KAAA,CAAC;IAAIC,IAAA,EAAK;IAAOC,MAAA,EAAO;IAAKC,OAAA,EAAQ;IAAYC,KAAA,EAAM;4BACrDC,IAAA,CAAC;MAAKJ,IAAA,EAAM,QAAQH,SAAA,GAAY;MAAEI,MAAA,EAAO;MAAUE,KAAA,EAAM;MAASE,CAAA,EAAE;qBACpEN,KAAA,CAAC;8BACCK,IAAA,CAAC;QAAQH,MAAA,EAAO;QAAIK,EAAA,EAAI,GAAGT,SAAA,EAAW;QAAEU,mBAAA,EAAoB;QAAoBJ,KAAA,EAAM;kBACpF,aAAAC,IAAA,CAAC;UAAII,SAAA,EAAU;UAA+BC,SAAA,EAAW,IAAIX,OAAA;;uBAE/DM,IAAA,CAAC;QACCH,MAAA,EAAO;QACPK,EAAA,EAAIR,OAAA;QACJK,KAAA,EAAM;QACNM,SAAA,EAAU;;;;AAKpB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useState","v4","uuid","DefaultBlockImage","patternID","_jsxs","fill","height","preserveAspectRatio","viewBox","width","xmlns","clipPath","_jsx","rx","transform","x","y","cx","cy","r","id"],"sources":["../../../src/graphics/DefaultBlockImage/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { v4 as uuid } from 'uuid'\n\nexport const DefaultBlockImage: React.FC = () => {\n const [patternID] = useState(() => `pattern${uuid()}`)\n\n return (\n <svg\n fill=\"none\"\n height=\"151\"\n preserveAspectRatio=\"xMidYMid slice\"\n viewBox=\"0 0 231 151\"\n width=\"231\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath={`url(#${patternID})`}>\n <rect fill=\"#D9D9D9\" height=\"100%\" rx=\"2\" width=\"100%\" />\n <rect\n fill=\"#BCBCBC\"\n height=\"116.063\"\n transform=\"rotate(52.0687 33.7051 79.3051)\"\n width=\"85.8593\"\n x=\"33.7051\"\n y=\"79.3051\"\n />\n <rect\n fill=\"#BCBCBC\"\n height=\"116.063\"\n transform=\"rotate(52.0687 86.1219 92.6272)\"\n width=\"85.8593\"\n x=\"86.1219\"\n y=\"92.6272\"\n />\n <circle cx=\"189\" cy=\"45\" fill=\"#BCBCBC\" r=\"19\" />\n <rect fill=\"#B8B8B8\" height=\"5\" rx=\"2.5\" width=\"98\" x=\"66\" y=\"70\" />\n <rect fill=\"#B8B8B8\" height=\"5\" rx=\"2.5\" width=\"76\" x=\"77\" y=\"82\" />\n </g>\n <defs>\n <clipPath id={`${patternID}`}>\n <rect fill=\"white\" height=\"151\" width=\"231\" />\n </clipPath>\n </defs>\n </svg>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,IAASC,QAAQ,QAAQ;AAChC,SAASC,EAAA,IAAMC,IAAI,QAAQ;AAE3B,OAAO,MAAMC,iBAAA,GAA8BA,CAAA;EACzC,MAAM,CAACC,SAAA,CAAU,GAAGJ,QAAA,CAAS,MAAM,UAAUE,IAAA,IAAQ;EAErD,oBACEG,KAAA,CAAC;IACCC,IAAA,EAAK;IACLC,MAAA,EAAO;IACPC,mBAAA,EAAoB;IACpBC,OAAA,EAAQ;IACRC,KAAA,EAAM;IACNC,KAAA,EAAM;4BAENN,KAAA,CAAC;MAAEO,QAAA,EAAU,QAAQR,SAAA,GAAY;8BAC/BS,IAAA,CAAC;QAAKP,IAAA,EAAK;QAAUC,MAAA,EAAO;QAAOO,EAAA,EAAG;QAAIJ,KAAA,EAAM;uBAChDG,IAAA,CAAC;QACCP,IAAA,EAAK;QACLC,MAAA,EAAO;QACPQ,SAAA,EAAU;QACVL,KAAA,EAAM;QACNM,CAAA,EAAE;QACFC,CAAA,EAAE;uBAEJJ,IAAA,CAAC;QACCP,IAAA,EAAK;QACLC,MAAA,EAAO;QACPQ,SAAA,EAAU;QACVL,KAAA,EAAM;QACNM,CAAA,EAAE;QACFC,CAAA,EAAE;uBAEJJ,IAAA,CAAC;QAAOK,EAAA,EAAG;QAAMC,EAAA,EAAG;QAAKb,IAAA,EAAK;QAAUc,CAAA,EAAE;uBAC1CP,IAAA,CAAC;QAAKP,IAAA,EAAK;QAAUC,MAAA,EAAO;QAAIO,EAAA,EAAG;QAAMJ,KAAA,EAAM;QAAKM,CAAA,EAAE;QAAKC,CAAA,EAAE;uBAC7DJ,IAAA,CAAC;QAAKP,IAAA,EAAK;QAAUC,MAAA,EAAO;QAAIO,EAAA,EAAG;QAAMJ,KAAA,EAAM;QAAKM,CAAA,EAAE;QAAKC,CAAA,EAAE;;qBAE/DJ,IAAA,CAAC;gBACC,aAAAA,IAAA,CAAC;QAASQ,EAAA,EAAI,GAAGjB,SAAA,EAAW;kBAC1B,aAAAS,IAAA,CAAC;UAAKP,IAAA,EAAK;UAAQC,MAAA,EAAO;UAAMG,KAAA,EAAM;;;;;AAKhD","ignoreList":[]}