@payloadcms/ui 3.0.0-beta.130 → 3.0.0-beta.131

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 (209) hide show
  1. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  2. package/dist/elements/AddNewRelation/index.js +4 -4
  3. package/dist/elements/AddNewRelation/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/FormsManager/index.d.ts +2 -2
  5. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  6. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  7. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  8. package/dist/elements/Button/index.d.ts.map +1 -1
  9. package/dist/elements/Button/index.js +2 -0
  10. package/dist/elements/Button/index.js.map +1 -1
  11. package/dist/elements/Button/types.d.ts +1 -0
  12. package/dist/elements/Button/types.d.ts.map +1 -1
  13. package/dist/elements/Button/types.js.map +1 -1
  14. package/dist/elements/DeleteMany/index.js +1 -1
  15. package/dist/elements/DeleteMany/index.js.map +1 -1
  16. package/dist/elements/DocumentControls/index.d.ts +2 -2
  17. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  18. package/dist/elements/DocumentControls/index.js +2 -2
  19. package/dist/elements/DocumentControls/index.js.map +1 -1
  20. package/dist/elements/DocumentFields/index.d.ts +2 -2
  21. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  22. package/dist/elements/DocumentFields/index.js.map +1 -1
  23. package/dist/elements/EditMany/index.js +2 -2
  24. package/dist/elements/EditMany/index.js.map +1 -1
  25. package/dist/elements/EmailAndUsername/index.d.ts +3 -3
  26. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  27. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  28. package/dist/elements/HydrateAuthProvider/index.d.ts +2 -2
  29. package/dist/elements/HydrateAuthProvider/index.d.ts.map +1 -1
  30. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  31. package/dist/elements/ListDrawer/types.d.ts +3 -3
  32. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  33. package/dist/elements/ListDrawer/types.js.map +1 -1
  34. package/dist/elements/PublishMany/index.js +1 -1
  35. package/dist/elements/PublishMany/index.js.map +1 -1
  36. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  37. package/dist/elements/RelationshipTable/index.js +1 -1
  38. package/dist/elements/RelationshipTable/index.js.map +1 -1
  39. package/dist/elements/RenderServerComponent/index.d.ts.map +1 -1
  40. package/dist/elements/RenderServerComponent/index.js +11 -2
  41. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  42. package/dist/elements/Status/index.js +1 -1
  43. package/dist/elements/Status/index.js.map +1 -1
  44. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +1 -1
  45. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  46. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  47. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +1 -1
  48. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  49. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  50. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +1 -1
  51. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  52. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  53. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +1 -1
  54. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  55. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  56. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +1 -1
  57. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  58. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  59. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +1 -1
  60. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  61. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  62. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +1 -1
  63. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  64. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  65. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +1 -1
  66. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  67. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  68. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +1 -1
  69. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  70. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  71. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +1 -1
  72. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
  73. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  74. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
  75. package/dist/elements/TableColumns/buildColumnState.d.ts +1 -1
  76. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  77. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  78. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  79. package/dist/elements/TableColumns/index.js +56 -21
  80. package/dist/elements/TableColumns/index.js.map +1 -1
  81. package/dist/elements/UnpublishMany/index.js +1 -1
  82. package/dist/elements/UnpublishMany/index.js.map +1 -1
  83. package/dist/elements/Upload/index.d.ts.map +1 -1
  84. package/dist/elements/Upload/index.js +1 -1
  85. package/dist/elements/Upload/index.js.map +1 -1
  86. package/dist/exports/client/{DatePicker-4XUJ6BT3.js → DatePicker-23XPGPYP.js} +2 -2
  87. package/dist/exports/client/{chunk-Z4TYTOUE.js → chunk-PELL3UMP.js} +1 -1
  88. package/dist/exports/client/{chunk-Z4TYTOUE.js.map → chunk-PELL3UMP.js.map} +3 -3
  89. package/dist/exports/client/index.d.ts +2 -0
  90. package/dist/exports/client/index.d.ts.map +1 -1
  91. package/dist/exports/client/index.js +10 -10
  92. package/dist/exports/client/index.js.map +4 -4
  93. package/dist/exports/shared/index.js +2 -2
  94. package/dist/exports/shared/index.js.map +2 -2
  95. package/dist/fields/Array/ArrayRow.d.ts +2 -2
  96. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  97. package/dist/fields/Array/ArrayRow.js +3 -3
  98. package/dist/fields/Array/ArrayRow.js.map +1 -1
  99. package/dist/fields/Array/index.d.ts.map +1 -1
  100. package/dist/fields/Array/index.js +2 -1
  101. package/dist/fields/Array/index.js.map +1 -1
  102. package/dist/fields/Blocks/BlockRow.d.ts +2 -2
  103. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  104. package/dist/fields/Blocks/BlockRow.js +3 -3
  105. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  106. package/dist/fields/Blocks/index.d.ts.map +1 -1
  107. package/dist/fields/Blocks/index.js +2 -1
  108. package/dist/fields/Blocks/index.js.map +1 -1
  109. package/dist/fields/Group/index.js +3 -3
  110. package/dist/fields/Group/index.js.map +1 -1
  111. package/dist/fields/Hidden/index.d.ts.map +1 -1
  112. package/dist/fields/Hidden/index.js +36 -49
  113. package/dist/fields/Hidden/index.js.map +1 -1
  114. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +1 -1
  115. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  116. package/dist/fields/Relationship/select-components/SingleValue/index.js +1 -1
  117. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  118. package/dist/fields/Tabs/index.js.map +1 -1
  119. package/dist/fields/Upload/HasMany/index.js +2 -2
  120. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  121. package/dist/fields/Upload/HasMany/index.scss +8 -0
  122. package/dist/fields/Upload/Input.d.ts.map +1 -1
  123. package/dist/fields/Upload/Input.js +4 -6
  124. package/dist/fields/Upload/Input.js.map +1 -1
  125. package/dist/fields/index.d.ts +3 -2
  126. package/dist/fields/index.d.ts.map +1 -1
  127. package/dist/fields/index.js.map +1 -1
  128. package/dist/forms/RenderFields/RenderField.d.ts +2 -2
  129. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  130. package/dist/forms/RenderFields/RenderField.js +0 -1
  131. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  132. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  133. package/dist/forms/RenderFields/index.js +5 -6
  134. package/dist/forms/RenderFields/index.js.map +1 -1
  135. package/dist/forms/RenderFields/types.d.ts +3 -3
  136. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  137. package/dist/forms/RenderFields/types.js.map +1 -1
  138. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +4 -2
  139. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  140. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +3 -2
  141. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  142. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -2
  143. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  144. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  145. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +4 -2
  146. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  147. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  148. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  149. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -2
  150. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  151. package/dist/forms/fieldSchemasToFormState/types.d.ts +4 -2
  152. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  153. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  154. package/dist/forms/withCondition/WatchCondition.d.ts +1 -4
  155. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  156. package/dist/forms/withCondition/WatchCondition.js +1 -3
  157. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  158. package/dist/forms/withCondition/index.d.ts +2 -2
  159. package/dist/forms/withCondition/index.d.ts.map +1 -1
  160. package/dist/forms/withCondition/index.js +1 -8
  161. package/dist/forms/withCondition/index.js.map +1 -1
  162. package/dist/graphics/ExternalLink/index.d.ts +1 -0
  163. package/dist/graphics/ExternalLink/index.d.ts.map +1 -1
  164. package/dist/graphics/ExternalLink/index.js +6 -9
  165. package/dist/graphics/ExternalLink/index.js.map +1 -1
  166. package/dist/graphics/ExternalLink/index.scss +14 -0
  167. package/dist/providers/Auth/index.d.ts +4 -4
  168. package/dist/providers/Auth/index.d.ts.map +1 -1
  169. package/dist/providers/Auth/index.js.map +1 -1
  170. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  171. package/dist/providers/DocumentInfo/index.js.map +1 -1
  172. package/dist/providers/DocumentInfo/types.d.ts +2 -2
  173. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  174. package/dist/providers/DocumentInfo/types.js.map +1 -1
  175. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +3 -3
  176. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  177. package/dist/providers/DocumentInfo/useGetDocPermissions.js +1 -1
  178. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  179. package/dist/providers/Root/index.d.ts +2 -2
  180. package/dist/providers/Root/index.d.ts.map +1 -1
  181. package/dist/providers/Root/index.js.map +1 -1
  182. package/dist/scss/vars.scss +2 -2
  183. package/dist/styles.css +1 -1
  184. package/dist/utilities/buildTableState.d.ts.map +1 -1
  185. package/dist/utilities/buildTableState.js +18 -6
  186. package/dist/utilities/buildTableState.js.map +1 -1
  187. package/dist/utilities/groupNavItems.d.ts +2 -2
  188. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  189. package/dist/utilities/groupNavItems.js +1 -1
  190. package/dist/utilities/groupNavItems.js.map +1 -1
  191. package/dist/utilities/hasSavePermission.d.ts +2 -2
  192. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  193. package/dist/utilities/hasSavePermission.js +2 -2
  194. package/dist/utilities/hasSavePermission.js.map +1 -1
  195. package/dist/utilities/removeUndefined.d.ts +2 -0
  196. package/dist/utilities/removeUndefined.d.ts.map +1 -0
  197. package/dist/utilities/removeUndefined.js +4 -0
  198. package/dist/utilities/removeUndefined.js.map +1 -0
  199. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  200. package/dist/views/Edit/Auth/index.js +11 -13
  201. package/dist/views/Edit/Auth/index.js.map +1 -1
  202. package/dist/views/List/ListHeader/index.d.ts +2 -3
  203. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  204. package/dist/views/List/ListHeader/index.js.map +1 -1
  205. package/dist/views/List/types.d.ts +2 -2
  206. package/dist/views/List/types.d.ts.map +1 -1
  207. package/dist/views/List/types.js.map +1 -1
  208. package/package.json +5 -5
  209. /package/dist/exports/client/{DatePicker-4XUJ6BT3.js.map → DatePicker-23XPGPYP.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"buildTableState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildTableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,mBAAmB,EAEnB,YAAY,EACZ,WAAW,EACX,aAAa,EAEb,eAAe,EAChB,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAUxE,eAAO,MAAM,eAAe,SAAU;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,YAaH,CAAA;AAED,KAAK,4BAA4B,GAAG;IAClC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,WAAW,EAAE,eAAe,CAAA;IAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,GAAG,4BAA4B,CAAA;AAE7F,eAAO,MAAM,sBAAsB,SAC3B,mBAAmB,KACxB,OAAO,CAAC,qBAAqB,CAqB/B,CAAA;AAED,eAAO,MAAM,eAAe,SACpB,mBAAmB,KACxB,OAAO,CAAC,4BAA4B,CAoKtC,CAAA"}
1
+ {"version":3,"file":"buildTableState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildTableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,mBAAmB,EAEnB,YAAY,EACZ,WAAW,EACX,aAAa,EAEb,eAAe,EAChB,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAUxE,eAAO,MAAM,eAAe,SAAU;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,YAaH,CAAA;AAED,KAAK,4BAA4B,GAAG;IAClC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,WAAW,EAAE,eAAe,CAAA;IAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,KAAK,0BAA0B,GAAG;IAChC,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,GAAG,4BAA4B,CAAA;AAE7F,eAAO,MAAM,sBAAsB,SAC3B,mBAAmB,KACxB,OAAO,CAAC,qBAAqB,CAqB/B,CAAA;AAED,eAAO,MAAM,eAAe,SACpB,mBAAmB,KACxB,OAAO,CAAC,4BAA4B,CA6KtC,CAAA"}
@@ -106,6 +106,7 @@ export const buildTableState = async args => {
106
106
  collection: 'payload-preferences',
107
107
  depth: 0,
108
108
  limit: 1,
109
+ pagination: false,
109
110
  where: {
110
111
  and: [{
111
112
  key: {
@@ -121,14 +122,17 @@ export const buildTableState = async args => {
121
122
  }
122
123
  }]
123
124
  }
124
- }).then(res => res.docs[0]?.value);
125
- let newPrefs = preferencesResult;
126
- if (!preferencesResult || !dequal(columns, preferencesResult?.columns)) {
125
+ }).then(res => res.docs[0] ?? {
126
+ id: null,
127
+ value: {}
128
+ });
129
+ let newPrefs = preferencesResult.value;
130
+ if (!preferencesResult.id || !dequal(columns, preferencesResult?.columns)) {
127
131
  const mergedPrefs = {
128
132
  ...(preferencesResult || {}),
129
133
  columns
130
134
  };
131
- newPrefs = await payload.create({
135
+ const preferencesArgs = {
132
136
  collection: 'payload-preferences',
133
137
  data: {
134
138
  key: preferencesKey,
@@ -138,11 +142,19 @@ export const buildTableState = async args => {
138
142
  },
139
143
  value: mergedPrefs
140
144
  },
145
+ depth: 0,
141
146
  req
142
- })?.then(res => res.value);
147
+ };
148
+ if (preferencesResult.id) {
149
+ newPrefs = await payload.update({
150
+ ...preferencesArgs,
151
+ id: preferencesResult.id
152
+ })?.then(res => res.value);
153
+ } else {
154
+ newPrefs = await payload.create(preferencesArgs)?.then(res => res.value);
155
+ }
143
156
  }
144
157
  const fields = collectionConfig.fields;
145
- const clientFields = clientCollectionConfig?.fields || [];
146
158
  let docs = docsFromArgs;
147
159
  let data;
148
160
  // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`
@@ -1 +1 @@
1
- {"version":3,"file":"buildTableState.js","names":["dequal","createClientConfig","formatErrors","renderFilters","renderTable","cachedClientConfig","global","_payload_clientConfig","getClientConfig","args","config","i18n","process","env","NODE_ENV","buildTableStateHandler","req","res","buildTableState","err","payload","logger","error","msg","message","collectionSlug","columns","docs","docsFromArgs","enableRowSelections","query","renderRowTypes","user","tableAppearance","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","length","clientConfig","collectionConfig","clientCollectionConfig","slug","preferencesKey","preferencesResult","where","and","key","equals","id","then","value","newPrefs","mergedPrefs","create","data","fields","clientFields","parseInt","undefined","page","sort","columnState","Table","columnPreferences","useAsTitle","renderedFilters","importMap","preferences","state"],"sources":["../../src/utilities/buildTableState.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n BuildTableStateArgs,\n ClientCollectionConfig,\n ClientConfig,\n ErrorResult,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport { dequal } from 'dequal'\nimport { createClientConfig, formatErrors } from 'payload'\n\nimport type { Column } from '../elements/Table/index.js'\nimport type { ListPreferences } from '../elements/TableColumns/index.js'\n\nimport { renderFilters, renderTable } from './renderTable.js'\n\nlet cachedClientConfig = global._payload_clientConfig\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getClientConfig = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n}): ClientConfig => {\n const { config, i18n } = args\n\n if (cachedClientConfig && process.env.NODE_ENV !== 'development') {\n return cachedClientConfig\n }\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n })\n\n return cachedClientConfig\n}\n\ntype BuildTableStateSuccessResult = {\n clientConfig?: ClientConfig\n data: PaginatedDocs\n errors?: never\n preferences: ListPreferences\n renderedFilters: Map<string, React.ReactNode>\n state: Column[]\n Table: React.ReactNode\n}\n\ntype BuildTableStateErrorResult = {\n data?: any\n renderedFilters?: never\n state?: never\n Table?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildTableStateResult = BuildTableStateErrorResult | BuildTableStateSuccessResult\n\nexport const buildTableStateHandler = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateResult> => {\n const { req } = args\n\n try {\n const res = await buildTableState(args)\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildTableState = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateSuccessResult> => {\n const {\n collectionSlug,\n columns,\n docs: docsFromArgs,\n enableRowSelections,\n query,\n renderRowTypes,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n tableAppearance,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n })\n\n let collectionConfig: SanitizedCollectionConfig\n let clientCollectionConfig: ClientCollectionConfig\n\n if (req.payload.collections[collectionSlug]) {\n collectionConfig = req.payload.collections[collectionSlug].config\n clientCollectionConfig = clientConfig.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n }\n\n // get prefs, then set update them using the columns that we just received\n const preferencesKey = `${collectionSlug}-list`\n\n const preferencesResult = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0]?.value as ListPreferences)\n\n let newPrefs = preferencesResult\n\n if (!preferencesResult || !dequal(columns, preferencesResult?.columns)) {\n const mergedPrefs = {\n ...(preferencesResult || {}),\n columns,\n }\n\n newPrefs = await payload\n .create({\n collection: 'payload-preferences',\n data: {\n key: preferencesKey,\n user: {\n collection: user.collection,\n value: user.id,\n },\n value: mergedPrefs,\n },\n req,\n })\n ?.then((res) => res.value as ListPreferences)\n }\n\n const fields = collectionConfig.fields\n const clientFields = clientCollectionConfig?.fields || []\n\n let docs = docsFromArgs\n let data: PaginatedDocs\n\n // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`\n\n if (!docs || query) {\n data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n limit: query?.limit ? parseInt(query.limit, 10) : undefined,\n page: query?.page ? parseInt(query.page, 10) : undefined,\n sort: query?.sort,\n where: query?.where,\n })\n\n docs = data.docs\n }\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: undefined, // TODO, might not be needed\n columns,\n docs,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n return {\n data,\n preferences: newPrefs,\n renderedFilters,\n state: columnState,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"buildTableState.js","names":["dequal","createClientConfig","formatErrors","renderFilters","renderTable","cachedClientConfig","global","_payload_clientConfig","getClientConfig","args","config","i18n","process","env","NODE_ENV","buildTableStateHandler","req","res","buildTableState","err","payload","logger","error","msg","message","collectionSlug","columns","docs","docsFromArgs","enableRowSelections","query","renderRowTypes","user","tableAppearance","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","length","clientConfig","collectionConfig","clientCollectionConfig","slug","preferencesKey","preferencesResult","where","and","key","equals","id","then","value","newPrefs","mergedPrefs","preferencesArgs","data","update","create","fields","parseInt","undefined","page","sort","columnState","Table","columnPreferences","useAsTitle","renderedFilters","importMap","preferences","state"],"sources":["../../src/utilities/buildTableState.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n BuildTableStateArgs,\n ClientCollectionConfig,\n ClientConfig,\n ErrorResult,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport { dequal } from 'dequal'\nimport { createClientConfig, formatErrors } from 'payload'\n\nimport type { Column } from '../elements/Table/index.js'\nimport type { ListPreferences } from '../elements/TableColumns/index.js'\n\nimport { renderFilters, renderTable } from './renderTable.js'\n\nlet cachedClientConfig = global._payload_clientConfig\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getClientConfig = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n}): ClientConfig => {\n const { config, i18n } = args\n\n if (cachedClientConfig && process.env.NODE_ENV !== 'development') {\n return cachedClientConfig\n }\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n })\n\n return cachedClientConfig\n}\n\ntype BuildTableStateSuccessResult = {\n clientConfig?: ClientConfig\n data: PaginatedDocs\n errors?: never\n preferences: ListPreferences\n renderedFilters: Map<string, React.ReactNode>\n state: Column[]\n Table: React.ReactNode\n}\n\ntype BuildTableStateErrorResult = {\n data?: any\n renderedFilters?: never\n state?: never\n Table?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildTableStateResult = BuildTableStateErrorResult | BuildTableStateSuccessResult\n\nexport const buildTableStateHandler = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateResult> => {\n const { req } = args\n\n try {\n const res = await buildTableState(args)\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildTableState = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateSuccessResult> => {\n const {\n collectionSlug,\n columns,\n docs: docsFromArgs,\n enableRowSelections,\n query,\n renderRowTypes,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n tableAppearance,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n })\n\n let collectionConfig: SanitizedCollectionConfig\n let clientCollectionConfig: ClientCollectionConfig\n\n if (req.payload.collections[collectionSlug]) {\n collectionConfig = req.payload.collections[collectionSlug].config\n clientCollectionConfig = clientConfig.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n }\n\n // get prefs, then set update them using the columns that we just received\n const preferencesKey = `${collectionSlug}-list`\n\n const preferencesResult = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0] ?? { id: null, value: {} })\n\n let newPrefs = preferencesResult.value\n\n if (!preferencesResult.id || !dequal(columns, preferencesResult?.columns)) {\n const mergedPrefs = {\n ...(preferencesResult || {}),\n columns,\n }\n const preferencesArgs = {\n collection: 'payload-preferences',\n data: {\n key: preferencesKey,\n user: {\n collection: user.collection,\n value: user.id,\n },\n value: mergedPrefs,\n },\n depth: 0,\n req,\n }\n\n if (preferencesResult.id) {\n newPrefs = await payload\n .update({\n ...preferencesArgs,\n id: preferencesResult.id,\n })\n ?.then((res) => res.value as ListPreferences)\n } else {\n newPrefs = await payload.create(preferencesArgs)?.then((res) => res.value as ListPreferences)\n }\n }\n\n const fields = collectionConfig.fields\n\n let docs = docsFromArgs\n let data: PaginatedDocs\n\n // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`\n\n if (!docs || query) {\n data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n limit: query?.limit ? parseInt(query.limit, 10) : undefined,\n page: query?.page ? parseInt(query.page, 10) : undefined,\n sort: query?.sort,\n where: query?.where,\n })\n\n docs = data.docs\n }\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: undefined, // TODO, might not be needed\n columns,\n docs,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n return {\n data,\n preferences: newPrefs,\n renderedFilters,\n state: columnState,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { I18nClient } from '@payloadcms/translations';
2
- import type { Permissions, SanitizedCollectionConfig, SanitizedGlobalConfig, StaticLabel } from 'payload';
2
+ import type { SanitizedCollectionConfig, SanitizedGlobalConfig, SanitizedPermissions, StaticLabel } from 'payload';
3
3
  export declare enum EntityType {
4
4
  collection = "collections",
5
5
  global = "globals"
@@ -19,5 +19,5 @@ export type NavGroupType = {
19
19
  }[];
20
20
  label: string;
21
21
  };
22
- export declare function groupNavItems(entities: EntityToGroup[], permissions: Permissions, i18n: I18nClient): NavGroupType[];
22
+ export declare function groupNavItems(entities: EntityToGroup[], permissions: SanitizedPermissions, i18n: I18nClient): NavGroupType[];
23
23
  //# sourceMappingURL=groupNavItems.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"groupNavItems.d.ts","sourceRoot":"","sources":["../../src/utilities/groupNavItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,WAAW,EACX,yBAAyB,EACzB,qBAAqB,EACrB,WAAW,EACZ,MAAM,SAAS,CAAA;AAIhB,oBAAY,UAAU;IACpB,UAAU,gBAAgB;IAC1B,MAAM,YAAY;CACnB;AAED,MAAM,MAAM,aAAa,GACrB;IACE,MAAM,EAAE,yBAAyB,CAAA;IACjC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAA;CAC5B,GACD;IACE,MAAM,EAAE,qBAAqB,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAA;CACxB,CAAA;AAEL,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE;QACR,KAAK,EAAE,WAAW,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,UAAU,CAAA;KACjB,EAAE,CAAA;IACH,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,aAAa,EAAE,EACzB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,UAAU,GACf,YAAY,EAAE,CA+DhB"}
1
+ {"version":3,"file":"groupNavItems.d.ts","sourceRoot":"","sources":["../../src/utilities/groupNavItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACZ,MAAM,SAAS,CAAA;AAIhB,oBAAY,UAAU;IACpB,UAAU,gBAAgB;IAC1B,MAAM,YAAY;CACnB;AAED,MAAM,MAAM,aAAa,GACrB;IACE,MAAM,EAAE,yBAAyB,CAAA;IACjC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAA;CAC5B,GACD;IACE,MAAM,EAAE,qBAAqB,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAA;CACxB,CAAA;AAEL,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE;QACR,KAAK,EAAE,WAAW,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,UAAU,CAAA;KACjB,EAAE,CAAA;IACH,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,aAAa,EAAE,EACzB,WAAW,EAAE,oBAAoB,EACjC,IAAI,EAAE,UAAU,GACf,YAAY,EAAE,CA4DhB"}
@@ -6,7 +6,7 @@ export var EntityType;
6
6
  })(EntityType || (EntityType = {}));
7
7
  export function groupNavItems(entities, permissions, i18n) {
8
8
  const result = entities.reduce((groups, entityToGroup) => {
9
- if (permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read.permission) {
9
+ if (permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read) {
10
10
  const translatedGroup = getTranslation(entityToGroup.entity.admin.group, i18n);
11
11
  if (entityToGroup.entity.admin.group) {
12
12
  const existingGroup = groups.find(group => getTranslation(group.label, i18n) === translatedGroup);
@@ -1 +1 @@
1
- {"version":3,"file":"groupNavItems.js","names":["getTranslation","EntityType","groupNavItems","entities","permissions","i18n","result","reduce","groups","entityToGroup","type","toLowerCase","entity","slug","read","permission","translatedGroup","admin","group","existingGroup","find","label","matchedGroup","push","labels","plural","t","defaultGroup","filter","length"],"sources":["../../src/utilities/groupNavItems.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n Permissions,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n StaticLabel,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nexport enum EntityType {\n collection = 'collections',\n global = 'globals',\n}\n\nexport type EntityToGroup =\n | {\n entity: SanitizedCollectionConfig\n type: EntityType.collection\n }\n | {\n entity: SanitizedGlobalConfig\n type: EntityType.global\n }\n\nexport type NavGroupType = {\n entities: {\n label: StaticLabel\n slug: string\n type: EntityType\n }[]\n label: string\n}\n\nexport function groupNavItems(\n entities: EntityToGroup[],\n permissions: Permissions,\n i18n: I18nClient,\n): NavGroupType[] {\n const result = entities.reduce(\n (groups, entityToGroup) => {\n if (\n permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read\n .permission\n ) {\n const translatedGroup = getTranslation(entityToGroup.entity.admin.group, i18n)\n\n if (entityToGroup.entity.admin.group) {\n const existingGroup = groups.find(\n (group) => getTranslation(group.label, i18n) === translatedGroup,\n ) as NavGroupType\n\n let matchedGroup: NavGroupType = existingGroup\n\n if (!existingGroup) {\n matchedGroup = { entities: [], label: translatedGroup }\n groups.push(matchedGroup)\n }\n\n matchedGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label:\n 'labels' in entityToGroup.entity\n ? typeof entityToGroup.entity.labels.plural === 'function'\n ? entityToGroup.entity.labels.plural({ t: i18n.t })\n : entityToGroup.entity.labels.plural\n : entityToGroup.entity.label,\n })\n } else {\n const defaultGroup = groups.find((group) => {\n return getTranslation(group.label, i18n) === i18n.t(`general:${entityToGroup.type}`)\n }) as NavGroupType\n defaultGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label:\n 'labels' in entityToGroup.entity\n ? typeof entityToGroup.entity.labels.plural === 'function'\n ? entityToGroup.entity.labels.plural({ t: i18n.t })\n : entityToGroup.entity.labels.plural\n : entityToGroup.entity.label,\n })\n }\n }\n\n return groups\n },\n [\n {\n entities: [],\n label: i18n.t('general:collections'),\n },\n {\n entities: [],\n label: i18n.t('general:globals'),\n },\n ],\n )\n\n return result.filter((group) => group.entities.length > 0)\n}\n"],"mappings":"AAQA,SAASA,cAAc,QAAQ;;WAEnBC,UAAA;;;GAAAA,UAAA,KAAAA,UAAA;AAwBZ,OAAO,SAASC,cACdC,QAAyB,EACzBC,WAAwB,EACxBC,IAAgB;EAEhB,MAAMC,MAAA,GAASH,QAAA,CAASI,MAAM,CAC5B,CAACC,MAAA,EAAQC,aAAA;IACP,IACEL,WAAA,GAAcK,aAAA,CAAcC,IAAI,CAACC,WAAW,GAAG,GAAGF,aAAA,CAAcG,MAAM,CAACC,IAAI,CAAC,EAAEC,IAAA,CAC3EC,UAAA,EACH;MACA,MAAMC,eAAA,GAAkBhB,cAAA,CAAeS,aAAA,CAAcG,MAAM,CAACK,KAAK,CAACC,KAAK,EAAEb,IAAA;MAEzE,IAAII,aAAA,CAAcG,MAAM,CAACK,KAAK,CAACC,KAAK,EAAE;QACpC,MAAMC,aAAA,GAAgBX,MAAA,CAAOY,IAAI,CAC9BF,KAAA,IAAUlB,cAAA,CAAekB,KAAA,CAAMG,KAAK,EAAEhB,IAAA,MAAUW,eAAA;QAGnD,IAAIM,YAAA,GAA6BH,aAAA;QAEjC,IAAI,CAACA,aAAA,EAAe;UAClBG,YAAA,GAAe;YAAEnB,QAAA,EAAU,EAAE;YAAEkB,KAAA,EAAOL;UAAgB;UACtDR,MAAA,CAAOe,IAAI,CAACD,YAAA;QACd;QAEAA,YAAA,CAAanB,QAAQ,CAACoB,IAAI,CAAC;UACzBV,IAAA,EAAMJ,aAAA,CAAcG,MAAM,CAACC,IAAI;UAC/BH,IAAA,EAAMD,aAAA,CAAcC,IAAI;UACxBW,KAAA,EACE,YAAYZ,aAAA,CAAcG,MAAM,GAC5B,OAAOH,aAAA,CAAcG,MAAM,CAACY,MAAM,CAACC,MAAM,KAAK,aAC5ChB,aAAA,CAAcG,MAAM,CAACY,MAAM,CAACC,MAAM,CAAC;YAAEC,CAAA,EAAGrB,IAAA,CAAKqB;UAAE,KAC/CjB,aAAA,CAAcG,MAAM,CAACY,MAAM,CAACC,MAAM,GACpChB,aAAA,CAAcG,MAAM,CAACS;QAC7B;MACF,OAAO;QACL,MAAMM,YAAA,GAAenB,MAAA,CAAOY,IAAI,CAAEF,KAAA;UAChC,OAAOlB,cAAA,CAAekB,KAAA,CAAMG,KAAK,EAAEhB,IAAA,MAAUA,IAAA,CAAKqB,CAAC,CAAC,WAAWjB,aAAA,CAAcC,IAAI,EAAE;QACrF;QACAiB,YAAA,CAAaxB,QAAQ,CAACoB,IAAI,CAAC;UACzBV,IAAA,EAAMJ,aAAA,CAAcG,MAAM,CAACC,IAAI;UAC/BH,IAAA,EAAMD,aAAA,CAAcC,IAAI;UACxBW,KAAA,EACE,YAAYZ,aAAA,CAAcG,MAAM,GAC5B,OAAOH,aAAA,CAAcG,MAAM,CAACY,MAAM,CAACC,MAAM,KAAK,aAC5ChB,aAAA,CAAcG,MAAM,CAACY,MAAM,CAACC,MAAM,CAAC;YAAEC,CAAA,EAAGrB,IAAA,CAAKqB;UAAE,KAC/CjB,aAAA,CAAcG,MAAM,CAACY,MAAM,CAACC,MAAM,GACpChB,aAAA,CAAcG,MAAM,CAACS;QAC7B;MACF;IACF;IAEA,OAAOb,MAAA;EACT,GACA,CACE;IACEL,QAAA,EAAU,EAAE;IACZkB,KAAA,EAAOhB,IAAA,CAAKqB,CAAC,CAAC;EAChB,GACA;IACEvB,QAAA,EAAU,EAAE;IACZkB,KAAA,EAAOhB,IAAA,CAAKqB,CAAC,CAAC;EAChB,EACD;EAGH,OAAOpB,MAAA,CAAOsB,MAAM,CAAEV,KAAA,IAAUA,KAAA,CAAMf,QAAQ,CAAC0B,MAAM,GAAG;AAC1D","ignoreList":[]}
1
+ {"version":3,"file":"groupNavItems.js","names":["getTranslation","EntityType","groupNavItems","entities","permissions","i18n","result","reduce","groups","entityToGroup","type","toLowerCase","entity","slug","read","translatedGroup","admin","group","existingGroup","find","label","matchedGroup","push","labels","plural","t","defaultGroup","filter","length"],"sources":["../../src/utilities/groupNavItems.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n StaticLabel,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nexport enum EntityType {\n collection = 'collections',\n global = 'globals',\n}\n\nexport type EntityToGroup =\n | {\n entity: SanitizedCollectionConfig\n type: EntityType.collection\n }\n | {\n entity: SanitizedGlobalConfig\n type: EntityType.global\n }\n\nexport type NavGroupType = {\n entities: {\n label: StaticLabel\n slug: string\n type: EntityType\n }[]\n label: string\n}\n\nexport function groupNavItems(\n entities: EntityToGroup[],\n permissions: SanitizedPermissions,\n i18n: I18nClient,\n): NavGroupType[] {\n const result = entities.reduce(\n (groups, entityToGroup) => {\n if (permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read) {\n const translatedGroup = getTranslation(entityToGroup.entity.admin.group, i18n)\n\n if (entityToGroup.entity.admin.group) {\n const existingGroup = groups.find(\n (group) => getTranslation(group.label, i18n) === translatedGroup,\n ) as NavGroupType\n\n let matchedGroup: NavGroupType = existingGroup\n\n if (!existingGroup) {\n matchedGroup = { entities: [], label: translatedGroup }\n groups.push(matchedGroup)\n }\n\n matchedGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label:\n 'labels' in entityToGroup.entity\n ? typeof entityToGroup.entity.labels.plural === 'function'\n ? entityToGroup.entity.labels.plural({ t: i18n.t })\n : entityToGroup.entity.labels.plural\n : entityToGroup.entity.label,\n })\n } else {\n const defaultGroup = groups.find((group) => {\n return getTranslation(group.label, i18n) === i18n.t(`general:${entityToGroup.type}`)\n }) as NavGroupType\n defaultGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label:\n 'labels' in entityToGroup.entity\n ? typeof entityToGroup.entity.labels.plural === 'function'\n ? entityToGroup.entity.labels.plural({ t: i18n.t })\n : entityToGroup.entity.labels.plural\n : entityToGroup.entity.label,\n })\n }\n }\n\n return groups\n },\n [\n {\n entities: [],\n label: i18n.t('general:collections'),\n },\n {\n entities: [],\n label: i18n.t('general:globals'),\n },\n ],\n )\n\n return result.filter((group) => group.entities.length > 0)\n}\n"],"mappings":"AAQA,SAASA,cAAc,QAAQ;;WAEnBC,UAAA;;;GAAAA,UAAA,KAAAA,UAAA;AAwBZ,OAAO,SAASC,cACdC,QAAyB,EACzBC,WAAiC,EACjCC,IAAgB;EAEhB,MAAMC,MAAA,GAASH,QAAA,CAASI,MAAM,CAC5B,CAACC,MAAA,EAAQC,aAAA;IACP,IAAIL,WAAA,GAAcK,aAAA,CAAcC,IAAI,CAACC,WAAW,GAAG,GAAGF,aAAA,CAAcG,MAAM,CAACC,IAAI,CAAC,EAAEC,IAAA,EAAM;MACtF,MAAMC,eAAA,GAAkBf,cAAA,CAAeS,aAAA,CAAcG,MAAM,CAACI,KAAK,CAACC,KAAK,EAAEZ,IAAA;MAEzE,IAAII,aAAA,CAAcG,MAAM,CAACI,KAAK,CAACC,KAAK,EAAE;QACpC,MAAMC,aAAA,GAAgBV,MAAA,CAAOW,IAAI,CAC9BF,KAAA,IAAUjB,cAAA,CAAeiB,KAAA,CAAMG,KAAK,EAAEf,IAAA,MAAUU,eAAA;QAGnD,IAAIM,YAAA,GAA6BH,aAAA;QAEjC,IAAI,CAACA,aAAA,EAAe;UAClBG,YAAA,GAAe;YAAElB,QAAA,EAAU,EAAE;YAAEiB,KAAA,EAAOL;UAAgB;UACtDP,MAAA,CAAOc,IAAI,CAACD,YAAA;QACd;QAEAA,YAAA,CAAalB,QAAQ,CAACmB,IAAI,CAAC;UACzBT,IAAA,EAAMJ,aAAA,CAAcG,MAAM,CAACC,IAAI;UAC/BH,IAAA,EAAMD,aAAA,CAAcC,IAAI;UACxBU,KAAA,EACE,YAAYX,aAAA,CAAcG,MAAM,GAC5B,OAAOH,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,KAAK,aAC5Cf,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,CAAC;YAAEC,CAAA,EAAGpB,IAAA,CAAKoB;UAAE,KAC/ChB,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,GACpCf,aAAA,CAAcG,MAAM,CAACQ;QAC7B;MACF,OAAO;QACL,MAAMM,YAAA,GAAelB,MAAA,CAAOW,IAAI,CAAEF,KAAA;UAChC,OAAOjB,cAAA,CAAeiB,KAAA,CAAMG,KAAK,EAAEf,IAAA,MAAUA,IAAA,CAAKoB,CAAC,CAAC,WAAWhB,aAAA,CAAcC,IAAI,EAAE;QACrF;QACAgB,YAAA,CAAavB,QAAQ,CAACmB,IAAI,CAAC;UACzBT,IAAA,EAAMJ,aAAA,CAAcG,MAAM,CAACC,IAAI;UAC/BH,IAAA,EAAMD,aAAA,CAAcC,IAAI;UACxBU,KAAA,EACE,YAAYX,aAAA,CAAcG,MAAM,GAC5B,OAAOH,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,KAAK,aAC5Cf,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,CAAC;YAAEC,CAAA,EAAGpB,IAAA,CAAKoB;UAAE,KAC/ChB,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,GACpCf,aAAA,CAAcG,MAAM,CAACQ;QAC7B;MACF;IACF;IAEA,OAAOZ,MAAA;EACT,GACA,CACE;IACEL,QAAA,EAAU,EAAE;IACZiB,KAAA,EAAOf,IAAA,CAAKoB,CAAC,CAAC;EAChB,GACA;IACEtB,QAAA,EAAU,EAAE;IACZiB,KAAA,EAAOf,IAAA,CAAKoB,CAAC,CAAC;EAChB,EACD;EAGH,OAAOnB,MAAA,CAAOqB,MAAM,CAAEV,KAAA,IAAUA,KAAA,CAAMd,QAAQ,CAACyB,MAAM,GAAG;AAC1D","ignoreList":[]}
@@ -1,7 +1,7 @@
1
- import type { DocumentPermissions } from 'payload';
1
+ import type { SanitizedDocumentPermissions } from 'payload';
2
2
  export declare const hasSavePermission: (args: {
3
3
  collectionSlug?: string;
4
- docPermissions: DocumentPermissions;
4
+ docPermissions: SanitizedDocumentPermissions;
5
5
  globalSlug?: string;
6
6
  isEditing: boolean;
7
7
  }) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"hasSavePermission.d.ts","sourceRoot":"","sources":["../../src/utilities/hasSavePermission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,mBAAmB,EAAoB,MAAM,SAAS,CAAA;AAE1F,eAAO,MAAM,iBAAiB,SAAU;IAItC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,mBAAmB,CAAA;IAInC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CACnB,YAeA,CAAA"}
1
+ {"version":3,"file":"hasSavePermission.d.ts","sourceRoot":"","sources":["../../src/utilities/hasSavePermission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,4BAA4B,EAE7B,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,iBAAiB,SAAU;IAItC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,4BAA4B,CAAA;IAI5C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CACnB,YAeA,CAAA"}
@@ -6,10 +6,10 @@ export const hasSavePermission = args => {
6
6
  isEditing
7
7
  } = args;
8
8
  if (collectionSlug) {
9
- return Boolean(isEditing && docPermissions?.update?.permission || !isEditing && docPermissions?.create?.permission);
9
+ return Boolean(isEditing && docPermissions?.update || !isEditing && docPermissions?.create);
10
10
  }
11
11
  if (globalSlug) {
12
- return Boolean(docPermissions?.update?.permission);
12
+ return Boolean(docPermissions?.update);
13
13
  }
14
14
  return false;
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"hasSavePermission.js","names":["hasSavePermission","args","collectionSlug","docPermissions","globalSlug","isEditing","Boolean","update","permission","create"],"sources":["../../src/utilities/hasSavePermission.ts"],"sourcesContent":["import type { CollectionPermission, DocumentPermissions, GlobalPermission } from 'payload'\n\nexport const hasSavePermission = (args: {\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n collectionSlug?: string\n docPermissions: DocumentPermissions\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n globalSlug?: string\n isEditing: boolean\n}) => {\n const { collectionSlug, docPermissions, globalSlug, isEditing } = args\n\n if (collectionSlug) {\n return Boolean(\n (isEditing && docPermissions?.update?.permission) ||\n (!isEditing && (docPermissions as CollectionPermission)?.create?.permission),\n )\n }\n\n if (globalSlug) {\n return Boolean((docPermissions as GlobalPermission)?.update?.permission)\n }\n\n return false\n}\n"],"mappings":"AAEA,OAAO,MAAMA,iBAAA,GAAqBC,IAAA;EAYhC,MAAM;IAAEC,cAAc;IAAEC,cAAc;IAAEC,UAAU;IAAEC;EAAS,CAAE,GAAGJ,IAAA;EAElE,IAAIC,cAAA,EAAgB;IAClB,OAAOI,OAAA,CACLD,SAAC,IAAaF,cAAA,EAAgBI,MAAA,EAAQC,UAAA,IACnC,CAACH,SAAA,IAAcF,cAAA,EAAyCM,MAAA,EAAQD,UAAA;EAEvE;EAEA,IAAIJ,UAAA,EAAY;IACd,OAAOE,OAAA,CAASH,cAAA,EAAqCI,MAAA,EAAQC,UAAA;EAC/D;EAEA,OAAO;AACT","ignoreList":[]}
1
+ {"version":3,"file":"hasSavePermission.js","names":["hasSavePermission","args","collectionSlug","docPermissions","globalSlug","isEditing","Boolean","update","create"],"sources":["../../src/utilities/hasSavePermission.ts"],"sourcesContent":["import type {\n SanitizedCollectionPermission,\n SanitizedDocumentPermissions,\n SanitizedGlobalPermission,\n} from 'payload'\n\nexport const hasSavePermission = (args: {\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n collectionSlug?: string\n docPermissions: SanitizedDocumentPermissions\n /*\n * Pass either `collectionSlug` or `globalSlug`\n */\n globalSlug?: string\n isEditing: boolean\n}) => {\n const { collectionSlug, docPermissions, globalSlug, isEditing } = args\n\n if (collectionSlug) {\n return Boolean(\n (isEditing && docPermissions?.update) ||\n (!isEditing && (docPermissions as SanitizedCollectionPermission)?.create),\n )\n }\n\n if (globalSlug) {\n return Boolean((docPermissions as SanitizedGlobalPermission)?.update)\n }\n\n return false\n}\n"],"mappings":"AAMA,OAAO,MAAMA,iBAAA,GAAqBC,IAAA;EAYhC,MAAM;IAAEC,cAAc;IAAEC,cAAc;IAAEC,UAAU;IAAEC;EAAS,CAAE,GAAGJ,IAAA;EAElE,IAAIC,cAAA,EAAgB;IAClB,OAAOI,OAAA,CACLD,SAAC,IAAaF,cAAA,EAAgBI,MAAA,IAC3B,CAACF,SAAA,IAAcF,cAAA,EAAkDK,MAAA;EAExE;EAEA,IAAIJ,UAAA,EAAY;IACd,OAAOE,OAAA,CAASH,cAAA,EAA8CI,MAAA;EAChE;EAEA,OAAO;AACT","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export declare function removeUndefined<T extends object>(obj: T): T;
2
+ //# sourceMappingURL=removeUndefined.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeUndefined.d.ts","sourceRoot":"","sources":["../../src/utilities/removeUndefined.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAE3D"}
@@ -0,0 +1,4 @@
1
+ export function removeUndefined(obj) {
2
+ return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== undefined));
3
+ }
4
+ //# sourceMappingURL=removeUndefined.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeUndefined.js","names":["removeUndefined","obj","Object","fromEntries","entries","filter","value","undefined"],"sources":["../../src/utilities/removeUndefined.ts"],"sourcesContent":["export function removeUndefined<T extends object>(obj: T): T {\n return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== undefined)) as T\n}\n"],"mappings":"AAAA,OAAO,SAASA,gBAAkCC,GAAM;EACtD,OAAOC,MAAA,CAAOC,WAAW,CAACD,MAAA,CAAOE,OAAO,CAACH,GAAA,EAAKI,MAAM,CAAC,CAAC,GAAGC,KAAA,CAAM,KAAKA,KAAA,KAAUC,SAAA;AAChF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAGxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAavC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuNhC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAGxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAavC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAwNhC,CAAA"}
@@ -64,19 +64,17 @@ export const Auth = props => {
64
64
  bb0: {
65
65
  const collection = permissions?.collections?.[collectionSlug];
66
66
  if (collection) {
67
- const unlock = "unlock" in collection ? collection.unlock : undefined;
68
- if (unlock) {
69
- t2 = unlock.permission;
70
- break bb0;
71
- }
67
+ t2 = Boolean("unlock" in collection ? collection.unlock : undefined);
68
+ break bb0;
72
69
  }
73
70
  t2 = false;
74
71
  }
75
72
  const hasPermissionToUnlock = t2;
76
- const apiKeyReadOnly = readOnly || !docPermissions?.fields?.apiKey?.update?.permission;
77
- const enableAPIKeyReadOnly = readOnly || !docPermissions?.fields?.enableAPIKey?.update?.permission;
78
- const canReadApiKey = docPermissions?.fields?.apiKey?.read?.permission;
79
- const canReadEnableAPIKey = docPermissions?.fields?.enableAPIKey?.read?.permission;
73
+ const apiKeyPermissions = docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey;
74
+ const apiKeyReadOnly = readOnly || apiKeyPermissions === true || apiKeyPermissions && typeof apiKeyPermissions === "object" && !apiKeyPermissions?.update;
75
+ const enableAPIKeyReadOnly = readOnly || apiKeyPermissions !== true && !apiKeyPermissions?.update;
76
+ const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read;
77
+ const canReadEnableAPIKey = apiKeyPermissions === true || apiKeyPermissions?.read;
80
78
  let t3;
81
79
  if ($[0] !== setValidateBeforeSubmit || $[1] !== setSchemaPathSegments || $[2] !== collectionSlug || $[3] !== dispatchFields || $[4] !== t) {
82
80
  t3 = showPasswordFields => {
@@ -154,7 +152,7 @@ export const Auth = props => {
154
152
  } else {
155
153
  t4 = $[14];
156
154
  }
157
- const unlock_0 = t4;
155
+ const unlock = t4;
158
156
  let t5;
159
157
  let t6;
160
158
  if ($[15] !== modified) {
@@ -187,7 +185,7 @@ export const Auth = props => {
187
185
  }
188
186
  const t8 = t7.join(" ");
189
187
  let t9;
190
- if ($[20] !== disableLocalStrategy || $[21] !== docPermissions || $[22] !== loginWithUsername || $[23] !== operation || $[24] !== readOnly || $[25] !== t || $[26] !== showPasswordFields_0 || $[27] !== requirePassword || $[28] !== disabled || $[29] !== handleChangePassword || $[30] !== hasPermissionToUnlock || $[31] !== unlock_0 || $[32] !== useAPIKey || $[33] !== canReadEnableAPIKey || $[34] !== enableAPIKeyReadOnly || $[35] !== collectionSlug || $[36] !== canReadApiKey || $[37] !== enableAPIKey || $[38] !== apiKeyReadOnly || $[39] !== verify || $[40] !== t8) {
188
+ if ($[20] !== disableLocalStrategy || $[21] !== docPermissions || $[22] !== loginWithUsername || $[23] !== operation || $[24] !== readOnly || $[25] !== t || $[26] !== showPasswordFields_0 || $[27] !== requirePassword || $[28] !== disabled || $[29] !== handleChangePassword || $[30] !== hasPermissionToUnlock || $[31] !== unlock || $[32] !== useAPIKey || $[33] !== canReadEnableAPIKey || $[34] !== enableAPIKeyReadOnly || $[35] !== collectionSlug || $[36] !== canReadApiKey || $[37] !== enableAPIKey || $[38] !== apiKeyReadOnly || $[39] !== verify || $[40] !== t8) {
191
189
  let t10;
192
190
  if ($[42] !== useAPIKey || $[43] !== canReadEnableAPIKey || $[44] !== disabled || $[45] !== enableAPIKeyReadOnly || $[46] !== t || $[47] !== collectionSlug || $[48] !== canReadApiKey || $[49] !== enableAPIKey || $[50] !== apiKeyReadOnly) {
193
191
  t10 = useAPIKey && _jsxs("div", {
@@ -291,7 +289,7 @@ export const Auth = props => {
291
289
  }), operation === "update" && hasPermissionToUnlock && _jsx(Button, {
292
290
  buttonStyle: "secondary",
293
291
  disabled,
294
- onClick: () => void unlock_0(),
292
+ onClick: () => void unlock(),
295
293
  size: "medium",
296
294
  children: t("authentication:forceUnlock")
297
295
  })]
@@ -309,7 +307,7 @@ export const Auth = props => {
309
307
  $[28] = disabled;
310
308
  $[29] = handleChangePassword;
311
309
  $[30] = hasPermissionToUnlock;
312
- $[31] = unlock_0;
310
+ $[31] = unlock;
313
311
  $[32] = useAPIKey;
314
312
  $[33] = canReadEnableAPIKey;
315
313
  $[34] = enableAPIKeyReadOnly;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useAuth","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setSchemaPathSegments","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","forceOpenChangePassword","_temp2","dispatchFields","_temp3","modified","i18n","t","docPermissions","isInitializing","config","t0","routes","t1","serverURL","api","t2","bb0","collection","collections","unlock","undefined","permission","hasPermissionToUnlock","apiKeyReadOnly","fields","apiKey","update","enableAPIKeyReadOnly","canReadApiKey","read","canReadEnableAPIKey","t3","showPasswordFields","type","errorMessage","path","valid","handleChangePassword","t4","language","url","response","fetch","body","JSON","stringify","credentials","headers","method","status","success","error","unlock_0","t5","t6","disabled","showPasswordFields_0","t7","filter","Boolean","t8","join","t9","t10","_jsxs","children","_jsx","field","name","admin","label","schemaPath","enabled","value","t11","Fragment","autoComplete","required","indexPath","parentPath","parentSchemaPath","buttonStyle","onClick","size","id","fields_0","password","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { APIKey } from './APIKey.js'\nimport './index.scss'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setSchemaPathSegments,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const { permissions } = useAuth()\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const forceOpenChangePassword = useFormFields(([fields]) => (fields && fields?.password) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isInitializing } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n const collection = permissions?.collections?.[collectionSlug]\n\n if (collection) {\n const unlock = 'unlock' in collection ? collection.unlock : undefined\n\n if (unlock) {\n // current types for permissions do not include auth permissions, this will be fixed in another branch soon, for now we need to ignore the types\n // @todo: fix types\n // @ts-expect-error\n return unlock.permission\n }\n }\n\n return false\n }, [permissions, collectionSlug])\n\n const apiKeyReadOnly = readOnly || !docPermissions?.fields?.apiKey?.update?.permission\n const enableAPIKeyReadOnly = readOnly || !docPermissions?.fields?.enableAPIKey?.update?.permission\n\n const canReadApiKey = docPermissions?.fields?.apiKey?.read?.permission\n const canReadEnableAPIKey = docPermissions?.fields?.enableAPIKey?.read?.permission\n\n const handleChangePassword = useCallback(\n (showPasswordFields: boolean) => {\n if (showPasswordFields) {\n setValidateBeforeSubmit(true)\n setSchemaPathSegments([`_${collectionSlug}`, 'auth'])\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n setSchemaPathSegments([collectionSlug])\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(showPasswordFields)\n },\n [dispatchFields, t, collectionSlug, setSchemaPathSegments, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !useAPIKey) {\n return null\n }\n\n const disabled = readOnly || isInitializing\n\n const showPasswordFields = changingPassword || forceOpenChangePassword\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {!disableLocalStrategy && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n t={t}\n />\n {(showPasswordFields || requirePassword) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n admin: {\n disabled,\n },\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {showPasswordFields && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!showPasswordFields && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadEnableAPIKey && (\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n )}\n {canReadApiKey && <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />}\n </div>\n )}\n {verify && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useAuth","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setSchemaPathSegments","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","forceOpenChangePassword","_temp2","dispatchFields","_temp3","modified","i18n","t","docPermissions","isInitializing","config","t0","routes","t1","serverURL","api","t2","bb0","collection","collections","Boolean","unlock","undefined","hasPermissionToUnlock","apiKeyPermissions","fields","apiKeyReadOnly","update","enableAPIKeyReadOnly","canReadApiKey","read","canReadEnableAPIKey","t3","showPasswordFields","type","errorMessage","path","valid","handleChangePassword","t4","language","url","response","fetch","body","JSON","stringify","credentials","headers","method","status","success","error","t5","t6","disabled","showPasswordFields_0","t7","filter","t8","join","t9","t10","_jsxs","children","_jsx","field","name","admin","label","schemaPath","enabled","value","t11","Fragment","autoComplete","required","indexPath","parentPath","parentSchemaPath","buttonStyle","onClick","size","id","fields_0","password","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { APIKey } from './APIKey.js'\nimport './index.scss'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setSchemaPathSegments,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const { permissions } = useAuth()\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const forceOpenChangePassword = useFormFields(([fields]) => (fields && fields?.password) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isInitializing } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n const collection = permissions?.collections?.[collectionSlug]\n\n if (collection) {\n return Boolean('unlock' in collection ? collection.unlock : undefined)\n }\n\n return false\n }, [permissions, collectionSlug])\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n apiKeyPermissions === true ||\n (apiKeyPermissions && typeof apiKeyPermissions === 'object' && !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n const canReadEnableAPIKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const handleChangePassword = useCallback(\n (showPasswordFields: boolean) => {\n if (showPasswordFields) {\n setValidateBeforeSubmit(true)\n setSchemaPathSegments([`_${collectionSlug}`, 'auth'])\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n setSchemaPathSegments([collectionSlug])\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(showPasswordFields)\n },\n [dispatchFields, t, collectionSlug, setSchemaPathSegments, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !useAPIKey) {\n return null\n }\n\n const disabled = readOnly || isInitializing\n\n const showPasswordFields = changingPassword || forceOpenChangePassword\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {!disableLocalStrategy && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n t={t}\n />\n {(showPasswordFields || requirePassword) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n admin: {\n disabled,\n },\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {showPasswordFields && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!showPasswordFields && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadEnableAPIKey && (\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n )}\n {canReadApiKey && <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />}\n </div>\n )}\n {verify && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import type { I18nClient, TFunction } from '@payloadcms/translations';
2
2
  import type { ClientCollectionConfig } from 'payload';
3
3
  import React from 'react';
4
4
  import './index.scss';
5
- type Props = {
5
+ export type ListHeaderProps = {
6
6
  className?: string;
7
7
  collectionConfig: ClientCollectionConfig;
8
8
  Description?: React.ReactNode;
@@ -14,6 +14,5 @@ type Props = {
14
14
  smallBreak: boolean;
15
15
  t: TFunction;
16
16
  };
17
- export declare const ListHeader: React.FC<Props>;
18
- export {};
17
+ export declare const ListHeader: React.FC<ListHeaderProps>;
19
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,cAAc,CAAA;AAKrB,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;IACnB,CAAC,EAAE,SAAS,CAAA;CACb,CAAA;AAwHD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAQtC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/List/ListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,cAAc,CAAA;AAKrB,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;IACnB,CAAC,EAAE,SAAS,CAAA;CACb,CAAA;AA6HD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAQhD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","LinkImport","Link","default","useModal","React","Button","useListDrawerContext","ListSelection","Pill","ReactSelect","FieldLabel","XIcon","useConfig","baseClass","drawerBaseClass","DefaultListHeader","className","collectionConfig","Description","hasCreatePermission","i18n","isBulkUploadEnabled","newDocumentURL","openBulkUpload","smallBreak","t","_jsxs","filter","Boolean","join","_jsx","labels","plural","_Fragment","label","singular","buttonStyle","el","size","to","onClick","ListDrawerHeader","config","collections","closeModal","DocumentDrawerToggler","drawerSlug","enabledCollections","selectedOption","setSelectedOption","find","slug","value","enabledCollectionConfigs","includes","moreThanOneAvailableCollection","length","type","onChange","options","map","coll","ListHeader","props","isInDrawer"],"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport LinkImport from 'next/link.js'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { ListSelection } from '../../../elements/ListSelection/index.js'\nimport { Pill } from '../../../elements/Pill/index.js'\nimport { ReactSelect } from '../../../elements/ReactSelect/index.js'\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-header'\nconst drawerBaseClass = 'list-drawer'\n\ntype Props = {\n className?: string\n collectionConfig: ClientCollectionConfig\n Description?: React.ReactNode\n hasCreatePermission: boolean\n i18n: I18nClient\n isBulkUploadEnabled: boolean\n newDocumentURL: string\n openBulkUpload: () => void\n smallBreak: boolean\n t: TFunction\n}\n\nconst DefaultListHeader: React.FC<Props> = ({\n className,\n collectionConfig,\n Description,\n hasCreatePermission,\n i18n,\n isBulkUploadEnabled,\n newDocumentURL,\n openBulkUpload,\n smallBreak,\n t,\n}) => {\n return (\n <header className={[baseClass, className].filter(Boolean).join(' ')}>\n <h1>{getTranslation(collectionConfig?.labels?.plural, i18n)}</h1>\n {hasCreatePermission && (\n <>\n <Button\n aria-label={i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n buttonStyle=\"pill\"\n el={'link'}\n Link={Link}\n size=\"small\"\n to={newDocumentURL}\n >\n {i18n.t('general:createNew')}\n </Button>\n {isBulkUploadEnabled && (\n <Button\n aria-label={t('upload:bulkUpload')}\n buttonStyle=\"pill\"\n onClick={openBulkUpload}\n size=\"small\"\n >\n {t('upload:bulkUpload')}\n </Button>\n )}\n </>\n )}\n {!smallBreak && (\n <ListSelection label={getTranslation(collectionConfig?.labels?.plural, i18n)} />\n )}\n {Description}\n </header>\n )\n}\n\nconst ListDrawerHeader: React.FC<Props> = ({ Description, hasCreatePermission, i18n, t }) => {\n const {\n config: { collections },\n } = useConfig()\n\n const { closeModal } = useModal()\n\n const {\n DocumentDrawerToggler,\n drawerSlug,\n enabledCollections,\n selectedOption,\n setSelectedOption,\n } = useListDrawerContext()\n\n const collectionConfig = collections.find(({ slug }) => slug === selectedOption.value)\n\n const enabledCollectionConfigs = collections.filter(({ slug }) =>\n enabledCollections.includes(slug),\n )\n\n const moreThanOneAvailableCollection = enabledCollections.length > 1\n\n return (\n <header className={`${drawerBaseClass}__header`}>\n <div className={`${drawerBaseClass}__header-wrap`}>\n <div className={`${drawerBaseClass}__header-content`}>\n <h2 className={`${drawerBaseClass}__header-text`}>\n {getTranslation(collectionConfig?.labels?.plural, i18n)}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${drawerBaseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${drawerBaseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {Description}\n {moreThanOneAvailableCollection && (\n <div className={`${drawerBaseClass}__select-collection-wrap`}>\n <FieldLabel label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption}\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={{\n label: getTranslation(collectionConfig?.labels.singular, i18n),\n value: collectionConfig?.slug,\n }}\n />\n </div>\n )}\n </header>\n )\n}\n\nexport const ListHeader: React.FC<Props> = (props) => {\n const { isInDrawer } = useListDrawerContext()\n\n if (isInDrawer) {\n return <ListDrawerHeader {...props} />\n }\n\n return <DefaultListHeader {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","LinkImport","Link","default","useModal","React","Button","useListDrawerContext","ListSelection","Pill","ReactSelect","FieldLabel","XIcon","useConfig","baseClass","drawerBaseClass","DefaultListHeader","className","collectionConfig","Description","hasCreatePermission","i18n","isBulkUploadEnabled","newDocumentURL","openBulkUpload","smallBreak","t","_jsxs","filter","Boolean","join","_jsx","labels","plural","_Fragment","label","singular","buttonStyle","el","size","to","onClick","ListDrawerHeader","config","collections","closeModal","DocumentDrawerToggler","drawerSlug","enabledCollections","selectedOption","setSelectedOption","find","slug","value","enabledCollectionConfigs","includes","moreThanOneAvailableCollection","length","type","onChange","options","map","coll","ListHeader","props","isInDrawer"],"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient, TFunction } from '@payloadcms/translations'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport LinkImport from 'next/link.js'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { ListSelection } from '../../../elements/ListSelection/index.js'\nimport { Pill } from '../../../elements/Pill/index.js'\nimport { ReactSelect } from '../../../elements/ReactSelect/index.js'\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-header'\nconst drawerBaseClass = 'list-drawer'\n\nexport type ListHeaderProps = {\n className?: string\n collectionConfig: ClientCollectionConfig\n Description?: React.ReactNode\n hasCreatePermission: boolean\n i18n: I18nClient\n isBulkUploadEnabled: boolean\n newDocumentURL: string\n openBulkUpload: () => void\n smallBreak: boolean\n t: TFunction\n}\n\nconst DefaultListHeader: React.FC<ListHeaderProps> = ({\n className,\n collectionConfig,\n Description,\n hasCreatePermission,\n i18n,\n isBulkUploadEnabled,\n newDocumentURL,\n openBulkUpload,\n smallBreak,\n t,\n}) => {\n return (\n <header className={[baseClass, className].filter(Boolean).join(' ')}>\n <h1>{getTranslation(collectionConfig?.labels?.plural, i18n)}</h1>\n {hasCreatePermission && (\n <>\n <Button\n aria-label={i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n buttonStyle=\"pill\"\n el={'link'}\n Link={Link}\n size=\"small\"\n to={newDocumentURL}\n >\n {i18n.t('general:createNew')}\n </Button>\n {isBulkUploadEnabled && (\n <Button\n aria-label={t('upload:bulkUpload')}\n buttonStyle=\"pill\"\n onClick={openBulkUpload}\n size=\"small\"\n >\n {t('upload:bulkUpload')}\n </Button>\n )}\n </>\n )}\n {!smallBreak && (\n <ListSelection label={getTranslation(collectionConfig?.labels?.plural, i18n)} />\n )}\n {Description}\n </header>\n )\n}\n\nconst ListDrawerHeader: React.FC<ListHeaderProps> = ({\n Description,\n hasCreatePermission,\n i18n,\n t,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n\n const { closeModal } = useModal()\n\n const {\n DocumentDrawerToggler,\n drawerSlug,\n enabledCollections,\n selectedOption,\n setSelectedOption,\n } = useListDrawerContext()\n\n const collectionConfig = collections.find(({ slug }) => slug === selectedOption.value)\n\n const enabledCollectionConfigs = collections.filter(({ slug }) =>\n enabledCollections.includes(slug),\n )\n\n const moreThanOneAvailableCollection = enabledCollections.length > 1\n\n return (\n <header className={`${drawerBaseClass}__header`}>\n <div className={`${drawerBaseClass}__header-wrap`}>\n <div className={`${drawerBaseClass}__header-content`}>\n <h2 className={`${drawerBaseClass}__header-text`}>\n {getTranslation(collectionConfig?.labels?.plural, i18n)}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${drawerBaseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${drawerBaseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {Description}\n {moreThanOneAvailableCollection && (\n <div className={`${drawerBaseClass}__select-collection-wrap`}>\n <FieldLabel label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption}\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={{\n label: getTranslation(collectionConfig?.labels.singular, i18n),\n value: collectionConfig?.slug,\n }}\n />\n </div>\n )}\n </header>\n )\n}\n\nexport const ListHeader: React.FC<ListHeaderProps> = (props) => {\n const { isInDrawer } = useListDrawerContext()\n\n if (isInDrawer) {\n return <ListDrawerHeader {...props} />\n }\n\n return <DefaultListHeader {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import type { I18n } from '@payloadcms/translations';
2
- import type { AdminViewProps, Locale, Payload, Permissions, SanitizedCollectionConfig, User } from 'payload';
2
+ import type { AdminViewProps, Locale, Payload, SanitizedCollectionConfig, SanitizedPermissions, User } from 'payload';
3
3
  import type { ColumnPreferences } from '../../providers/ListQuery/index.js';
4
4
  export type DefaultListViewProps = {
5
5
  collectionSlug: SanitizedCollectionConfig['slug'];
@@ -25,7 +25,7 @@ export type ListComponentServerProps = {
25
25
  locale: Locale;
26
26
  params: AdminViewProps['params'];
27
27
  payload: Payload;
28
- permissions: Permissions;
28
+ permissions: SanitizedPermissions;
29
29
  searchParams: AdminViewProps['searchParams'];
30
30
  user: User;
31
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/views/List/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EACN,OAAO,EACP,WAAW,EACX,yBAAyB,EACzB,IAAI,EACL,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAE3E,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,oBAAoB,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAA;CACjF,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,yBAAyB,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,iBAAiB,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IAC5C,IAAI,EAAE,IAAI,CAAA;CACX,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/views/List/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EACN,OAAO,EACP,yBAAyB,EACzB,oBAAoB,EACpB,IAAI,EACL,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAE3E,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,oBAAoB,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAA;CACjF,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,yBAAyB,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,iBAAiB,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,oBAAoB,CAAA;IACjC,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IAC5C,IAAI,EAAE,IAAI,CAAA;CACX,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/views/List/types.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n AdminViewProps,\n Locale,\n Payload,\n Permissions,\n SanitizedCollectionConfig,\n User,\n} from 'payload'\n\nimport type { ColumnPreferences } from '../../providers/ListQuery/index.js'\n\nexport type DefaultListViewProps = {\n collectionSlug: SanitizedCollectionConfig['slug']\n listSearchableFields: SanitizedCollectionConfig['admin']['listSearchableFields']\n}\n\nexport type ListIndexProps = {\n collection: SanitizedCollectionConfig\n}\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n limit: number\n sort: string\n}\n\nexport type ListComponentClientProps = {\n collectionSlug: SanitizedCollectionConfig['slug']\n hasCreatePermission: boolean\n newDocumentURL: string\n}\n\nexport type ListComponentServerProps = {\n collectionConfig: SanitizedCollectionConfig\n i18n: I18n\n limit: number\n locale: Locale\n params: AdminViewProps['params']\n payload: Payload\n permissions: Permissions\n searchParams: AdminViewProps['searchParams']\n user: User\n}\n"],"mappings":"AAiCA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/views/List/types.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n AdminViewProps,\n Locale,\n Payload,\n SanitizedCollectionConfig,\n SanitizedPermissions,\n User,\n} from 'payload'\n\nimport type { ColumnPreferences } from '../../providers/ListQuery/index.js'\n\nexport type DefaultListViewProps = {\n collectionSlug: SanitizedCollectionConfig['slug']\n listSearchableFields: SanitizedCollectionConfig['admin']['listSearchableFields']\n}\n\nexport type ListIndexProps = {\n collection: SanitizedCollectionConfig\n}\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n limit: number\n sort: string\n}\n\nexport type ListComponentClientProps = {\n collectionSlug: SanitizedCollectionConfig['slug']\n hasCreatePermission: boolean\n newDocumentURL: string\n}\n\nexport type ListComponentServerProps = {\n collectionConfig: SanitizedCollectionConfig\n i18n: I18n\n limit: number\n locale: Locale\n params: AdminViewProps['params']\n payload: Payload\n permissions: SanitizedPermissions\n searchParams: AdminViewProps['searchParams']\n user: User\n}\n"],"mappings":"AAiCA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "3.0.0-beta.130",
3
+ "version": "3.0.0-beta.131",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -109,7 +109,7 @@
109
109
  "@monaco-editor/react": "4.6.0",
110
110
  "body-scroll-lock": "4.0.0-beta.0",
111
111
  "bson-objectid": "2.0.4",
112
- "date-fns": "3.3.1",
112
+ "date-fns": "4.1.0",
113
113
  "dequal": "2.0.3",
114
114
  "md5": "2.3.0",
115
115
  "object-to-formdata": "4.5.1",
@@ -123,7 +123,7 @@
123
123
  "ts-essentials": "10.0.3",
124
124
  "use-context-selector": "2.0.0",
125
125
  "uuid": "10.0.0",
126
- "@payloadcms/translations": "3.0.0-beta.130"
126
+ "@payloadcms/translations": "3.0.0-beta.131"
127
127
  },
128
128
  "devDependencies": {
129
129
  "@babel/cli": "^7.24.5",
@@ -142,13 +142,13 @@
142
142
  "esbuild-sass-plugin": "3.3.1",
143
143
  "eslint-plugin-react-compiler": "19.0.0-beta-a7bf2bd-20241110",
144
144
  "@payloadcms/eslint-config": "3.0.0-beta.112",
145
- "payload": "3.0.0-beta.130"
145
+ "payload": "3.0.0-beta.131"
146
146
  },
147
147
  "peerDependencies": {
148
148
  "next": "^15.0.0",
149
149
  "react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
150
150
  "react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
151
- "payload": "3.0.0-beta.130"
151
+ "payload": "3.0.0-beta.131"
152
152
  },
153
153
  "engines": {
154
154
  "node": "^18.20.2 || >=20.9.0"