@payloadcms/ui 3.49.0-canary.8 → 3.49.0

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 (158) hide show
  1. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  2. package/dist/elements/DeleteDocument/index.js +65 -47
  3. package/dist/elements/DeleteDocument/index.js.map +1 -1
  4. package/dist/elements/DeleteDocument/index.scss +10 -0
  5. package/dist/elements/DeleteMany/index.d.ts +6 -2
  6. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  7. package/dist/elements/DeleteMany/index.js +153 -51
  8. package/dist/elements/DeleteMany/index.js.map +1 -1
  9. package/dist/elements/DeleteMany/index.scss +13 -0
  10. package/dist/elements/DocumentControls/index.d.ts +3 -0
  11. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  12. package/dist/elements/DocumentControls/index.js +24 -5
  13. package/dist/elements/DocumentControls/index.js.map +1 -1
  14. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  15. package/dist/elements/DocumentDrawer/DrawerContent.js +4 -2
  16. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  17. package/dist/elements/DocumentDrawer/Provider.d.ts +4 -0
  18. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  19. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  20. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  21. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  22. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  23. package/dist/elements/DocumentFields/index.d.ts +1 -0
  24. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  25. package/dist/elements/DocumentFields/index.js +3 -1
  26. package/dist/elements/DocumentFields/index.js.map +1 -1
  27. package/dist/elements/FolderView/Cell/index.client.d.ts +3 -2
  28. package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -1
  29. package/dist/elements/FolderView/Cell/index.client.js +3 -1
  30. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  31. package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -1
  32. package/dist/elements/FolderView/Cell/index.server.js +2 -1
  33. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  34. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts +7 -0
  35. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -0
  36. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +164 -0
  37. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -0
  38. package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
  39. package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
  40. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  41. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  42. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts +10 -0
  43. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts.map +1 -0
  44. package/dist/elements/ListHeaderTabs/ByFolderPill.js +70 -0
  45. package/dist/elements/ListHeaderTabs/ByFolderPill.js.map +1 -0
  46. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts +9 -0
  47. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts.map +1 -0
  48. package/dist/elements/ListHeaderTabs/DefaultListPill.js +68 -0
  49. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +1 -0
  50. package/dist/elements/ListHeaderTabs/TrashPill.d.ts +6 -0
  51. package/dist/elements/ListHeaderTabs/TrashPill.d.ts.map +1 -0
  52. package/dist/elements/ListHeaderTabs/TrashPill.js +53 -0
  53. package/dist/elements/ListHeaderTabs/TrashPill.js.map +1 -0
  54. package/dist/elements/{ListFolderPills → ListHeaderTabs}/index.scss +1 -2
  55. package/dist/elements/ListSelection/index.scss +1 -1
  56. package/dist/elements/PermanentlyDeleteButton/index.d.ts +14 -0
  57. package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -0
  58. package/dist/elements/PermanentlyDeleteButton/index.js +147 -0
  59. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -0
  60. package/dist/elements/RestoreButton/index.d.ts +15 -0
  61. package/dist/elements/RestoreButton/index.d.ts.map +1 -0
  62. package/dist/elements/RestoreButton/index.js +171 -0
  63. package/dist/elements/RestoreButton/index.js.map +1 -0
  64. package/dist/elements/RestoreButton/index.scss +25 -0
  65. package/dist/elements/RestoreMany/index.d.ts +9 -0
  66. package/dist/elements/RestoreMany/index.d.ts.map +1 -0
  67. package/dist/elements/RestoreMany/index.js +193 -0
  68. package/dist/elements/RestoreMany/index.js.map +1 -0
  69. package/dist/elements/RestoreMany/index.scss +25 -0
  70. package/dist/elements/Status/index.d.ts.map +1 -1
  71. package/dist/elements/Status/index.js +6 -4
  72. package/dist/elements/Status/index.js.map +1 -1
  73. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  74. package/dist/elements/Table/DefaultCell/index.js +10 -8
  75. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  76. package/dist/elements/TrashBanner/index.d.ts +4 -0
  77. package/dist/elements/TrashBanner/index.d.ts.map +1 -0
  78. package/dist/elements/TrashBanner/index.js +37 -0
  79. package/dist/elements/TrashBanner/index.js.map +1 -0
  80. package/dist/elements/TrashBanner/index.scss +20 -0
  81. package/dist/exports/client/index.js +24 -22
  82. package/dist/exports/client/index.js.map +4 -4
  83. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  84. package/dist/fields/Checkbox/Input.js +2 -0
  85. package/dist/fields/Checkbox/Input.js.map +1 -1
  86. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
  87. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  88. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +7 -0
  89. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  90. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
  91. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  92. package/dist/forms/fieldSchemasToFormState/index.js +2 -0
  93. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  94. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
  95. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  96. package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
  97. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  98. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  99. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
  100. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  101. package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
  102. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  103. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  104. package/dist/icons/Trash/index.d.ts +6 -0
  105. package/dist/icons/Trash/index.d.ts.map +1 -0
  106. package/dist/icons/Trash/index.js +22 -0
  107. package/dist/icons/Trash/index.js.map +1 -0
  108. package/dist/icons/Trash/index.scss +6 -0
  109. package/dist/providers/DocumentInfo/types.d.ts +2 -0
  110. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  111. package/dist/providers/DocumentInfo/types.js.map +1 -1
  112. package/dist/providers/ServerFunctions/index.d.ts +1 -0
  113. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  114. package/dist/providers/ServerFunctions/index.js.map +1 -1
  115. package/dist/providers/TableColumns/buildColumnState/index.d.ts +2 -1
  116. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  117. package/dist/providers/TableColumns/buildColumnState/index.js +4 -2
  118. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  119. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +3 -2
  120. package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
  121. package/dist/providers/TableColumns/buildColumnState/renderCell.js +4 -2
  122. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  123. package/dist/styles.css +1 -1
  124. package/dist/utilities/buildFormState.d.ts.map +1 -1
  125. package/dist/utilities/buildFormState.js +2 -0
  126. package/dist/utilities/buildFormState.js.map +1 -1
  127. package/dist/utilities/renderTable.d.ts +3 -2
  128. package/dist/utilities/renderTable.d.ts.map +1 -1
  129. package/dist/utilities/renderTable.js +4 -2
  130. package/dist/utilities/renderTable.js.map +1 -1
  131. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  132. package/dist/views/CollectionFolder/index.js +15 -5
  133. package/dist/views/CollectionFolder/index.js.map +1 -1
  134. package/dist/views/Edit/Auth/index.js +5 -4
  135. package/dist/views/Edit/Auth/index.js.map +1 -1
  136. package/dist/views/Edit/SetDocumentStepNav/index.d.ts +1 -0
  137. package/dist/views/Edit/SetDocumentStepNav/index.d.ts.map +1 -1
  138. package/dist/views/Edit/SetDocumentStepNav/index.js +26 -15
  139. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  140. package/dist/views/Edit/index.d.ts.map +1 -1
  141. package/dist/views/Edit/index.js +11 -3
  142. package/dist/views/Edit/index.js.map +1 -1
  143. package/dist/views/List/ListHeader/index.d.ts +4 -2
  144. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  145. package/dist/views/List/ListHeader/index.js +24 -9
  146. package/dist/views/List/ListHeader/index.js.map +1 -1
  147. package/dist/views/List/ListSelection/index.d.ts +2 -1
  148. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  149. package/dist/views/List/ListSelection/index.js +26 -17
  150. package/dist/views/List/ListSelection/index.js.map +1 -1
  151. package/dist/views/List/index.d.ts.map +1 -1
  152. package/dist/views/List/index.js +28 -9
  153. package/dist/views/List/index.js.map +1 -1
  154. package/package.json +5 -5
  155. package/dist/elements/ListFolderPills/index.d.ts +0 -10
  156. package/dist/elements/ListFolderPills/index.d.ts.map +0 -1
  157. package/dist/elements/ListFolderPills/index.js +0 -97
  158. package/dist/elements/ListFolderPills/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,cAAc,EACf,MAAM,SAAS,CAAA;AAYhB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;CACnC,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,2BAA2B,CAAA;AAE1F,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAChD,kBAAkB,EAClB,OAAO,CAAC,oBAAoB,CAAC,CAsD9B,CAAA;AAED,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC,2BAA2B,CAoJrC,CAAA"}
1
+ {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,cAAc,EACf,MAAM,SAAS,CAAA;AAYhB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;CACnC,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,2BAA2B,CAAA;AAE1F,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAChD,kBAAkB,EAClB,OAAO,CAAC,oBAAoB,CAAC,CAsD9B,CAAA;AAED,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC,2BAA2B,CAsJrC,CAAA"}
@@ -72,6 +72,7 @@ export const buildFormState = async args => {
72
72
  initialBlockFormState,
73
73
  mockRSCs,
74
74
  operation,
75
+ readOnly,
75
76
  renderAllFields,
76
77
  req,
77
78
  req: {
@@ -157,6 +158,7 @@ export const buildFormState = async args => {
157
158
  fields: {}
158
159
  },
159
160
  previousFormState: formState,
161
+ readOnly,
160
162
  renderAllFields,
161
163
  renderFieldFn: renderField,
162
164
  req,
@@ -1 +1 @@
1
- {"version":3,"file":"buildFormState.js","names":["formatErrors","getSelectMode","reduceFieldsToValues","fieldSchemasToFormState","renderField","getClientConfig","getClientSchemaMap","getSchemaMap","handleFormStateLocking","buildFormStateHandler","args","req","incomingUserSlug","user","collection","adminUserSlug","payload","config","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","res","buildFormState","err","logger","error","msg","message","id","idFromArgs","collectionSlug","data","incomingData","docPermissions","docPreferences","documentFormState","formState","globalSlug","initialBlockData","initialBlockFormState","mockRSCs","operation","renderAllFields","i18n","returnLockStatus","schemaPath","select","skipValidation","updateLastEdited","selectMode","undefined","schemaMap","clientSchemaMap","importMap","fieldOrEntityConfig","get","fields","type","documentData","blockData","Array","isArray","formStateResult","clientFieldSchemaMap","fieldSchemaMap","permissions","preferences","previousFormState","renderFieldFn","upload","file","lockedStateResult","lockedState","state"],"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientConfig,\n ClientUser,\n ErrorResult,\n FormState,\n ServerFunction,\n} from 'payload'\n\nimport { formatErrors } from 'payload'\nimport { getSelectMode, reduceFieldsToValues } from 'payload/shared'\n\nimport { fieldSchemasToFormState } from '../forms/fieldSchemasToFormState/index.js'\nimport { renderField } from '../forms/fieldSchemasToFormState/renderField.js'\nimport { getClientConfig } from './getClientConfig.js'\nimport { getClientSchemaMap } from './getClientSchemaMap.js'\nimport { getSchemaMap } from './getSchemaMap.js'\nimport { handleFormStateLocking } from './handleFormStateLocking.js'\n\nexport type LockedState = {\n isLocked: boolean\n lastEditedAt: string\n user: ClientUser | number | string\n}\n\ntype BuildFormStateSuccessResult = {\n clientConfig?: ClientConfig\n errors?: never\n indexPath?: string\n lockedState?: LockedState\n state: FormState\n}\n\ntype BuildFormStateErrorResult = {\n lockedState?: never\n state?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildFormStateResult = BuildFormStateErrorResult | BuildFormStateSuccessResult\n\nexport const buildFormStateHandler: ServerFunction<\n BuildFormStateArgs,\n Promise<BuildFormStateResult>\n> = async (args) => {\n const { req } = args\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n try {\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.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 req.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 res = await buildFormState(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 throw new Error('Unauthorized')\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildFormState = async (\n args: BuildFormStateArgs,\n): Promise<BuildFormStateSuccessResult> => {\n const {\n id: idFromArgs,\n collectionSlug,\n data: incomingData,\n docPermissions,\n docPreferences,\n documentFormState,\n formState,\n globalSlug,\n initialBlockData,\n initialBlockFormState,\n mockRSCs,\n operation,\n renderAllFields,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n },\n returnLockStatus,\n schemaPath = collectionSlug || globalSlug,\n select,\n skipValidation,\n updateLastEdited,\n } = args\n\n const selectMode = select ? getSelectMode(select) : undefined\n\n let data = incomingData\n\n if (!collectionSlug && !globalSlug) {\n throw new Error('Either collectionSlug or globalSlug must be provided')\n }\n\n const schemaMap = getSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n,\n })\n\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug,\n config: getClientConfig({ config, i18n, importMap: req.payload.importMap }),\n globalSlug,\n i18n,\n payload,\n schemaMap,\n })\n\n const id = collectionSlug ? idFromArgs : undefined\n const fieldOrEntityConfig = schemaMap.get(schemaPath)\n\n if (!fieldOrEntityConfig) {\n throw new Error(`Could not find \"${schemaPath}\" in the fieldSchemaMap`)\n }\n\n if (\n (!('fields' in fieldOrEntityConfig) ||\n !fieldOrEntityConfig.fields ||\n !fieldOrEntityConfig.fields.length) &&\n 'type' in fieldOrEntityConfig &&\n fieldOrEntityConfig.type !== 'blocks'\n ) {\n throw new Error(\n `The field found in fieldSchemaMap for \"${schemaPath}\" does not contain any subfields.`,\n )\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) {\n data = reduceFieldsToValues(formState, true)\n }\n\n let documentData = undefined\n if (documentFormState) {\n documentData = reduceFieldsToValues(documentFormState, true)\n }\n\n let blockData = initialBlockData\n if (initialBlockFormState) {\n blockData = reduceFieldsToValues(initialBlockFormState, true)\n }\n\n /**\n * When building state for sub schemas we need to adjust:\n * - `fields`\n * - `parentSchemaPath`\n * - `parentPath`\n *\n * Type assertion is fine because we wrap sub schemas in an array\n * so we can safely map over them within `fieldSchemasToFormState`\n */\n const fields = Array.isArray(fieldOrEntityConfig)\n ? fieldOrEntityConfig\n : 'fields' in fieldOrEntityConfig\n ? fieldOrEntityConfig.fields\n : [fieldOrEntityConfig]\n\n const formStateResult = await fieldSchemasToFormState({\n id,\n clientFieldSchemaMap: clientSchemaMap,\n collectionSlug,\n data,\n documentData,\n fields,\n fieldSchemaMap: schemaMap,\n initialBlockData: blockData,\n mockRSCs,\n operation,\n permissions: docPermissions?.fields || {},\n preferences: docPreferences || { fields: {} },\n previousFormState: formState,\n renderAllFields,\n renderFieldFn: renderField,\n req,\n schemaPath,\n select,\n selectMode,\n skipValidation,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (payload.collections[collectionSlug]?.config?.upload && formState.file) {\n formStateResult.file = formState.file\n }\n }\n\n let lockedStateResult\n\n if (returnLockStatus) {\n lockedStateResult = await handleFormStateLocking({\n id,\n collectionSlug,\n globalSlug,\n req,\n updateLastEdited,\n })\n }\n\n return {\n lockedState: lockedStateResult,\n state: formStateResult,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"buildFormState.js","names":["formatErrors","getSelectMode","reduceFieldsToValues","fieldSchemasToFormState","renderField","getClientConfig","getClientSchemaMap","getSchemaMap","handleFormStateLocking","buildFormStateHandler","args","req","incomingUserSlug","user","collection","adminUserSlug","payload","config","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","res","buildFormState","err","logger","error","msg","message","id","idFromArgs","collectionSlug","data","incomingData","docPermissions","docPreferences","documentFormState","formState","globalSlug","initialBlockData","initialBlockFormState","mockRSCs","operation","readOnly","renderAllFields","i18n","returnLockStatus","schemaPath","select","skipValidation","updateLastEdited","selectMode","undefined","schemaMap","clientSchemaMap","importMap","fieldOrEntityConfig","get","fields","type","documentData","blockData","Array","isArray","formStateResult","clientFieldSchemaMap","fieldSchemaMap","permissions","preferences","previousFormState","renderFieldFn","upload","file","lockedStateResult","lockedState","state"],"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientConfig,\n ClientUser,\n ErrorResult,\n FormState,\n ServerFunction,\n} from 'payload'\n\nimport { formatErrors } from 'payload'\nimport { getSelectMode, reduceFieldsToValues } from 'payload/shared'\n\nimport { fieldSchemasToFormState } from '../forms/fieldSchemasToFormState/index.js'\nimport { renderField } from '../forms/fieldSchemasToFormState/renderField.js'\nimport { getClientConfig } from './getClientConfig.js'\nimport { getClientSchemaMap } from './getClientSchemaMap.js'\nimport { getSchemaMap } from './getSchemaMap.js'\nimport { handleFormStateLocking } from './handleFormStateLocking.js'\n\nexport type LockedState = {\n isLocked: boolean\n lastEditedAt: string\n user: ClientUser | number | string\n}\n\ntype BuildFormStateSuccessResult = {\n clientConfig?: ClientConfig\n errors?: never\n indexPath?: string\n lockedState?: LockedState\n state: FormState\n}\n\ntype BuildFormStateErrorResult = {\n lockedState?: never\n state?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildFormStateResult = BuildFormStateErrorResult | BuildFormStateSuccessResult\n\nexport const buildFormStateHandler: ServerFunction<\n BuildFormStateArgs,\n Promise<BuildFormStateResult>\n> = async (args) => {\n const { req } = args\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n try {\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.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 req.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 res = await buildFormState(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 throw new Error('Unauthorized')\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildFormState = async (\n args: BuildFormStateArgs,\n): Promise<BuildFormStateSuccessResult> => {\n const {\n id: idFromArgs,\n collectionSlug,\n data: incomingData,\n docPermissions,\n docPreferences,\n documentFormState,\n formState,\n globalSlug,\n initialBlockData,\n initialBlockFormState,\n mockRSCs,\n operation,\n readOnly,\n renderAllFields,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n },\n returnLockStatus,\n schemaPath = collectionSlug || globalSlug,\n select,\n skipValidation,\n updateLastEdited,\n } = args\n\n const selectMode = select ? getSelectMode(select) : undefined\n\n let data = incomingData\n\n if (!collectionSlug && !globalSlug) {\n throw new Error('Either collectionSlug or globalSlug must be provided')\n }\n\n const schemaMap = getSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n,\n })\n\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug,\n config: getClientConfig({ config, i18n, importMap: req.payload.importMap }),\n globalSlug,\n i18n,\n payload,\n schemaMap,\n })\n\n const id = collectionSlug ? idFromArgs : undefined\n const fieldOrEntityConfig = schemaMap.get(schemaPath)\n\n if (!fieldOrEntityConfig) {\n throw new Error(`Could not find \"${schemaPath}\" in the fieldSchemaMap`)\n }\n\n if (\n (!('fields' in fieldOrEntityConfig) ||\n !fieldOrEntityConfig.fields ||\n !fieldOrEntityConfig.fields.length) &&\n 'type' in fieldOrEntityConfig &&\n fieldOrEntityConfig.type !== 'blocks'\n ) {\n throw new Error(\n `The field found in fieldSchemaMap for \"${schemaPath}\" does not contain any subfields.`,\n )\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) {\n data = reduceFieldsToValues(formState, true)\n }\n\n let documentData = undefined\n if (documentFormState) {\n documentData = reduceFieldsToValues(documentFormState, true)\n }\n\n let blockData = initialBlockData\n if (initialBlockFormState) {\n blockData = reduceFieldsToValues(initialBlockFormState, true)\n }\n\n /**\n * When building state for sub schemas we need to adjust:\n * - `fields`\n * - `parentSchemaPath`\n * - `parentPath`\n *\n * Type assertion is fine because we wrap sub schemas in an array\n * so we can safely map over them within `fieldSchemasToFormState`\n */\n const fields = Array.isArray(fieldOrEntityConfig)\n ? fieldOrEntityConfig\n : 'fields' in fieldOrEntityConfig\n ? fieldOrEntityConfig.fields\n : [fieldOrEntityConfig]\n\n const formStateResult = await fieldSchemasToFormState({\n id,\n clientFieldSchemaMap: clientSchemaMap,\n collectionSlug,\n data,\n documentData,\n fields,\n fieldSchemaMap: schemaMap,\n initialBlockData: blockData,\n mockRSCs,\n operation,\n permissions: docPermissions?.fields || {},\n preferences: docPreferences || { fields: {} },\n previousFormState: formState,\n readOnly,\n renderAllFields,\n renderFieldFn: renderField,\n req,\n schemaPath,\n select,\n selectMode,\n skipValidation,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (payload.collections[collectionSlug]?.config?.upload && formState.file) {\n formStateResult.file = formState.file\n }\n }\n\n let lockedStateResult\n\n if (returnLockStatus) {\n lockedStateResult = await handleFormStateLocking({\n id,\n collectionSlug,\n globalSlug,\n req,\n updateLastEdited,\n })\n }\n\n return {\n lockedState: lockedStateResult,\n state: formStateResult,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
- import type { ClientCollectionConfig, ClientConfig, CollectionConfig, CollectionPreferences, Column, Field, ImportMap, ListQuery, PaginatedDocs, Payload, SanitizedCollectionConfig } from 'payload';
1
+ import type { ClientCollectionConfig, ClientConfig, CollectionConfig, CollectionPreferences, Column, Field, ImportMap, ListQuery, PaginatedDocs, Payload, SanitizedCollectionConfig, ViewTypes } from 'payload';
2
2
  import { type I18nClient } from '@payloadcms/translations';
3
3
  import React from 'react';
4
4
  export declare const renderFilters: (fields: Field[], importMap: ImportMap) => Map<string, React.ReactNode>;
5
- export declare const renderTable: ({ clientCollectionConfig, clientConfig, collectionConfig, collections, columns: columnsFromArgs, customCellProps, data, enableRowSelections, groupByFieldPath, groupByValue, heading, i18n, key, orderableFieldName, payload, query, renderRowTypes, tableAppearance, useAsTitle, }: {
5
+ export declare const renderTable: ({ clientCollectionConfig, clientConfig, collectionConfig, collections, columns: columnsFromArgs, customCellProps, data, enableRowSelections, groupByFieldPath, groupByValue, heading, i18n, key, orderableFieldName, payload, query, renderRowTypes, tableAppearance, useAsTitle, viewType, }: {
6
6
  clientCollectionConfig?: ClientCollectionConfig;
7
7
  clientConfig?: ClientConfig;
8
8
  collectionConfig?: SanitizedCollectionConfig;
@@ -23,6 +23,7 @@ export declare const renderTable: ({ clientCollectionConfig, clientConfig, colle
23
23
  renderRowTypes?: boolean;
24
24
  tableAppearance?: "condensed" | "default";
25
25
  useAsTitle: CollectionConfig["admin"]["useAsTitle"];
26
+ viewType?: ViewTypes;
26
27
  }) => {
27
28
  columnState: Column[];
28
29
  Table: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"renderTable.d.ts","sourceRoot":"","sources":["../../src/utilities/renderTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EAEZ,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,EAEN,KAAK,EACL,SAAS,EACT,SAAS,EACT,aAAa,EACb,OAAO,EACP,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAsBzB,eAAO,MAAM,aAAa,WAChB,KAAK,EAAE,aACJ,SAAS,KACnB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAoB3B,CAAA;AAEH,eAAO,MAAM,WAAW,wRAoBrB;IACD,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACzC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CACpD,KAAG;IACF,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CA+MvB,CAAA"}
1
+ {"version":3,"file":"renderTable.d.ts","sourceRoot":"","sources":["../../src/utilities/renderTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EAEZ,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,EAEN,KAAK,EACL,SAAS,EACT,SAAS,EACT,aAAa,EACb,OAAO,EACP,yBAAyB,EACzB,SAAS,EACV,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAsBzB,eAAO,MAAM,aAAa,WAChB,KAAK,EAAE,aACJ,SAAS,KACnB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAoB3B,CAAA;AAEH,eAAO,MAAM,WAAW,kSAqBrB;IACD,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACzC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,KAAG;IACF,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CAiNvB,CAAA"}
@@ -38,7 +38,8 @@ export const renderTable = ({
38
38
  query,
39
39
  renderRowTypes,
40
40
  tableAppearance,
41
- useAsTitle
41
+ useAsTitle,
42
+ viewType
42
43
  }) => {
43
44
  // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.
44
45
  let columnState;
@@ -87,7 +88,8 @@ export const renderTable = ({
87
88
  customCellProps,
88
89
  payload,
89
90
  serverFields,
90
- useAsTitle
91
+ useAsTitle,
92
+ viewType
91
93
  };
92
94
  if (isPolymorphic) {
93
95
  columnState = buildColumnState({
@@ -1 +1 @@
1
- {"version":3,"file":"renderTable.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","flattenTopLevelFields","React","RenderServerComponent","GroupByHeader","GroupByPageControls","OrderableTable","Pill","SelectAll","SelectionProvider","SelectRow","SortHeader","SortRow","Table","filterFields","buildColumnState","getInitialColumns","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columns","columnsFromArgs","customCellProps","data","enableRowSelections","groupByFieldPath","groupByValue","heading","i18n","key","orderableFieldName","payload","query","renderRowTypes","tableAppearance","useAsTitle","columnState","clientFields","serverFields","isPolymorphic","isGroupingBy","Boolean","groupBy","collection","find","each","slug","some","push","serverCollectionConfig","config","filter","column","keepPresentationalFields","moveSubFieldsToTop","accessor","undefined","defaultColumns","sharedArgs","collectionSlug","dataType","docs","columnsToUse","unshift","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","_jsx","size","relationTo","labels","singular","_","rowData","className","join","_jsxs","totalDocs","appearance"],"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n CollectionPreferences,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n ListQuery,\n PaginatedDocs,\n Payload,\n SanitizedCollectionConfig,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, flattenTopLevelFields } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n GroupByHeader,\n GroupByPageControls,\n OrderableTable,\n Pill,\n SelectAll,\n SelectionProvider,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFields } from '../providers/TableColumns/buildColumnState/filterFields.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\nimport { getInitialColumns } from '../providers/TableColumns/getInitialColumns.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columns: columnsFromArgs,\n customCellProps,\n data,\n enableRowSelections,\n groupByFieldPath,\n groupByValue,\n heading,\n i18n,\n key = 'table',\n orderableFieldName,\n payload,\n query,\n renderRowTypes,\n tableAppearance,\n useAsTitle,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columns?: CollectionPreferences['columns']\n customCellProps?: Record<string, unknown>\n data: PaginatedDocs\n drawerSlug?: string\n enableRowSelections: boolean\n groupByFieldPath?: string\n groupByValue?: string\n heading?: string\n i18n: I18nClient\n key?: string\n orderableFieldName: string\n payload: Payload\n query?: ListQuery\n renderRowTypes?: boolean\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n const isGroupingBy = Boolean(collectionConfig?.admin?.groupBy && query?.groupBy)\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n for (const field of filterFields(clientCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n for (const field of filterFields(serverCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const columns: ColumnPreference[] = columnsFromArgs\n ? columnsFromArgs?.filter((column) =>\n flattenTopLevelFields(clientFields, {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n })?.some((field) => {\n const accessor =\n 'accessor' in field ? field.accessor : 'name' in field ? field.name : undefined\n return accessor === column.accessor\n }),\n )\n : getInitialColumns(\n isPolymorphic ? clientFields : filterFields(clientFields),\n useAsTitle,\n isPolymorphic ? [] : clientCollectionConfig?.admin?.defaultColumns,\n )\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'i18n'\n | 'payload'\n | 'serverFields'\n | 'useAsTitle'\n > = {\n clientFields,\n columns,\n enableRowSelections,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n serverFields,\n useAsTitle,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs: data.docs,\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs: data.docs,\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: data.docs.map((doc, i) => (\n <Pill key={i} size=\"small\">\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: data.docs.map((_, i) => <SelectRow key={i} rowData={data.docs[i]} />),\n } as Column)\n }\n\n if (isGroupingBy) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div\n className={['table-wrap', groupByValue !== undefined && `table-wrap--group-by`]\n .filter(Boolean)\n .join(' ')}\n key={key}\n >\n <SelectionProvider docs={data.docs} totalDocs={data.totalDocs}>\n <GroupByHeader\n collectionConfig={clientCollectionConfig}\n groupByFieldPath={groupByFieldPath}\n groupByValue={groupByValue}\n heading={heading}\n />\n <Table appearance={tableAppearance} columns={columnsToUse} data={data.docs} />\n <GroupByPageControls\n collectionConfig={clientCollectionConfig}\n data={data}\n groupByValue={groupByValue}\n />\n </SelectionProvider>\n </div>\n ),\n }\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <Table appearance={tableAppearance} columns={columnsToUse} data={data.docs} />\n </div>\n ),\n }\n }\n\n columnsToUse.unshift({\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: data.docs.map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={data.docs}\n />\n </div>\n ),\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"renderTable.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","flattenTopLevelFields","React","RenderServerComponent","GroupByHeader","GroupByPageControls","OrderableTable","Pill","SelectAll","SelectionProvider","SelectRow","SortHeader","SortRow","Table","filterFields","buildColumnState","getInitialColumns","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columns","columnsFromArgs","customCellProps","data","enableRowSelections","groupByFieldPath","groupByValue","heading","i18n","key","orderableFieldName","payload","query","renderRowTypes","tableAppearance","useAsTitle","viewType","columnState","clientFields","serverFields","isPolymorphic","isGroupingBy","Boolean","groupBy","collection","find","each","slug","some","push","serverCollectionConfig","config","filter","column","keepPresentationalFields","moveSubFieldsToTop","accessor","undefined","defaultColumns","sharedArgs","collectionSlug","dataType","docs","columnsToUse","unshift","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","_jsx","size","relationTo","labels","singular","_","rowData","className","join","_jsxs","totalDocs","appearance"],"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n CollectionPreferences,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n ListQuery,\n PaginatedDocs,\n Payload,\n SanitizedCollectionConfig,\n ViewTypes,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, flattenTopLevelFields } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n GroupByHeader,\n GroupByPageControls,\n OrderableTable,\n Pill,\n SelectAll,\n SelectionProvider,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFields } from '../providers/TableColumns/buildColumnState/filterFields.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\nimport { getInitialColumns } from '../providers/TableColumns/getInitialColumns.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columns: columnsFromArgs,\n customCellProps,\n data,\n enableRowSelections,\n groupByFieldPath,\n groupByValue,\n heading,\n i18n,\n key = 'table',\n orderableFieldName,\n payload,\n query,\n renderRowTypes,\n tableAppearance,\n useAsTitle,\n viewType,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columns?: CollectionPreferences['columns']\n customCellProps?: Record<string, unknown>\n data: PaginatedDocs\n drawerSlug?: string\n enableRowSelections: boolean\n groupByFieldPath?: string\n groupByValue?: string\n heading?: string\n i18n: I18nClient\n key?: string\n orderableFieldName: string\n payload: Payload\n query?: ListQuery\n renderRowTypes?: boolean\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n const isGroupingBy = Boolean(collectionConfig?.admin?.groupBy && query?.groupBy)\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n for (const field of filterFields(clientCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n for (const field of filterFields(serverCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const columns: ColumnPreference[] = columnsFromArgs\n ? columnsFromArgs?.filter((column) =>\n flattenTopLevelFields(clientFields, {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n })?.some((field) => {\n const accessor =\n 'accessor' in field ? field.accessor : 'name' in field ? field.name : undefined\n return accessor === column.accessor\n }),\n )\n : getInitialColumns(\n isPolymorphic ? clientFields : filterFields(clientFields),\n useAsTitle,\n isPolymorphic ? [] : clientCollectionConfig?.admin?.defaultColumns,\n )\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'i18n'\n | 'payload'\n | 'serverFields'\n | 'useAsTitle'\n | 'viewType'\n > = {\n clientFields,\n columns,\n enableRowSelections,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n serverFields,\n useAsTitle,\n viewType,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs: data.docs,\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs: data.docs,\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: data.docs.map((doc, i) => (\n <Pill key={i} size=\"small\">\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: data.docs.map((_, i) => <SelectRow key={i} rowData={data.docs[i]} />),\n } as Column)\n }\n\n if (isGroupingBy) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div\n className={['table-wrap', groupByValue !== undefined && `table-wrap--group-by`]\n .filter(Boolean)\n .join(' ')}\n key={key}\n >\n <SelectionProvider docs={data.docs} totalDocs={data.totalDocs}>\n <GroupByHeader\n collectionConfig={clientCollectionConfig}\n groupByFieldPath={groupByFieldPath}\n groupByValue={groupByValue}\n heading={heading}\n />\n <Table appearance={tableAppearance} columns={columnsToUse} data={data.docs} />\n <GroupByPageControls\n collectionConfig={clientCollectionConfig}\n data={data}\n groupByValue={groupByValue}\n />\n </SelectionProvider>\n </div>\n ),\n }\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <Table appearance={tableAppearance} columns={columnsToUse} data={data.docs} />\n </div>\n ),\n }\n }\n\n columnsToUse.unshift({\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: data.docs.map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={data.docs}\n />\n </div>\n ),\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CollectionFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAmB,MAAM,OAAO,CAAA;AA2BvC,OAAO,cAAc,CAAA;AAIrB,wBAAgB,2BAA2B,CAAC,EAC1C,wBAAwB,EAAE,qBAAqB,EAC/C,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,MAAM,EACN,IAAI,EACJ,UAAU,EACV,GAAG,WAAW,EACf,EAAE,yBAAyB,qBAkB3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CollectionFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAyBvC,OAAO,cAAc,CAAA;AAQrB,wBAAgB,2BAA2B,CAAC,EAC1C,wBAAwB,EAAE,qBAAqB,EAC/C,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,MAAM,EACN,IAAI,EACJ,UAAU,EACV,GAAG,WAAW,EACf,EAAE,yBAAyB,qBAkB3B"}
@@ -14,9 +14,11 @@ import { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelec
14
14
  import { SortByPill } from '../../elements/FolderView/SortByPill/index.js';
15
15
  import { ToggleViewButtons } from '../../elements/FolderView/ToggleViewButtons/index.js';
16
16
  import { Gutter } from '../../elements/Gutter/index.js';
17
- import { ListFolderPills } from '../../elements/ListFolderPills/index.js';
18
17
  import { ListHeader } from '../../elements/ListHeader/index.js';
19
18
  import { ListBulkUploadButton, ListCreateNewDocInFolderButton } from '../../elements/ListHeader/TitleActions/index.js';
19
+ import { ByFolderPill } from '../../elements/ListHeaderTabs/ByFolderPill.js';
20
+ import { DefaultListPill } from '../../elements/ListHeaderTabs/DefaultListPill.js';
21
+ import { TrashPill } from '../../elements/ListHeaderTabs/TrashPill.js';
20
22
  import { NoListResults } from '../../elements/NoListResults/index.js';
21
23
  import { SearchBar } from '../../elements/SearchBar/index.js';
22
24
  import { useStepNav } from '../../elements/StepNav/index.js';
@@ -25,11 +27,11 @@ import { useEditDepth } from '../../providers/EditDepth/index.js';
25
27
  import { FolderProvider, useFolder } from '../../providers/Folders/index.js';
26
28
  import { usePreferences } from '../../providers/Preferences/index.js';
27
29
  import { useRouteCache } from '../../providers/RouteCache/index.js';
30
+ import './index.scss';
28
31
  import { useRouteTransition } from '../../providers/RouteTransition/index.js';
29
32
  import { useTranslation } from '../../providers/Translation/index.js';
30
33
  import { useWindowInfo } from '../../providers/WindowInfo/index.js';
31
34
  import { ListSelection } from './ListSelection/index.js';
32
- import './index.scss';
33
35
  const baseClass = 'collection-folder-list';
34
36
  export function DefaultCollectionFolderView({
35
37
  allCollectionFolderSlugs: folderCollectionSlugs,
@@ -262,11 +264,19 @@ function CollectionFolderViewInContext(props) {
262
264
  disableBulkDelete,
263
265
  disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,
264
266
  folderAssignedCollections: Array.isArray(folderType) ? folderType : [collectionSlug]
265
- }, "list-selection"), config.folders && collectionConfig.folders && _jsx(ListFolderPills, {
267
+ }, "list-selection"), config.folders && collectionConfig.folders && _jsxs(Fragment, {
268
+ children: [_jsx(DefaultListPill, {
269
+ collectionConfig,
270
+ viewType: "folders"
271
+ }, "list-header-default-button"), _jsx(ByFolderPill, {
272
+ collectionConfig,
273
+ folderCollectionSlug,
274
+ viewType: "folders"
275
+ }, "list-header-by-folder-button")]
276
+ }, "list-header-folder-view-buttons"), collectionConfig.trash && _jsx(TrashPill, {
266
277
  collectionConfig,
267
- folderCollectionSlug,
268
278
  viewType: "folders"
269
- }, "list-header-buttons")].filter(Boolean),
279
+ }, "list-header-trash-button")].filter(Boolean),
270
280
  AfterListHeaderContent: Description,
271
281
  title: getTranslation(labels?.plural, i18n),
272
282
  TitleActions: [allowCreateCollectionSlugs.length && _jsx(ListCreateNewDocInFolderButton, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","useRouter","formatAdminURL","React","Fragment","DroppableBreadcrumb","ColoredFolderIcon","CurrentFolderActions","DragOverlaySelection","SortByPill","ToggleViewButtons","Gutter","ListFolderPills","ListHeader","ListBulkUploadButton","ListCreateNewDocInFolderButton","NoListResults","SearchBar","useStepNav","useConfig","useEditDepth","FolderProvider","useFolder","usePreferences","useRouteCache","useRouteTransition","useTranslation","useWindowInfo","ListSelection","baseClass","DefaultCollectionFolderView","allCollectionFolderSlugs","folderCollectionSlugs","allowCreateCollectionSlugs","baseFolderPath","breadcrumbs","documents","folderFieldName","folderID","FolderResultsComponent","search","sort","subfolders","restOfProps","_jsx","CollectionFolderViewInContext","props","$","AfterFolderList","AfterFolderListTable","BeforeFolderList","BeforeFolderListTable","collectionSlug","Description","disableBulkDelete","disableBulkEdit","viewPreference","config","getEntityConfig","i18n","t","drawerDepth","setStepNav","setPreference","dragOverlayItem","folderCollectionConfig","folderCollectionSlug","folderType","getSelectedItems","moveToFolder","refineFolderData","selectedItemKeys","setIsDragging","router","startRouteTransition","clearRouteCache","collectionConfig","labels","upload","isUploadCollection","Boolean","isBulkUploadEnabled","bulkUpload","breakpoints","t0","s","smallBreak","t1","event","over","data","current","type","itemsToMove","toFolderID","id","t2","error","console","onDragEnd","handleSetViewType","view","plural","t3","folders","routes","admin","useEffect","length","label","_jsxs","className","children","filter","join","onClick","push","adminRoute","path","slug","map","crumb","crumbIndex","name","totalDocsAndSubfolders","t4","search_0","query","updateURL","t5","size","item","selectedCount","DndEventListener","Actions","folderAssignedCollections","Array","isArray","viewType","AfterListHeaderContent","title","TitleActions","buttonLabel","collectionSlugs","onCreateSuccess","slugPrefix","hasCreatePermission","includes","activeView","setActiveView","onSearchChange","searchQueryParam","singular","toLowerCase","Message","onDragCancel","onDragStart"],"sources":["../../../src/views/CollectionFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DragEndEvent } from '@dnd-kit/core'\nimport type { FolderListViewClientProps } from 'payload'\n\nimport { useDndMonitor } from '@dnd-kit/core'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js'\nimport { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js'\nimport { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js'\nimport { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelection/index.js'\nimport { SortByPill } from '../../elements/FolderView/SortByPill/index.js'\nimport { ToggleViewButtons } from '../../elements/FolderView/ToggleViewButtons/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListFolderPills } from '../../elements/ListFolderPills/index.js'\nimport { ListHeader } from '../../elements/ListHeader/index.js'\nimport {\n ListBulkUploadButton,\n ListCreateNewDocInFolderButton,\n} from '../../elements/ListHeader/TitleActions/index.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { SearchBar } from '../../elements/SearchBar/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { FolderProvider, useFolder } from '../../providers/Folders/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from './ListSelection/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-folder-list'\n\nexport function DefaultCollectionFolderView({\n allCollectionFolderSlugs: folderCollectionSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath,\n breadcrumbs,\n documents,\n folderFieldName,\n folderID,\n FolderResultsComponent,\n search,\n sort,\n subfolders,\n ...restOfProps\n}: FolderListViewClientProps) {\n return (\n <FolderProvider\n allCollectionFolderSlugs={folderCollectionSlugs}\n allowCreateCollectionSlugs={allowCreateCollectionSlugs}\n baseFolderPath={baseFolderPath}\n breadcrumbs={breadcrumbs}\n documents={documents}\n folderFieldName={folderFieldName}\n folderID={folderID}\n FolderResultsComponent={FolderResultsComponent}\n search={search}\n sort={sort}\n subfolders={subfolders}\n >\n <CollectionFolderViewInContext {...restOfProps} />\n </FolderProvider>\n )\n}\n\ntype CollectionFolderViewInContextProps = Omit<\n FolderListViewClientProps,\n | 'allCollectionFolderSlugs'\n | 'allowCreateCollectionSlugs'\n | 'baseFolderPath'\n | 'breadcrumbs'\n | 'documents'\n | 'folderFieldName'\n | 'folderID'\n | 'FolderResultsComponent'\n | 'subfolders'\n>\n\nfunction CollectionFolderViewInContext(props: CollectionFolderViewInContextProps) {\n const {\n AfterFolderList,\n AfterFolderListTable,\n BeforeFolderList,\n BeforeFolderListTable,\n collectionSlug,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n search,\n viewPreference,\n } = props\n\n const { config, getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n const drawerDepth = useEditDepth()\n const { setStepNav } = useStepNav()\n const { setPreference } = usePreferences()\n const {\n allowCreateCollectionSlugs,\n breadcrumbs,\n documents,\n dragOverlayItem,\n folderCollectionConfig,\n folderCollectionSlug,\n FolderResultsComponent,\n folderType,\n getSelectedItems,\n moveToFolder,\n refineFolderData,\n selectedItemKeys,\n setIsDragging,\n subfolders,\n } = useFolder()\n\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n const isUploadCollection = Boolean(upload)\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const onDragEnd = React.useCallback(\n async (event: DragEndEvent) => {\n if (!event.over) {\n return\n }\n\n if (event.over.data.current.type === 'folder' && 'id' in event.over.data.current) {\n try {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: event.over.data.current.id,\n })\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving items:', error)\n }\n\n clearRouteCache()\n }\n },\n [moveToFolder, getSelectedItems, clearRouteCache],\n )\n\n const handleSetViewType = React.useCallback(\n async (view: 'grid' | 'list') => {\n await setPreference(`${collectionSlug}-collection-folder`, {\n viewPreference: view,\n })\n clearRouteCache()\n },\n [collectionSlug, setPreference, clearRouteCache],\n )\n\n React.useEffect(() => {\n if (!drawerDepth) {\n setStepNav([\n !breadcrumbs.length\n ? {\n label: (\n <div className={`${baseClass}__step-nav-icon-label`} key=\"root\">\n <ColoredFolderIcon />\n {getTranslation(labels?.plural, i18n)}\n </div>\n ),\n }\n : {\n label: (\n <DroppableBreadcrumb\n className={[\n `${baseClass}__step-nav-droppable`,\n `${baseClass}__step-nav-icon-label`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={null}\n key=\"root\"\n onClick={() => {\n startRouteTransition(() => {\n if (config.folders) {\n router.push(\n formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${config.folders.slug}`,\n }),\n )\n }\n })\n }}\n >\n <ColoredFolderIcon />\n {getTranslation(labels?.plural, i18n)}\n </DroppableBreadcrumb>\n ),\n },\n ...breadcrumbs.map((crumb, crumbIndex) => {\n return {\n label:\n crumbIndex === breadcrumbs.length - 1 ? (\n crumb.name\n ) : (\n <DroppableBreadcrumb\n className={`${baseClass}__step-nav-droppable`}\n id={crumb.id}\n key={crumb.id}\n onClick={() => {\n startRouteTransition(() => {\n if (config.folders) {\n router.push(\n formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${config.folders.slug}/${crumb.id}`,\n }),\n )\n }\n })\n }}\n >\n {crumb.name}\n </DroppableBreadcrumb>\n ),\n }\n }),\n ])\n }\n }, [\n breadcrumbs,\n collectionSlug,\n config.folders,\n config.routes.admin,\n drawerDepth,\n i18n,\n labels?.plural,\n router,\n setStepNav,\n startRouteTransition,\n ])\n\n const totalDocsAndSubfolders = documents.length + subfolders.length\n\n return (\n <Fragment>\n <DndEventListener onDragEnd={onDragEnd} setIsDragging={setIsDragging} />\n\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n {BeforeFolderList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n Actions={[\n !smallBreak && (\n <ListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={collectionConfig.disableBulkEdit ?? disableBulkEdit}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"list-selection\"\n />\n ),\n config.folders && collectionConfig.folders && (\n <ListFolderPills\n collectionConfig={collectionConfig}\n folderCollectionSlug={folderCollectionSlug}\n key=\"list-header-buttons\"\n viewType=\"folders\"\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n title={getTranslation(labels?.plural, i18n)}\n TitleActions={[\n allowCreateCollectionSlugs.length && (\n <ListCreateNewDocInFolderButton\n buttonLabel={t('general:createNew')}\n collectionSlugs={allowCreateCollectionSlugs}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-new-button\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--header-pill\"\n />\n ),\n <ListBulkUploadButton\n collectionSlug={collectionSlug}\n hasCreatePermission={allowCreateCollectionSlugs.includes(collectionSlug)}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"bulk-upload-button\"\n />,\n ].filter(Boolean)}\n />\n <SearchBar\n Actions={[\n <SortByPill key=\"sort-by-pill\" />,\n <ToggleViewButtons\n activeView={viewPreference}\n key=\"toggle-view-buttons\"\n setActiveView={handleSetViewType}\n />,\n <CurrentFolderActions key=\"current-folder-actions\" />,\n ].filter(Boolean)}\n label={t('general:searchBy', {\n label: t('general:name'),\n })}\n onSearchChange={(search) => refineFolderData({ query: { search }, updateURL: true })}\n searchQueryParam={search}\n />\n {BeforeFolderListTable}\n {totalDocsAndSubfolders > 0 && FolderResultsComponent}\n {totalDocsAndSubfolders === 0 && (\n <NoListResults\n Actions={[\n allowCreateCollectionSlugs.includes(folderCollectionSlug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n collectionSlugs={[folderCollectionConfig.slug]}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-folder\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-folder--no-results\"\n />\n ),\n allowCreateCollectionSlugs.includes(collectionSlug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${t('general:document').toLowerCase()}`}\n collectionSlugs={[collectionSlug]}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-document\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--no-results\"\n />\n ),\n ].filter(Boolean)}\n Message={\n <p>\n {i18n.t('general:noResults', {\n label: `${getTranslation(labels?.plural, i18n)} ${t('general:or').toLowerCase()} ${getTranslation(\n folderCollectionConfig.labels?.plural,\n i18n,\n )}`,\n })}\n </p>\n }\n />\n )}\n {AfterFolderListTable}\n </Gutter>\n {AfterFolderList}\n </div>\n {selectedItemKeys.size > 0 && dragOverlayItem && (\n <DragOverlaySelection item={dragOverlayItem} selectedCount={selectedItemKeys.size} />\n )}\n </Fragment>\n )\n}\n\nfunction DndEventListener({ onDragEnd, setIsDragging }) {\n useDndMonitor({\n onDragCancel() {\n setIsDragging(false)\n },\n onDragEnd(event) {\n setIsDragging(false)\n onDragEnd(event)\n },\n onDragStart() {\n setIsDragging(true)\n },\n })\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAKA,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,UAAU,QAAQ;AAC3B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,MAAM,QAAQ;AACvB,SAASC,eAAe,QAAQ;AAChC,SAASC,UAAU,QAAQ;AAC3B,SACEC,oBAAoB,EACpBC,8BAA8B,QACzB;AACP,SAASC,aAAa,QAAQ;AAC9B,SAASC,SAAS,QAAQ;AAC1B,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,EAAEC,SAAS,QAAQ;AAC1C,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,4BAA4B;EAC1CC,wBAAA,EAA0BC,qBAAqB;EAC/CC,0BAA0B;EAC1BC,cAAc;EACdC,WAAW;EACXC,SAAS;EACTC,eAAe;EACfC,QAAQ;EACRC,sBAAsB;EACtBC,MAAM;EACNC,IAAI;EACJC,UAAU;EACV,GAAGC;AAAA,CACuB;EAC1B,oBACEC,IAAA,CAACvB,cAAA;IACCU,wBAAA,EAA0BC,qBAAA;IAC1BC,0BAAA,EAA4BA,0BAAA;IAC5BC,cAAA,EAAgBA,cAAA;IAChBC,WAAA,EAAaA,WAAA;IACbC,SAAA,EAAWA,SAAA;IACXC,eAAA,EAAiBA,eAAA;IACjBC,QAAA,EAAUA,QAAA;IACVC,sBAAA,EAAwBA,sBAAA;IACxBC,MAAA,EAAQA,MAAA;IACRC,IAAA,EAAMA,IAAA;IACNC,UAAA,EAAYA,UAAA;cAEZ,aAAAE,IAAA,CAACC,6BAAA;MAA+B,GAAGF;;;AAGzC;AAeA,SAAAE,8BAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAjD,EAAA;EACE;IAAAkD,eAAA;IAAAC,oBAAA;IAAAC,gBAAA;IAAAC,qBAAA;IAAAC,cAAA;IAAAC,WAAA;IAAAC,iBAAA;IAAAC,eAAA;IAAAf,MAAA;IAAAgB;EAAA,IAWIV,KAAA;EAEJ;IAAAW,MAAA;IAAAC;EAAA,IAAoCvC,SAAA;EACpC;IAAAwC,IAAA;IAAAC;EAAA,IAAoBlC,cAAA;EACpB,MAAAmC,WAAA,GAAoBzC,YAAA;EACpB;IAAA0C;EAAA,IAAuB5C,UAAA;EACvB;IAAA6C;EAAA,IAA0BxC,cAAA;EAC1B;IAAAU,0BAAA;IAAAE,WAAA;IAAAC,SAAA;IAAA4B,eAAA;IAAAC,sBAAA;IAAAC,oBAAA;IAAA3B,sBAAA;IAAA4B,UAAA;IAAAC,gBAAA;IAAAC,YAAA;IAAAC,gBAAA;IAAAC,gBAAA;IAAAC,aAAA;IAAA9B;EAAA,IAeIpB,SAAA;EAEJ,MAAAmD,MAAA,GAAexE,SAAA;EACf;IAAAyE;EAAA,IAAiCjD,kBAAA;EACjC;IAAAkD;EAAA,IAA4BnD,aAAA;EAE5B,MAAAoD,gBAAA,GAAyBlB,eAAA;IAAAN;EAAA,CAAiC;EAE1D;IAAAyB,MAAA;IAAAC;EAAA,IAA2BF,gBAAA;EAC3B,MAAAG,kBAAA,GAA2BC,OAAA,CAAQF,MAAA;EACnC,MAAAG,mBAAA,GAA4BF,kBAAA,IAAsBH,gBAAA,CAAAE,MAAA,CAAAI,UAAkC;EAEpF;IAAAC,WAAA,EAAAC;EAAA,IAEIzD,aAAA;EADW;IAAA0D,CAAA,EAAAC;EAAA,IAAAF,EAAiB;EAAA,IAAAG,EAAA;EAAA,IAAAxC,CAAA,QAAA4B,eAAA,IAAA5B,CAAA,QAAAqB,gBAAA,IAAArB,CAAA,QAAAsB,YAAA;IAI9BkB,EAAA,SAAAC,KAAA;MAAA,KACOA,KAAA,CAAAC,IAAA;QAAA;MAAA;MAAA,IAIDD,KAAA,CAAAC,IAAA,CAAAC,IAAA,CAAAC,OAAA,CAAAC,IAAA,KAAiC,YAAY,QAAQJ,KAAA,CAAAC,IAAA,CAAAC,IAAA,CAAAC,OAAuB;QAAA;QAAA;UAAA,MAEtEtB,YAAA;YAAAwB,WAAA,EACSzB,gBAAA;YAAA0B,UAAA,EACDN,KAAA,CAAAC,IAAA,CAAAC,IAAA,CAAAC,OAAA,CAAAI;UAAA,CACd;QAAA,SAAAC,EAAA;UACOC,KAAA,CAAAA,KAAA,CAAAA,CAAA,CAAAA,EAAA;UAEPC,OAAA,CAAAD,KAAA,CAAc,uBAAuBA,KAAA;QAAA;QAGvCtB,eAAA;MAAA;IAAA;IAEJ5B,CAAA,MAAA4B,eAAA;IAAA5B,CAAA,MAAAqB,gBAAA;IAAArB,CAAA,MAAAsB,YAAA;IAAAtB,CAAA,MAAAwC,EAAA;EAAA;IAAAA,EAAA,GAAAxC,CAAA;EAAA;EAnBF,MAAAoD,SAAA,GAAkBZ,EAoBiC;EAGnD,MAAAa,iBAAA,SAAAC,IAAA;IAAA,MAEUtC,aAAA,CAAc,GAAGX,cAAA,oBAAkC;MAAAI,cAAA,EACvC6C;IAAA,CAClB;IACA1B,eAAA;EAAA;EAmFF,MAAAqB,EAAA,GAAAnB,MAAA,EAAAyB,MAAA;EAAQ,IAAAC,EAAA;EAAA,IAAAxD,CAAA,QAAAZ,WAAA,IAAAY,CAAA,QAAAK,cAAA,IAAAL,CAAA,QAAAU,MAAA,CAAA+C,OAAA,IAAAzD,CAAA,QAAAU,MAAA,CAAAgD,MAAA,CAAAC,KAAA,IAAA3D,CAAA,QAAAc,WAAA,IAAAd,CAAA,QAAAY,IAAA,IAAAZ,CAAA,SAAA0B,MAAA,IAAA1B,CAAA,SAAAe,UAAA,IAAAf,CAAA,SAAA2B,oBAAA,IAAA3B,CAAA,SAAAiD,EAAA;IAPPO,EAAA,IACDpE,WAAA,EACAiB,cAAA,EACAK,MAAA,CAAA+C,OAAA,EACA/C,MAAA,CAAAgD,MAAA,CAAAC,KAAA,EACA7C,WAAA,EACAF,IAAA,EACAqC,EAAQ,EACRvB,MAAA,EACAX,UAAA,EACAY,oBAAA;IACD3B,CAAA,MAAAZ,WAAA;IAAAY,CAAA,MAAAK,cAAA;IAAAL,CAAA,MAAAU,MAAA,CAAA+C,OAAA;IAAAzD,CAAA,MAAAU,MAAA,CAAAgD,MAAA,CAAAC,KAAA;IAAA3D,CAAA,MAAAc,WAAA;IAAAd,CAAA,MAAAY,IAAA;IAAAZ,CAAA,OAAA0B,MAAA;IAAA1B,CAAA,OAAAe,UAAA;IAAAf,CAAA,OAAA2B,oBAAA;IAAA3B,CAAA,OAAAiD,EAAA;IAAAjD,CAAA,OAAAwD,EAAA;EAAA;IAAAA,EAAA,GAAAxD,CAAA;EAAA;EAlFD5C,KAAA,CAAAwG,SAAA;IAAA,KACO9C,WAAA;MACHC,UAAA,EACE,CAAC3B,WAAA,CAAAyE,MAAA;QAAAC,KAAA,EAGOC,KAAA,CAAC;UAAAC,SAAA,EAAe,GAAAlF,SAAA,uBAAmC;UAAAmF,QAAA,GACjDpE,IAAA,CAAAtC,iBAAA,IAAC,GACAN,cAAA,CAAe6E,MAAA,EAAAyB,MAAA,EAAgB3C,IAAA;QAAA,GAFuB;MAAA;QAAAkD,KAAA,EAQzDC,KAAA,CAAAzG,mBAAA;UAAA0G,SAAA,EACa,CACT,GAAAlF,SAAA,sBAAkC,EAClC,GAAAA,SAAA,uBAAmC,EAAAoF,MAAA,CAAAjC,OAE3B,EAAAkC,IAAA,CACF;UAAAnB,EAAA;UAAAoB,OAAA,EAAAA,CAAA;YAINzC,oBAAA;cAAA,IACMjB,MAAA,CAAA+C,OAAA;gBACF/B,MAAA,CAAA2C,IAAA,CACElH,cAAA;kBAAAmH,UAAA,EACc5D,MAAA,CAAAgD,MAAA,CAAAC,KAAA;kBAAAY,IAAA,EACN,gBAAgBlE,cAAA,IAAkBK,MAAA,CAAA+C,OAAA,CAAAe,IAAA;gBAAqB,CAC/D;cAAA;YAAA,CAGN;UAAA;UAAAP,QAAA,GAGFpE,IAAA,CAAAtC,iBAAA,IAAC,GACAN,cAAA,CAAe6E,MAAA,EAAAyB,MAAA,EAAgB3C,IAAA;QAAA,GAf5B;MAAA,CAkBV,KACDxB,WAAA,CAAAqF,GAAA,EAAAC,KAAA,EAAAC,UAAA;QAAAb,KAAA,EAGGa,UAAA,KAAevF,WAAA,CAAAyE,MAAA,IAAqB,GAClCa,KAAA,CAAAE,IAAA,GAEA/E,IAAA,CAAAvC,mBAAA;UAAA0G,SAAA,EACa,GAAAlF,SAAA,sBAAkC;UAAAkE,EAAA,EACzC0B,KAAA,CAAA1B,EAAA;UAAAoB,OAAA,EAAAA,CAAA;YAGFzC,oBAAA;cAAA,IACMjB,MAAA,CAAA+C,OAAA;gBACF/B,MAAA,CAAA2C,IAAA,CACElH,cAAA;kBAAAmH,UAAA,EACc5D,MAAA,CAAAgD,MAAA,CAAAC,KAAA;kBAAAY,IAAA,EACN,gBAAgBlE,cAAA,IAAkBK,MAAA,CAAA+C,OAAA,CAAAe,IAAA,IAAuBE,KAAA,CAAA1B,EAAA;gBAAU,CAC3E;cAAA;YAAA,CAGN;UAAA;UAAAiB,QAAA,EAGDS,KAAA,CAAAE;QAAA,GAdIF,KAAA,CAAA1B,EAAQ;MAAA,EAkBvB,EACD;IAAA;EAAA,GAEFQ,EAWF;EAED,MAAAqB,sBAAA,GAA+BxF,SAAA,CAAAwE,MAAA,GAAmBlE,UAAA,CAAAkE,MAAiB;EAAA,IAAAiB,EAAA;EAAA,IAAA9E,CAAA,SAAAuB,gBAAA;IAkEzCuD,EAAA,GAAAC,QAAA,IAAYxD,gBAAA;MAAAyD,KAAA;QAAAvF,MAAA,EAA4BA;MAAA;MAAAwF,SAAA;IAAA,CAA0B;IAAAjF,CAAA,OAAAuB,gBAAA;IAAAvB,CAAA,OAAA8E,EAAA;EAAA;IAAAA,EAAA,GAAA9E,CAAA;EAAA;EAAA,IAAAkF,EAAA;EAAA,IAAAlF,CAAA,SAAAiB,eAAA,IAAAjB,CAAA,SAAAwB,gBAAA,CAAA2D,IAAA;IAiDvFD,EAAA,GAAA1D,gBAAA,CAAA2D,IAAA,IAAwB,IAAKlE,eAAA,IAC5BpB,IAAA,CAAApC,oBAAA;MAAA2H,IAAA,EAA4BnE,eAAA;MAAAoE,aAAA,EAAgC7D,gBAAA,CAAA2D;IAAA,C;;;;;;;SAjHhEpB,KAAA,CAAA1G,QAAA;IAAA4G,QAAA,GACEpE,IAAA,CAAAyF,gBAAA;MAAAlC,SAAA;MAAA3B;IAAA,C,GAEAsC,KAAA,CAAC;MAAAC,SAAA,EAAe,GAAAlF,SAAA,IAAAA,SAAA,KAA8BuB,cAAA,EAAgB;MAAA4D,QAAA,GAC3D9D,gBAAA,EACD4D,KAAA,CAAAnG,MAAA;QAAAoG,SAAA,EAAmB,GAAAlF,SAAA,QAAoB;QAAAmF,QAAA,GACrCpE,IAAA,CAAA/B,UAAA;UAAAyH,OAAA,EACW,CACP,CAAChD,UAAA,IACC1C,IAAA,CAAAhB,aAAA;YAAA0B,iBAAA;YAAAC,eAAA,EAEmBqB,gBAAA,CAAArB,eAAA,IAAoCA,eAAA;YAAAgF,yBAAA,EAEnDC,KAAA,CAAAC,OAAA,CAActE,UAAA,IAAcA,UAAA,IAAcf,cAAA;UAAe,GAEvD,mBAGRK,MAAA,CAAA+C,OAAA,IAAkB5B,gBAAA,CAAA4B,OAAwB,IACxC5D,IAAA,CAAAhC,eAAA;YAAAgE,gBAAA;YAAAV,oBAAA;YAAAwE,QAAA,EAIW;UAAA,GADL,wBAAAzB,MAAA,CAAAjC,OAID;UAAA2D,sBAAA,EACetF,WAAA;UAAAuF,KAAA,EACjB5I,cAAA,CAAe6E,MAAA,EAAAyB,MAAA,EAAgB3C,IAAA;UAAAkF,YAAA,EACxB,CACZ5G,0BAAA,CAAA2E,MAAA,IACEhE,IAAA,CAAA7B,8BAAA;YAAA+H,WAAA,EACelF,CAAA,CAAE;YAAAmF,eAAA,EACE9G,0BAAA;YAAAsG,yBAAA,EAEfC,KAAA,CAAAC,OAAA,CAActE,UAAA,IAAcA,UAAA,IAAcf,cAAA,CAAe;YAAA4F,eAAA,EAG1CrE,eAAA;YAAAsE,UAAA,EACN;UAAA,GAFP,sBAKRrG,IAAA,CAAA9B,oBAAA;YAAAsC,cAAA;YAAA8F,mBAAA,EAEuBjH,0BAAA,CAAAkH,QAAA,CAAoC/F,cAAA;YAAA6B;UAAA,GAErD,uBAAAgC,MAAA,CAAAjC,OAEC;QAAA,C,GAEXpC,IAAA,CAAA3B,SAAA;UAAAqH,OAAA,EACW,CACP1F,IAAA,CAAAnC,UAAA,MAAgB,iBAChBmC,IAAA,CAAAlC,iBAAA;YAAA0I,UAAA,EACc5F,cAAA;YAAA6F,aAAA,EAEGjD;UAAA,GADX,wBAGNxD,IAAA,CAAArC,oBAAA,MAA0B,2BAAA0G,MAAA,CAAAjC,OACnB;UAAA6B,KAAA,EACFjD,CAAA,CAAE;YAAAiD,KAAA,EACAjD,CAAA,CAAE;UAAA,CACX;UAAA0F,cAAA,EACgBzB,EAAkE;UAAA0B,gBAAA,EAChE/G;QAAA,C,GAEnBW,qBAAA,EACAyE,sBAAA,IAAyB,IAAKrF,sBAAA,EAC9BqF,sBAAA,MAA2B,IAC1BhF,IAAA,CAAA5B,aAAA;UAAAsH,OAAA,EACW,CACPrG,0BAAA,CAAAkH,QAAA,CAAoCjF,oBAAA,KAClCtB,IAAA,CAAA7B,8BAAA;YAAA+H,WAAA,EACe,GAAGlF,CAAA,CAAE,qBAAqB5D,cAAA,CAAeiE,sBAAA,CAAAY,MAAA,EAAA2E,QAAA,EAAyC7F,IAAA,EAAA8F,WAAA,CAAiB,GAAI;YAAAV,eAAA,GAClG9E,sBAAA,CAAAsD,IAAA;YAAAgB,yBAAA,EAEhBC,KAAA,CAAAC,OAAA,CAActE,UAAA,IAAcA,UAAA,IAAcf,cAAA,CAAe;YAAA4F,eAAA,EAG1CrE,eAAA;YAAAsE,UAAA,EACN;UAAA,GAFP,kBAKRhH,0BAAA,CAAAkH,QAAA,CAAoC/F,cAAA,KAClCR,IAAA,CAAA7B,8BAAA;YAAA+H,WAAA,EACe,GAAGlF,CAAA,CAAE,qBAAqBA,CAAA,CAAE,oBAAA6F,WAAA,CAA+B,GAAI;YAAAV,eAAA,GAC1D3F,cAAA;YAAAmF,yBAAA,EAEhBC,KAAA,CAAAC,OAAA,CAActE,UAAA,IAAcA,UAAA,IAAcf,cAAA,CAAe;YAAA4F,eAAA,EAG1CrE,eAAA;YAAAsE,UAAA,EACN;UAAA,GAFP,oBAAAhC,MAAA,CAAAjC,OAKD;UAAA0E,OAAA,EAEP9G,IAAA,CAAC;YAAAoE,QAAA,EACErD,IAAA,CAAAC,CAAA,CAAO;cAAAiD,KAAA,EACC,GAAG7G,cAAA,CAAe6E,MAAA,EAAAyB,MAAA,EAAgB3C,IAAA,KAASC,CAAA,CAAE,cAAA6F,WAAA,CAAyB,KAAMzJ,cAAA,CACjFiE,sBAAA,CAAAY,MAAA,EAAAyB,MAAA,EACA3C,IAAA;YACC,CACL;UAAA,C;YAKPV,oBAAA;MAAA,C,GAEFD,eAAA;IAAA,C,GAEFiF,E;;;AAOP,SAAAI,iBAAAjD,EAAA;EAAA,MAAArC,CAAA,GAAAjD,EAAA;EAA0B;IAAAqG,SAAA;IAAA3B;EAAA,IAAAY,EAA4B;EAAA,IAAAG,EAAA;EAAA,IAAAxC,CAAA,QAAAoD,SAAA,IAAApD,CAAA,QAAAyB,aAAA;IACtCe,EAAA;MAAAoE,aAAA;QAEVnF,aAAA,MAAc;MAAA;MAAA2B,UAAAX,KAAA;QAGdhB,aAAA,MAAc;QACd2B,SAAA,CAAUX,KAAA;MAAA;MAAAoE,YAAA;QAGVpF,aAAA,KAAc;MAAA;IAAA;IAElBzB,CAAA,MAAAoD,SAAA;IAAApD,CAAA,MAAAyB,aAAA;IAAAzB,CAAA,MAAAwC,EAAA;EAAA;IAAAA,EAAA,GAAAxC,CAAA;EAAA;EAXAhD,aAAA,CAAcwF,EAWd;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useDndMonitor","getTranslation","useRouter","formatAdminURL","React","Fragment","DroppableBreadcrumb","ColoredFolderIcon","CurrentFolderActions","DragOverlaySelection","SortByPill","ToggleViewButtons","Gutter","ListHeader","ListBulkUploadButton","ListCreateNewDocInFolderButton","ByFolderPill","DefaultListPill","TrashPill","NoListResults","SearchBar","useStepNav","useConfig","useEditDepth","FolderProvider","useFolder","usePreferences","useRouteCache","useRouteTransition","useTranslation","useWindowInfo","ListSelection","baseClass","DefaultCollectionFolderView","allCollectionFolderSlugs","folderCollectionSlugs","allowCreateCollectionSlugs","baseFolderPath","breadcrumbs","documents","folderFieldName","folderID","FolderResultsComponent","search","sort","subfolders","restOfProps","_jsx","CollectionFolderViewInContext","props","$","AfterFolderList","AfterFolderListTable","BeforeFolderList","BeforeFolderListTable","collectionSlug","Description","disableBulkDelete","disableBulkEdit","viewPreference","config","getEntityConfig","i18n","t","drawerDepth","setStepNav","setPreference","dragOverlayItem","folderCollectionConfig","folderCollectionSlug","folderType","getSelectedItems","moveToFolder","refineFolderData","selectedItemKeys","setIsDragging","router","startRouteTransition","clearRouteCache","collectionConfig","labels","upload","isUploadCollection","Boolean","isBulkUploadEnabled","bulkUpload","breakpoints","t0","s","smallBreak","t1","event","over","data","current","type","itemsToMove","toFolderID","id","t2","error","console","onDragEnd","handleSetViewType","view","plural","t3","folders","routes","admin","useEffect","length","label","_jsxs","className","children","filter","join","onClick","push","adminRoute","path","slug","map","crumb","crumbIndex","name","totalDocsAndSubfolders","t4","search_0","query","updateURL","t5","size","item","selectedCount","DndEventListener","Actions","folderAssignedCollections","Array","isArray","viewType","trash","AfterListHeaderContent","title","TitleActions","buttonLabel","collectionSlugs","onCreateSuccess","slugPrefix","hasCreatePermission","includes","activeView","setActiveView","onSearchChange","searchQueryParam","singular","toLowerCase","Message","onDragCancel","onDragStart"],"sources":["../../../src/views/CollectionFolder/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DragEndEvent } from '@dnd-kit/core'\nimport type { FolderListViewClientProps } from 'payload'\n\nimport { useDndMonitor } from '@dnd-kit/core'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { DroppableBreadcrumb } from '../../elements/FolderView/Breadcrumbs/index.js'\nimport { ColoredFolderIcon } from '../../elements/FolderView/ColoredFolderIcon/index.js'\nimport { CurrentFolderActions } from '../../elements/FolderView/CurrentFolderActions/index.js'\nimport { DragOverlaySelection } from '../../elements/FolderView/DragOverlaySelection/index.js'\nimport { SortByPill } from '../../elements/FolderView/SortByPill/index.js'\nimport { ToggleViewButtons } from '../../elements/FolderView/ToggleViewButtons/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListHeader } from '../../elements/ListHeader/index.js'\nimport {\n ListBulkUploadButton,\n ListCreateNewDocInFolderButton,\n} from '../../elements/ListHeader/TitleActions/index.js'\nimport { ByFolderPill } from '../../elements/ListHeaderTabs/ByFolderPill.js'\nimport { DefaultListPill } from '../../elements/ListHeaderTabs/DefaultListPill.js'\nimport { TrashPill } from '../../elements/ListHeaderTabs/TrashPill.js'\nimport { NoListResults } from '../../elements/NoListResults/index.js'\nimport { SearchBar } from '../../elements/SearchBar/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { FolderProvider, useFolder } from '../../providers/Folders/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport './index.scss'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from './ListSelection/index.js'\n\nconst baseClass = 'collection-folder-list'\n\nexport function DefaultCollectionFolderView({\n allCollectionFolderSlugs: folderCollectionSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath,\n breadcrumbs,\n documents,\n folderFieldName,\n folderID,\n FolderResultsComponent,\n search,\n sort,\n subfolders,\n ...restOfProps\n}: FolderListViewClientProps) {\n return (\n <FolderProvider\n allCollectionFolderSlugs={folderCollectionSlugs}\n allowCreateCollectionSlugs={allowCreateCollectionSlugs}\n baseFolderPath={baseFolderPath}\n breadcrumbs={breadcrumbs}\n documents={documents}\n folderFieldName={folderFieldName}\n folderID={folderID}\n FolderResultsComponent={FolderResultsComponent}\n search={search}\n sort={sort}\n subfolders={subfolders}\n >\n <CollectionFolderViewInContext {...restOfProps} />\n </FolderProvider>\n )\n}\n\ntype CollectionFolderViewInContextProps = Omit<\n FolderListViewClientProps,\n | 'allCollectionFolderSlugs'\n | 'allowCreateCollectionSlugs'\n | 'baseFolderPath'\n | 'breadcrumbs'\n | 'documents'\n | 'folderFieldName'\n | 'folderID'\n | 'FolderResultsComponent'\n | 'subfolders'\n>\n\nfunction CollectionFolderViewInContext(props: CollectionFolderViewInContextProps) {\n const {\n AfterFolderList,\n AfterFolderListTable,\n BeforeFolderList,\n BeforeFolderListTable,\n collectionSlug,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n search,\n viewPreference,\n } = props\n\n const { config, getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n const drawerDepth = useEditDepth()\n const { setStepNav } = useStepNav()\n const { setPreference } = usePreferences()\n const {\n allowCreateCollectionSlugs,\n breadcrumbs,\n documents,\n dragOverlayItem,\n folderCollectionConfig,\n folderCollectionSlug,\n FolderResultsComponent,\n folderType,\n getSelectedItems,\n moveToFolder,\n refineFolderData,\n selectedItemKeys,\n setIsDragging,\n subfolders,\n } = useFolder()\n\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n const isUploadCollection = Boolean(upload)\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const onDragEnd = React.useCallback(\n async (event: DragEndEvent) => {\n if (!event.over) {\n return\n }\n\n if (event.over.data.current.type === 'folder' && 'id' in event.over.data.current) {\n try {\n await moveToFolder({\n itemsToMove: getSelectedItems(),\n toFolderID: event.over.data.current.id,\n })\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error moving items:', error)\n }\n\n clearRouteCache()\n }\n },\n [moveToFolder, getSelectedItems, clearRouteCache],\n )\n\n const handleSetViewType = React.useCallback(\n async (view: 'grid' | 'list') => {\n await setPreference(`${collectionSlug}-collection-folder`, {\n viewPreference: view,\n })\n clearRouteCache()\n },\n [collectionSlug, setPreference, clearRouteCache],\n )\n\n React.useEffect(() => {\n if (!drawerDepth) {\n setStepNav([\n !breadcrumbs.length\n ? {\n label: (\n <div className={`${baseClass}__step-nav-icon-label`} key=\"root\">\n <ColoredFolderIcon />\n {getTranslation(labels?.plural, i18n)}\n </div>\n ),\n }\n : {\n label: (\n <DroppableBreadcrumb\n className={[\n `${baseClass}__step-nav-droppable`,\n `${baseClass}__step-nav-icon-label`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={null}\n key=\"root\"\n onClick={() => {\n startRouteTransition(() => {\n if (config.folders) {\n router.push(\n formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${config.folders.slug}`,\n }),\n )\n }\n })\n }}\n >\n <ColoredFolderIcon />\n {getTranslation(labels?.plural, i18n)}\n </DroppableBreadcrumb>\n ),\n },\n ...breadcrumbs.map((crumb, crumbIndex) => {\n return {\n label:\n crumbIndex === breadcrumbs.length - 1 ? (\n crumb.name\n ) : (\n <DroppableBreadcrumb\n className={`${baseClass}__step-nav-droppable`}\n id={crumb.id}\n key={crumb.id}\n onClick={() => {\n startRouteTransition(() => {\n if (config.folders) {\n router.push(\n formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${config.folders.slug}/${crumb.id}`,\n }),\n )\n }\n })\n }}\n >\n {crumb.name}\n </DroppableBreadcrumb>\n ),\n }\n }),\n ])\n }\n }, [\n breadcrumbs,\n collectionSlug,\n config.folders,\n config.routes.admin,\n drawerDepth,\n i18n,\n labels?.plural,\n router,\n setStepNav,\n startRouteTransition,\n ])\n\n const totalDocsAndSubfolders = documents.length + subfolders.length\n\n return (\n <Fragment>\n <DndEventListener onDragEnd={onDragEnd} setIsDragging={setIsDragging} />\n\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n {BeforeFolderList}\n <Gutter className={`${baseClass}__wrap`}>\n <ListHeader\n Actions={[\n !smallBreak && (\n <ListSelection\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={collectionConfig.disableBulkEdit ?? disableBulkEdit}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"list-selection\"\n />\n ),\n config.folders && collectionConfig.folders && (\n <Fragment key=\"list-header-folder-view-buttons\">\n <DefaultListPill\n collectionConfig={collectionConfig}\n key=\"list-header-default-button\"\n viewType=\"folders\"\n />\n <ByFolderPill\n collectionConfig={collectionConfig}\n folderCollectionSlug={folderCollectionSlug}\n key=\"list-header-by-folder-button\"\n viewType=\"folders\"\n />\n </Fragment>\n ),\n collectionConfig.trash && (\n <TrashPill\n collectionConfig={collectionConfig}\n key=\"list-header-trash-button\"\n viewType=\"folders\"\n />\n ),\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n title={getTranslation(labels?.plural, i18n)}\n TitleActions={[\n allowCreateCollectionSlugs.length && (\n <ListCreateNewDocInFolderButton\n buttonLabel={t('general:createNew')}\n collectionSlugs={allowCreateCollectionSlugs}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-new-button\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--header-pill\"\n />\n ),\n <ListBulkUploadButton\n collectionSlug={collectionSlug}\n hasCreatePermission={allowCreateCollectionSlugs.includes(collectionSlug)}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"bulk-upload-button\"\n />,\n ].filter(Boolean)}\n />\n <SearchBar\n Actions={[\n <SortByPill key=\"sort-by-pill\" />,\n <ToggleViewButtons\n activeView={viewPreference}\n key=\"toggle-view-buttons\"\n setActiveView={handleSetViewType}\n />,\n <CurrentFolderActions key=\"current-folder-actions\" />,\n ].filter(Boolean)}\n label={t('general:searchBy', {\n label: t('general:name'),\n })}\n onSearchChange={(search) => refineFolderData({ query: { search }, updateURL: true })}\n searchQueryParam={search}\n />\n {BeforeFolderListTable}\n {totalDocsAndSubfolders > 0 && FolderResultsComponent}\n {totalDocsAndSubfolders === 0 && (\n <NoListResults\n Actions={[\n allowCreateCollectionSlugs.includes(folderCollectionSlug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${getTranslation(folderCollectionConfig.labels?.singular, i18n).toLowerCase()}`}\n collectionSlugs={[folderCollectionConfig.slug]}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-folder\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-folder--no-results\"\n />\n ),\n allowCreateCollectionSlugs.includes(collectionSlug) && (\n <ListCreateNewDocInFolderButton\n buttonLabel={`${t('general:create')} ${t('general:document').toLowerCase()}`}\n collectionSlugs={[collectionSlug]}\n folderAssignedCollections={\n Array.isArray(folderType) ? folderType : [collectionSlug]\n }\n key=\"create-document\"\n onCreateSuccess={clearRouteCache}\n slugPrefix=\"create-document--no-results\"\n />\n ),\n ].filter(Boolean)}\n Message={\n <p>\n {i18n.t('general:noResults', {\n label: `${getTranslation(labels?.plural, i18n)} ${t('general:or').toLowerCase()} ${getTranslation(\n folderCollectionConfig.labels?.plural,\n i18n,\n )}`,\n })}\n </p>\n }\n />\n )}\n {AfterFolderListTable}\n </Gutter>\n {AfterFolderList}\n </div>\n {selectedItemKeys.size > 0 && dragOverlayItem && (\n <DragOverlaySelection item={dragOverlayItem} selectedCount={selectedItemKeys.size} />\n )}\n </Fragment>\n )\n}\n\nfunction DndEventListener({ onDragEnd, setIsDragging }) {\n useDndMonitor({\n onDragCancel() {\n setIsDragging(false)\n },\n onDragEnd(event) {\n setIsDragging(false)\n onDragEnd(event)\n },\n onDragStart() {\n setIsDragging(true)\n },\n })\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -48,7 +48,8 @@ export const Auth = props => {
48
48
  const {
49
49
  docPermissions,
50
50
  isEditing,
51
- isInitializing
51
+ isInitializing,
52
+ isTrashed
52
53
  } = useDocumentInfo();
53
54
  const {
54
55
  config: t0
@@ -117,7 +118,7 @@ export const Auth = props => {
117
118
  }
118
119
  }
119
120
  const enableFields = (!disableLocalStrategy || typeof disableLocalStrategy === "object" && disableLocalStrategy.enableFields === true) && (showUnlock || showPasswordFields);
120
- const disabled = readOnly || isInitializing;
121
+ const disabled = readOnly || isInitializing || isTrashed;
121
122
  const apiKeyPermissions = docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey;
122
123
  const apiKeyReadOnly = readOnly || apiKeyPermissions === true || apiKeyPermissions && typeof apiKeyPermissions === "object" && !apiKeyPermissions?.update;
123
124
  const enableAPIKeyReadOnly = readOnly || apiKeyPermissions !== true && !apiKeyPermissions?.update;
@@ -299,7 +300,7 @@ export const Auth = props => {
299
300
  loginWithUsername,
300
301
  operation,
301
302
  permissions: docPermissions?.fields,
302
- readOnly,
303
+ readOnly: readOnly || isTrashed,
303
304
  t
304
305
  }), (changingPassword || requirePassword) && (!disableLocalStrategy || !enableFields) && _jsxs("div", {
305
306
  className: `${baseClass}__changing-password`,
@@ -316,7 +317,7 @@ export const Auth = props => {
316
317
  path: "password",
317
318
  schemaPath: "password"
318
319
  }), _jsx(ConfirmPasswordField, {
319
- disabled: readOnly
320
+ disabled: readOnly || isTrashed
320
321
  })]
321
322
  }), _jsxs("div", {
322
323
  className: `${baseClass}__controls`,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getFieldPermissions","React","Fragment","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","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","dispatchFields","_temp2","modified","i18n","t","docPermissions","isEditing","isInitializing","config","t0","routes","t1","serverURL","api","showPasswordFields","showUnlock","hasPasswordFieldOverride","fields","hasLoginFieldOverride","passwordPermissions","field","name","type","parentName","create","update","hasEmailAndUsernameFields","requireEmail","allowEmailLogin","emailPermission","usernamePermission","enableFields","disabled","apiKeyPermissions","apiKeyReadOnly","enableAPIKeyReadOnly","canReadApiKey","read","t2","bb0","collection","collections","Boolean","unlock","undefined","hasPermissionToUnlock","t3","changingPassword_0","errorMessage","path","valid","handleChangePassword","t4","url","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","error","t5","t6","t7","filter","t8","value","_jsx","children","_jsxs","admin","label","schemaPath","enabled","t9","join","autoComplete","required","indexPath","parentPath","parentSchemaPath","buttonStyle","onClick","size","id","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport { getFieldPermissions } from 'payload/shared'\nimport React, { Fragment, 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 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 dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n let showPasswordFields = true\n let showUnlock = true\n const hasPasswordFieldOverride =\n typeof docPermissions.fields === 'object' && 'password' in docPermissions.fields\n const hasLoginFieldOverride =\n typeof docPermissions.fields === 'object' &&\n ('username' in docPermissions.fields || 'email' in docPermissions.fields)\n\n if (hasPasswordFieldOverride) {\n const { permissions: passwordPermissions } = getFieldPermissions({\n field: { name: 'password', type: 'text' },\n operation,\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (operation === 'create') {\n showPasswordFields =\n passwordPermissions === true ||\n (typeof passwordPermissions === 'object' && passwordPermissions.create)\n } else {\n showPasswordFields =\n passwordPermissions === true ||\n (typeof passwordPermissions === 'object' && passwordPermissions.update)\n }\n }\n\n if (hasLoginFieldOverride) {\n const hasEmailAndUsernameFields =\n loginWithUsername && (loginWithUsername.requireEmail || loginWithUsername.allowEmailLogin)\n\n const { operation: emailPermission } = getFieldPermissions({\n field: { name: 'email', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n const { operation: usernamePermission } = getFieldPermissions({\n field: { name: 'username', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (hasEmailAndUsernameFields) {\n showUnlock = usernamePermission || emailPermission\n } else if (loginWithUsername && !hasEmailAndUsernameFields) {\n showUnlock = usernamePermission\n } else {\n showUnlock = emailPermission\n }\n }\n\n const enableFields =\n (!disableLocalStrategy ||\n (typeof disableLocalStrategy === 'object' && disableLocalStrategy.enableFields === true)) &&\n (showUnlock || showPasswordFields)\n\n const disabled = readOnly || isInitializing\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\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 handleChangePassword = useCallback(\n (changingPassword: boolean) => {\n if (changingPassword) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\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 dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(changingPassword)\n },\n [dispatchFields, t, 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 && !enableFields && !useAPIKey) {\n return null\n }\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {enableFields && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n t={t}\n />\n {(changingPassword || requirePassword) && (!disableLocalStrategy || !enableFields) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\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 {changingPassword && !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 {!changingPassword &&\n !requirePassword &&\n !disableLocalStrategy &&\n showPasswordFields && (\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 || !showUnlock}\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 {canReadApiKey && (\n <Fragment>\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 <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />\n </Fragment>\n )}\n </div>\n )}\n {verify && isEditing && (\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":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,mBAAmB,QAAQ;AACpC,OAAOC,KAAA,IAASC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AAC3E,SAASC,KAAK,QAAQ;AAItB,SAASC,MAAM,QAAQ;AACvB,SAASC,sBAAsB,QAAQ;AACvC,SAASC,aAAa,QAAQ;AAC9B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,aAAa,QAAQ;AAC9B,SAASC,aAAa,EAAEC,eAAe,QAAQ;AAC/C,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,IAAA,GAAwBC,KAAA;EAAA,MAAAC,CAAA,GAAAxB,EAAA;EACnC;IAAAyB,SAAA;IAAAC,cAAA;IAAAC,oBAAA;IAAAC,KAAA;IAAAC,iBAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,eAAA;IAAAC,uBAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC;EAAA,IAaIb,KAAA;EAEJ;IAAAc;EAAA,IAAwBrB,OAAA;EACxB,OAAAsB,gBAAA,EAAAC,mBAAA,IAAgDhC,QAAA,CAASyB,eAAA;EACzD,MAAAQ,YAAA,GAAqB1B,aAAA,CAAA2B,KAAgE;EACrF,MAAAC,cAAA,GAAuB5B,aAAA,CAAA6B,MAAqC;EAC5D,MAAAC,QAAA,GAAiB7B,eAAA;EACjB;IAAA8B,IAAA;IAAAC;EAAA,IAAoB3B,cAAA;EACpB;IAAA4B,cAAA;IAAAC,SAAA;IAAAC;EAAA,IAAsD/B,eAAA;EAEtD;IAAAgC,MAAA,EAAAC;EAAA,IAKIlC,SAAA;EAJM;IAAAmC,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAH,EAGP;EAFS;IAAAI;EAAA,IAAAF,EAAO;EAKnB,IAAAG,kBAAA;EACA,IAAAC,UAAA;EACA,MAAAC,wBAAA,GACE,OAAOX,cAAA,CAAAY,MAAA,KAA0B,YAAY,cAAcZ,cAAA,CAAAY,MAAqB;EAClF,MAAAC,qBAAA,GACE,OAAOb,cAAA,CAAAY,MAAA,KAA0B,aAChC,cAAcZ,cAAA,CAAAY,MAAqB,IAAI,WAAWZ,cAAA,CAAAY,MAAqB,CAAD;EAAA,IAErED,wBAAA;IACF;MAAArB,WAAA,EAAAwB;IAAA,IAA6C5D,mBAAA;MAAA6D,KAAA;QAAAC,IAAA,EAC5B;QAAAC,IAAA,EAAkB;MAAA;MAAAlC,SAAA;MAAAmC,UAAA,EAErB;MAAA5B,WAAA,EACCU,cAAA,EAAAY;IAAA,CACf;IAAA,IAEI7B,SAAA,KAAc;MAChB0B,kBAAA,CAAAA,CAAA,CACEK,mBAAA,SAAwB,IACvB,OAAOA,mBAAA,KAAwB,YAAYA,mBAAA,CAAAK,MAA0B;IAFxE;MAIAV,kBAAA,CAAAA,CAAA,CACEK,mBAAA,SAAwB,IACvB,OAAOA,mBAAA,KAAwB,YAAYA,mBAAA,CAAAM,MAA0B;IAFxE;EAAA;EAAA,IAMAP,qBAAA;IACF,MAAAQ,yBAAA,GACEvC,iBAAA,KAAsBA,iBAAA,CAAAwC,YAAA,IAAkCxC,iBAAA,CAAAyC,eAAiC,CAAD;IAE1F;MAAAxC,SAAA,EAAAyC;IAAA,IAAuCtE,mBAAA;MAAA6D,KAAA;QAAAC,IAAA,EACtB;QAAAC,IAAA,EAAe;MAAA;MAAAlC,SAAA,EACnB;MAAAmC,UAAA,EACC;MAAA5B,WAAA,EACCU,cAAA,EAAAY;IAAA,CACf;IAEA;MAAA7B,SAAA,EAAA0C;IAAA,IAA0CvE,mBAAA;MAAA6D,KAAA;QAAAC,IAAA,EACzB;QAAAC,IAAA,EAAkB;MAAA;MAAAlC,SAAA,EACtB;MAAAmC,UAAA,EACC;MAAA5B,WAAA,EACCU,cAAA,EAAAY;IAAA,CACf;IAAA,IAEIS,yBAAA;MACFX,UAAA,CAAAA,CAAA,CAAae,kBAAA,IAAsBD,eAAA;IAAnC;MAAA,IACS1C,iBAAA,KAAsBuC,yBAAA;QAC/BX,UAAA,CAAAA,CAAA,CAAae,kBAAA;MAAb;QAEAf,UAAA,CAAAA,CAAA,CAAac,eAAA;MAAb;IAAA;EAAA;EAIJ,MAAAE,YAAA,GACE,CAAC,CAAC9C,oBAAA,IACC,OAAOA,oBAAA,KAAyB,YAAYA,oBAAA,CAAA8C,YAAA,SAA0C,MACxFhB,UAAA,IAAcD,kBAAiB;EAElC,MAAAkB,QAAA,GAAiB3C,QAAA,IAAYkB,cAAA;EAE7B,MAAA0B,iBAAA,GACE5B,cAAA,EAAAY,MAAA,SAA2B,UAAcZ,cAAA,EAAAY,MAAA,EAAAnB,YAAwB;EAEnE,MAAAoC,cAAA,GACE7C,QAAA,IACA4C,iBAAA,SAAsB,IACrBA,iBAAA,IAAqB,OAAOA,iBAAA,KAAsB,aAAaA,iBAAA,EAAAR,MAAmB;EAErF,MAAAU,oBAAA,GACE9C,QAAA,IAAa4C,iBAAA,SAAsB,KAASA,iBAAA,EAAAR,MAAmB;EAEjE,MAAAW,aAAA,GAAsBH,iBAAA,SAAsB,IAAQA,iBAAA,EAAAI,IAAmB;EAAA,IAAAC,EAAA;EAAAC,GAAA;IAGrE,MAAAC,UAAA,GAAmB7C,WAAA,EAAA8C,WAAA,GAA2BzD,cAAA;IAAe,IAEzDwD,UAAA;MACFF,EAAA,GAAOI,OAAA,CAAQ,YAAYF,UAAA,GAAaA,UAAA,CAAAG,MAAA,GAAAC,SAAoB;MAAA,MAAAL,GAAA;IAAA;IAG9DD,EAAA;EAAO;EAPT,MAAAO,qBAAA,GAAuCP,EAQP;EAAA,IAAAQ,EAAA;EAAA,IAAAhE,CAAA,QAAAkB,cAAA,IAAAlB,CAAA,QAAAS,uBAAA,IAAAT,CAAA,QAAAsB,CAAA;IAG9B0C,EAAA,GAAAC,kBAAA;MAAA,IACMnD,kBAAA;QACFL,uBAAA,KAAwB;QAExBS,cAAA;UAAAsB,IAAA,EACQ;UAAA0B,YAAA,EACQ5C,CAAA,CAAE;UAAA6C,IAAA,EACV;UAAAC,KAAA;QAAA,CAER;QAEAlD,cAAA;UAAAsB,IAAA,EACQ;UAAA0B,YAAA,EACQ5C,CAAA,CAAE;UAAA6C,IAAA,EACV;UAAAC,KAAA;QAAA,CAER;MAAA;QAEA3D,uBAAA,MAAwB;QACxBS,cAAA;UAAAsB,IAAA,EAAuB;UAAA2B,IAAA,EAAgB;QAAA,CAAW;QAClDjD,cAAA;UAAAsB,IAAA,EAAuB;UAAA2B,IAAA,EAAgB;QAAA,CAAmB;MAAA;MAG5DpD,mBAAA,CAAoBD,kBAAA;IAAA;IACtBd,CAAA,MAAAkB,cAAA;IAAAlB,CAAA,MAAAS,uBAAA;IAAAT,CAAA,MAAAsB,CAAA;IAAAtB,CAAA,MAAAgE,EAAA;EAAA;IAAAA,EAAA,GAAAhE,CAAA;EAAA;EAzBF,MAAAqE,oBAAA,GAA6BL,EA0BiB;EAAA,IAAAM,EAAA;EAAA,IAAAtE,CAAA,QAAA+B,GAAA,IAAA/B,CAAA,QAAAE,cAAA,IAAAF,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAqB,IAAA,IAAArB,CAAA,QAAAK,iBAAA,IAAAL,CAAA,QAAA8B,SAAA,IAAA9B,CAAA,SAAAsB,CAAA,IAAAtB,CAAA,SAAAW,QAAA;IAGnB2D,EAAA,SAAAA,CAAA;MACzB,MAAAC,GAAA,GAAY,GAAGzC,SAAA,GAAYC,GAAA,IAAO7B,cAAA,SAAuB;MACzD,MAAAsE,QAAA,SAAuBC,KAAA,CAAMF,GAAA;QAAAG,IAAA,EAEzBrE,iBAAA,IAAqBM,QAAA,GAAWgE,IAAA,CAAAC,SAAA;UAAAjE;QAAA,CAA0B,IAAKgE,IAAA,CAAAC,SAAA;UAAAxE;QAAA,CAAuB;QAAAyE,WAAA,EAC3E;QAAAC,OAAA;UAAA,mBAEQzD,IAAA,CAAA0D,QAAA;UAAA,gBACH;QAAA;QAAAC,MAAA,EAEV;MAAA,CACV;MAAA,IAEIR,QAAA,CAAAS,MAAA,QAAoB;QACtBjG,KAAA,CAAAkG,OAAA,CAAc5D,CAAA,CAAE;MAAA;QAEhBtC,KAAA,CAAAmG,KAAA,CAAY7D,CAAA,CAAE;MAAA;IAAA;IAElBtB,CAAA,MAAA+B,GAAA;IAAA/B,CAAA,MAAAE,cAAA;IAAAF,CAAA,MAAAI,KAAA;IAAAJ,CAAA,MAAAqB,IAAA;IAAArB,CAAA,MAAAK,iBAAA;IAAAL,CAAA,MAAA8B,SAAA;IAAA9B,CAAA,OAAAsB,CAAA;IAAAtB,CAAA,OAAAW,QAAA;IAAAX,CAAA,OAAAsE,EAAA;EAAA;IAAAA,EAAA,GAAAtE,CAAA;EAAA;EAlBA,MAAA6D,MAAA,GAAeS,EAkBiE;EAAA,IAAAc,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAArF,CAAA,SAAAoB,QAAA;IAEtEgE,EAAA,GAAAA,CAAA;MAAA,KACHhE,QAAA;QACHL,mBAAA,MAAoB;MAAA;IAAA;IAErBsE,EAAA,IAACjE,QAAA;IAASpB,CAAA,OAAAoB,QAAA;IAAApB,CAAA,OAAAoF,EAAA;IAAApF,CAAA,OAAAqF,EAAA;EAAA;IAAAD,EAAA,GAAApF,CAAA;IAAAqF,EAAA,GAAArF,CAAA;EAAA;EAJbnB,SAAA,CAAUuG,EAIV,EAAGC,EAAU;EAAA,IAETlF,oBAAA,KAAyB8C,YAAA,KAAiBvC,SAAA;IAAA;EAAA;EAAA,IAAA4E,EAAA;EAAA,IAAAtF,CAAA,SAAAC,SAAA;IAK5BqF,EAAA,IAAAzF,SAAA,EAAYI,SAAA,EAAAsF,MAAA,CAAA3B,OAAkB;IAAA5D,CAAA,OAAAC,SAAA;IAAAD,CAAA,OAAAsF,EAAA;EAAA;IAAAA,EAAA,GAAAtF,CAAA;EAAA;EAAA,IAAAwF,EAAA;EAAA,IAAAxF,CAAA,SAAAoD,cAAA,IAAApD,CAAA,SAAAsD,aAAA,IAAAtD,CAAA,SAAAE,cAAA,IAAAF,CAAA,SAAAkD,QAAA,IAAAlD,CAAA,SAAAgB,YAAA,EAAAyE,KAAA,IAAAzF,CAAA,SAAAqD,oBAAA,IAAArD,CAAA,SAAAsB,CAAA,IAAAtB,CAAA,SAAAU,SAAA;IAkE3C8E,EAAA,GAAA9E,SAAA,IACCgF,IAAA,CAAC;MAAAzF,SAAA,EAAe,GAAAJ,SAAA,WAAuB;MAAA8F,QAAA,EACpCrC,aAAA,IACCsC,KAAA,CAAAjH,QAAA;QAAAgH,QAAA,GACED,IAAA,CAAAvG,aAAA;UAAAmD,KAAA;YAAAC,IAAA,EAEU;YAAAsD,KAAA;cAAA3C,QAAA;cAAA3C,QAAA,EACuB8C;YAAA;YAAAyC,KAAA,EACtBxE,CAAA,CAAE;UAAA;UAAA6C,IAAA,EAEN;UAAA4B,UAAA,EACO,GAAG7F,cAAA;QAA6B,C,GAE9CwF,IAAA,CAAA9F,MAAA;UAAAoG,OAAA,IAAmBhF,YAAA,EAAAyE,KAAA;UAAAlF,QAAA,EAA+B6C;QAAA,C;;;;;;;;;;;;;;;;;IAKzD6C,EAAA,GAAArF,MAAA,IAAUY,SAAA,IACTkE,IAAA,CAAAvG,aAAA;MAAAmD,KAAA;QAAAC,IAAA,EAEU;QAAAsD,KAAA;UAAA3C,QAAA;UAAA3C;QAAA;QAAAuF,KAAA,EAECxE,CAAA,CAAE;MAAA;MAAA6C,IAAA,EAEN;MAAA4B,UAAA,EACO,GAAG7F,cAAA;IAA0B,C;;;;;;;;;;;SA5F/C0F,KAAA,CAAC;IAAA3F,SAAA,EAAeqF,EAA8B,CAAAY,IAAA,CAAc;IAAAP,QAAA,GACzD1C,YAAA,IACC2C,KAAA,CAAAlH,KAAA,CAAAC,QAAA;MAAAgH,QAAA,GACED,IAAA,CAAAxG,sBAAA;QAAAmB,iBAAA;QAAAC,SAAA;QAAAO,WAAA,EAGeU,cAAA,EAAAY,MAAA;QAAA5B,QAAA;QAAAe;MAAA,C,GAIb,CAAAR,gBAAA,IAAoBN,eAAc,MAAO,CAACL,oBAAA,KAAyB8C,YAAW,KAC9E2C,KAAA,CAAC;QAAA3F,SAAA,EAAe,GAAAJ,SAAA,qBAAiC;QAAA8F,QAAA,GAC/CD,IAAA,CAAArG,aAAA;UAAA8G,YAAA,EACe;UAAA7D,KAAA;YAAAC,IAAA,EAEL;YAAAuD,KAAA,EACCxE,CAAA,CAAE;YAAA8E,QAAA;UAAA;UAAAC,SAAA,EAGD;UAAAC,UAAA,EACC;UAAAC,gBAAA,EACM;UAAApC,IAAA,EACZ;UAAA4B,UAAA,EACM;QAAA,C,GAEbL,IAAA,CAAAtG,oBAAA;UAAA8D,QAAA,EAAgC3C;QAAA,C;UAGpCqF,KAAA,CAAC;QAAA3F,SAAA,EAAe,GAAAJ,SAAA,YAAwB;QAAA8F,QAAA,GACrC7E,gBAAA,KAAqBN,eAAA,IACpBkF,IAAA,CAAAzG,MAAA;UAAAuH,WAAA,EACc;UAAAtD,QAAA;UAAAuD,OAAA,EAAAA,CAAA,KAEGpC,oBAAA,MAAqB;UAAAqC,IAAA,EAC/B;UAAAf,QAAA,EAEJrE,CAAA,CAAE;QAAA,C,GAGN,CAACR,gBAAA,KACCN,eAAA,KACAL,oBAAA,IACD6B,kBAAA,IACE0D,IAAA,CAAAzG,MAAA;UAAAuH,WAAA,EACc;UAAAtD,QAAA;UAAAyD,EAAA,EAET;UAAAF,OAAA,EAAAA,CAAA,KACYpC,oBAAA,KAAqB;UAAAqC,IAAA,EAC/B;UAAAf,QAAA,EAEJrE,CAAA,CAAE;QAAA,C,GAGRhB,SAAA,KAAc,YAAYyD,qBAAA,IACzB2B,IAAA,CAAAzG,MAAA;UAAAuH,WAAA,EACc;UAAAtD,QAAA,EACFA,QAAA,KAAajB,UAAA;UAAAwE,OAAA,EAAAA,CAAA,UACH5C,MAAA;UAAA6C,IAAA,EACf;UAAAf,QAAA,EAEJrE,CAAA,CAAE;QAAA,C;;QAMZkE,E,EAkBAS,E;;CAaP;AAhRqC,SAAAhF,MAAAU,EAAA;EAkBC,OAAAQ,MAAA,IAAAR,EAAQ;EAAA,OAAKQ,MAAC,IAAUA,MAAA,EAAAnB,YAAQ,QAAiB;AAAA;AAlBlD,SAAAG,OAAAyF,OAAA;EAAA,OAmBeA,OAAO;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getFieldPermissions","React","Fragment","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","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","dispatchFields","_temp2","modified","i18n","t","docPermissions","isEditing","isInitializing","isTrashed","config","t0","routes","t1","serverURL","api","showPasswordFields","showUnlock","hasPasswordFieldOverride","fields","hasLoginFieldOverride","passwordPermissions","field","name","type","parentName","create","update","hasEmailAndUsernameFields","requireEmail","allowEmailLogin","emailPermission","usernamePermission","enableFields","disabled","apiKeyPermissions","apiKeyReadOnly","enableAPIKeyReadOnly","canReadApiKey","read","t2","bb0","collection","collections","Boolean","unlock","undefined","hasPermissionToUnlock","t3","changingPassword_0","errorMessage","path","valid","handleChangePassword","t4","url","response","fetch","body","JSON","stringify","credentials","headers","language","method","status","success","error","t5","t6","t7","filter","t8","value","_jsx","children","_jsxs","admin","label","schemaPath","enabled","t9","join","autoComplete","required","indexPath","parentPath","parentSchemaPath","buttonStyle","onClick","size","id","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport { getFieldPermissions } from 'payload/shared'\nimport React, { Fragment, 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 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 dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing, isTrashed } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n let showPasswordFields = true\n let showUnlock = true\n const hasPasswordFieldOverride =\n typeof docPermissions.fields === 'object' && 'password' in docPermissions.fields\n const hasLoginFieldOverride =\n typeof docPermissions.fields === 'object' &&\n ('username' in docPermissions.fields || 'email' in docPermissions.fields)\n\n if (hasPasswordFieldOverride) {\n const { permissions: passwordPermissions } = getFieldPermissions({\n field: { name: 'password', type: 'text' },\n operation,\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (operation === 'create') {\n showPasswordFields =\n passwordPermissions === true ||\n (typeof passwordPermissions === 'object' && passwordPermissions.create)\n } else {\n showPasswordFields =\n passwordPermissions === true ||\n (typeof passwordPermissions === 'object' && passwordPermissions.update)\n }\n }\n\n if (hasLoginFieldOverride) {\n const hasEmailAndUsernameFields =\n loginWithUsername && (loginWithUsername.requireEmail || loginWithUsername.allowEmailLogin)\n\n const { operation: emailPermission } = getFieldPermissions({\n field: { name: 'email', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n const { operation: usernamePermission } = getFieldPermissions({\n field: { name: 'username', type: 'text' },\n operation: 'read',\n parentName: '',\n permissions: docPermissions?.fields,\n })\n\n if (hasEmailAndUsernameFields) {\n showUnlock = usernamePermission || emailPermission\n } else if (loginWithUsername && !hasEmailAndUsernameFields) {\n showUnlock = usernamePermission\n } else {\n showUnlock = emailPermission\n }\n }\n\n const enableFields =\n (!disableLocalStrategy ||\n (typeof disableLocalStrategy === 'object' && disableLocalStrategy.enableFields === true)) &&\n (showUnlock || showPasswordFields)\n\n const disabled = readOnly || isInitializing || isTrashed\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\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 handleChangePassword = useCallback(\n (changingPassword: boolean) => {\n if (changingPassword) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\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 dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(changingPassword)\n },\n [dispatchFields, t, 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 && !enableFields && !useAPIKey) {\n return null\n }\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {enableFields && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly || isTrashed}\n t={t}\n />\n {(changingPassword || requirePassword) && (!disableLocalStrategy || !enableFields) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\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 || isTrashed} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {changingPassword && !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 {!changingPassword &&\n !requirePassword &&\n !disableLocalStrategy &&\n showPasswordFields && (\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 || !showUnlock}\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 {canReadApiKey && (\n <Fragment>\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 <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />\n </Fragment>\n )}\n </div>\n )}\n {verify && isEditing && (\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":[]}
@@ -4,6 +4,7 @@ export declare const SetDocumentStepNav: React.FC<{
4
4
  globalLabel?: SanitizedGlobalConfig['label'];
5
5
  globalSlug?: SanitizedGlobalConfig['slug'];
6
6
  id?: number | string;
7
+ isTrashed?: boolean;
7
8
  pluralLabel?: SanitizedCollectionConfig['labels']['plural'];
8
9
  useAsTitle?: SanitizedCollectionConfig['admin']['useAsTitle'];
9
10
  view?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/SetDocumentStepNav/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAe/E,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC;IACxC,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC5C,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC3D,UAAU,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAyFA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/SetDocumentStepNav/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAe/E,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC;IACxC,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC5C,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC3D,UAAU,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CA4GA,CAAA"}