@payloadcms/ui 3.0.0-beta.2 → 3.0.0-beta.21

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 (161) hide show
  1. package/dist/elements/DocumentControls/index.js +1 -1
  2. package/dist/elements/DocumentControls/index.js.map +1 -1
  3. package/dist/elements/DocumentFields/index.js +1 -1
  4. package/dist/elements/DocumentFields/index.js.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +3 -2
  7. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -0
  9. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  10. package/dist/elements/DocumentHeader/Tabs/index.js +3 -2
  11. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  12. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +1 -1
  14. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  15. package/dist/elements/DocumentHeader/index.d.ts +2 -0
  16. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  17. package/dist/elements/DocumentHeader/index.js +3 -2
  18. package/dist/elements/DocumentHeader/index.js.map +1 -1
  19. package/dist/elements/EditMany/index.js +2 -2
  20. package/dist/elements/EditMany/index.js.map +1 -1
  21. package/dist/elements/HydrateClientUser/index.d.ts +3 -2
  22. package/dist/elements/HydrateClientUser/index.d.ts.map +1 -1
  23. package/dist/elements/HydrateClientUser/index.js.map +1 -1
  24. package/dist/elements/ListControls/index.js +1 -1
  25. package/dist/elements/ListControls/index.js.map +1 -1
  26. package/dist/elements/Publish/index.js +1 -1
  27. package/dist/elements/Publish/index.js.map +1 -1
  28. package/dist/elements/PublishMany/index.js +1 -1
  29. package/dist/elements/PublishMany/index.js.map +1 -1
  30. package/dist/elements/StayLoggedIn/index.d.ts +2 -4
  31. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  32. package/dist/elements/StayLoggedIn/index.js +7 -6
  33. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  34. package/dist/elements/StayLoggedIn/index.scss +1 -1
  35. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +1 -1
  36. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  37. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  38. package/dist/elements/TableColumns/buildColumnState.js +1 -0
  39. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  40. package/dist/elements/withMergedProps/index.d.ts +2 -1
  41. package/dist/elements/withMergedProps/index.d.ts.map +1 -1
  42. package/dist/elements/withMergedProps/index.js +7 -1
  43. package/dist/elements/withMergedProps/index.js.map +1 -1
  44. package/dist/exports/elements.d.ts +3 -2
  45. package/dist/exports/elements.d.ts.map +1 -1
  46. package/dist/exports/elements.js +5 -2
  47. package/dist/exports/elements.js.map +1 -1
  48. package/dist/exports/fields.d.ts +2 -0
  49. package/dist/exports/fields.d.ts.map +1 -0
  50. package/dist/exports/fields.js +3 -0
  51. package/dist/exports/fields.js.map +1 -0
  52. package/dist/exports/providers.d.ts +2 -0
  53. package/dist/exports/providers.d.ts.map +1 -0
  54. package/dist/exports/providers.js +3 -0
  55. package/dist/exports/providers.js.map +1 -0
  56. package/dist/fields/HiddenInput/index.d.ts +1 -1
  57. package/dist/fields/HiddenInput/index.d.ts.map +1 -1
  58. package/dist/fields/HiddenInput/index.js.map +1 -1
  59. package/dist/fields/JSON/index.d.ts +1 -0
  60. package/dist/fields/JSON/index.d.ts.map +1 -1
  61. package/dist/fields/JSON/index.js +20 -1
  62. package/dist/fields/JSON/index.js.map +1 -1
  63. package/dist/fields/RichText/index.d.ts +1 -1
  64. package/dist/fields/RichText/index.d.ts.map +1 -1
  65. package/dist/fields/RichText/index.js.map +1 -1
  66. package/dist/fields/shared/index.d.ts +1 -0
  67. package/dist/fields/shared/index.d.ts.map +1 -1
  68. package/dist/fields/shared/index.js.map +1 -1
  69. package/dist/forms/FieldPropsProvider/index.d.ts +2 -0
  70. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  71. package/dist/forms/FieldPropsProvider/index.js +5 -3
  72. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  73. package/dist/forms/RenderFields/RenderField.d.ts +1 -0
  74. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  75. package/dist/forms/RenderFields/RenderField.js +2 -1
  76. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  77. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  78. package/dist/forms/RenderFields/index.js +2 -1
  79. package/dist/forms/RenderFields/index.js.map +1 -1
  80. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +3 -5
  81. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  82. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +2 -1
  83. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  84. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +2 -2
  85. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
  86. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  87. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +2 -2
  88. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  89. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  90. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +2 -2
  91. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  92. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +1 -0
  93. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  94. package/dist/forms/buildStateFromSchema/index.d.ts +3 -5
  95. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  96. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  97. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +3 -5
  98. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  99. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  100. package/dist/providers/Auth/index.d.ts.map +1 -1
  101. package/dist/providers/Auth/index.js +2 -1
  102. package/dist/providers/Auth/index.js.map +1 -1
  103. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts +3 -0
  104. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts.map +1 -0
  105. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.js +19 -0
  106. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.js.map +1 -0
  107. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts +2 -1
  108. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -1
  109. package/dist/providers/ComponentMap/buildComponentMap/actions.js +7 -3
  110. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  111. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +3 -2
  112. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  113. package/dist/providers/ComponentMap/buildComponentMap/collections.js +35 -14
  114. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  115. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +2 -1
  116. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  117. package/dist/providers/ComponentMap/buildComponentMap/fields.js +49 -12
  118. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  119. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +3 -2
  120. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  121. package/dist/providers/ComponentMap/buildComponentMap/globals.js +19 -6
  122. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  123. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +2 -1
  124. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  125. package/dist/providers/ComponentMap/buildComponentMap/index.js +20 -4
  126. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  127. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +2 -0
  128. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  129. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  130. package/dist/providers/ComponentMap/index.d.ts +1 -0
  131. package/dist/providers/ComponentMap/index.d.ts.map +1 -1
  132. package/dist/providers/ComponentMap/index.js +1 -0
  133. package/dist/providers/ComponentMap/index.js.map +1 -1
  134. package/dist/providers/DocumentInfo/index.js +8 -7
  135. package/dist/providers/DocumentInfo/index.js.map +1 -1
  136. package/dist/providers/EntityVisibility/index.d.ts +1 -1
  137. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  138. package/dist/providers/EntityVisibility/index.js.map +1 -1
  139. package/dist/providers/Root/index.d.ts.map +1 -1
  140. package/dist/providers/Root/index.js +2 -1
  141. package/dist/providers/Root/index.js.map +1 -1
  142. package/dist/scss/app.scss +2 -3
  143. package/dist/scss/vars.scss +0 -7
  144. package/package.json +35 -34
  145. package/dist/assets/fonts/SuisseIntl-Bold.woff +0 -0
  146. package/dist/assets/fonts/SuisseIntl-Bold.woff2 +0 -0
  147. package/dist/assets/fonts/SuisseIntl-Medium.woff +0 -0
  148. package/dist/assets/fonts/SuisseIntl-Medium.woff2 +0 -0
  149. package/dist/assets/fonts/SuisseIntl-SemiBold.woff +0 -0
  150. package/dist/assets/fonts/SuisseIntl-SemiBold.woff2 +0 -0
  151. package/dist/assets/fonts/SuisseIntl.woff +0 -0
  152. package/dist/assets/fonts/SuisseIntl.woff2 +0 -0
  153. package/dist/assets/fonts/merriweather-v30-latin-900.woff +0 -0
  154. package/dist/assets/fonts/merriweather-v30-latin-900.woff2 +0 -0
  155. package/dist/assets/fonts/merriweather-v30-latin-900italic.woff +0 -0
  156. package/dist/assets/fonts/merriweather-v30-latin-900italic.woff2 +0 -0
  157. package/dist/assets/fonts/merriweather-v30-latin-italic.woff +0 -0
  158. package/dist/assets/fonts/merriweather-v30-latin-italic.woff2 +0 -0
  159. package/dist/assets/fonts/merriweather-v30-latin-regular.woff +0 -0
  160. package/dist/assets/fonts/merriweather-v30-latin-regular.woff2 +0 -0
  161. package/dist/scss/fonts.scss +0 -75
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Publish/index.tsx"],"sourcesContent":["'use client'\n\nimport qs from 'qs'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nexport const DefaultPublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const { code } = useLocale()\n const { id, collectionSlug, globalSlug, publishedDoc, unpublishedVersions } = useDocumentInfo()\n const [hasPublishPermission, setHasPublishPermission] = React.useState(false)\n const { getData, submit } = useForm()\n const modified = useFormModified()\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n const { t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const hasNewerVersions = unpublishedVersions?.totalDocs > 0\n const canPublish = hasPublishPermission && (modified || hasNewerVersions || !publishedDoc)\n\n const publish = useCallback(() => {\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n }, [submit])\n\n React.useEffect(() => {\n const fetchPublishAccess = async () => {\n let docAccessURL: string\n let operation = 'update'\n\n const params = {\n locale: code || undefined,\n }\n if (globalSlug) {\n docAccessURL = `/globals/${globalSlug}/access`\n } else if (collectionSlug) {\n if (!id) operation = 'create'\n docAccessURL = `/${collectionSlug}/access${id ? `/${id}` : ''}`\n }\n\n if (docAccessURL) {\n const data = getData()\n\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n body: JSON.stringify({\n ...data,\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n const json = await res.json()\n const result = Boolean(json?.[operation]?.permission)\n setHasPublishPermission(result)\n } else {\n setHasPublishPermission(true)\n }\n }\n\n void fetchPublishAccess()\n }, [api, code, collectionSlug, getData, globalSlug, id, serverURL])\n\n if (!canPublish) return null\n\n return (\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={publish}\n size=\"small\"\n type=\"button\"\n >\n {label}\n </FormSubmit>\n )\n}\n\ntype Props = {\n CustomComponent?: React.ReactNode\n}\n\nexport const Publish: React.FC<Props> = ({ CustomComponent }) => {\n if (CustomComponent) return CustomComponent\n\n return <DefaultPublishButton />\n}\n"],"names":["qs","React","useCallback","useForm","useFormModified","FormSubmit","useConfig","useDocumentInfo","useLocale","useTranslation","DefaultPublishButton","label","labelProp","code","id","collectionSlug","globalSlug","publishedDoc","unpublishedVersions","hasPublishPermission","setHasPublishPermission","useState","getData","submit","modified","routes","api","serverURL","t","hasNewerVersions","totalDocs","canPublish","publish","overrides","_status","useEffect","fetchPublishAccess","docAccessURL","operation","params","locale","undefined","data","res","fetch","stringify","body","JSON","credentials","headers","method","json","result","Boolean","permission","buttonId","disabled","onClick","size","type","Publish","CustomComponent"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,OAAOA,QAAQ,KAAI;AACnB,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA6B;AACtE,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AAErE,OAAO,MAAMC,uBAAqD,CAAC,EAAEC,OAAOC,SAAS,EAAE;IACrF,MAAM,EAAEC,IAAI,EAAE,GAAGL;IACjB,MAAM,EAAEM,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAEC,YAAY,EAAEC,mBAAmB,EAAE,GAAGX;IAC9E,MAAM,CAACY,sBAAsBC,wBAAwB,GAAGnB,MAAMoB,QAAQ,CAAC;IACvE,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAE,GAAGpB;IAC5B,MAAMqB,WAAWpB;IAEjB,MAAM,EACJqB,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGrB;IACJ,MAAM,EAAEsB,CAAC,EAAE,GAAGnB;IACd,MAAME,QAAQC,aAAagB,EAAE;IAE7B,MAAMC,mBAAmBX,qBAAqBY,YAAY;IAC1D,MAAMC,aAAaZ,wBAAyBK,CAAAA,YAAYK,oBAAoB,CAACZ,YAAW;IAExF,MAAMe,UAAU9B,YAAY;QAC1B,KAAKqB,OAAO;YACVU,WAAW;gBACTC,SAAS;YACX;QACF;IACF,GAAG;QAACX;KAAO;IAEXtB,MAAMkC,SAAS,CAAC;QACd,MAAMC,qBAAqB;YACzB,IAAIC;YACJ,IAAIC,YAAY;YAEhB,MAAMC,SAAS;gBACbC,QAAQ3B,QAAQ4B;YAClB;YACA,IAAIzB,YAAY;gBACdqB,eAAe,CAAC,SAAS,EAAErB,WAAW,OAAO,CAAC;YAChD,OAAO,IAAID,gBAAgB;gBACzB,IAAI,CAACD,IAAIwB,YAAY;gBACrBD,eAAe,CAAC,CAAC,EAAEtB,eAAe,OAAO,EAAED,KAAK,CAAC,CAAC,EAAEA,GAAG,CAAC,GAAG,GAAG,CAAC;YACjE;YAEA,IAAIuB,cAAc;gBAChB,MAAMK,OAAOpB;gBAEb,MAAMqB,MAAM,MAAMC,MAAM,CAAC,EAAEjB,UAAU,EAAED,IAAI,EAAEW,aAAa,CAAC,EAAErC,GAAG6C,SAAS,CAACN,QAAQ,CAAC,EAAE;oBACnFO,MAAMC,KAAKF,SAAS,CAAC;wBACnB,GAAGH,IAAI;wBACPR,SAAS;oBACX;oBACAc,aAAa;oBACbC,SAAS;wBACP,gBAAgB;oBAClB;oBACAC,QAAQ;gBACV;gBACA,MAAMC,OAAO,MAAMR,IAAIQ,IAAI;gBAC3B,MAAMC,SAASC,QAAQF,MAAM,CAACb,UAAU,EAAEgB;gBAC1ClC,wBAAwBgC;YAC1B,OAAO;gBACLhC,wBAAwB;YAC1B;QACF;QAEA,KAAKgB;IACP,GAAG;QAACV;QAAKb;QAAME;QAAgBO;QAASN;QAAYF;QAAIa;KAAU;IAElE,IAAI,CAACI,YAAY,OAAO;IAExB,qBACE,oBAAC1B;QACCkD,UAAS;QACTC,UAAU,CAACzB;QACX0B,SAASzB;QACT0B,MAAK;QACLC,MAAK;OAEJhD;AAGP,EAAC;AAMD,OAAO,MAAMiD,UAA2B,CAAC,EAAEC,eAAe,EAAE;IAC1D,IAAIA,iBAAiB,OAAOA;IAE5B,qBAAO,oBAACnD;AACV,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Publish/index.tsx"],"sourcesContent":["'use client'\n\nimport qs from 'qs'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nexport const DefaultPublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const { code } = useLocale()\n const { id, collectionSlug, globalSlug, publishedDoc, unpublishedVersions } = useDocumentInfo()\n const [hasPublishPermission, setHasPublishPermission] = React.useState(false)\n const { getData, submit } = useForm()\n const modified = useFormModified()\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n const { t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const hasNewerVersions = unpublishedVersions?.totalDocs > 0\n const canPublish = hasPublishPermission && (modified || hasNewerVersions || !publishedDoc)\n\n const publish = useCallback(() => {\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n }, [submit])\n\n React.useEffect(() => {\n const fetchPublishAccess = async () => {\n let docAccessURL: string\n let operation = 'update'\n\n const params = {\n locale: code || undefined,\n }\n if (globalSlug) {\n docAccessURL = `/globals/${globalSlug}/access`\n } else if (collectionSlug) {\n if (!id) operation = 'create'\n docAccessURL = `/${collectionSlug}/access${id ? `/${id}` : ''}`\n }\n\n if (docAccessURL) {\n const data = getData()\n\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n body: JSON.stringify({\n ...data,\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n const json = await res.json()\n const result = Boolean(json?.[operation]?.permission)\n setHasPublishPermission(result)\n } else {\n setHasPublishPermission(true)\n }\n }\n\n void fetchPublishAccess()\n }, [api, code, collectionSlug, getData, globalSlug, id, serverURL])\n\n if (!hasPublishPermission) return null\n\n return (\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={publish}\n size=\"small\"\n type=\"button\"\n >\n {label}\n </FormSubmit>\n )\n}\n\ntype Props = {\n CustomComponent?: React.ReactNode\n}\n\nexport const Publish: React.FC<Props> = ({ CustomComponent }) => {\n if (CustomComponent) return CustomComponent\n\n return <DefaultPublishButton />\n}\n"],"names":["qs","React","useCallback","useForm","useFormModified","FormSubmit","useConfig","useDocumentInfo","useLocale","useTranslation","DefaultPublishButton","label","labelProp","code","id","collectionSlug","globalSlug","publishedDoc","unpublishedVersions","hasPublishPermission","setHasPublishPermission","useState","getData","submit","modified","routes","api","serverURL","t","hasNewerVersions","totalDocs","canPublish","publish","overrides","_status","useEffect","fetchPublishAccess","docAccessURL","operation","params","locale","undefined","data","res","fetch","stringify","body","JSON","credentials","headers","method","json","result","Boolean","permission","buttonId","disabled","onClick","size","type","Publish","CustomComponent"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAEA,OAAOA,QAAQ,KAAI;AACnB,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA6B;AACtE,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AAErE,OAAO,MAAMC,uBAAqD,CAAC,EAAEC,OAAOC,SAAS,EAAE;IACrF,MAAM,EAAEC,IAAI,EAAE,GAAGL;IACjB,MAAM,EAAEM,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAEC,YAAY,EAAEC,mBAAmB,EAAE,GAAGX;IAC9E,MAAM,CAACY,sBAAsBC,wBAAwB,GAAGnB,MAAMoB,QAAQ,CAAC;IACvE,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAE,GAAGpB;IAC5B,MAAMqB,WAAWpB;IAEjB,MAAM,EACJqB,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGrB;IACJ,MAAM,EAAEsB,CAAC,EAAE,GAAGnB;IACd,MAAME,QAAQC,aAAagB,EAAE;IAE7B,MAAMC,mBAAmBX,qBAAqBY,YAAY;IAC1D,MAAMC,aAAaZ,wBAAyBK,CAAAA,YAAYK,oBAAoB,CAACZ,YAAW;IAExF,MAAMe,UAAU9B,YAAY;QAC1B,KAAKqB,OAAO;YACVU,WAAW;gBACTC,SAAS;YACX;QACF;IACF,GAAG;QAACX;KAAO;IAEXtB,MAAMkC,SAAS,CAAC;QACd,MAAMC,qBAAqB;YACzB,IAAIC;YACJ,IAAIC,YAAY;YAEhB,MAAMC,SAAS;gBACbC,QAAQ3B,QAAQ4B;YAClB;YACA,IAAIzB,YAAY;gBACdqB,eAAe,CAAC,SAAS,EAAErB,WAAW,OAAO,CAAC;YAChD,OAAO,IAAID,gBAAgB;gBACzB,IAAI,CAACD,IAAIwB,YAAY;gBACrBD,eAAe,CAAC,CAAC,EAAEtB,eAAe,OAAO,EAAED,KAAK,CAAC,CAAC,EAAEA,GAAG,CAAC,GAAG,GAAG,CAAC;YACjE;YAEA,IAAIuB,cAAc;gBAChB,MAAMK,OAAOpB;gBAEb,MAAMqB,MAAM,MAAMC,MAAM,CAAC,EAAEjB,UAAU,EAAED,IAAI,EAAEW,aAAa,CAAC,EAAErC,GAAG6C,SAAS,CAACN,QAAQ,CAAC,EAAE;oBACnFO,MAAMC,KAAKF,SAAS,CAAC;wBACnB,GAAGH,IAAI;wBACPR,SAAS;oBACX;oBACAc,aAAa;oBACbC,SAAS;wBACP,gBAAgB;oBAClB;oBACAC,QAAQ;gBACV;gBACA,MAAMC,OAAO,MAAMR,IAAIQ,IAAI;gBAC3B,MAAMC,SAASC,QAAQF,MAAM,CAACb,UAAU,EAAEgB;gBAC1ClC,wBAAwBgC;YAC1B,OAAO;gBACLhC,wBAAwB;YAC1B;QACF;QAEA,KAAKgB;IACP,GAAG;QAACV;QAAKb;QAAME;QAAgBO;QAASN;QAAYF;QAAIa;KAAU;IAElE,IAAI,CAACR,sBAAsB,OAAO;IAElC,qBACE,oBAACd;QACCkD,UAAS;QACTC,UAAU,CAACzB;QACX0B,SAASzB;QACT0B,MAAK;QACLC,MAAK;OAEJhD;AAGP,EAAC;AAMD,OAAO,MAAMiD,UAA2B,CAAC,EAAEC,eAAe,EAAE;IAC1D,IAAIA,iBAAiB,OAAOA;IAE5B,qBAAO,oBAACnD;AACV,EAAC"}
@@ -41,7 +41,7 @@ export const PublishMany = (props)=>{
41
41
  _status: {
42
42
  not_equals: 'published'
43
43
  }
44
- })}`, {
44
+ })}&draft=true`, {
45
45
  body: JSON.stringify({
46
46
  _status: 'published'
47
47
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/PublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'publish-many'\n\nexport type PublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const PublishMany: React.FC<PublishManyProps> = (props) => {\n const { Modal, useModal } = facelessUIImport\n const { clearRouteCache } = useRouteCache()\n\n const { collection: { slug, labels: { plural }, versions } = {} } = props\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const router = useRouter()\n const { stringifyParams } = useSearchParams()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update?.permission\n\n const modalSlug = `publish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handlePublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(\n `${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'published' } })}`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n },\n )\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n if (res.status < 400) {\n toast.success(t('general:updatedSuccessfully'))\n router.replace(\n stringifyParams({\n params: {\n page: selectAll ? '1' : undefined,\n },\n }),\n )\n\n clearRouteCache()\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n addDefaultError,\n api,\n getQueryParams,\n i18n.language,\n modalSlug,\n selectAll,\n serverURL,\n slug,\n t,\n toggleModal,\n router,\n stringifyParams,\n clearRouteCache,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:publish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <MinimalTemplate className={`${baseClass}__template`}>\n <h1>{t('version:confirmPublish')}</h1>\n <p>{t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}</p>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button id=\"confirm-publish\" onClick={submitted ? undefined : handlePublish}>\n {submitted ? t('version:publishing') : t('general:confirm')}\n </Button>\n </MinimalTemplate>\n </Modal>\n </React.Fragment>\n )\n}\n"],"names":["facelessUIImport","getTranslation","useRouter","React","useCallback","useState","toast","useAuth","useConfig","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","MinimalTemplate","requests","Button","Pill","baseClass","PublishMany","props","Modal","useModal","clearRouteCache","collection","slug","labels","plural","versions","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","router","stringifyParams","collectionPermissions","collections","hasPermission","update","permission","modalSlug","addDefaultError","error","handlePublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","status","success","replace","params","page","undefined","errors","forEach","message","e","drafts","None","Fragment","className","onClick","h1","p","label","buttonStyle","id","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,YAAYA,sBAAsB,qBAAoB;AACtD,SAASC,cAAc,QAAQ,2BAA0B;AACzD,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAO;AACpD,SAASC,KAAK,QAAQ,iBAAgB;AAEtC,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,aAAa,QAAQ,sCAAqC;AACnE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,eAAe,EAAEC,YAAY,QAAQ,qCAAoC;AAClF,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,QAAQ,QAAQ,yBAAwB;AACjD,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,IAAI,QAAQ,mBAAkB;AAGvC,MAAMC,YAAY;AAMlB,OAAO,MAAMC,cAA0C,CAACC;IACtD,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAE,GAAGtB;IAC5B,MAAM,EAAEuB,eAAe,EAAE,GAAGd;IAE5B,MAAM,EAAEe,YAAY,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,MAAM,EAAE,EAAEC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGR;IAEpE,MAAM,EACJS,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGvB;IACJ,MAAM,EAAEwB,WAAW,EAAE,GAAGzB;IACxB,MAAM,EAAE0B,WAAW,EAAE,GAAGX;IACxB,MAAM,EAAEY,IAAI,EAAEC,CAAC,EAAE,GAAGtB;IACpB,MAAM,EAAEuB,cAAc,EAAEC,SAAS,EAAE,GAAGzB;IACtC,MAAM,CAAC0B,WAAWC,aAAa,GAAGlC,SAAS;IAC3C,MAAMmC,SAAStC;IACf,MAAM,EAAEuC,eAAe,EAAE,GAAG/B;IAE5B,MAAMgC,wBAAwBV,aAAaW,aAAa,CAAClB,KAAK;IAC9D,MAAMmB,gBAAgBF,uBAAuBG,QAAQC;IAErD,MAAMC,YAAY,CAAC,QAAQ,EAAEtB,KAAK,CAAC;IAEnC,MAAMuB,kBAAkB5C,YAAY;QAClCE,MAAM2C,KAAK,CAACd,EAAE;IAChB,GAAG;QAACA;KAAE;IAEN,MAAMe,gBAAgB9C,YAAY;QAChCmC,aAAa;QACb,MAAMxB,SACHoC,KAAK,CACJ,CAAC,EAAEpB,UAAU,EAAED,IAAI,CAAC,EAAEL,KAAK,EAAEW,eAAe;YAAEgB,SAAS;gBAAEC,YAAY;YAAY;QAAE,GAAG,CAAC,EACvF;YACEC,MAAMC,KAAKC,SAAS,CAAC;gBACnBJ,SAAS;YACX;YACAK,SAAS;gBACP,mBAAmBvB,KAAKwB,QAAQ;gBAChC,gBAAgB;YAClB;QACF,GAEDC,IAAI,CAAC,OAAOC;YACX,IAAI;gBACF,MAAMC,OAAO,MAAMD,IAAIC,IAAI;gBAC3B5B,YAAYc;gBACZ,IAAIa,IAAIE,MAAM,GAAG,KAAK;oBACpBxD,MAAMyD,OAAO,CAAC5B,EAAE;oBAChBK,OAAOwB,OAAO,CACZvB,gBAAgB;wBACdwB,QAAQ;4BACNC,MAAM7B,YAAY,MAAM8B;wBAC1B;oBACF;oBAGF5C;oBACA,OAAO;gBACT;gBAEA,IAAIsC,KAAKO,MAAM,EAAE;oBACfP,KAAKO,MAAM,CAACC,OAAO,CAAC,CAACpB,QAAU3C,MAAM2C,KAAK,CAACA,MAAMqB,OAAO;gBAC1D,OAAO;oBACLtB;gBACF;gBACA,OAAO;YACT,EAAE,OAAOuB,GAAG;gBACV,OAAOvB;YACT;QACF;IACJ,GAAG;QACDA;QACAlB;QACAM;QACAF,KAAKwB,QAAQ;QACbX;QACAV;QACAN;QACAN;QACAU;QACAF;QACAO;QACAC;QACAlB;KACD;IAED,IAAI,CAACK,UAAU4C,UAAUnC,cAAc1B,gBAAgB8D,IAAI,IAAI,CAAC7B,eAAe;QAC7E,OAAO;IACT;IAEA,qBACE,oBAACzC,MAAMuE,QAAQ,sBACb,oBAACzD;QACC0D,WAAW,CAAC,EAAEzD,UAAU,QAAQ,CAAC;QACjC0D,SAAS;YACPrC,aAAa;YACbN,YAAYc;QACd;OAECZ,EAAE,mCAEL,oBAACd;QAAMsD,WAAWzD;QAAWO,MAAMsB;qBACjC,oBAACjC;QAAgB6D,WAAW,CAAC,EAAEzD,UAAU,UAAU,CAAC;qBAClD,oBAAC2D,YAAI1C,EAAE,0CACP,oBAAC2C,WAAG3C,EAAE,mCAAmC;QAAE4C,OAAO9E,eAAe0B,QAAQO;IAAM,mBAC/E,oBAAClB;QACCgE,aAAY;QACZC,IAAG;QACHL,SAAStC,YAAY6B,YAAY,IAAMlC,YAAYc;QACnDmC,MAAK;OAEJ/C,EAAE,kCAEL,oBAACnB;QAAOiE,IAAG;QAAkBL,SAAStC,YAAY6B,YAAYjB;OAC3DZ,YAAYH,EAAE,wBAAwBA,EAAE;AAMrD,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/PublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'publish-many'\n\nexport type PublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const PublishMany: React.FC<PublishManyProps> = (props) => {\n const { Modal, useModal } = facelessUIImport\n const { clearRouteCache } = useRouteCache()\n\n const { collection: { slug, labels: { plural }, versions } = {} } = props\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const router = useRouter()\n const { stringifyParams } = useSearchParams()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update?.permission\n\n const modalSlug = `publish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handlePublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(\n `${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'published' } })}&draft=true`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n },\n )\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n if (res.status < 400) {\n toast.success(t('general:updatedSuccessfully'))\n router.replace(\n stringifyParams({\n params: {\n page: selectAll ? '1' : undefined,\n },\n }),\n )\n\n clearRouteCache()\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n addDefaultError,\n api,\n getQueryParams,\n i18n.language,\n modalSlug,\n selectAll,\n serverURL,\n slug,\n t,\n toggleModal,\n router,\n stringifyParams,\n clearRouteCache,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:publish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <MinimalTemplate className={`${baseClass}__template`}>\n <h1>{t('version:confirmPublish')}</h1>\n <p>{t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}</p>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button id=\"confirm-publish\" onClick={submitted ? undefined : handlePublish}>\n {submitted ? t('version:publishing') : t('general:confirm')}\n </Button>\n </MinimalTemplate>\n </Modal>\n </React.Fragment>\n )\n}\n"],"names":["facelessUIImport","getTranslation","useRouter","React","useCallback","useState","toast","useAuth","useConfig","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","MinimalTemplate","requests","Button","Pill","baseClass","PublishMany","props","Modal","useModal","clearRouteCache","collection","slug","labels","plural","versions","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","router","stringifyParams","collectionPermissions","collections","hasPermission","update","permission","modalSlug","addDefaultError","error","handlePublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","status","success","replace","params","page","undefined","errors","forEach","message","e","drafts","None","Fragment","className","onClick","h1","p","label","buttonStyle","id","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,YAAYA,sBAAsB,qBAAoB;AACtD,SAASC,cAAc,QAAQ,2BAA0B;AACzD,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAO;AACpD,SAASC,KAAK,QAAQ,iBAAgB;AAEtC,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,aAAa,QAAQ,sCAAqC;AACnE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,eAAe,EAAEC,YAAY,QAAQ,qCAAoC;AAClF,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,QAAQ,QAAQ,yBAAwB;AACjD,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,IAAI,QAAQ,mBAAkB;AAGvC,MAAMC,YAAY;AAMlB,OAAO,MAAMC,cAA0C,CAACC;IACtD,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAE,GAAGtB;IAC5B,MAAM,EAAEuB,eAAe,EAAE,GAAGd;IAE5B,MAAM,EAAEe,YAAY,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,MAAM,EAAE,EAAEC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGR;IAEpE,MAAM,EACJS,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGvB;IACJ,MAAM,EAAEwB,WAAW,EAAE,GAAGzB;IACxB,MAAM,EAAE0B,WAAW,EAAE,GAAGX;IACxB,MAAM,EAAEY,IAAI,EAAEC,CAAC,EAAE,GAAGtB;IACpB,MAAM,EAAEuB,cAAc,EAAEC,SAAS,EAAE,GAAGzB;IACtC,MAAM,CAAC0B,WAAWC,aAAa,GAAGlC,SAAS;IAC3C,MAAMmC,SAAStC;IACf,MAAM,EAAEuC,eAAe,EAAE,GAAG/B;IAE5B,MAAMgC,wBAAwBV,aAAaW,aAAa,CAAClB,KAAK;IAC9D,MAAMmB,gBAAgBF,uBAAuBG,QAAQC;IAErD,MAAMC,YAAY,CAAC,QAAQ,EAAEtB,KAAK,CAAC;IAEnC,MAAMuB,kBAAkB5C,YAAY;QAClCE,MAAM2C,KAAK,CAACd,EAAE;IAChB,GAAG;QAACA;KAAE;IAEN,MAAMe,gBAAgB9C,YAAY;QAChCmC,aAAa;QACb,MAAMxB,SACHoC,KAAK,CACJ,CAAC,EAAEpB,UAAU,EAAED,IAAI,CAAC,EAAEL,KAAK,EAAEW,eAAe;YAAEgB,SAAS;gBAAEC,YAAY;YAAY;QAAE,GAAG,WAAW,CAAC,EAClG;YACEC,MAAMC,KAAKC,SAAS,CAAC;gBACnBJ,SAAS;YACX;YACAK,SAAS;gBACP,mBAAmBvB,KAAKwB,QAAQ;gBAChC,gBAAgB;YAClB;QACF,GAEDC,IAAI,CAAC,OAAOC;YACX,IAAI;gBACF,MAAMC,OAAO,MAAMD,IAAIC,IAAI;gBAC3B5B,YAAYc;gBACZ,IAAIa,IAAIE,MAAM,GAAG,KAAK;oBACpBxD,MAAMyD,OAAO,CAAC5B,EAAE;oBAChBK,OAAOwB,OAAO,CACZvB,gBAAgB;wBACdwB,QAAQ;4BACNC,MAAM7B,YAAY,MAAM8B;wBAC1B;oBACF;oBAGF5C;oBACA,OAAO;gBACT;gBAEA,IAAIsC,KAAKO,MAAM,EAAE;oBACfP,KAAKO,MAAM,CAACC,OAAO,CAAC,CAACpB,QAAU3C,MAAM2C,KAAK,CAACA,MAAMqB,OAAO;gBAC1D,OAAO;oBACLtB;gBACF;gBACA,OAAO;YACT,EAAE,OAAOuB,GAAG;gBACV,OAAOvB;YACT;QACF;IACJ,GAAG;QACDA;QACAlB;QACAM;QACAF,KAAKwB,QAAQ;QACbX;QACAV;QACAN;QACAN;QACAU;QACAF;QACAO;QACAC;QACAlB;KACD;IAED,IAAI,CAACK,UAAU4C,UAAUnC,cAAc1B,gBAAgB8D,IAAI,IAAI,CAAC7B,eAAe;QAC7E,OAAO;IACT;IAEA,qBACE,oBAACzC,MAAMuE,QAAQ,sBACb,oBAACzD;QACC0D,WAAW,CAAC,EAAEzD,UAAU,QAAQ,CAAC;QACjC0D,SAAS;YACPrC,aAAa;YACbN,YAAYc;QACd;OAECZ,EAAE,mCAEL,oBAACd;QAAMsD,WAAWzD;QAAWO,MAAMsB;qBACjC,oBAACjC;QAAgB6D,WAAW,CAAC,EAAEzD,UAAU,UAAU,CAAC;qBAClD,oBAAC2D,YAAI1C,EAAE,0CACP,oBAAC2C,WAAG3C,EAAE,mCAAmC;QAAE4C,OAAO9E,eAAe0B,QAAQO;IAAM,mBAC/E,oBAAClB;QACCgE,aAAY;QACZC,IAAG;QACHL,SAAStC,YAAY6B,YAAY,IAAMlC,YAAYc;QACnDmC,MAAK;OAEJ/C,EAAE,kCAEL,oBAACnB;QAAOiE,IAAG;QAAkBL,SAAStC,YAAY6B,YAAYjB;OAC3DZ,YAAYH,EAAE,wBAAwBA,EAAE;AAMrD,EAAC"}
@@ -1,7 +1,5 @@
1
1
  import React from 'react';
2
- export type StayLoggedInProps = {
3
- refreshCookie: () => void;
4
- };
5
2
  import './index.scss';
6
- export declare const StayLoggedInModal: React.FC<StayLoggedInProps>;
3
+ export declare const stayLoggedInModalSlug = "stay-logged-in";
4
+ export declare const StayLoggedInModal: React.FC;
7
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StayLoggedIn/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAA;CAC1B,CAAA;AAKD,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0CzD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StayLoggedIn/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,qBAAqB,mBAAmB,CAAA;AAErD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EA2CrC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
  import * as facelessUIImport from '@faceless-ui/modal';
3
+ import { useAuth } from '@payloadcms/ui/providers/Auth';
3
4
  // TODO: abstract the `next/navigation` dependency out from this component
4
5
  import { useRouter } from 'next/navigation.js';
5
6
  import React from 'react';
@@ -7,10 +8,10 @@ import { Button } from '../../elements/Button/index.js';
7
8
  import { useConfig } from '../../providers/Config/index.js';
8
9
  import { useTranslation } from '../../providers/Translation/index.js';
9
10
  const baseClass = 'stay-logged-in';
10
- const modalSlug = 'stay-logged-in';
11
- export const StayLoggedInModal = (props)=>{
11
+ export const stayLoggedInModalSlug = 'stay-logged-in';
12
+ export const StayLoggedInModal = ()=>{
12
13
  const { Modal, useModal } = facelessUIImport;
13
- const { refreshCookie } = props;
14
+ const { refreshCookie } = useAuth();
14
15
  const router = useRouter();
15
16
  const config = useConfig();
16
17
  const { admin: { logoutRoute }, routes: { admin } } = config;
@@ -18,7 +19,7 @@ export const StayLoggedInModal = (props)=>{
18
19
  const { t } = useTranslation();
19
20
  return /*#__PURE__*/ React.createElement(Modal, {
20
21
  className: baseClass,
21
- slug: "stay-logged-in"
22
+ slug: stayLoggedInModalSlug
22
23
  }, /*#__PURE__*/ React.createElement("div", {
23
24
  className: `${baseClass}__wrapper`
24
25
  }, /*#__PURE__*/ React.createElement("div", {
@@ -28,13 +29,13 @@ export const StayLoggedInModal = (props)=>{
28
29
  }, /*#__PURE__*/ React.createElement(Button, {
29
30
  buttonStyle: "secondary",
30
31
  onClick: ()=>{
31
- toggleModal(modalSlug);
32
+ toggleModal(stayLoggedInModalSlug);
32
33
  router.push(`${admin}${logoutRoute}`);
33
34
  }
34
35
  }, t('authentication:logOut')), /*#__PURE__*/ React.createElement(Button, {
35
36
  onClick: ()=>{
36
37
  refreshCookie();
37
- toggleModal(modalSlug);
38
+ toggleModal(stayLoggedInModalSlug);
38
39
  }
39
40
  }, t('authentication:stayLoggedIn')))));
40
41
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/StayLoggedIn/index.tsx"],"sourcesContent":["'use client'\nimport * as facelessUIImport from '@faceless-ui/modal'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\n\nexport type StayLoggedInProps = {\n refreshCookie: () => void\n}\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'stay-logged-in'\n\nconst modalSlug = 'stay-logged-in'\n\nexport const StayLoggedInModal: React.FC<StayLoggedInProps> = (props) => {\n const { Modal, useModal } = facelessUIImport\n\n const { refreshCookie } = props\n const router = useRouter()\n const config = useConfig()\n const {\n admin: { logoutRoute },\n routes: { admin },\n } = config\n const { toggleModal } = useModal()\n const { t } = useTranslation()\n\n return (\n <Modal className={baseClass} slug=\"stay-logged-in\">\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('authentication:stayLoggedIn')}</h1>\n <p>{t('authentication:youAreInactive')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={() => {\n toggleModal(modalSlug)\n router.push(`${admin}${logoutRoute}`)\n }}\n >\n {t('authentication:logOut')}\n </Button>\n <Button\n onClick={() => {\n refreshCookie()\n toggleModal(modalSlug)\n }}\n >\n {t('authentication:stayLoggedIn')}\n </Button>\n </div>\n </div>\n </Modal>\n )\n}\n"],"names":["facelessUIImport","useRouter","React","Button","useConfig","useTranslation","baseClass","modalSlug","StayLoggedInModal","props","Modal","useModal","refreshCookie","router","config","admin","logoutRoute","routes","toggleModal","t","className","slug","div","h1","p","buttonStyle","onClick","push"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,YAAYA,sBAAsB,qBAAoB;AACtD,0EAA0E;AAC1E,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,WAAW,QAAO;AAMzB,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AAGrE,MAAMC,YAAY;AAElB,MAAMC,YAAY;AAElB,OAAO,MAAMC,oBAAiD,CAACC;IAC7D,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAE,GAAGX;IAE5B,MAAM,EAAEY,aAAa,EAAE,GAAGH;IAC1B,MAAMI,SAASZ;IACf,MAAMa,SAASV;IACf,MAAM,EACJW,OAAO,EAAEC,WAAW,EAAE,EACtBC,QAAQ,EAAEF,KAAK,EAAE,EAClB,GAAGD;IACJ,MAAM,EAAEI,WAAW,EAAE,GAAGP;IACxB,MAAM,EAAEQ,CAAC,EAAE,GAAGd;IAEd,qBACE,oBAACK;QAAMU,WAAWd;QAAWe,MAAK;qBAChC,oBAACC;QAAIF,WAAW,CAAC,EAAEd,UAAU,SAAS,CAAC;qBACrC,oBAACgB;QAAIF,WAAW,CAAC,EAAEd,UAAU,SAAS,CAAC;qBACrC,oBAACiB,YAAIJ,EAAE,+CACP,oBAACK,WAAGL,EAAE,kDAER,oBAACG;QAAIF,WAAW,CAAC,EAAEd,UAAU,UAAU,CAAC;qBACtC,oBAACH;QACCsB,aAAY;QACZC,SAAS;YACPR,YAAYX;YACZM,OAAOc,IAAI,CAAC,CAAC,EAAEZ,MAAM,EAAEC,YAAY,CAAC;QACtC;OAECG,EAAE,yCAEL,oBAAChB;QACCuB,SAAS;YACPd;YACAM,YAAYX;QACd;OAECY,EAAE;AAMf,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/StayLoggedIn/index.tsx"],"sourcesContent":["'use client'\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { useAuth } from '@payloadcms/ui/providers/Auth'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'stay-logged-in'\n\nexport const stayLoggedInModalSlug = 'stay-logged-in'\n\nexport const StayLoggedInModal: React.FC = () => {\n const { Modal, useModal } = facelessUIImport\n const { refreshCookie } = useAuth()\n\n const router = useRouter()\n const config = useConfig()\n\n const {\n admin: { logoutRoute },\n routes: { admin },\n } = config\n const { toggleModal } = useModal()\n const { t } = useTranslation()\n\n return (\n <Modal className={baseClass} slug={stayLoggedInModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('authentication:stayLoggedIn')}</h1>\n <p>{t('authentication:youAreInactive')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={() => {\n toggleModal(stayLoggedInModalSlug)\n router.push(`${admin}${logoutRoute}`)\n }}\n >\n {t('authentication:logOut')}\n </Button>\n <Button\n onClick={() => {\n refreshCookie()\n toggleModal(stayLoggedInModalSlug)\n }}\n >\n {t('authentication:stayLoggedIn')}\n </Button>\n </div>\n </div>\n </Modal>\n )\n}\n"],"names":["facelessUIImport","useAuth","useRouter","React","Button","useConfig","useTranslation","baseClass","stayLoggedInModalSlug","StayLoggedInModal","Modal","useModal","refreshCookie","router","config","admin","logoutRoute","routes","toggleModal","t","className","slug","div","h1","p","buttonStyle","onClick","push"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,YAAYA,sBAAsB,qBAAoB;AACtD,SAASC,OAAO,QAAQ,gCAA+B;AACvD,0EAA0E;AAC1E,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AAGrE,MAAMC,YAAY;AAElB,OAAO,MAAMC,wBAAwB,iBAAgB;AAErD,OAAO,MAAMC,oBAA8B;IACzC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAE,GAAGX;IAC5B,MAAM,EAAEY,aAAa,EAAE,GAAGX;IAE1B,MAAMY,SAASX;IACf,MAAMY,SAAST;IAEf,MAAM,EACJU,OAAO,EAAEC,WAAW,EAAE,EACtBC,QAAQ,EAAEF,KAAK,EAAE,EAClB,GAAGD;IACJ,MAAM,EAAEI,WAAW,EAAE,GAAGP;IACxB,MAAM,EAAEQ,CAAC,EAAE,GAAGb;IAEd,qBACE,oBAACI;QAAMU,WAAWb;QAAWc,MAAMb;qBACjC,oBAACc;QAAIF,WAAW,CAAC,EAAEb,UAAU,SAAS,CAAC;qBACrC,oBAACe;QAAIF,WAAW,CAAC,EAAEb,UAAU,SAAS,CAAC;qBACrC,oBAACgB,YAAIJ,EAAE,+CACP,oBAACK,WAAGL,EAAE,kDAER,oBAACG;QAAIF,WAAW,CAAC,EAAEb,UAAU,UAAU,CAAC;qBACtC,oBAACH;QACCqB,aAAY;QACZC,SAAS;YACPR,YAAYV;YACZK,OAAOc,IAAI,CAAC,CAAC,EAAEZ,MAAM,EAAEC,YAAY,CAAC;QACtC;OAECG,EAAE,yCAEL,oBAACf;QACCsB,SAAS;YACPd;YACAM,YAAYV;QACd;OAECW,EAAE;AAMf,EAAC"}
@@ -1,4 +1,4 @@
1
- @import '../../../scss/styles.scss';
1
+ @import '../../scss/styles.scss';
2
2
 
3
3
  .stay-logged-in {
4
4
  @include blur-bg;
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import React from 'react';
3
3
  export const JSONCell = ({ cellData })=>{
4
- const textToShow = cellData.length > 100 ? `${cellData.substring(0, 100)}\u2026` : cellData;
4
+ const textToShow = cellData?.length > 100 ? `${cellData.substring(0, 100)}\u2026` : cellData;
5
5
  return /*#__PURE__*/ React.createElement("code", {
6
6
  className: "json-cell"
7
7
  }, /*#__PURE__*/ React.createElement("span", null, JSON.stringify(textToShow)));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload/types'\n\nimport React from 'react'\n\nimport './index.scss'\n\nexport const JSONCell: React.FC<DefaultCellComponentProps<string>> = ({ cellData }) => {\n const textToShow = cellData.length > 100 ? `${cellData.substring(0, 100)}\\u2026` : cellData\n\n return (\n <code className=\"json-cell\">\n <span>{JSON.stringify(textToShow)}</span>\n </code>\n )\n}\n"],"names":["React","JSONCell","cellData","textToShow","length","substring","code","className","span","JSON","stringify"],"rangeMappings":";;;;;;;","mappings":"AAAA;AAGA,OAAOA,WAAW,QAAO;AAIzB,OAAO,MAAMC,WAAwD,CAAC,EAAEC,QAAQ,EAAE;IAChF,MAAMC,aAAaD,SAASE,MAAM,GAAG,MAAM,CAAC,EAAEF,SAASG,SAAS,CAAC,GAAG,KAAK,MAAM,CAAC,GAAGH;IAEnF,qBACE,oBAACI;QAAKC,WAAU;qBACd,oBAACC,cAAMC,KAAKC,SAAS,CAACP;AAG5B,EAAC"}
1
+ {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload/types'\n\nimport React from 'react'\n\nimport './index.scss'\n\nexport const JSONCell: React.FC<DefaultCellComponentProps<string>> = ({ cellData }) => {\n const textToShow = cellData?.length > 100 ? `${cellData.substring(0, 100)}\\u2026` : cellData\n\n return (\n <code className=\"json-cell\">\n <span>{JSON.stringify(textToShow)}</span>\n </code>\n )\n}\n"],"names":["React","JSONCell","cellData","textToShow","length","substring","code","className","span","JSON","stringify"],"rangeMappings":";;;;;;;","mappings":"AAAA;AAGA,OAAOA,WAAW,QAAO;AAIzB,OAAO,MAAMC,WAAwD,CAAC,EAAEC,QAAQ,EAAE;IAChF,MAAMC,aAAaD,UAAUE,SAAS,MAAM,CAAC,EAAEF,SAASG,SAAS,CAAC,GAAG,KAAK,MAAM,CAAC,GAAGH;IAEpF,qBACE,oBAACI;QAAKC,WAAU;qBACd,oBAACC,cAAMC,KAAKC,SAAS,CAACP;AAG5B,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAGvF,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,yDAAyD,CAAA;AACpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAU/C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AACD,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EAiJnD,CAAA"}
1
+ {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAGvF,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,yDAAyD,CAAA;AACpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAU/C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AACD,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EAkJnD,CAAA"}
@@ -72,6 +72,7 @@ export const buildColumnState = (args)=>{
72
72
  accessor: name,
73
73
  active,
74
74
  cellProps: {
75
+ ...field.cellComponentProps,
75
76
  ...cellProps?.[index],
76
77
  link: isFirstActiveColumn,
77
78
  relationTo: field.type === 'relationship' && 'relationTo' in field.fieldComponentProps ? field.fieldComponentProps.relationTo : undefined
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { type CellComponentProps, type SanitizedCollectionConfig } from 'payload/types'\nimport React from 'react'\n\nimport type { FieldMap, MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { flattenFieldMap } from '../../utilities/flattenFieldMap.js'\nimport { SelectAll } from '../SelectAll/index.js'\nimport { SelectRow } from '../SelectRow/index.js'\nimport { SortColumn } from '../SortColumn/index.js'\nimport { DefaultCell } from '../Table/DefaultCell/index.js'\n\nconst fieldIsPresentationalOnly = (field: MappedField): boolean => field.type === 'ui'\n\ntype Args = {\n cellProps: Partial<CellComponentProps>[]\n columnPreferences: ColumnPreferences\n columns?: ColumnPreferences\n enableRowSelections: boolean\n fieldMap: FieldMap\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\nexport const buildColumnState = (args: Args): Column[] => {\n const { cellProps, columnPreferences, columns, enableRowSelections, fieldMap, useAsTitle } = args\n\n let sortedFieldMap = flattenFieldMap(fieldMap)\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap.findIndex((field) => field.name === 'id')\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortedFieldMap.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n if (aIndex === -1 && bIndex === -1) return 0\n if (aIndex === -1) return 1\n if (bIndex === -1) return -1\n return aIndex - bIndex\n })\n }\n\n const activeColumnsIndices = []\n\n const sorted = sortedFieldMap.reduce((acc, field, index) => {\n const columnPreference = columnPreferences?.find(\n (preference) => 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find((column) => column.accessor === field.name)?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n const isFirstActiveColumn = activeColumnsIndices[0] === index\n\n const name = 'name' in field ? field.name : undefined\n\n const Cell =\n field.CustomCell !== undefined ? (\n field.CustomCell\n ) : (\n <DefaultCell {...field.cellComponentProps} />\n )\n\n const CustomLabelToRender =\n field &&\n 'fieldComponentProps' in field &&\n 'CustomLabel' in field.fieldComponentProps &&\n field.fieldComponentProps.CustomLabel !== undefined\n ? field.fieldComponentProps.CustomLabel\n : undefined\n\n const Label = (\n <FieldLabel\n CustomLabel={CustomLabelToRender}\n {...field.fieldComponentProps?.labelProps}\n unstyled\n />\n )\n\n const Heading = (\n <SortColumn\n Label={Label}\n disable={\n ('disableSort' in field && Boolean(field.disableSort)) ||\n fieldIsPresentationalOnly(field) ||\n undefined\n }\n // eslint-disable-next-line react/jsx-no-duplicate-props\n label={\n 'fieldComponentProps' in field && 'label' in field.fieldComponentProps\n ? field.fieldComponentProps.label\n : undefined\n }\n name={'name' in field ? field.name : undefined}\n />\n )\n\n if (field) {\n const column: Column = {\n name,\n type: field.type,\n Label,\n accessor: name,\n active,\n cellProps: {\n ...cellProps?.[index],\n link: isFirstActiveColumn,\n relationTo:\n field.type === 'relationship' && 'relationTo' in field.fieldComponentProps\n ? field.fieldComponentProps.relationTo\n : undefined,\n },\n components: {\n Cell,\n Heading,\n },\n }\n\n acc.push(column)\n }\n\n return acc\n }, [])\n\n if (enableRowSelections) {\n sorted.unshift({\n name: '',\n accessor: '_select',\n active: true,\n components: {\n Cell: <SelectRow />,\n Heading: <SelectAll />,\n },\n label: null,\n })\n }\n\n return sorted\n}\n"],"names":["FieldLabel","React","flattenFieldMap","SelectAll","SelectRow","SortColumn","DefaultCell","fieldIsPresentationalOnly","field","type","buildColumnState","args","cellProps","columnPreferences","columns","enableRowSelections","fieldMap","useAsTitle","sortedFieldMap","idFieldIndex","findIndex","name","idField","splice","unshift","useAsTitleFieldIndex","useAsTitleField","sortTo","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","columnPreference","find","preference","active","Array","isArray","length","includes","push","isFirstActiveColumn","undefined","Cell","CustomCell","cellComponentProps","CustomLabelToRender","fieldComponentProps","CustomLabel","Label","labelProps","unstyled","Heading","disable","Boolean","disableSort","label","link","relationTo","components"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { type CellComponentProps, type SanitizedCollectionConfig } from 'payload/types'\nimport React from 'react'\n\nimport type { FieldMap, MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { flattenFieldMap } from '../../utilities/flattenFieldMap.js'\nimport { SelectAll } from '../SelectAll/index.js'\nimport { SelectRow } from '../SelectRow/index.js'\nimport { SortColumn } from '../SortColumn/index.js'\nimport { DefaultCell } from '../Table/DefaultCell/index.js'\n\nconst fieldIsPresentationalOnly = (field: MappedField): boolean => field.type === 'ui'\n\ntype Args = {\n cellProps: Partial<CellComponentProps>[]\n columnPreferences: ColumnPreferences\n columns?: ColumnPreferences\n enableRowSelections: boolean\n fieldMap: FieldMap\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\nexport const buildColumnState = (args: Args): Column[] => {\n const { cellProps, columnPreferences, columns, enableRowSelections, fieldMap, useAsTitle } = args\n\n let sortedFieldMap = flattenFieldMap(fieldMap)\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap.findIndex((field) => field.name === 'id')\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortedFieldMap.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n if (aIndex === -1 && bIndex === -1) return 0\n if (aIndex === -1) return 1\n if (bIndex === -1) return -1\n return aIndex - bIndex\n })\n }\n\n const activeColumnsIndices = []\n\n const sorted = sortedFieldMap.reduce((acc, field, index) => {\n const columnPreference = columnPreferences?.find(\n (preference) => 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find((column) => column.accessor === field.name)?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n const isFirstActiveColumn = activeColumnsIndices[0] === index\n\n const name = 'name' in field ? field.name : undefined\n\n const Cell =\n field.CustomCell !== undefined ? (\n field.CustomCell\n ) : (\n <DefaultCell {...field.cellComponentProps} />\n )\n\n const CustomLabelToRender =\n field &&\n 'fieldComponentProps' in field &&\n 'CustomLabel' in field.fieldComponentProps &&\n field.fieldComponentProps.CustomLabel !== undefined\n ? field.fieldComponentProps.CustomLabel\n : undefined\n\n const Label = (\n <FieldLabel\n CustomLabel={CustomLabelToRender}\n {...field.fieldComponentProps?.labelProps}\n unstyled\n />\n )\n\n const Heading = (\n <SortColumn\n Label={Label}\n disable={\n ('disableSort' in field && Boolean(field.disableSort)) ||\n fieldIsPresentationalOnly(field) ||\n undefined\n }\n // eslint-disable-next-line react/jsx-no-duplicate-props\n label={\n 'fieldComponentProps' in field && 'label' in field.fieldComponentProps\n ? field.fieldComponentProps.label\n : undefined\n }\n name={'name' in field ? field.name : undefined}\n />\n )\n\n if (field) {\n const column: Column = {\n name,\n type: field.type,\n Label,\n accessor: name,\n active,\n cellProps: {\n ...field.cellComponentProps,\n ...cellProps?.[index],\n link: isFirstActiveColumn,\n relationTo:\n field.type === 'relationship' && 'relationTo' in field.fieldComponentProps\n ? field.fieldComponentProps.relationTo\n : undefined,\n },\n components: {\n Cell,\n Heading,\n },\n }\n\n acc.push(column)\n }\n\n return acc\n }, [])\n\n if (enableRowSelections) {\n sorted.unshift({\n name: '',\n accessor: '_select',\n active: true,\n components: {\n Cell: <SelectRow />,\n Heading: <SelectAll />,\n },\n label: null,\n })\n }\n\n return sorted\n}\n"],"names":["FieldLabel","React","flattenFieldMap","SelectAll","SelectRow","SortColumn","DefaultCell","fieldIsPresentationalOnly","field","type","buildColumnState","args","cellProps","columnPreferences","columns","enableRowSelections","fieldMap","useAsTitle","sortedFieldMap","idFieldIndex","findIndex","name","idField","splice","unshift","useAsTitleFieldIndex","useAsTitleField","sortTo","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","columnPreference","find","preference","active","Array","isArray","length","includes","push","isFirstActiveColumn","undefined","Cell","CustomCell","cellComponentProps","CustomLabelToRender","fieldComponentProps","CustomLabel","Label","labelProps","unstyled","Heading","disable","Boolean","disableSort","label","link","relationTo","components"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -17,8 +17,9 @@ import React from 'react';
17
17
  *
18
18
  * @returns A higher-order component with combined properties.
19
19
  */
20
- export declare function withMergedProps<ToMergeIntoProps, CompleteReturnProps>({ Component, toMergeIntoProps, }: {
20
+ export declare function withMergedProps<ToMergeIntoProps, CompleteReturnProps>({ Component, sanitizeServerOnlyProps, toMergeIntoProps, }: {
21
21
  Component: React.FC<CompleteReturnProps>;
22
+ sanitizeServerOnlyProps?: boolean;
22
23
  toMergeIntoProps: ToMergeIntoProps;
23
24
  }): React.FC<CompleteReturnProps>;
24
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/withMergedProps/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,EACrE,SAAS,EACT,gBAAgB,GACjB,EAAE;IACD,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAA;IACxC,gBAAgB,EAAE,gBAAgB,CAAA;CACnC,GAAG,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAQhC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/withMergedProps/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,EACrE,SAAS,EACT,uBAA8B,EAC9B,gBAAgB,GACjB,EAAE;IACD,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAA;IACxC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,gBAAgB,EAAE,gBAAgB,CAAA;CACnC,GAAG,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAehC"}
@@ -1,3 +1,4 @@
1
+ import { serverProps } from 'payload/config';
1
2
  import { deepMerge } from 'payload/utilities';
2
3
  import React from 'react';
3
4
  /**
@@ -17,10 +18,15 @@ import React from 'react';
17
18
  * // <OriginalComponent customProp="value" someExtraValue={5} />
18
19
  *
19
20
  * @returns A higher-order component with combined properties.
20
- */ export function withMergedProps({ Component, toMergeIntoProps }) {
21
+ */ export function withMergedProps({ Component, sanitizeServerOnlyProps = true, toMergeIntoProps }) {
21
22
  // A wrapper around the args.Component to inject the args.toMergeArgs as props, which are merged with the passed props
22
23
  const MergedPropsComponent = (passedProps)=>{
23
24
  const mergedProps = deepMerge(passedProps, toMergeIntoProps);
25
+ if (sanitizeServerOnlyProps) {
26
+ serverProps.forEach((prop)=>{
27
+ delete mergedProps[prop];
28
+ });
29
+ }
24
30
  return /*#__PURE__*/ React.createElement(Component, mergedProps);
25
31
  };
26
32
  return MergedPropsComponent;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/withMergedProps/index.tsx"],"sourcesContent":["import { deepMerge } from 'payload/utilities'\nimport React from 'react'\n\n/**\n * Creates a higher-order component (HOC) that merges predefined properties (`toMergeIntoProps`)\n * with any properties passed to the resulting component.\n *\n * Use this when you want to pre-specify some props for a component, while also allowing users to\n * pass in their own props. The HOC ensures the passed props and predefined props are combined before\n * rendering the original component.\n *\n * @example\n * const PredefinedComponent = getMergedPropsComponent({\n * Component: OriginalComponent,\n * toMergeIntoProps: { someExtraValue: 5 }\n * });\n * // Using <PredefinedComponent customProp=\"value\" /> will result in\n * // <OriginalComponent customProp=\"value\" someExtraValue={5} />\n *\n * @returns A higher-order component with combined properties.\n */\nexport function withMergedProps<ToMergeIntoProps, CompleteReturnProps>({\n Component,\n toMergeIntoProps,\n}: {\n Component: React.FC<CompleteReturnProps>\n toMergeIntoProps: ToMergeIntoProps\n}): React.FC<CompleteReturnProps> {\n // A wrapper around the args.Component to inject the args.toMergeArgs as props, which are merged with the passed props\n const MergedPropsComponent: React.FC<CompleteReturnProps> = (passedProps) => {\n const mergedProps = deepMerge(passedProps, toMergeIntoProps)\n return <Component {...mergedProps} />\n }\n\n return MergedPropsComponent\n}\n"],"names":["deepMerge","React","withMergedProps","Component","toMergeIntoProps","MergedPropsComponent","passedProps","mergedProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,SAAS,QAAQ,oBAAmB;AAC7C,OAAOC,WAAW,QAAO;AAEzB;;;;;;;;;;;;;;;;;CAiBC,GACD,OAAO,SAASC,gBAAuD,EACrEC,SAAS,EACTC,gBAAgB,EAIjB;IACC,sHAAsH;IACtH,MAAMC,uBAAsD,CAACC;QAC3D,MAAMC,cAAcP,UAAUM,aAAaF;QAC3C,qBAAO,oBAACD,WAAcI;IACxB;IAEA,OAAOF;AACT"}
1
+ {"version":3,"sources":["../../../src/elements/withMergedProps/index.tsx"],"sourcesContent":["import { serverProps } from 'payload/config'\nimport { deepMerge } from 'payload/utilities'\nimport React from 'react'\n\n/**\n * Creates a higher-order component (HOC) that merges predefined properties (`toMergeIntoProps`)\n * with any properties passed to the resulting component.\n *\n * Use this when you want to pre-specify some props for a component, while also allowing users to\n * pass in their own props. The HOC ensures the passed props and predefined props are combined before\n * rendering the original component.\n *\n * @example\n * const PredefinedComponent = getMergedPropsComponent({\n * Component: OriginalComponent,\n * toMergeIntoProps: { someExtraValue: 5 }\n * });\n * // Using <PredefinedComponent customProp=\"value\" /> will result in\n * // <OriginalComponent customProp=\"value\" someExtraValue={5} />\n *\n * @returns A higher-order component with combined properties.\n */\nexport function withMergedProps<ToMergeIntoProps, CompleteReturnProps>({\n Component,\n sanitizeServerOnlyProps = true,\n toMergeIntoProps,\n}: {\n Component: React.FC<CompleteReturnProps>\n sanitizeServerOnlyProps?: boolean\n toMergeIntoProps: ToMergeIntoProps\n}): React.FC<CompleteReturnProps> {\n // A wrapper around the args.Component to inject the args.toMergeArgs as props, which are merged with the passed props\n const MergedPropsComponent: React.FC<CompleteReturnProps> = (passedProps) => {\n const mergedProps = deepMerge(passedProps, toMergeIntoProps)\n\n if (sanitizeServerOnlyProps) {\n serverProps.forEach((prop) => {\n delete (mergedProps)[prop]\n })\n }\n\n return <Component {...mergedProps} />\n }\n\n return MergedPropsComponent\n}\n"],"names":["serverProps","deepMerge","React","withMergedProps","Component","sanitizeServerOnlyProps","toMergeIntoProps","MergedPropsComponent","passedProps","mergedProps","forEach","prop"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,WAAW,QAAQ,iBAAgB;AAC5C,SAASC,SAAS,QAAQ,oBAAmB;AAC7C,OAAOC,WAAW,QAAO;AAEzB;;;;;;;;;;;;;;;;;CAiBC,GACD,OAAO,SAASC,gBAAuD,EACrEC,SAAS,EACTC,0BAA0B,IAAI,EAC9BC,gBAAgB,EAKjB;IACC,sHAAsH;IACtH,MAAMC,uBAAsD,CAACC;QAC3D,MAAMC,cAAcR,UAAUO,aAAaF;QAE3C,IAAID,yBAAyB;YAC3BL,YAAYU,OAAO,CAAC,CAACC;gBACnB,OAAO,AAACF,WAAY,CAACE,KAAK;YAC5B;QACF;QAEA,qBAAO,oBAACP,WAAcK;IACxB;IAEA,OAAOF;AACT"}
@@ -46,12 +46,13 @@ export { Tooltip } from '../elements/Tooltip/index.js';
46
46
  export { Translation } from '../elements/Translation/index.js';
47
47
  export { UnpublishMany } from '../elements/UnpublishMany/index.js';
48
48
  export { Upload } from '../elements/Upload/index.js';
49
- export { BlocksDrawer } from '../fields/Blocks/BlocksDrawer/index.js';
50
49
  declare const Modal: import("react").FC<import("@faceless-ui/modal/dist/Modal/index.js").ModalProps & {
51
50
  modal?: import("@faceless-ui/modal/dist/ModalProvider/context.js").IModalContext;
52
51
  } & {
53
52
  children?: import("react").ReactNode | import("@faceless-ui/modal/dist/Modal/index.js").ChildFunction;
54
53
  }>;
55
54
  export { Modal };
56
- export { SetViewActions } from '../providers/Actions/SetViewActions/index.js';
55
+ import * as reactToastifyImport from 'react-toastify';
56
+ declare const toast: typeof reactToastifyImport.toast;
57
+ export { toast };
57
58
  //# sourceMappingURL=elements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../src/exports/elements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../src/exports/elements.ts"],"names":[],"mappings":"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"}
@@ -43,12 +43,15 @@ export { Tooltip } from '../elements/Tooltip/index.js';
43
43
  export { Translation } from '../elements/Translation/index.js';
44
44
  export { UnpublishMany } from '../elements/UnpublishMany/index.js';
45
45
  export { Upload } from '../elements/Upload/index.js';
46
- export { BlocksDrawer } from '../fields/Blocks/BlocksDrawer/index.js';
47
46
  import * as facelessUIImport from '@faceless-ui/modal';
48
47
  const { Modal } = facelessUIImport && 'Modal' in facelessUIImport ? facelessUIImport : {
49
48
  Modal: undefined
50
49
  };
51
50
  export { Modal };
52
- export { SetViewActions } from '../providers/Actions/SetViewActions/index.js';
51
+ import * as reactToastifyImport from 'react-toastify';
52
+ const { toast } = reactToastifyImport && 'toast' in reactToastifyImport ? reactToastifyImport : {
53
+ toast: undefined
54
+ };
55
+ export { toast };
53
56
 
54
57
  //# sourceMappingURL=elements.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/exports/elements.ts"],"sourcesContent":["export { Button } from '../elements/Button/index.js'\nexport { Card } from '../elements/Card/index.js'\nexport { Collapsible } from '../elements/Collapsible/index.js'\nexport { CopyToClipboard } from '../elements/CopyToClipboard/index.js'\nexport { DeleteMany } from '../elements/DeleteMany/index.js'\nexport { DocumentControls } from '../elements/DocumentControls/index.js'\nexport { useDocumentDrawer } from '../elements/DocumentDrawer/index.js'\nexport { DocumentFields } from '../elements/DocumentFields/index.js'\nexport { DocumentHeader } from '../elements/DocumentHeader/index.js'\nexport { Drawer, DrawerToggler, formatDrawerSlug } from '../elements/Drawer/index.js'\nexport { useDrawerSlug } from '../elements/Drawer/useDrawerSlug.js'\nexport { EditMany } from '../elements/EditMany/index.js'\nexport { ErrorPill } from '../elements/ErrorPill/index.js'\nexport { GenerateConfirmation } from '../elements/GenerateConfirmation/index.js'\nexport { Gutter } from '../elements/Gutter/index.js'\nexport { HydrateClientUser } from '../elements/HydrateClientUser/index.js'\nexport { ListControls } from '../elements/ListControls/index.js'\nexport { useListDrawer } from '../elements/ListDrawer/index.js'\nexport { ListSelection } from '../elements/ListSelection/index.js'\nexport { LoadingOverlayToggle } from '../elements/Loading/index.js'\nexport { FormLoadingOverlayToggle } from '../elements/Loading/index.js'\nexport { LoadingOverlay } from '../elements/Loading/index.js'\nexport { Pagination } from '../elements/Pagination/index.js'\nexport { PerPage } from '../elements/PerPage/index.js'\nexport { Pill } from '../elements/Pill/index.js'\nexport * as PopupList from '../elements/Popup/PopupButtonList/index.js'\nexport { Popup } from '../elements/Popup/index.js'\nexport { PublishMany } from '../elements/PublishMany/index.js'\nexport { ReactSelect } from '../elements/ReactSelect/index.js'\nexport type { Option } from '../elements/ReactSelect/types.js'\nexport { RenderCustomComponent } from '../elements/RenderCustomComponent/index.js'\nexport { ShimmerEffect } from '../elements/ShimmerEffect/index.js'\nexport { StaggeredShimmers } from '../elements/ShimmerEffect/index.js'\nexport { SortColumn } from '../elements/SortColumn/index.js'\nexport { SetStepNav } from '../elements/StepNav/SetStepNav.js'\nexport { useStepNav } from '../elements/StepNav/index.js'\nexport type { StepNavItem } from '../elements/StepNav/index.js'\nexport { RelationshipProvider } from '../elements/Table/RelationshipProvider/index.js'\nexport { TableCellProvider, useTableCell } from '../elements/Table/TableCellProvider/index.js'\nexport { Table } from '../elements/Table/index.js'\nexport type { Column } from '../elements/Table/index.js'\nexport { TableColumnsProvider } from '../elements/TableColumns/index.js'\nexport { Thumbnail } from '../elements/Thumbnail/index.js'\nexport { Tooltip } from '../elements/Tooltip/index.js'\n// export { useThumbnail } from '../elements/Upload/index.js'\nexport { Translation } from '../elements/Translation/index.js'\nexport { UnpublishMany } from '../elements/UnpublishMany/index.js'\nexport { Upload } from '../elements/Upload/index.js'\nexport { BlocksDrawer } from '../fields/Blocks/BlocksDrawer/index.js'\nimport * as facelessUIImport from '@faceless-ui/modal'\nconst { Modal } =\n facelessUIImport && 'Modal' in facelessUIImport ? facelessUIImport : { Modal: undefined }\nexport { Modal }\nexport { SetViewActions } from '../providers/Actions/SetViewActions/index.js'\n"],"names":["Button","Card","Collapsible","CopyToClipboard","DeleteMany","DocumentControls","useDocumentDrawer","DocumentFields","DocumentHeader","Drawer","DrawerToggler","formatDrawerSlug","useDrawerSlug","EditMany","ErrorPill","GenerateConfirmation","Gutter","HydrateClientUser","ListControls","useListDrawer","ListSelection","LoadingOverlayToggle","FormLoadingOverlayToggle","LoadingOverlay","Pagination","PerPage","Pill","PopupList","Popup","PublishMany","ReactSelect","RenderCustomComponent","ShimmerEffect","StaggeredShimmers","SortColumn","SetStepNav","useStepNav","RelationshipProvider","TableCellProvider","useTableCell","Table","TableColumnsProvider","Thumbnail","Tooltip","Translation","UnpublishMany","Upload","BlocksDrawer","facelessUIImport","Modal","undefined","SetViewActions"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,MAAM,QAAQ,8BAA6B;AACpD,SAASC,IAAI,QAAQ,4BAA2B;AAChD,SAASC,WAAW,QAAQ,mCAAkC;AAC9D,SAASC,eAAe,QAAQ,uCAAsC;AACtE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,iBAAiB,QAAQ,sCAAqC;AACvE,SAASC,cAAc,QAAQ,sCAAqC;AACpE,SAASC,cAAc,QAAQ,sCAAqC;AACpE,SAASC,MAAM,EAAEC,aAAa,EAAEC,gBAAgB,QAAQ,8BAA6B;AACrF,SAASC,aAAa,QAAQ,sCAAqC;AACnE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,SAAS,QAAQ,iCAAgC;AAC1D,SAASC,oBAAoB,QAAQ,4CAA2C;AAChF,SAASC,MAAM,QAAQ,8BAA6B;AACpD,SAASC,iBAAiB,QAAQ,yCAAwC;AAC1E,SAASC,YAAY,QAAQ,oCAAmC;AAChE,SAASC,aAAa,QAAQ,kCAAiC;AAC/D,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,oBAAoB,QAAQ,+BAA8B;AACnE,SAASC,wBAAwB,QAAQ,+BAA8B;AACvE,SAASC,cAAc,QAAQ,+BAA8B;AAC7D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,OAAO,QAAQ,+BAA8B;AACtD,SAASC,IAAI,QAAQ,4BAA2B;AAChD,OAAO,KAAKC,SAAS,MAAM,6CAA4C;AACvE,SAASC,KAAK,QAAQ,6BAA4B;AAClD,SAASC,WAAW,QAAQ,mCAAkC;AAC9D,SAASC,WAAW,QAAQ,mCAAkC;AAE9D,SAASC,qBAAqB,QAAQ,6CAA4C;AAClF,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,iBAAiB,QAAQ,qCAAoC;AACtE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,oCAAmC;AAC9D,SAASC,UAAU,QAAQ,+BAA8B;AAEzD,SAASC,oBAAoB,QAAQ,kDAAiD;AACtF,SAASC,iBAAiB,EAAEC,YAAY,QAAQ,+CAA8C;AAC9F,SAASC,KAAK,QAAQ,6BAA4B;AAElD,SAASC,oBAAoB,QAAQ,oCAAmC;AACxE,SAASC,SAAS,QAAQ,iCAAgC;AAC1D,SAASC,OAAO,QAAQ,+BAA8B;AACtD,6DAA6D;AAC7D,SAASC,WAAW,QAAQ,mCAAkC;AAC9D,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,MAAM,QAAQ,8BAA6B;AACpD,SAASC,YAAY,QAAQ,yCAAwC;AACrE,YAAYC,sBAAsB,qBAAoB;AACtD,MAAM,EAAEC,KAAK,EAAE,GACbD,oBAAoB,WAAWA,mBAAmBA,mBAAmB;IAAEC,OAAOC;AAAU;AAC1F,SAASD,KAAK,GAAE;AAChB,SAASE,cAAc,QAAQ,+CAA8C"}
1
+ {"version":3,"sources":["../../src/exports/elements.ts"],"sourcesContent":["export { Button } from '../elements/Button/index.js'\nexport { Card } from '../elements/Card/index.js'\nexport { Collapsible } from '../elements/Collapsible/index.js'\nexport { CopyToClipboard } from '../elements/CopyToClipboard/index.js'\nexport { DeleteMany } from '../elements/DeleteMany/index.js'\nexport { DocumentControls } from '../elements/DocumentControls/index.js'\nexport { useDocumentDrawer } from '../elements/DocumentDrawer/index.js'\nexport { DocumentFields } from '../elements/DocumentFields/index.js'\nexport { DocumentHeader } from '../elements/DocumentHeader/index.js'\nexport { Drawer, DrawerToggler, formatDrawerSlug } from '../elements/Drawer/index.js'\nexport { useDrawerSlug } from '../elements/Drawer/useDrawerSlug.js'\nexport { EditMany } from '../elements/EditMany/index.js'\nexport { ErrorPill } from '../elements/ErrorPill/index.js'\nexport { GenerateConfirmation } from '../elements/GenerateConfirmation/index.js'\nexport { Gutter } from '../elements/Gutter/index.js'\nexport { HydrateClientUser } from '../elements/HydrateClientUser/index.js'\nexport { ListControls } from '../elements/ListControls/index.js'\nexport { useListDrawer } from '../elements/ListDrawer/index.js'\nexport { ListSelection } from '../elements/ListSelection/index.js'\nexport { LoadingOverlayToggle } from '../elements/Loading/index.js'\nexport { FormLoadingOverlayToggle } from '../elements/Loading/index.js'\nexport { LoadingOverlay } from '../elements/Loading/index.js'\nexport { Pagination } from '../elements/Pagination/index.js'\nexport { PerPage } from '../elements/PerPage/index.js'\nexport { Pill } from '../elements/Pill/index.js'\nexport * as PopupList from '../elements/Popup/PopupButtonList/index.js'\nexport { Popup } from '../elements/Popup/index.js'\nexport { PublishMany } from '../elements/PublishMany/index.js'\nexport { ReactSelect } from '../elements/ReactSelect/index.js'\nexport type { Option } from '../elements/ReactSelect/types.js'\nexport { RenderCustomComponent } from '../elements/RenderCustomComponent/index.js'\nexport { ShimmerEffect } from '../elements/ShimmerEffect/index.js'\nexport { StaggeredShimmers } from '../elements/ShimmerEffect/index.js'\nexport { SortColumn } from '../elements/SortColumn/index.js'\nexport { SetStepNav } from '../elements/StepNav/SetStepNav.js'\nexport { useStepNav } from '../elements/StepNav/index.js'\nexport type { StepNavItem } from '../elements/StepNav/index.js'\nexport { RelationshipProvider } from '../elements/Table/RelationshipProvider/index.js'\nexport { TableCellProvider, useTableCell } from '../elements/Table/TableCellProvider/index.js'\nexport { Table } from '../elements/Table/index.js'\nexport type { Column } from '../elements/Table/index.js'\nexport { TableColumnsProvider } from '../elements/TableColumns/index.js'\nexport { Thumbnail } from '../elements/Thumbnail/index.js'\nexport { Tooltip } from '../elements/Tooltip/index.js'\n// export { useThumbnail } from '../elements/Upload/index.js'\nexport { Translation } from '../elements/Translation/index.js'\nexport { UnpublishMany } from '../elements/UnpublishMany/index.js'\nexport { Upload } from '../elements/Upload/index.js'\nimport * as facelessUIImport from '@faceless-ui/modal'\nconst { Modal } =\n facelessUIImport && 'Modal' in facelessUIImport ? facelessUIImport : { Modal: undefined }\nexport { Modal }\nimport * as reactToastifyImport from 'react-toastify'\nconst { toast } =\n reactToastifyImport && 'toast' in reactToastifyImport ? reactToastifyImport : { toast: undefined }\nexport { toast }\n"],"names":["Button","Card","Collapsible","CopyToClipboard","DeleteMany","DocumentControls","useDocumentDrawer","DocumentFields","DocumentHeader","Drawer","DrawerToggler","formatDrawerSlug","useDrawerSlug","EditMany","ErrorPill","GenerateConfirmation","Gutter","HydrateClientUser","ListControls","useListDrawer","ListSelection","LoadingOverlayToggle","FormLoadingOverlayToggle","LoadingOverlay","Pagination","PerPage","Pill","PopupList","Popup","PublishMany","ReactSelect","RenderCustomComponent","ShimmerEffect","StaggeredShimmers","SortColumn","SetStepNav","useStepNav","RelationshipProvider","TableCellProvider","useTableCell","Table","TableColumnsProvider","Thumbnail","Tooltip","Translation","UnpublishMany","Upload","facelessUIImport","Modal","undefined","reactToastifyImport","toast"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,MAAM,QAAQ,8BAA6B;AACpD,SAASC,IAAI,QAAQ,4BAA2B;AAChD,SAASC,WAAW,QAAQ,mCAAkC;AAC9D,SAASC,eAAe,QAAQ,uCAAsC;AACtE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,gBAAgB,QAAQ,wCAAuC;AACxE,SAASC,iBAAiB,QAAQ,sCAAqC;AACvE,SAASC,cAAc,QAAQ,sCAAqC;AACpE,SAASC,cAAc,QAAQ,sCAAqC;AACpE,SAASC,MAAM,EAAEC,aAAa,EAAEC,gBAAgB,QAAQ,8BAA6B;AACrF,SAASC,aAAa,QAAQ,sCAAqC;AACnE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,SAAS,QAAQ,iCAAgC;AAC1D,SAASC,oBAAoB,QAAQ,4CAA2C;AAChF,SAASC,MAAM,QAAQ,8BAA6B;AACpD,SAASC,iBAAiB,QAAQ,yCAAwC;AAC1E,SAASC,YAAY,QAAQ,oCAAmC;AAChE,SAASC,aAAa,QAAQ,kCAAiC;AAC/D,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,oBAAoB,QAAQ,+BAA8B;AACnE,SAASC,wBAAwB,QAAQ,+BAA8B;AACvE,SAASC,cAAc,QAAQ,+BAA8B;AAC7D,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,OAAO,QAAQ,+BAA8B;AACtD,SAASC,IAAI,QAAQ,4BAA2B;AAChD,OAAO,KAAKC,SAAS,MAAM,6CAA4C;AACvE,SAASC,KAAK,QAAQ,6BAA4B;AAClD,SAASC,WAAW,QAAQ,mCAAkC;AAC9D,SAASC,WAAW,QAAQ,mCAAkC;AAE9D,SAASC,qBAAqB,QAAQ,6CAA4C;AAClF,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,iBAAiB,QAAQ,qCAAoC;AACtE,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,SAASC,UAAU,QAAQ,oCAAmC;AAC9D,SAASC,UAAU,QAAQ,+BAA8B;AAEzD,SAASC,oBAAoB,QAAQ,kDAAiD;AACtF,SAASC,iBAAiB,EAAEC,YAAY,QAAQ,+CAA8C;AAC9F,SAASC,KAAK,QAAQ,6BAA4B;AAElD,SAASC,oBAAoB,QAAQ,oCAAmC;AACxE,SAASC,SAAS,QAAQ,iCAAgC;AAC1D,SAASC,OAAO,QAAQ,+BAA8B;AACtD,6DAA6D;AAC7D,SAASC,WAAW,QAAQ,mCAAkC;AAC9D,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,MAAM,QAAQ,8BAA6B;AACpD,YAAYC,sBAAsB,qBAAoB;AACtD,MAAM,EAAEC,KAAK,EAAE,GACbD,oBAAoB,WAAWA,mBAAmBA,mBAAmB;IAAEC,OAAOC;AAAU;AAC1F,SAASD,KAAK,GAAE;AAChB,YAAYE,yBAAyB,iBAAgB;AACrD,MAAM,EAAEC,KAAK,EAAE,GACbD,uBAAuB,WAAWA,sBAAsBA,sBAAsB;IAAEC,OAAOF;AAAU;AACnG,SAASE,KAAK,GAAE"}
@@ -0,0 +1,2 @@
1
+ export { BlocksDrawer } from '../fields/Blocks/BlocksDrawer/index.js';
2
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/exports/fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { BlocksDrawer } from '../fields/Blocks/BlocksDrawer/index.js';
2
+
3
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/exports/fields.ts"],"sourcesContent":["export { BlocksDrawer } from '../fields/Blocks/BlocksDrawer/index.js'\n"],"names":["BlocksDrawer"],"rangeMappings":"","mappings":"AAAA,SAASA,YAAY,QAAQ,yCAAwC"}
@@ -0,0 +1,2 @@
1
+ export { SetViewActions } from '../providers/Actions/SetViewActions/index.js';
2
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/exports/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { SetViewActions } from '../providers/Actions/SetViewActions/index.js';
2
+
3
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/exports/providers.ts"],"sourcesContent":["export { SetViewActions } from '../providers/Actions/SetViewActions/index.js'\n"],"names":["SetViewActions"],"rangeMappings":"","mappings":"AAAA,SAASA,cAAc,QAAQ,+CAA8C"}
@@ -3,7 +3,7 @@ import type { FormFieldBase } from '../index.js';
3
3
  export type HiddenInputFieldProps = FormFieldBase & {
4
4
  disableModifyingForm?: false;
5
5
  forceUsePathFromProps?: boolean;
6
- name: string;
6
+ name?: string;
7
7
  path?: string;
8
8
  value?: unknown;
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/HiddenInput/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAKhD,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAClD,oBAAoB,CAAC,EAAE,KAAK,CAAA;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAsCD,eAAO,MAAM,WAAW,iCAAkC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/HiddenInput/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAKhD,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAClD,oBAAoB,CAAC,EAAE,KAAK,CAAA;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAsCD,eAAO,MAAM,WAAW,iCAAkC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/HiddenInput/index.tsx"],"sourcesContent":["'use client'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useEffect } from 'react'\n\nimport type { FormFieldBase } from '../index.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\n\nexport type HiddenInputFieldProps = FormFieldBase & {\n disableModifyingForm?: false\n forceUsePathFromProps?: boolean\n name: string\n path?: string\n value?: unknown\n}\n\n/**\n * This is mainly used to save a value on the form that is not visible to the user.\n * For example, this sets the `ìd` property of a block in the Blocks field.\n */\nconst HiddenInputField: React.FC<HiddenInputFieldProps> = (props) => {\n const {\n name,\n disableModifyingForm = true,\n forceUsePathFromProps,\n path: pathFromProps,\n value: valueFromProps,\n } = props\n\n const { path: pathFromContext } = useFieldProps()\n\n const { path, setValue, value } = useField({\n path: (!forceUsePathFromProps ? pathFromContext : null) || pathFromProps || name,\n })\n\n useEffect(() => {\n if (valueFromProps !== undefined) {\n setValue(valueFromProps, disableModifyingForm)\n }\n }, [valueFromProps, setValue, disableModifyingForm])\n\n return (\n <input\n id={`field-${path?.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n type=\"hidden\"\n value={(value as string) || ''}\n />\n )\n}\n\nexport const HiddenInput = withCondition(HiddenInputField)\n"],"names":["useFieldProps","React","useEffect","useField","withCondition","HiddenInputField","props","name","disableModifyingForm","forceUsePathFromProps","path","pathFromProps","value","valueFromProps","pathFromContext","setValue","undefined","input","id","replace","onChange","type","HiddenInput"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,aAAa,QAAQ,0CAAyC;AACvE,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAIxC,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAUlE;;;CAGC,GACD,MAAMC,mBAAoD,CAACC;IACzD,MAAM,EACJC,IAAI,EACJC,uBAAuB,IAAI,EAC3BC,qBAAqB,EACrBC,MAAMC,aAAa,EACnBC,OAAOC,cAAc,EACtB,GAAGP;IAEJ,MAAM,EAAEI,MAAMI,eAAe,EAAE,GAAGd;IAElC,MAAM,EAAEU,IAAI,EAAEK,QAAQ,EAAEH,KAAK,EAAE,GAAGT,SAAS;QACzCO,MAAM,AAAC,CAAA,CAACD,wBAAwBK,kBAAkB,IAAG,KAAMH,iBAAiBJ;IAC9E;IAEAL,UAAU;QACR,IAAIW,mBAAmBG,WAAW;YAChCD,SAASF,gBAAgBL;QAC3B;IACF,GAAG;QAACK;QAAgBE;QAAUP;KAAqB;IAEnD,qBACE,oBAACS;QACCC,IAAI,CAAC,MAAM,EAAER,MAAMS,QAAQ,OAAO,MAAM,CAAC;QACzCZ,MAAMG;QACNU,UAAUL;QACVM,MAAK;QACLT,OAAO,AAACA,SAAoB;;AAGlC;AAEA,OAAO,MAAMU,cAAclB,cAAcC,kBAAiB"}
1
+ {"version":3,"sources":["../../../src/fields/HiddenInput/index.tsx"],"sourcesContent":["'use client'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport React, { useEffect } from 'react'\n\nimport type { FormFieldBase } from '../index.js'\n\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\n\nexport type HiddenInputFieldProps = FormFieldBase & {\n disableModifyingForm?: false\n forceUsePathFromProps?: boolean\n name?: string\n path?: string\n value?: unknown\n}\n\n/**\n * This is mainly used to save a value on the form that is not visible to the user.\n * For example, this sets the `ìd` property of a block in the Blocks field.\n */\nconst HiddenInputField: React.FC<HiddenInputFieldProps> = (props) => {\n const {\n name,\n disableModifyingForm = true,\n forceUsePathFromProps,\n path: pathFromProps,\n value: valueFromProps,\n } = props\n\n const { path: pathFromContext } = useFieldProps()\n\n const { path, setValue, value } = useField({\n path: (!forceUsePathFromProps ? pathFromContext : null) || pathFromProps || name,\n })\n\n useEffect(() => {\n if (valueFromProps !== undefined) {\n setValue(valueFromProps, disableModifyingForm)\n }\n }, [valueFromProps, setValue, disableModifyingForm])\n\n return (\n <input\n id={`field-${path?.replace(/\\./g, '__')}`}\n name={path}\n onChange={setValue}\n type=\"hidden\"\n value={(value as string) || ''}\n />\n )\n}\n\nexport const HiddenInput = withCondition(HiddenInputField)\n"],"names":["useFieldProps","React","useEffect","useField","withCondition","HiddenInputField","props","name","disableModifyingForm","forceUsePathFromProps","path","pathFromProps","value","valueFromProps","pathFromContext","setValue","undefined","input","id","replace","onChange","type","HiddenInput"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,aAAa,QAAQ,0CAAyC;AACvE,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAIxC,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAUlE;;;CAGC,GACD,MAAMC,mBAAoD,CAACC;IACzD,MAAM,EACJC,IAAI,EACJC,uBAAuB,IAAI,EAC3BC,qBAAqB,EACrBC,MAAMC,aAAa,EACnBC,OAAOC,cAAc,EACtB,GAAGP;IAEJ,MAAM,EAAEI,MAAMI,eAAe,EAAE,GAAGd;IAElC,MAAM,EAAEU,IAAI,EAAEK,QAAQ,EAAEH,KAAK,EAAE,GAAGT,SAAS;QACzCO,MAAM,AAAC,CAAA,CAACD,wBAAwBK,kBAAkB,IAAG,KAAMH,iBAAiBJ;IAC9E;IAEAL,UAAU;QACR,IAAIW,mBAAmBG,WAAW;YAChCD,SAASF,gBAAgBL;QAC3B;IACF,GAAG;QAACK;QAAgBE;QAAUP;KAAqB;IAEnD,qBACE,oBAACS;QACCC,IAAI,CAAC,MAAM,EAAER,MAAMS,QAAQ,OAAO,MAAM,CAAC;QACzCZ,MAAMG;QACNU,UAAUL;QACVM,MAAK;QACLT,OAAO,AAACA,SAAoB;;AAGlC;AAEA,OAAO,MAAMU,cAAclB,cAAcC,kBAAiB"}
@@ -4,6 +4,7 @@ import type { FieldBase, JSONField as JSONFieldType } from 'payload/types';
4
4
  import type { FormFieldBase } from '../shared/index.js';
5
5
  export type JSONFieldProps = FormFieldBase & {
6
6
  editorOptions?: JSONFieldType['admin']['editorOptions'];
7
+ jsonSchema?: Record<string, unknown>;
7
8
  label?: FieldBase['label'];
8
9
  name?: string;
9
10
  path?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/JSON/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAO/D,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AAM1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA+GD,eAAO,MAAM,SAAS,0BAAoC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/JSON/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAO/D,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AAM1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAC3C,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAoID,eAAO,MAAM,SAAS,0BAAoC,CAAA"}
@@ -10,7 +10,7 @@ import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription';
10
10
  import { FieldError } from '@payloadcms/ui/forms/FieldError';
11
11
  import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
12
12
  const JSONFieldComponent = (props)=>{
13
- const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, editorOptions, errorProps, label, labelProps, path: pathFromProps, readOnly: readOnlyFromProps, required, style, validate, width } = props;
13
+ const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, editorOptions, errorProps, jsonSchema, label, labelProps, path: pathFromProps, readOnly: readOnlyFromProps, required, style, validate, width } = props;
14
14
  const [stringValue, setStringValue] = useState();
15
15
  const [jsonError, setJsonError] = useState();
16
16
  const [hasLoadedValue, setHasLoadedValue] = useState(false);
@@ -31,6 +31,24 @@ const JSONFieldComponent = (props)=>{
31
31
  path: pathFromContext || pathFromProps || name,
32
32
  validate: memoizedValidate
33
33
  });
34
+ const handleMount = useCallback((editor, monaco)=>{
35
+ if (!jsonSchema) return;
36
+ const existingSchemas = monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || [];
37
+ const modelUri = monaco.Uri.parse(jsonSchema.uri);
38
+ const model = monaco.editor.createModel(JSON.stringify(value, null, 2), 'json', modelUri);
39
+ monaco.languages.json.jsonDefaults.setDiagnosticsOptions({
40
+ enableSchemaRequest: true,
41
+ schemas: [
42
+ ...existingSchemas,
43
+ jsonSchema
44
+ ],
45
+ validate: true
46
+ });
47
+ editor.setModel(model);
48
+ }, [
49
+ jsonSchema,
50
+ value
51
+ ]);
34
52
  const handleChange = useCallback((val)=>{
35
53
  if (readOnly) return;
36
54
  setStringValue(val);
@@ -79,6 +97,7 @@ const JSONFieldComponent = (props)=>{
79
97
  }), /*#__PURE__*/ React.createElement("div", null, BeforeInput, /*#__PURE__*/ React.createElement(CodeEditor, {
80
98
  defaultLanguage: "json",
81
99
  onChange: handleChange,
100
+ onMount: handleMount,
82
101
  options: editorOptions,
83
102
  readOnly: readOnly,
84
103
  value: stringValue