@payloadcms/ui 4.0.0-canary.7 → 4.0.0-canary.9

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 (155) hide show
  1. package/dist/elements/AddNewRelation/index.css +28 -28
  2. package/dist/elements/AppHeader/index.d.ts +2 -1
  3. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  4. package/dist/elements/AppHeader/index.js +2 -0
  5. package/dist/elements/AppHeader/index.js.map +1 -1
  6. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  7. package/dist/elements/BulkUpload/FormsManager/index.js +13 -0
  8. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  9. package/dist/elements/DocumentFields/index.css +8 -0
  10. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -13
  11. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  12. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +37 -31
  13. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  14. package/dist/elements/Hierarchy/Tree/index.css +1 -1
  15. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  16. package/dist/elements/Hierarchy/Tree/index.js +18 -5
  17. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  18. package/dist/elements/RenderServerComponent/clientOnly.d.ts +8 -0
  19. package/dist/elements/RenderServerComponent/clientOnly.d.ts.map +1 -0
  20. package/dist/elements/RenderServerComponent/clientOnly.js +56 -0
  21. package/dist/elements/RenderServerComponent/clientOnly.js.map +1 -0
  22. package/dist/elements/SidebarRow/index.css +0 -2
  23. package/dist/elements/UserMenu/index.d.ts +1 -0
  24. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  25. package/dist/elements/UserMenu/index.js +2 -1
  26. package/dist/elements/UserMenu/index.js.map +1 -1
  27. package/dist/exports/client/index.js +1 -86
  28. package/dist/exports/client/index.js.map +4 -4
  29. package/dist/exports/server.d.ts +3 -0
  30. package/dist/exports/server.d.ts.map +1 -0
  31. package/dist/exports/server.js +2 -0
  32. package/dist/exports/server.js.map +1 -0
  33. package/dist/exports/shared/index.js.map +2 -2
  34. package/dist/fields/Group/index.css +1 -7
  35. package/dist/fields/Slug/index.d.ts +7 -5
  36. package/dist/fields/Slug/index.d.ts.map +1 -1
  37. package/dist/fields/Slug/index.js +6 -4
  38. package/dist/fields/Slug/index.js.map +1 -1
  39. package/dist/fields/index.d.ts.map +1 -1
  40. package/dist/fields/index.js +2 -0
  41. package/dist/fields/index.js.map +1 -1
  42. package/dist/forms/Form/types.d.ts +2 -2
  43. package/dist/forms/Form/types.d.ts.map +1 -1
  44. package/dist/forms/Form/types.js.map +1 -1
  45. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  46. package/dist/forms/RenderFields/RenderField.js +10 -0
  47. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  48. package/dist/forms/RenderFields/index.css +4 -4
  49. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
  50. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  51. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  52. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
  53. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  54. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  55. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
  56. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  57. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  58. package/dist/providers/Auth/index.d.ts +2 -2
  59. package/dist/providers/Auth/index.d.ts.map +1 -1
  60. package/dist/providers/Auth/index.js.map +1 -1
  61. package/dist/providers/DocumentInfo/types.d.ts +2 -2
  62. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  63. package/dist/providers/DocumentInfo/types.js.map +1 -1
  64. package/dist/providers/Root/index.d.ts +2 -2
  65. package/dist/providers/Root/index.d.ts.map +1 -1
  66. package/dist/providers/Root/index.js.map +1 -1
  67. package/dist/styles.css +1369 -1
  68. package/dist/templates/Default/index.d.ts.map +1 -1
  69. package/dist/templates/Default/index.js +6 -0
  70. package/dist/templates/Default/index.js.map +1 -1
  71. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  72. package/dist/utilities/copyDataFromLocale.js +1 -0
  73. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  74. package/dist/utilities/getDocPreferences.d.ts +2 -2
  75. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  76. package/dist/utilities/getDocPreferences.js.map +1 -1
  77. package/dist/utilities/getDocumentData.d.ts +2 -2
  78. package/dist/utilities/getDocumentData.d.ts.map +1 -1
  79. package/dist/utilities/getDocumentData.js.map +1 -1
  80. package/dist/utilities/getGlobalData.d.ts.map +1 -1
  81. package/dist/utilities/getGlobalData.js.map +1 -1
  82. package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
  83. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
  84. package/dist/utilities/getHasScheduledPublish.js.map +1 -1
  85. package/dist/utilities/getIsLocked.d.ts +2 -2
  86. package/dist/utilities/getIsLocked.d.ts.map +1 -1
  87. package/dist/utilities/getIsLocked.js.map +1 -1
  88. package/dist/utilities/getVersions.d.ts +2 -2
  89. package/dist/utilities/getVersions.d.ts.map +1 -1
  90. package/dist/utilities/getVersions.js.map +1 -1
  91. package/dist/utilities/handleAuthRedirect.d.ts +2 -2
  92. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  93. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  94. package/dist/utilities/handleFormStateLocking.d.ts +2 -2
  95. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  96. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  97. package/dist/utilities/handleLivePreview.d.ts +1 -0
  98. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  99. package/dist/utilities/serverFunctionRegistry.d.ts +13 -0
  100. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -0
  101. package/dist/utilities/serverFunctionRegistry.js +25 -0
  102. package/dist/utilities/serverFunctionRegistry.js.map +1 -0
  103. package/dist/utilities/slugify.d.ts +1 -1
  104. package/dist/utilities/slugify.js +1 -1
  105. package/dist/utilities/slugify.js.map +1 -1
  106. package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
  107. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  108. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  109. package/dist/views/Account/Settings/index.d.ts +2 -2
  110. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  111. package/dist/views/Account/Settings/index.js.map +1 -1
  112. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
  113. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
  114. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
  115. package/dist/views/Document/index.d.ts.map +1 -1
  116. package/dist/views/Document/index.js +8 -1
  117. package/dist/views/Document/index.js.map +1 -1
  118. package/dist/views/Logout/LogoutClient.d.ts +14 -0
  119. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  120. package/dist/views/Logout/LogoutClient.js +6 -4
  121. package/dist/views/Logout/LogoutClient.js.map +1 -1
  122. package/dist/views/Logout/index.d.ts.map +1 -1
  123. package/dist/views/Logout/index.js +7 -2
  124. package/dist/views/Logout/index.js.map +1 -1
  125. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  126. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
  127. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  128. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  129. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
  130. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  131. package/dist/views/Versions/fetchVersions.d.ts +4 -4
  132. package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
  133. package/dist/views/Versions/fetchVersions.js.map +1 -1
  134. package/dist/views/Versions/types.d.ts +2 -2
  135. package/dist/views/Versions/types.d.ts.map +1 -1
  136. package/dist/views/Versions/types.js.map +1 -1
  137. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +20 -0
  138. package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -0
  139. package/dist/widgets/CollectionCards/getCollectionCardsData.js +29 -0
  140. package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -0
  141. package/dist/widgets/CollectionCards/index.client.d.ts +5 -0
  142. package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -0
  143. package/dist/widgets/CollectionCards/index.client.js +139 -0
  144. package/dist/widgets/CollectionCards/index.client.js.map +1 -0
  145. package/package.json +57 -7
  146. package/dist/exports/client/CodeEditor-T3624SG3.js +0 -14
  147. package/dist/exports/client/CodeEditor-T3624SG3.js.map +0 -7
  148. package/dist/exports/client/DatePicker-6KF52Z3G.js +0 -14
  149. package/dist/exports/client/DatePicker-6KF52Z3G.js.map +0 -7
  150. package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
  151. package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
  152. package/dist/exports/client/chunk-7T64ULOM.js +0 -29
  153. package/dist/exports/client/chunk-7T64ULOM.js.map +0 -7
  154. package/dist/exports/client/chunk-DMFYTMX6.js +0 -27
  155. package/dist/exports/client/chunk-DMFYTMX6.js.map +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","LogoutClient","baseClass","LogoutView","inactivity","initPageResult","searchParams","req","payload","config","routes","admin","adminRoute","_jsx","className","redirect"],"sources":["../../../src/views/Logout/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { LogoutClient } from '../../exports/client/index.js'\nimport './index.css'\n\nconst baseClass = 'logout'\n\nexport const LogoutView: React.FC<\n {\n inactivity?: boolean\n } & AdminViewServerProps\n> = ({ inactivity, initPageResult, searchParams }) => {\n const {\n req: {\n payload: {\n config: {\n routes: { admin: adminRoute },\n },\n },\n },\n } = initPageResult\n\n return (\n <div className={`${baseClass}`}>\n <LogoutClient\n adminRoute={adminRoute}\n inactivity={inactivity}\n redirect={searchParams.redirect as string}\n />\n </div>\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB;AACA,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,UAAA,GAITA,CAAC;EAAEC,UAAU;EAAEC,cAAc;EAAEC;AAAY,CAAE;EAC/C,MAAM;IACJC,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,MAAA,EAAQ;YAAEC,KAAA,EAAOC;UAAU;QAAE;MAC9B;IACF;EACF,CACF,GAAGP,cAAA;EAEJ,oBACEQ,IAAA,CAAC;IAAIC,SAAA,EAAW,GAAGZ,SAAA,EAAW;cAC5B,aAAAW,IAAA,CAACZ,YAAA;MACCW,UAAA,EAAYA,UAAA;MACZR,UAAA,EAAYA,UAAA;MACZW,QAAA,EAAUT,YAAA,CAAaS;;;AAI/B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","LogoutClient","baseClass","LogoutView","inactivity","initPageResult","searchParams","req","payload","config","routes","admin","adminRoute","user","_jsx","className","redirect","id","collection"],"sources":["../../../src/views/Logout/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { LogoutClient } from '../../exports/client/index.js'\nimport './index.css'\n\nconst baseClass = 'logout'\n\nexport const LogoutView: React.FC<\n {\n inactivity?: boolean\n } & AdminViewServerProps\n> = ({ inactivity, initPageResult, searchParams }) => {\n const {\n req: {\n payload: {\n config: {\n routes: { admin: adminRoute },\n },\n },\n user,\n },\n } = initPageResult\n\n return (\n <div className={`${baseClass}`}>\n <LogoutClient\n adminRoute={adminRoute}\n inactivity={inactivity}\n redirect={searchParams.redirect as string}\n user={user ? { id: user.id, collection: user.collection } : null}\n />\n </div>\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB;AACA,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,UAAA,GAITA,CAAC;EAAEC,UAAU;EAAEC,cAAc;EAAEC;AAAY,CAAE;EAC/C,MAAM;IACJC,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,MAAA,EAAQ;YAAEC,KAAA,EAAOC;UAAU;QAAE;MAC9B,CACF;MACDC;IAAI;EACL,CACF,GAAGR,cAAA;EAEJ,oBACES,IAAA,CAAC;IAAIC,SAAA,EAAW,GAAGb,SAAA,EAAW;cAC5B,aAAAY,IAAA,CAACb,YAAA;MACCW,UAAA,EAAYA,UAAA;MACZR,UAAA,EAAYA,UAAA;MACZY,QAAA,EAAUV,YAAA,CAAaU,QAAQ;MAC/BH,IAAA,EAAMA,IAAA,GAAO;QAAEI,EAAA,EAAIJ,IAAA,CAAKI,EAAE;QAAEC,UAAA,EAAYL,IAAA,CAAKK;MAAW,IAAI;;;AAIpE","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAkBrF,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,UAAU,EACV,KAAK,CAAC,aAAa,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAwBjE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAkBrF,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,UAAU,EACV,KAAK,CAAC,aAAa,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAyBjE,CAAA"}
@@ -3,6 +3,7 @@
3
3
  import { Relationship } from './Relationship/index.js';
4
4
  import { Upload } from './Upload/index.js';
5
5
  export const diffComponents = {
6
+ slug: Text,
6
7
  array: Iterable,
7
8
  blocks: Iterable,
8
9
  checkbox: Checkbox,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["VersionFieldDiffCheckbox","Checkbox","VersionFieldDiffCollapsible","Collapsible","VersionFieldDiffDate","DateDiffComponent","VersionFieldDiffGroup","Group","VersionFieldDiffIterable","Iterable","VersionFieldDiffRow","Row","VersionFieldDiffSelect","Select","VersionFieldDiffTabs","Tabs","VersionFieldDiffText","Text","Relationship","Upload","diffComponents","array","blocks","checkbox","code","collapsible","date","email","group","join","json","number","point","radio","relationship","richText","row","select","tabs","text","textarea","ui","upload"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/index.ts"],"sourcesContent":["import type { FieldDiffClientProps, FieldDiffServerProps, FieldTypes } from 'payload'\n\n/* eslint-disable payload/no-imports-from-exports-dir -- Server-side map of diff components must reference exports/client bundle so RSC client refs resolve to the bundled providers */\nimport {\n VersionFieldDiffCheckbox as Checkbox,\n VersionFieldDiffCollapsible as Collapsible,\n VersionFieldDiffDate as DateDiffComponent,\n VersionFieldDiffGroup as Group,\n VersionFieldDiffIterable as Iterable,\n VersionFieldDiffRow as Row,\n VersionFieldDiffSelect as Select,\n VersionFieldDiffTabs as Tabs,\n VersionFieldDiffText as Text,\n} from '../../../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { Relationship } from './Relationship/index.js'\nimport { Upload } from './Upload/index.js'\n\nexport const diffComponents: Record<\n FieldTypes,\n React.ComponentType<FieldDiffClientProps | FieldDiffServerProps>\n> = {\n array: Iterable,\n blocks: Iterable,\n checkbox: Checkbox,\n code: Text,\n collapsible: Collapsible,\n date: DateDiffComponent,\n email: Text,\n group: Group,\n join: null,\n json: Text,\n number: Text,\n point: Text,\n radio: Select,\n relationship: Relationship,\n richText: Text,\n row: Row,\n select: Select,\n tabs: Tabs,\n text: Text,\n textarea: Text,\n ui: null,\n upload: Upload,\n}\n"],"mappings":"AAEA,uLACA,SACEA,wBAAA,IAA4BC,QAAQ,EACpCC,2BAAA,IAA+BC,WAAW,EAC1CC,oBAAA,IAAwBC,iBAAiB,EACzCC,qBAAA,IAAyBC,KAAK,EAC9BC,wBAAA,IAA4BC,QAAQ,EACpCC,mBAAA,IAAuBC,GAAG,EAC1BC,sBAAA,IAA0BC,MAAM,EAChCC,oBAAA,IAAwBC,IAAI,EAC5BC,oBAAA,IAAwBC,IAAI,QACvB;AACP;AACA,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,QAAQ;AAEvB,OAAO,MAAMC,cAAA,GAGT;EACFC,KAAA,EAAOZ,QAAA;EACPa,MAAA,EAAQb,QAAA;EACRc,QAAA,EAAUtB,QAAA;EACVuB,IAAA,EAAMP,IAAA;EACNQ,WAAA,EAAatB,WAAA;EACbuB,IAAA,EAAMrB,iBAAA;EACNsB,KAAA,EAAOV,IAAA;EACPW,KAAA,EAAOrB,KAAA;EACPsB,IAAA,EAAM;EACNC,IAAA,EAAMb,IAAA;EACNc,MAAA,EAAQd,IAAA;EACRe,KAAA,EAAOf,IAAA;EACPgB,KAAA,EAAOpB,MAAA;EACPqB,YAAA,EAAchB,YAAA;EACdiB,QAAA,EAAUlB,IAAA;EACVmB,GAAA,EAAKzB,GAAA;EACL0B,MAAA,EAAQxB,MAAA;EACRyB,IAAA,EAAMvB,IAAA;EACNwB,IAAA,EAAMtB,IAAA;EACNuB,QAAA,EAAUvB,IAAA;EACVwB,EAAA,EAAI;EACJC,MAAA,EAAQvB;AACV","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["VersionFieldDiffCheckbox","Checkbox","VersionFieldDiffCollapsible","Collapsible","VersionFieldDiffDate","DateDiffComponent","VersionFieldDiffGroup","Group","VersionFieldDiffIterable","Iterable","VersionFieldDiffRow","Row","VersionFieldDiffSelect","Select","VersionFieldDiffTabs","Tabs","VersionFieldDiffText","Text","Relationship","Upload","diffComponents","slug","array","blocks","checkbox","code","collapsible","date","email","group","join","json","number","point","radio","relationship","richText","row","select","tabs","text","textarea","ui","upload"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/index.ts"],"sourcesContent":["import type { FieldDiffClientProps, FieldDiffServerProps, FieldTypes } from 'payload'\n\n/* eslint-disable payload/no-imports-from-exports-dir -- Server-side map of diff components must reference exports/client bundle so RSC client refs resolve to the bundled providers */\nimport {\n VersionFieldDiffCheckbox as Checkbox,\n VersionFieldDiffCollapsible as Collapsible,\n VersionFieldDiffDate as DateDiffComponent,\n VersionFieldDiffGroup as Group,\n VersionFieldDiffIterable as Iterable,\n VersionFieldDiffRow as Row,\n VersionFieldDiffSelect as Select,\n VersionFieldDiffTabs as Tabs,\n VersionFieldDiffText as Text,\n} from '../../../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { Relationship } from './Relationship/index.js'\nimport { Upload } from './Upload/index.js'\n\nexport const diffComponents: Record<\n FieldTypes,\n React.ComponentType<FieldDiffClientProps | FieldDiffServerProps>\n> = {\n slug: Text,\n array: Iterable,\n blocks: Iterable,\n checkbox: Checkbox,\n code: Text,\n collapsible: Collapsible,\n date: DateDiffComponent,\n email: Text,\n group: Group,\n join: null,\n json: Text,\n number: Text,\n point: Text,\n radio: Select,\n relationship: Relationship,\n richText: Text,\n row: Row,\n select: Select,\n tabs: Tabs,\n text: Text,\n textarea: Text,\n ui: null,\n upload: Upload,\n}\n"],"mappings":"AAEA,uLACA,SACEA,wBAAA,IAA4BC,QAAQ,EACpCC,2BAAA,IAA+BC,WAAW,EAC1CC,oBAAA,IAAwBC,iBAAiB,EACzCC,qBAAA,IAAyBC,KAAK,EAC9BC,wBAAA,IAA4BC,QAAQ,EACpCC,mBAAA,IAAuBC,GAAG,EAC1BC,sBAAA,IAA0BC,MAAM,EAChCC,oBAAA,IAAwBC,IAAI,EAC5BC,oBAAA,IAAwBC,IAAI,QACvB;AACP;AACA,SAASC,YAAY,QAAQ;AAC7B,SAASC,MAAM,QAAQ;AAEvB,OAAO,MAAMC,cAAA,GAGT;EACFC,IAAA,EAAMJ,IAAA;EACNK,KAAA,EAAOb,QAAA;EACPc,MAAA,EAAQd,QAAA;EACRe,QAAA,EAAUvB,QAAA;EACVwB,IAAA,EAAMR,IAAA;EACNS,WAAA,EAAavB,WAAA;EACbwB,IAAA,EAAMtB,iBAAA;EACNuB,KAAA,EAAOX,IAAA;EACPY,KAAA,EAAOtB,KAAA;EACPuB,IAAA,EAAM;EACNC,IAAA,EAAMd,IAAA;EACNe,MAAA,EAAQf,IAAA;EACRgB,KAAA,EAAOhB,IAAA;EACPiB,KAAA,EAAOrB,MAAA;EACPsB,YAAA,EAAcjB,YAAA;EACdkB,QAAA,EAAUnB,IAAA;EACVoB,GAAA,EAAK1B,GAAA;EACL2B,MAAA,EAAQzB,MAAA;EACR0B,IAAA,EAAMxB,IAAA;EACNyB,IAAA,EAAMvB,IAAA;EACNwB,QAAA,EAAUxB,IAAA;EACVyB,EAAA,EAAI;EACJC,MAAA,EAAQxB;AACV","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"countChangedFields.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAO7F,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,SAAS,EACT,OAAO,GACR,EAAE,IAAI,UAoLN;AAED,KAAK,4BAA4B,GAAG;IAClC,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;IAC3C,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,aAAa,EAAE,OAAO,EAAE,CAAA;IACxB,WAAW,EAAE,OAAO,EAAE,CAAA;CACvB,CAAA;AAED,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,aAAkB,EAClB,WAAgB,GACjB,EAAE,4BAA4B,UA6B9B"}
1
+ {"version":3,"file":"countChangedFields.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAO7F,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,SAAS,EACT,OAAO,GACR,EAAE,IAAI,UAqLN;AAED,KAAK,4BAA4B,GAAG;IAClC,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAA;IAC3C,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,aAAa,EAAE,OAAO,EAAE,CAAA;IACxB,WAAW,EAAE,OAAO,EAAE,CAAA;CACvB,CAAA;AAED,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,aAAkB,EAClB,WAAgB,GACjB,EAAE,4BAA4B,UA6B9B"}
@@ -69,6 +69,7 @@ export function countChangedFields({
69
69
  case 'relationship':
70
70
  case 'richText':
71
71
  case 'select':
72
+ case 'slug':
72
73
  case 'text':
73
74
  case 'textarea':
74
75
  case 'upload':
@@ -1 +1 @@
1
- {"version":3,"file":"countChangedFields.js","names":["fieldShouldBeLocalized","groupHasName","fieldHasChanges","getFieldsForRowComparison","countChangedFields","config","fields","locales","parentIsLocalized","valueFrom","valueTo","count","forEach","field","name","fieldType","type","locale","valueFromRows","valueToRows","countChangedFieldsInRows","localized","tabs","tab","_exhaustiveCheck","Error","String","i","valueFromRow","valueToRow","rowFields","baseVersionField","path","schemaPath","row"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"sourcesContent":["import type { ArrayFieldClient, BlocksFieldClient, ClientConfig, ClientField } from 'payload'\n\nimport { fieldShouldBeLocalized, groupHasName } from 'payload/shared'\n\nimport { fieldHasChanges } from './fieldHasChanges.js'\nimport { getFieldsForRowComparison } from './getFieldsForRowComparison.js'\n\ntype Args = {\n config: ClientConfig\n fields: ClientField[]\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueFrom: unknown\n valueTo: unknown\n}\n\n/**\n * Recursively counts the number of changed fields between comparison and\n * version data for a given set of fields.\n */\nexport function countChangedFields({\n config,\n fields,\n locales,\n parentIsLocalized,\n valueFrom,\n valueTo,\n}: Args) {\n let count = 0\n\n fields.forEach((field) => {\n // Don't count the id field since it is not displayed in the UI\n if ('name' in field && field.name === 'id') {\n return\n }\n const fieldType = field.type\n switch (fieldType) {\n // Iterable fields are arrays and blocks fields. We iterate over each row and\n // count the number of changed fields in each.\n case 'array':\n case 'blocks': {\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n const valueFromRows = valueFrom?.[field.name]?.[locale] ?? []\n const valueToRows = valueTo?.[field.name]?.[locale] ?? []\n count += countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFromRows,\n valueToRows,\n })\n })\n } else {\n const valueFromRows = valueFrom?.[field.name] ?? []\n const valueToRows = valueTo?.[field.name] ?? []\n count += countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFromRows,\n valueToRows,\n })\n }\n break\n }\n\n // Regular fields without nested fields.\n case 'checkbox':\n case 'code':\n case 'date':\n case 'email':\n case 'join':\n case 'json':\n case 'number':\n case 'point':\n case 'radio':\n case 'relationship':\n case 'richText':\n case 'select':\n case 'text':\n case 'textarea':\n case 'upload': {\n // Fields that have a name and contain data. We can just check if the data has changed.\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n if (\n fieldHasChanges(valueTo?.[field.name]?.[locale], valueFrom?.[field.name]?.[locale])\n ) {\n count++\n }\n })\n } else if (fieldHasChanges(valueTo?.[field.name], valueFrom?.[field.name])) {\n count++\n }\n break\n }\n // Fields that have nested fields, but don't nest their fields' data.\n case 'collapsible':\n case 'row': {\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom,\n valueTo,\n })\n\n break\n }\n\n // Fields that have nested fields and nest their fields' data.\n case 'group': {\n if (groupHasName(field)) {\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom: valueFrom?.[field.name]?.[locale],\n valueTo: valueTo?.[field.name]?.[locale],\n })\n })\n } else {\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom: valueFrom?.[field.name],\n valueTo: valueTo?.[field.name],\n })\n }\n } else {\n // Unnamed group field: data is NOT nested under `field.name`\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom,\n valueTo,\n })\n }\n break\n }\n\n // Each tab in a tabs field has nested fields. The fields data may be\n // nested or not depending on the existence of a name property.\n case 'tabs': {\n field.tabs.forEach((tab) => {\n if ('name' in tab && locales && tab.localized) {\n // Named localized tab\n locales.forEach((locale) => {\n count += countChangedFields({\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n valueFrom: valueFrom?.[tab.name]?.[locale],\n valueTo: valueTo?.[tab.name]?.[locale],\n })\n })\n } else if ('name' in tab) {\n // Named tab\n count += countChangedFields({\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n valueFrom: valueFrom?.[tab.name],\n valueTo: valueTo?.[tab.name],\n })\n } else {\n // Unnamed tab\n count += countChangedFields({\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n valueFrom,\n valueTo,\n })\n }\n })\n break\n }\n\n // UI fields don't have data and are not displayed in the version view\n // so we can ignore them.\n case 'ui': {\n break\n }\n\n default: {\n const _exhaustiveCheck: never = fieldType\n throw new Error(`Unexpected field.type in countChangedFields : ${String(fieldType)}`)\n }\n }\n })\n\n return count\n}\n\ntype countChangedFieldsInRowsArgs = {\n config: ClientConfig\n field: ArrayFieldClient | BlocksFieldClient\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueFromRows: unknown[]\n valueToRows: unknown[]\n}\n\nexport function countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized,\n valueFromRows = [],\n valueToRows = [],\n}: countChangedFieldsInRowsArgs) {\n let count = 0\n let i = 0\n\n while (valueFromRows[i] || valueToRows[i]) {\n const valueFromRow = valueFromRows?.[i] || {}\n const valueToRow = valueToRows?.[i] || {}\n\n const { fields: rowFields } = getFieldsForRowComparison({\n baseVersionField: { type: 'text', fields: [], path: '', schemaPath: '' }, // Doesn't matter, as we don't need the versionFields output here\n config,\n field,\n row: i,\n valueFromRow,\n valueToRow,\n })\n\n count += countChangedFields({\n config,\n fields: rowFields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom: valueFromRow,\n valueTo: valueToRow,\n })\n\n i++\n }\n return count\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"countChangedFields.js","names":["fieldShouldBeLocalized","groupHasName","fieldHasChanges","getFieldsForRowComparison","countChangedFields","config","fields","locales","parentIsLocalized","valueFrom","valueTo","count","forEach","field","name","fieldType","type","locale","valueFromRows","valueToRows","countChangedFieldsInRows","localized","tabs","tab","_exhaustiveCheck","Error","String","i","valueFromRow","valueToRow","rowFields","baseVersionField","path","schemaPath","row"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/utilities/countChangedFields.ts"],"sourcesContent":["import type { ArrayFieldClient, BlocksFieldClient, ClientConfig, ClientField } from 'payload'\n\nimport { fieldShouldBeLocalized, groupHasName } from 'payload/shared'\n\nimport { fieldHasChanges } from './fieldHasChanges.js'\nimport { getFieldsForRowComparison } from './getFieldsForRowComparison.js'\n\ntype Args = {\n config: ClientConfig\n fields: ClientField[]\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueFrom: unknown\n valueTo: unknown\n}\n\n/**\n * Recursively counts the number of changed fields between comparison and\n * version data for a given set of fields.\n */\nexport function countChangedFields({\n config,\n fields,\n locales,\n parentIsLocalized,\n valueFrom,\n valueTo,\n}: Args) {\n let count = 0\n\n fields.forEach((field) => {\n // Don't count the id field since it is not displayed in the UI\n if ('name' in field && field.name === 'id') {\n return\n }\n const fieldType = field.type\n switch (fieldType) {\n // Iterable fields are arrays and blocks fields. We iterate over each row and\n // count the number of changed fields in each.\n case 'array':\n case 'blocks': {\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n const valueFromRows = valueFrom?.[field.name]?.[locale] ?? []\n const valueToRows = valueTo?.[field.name]?.[locale] ?? []\n count += countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFromRows,\n valueToRows,\n })\n })\n } else {\n const valueFromRows = valueFrom?.[field.name] ?? []\n const valueToRows = valueTo?.[field.name] ?? []\n count += countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFromRows,\n valueToRows,\n })\n }\n break\n }\n\n // Regular fields without nested fields.\n case 'checkbox':\n case 'code':\n case 'date':\n case 'email':\n case 'join':\n case 'json':\n case 'number':\n case 'point':\n case 'radio':\n case 'relationship':\n case 'richText':\n case 'select':\n case 'slug':\n case 'text':\n case 'textarea':\n case 'upload': {\n // Fields that have a name and contain data. We can just check if the data has changed.\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n if (\n fieldHasChanges(valueTo?.[field.name]?.[locale], valueFrom?.[field.name]?.[locale])\n ) {\n count++\n }\n })\n } else if (fieldHasChanges(valueTo?.[field.name], valueFrom?.[field.name])) {\n count++\n }\n break\n }\n // Fields that have nested fields, but don't nest their fields' data.\n case 'collapsible':\n case 'row': {\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom,\n valueTo,\n })\n\n break\n }\n\n // Fields that have nested fields and nest their fields' data.\n case 'group': {\n if (groupHasName(field)) {\n if (locales && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n locales.forEach((locale) => {\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom: valueFrom?.[field.name]?.[locale],\n valueTo: valueTo?.[field.name]?.[locale],\n })\n })\n } else {\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom: valueFrom?.[field.name],\n valueTo: valueTo?.[field.name],\n })\n }\n } else {\n // Unnamed group field: data is NOT nested under `field.name`\n count += countChangedFields({\n config,\n fields: field.fields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom,\n valueTo,\n })\n }\n break\n }\n\n // Each tab in a tabs field has nested fields. The fields data may be\n // nested or not depending on the existence of a name property.\n case 'tabs': {\n field.tabs.forEach((tab) => {\n if ('name' in tab && locales && tab.localized) {\n // Named localized tab\n locales.forEach((locale) => {\n count += countChangedFields({\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n valueFrom: valueFrom?.[tab.name]?.[locale],\n valueTo: valueTo?.[tab.name]?.[locale],\n })\n })\n } else if ('name' in tab) {\n // Named tab\n count += countChangedFields({\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n valueFrom: valueFrom?.[tab.name],\n valueTo: valueTo?.[tab.name],\n })\n } else {\n // Unnamed tab\n count += countChangedFields({\n config,\n fields: tab.fields,\n locales,\n parentIsLocalized: parentIsLocalized || tab.localized,\n valueFrom,\n valueTo,\n })\n }\n })\n break\n }\n\n // UI fields don't have data and are not displayed in the version view\n // so we can ignore them.\n case 'ui': {\n break\n }\n\n default: {\n const _exhaustiveCheck: never = fieldType\n throw new Error(`Unexpected field.type in countChangedFields : ${String(fieldType)}`)\n }\n }\n })\n\n return count\n}\n\ntype countChangedFieldsInRowsArgs = {\n config: ClientConfig\n field: ArrayFieldClient | BlocksFieldClient\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueFromRows: unknown[]\n valueToRows: unknown[]\n}\n\nexport function countChangedFieldsInRows({\n config,\n field,\n locales,\n parentIsLocalized,\n valueFromRows = [],\n valueToRows = [],\n}: countChangedFieldsInRowsArgs) {\n let count = 0\n let i = 0\n\n while (valueFromRows[i] || valueToRows[i]) {\n const valueFromRow = valueFromRows?.[i] || {}\n const valueToRow = valueToRows?.[i] || {}\n\n const { fields: rowFields } = getFieldsForRowComparison({\n baseVersionField: { type: 'text', fields: [], path: '', schemaPath: '' }, // Doesn't matter, as we don't need the versionFields output here\n config,\n field,\n row: i,\n valueFromRow,\n valueToRow,\n })\n\n count += countChangedFields({\n config,\n fields: rowFields,\n locales,\n parentIsLocalized: parentIsLocalized || field.localized,\n valueFrom: valueFromRow,\n valueTo: valueToRow,\n })\n\n i++\n }\n return count\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { type PaginatedDocs, type PayloadRequest, type SelectType, type Sort, type TypedUser, type TypeWithVersion, type Where } from 'payload';
1
+ import { type PaginatedDocs, type PayloadRequest, type SelectType, type Sort, type TypeWithVersion, type User, type Where } from 'payload';
2
2
  export declare const fetchVersion: <TVersionData extends object = object>({ id, collectionSlug, depth, globalSlug, locale, overrideAccess, req, select, user, }: {
3
3
  collectionSlug?: string;
4
4
  depth?: number;
@@ -8,7 +8,7 @@ export declare const fetchVersion: <TVersionData extends object = object>({ id,
8
8
  overrideAccess?: boolean;
9
9
  req: PayloadRequest;
10
10
  select?: SelectType;
11
- user?: TypedUser;
11
+ user?: User;
12
12
  }) => Promise<null | TypeWithVersion<TVersionData>>;
13
13
  export declare const fetchVersions: <TVersionData extends object = object>({ collectionSlug, depth, draft, globalSlug, limit, locale, overrideAccess, page, parentID, req, select, sort, user, where: whereFromArgs, }: {
14
14
  collectionSlug?: string;
@@ -23,7 +23,7 @@ export declare const fetchVersions: <TVersionData extends object = object>({ col
23
23
  req: PayloadRequest;
24
24
  select?: SelectType;
25
25
  sort?: Sort;
26
- user?: TypedUser;
26
+ user?: User;
27
27
  where?: Where;
28
28
  }) => Promise<null | PaginatedDocs<TypeWithVersion<TVersionData>>>;
29
29
  export declare const fetchLatestVersion: <TVersionData extends object = object>({ collectionSlug, depth, globalSlug, locale, overrideAccess, parentID, req, select, status, user, where, }: {
@@ -36,7 +36,7 @@ export declare const fetchLatestVersion: <TVersionData extends object = object>(
36
36
  req: PayloadRequest;
37
37
  select?: SelectType;
38
38
  status: "draft" | "published";
39
- user?: TypedUser;
39
+ user?: User;
40
40
  where?: Where;
41
41
  }) => Promise<null | TypeWithVersion<TVersionData>>;
42
42
  //# sourceMappingURL=fetchVersions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetchVersions.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/fetchVersions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,YAAY,GAAU,YAAY,SAAS,MAAM,GAAG,MAAM,EAAE,uFAUtE;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,KAAG,OAAO,CAAC,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CA6B/C,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,YAAY,SAAS,MAAM,GAAG,MAAM,EAAE,6IAevE;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,KAAG,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CA8C9D,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAU,YAAY,SAAS,MAAM,GAAG,MAAM,EAAE,4GAY5E;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,MAAM,EAAE,OAAO,GAAG,WAAW,CAAA;IAC7B,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,KAAG,OAAO,CAAC,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CAyC/C,CAAA"}
1
+ {"version":3,"file":"fetchVersions.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/fetchVersions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,YAAY,GAAU,YAAY,SAAS,MAAM,GAAG,MAAM,EAAE,uFAUtE;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,KAAG,OAAO,CAAC,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CA6B/C,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,YAAY,SAAS,MAAM,GAAG,MAAM,EAAE,6IAevE;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,KAAG,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CA8C9D,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAU,YAAY,SAAS,MAAM,GAAG,MAAM,EAAE,4GAY5E;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,MAAM,EAAE,OAAO,GAAG,WAAW,CAAA;IAC7B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,KAAG,OAAO,CAAC,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CAyC/C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchVersions.js","names":["logError","fetchVersion","id","collectionSlug","depth","globalSlug","locale","overrideAccess","req","select","user","payload","findVersionByID","String","collection","findGlobalVersionByID","slug","err","fetchVersions","draft","limit","page","parentID","sort","where","whereFromArgs","and","push","parent","equals","findVersions","findGlobalVersions","fetchLatestVersion","status","entityConfig","collections","config","globals","undefined","draftsEnabled","versions","drafts","latest","docs","length"],"sources":["../../../src/views/Versions/fetchVersions.ts"],"sourcesContent":["import {\n logError,\n type PaginatedDocs,\n type PayloadRequest,\n type SelectType,\n type Sort,\n type TypedUser,\n type TypeWithVersion,\n type Where,\n} from 'payload'\n\nexport const fetchVersion = async <TVersionData extends object = object>({\n id,\n collectionSlug,\n depth,\n globalSlug,\n locale,\n overrideAccess,\n req,\n select,\n user,\n}: {\n collectionSlug?: string\n depth?: number\n globalSlug?: string\n id: number | string\n locale?: 'all' | ({} & string)\n overrideAccess?: boolean\n req: PayloadRequest\n select?: SelectType\n user?: TypedUser\n}): Promise<null | TypeWithVersion<TVersionData>> => {\n try {\n if (collectionSlug) {\n return (await req.payload.findVersionByID({\n id: String(id),\n collection: collectionSlug,\n depth,\n locale,\n overrideAccess,\n req,\n select,\n user,\n })) as TypeWithVersion<TVersionData>\n } else if (globalSlug) {\n return (await req.payload.findGlobalVersionByID({\n id: String(id),\n slug: globalSlug,\n depth,\n locale,\n overrideAccess,\n req,\n select,\n user,\n })) as TypeWithVersion<TVersionData>\n }\n } catch (err) {\n logError({ err, payload: req.payload })\n return null\n }\n}\n\nexport const fetchVersions = async <TVersionData extends object = object>({\n collectionSlug,\n depth,\n draft,\n globalSlug,\n limit,\n locale,\n overrideAccess,\n page,\n parentID,\n req,\n select,\n sort,\n user,\n where: whereFromArgs,\n}: {\n collectionSlug?: string\n depth?: number\n draft?: boolean\n globalSlug?: string\n limit?: number\n locale?: 'all' | ({} & string)\n overrideAccess?: boolean\n page?: number\n parentID?: number | string\n req: PayloadRequest\n select?: SelectType\n sort?: Sort\n user?: TypedUser\n where?: Where\n}): Promise<null | PaginatedDocs<TypeWithVersion<TVersionData>>> => {\n const where: Where = { and: [...(whereFromArgs ? [whereFromArgs] : [])] }\n\n try {\n if (collectionSlug) {\n if (parentID) {\n where.and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n return (await req.payload.findVersions({\n collection: collectionSlug,\n depth,\n draft,\n limit,\n locale,\n overrideAccess,\n page,\n req,\n select,\n sort,\n user,\n where,\n })) as PaginatedDocs<TypeWithVersion<TVersionData>>\n } else if (globalSlug) {\n return (await req.payload.findGlobalVersions({\n slug: globalSlug,\n depth,\n limit,\n locale,\n overrideAccess,\n page,\n req,\n select,\n sort,\n user,\n where,\n })) as PaginatedDocs<TypeWithVersion<TVersionData>>\n }\n } catch (err) {\n logError({ err, payload: req.payload })\n\n return null\n }\n}\n\nexport const fetchLatestVersion = async <TVersionData extends object = object>({\n collectionSlug,\n depth,\n globalSlug,\n locale,\n overrideAccess,\n parentID,\n req,\n select,\n status,\n user,\n where,\n}: {\n collectionSlug?: string\n depth?: number\n globalSlug?: string\n locale?: 'all' | ({} & string)\n overrideAccess?: boolean\n parentID?: number | string\n req: PayloadRequest\n select?: SelectType\n status: 'draft' | 'published'\n user?: TypedUser\n where?: Where\n}): Promise<null | TypeWithVersion<TVersionData>> => {\n // Get the entity config to check if drafts are enabled\n const entityConfig = collectionSlug\n ? req.payload.collections[collectionSlug]?.config\n : globalSlug\n ? req.payload.globals[globalSlug]?.config\n : undefined\n\n // Only query by _status if drafts are enabled (since _status field only exists with drafts)\n const draftsEnabled = entityConfig?.versions?.drafts\n\n const and: Where[] = [\n ...(draftsEnabled\n ? [\n {\n 'version._status': {\n equals: status,\n },\n },\n ]\n : []),\n ...(where ? [where] : []),\n ]\n\n const latest = await fetchVersions({\n collectionSlug,\n depth,\n draft: true,\n globalSlug,\n limit: 1,\n locale,\n overrideAccess,\n parentID,\n req,\n select,\n sort: '-updatedAt',\n user,\n where: { and },\n })\n\n return latest?.docs?.length ? (latest.docs[0] as TypeWithVersion<TVersionData>) : null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"fetchVersions.js","names":["logError","fetchVersion","id","collectionSlug","depth","globalSlug","locale","overrideAccess","req","select","user","payload","findVersionByID","String","collection","findGlobalVersionByID","slug","err","fetchVersions","draft","limit","page","parentID","sort","where","whereFromArgs","and","push","parent","equals","findVersions","findGlobalVersions","fetchLatestVersion","status","entityConfig","collections","config","globals","undefined","draftsEnabled","versions","drafts","latest","docs","length"],"sources":["../../../src/views/Versions/fetchVersions.ts"],"sourcesContent":["import {\n logError,\n type PaginatedDocs,\n type PayloadRequest,\n type SelectType,\n type Sort,\n type TypeWithVersion,\n type User,\n type Where,\n} from 'payload'\n\nexport const fetchVersion = async <TVersionData extends object = object>({\n id,\n collectionSlug,\n depth,\n globalSlug,\n locale,\n overrideAccess,\n req,\n select,\n user,\n}: {\n collectionSlug?: string\n depth?: number\n globalSlug?: string\n id: number | string\n locale?: 'all' | ({} & string)\n overrideAccess?: boolean\n req: PayloadRequest\n select?: SelectType\n user?: User\n}): Promise<null | TypeWithVersion<TVersionData>> => {\n try {\n if (collectionSlug) {\n return (await req.payload.findVersionByID({\n id: String(id),\n collection: collectionSlug,\n depth,\n locale,\n overrideAccess,\n req,\n select,\n user,\n })) as TypeWithVersion<TVersionData>\n } else if (globalSlug) {\n return (await req.payload.findGlobalVersionByID({\n id: String(id),\n slug: globalSlug,\n depth,\n locale,\n overrideAccess,\n req,\n select,\n user,\n })) as TypeWithVersion<TVersionData>\n }\n } catch (err) {\n logError({ err, payload: req.payload })\n return null\n }\n}\n\nexport const fetchVersions = async <TVersionData extends object = object>({\n collectionSlug,\n depth,\n draft,\n globalSlug,\n limit,\n locale,\n overrideAccess,\n page,\n parentID,\n req,\n select,\n sort,\n user,\n where: whereFromArgs,\n}: {\n collectionSlug?: string\n depth?: number\n draft?: boolean\n globalSlug?: string\n limit?: number\n locale?: 'all' | ({} & string)\n overrideAccess?: boolean\n page?: number\n parentID?: number | string\n req: PayloadRequest\n select?: SelectType\n sort?: Sort\n user?: User\n where?: Where\n}): Promise<null | PaginatedDocs<TypeWithVersion<TVersionData>>> => {\n const where: Where = { and: [...(whereFromArgs ? [whereFromArgs] : [])] }\n\n try {\n if (collectionSlug) {\n if (parentID) {\n where.and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n return (await req.payload.findVersions({\n collection: collectionSlug,\n depth,\n draft,\n limit,\n locale,\n overrideAccess,\n page,\n req,\n select,\n sort,\n user,\n where,\n })) as PaginatedDocs<TypeWithVersion<TVersionData>>\n } else if (globalSlug) {\n return (await req.payload.findGlobalVersions({\n slug: globalSlug,\n depth,\n limit,\n locale,\n overrideAccess,\n page,\n req,\n select,\n sort,\n user,\n where,\n })) as PaginatedDocs<TypeWithVersion<TVersionData>>\n }\n } catch (err) {\n logError({ err, payload: req.payload })\n\n return null\n }\n}\n\nexport const fetchLatestVersion = async <TVersionData extends object = object>({\n collectionSlug,\n depth,\n globalSlug,\n locale,\n overrideAccess,\n parentID,\n req,\n select,\n status,\n user,\n where,\n}: {\n collectionSlug?: string\n depth?: number\n globalSlug?: string\n locale?: 'all' | ({} & string)\n overrideAccess?: boolean\n parentID?: number | string\n req: PayloadRequest\n select?: SelectType\n status: 'draft' | 'published'\n user?: User\n where?: Where\n}): Promise<null | TypeWithVersion<TVersionData>> => {\n // Get the entity config to check if drafts are enabled\n const entityConfig = collectionSlug\n ? req.payload.collections[collectionSlug]?.config\n : globalSlug\n ? req.payload.globals[globalSlug]?.config\n : undefined\n\n // Only query by _status if drafts are enabled (since _status field only exists with drafts)\n const draftsEnabled = entityConfig?.versions?.drafts\n\n const and: Where[] = [\n ...(draftsEnabled\n ? [\n {\n 'version._status': {\n equals: status,\n },\n },\n ]\n : []),\n ...(where ? [where] : []),\n ]\n\n const latest = await fetchVersions({\n collectionSlug,\n depth,\n draft: true,\n globalSlug,\n limit: 1,\n locale,\n overrideAccess,\n parentID,\n req,\n select,\n sort: '-updatedAt',\n user,\n where: { and },\n })\n\n return latest?.docs?.length ? (latest.docs[0] as TypeWithVersion<TVersionData>) : null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { I18n } from '@payloadcms/translations';
2
- import type { PaginatedDocs, SanitizedCollectionConfig, SanitizedConfig, SanitizedGlobalConfig, TypedUser } from 'payload';
2
+ import type { PaginatedDocs, SanitizedCollectionConfig, SanitizedConfig, SanitizedGlobalConfig, User } from 'payload';
3
3
  export type DefaultVersionsViewProps = {
4
4
  canAccessAdmin: boolean;
5
5
  collectionConfig?: SanitizedCollectionConfig;
@@ -11,7 +11,7 @@ export type DefaultVersionsViewProps = {
11
11
  i18n: I18n;
12
12
  id: number | string;
13
13
  limit: number;
14
- user: TypedUser;
14
+ user: User;
15
15
  versionsData: PaginatedDocs<Document>;
16
16
  };
17
17
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,aAAa,EACb,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,IAAI,EAAE,IAAI,CAAA;IACV,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;CACtC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,aAAa,EACb,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,IAAI,EACL,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,IAAI,EAAE,IAAI,CAAA;IACV,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACV,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;CACtC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/views/Versions/types.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n TypedUser,\n} from 'payload'\n\nexport type DefaultVersionsViewProps = {\n canAccessAdmin: boolean\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n data: Document\n editURL: string\n entityLabel: string\n globalConfig?: SanitizedGlobalConfig\n i18n: I18n\n id: number | string\n limit: number\n user: TypedUser\n versionsData: PaginatedDocs<Document>\n}\n"],"mappings":"AASA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/views/Versions/types.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n User,\n} from 'payload'\n\nexport type DefaultVersionsViewProps = {\n canAccessAdmin: boolean\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n data: Document\n editURL: string\n entityLabel: string\n globalConfig?: SanitizedGlobalConfig\n i18n: I18n\n id: number | string\n limit: number\n user: User\n versionsData: PaginatedDocs<Document>\n}\n"],"mappings":"AASA","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ import type { ClientUser, PayloadRequest, SanitizedPermissions } from 'payload';
2
+ import type { NavGroupType } from '../../utilities/groupNavItems.js';
3
+ export type GlobalLockData = {
4
+ data: {
5
+ _isLocked: boolean;
6
+ _lastEditedAt: string;
7
+ _userEditing: ClientUser | number | string;
8
+ };
9
+ lockDuration?: number;
10
+ slug: string;
11
+ };
12
+ export type CollectionCardsData = {
13
+ adminRoute: string;
14
+ globalData: GlobalLockData[];
15
+ navGroups: NavGroupType[];
16
+ permissions: SanitizedPermissions;
17
+ userId: number | string;
18
+ };
19
+ export declare function getCollectionCardsData(req: PayloadRequest): Promise<CollectionCardsData>;
20
+ //# sourceMappingURL=getCollectionCardsData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCollectionCardsData.d.ts","sourceRoot":"","sources":["../../../src/widgets/CollectionCards/getCollectionCardsData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAI/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAMpE,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE;QACJ,SAAS,EAAE,OAAO,CAAA;QAClB,aAAa,EAAE,MAAM,CAAA;QACrB,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;KAC3C,CAAA;IACD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,WAAW,EAAE,oBAAoB,CAAA;IACjC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CACxB,CAAA;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgB9F"}
@@ -0,0 +1,29 @@
1
+ import { getAccessResults } from 'payload';
2
+ import { getGlobalData } from '../../utilities/getGlobalData.js';
3
+ import { getNavGroups } from '../../utilities/getNavGroups.js';
4
+ import { getVisibleEntities } from '../../utilities/getVisibleEntities.js';
5
+ export async function getCollectionCardsData(req) {
6
+ const {
7
+ payload,
8
+ user
9
+ } = req;
10
+ const {
11
+ admin: adminRoute
12
+ } = payload.config.routes;
13
+ const permissions = await getAccessResults({
14
+ req
15
+ });
16
+ const visibleEntities = getVisibleEntities({
17
+ req
18
+ });
19
+ const globalData = await getGlobalData(req);
20
+ const navGroups = getNavGroups(permissions, visibleEntities, payload.config, req.i18n);
21
+ return {
22
+ adminRoute,
23
+ globalData,
24
+ navGroups,
25
+ permissions,
26
+ userId: user?.id
27
+ };
28
+ }
29
+ //# sourceMappingURL=getCollectionCardsData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCollectionCardsData.js","names":["getAccessResults","getGlobalData","getNavGroups","getVisibleEntities","getCollectionCardsData","req","payload","user","admin","adminRoute","config","routes","permissions","visibleEntities","globalData","navGroups","i18n","userId","id"],"sources":["../../../src/widgets/CollectionCards/getCollectionCardsData.ts"],"sourcesContent":["import type { ClientUser, PayloadRequest, SanitizedPermissions } from 'payload'\n\nimport { getAccessResults } from 'payload'\n\nimport type { NavGroupType } from '../../utilities/groupNavItems.js'\n\nimport { getGlobalData } from '../../utilities/getGlobalData.js'\nimport { getNavGroups } from '../../utilities/getNavGroups.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\n\nexport type GlobalLockData = {\n data: {\n _isLocked: boolean\n _lastEditedAt: string\n _userEditing: ClientUser | number | string\n }\n lockDuration?: number\n slug: string\n}\n\nexport type CollectionCardsData = {\n adminRoute: string\n globalData: GlobalLockData[]\n navGroups: NavGroupType[]\n permissions: SanitizedPermissions\n userId: number | string\n}\n\nexport async function getCollectionCardsData(req: PayloadRequest): Promise<CollectionCardsData> {\n const { payload, user } = req\n const { admin: adminRoute } = payload.config.routes\n\n const permissions = await getAccessResults({ req })\n const visibleEntities = getVisibleEntities({ req })\n const globalData = await getGlobalData(req)\n const navGroups = getNavGroups(permissions, visibleEntities, payload.config, req.i18n)\n\n return {\n adminRoute,\n globalData,\n navGroups,\n permissions,\n userId: user?.id,\n }\n}\n"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ;AAIjC,SAASC,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAC7B,SAASC,kBAAkB,QAAQ;AAoBnC,OAAO,eAAeC,uBAAuBC,GAAmB;EAC9D,MAAM;IAAEC,OAAO;IAAEC;EAAI,CAAE,GAAGF,GAAA;EAC1B,MAAM;IAAEG,KAAA,EAAOC;EAAU,CAAE,GAAGH,OAAA,CAAQI,MAAM,CAACC,MAAM;EAEnD,MAAMC,WAAA,GAAc,MAAMZ,gBAAA,CAAiB;IAAEK;EAAI;EACjD,MAAMQ,eAAA,GAAkBV,kBAAA,CAAmB;IAAEE;EAAI;EACjD,MAAMS,UAAA,GAAa,MAAMb,aAAA,CAAcI,GAAA;EACvC,MAAMU,SAAA,GAAYb,YAAA,CAAaU,WAAA,EAAaC,eAAA,EAAiBP,OAAA,CAAQI,MAAM,EAAEL,GAAA,CAAIW,IAAI;EAErF,OAAO;IACLP,UAAA;IACAK,UAAA;IACAC,SAAA;IACAH,WAAA;IACAK,MAAA,EAAQV,IAAA,EAAMW;EAChB;AACF","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { CollectionCardsData } from './getCollectionCardsData.js';
3
+ import './index.css';
4
+ export declare const CollectionCardsClient: React.FC<CollectionCardsData>;
5
+ //# sourceMappingURL=index.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/widgets/CollectionCards/index.client.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,OAAO,aAAa,CAAA;AAQpB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAkH/D,CAAA"}
@@ -0,0 +1,139 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { getTranslation } from '@payloadcms/translations';
6
+ import { EntityType, formatAdminURL } from 'payload/shared';
7
+ import React from 'react';
8
+ import './index.css';
9
+ import { Button } from '../../elements/Button/index.js';
10
+ import { Card } from '../../elements/Card/index.js';
11
+ import { Locked } from '../../elements/Locked/index.js';
12
+ import { useTranslation } from '../../providers/Translation/index.js';
13
+ const baseClass = 'collections';
14
+ export const CollectionCardsClient = t0 => {
15
+ const $ = _c(8);
16
+ const {
17
+ adminRoute,
18
+ globalData,
19
+ navGroups,
20
+ permissions,
21
+ userId
22
+ } = t0;
23
+ const {
24
+ i18n,
25
+ t
26
+ } = useTranslation();
27
+ let t1;
28
+ if ($[0] !== adminRoute || $[1] !== globalData || $[2] !== i18n || $[3] !== navGroups || $[4] !== permissions?.collections || $[5] !== t || $[6] !== userId) {
29
+ t1 = _jsx("div", {
30
+ className: baseClass,
31
+ children: _jsx("div", {
32
+ className: `${baseClass}__wrap`,
33
+ children: !navGroups || navGroups?.length === 0 ? _jsx("p", {
34
+ children: "no nav groups...."
35
+ }) : navGroups.map((t2, groupIndex) => {
36
+ const {
37
+ entities,
38
+ label
39
+ } = t2;
40
+ return _jsxs("div", {
41
+ className: `${baseClass}__group`,
42
+ children: [_jsx("h2", {
43
+ className: `${baseClass}__label`,
44
+ children: label
45
+ }), _jsx("ul", {
46
+ className: `${baseClass}__card-list`,
47
+ children: entities.map((t3, entityIndex) => {
48
+ const {
49
+ slug,
50
+ type,
51
+ label: label_0
52
+ } = t3;
53
+ let title;
54
+ let buttonAriaLabel;
55
+ let createHREF;
56
+ let href;
57
+ let hasCreatePermission;
58
+ let isLocked = null;
59
+ let userEditing = null;
60
+ if (type === EntityType.collection) {
61
+ title = getTranslation(label_0, i18n);
62
+ buttonAriaLabel = t("general:showAllLabel", {
63
+ label: title
64
+ });
65
+ href = formatAdminURL({
66
+ adminRoute,
67
+ path: `/collections/${slug}`
68
+ });
69
+ createHREF = formatAdminURL({
70
+ adminRoute,
71
+ path: `/collections/${slug}/create`
72
+ });
73
+ hasCreatePermission = permissions?.collections?.[slug]?.create;
74
+ }
75
+ if (type === EntityType.global) {
76
+ getTranslation(label_0, i18n);
77
+ buttonAriaLabel = t("general:editLabel", {
78
+ label: getTranslation(label_0, i18n)
79
+ });
80
+ href = formatAdminURL({
81
+ adminRoute,
82
+ path: `/globals/${slug}`
83
+ });
84
+ const globalLockData = globalData.find(global => global.slug === slug);
85
+ if (globalLockData) {
86
+ isLocked = globalLockData.data._isLocked;
87
+ userEditing = globalLockData.data._userEditing;
88
+ const lockDuration = globalLockData?.lockDuration;
89
+ const lastEditedAt = new Date(globalLockData.data?._lastEditedAt).getTime();
90
+ const lockDurationInMilliseconds = lockDuration * 1000;
91
+ const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds;
92
+ if (new Date().getTime() > lockExpirationTime) {
93
+ isLocked = false;
94
+ userEditing = null;
95
+ }
96
+ }
97
+ }
98
+ return _jsx("li", {
99
+ children: _jsx(Card, {
100
+ actions: isLocked && userId !== userEditing?.id ? _jsx(Locked, {
101
+ className: `${baseClass}__locked`,
102
+ user: userEditing
103
+ }) : hasCreatePermission && type === EntityType.collection ? _jsx(Button, {
104
+ "aria-label": t("general:createNewLabel", {
105
+ label: label_0
106
+ }),
107
+ buttonStyle: "ghost",
108
+ el: "link",
109
+ icon: "plus",
110
+ round: true,
111
+ to: createHREF
112
+ }) : undefined,
113
+ buttonAriaLabel,
114
+ href,
115
+ id: `card-${slug}`,
116
+ title: getTranslation(label_0, i18n),
117
+ titleAs: "h3"
118
+ })
119
+ }, entityIndex);
120
+ })
121
+ })]
122
+ }, groupIndex);
123
+ })
124
+ })
125
+ });
126
+ $[0] = adminRoute;
127
+ $[1] = globalData;
128
+ $[2] = i18n;
129
+ $[3] = navGroups;
130
+ $[4] = permissions?.collections;
131
+ $[5] = t;
132
+ $[6] = userId;
133
+ $[7] = t1;
134
+ } else {
135
+ t1 = $[7];
136
+ }
137
+ return t1;
138
+ };
139
+ //# sourceMappingURL=index.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.client.js","names":["c","_c","getTranslation","EntityType","formatAdminURL","React","Button","Card","Locked","useTranslation","baseClass","CollectionCardsClient","t0","$","adminRoute","globalData","navGroups","permissions","userId","i18n","t","t1","collections","_jsx","className","children","length","map","t2","groupIndex","entities","label","_jsxs","t3","entityIndex","slug","type","label_0","title","buttonAriaLabel","createHREF","href","hasCreatePermission","isLocked","userEditing","collection","create","global","globalLockData","find","data","_isLocked","_userEditing","lockDuration","lastEditedAt","Date","_lastEditedAt","getTime","lockDurationInMilliseconds","lockExpirationTime","actions","id","user","buttonStyle","el","icon","round","to","titleAs"],"sources":["../../../src/widgets/CollectionCards/index.client.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { EntityType, formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport type { CollectionCardsData } from './getCollectionCardsData.js'\n\nimport './index.css'\nimport { Button } from '../../elements/Button/index.js'\nimport { Card } from '../../elements/Card/index.js'\nimport { Locked } from '../../elements/Locked/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'collections'\n\nexport const CollectionCardsClient: React.FC<CollectionCardsData> = ({\n adminRoute,\n globalData,\n navGroups,\n permissions,\n userId,\n}) => {\n const { i18n, t } = useTranslation()\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n {!navGroups || navGroups?.length === 0 ? (\n <p>no nav groups....</p>\n ) : (\n navGroups.map(({ entities, label }, groupIndex) => {\n return (\n <div className={`${baseClass}__group`} key={groupIndex}>\n <h2 className={`${baseClass}__label`}>{label}</h2>\n <ul className={`${baseClass}__card-list`}>\n {entities.map(({ slug, type, label }, entityIndex) => {\n let title: string\n let buttonAriaLabel: string\n let createHREF: string\n let href: string\n let hasCreatePermission: boolean\n let isLocked = null\n let userEditing: ClientUser | null = null\n\n if (type === EntityType.collection) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:showAllLabel', { label: title })\n\n href = formatAdminURL({\n adminRoute,\n path: `/collections/${slug}`,\n })\n\n createHREF = formatAdminURL({\n adminRoute,\n path: `/collections/${slug}/create`,\n })\n\n hasCreatePermission = permissions?.collections?.[slug]?.create\n }\n\n if (type === EntityType.global) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:editLabel', {\n label: getTranslation(label, i18n),\n })\n\n href = formatAdminURL({\n adminRoute,\n path: `/globals/${slug}`,\n })\n\n const globalLockData = globalData.find((global) => global.slug === slug)\n\n if (globalLockData) {\n isLocked = globalLockData.data._isLocked\n userEditing = globalLockData.data._userEditing as ClientUser | null\n\n const lockDuration = globalLockData?.lockDuration\n const lastEditedAt = new Date(globalLockData.data?._lastEditedAt).getTime()\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds\n\n if (new Date().getTime() > lockExpirationTime) {\n isLocked = false\n userEditing = null\n }\n }\n }\n\n return (\n <li key={entityIndex}>\n <Card\n actions={\n isLocked && userId !== userEditing?.id ? (\n <Locked className={`${baseClass}__locked`} user={userEditing} />\n ) : hasCreatePermission && type === EntityType.collection ? (\n <Button\n aria-label={t('general:createNewLabel', {\n label,\n })}\n buttonStyle=\"ghost\"\n el=\"link\"\n icon=\"plus\"\n round\n to={createHREF}\n />\n ) : undefined\n }\n buttonAriaLabel={buttonAriaLabel}\n href={href}\n id={`card-${slug}`}\n title={getTranslation(label, i18n)}\n titleAs=\"h3\"\n />\n </li>\n )\n })}\n </ul>\n </div>\n )\n })\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "4.0.0-canary.7",
3
+ "version": "4.0.0-canary.9",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -211,6 +211,56 @@
211
211
  "import": "./dist/utilities/*.js",
212
212
  "types": "./dist/utilities/*.d.ts",
213
213
  "default": "./dist/utilities/*.js"
214
+ },
215
+ "./server": {
216
+ "import": "./dist/exports/server.js",
217
+ "types": "./dist/exports/server.d.ts",
218
+ "default": "./dist/exports/server.js"
219
+ },
220
+ "./views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn": {
221
+ "import": "./dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js",
222
+ "types": "./dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts",
223
+ "default": "./dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js"
224
+ },
225
+ "./views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn": {
226
+ "import": "./dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js",
227
+ "types": "./dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts",
228
+ "default": "./dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js"
229
+ },
230
+ "./elements/Nav/SidebarTabs/renderTabServerFn": {
231
+ "import": "./dist/elements/Nav/SidebarTabs/renderTabServerFn.js",
232
+ "types": "./dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts",
233
+ "default": "./dist/elements/Nav/SidebarTabs/renderTabServerFn.js"
234
+ },
235
+ "./elements/RenderServerComponent/clientOnly": {
236
+ "import": "./dist/elements/RenderServerComponent/clientOnly.js",
237
+ "types": "./dist/elements/RenderServerComponent/clientOnly.d.ts",
238
+ "default": "./dist/elements/RenderServerComponent/clientOnly.js"
239
+ },
240
+ "./elements/Nav/getNavPrefs": {
241
+ "import": "./dist/elements/Nav/getNavPrefs.js",
242
+ "types": "./dist/elements/Nav/getNavPrefs.d.ts",
243
+ "default": "./dist/elements/Nav/getNavPrefs.js"
244
+ },
245
+ "./elements/DocumentHeader/Tabs/Tab/TabLink": {
246
+ "import": "./dist/elements/DocumentHeader/Tabs/Tab/TabLink.js",
247
+ "types": "./dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts",
248
+ "default": "./dist/elements/DocumentHeader/Tabs/Tab/TabLink.js"
249
+ },
250
+ "./elements/DocumentHeader/Tabs/ShouldRenderTabs": {
251
+ "import": "./dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js",
252
+ "types": "./dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts",
253
+ "default": "./dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js"
254
+ },
255
+ "./widgets/CollectionCards/index.client": {
256
+ "import": "./dist/widgets/CollectionCards/index.client.js",
257
+ "types": "./dist/widgets/CollectionCards/index.client.d.ts",
258
+ "default": "./dist/widgets/CollectionCards/index.client.js"
259
+ },
260
+ "./utilities/serverFunctionRegistry": {
261
+ "import": "./dist/utilities/serverFunctionRegistry.js",
262
+ "types": "./dist/utilities/serverFunctionRegistry.d.ts",
263
+ "default": "./dist/utilities/serverFunctionRegistry.js"
214
264
  }
215
265
  },
216
266
  "main": "./dist/exports/client/index.js",
@@ -243,7 +293,7 @@
243
293
  "ts-essentials": "10.0.3",
244
294
  "use-context-selector": "2.0.0",
245
295
  "uuid": "14.0.0",
246
- "@payloadcms/translations": "4.0.0-canary.7"
296
+ "@payloadcms/translations": "4.0.0-canary.9"
247
297
  },
248
298
  "devDependencies": {
249
299
  "@babel/cli": "7.27.2",
@@ -258,12 +308,12 @@
258
308
  "esbuild": "0.27.1",
259
309
  "esbuild-sass-plugin": "3.3.1",
260
310
  "@payloadcms/eslint-config": "3.28.0",
261
- "payload": "4.0.0-canary.7"
311
+ "payload": "4.0.0-canary.9"
262
312
  },
263
313
  "peerDependencies": {
264
314
  "react": "^19.0.1 || ^19.1.2 || ^19.2.1",
265
315
  "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
266
- "payload": "4.0.0-canary.7"
316
+ "payload": "4.0.0-canary.9"
267
317
  },
268
318
  "engines": {
269
319
  "node": ">=24.15.0"
@@ -279,11 +329,11 @@
279
329
  "build:remove-artifact": "rm dist/prod/index.js",
280
330
  "build:swc": "swc ./src -d dist --config-file .swcrc --strip-leading-paths",
281
331
  "build:swc:debug": "swc ./src -d ./dist --config-file .swcrc-debug --strip-leading-paths",
282
- "build:types": "tsc --emitDeclarationOnly --outDir dist",
332
+ "build:types": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" tsc --emitDeclarationOnly --outDir dist",
283
333
  "build:without_reactcompiler": "rm -rf dist && rm -rf tsconfig.tsbuildinfo && pnpm copyfiles && pnpm build:types && pnpm build:swc",
284
334
  "clean": "rimraf -g {dist,*.tsbuildinfo,esbuild}",
285
335
  "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
286
- "lint": "eslint .",
287
- "lint:fix": "eslint . --fix"
336
+ "lint": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" eslint .",
337
+ "lint:fix": "cross-env NODE_OPTIONS=\"--max-old-space-size=8192\" eslint . --fix"
288
338
  }
289
339
  }
@@ -1,14 +0,0 @@
1
- "use client";
2
- // Workaround for react-datepicker and other cjs dependencies potentially inserting require("react") statements
3
- import * as requireReact from 'react';
4
- import * as requireReactDom from 'react-dom';
5
-
6
- function require(m) {
7
- if (m === 'react') return requireReact;
8
- if (m === 'react-dom') return requireReactDom;
9
- throw new Error(`Unknown module ${m}`);
10
- }
11
- // Workaround end
12
-
13
- import{l as a}from"./chunk-DMFYTMX6.js";import"./chunk-5LKBKI4T.js";export{a as default};
14
- //# sourceMappingURL=CodeEditor-T3624SG3.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }