@payloadcms/ui 4.0.0-canary.1 → 4.0.0-canary.2

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 (213) hide show
  1. package/dist/css/radius.css +1 -3
  2. package/dist/css/theme.css +4 -0
  3. package/dist/css/utilities.css +5 -0
  4. package/dist/elements/APIKeyInput/index.css +92 -0
  5. package/dist/elements/APIKeyInput/index.d.ts +14 -0
  6. package/dist/elements/APIKeyInput/index.d.ts.map +1 -0
  7. package/dist/elements/APIKeyInput/index.js +86 -0
  8. package/dist/elements/APIKeyInput/index.js.map +1 -0
  9. package/dist/elements/BulkUpload/ActionsBar/index.css +10 -4
  10. package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
  11. package/dist/elements/BulkUpload/ActionsBar/index.js +43 -40
  12. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/AddFilesView/index.js +1 -1
  14. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/AddingFilesView/index.css +25 -0
  16. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +1 -1
  17. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  18. package/dist/elements/BulkUpload/AddingFilesView/index.js +1 -1
  19. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/EditForm/index.css +9 -0
  21. package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
  22. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  23. package/dist/elements/BulkUpload/EditForm/index.js +1 -1
  24. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts +1 -1
  26. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  27. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +59 -55
  28. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  29. package/dist/elements/BulkUpload/EditMany/index.css +71 -0
  30. package/dist/elements/BulkUpload/EditMany/index.d.ts +1 -1
  31. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  32. package/dist/elements/BulkUpload/EditMany/index.js +1 -1
  33. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  34. package/dist/elements/BulkUpload/FileSidebar/index.css +54 -75
  35. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  36. package/dist/elements/BulkUpload/FileSidebar/index.js +60 -50
  37. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  38. package/dist/elements/ColumnSelector/index.js +1 -1
  39. package/dist/elements/ColumnSelector/index.js.map +1 -1
  40. package/dist/elements/DocumentFields/index.css +1 -1
  41. package/dist/elements/Drawer/index.d.ts +25 -0
  42. package/dist/elements/Drawer/index.d.ts.map +1 -1
  43. package/dist/elements/Drawer/index.js +134 -62
  44. package/dist/elements/Drawer/index.js.map +1 -1
  45. package/dist/elements/FileDetails/DraggableFileDetails/index.css +32 -0
  46. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
  47. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  48. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -18
  49. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  50. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +36 -0
  51. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +1 -1
  52. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  53. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +1 -1
  54. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  55. package/dist/elements/Hierarchy/Field/index.client.d.ts +1 -1
  56. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  57. package/dist/elements/Hierarchy/Field/index.client.js +5 -2
  58. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  59. package/dist/elements/Hierarchy/Field/index.css +37 -0
  60. package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -1
  61. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  62. package/dist/elements/Hierarchy/MoveMany/index.js +0 -1
  63. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  64. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +27 -0
  65. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +1 -1
  66. package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -1
  67. package/dist/elements/Hierarchy/Tree/LoadMore/index.js +1 -1
  68. package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -1
  69. package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
  70. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +36 -16
  71. package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
  72. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  73. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +20 -15
  74. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  75. package/dist/elements/LoadMoreRow/index.css +34 -0
  76. package/dist/elements/LoadMoreRow/index.d.ts +1 -1
  77. package/dist/elements/LoadMoreRow/index.d.ts.map +1 -1
  78. package/dist/elements/LoadMoreRow/index.js +4 -8
  79. package/dist/elements/LoadMoreRow/index.js.map +1 -1
  80. package/dist/elements/Popup/PopupGroupLabel/index.css +12 -0
  81. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts +13 -0
  82. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -0
  83. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js +41 -0
  84. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.js.map +1 -0
  85. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +1 -0
  86. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  87. package/dist/elements/PublishButton/ScheduleDrawer/index.js +9 -31
  88. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  89. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  90. package/dist/elements/PublishButton/index.js +4 -5
  91. package/dist/elements/PublishButton/index.js.map +1 -1
  92. package/dist/elements/ReactSelect/MultiValue/index.css +1 -1
  93. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  94. package/dist/elements/ReactSelect/index.js +12 -4
  95. package/dist/elements/ReactSelect/index.js.map +1 -1
  96. package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
  97. package/dist/elements/SchedulePublishButton/index.js +6 -1
  98. package/dist/elements/SchedulePublishButton/index.js.map +1 -1
  99. package/dist/elements/SelectMany/index.js +1 -1
  100. package/dist/elements/SelectMany/index.js.map +1 -1
  101. package/dist/elements/Table/index.css +7 -5
  102. package/dist/elements/Tabs/index.css +100 -0
  103. package/dist/elements/Tabs/index.d.ts +32 -0
  104. package/dist/elements/Tabs/index.d.ts.map +1 -0
  105. package/dist/elements/Tabs/index.js +62 -0
  106. package/dist/elements/Tabs/index.js.map +1 -0
  107. package/dist/elements/TimezonePicker/index.css +0 -15
  108. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  109. package/dist/elements/UnpublishButton/index.js +5 -13
  110. package/dist/elements/UnpublishButton/index.js.map +1 -1
  111. package/dist/exports/client/index.d.ts +6 -0
  112. package/dist/exports/client/index.d.ts.map +1 -1
  113. package/dist/exports/client/index.js +14 -14
  114. package/dist/exports/client/index.js.map +4 -4
  115. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  116. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  117. package/dist/fields/Tabs/Tab/index.js +12 -23
  118. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  119. package/dist/fields/Tabs/index.d.ts.map +1 -1
  120. package/dist/fields/Tabs/index.js +37 -37
  121. package/dist/fields/Tabs/index.js.map +1 -1
  122. package/dist/fields/Upload/HasMany/index.css +4 -0
  123. package/dist/forms/RenderFields/RenderField.d.ts +1 -1
  124. package/dist/icons/Gear/index.d.ts.map +1 -1
  125. package/dist/icons/Gear/index.js +8 -1
  126. package/dist/icons/Gear/index.js.map +1 -1
  127. package/dist/icons/{Write → Key}/index.css +1 -1
  128. package/dist/icons/Key/index.d.ts +7 -0
  129. package/dist/icons/Key/index.d.ts.map +1 -0
  130. package/dist/icons/Key/index.js +24 -0
  131. package/dist/icons/Key/index.js.map +1 -0
  132. package/dist/icons/Schedule/index.d.ts.map +1 -1
  133. package/dist/icons/Schedule/index.js +38 -39
  134. package/dist/icons/Schedule/index.js.map +1 -1
  135. package/dist/icons/WarningTriangle/index.css +5 -0
  136. package/dist/icons/WarningTriangle/index.d.ts +6 -0
  137. package/dist/icons/WarningTriangle/index.d.ts.map +1 -0
  138. package/dist/icons/WarningTriangle/index.js +21 -0
  139. package/dist/icons/WarningTriangle/index.js.map +1 -0
  140. package/dist/icons/Write/index.d.ts +0 -1
  141. package/dist/icons/Write/index.d.ts.map +1 -1
  142. package/dist/icons/Write/index.js +1 -2
  143. package/dist/icons/Write/index.js.map +1 -1
  144. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  145. package/dist/providers/DocumentInfo/index.js +4 -0
  146. package/dist/providers/DocumentInfo/index.js.map +1 -1
  147. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  148. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  149. package/dist/providers/DocumentInfo/types.js.map +1 -1
  150. package/dist/providers/Root/index.d.ts.map +1 -1
  151. package/dist/providers/Root/index.js +27 -24
  152. package/dist/providers/Root/index.js.map +1 -1
  153. package/dist/providers/TableColumns/RenderDefaultCell/index.css +1 -0
  154. package/dist/styles.css +1 -1
  155. package/dist/utilities/getHasScheduledPublish.d.ts +12 -0
  156. package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -0
  157. package/dist/utilities/getHasScheduledPublish.js +38 -0
  158. package/dist/utilities/getHasScheduledPublish.js.map +1 -0
  159. package/dist/utilities/getVersions.d.ts.map +1 -1
  160. package/dist/utilities/getVersions.js +1 -21
  161. package/dist/utilities/getVersions.js.map +1 -1
  162. package/dist/views/Document/index.d.ts.map +1 -1
  163. package/dist/views/Document/index.js +10 -1
  164. package/dist/views/Document/index.js.map +1 -1
  165. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  166. package/dist/views/Edit/Auth/APIKey.js +10 -32
  167. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  168. package/dist/views/Edit/Auth/index.css +0 -67
  169. package/dist/views/List/handleGroupBy.d.ts.map +1 -1
  170. package/dist/views/List/handleGroupBy.js +9 -0
  171. package/dist/views/List/handleGroupBy.js.map +1 -1
  172. package/dist/views/List/index.client.d.ts.map +1 -1
  173. package/dist/views/List/index.client.js +3 -2
  174. package/dist/views/List/index.client.js.map +1 -1
  175. package/dist/views/List/index.css +1 -1
  176. package/dist/views/List/index.d.ts.map +1 -1
  177. package/dist/views/List/index.js +2 -1
  178. package/dist/views/List/index.js.map +1 -1
  179. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  180. package/dist/views/List/renderListViewSlots.js +8 -0
  181. package/dist/views/List/renderListViewSlots.js.map +1 -1
  182. package/dist/views/Version/SelectComparison/VersionDrawer/index.css +5 -0
  183. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +1 -1
  184. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  185. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +1 -2
  186. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  187. package/dist/views/Version/SelectComparison/index.css +5 -0
  188. package/dist/views/Version/SelectComparison/index.d.ts +1 -1
  189. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  190. package/dist/views/Version/SelectComparison/index.js +1 -1
  191. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  192. package/dist/views/Versions/index.css +2 -2
  193. package/dist/views/Versions/index.d.ts +1 -1
  194. package/dist/views/Versions/index.d.ts.map +1 -1
  195. package/dist/views/Versions/index.js +3 -26
  196. package/dist/views/Versions/index.js.map +1 -1
  197. package/package.json +5 -5
  198. package/dist/elements/BulkUpload/AddingFilesView/index.scss +0 -25
  199. package/dist/elements/BulkUpload/EditForm/index.scss +0 -11
  200. package/dist/elements/BulkUpload/EditMany/index.scss +0 -171
  201. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +0 -35
  202. package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
  203. package/dist/elements/Hierarchy/Field/index.scss +0 -41
  204. package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
  205. package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
  206. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
  207. package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
  208. package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
  209. package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
  210. package/dist/elements/LoadMoreRow/index.scss +0 -45
  211. package/dist/fields/Tabs/Tab/index.css +0 -82
  212. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  213. package/dist/views/Version/SelectComparison/index.scss +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","OperationProvider","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","Upload_v4","useFormsManager","baseClass","EditForm","BeforeDocumentMeta","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isInitializing","Upload","CustomUpload","drawerSlug","onSave","onSaveFromContext","getFormState","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","reportUpdate","slug","schemaPath","useState","json","doc","result","entitySlug","operation","updatedAt","Date","toISOString","onChange","formState","prevFormState","controller","docPreferences","state","newFormState","signal","skipValidation","current","abortOnChange","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","BeforeFields","Fragment","customActions","filter","Boolean","uploadConfig","upload","fields","schemaPathSegments","ReportAllErrors","GetFieldProxy","$","getField","getFields","getFormDataRef","t0","t1","docConfig","activeIndex","forms","setFormTotalErrorCount","errorCountRef","fileIsValid","currentForm","file","valid","reportFormErrorCount","fieldErrorCount","newErrorCount","errorCount","index","path","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { Upload_v4 } from '../../Upload/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({\n BeforeDocumentMeta,\n resetUploadEdits,\n submitted,\n updateUploadEdits,\n uploadEdits,\n}: EditFormProps) {\n const {\n action,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n hasSavePermission,\n initialState,\n isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { drawerSlug, onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const { getEntityConfig } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const { reportUpdate } = useDocumentEvents()\n\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n doc: json?.doc || json?.result,\n drawerSlug,\n entitySlug: collectionSlug,\n operation: 'create',\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n resetUploadEdits()\n },\n [collectionSlug, onSaveFromContext, reportUpdate, resetUploadEdits, drawerSlug],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newFormState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n return newFormState\n },\n [collectionSlug, schemaPath, getDocPreferences, getFormState, docPermissions],\n )\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <OperationProvider operation=\"create\">\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <DocumentFields\n BeforeFields={\n <React.Fragment>\n {CustomUpload || (\n <Upload_v4\n collectionSlug={collectionConfig.slug}\n customActions={[BeforeDocumentMeta].filter(Boolean)}\n initialState={initialState}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadConfig={collectionConfig.upload}\n uploadEdits={uploadEdits}\n />\n )}\n </React.Fragment>\n }\n docPermissions={docPermissions}\n fields={collectionConfig.fields}\n schemaPathSegments={[collectionConfig.slug]}\n />\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getField, getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n useEffect(() => {\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n getFormDataRef.current = getFields\n }, [getFields, getField, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, forms, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const fileIsValid = useMemo(() => {\n const currentForm = forms[activeIndex]\n return currentForm?.formState?.file?.valid ?? true\n }, [activeIndex, forms])\n\n const reportFormErrorCount = React.useCallback(\n (fieldErrorCount: number) => {\n let newErrorCount = fieldErrorCount\n // If the file is invalid, count that as an error\n if (!fileIsValid) {\n newErrorCount += 1\n }\n if (newErrorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount: newErrorCount, index: activeIndex })\n errorCountRef.current = newErrorCount\n },\n [activeIndex, setFormTotalErrorCount, fileIsValid],\n )\n\n if (!docConfig) {\n return null\n }\n\n return (\n <WatchChildErrors fields={docConfig.fields} path={[]} setErrorCount={reportFormErrorCount} />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","OperationProvider","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","Upload_v4","useFormsManager","baseClass","EditForm","BeforeDocumentMeta","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isInitializing","Upload","CustomUpload","drawerSlug","onSave","onSaveFromContext","getFormState","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","reportUpdate","slug","schemaPath","useState","json","doc","result","entitySlug","operation","updatedAt","Date","toISOString","onChange","formState","prevFormState","controller","docPreferences","state","newFormState","signal","skipValidation","current","abortOnChange","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","BeforeFields","Fragment","customActions","filter","Boolean","uploadConfig","upload","fields","schemaPathSegments","ReportAllErrors","GetFieldProxy","$","getField","getFields","getFormDataRef","t0","t1","docConfig","activeIndex","forms","setFormTotalErrorCount","errorCountRef","fileIsValid","currentForm","file","valid","reportFormErrorCount","fieldErrorCount","newErrorCount","errorCount","index","path","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { Upload_v4 } from '../../Upload/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({\n BeforeDocumentMeta,\n resetUploadEdits,\n submitted,\n updateUploadEdits,\n uploadEdits,\n}: EditFormProps) {\n const {\n action,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n hasSavePermission,\n initialState,\n isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { drawerSlug, onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const { getEntityConfig } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const { reportUpdate } = useDocumentEvents()\n\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n doc: json?.doc || json?.result,\n drawerSlug,\n entitySlug: collectionSlug,\n operation: 'create',\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n resetUploadEdits()\n },\n [collectionSlug, onSaveFromContext, reportUpdate, resetUploadEdits, drawerSlug],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newFormState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n return newFormState\n },\n [collectionSlug, schemaPath, getDocPreferences, getFormState, docPermissions],\n )\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <OperationProvider operation=\"create\">\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <DocumentFields\n BeforeFields={\n <React.Fragment>\n {CustomUpload || (\n <Upload_v4\n collectionSlug={collectionConfig.slug}\n customActions={[BeforeDocumentMeta].filter(Boolean)}\n initialState={initialState}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadConfig={collectionConfig.upload}\n uploadEdits={uploadEdits}\n />\n )}\n </React.Fragment>\n }\n docPermissions={docPermissions}\n fields={collectionConfig.fields}\n schemaPathSegments={[collectionConfig.slug]}\n />\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getField, getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n useEffect(() => {\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n getFormDataRef.current = getFields\n }, [getFields, getField, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, forms, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const fileIsValid = useMemo(() => {\n const currentForm = forms[activeIndex]\n return currentForm?.formState?.file?.valid ?? true\n }, [activeIndex, forms])\n\n const reportFormErrorCount = React.useCallback(\n (fieldErrorCount: number) => {\n let newErrorCount = fieldErrorCount\n // If the file is invalid, count that as an error\n if (!fileIsValid) {\n newErrorCount += 1\n }\n if (newErrorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount: newErrorCount, index: activeIndex })\n errorCountRef.current = newErrorCount\n },\n [activeIndex, setFormTotalErrorCount, fileIsValid],\n )\n\n if (!docConfig) {\n return null\n }\n\n return (\n <WatchChildErrors fields={docConfig.fields} path={[]} setErrorCount={reportFormErrorCount} />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import type { ClientCollectionConfig } from 'payload';
2
2
  import React from 'react';
3
3
  import type { State } from '../FormsManager/reducer.js';
4
4
  import type { EditManyBulkUploadsProps } from './index.js';
5
- import './index.scss';
5
+ import './index.css';
6
6
  import '../../../forms/RenderFields/index.css';
7
7
  export declare const EditManyBulkUploadsDrawerContent: React.FC<{
8
8
  collection: ClientCollectionConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAc,MAAM,SAAS,CAAA;AAKjE,OAAO,KAAoD,MAAM,OAAO,CAAA;AAKxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAc1D,OAAO,cAAc,CAAA;AACrB,OAAO,uCAAuC,CAAA;AAE9C,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CACrD;IACE,UAAU,EAAE,sBAAsB,CAAA;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;CACtB,GAAG,wBAAwB,CA2K7B,CAAA"}
1
+ {"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/EditMany/DrawerContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAc,MAAM,SAAS,CAAA;AAKjE,OAAO,KAAoD,MAAM,OAAO,CAAA;AAKxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAc1D,OAAO,aAAa,CAAA;AACpB,OAAO,uCAAuC,CAAA;AAE9C,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CACrD;IACE,UAAU,EAAE,sBAAsB,CAAA;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;CACtB,GAAG,wBAAwB,CA4K7B,CAAA"}
@@ -9,7 +9,7 @@ import { Button } from '../../../elements/Button/index.js';
9
9
  import { Form } from '../../../forms/Form/index.js';
10
10
  import { FieldPathContext } from '../../../forms/RenderFields/context.js';
11
11
  import { RenderField } from '../../../forms/RenderFields/RenderField.js';
12
- import { XIcon } from '../../../icons/X/index.js';
12
+ import { ChevronIcon } from '../../../icons/Chevron/index.js';
13
13
  import { useAuth } from '../../../providers/Auth/index.js';
14
14
  import { useServerFunctions } from '../../../providers/ServerFunctions/index.js';
15
15
  import { useTranslation } from '../../../providers/Translation/index.js';
@@ -17,7 +17,7 @@ import { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnor
17
17
  import { FieldSelect } from '../../FieldSelect/index.js';
18
18
  import { useFormsManager } from '../FormsManager/index.js';
19
19
  import { baseClass } from './index.js';
20
- import './index.scss';
20
+ import './index.css';
21
21
  import '../../../forms/RenderFields/index.css';
22
22
  export const EditManyBulkUploadsDrawerContent = props => {
23
23
  const {
@@ -122,67 +122,71 @@ export const EditManyBulkUploadsDrawerContent = props => {
122
122
  });
123
123
  setIsInitializing(false);
124
124
  }, [getFormState, collection, collectionPermissions]);
125
- return /*#__PURE__*/_jsxs("div", {
126
- className: `${baseClass}__main`,
125
+ const title = t('general:editingLabel', {
126
+ count: forms.length,
127
+ label: getTranslation(forms.length > 1 ? plural : singular, i18n)
128
+ });
129
+ return /*#__PURE__*/_jsxs(Form, {
130
+ className: `${baseClass}__form`,
131
+ isInitializing: isInitializing,
132
+ onChange: [onChange],
133
+ onSubmit: handleSubmit,
127
134
  children: [/*#__PURE__*/_jsxs("div", {
128
135
  className: `${baseClass}__header`,
129
- children: [/*#__PURE__*/_jsx("h2", {
130
- className: `${baseClass}__header__title`,
131
- children: t('general:editingLabel', {
132
- count: forms.length,
133
- label: getTranslation(forms.length > 1 ? plural : singular, i18n)
134
- })
135
- }), /*#__PURE__*/_jsx("button", {
136
+ children: [/*#__PURE__*/_jsx(Button, {
136
137
  "aria-label": t('general:close'),
138
+ buttonStyle: "ghost",
137
139
  className: `${baseClass}__header__close`,
140
+ icon: /*#__PURE__*/_jsx(ChevronIcon, {
141
+ direction: "left",
142
+ size: 24
143
+ }),
138
144
  id: `close-drawer__${drawerSlug}`,
139
- onClick: () => closeModal(drawerSlug),
140
- type: "button",
141
- children: /*#__PURE__*/_jsx(XIcon, {})
145
+ onClick: () => closeModal(drawerSlug)
146
+ }), /*#__PURE__*/_jsx("h2", {
147
+ className: `${baseClass}__header__title`,
148
+ title: title,
149
+ children: title
150
+ }), /*#__PURE__*/_jsx("div", {
151
+ className: `${baseClass}__header__actions`,
152
+ children: /*#__PURE__*/_jsx(Button, {
153
+ disabled: selectedFields.length === 0,
154
+ size: "medium",
155
+ type: "submit",
156
+ children: t('general:applyChanges')
157
+ })
142
158
  })]
143
- }), /*#__PURE__*/_jsxs(Form, {
144
- className: `${baseClass}__form`,
145
- isInitializing: isInitializing,
146
- onChange: [onChange],
147
- onSubmit: handleSubmit,
148
- children: [/*#__PURE__*/_jsx(FieldSelect, {
149
- fields: fields,
150
- onChange: onFieldSelect,
151
- permissions: collectionPermissions.fields
152
- }), selectedFields.length === 0 ? null : /*#__PURE__*/_jsx("div", {
153
- className: "render-fields",
154
- children: /*#__PURE__*/_jsx(FieldPathContext, {
155
- value: undefined,
156
- children: selectedFields.map((option_2, i) => {
157
- const {
158
- value: {
159
- field,
160
- fieldPermissions,
161
- path
162
- }
163
- } = option_2;
164
- return /*#__PURE__*/_jsx(RenderField, {
165
- clientFieldConfig: field,
166
- indexPath: "",
167
- parentPath: "",
168
- parentSchemaPath: "",
169
- path: path,
170
- permissions: fieldPermissions
171
- }, `${path}-${i}`);
172
- })
159
+ }), /*#__PURE__*/_jsxs("div", {
160
+ className: `${baseClass}__body`,
161
+ children: [/*#__PURE__*/_jsx("div", {
162
+ className: `${baseClass}__select-fields`,
163
+ children: /*#__PURE__*/_jsx(FieldSelect, {
164
+ fields: fields,
165
+ onChange: onFieldSelect,
166
+ permissions: collectionPermissions.fields
173
167
  })
174
- }), /*#__PURE__*/_jsx("div", {
175
- className: `${baseClass}__sidebar-wrap`,
168
+ }), selectedFields.length === 0 ? null : /*#__PURE__*/_jsx("div", {
169
+ className: `${baseClass}__edit`,
176
170
  children: /*#__PURE__*/_jsx("div", {
177
- className: `${baseClass}__sidebar`,
178
- children: /*#__PURE__*/_jsx("div", {
179
- className: `${baseClass}__sidebar-sticky-wrap`,
180
- children: /*#__PURE__*/_jsx("div", {
181
- className: `${baseClass}__document-actions`,
182
- children: /*#__PURE__*/_jsx(Button, {
183
- type: "submit",
184
- children: t('general:applyChanges')
185
- })
171
+ className: "render-fields",
172
+ children: /*#__PURE__*/_jsx(FieldPathContext, {
173
+ value: undefined,
174
+ children: selectedFields.map((option_2, i) => {
175
+ const {
176
+ value: {
177
+ field,
178
+ fieldPermissions,
179
+ path
180
+ }
181
+ } = option_2;
182
+ return /*#__PURE__*/_jsx(RenderField, {
183
+ clientFieldConfig: field,
184
+ indexPath: "",
185
+ parentPath: "",
186
+ parentSchemaPath: "",
187
+ path: path,
188
+ permissions: fieldPermissions
189
+ }, `${path}-${i}`);
186
190
  })
187
191
  })
188
192
  })
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["useModal","getTranslation","unflatten","React","useCallback","useEffect","useMemo","useState","Button","Form","FieldPathContext","RenderField","XIcon","useAuth","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","FieldSelect","useFormsManager","baseClass","EditManyBulkUploadsDrawerContent","props","collection","fields","labels","plural","singular","drawerSlug","forms","isInitializing","setIsInitializing","permissions","i18n","t","closeModal","bulkUpdateForm","getFormState","abortFormStateRef","useRef","selectedFields","setSelectedFields","collectionPermissions","collections","slug","select","reduce","acc","option","value","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","skipValidation","current","abortFormState","handleSubmit","pairedData","onFieldSelect","dispatchFields","selected","type","_jsxs","className","_jsx","count","length","label","id","onClick","onSubmit","undefined","map","i","field","fieldPermissions","clientFieldConfig","indexPath","parentPath","parentSchemaPath"],"sources":["../../../../src/elements/BulkUpload/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, SelectType } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { unflatten } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../../FieldSelect/index.js'\nimport type { FieldOption } from '../../FieldSelect/reduceFieldOptions.js'\nimport type { State } from '../FormsManager/reducer.js'\nimport type { EditManyBulkUploadsProps } from './index.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { Form } from '../../../forms/Form/index.js'\nimport { FieldPathContext } from '../../../forms/RenderFields/context.js'\nimport { RenderField } from '../../../forms/RenderFields/RenderField.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { FieldSelect } from '../../FieldSelect/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { baseClass } from './index.js'\nimport './index.scss'\nimport '../../../forms/RenderFields/index.css'\n\nexport const EditManyBulkUploadsDrawerContent: React.FC<\n {\n collection: ClientCollectionConfig\n drawerSlug: string\n forms: State['forms']\n } & EditManyBulkUploadsProps\n> = (props) => {\n const {\n collection: { fields, labels: { plural, singular } } = {},\n collection,\n drawerSlug,\n forms,\n } = props\n\n const [isInitializing, setIsInitializing] = useState(false)\n const { permissions } = useAuth()\n const { i18n, t } = useTranslation()\n const { closeModal } = useModal()\n const { bulkUpdateForm } = useFormsManager()\n const { getFormState } = useServerFunctions()\n const abortFormStateRef = React.useRef<AbortController>(null)\n\n const [selectedFields, setSelectedFields] = useState<FieldOption[]>([])\n const collectionPermissions = permissions?.collections?.[collection.slug]\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const handleSubmit: FormProps['onSubmit'] = useCallback(\n (formState) => {\n const pairedData = selectedFields.reduce((acc, option) => {\n if (formState[option.value.path]) {\n acc[option.value.path] = formState[option.value.path].value\n }\n return acc\n }, {})\n\n void bulkUpdateForm(pairedData, () => closeModal(drawerSlug))\n },\n [closeModal, drawerSlug, bulkUpdateForm, selectedFields],\n )\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n setSelectedFields(selected || [])\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'UPDATE_MANY',\n formState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection, collectionPermissions],\n )\n\n return (\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', {\n count: forms.length,\n label: getTranslation(forms.length > 1 ? plural : singular, i18n),\n })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n isInitializing={isInitializing}\n onChange={[onChange]}\n onSubmit={handleSubmit}\n >\n <FieldSelect\n fields={fields}\n onChange={onFieldSelect}\n permissions={collectionPermissions.fields}\n />\n {selectedFields.length === 0 ? null : (\n <div className=\"render-fields\">\n <FieldPathContext value={undefined}>\n {selectedFields.map((option, i) => {\n const {\n value: { field, fieldPermissions, path },\n } = option\n\n return (\n <RenderField\n clientFieldConfig={field}\n indexPath=\"\"\n key={`${path}-${i}`}\n parentPath=\"\"\n parentSchemaPath=\"\"\n path={path}\n permissions={fieldPermissions}\n />\n )\n })}\n </FieldPathContext>\n </div>\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n <Button type=\"submit\">{t('general:applyChanges')}</Button>\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["useModal","getTranslation","unflatten","React","useCallback","useEffect","useMemo","useState","Button","Form","FieldPathContext","RenderField","ChevronIcon","useAuth","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","FieldSelect","useFormsManager","baseClass","EditManyBulkUploadsDrawerContent","props","collection","fields","labels","plural","singular","drawerSlug","forms","isInitializing","setIsInitializing","permissions","i18n","t","closeModal","bulkUpdateForm","getFormState","abortFormStateRef","useRef","selectedFields","setSelectedFields","collectionPermissions","collections","slug","select","reduce","acc","option","value","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","skipValidation","current","abortFormState","handleSubmit","pairedData","onFieldSelect","dispatchFields","selected","type","title","count","length","label","_jsxs","className","onSubmit","_jsx","buttonStyle","icon","direction","size","id","onClick","disabled","undefined","map","i","field","fieldPermissions","clientFieldConfig","indexPath","parentPath","parentSchemaPath"],"sources":["../../../../src/elements/BulkUpload/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, SelectType } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { unflatten } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../../FieldSelect/index.js'\nimport type { FieldOption } from '../../FieldSelect/reduceFieldOptions.js'\nimport type { State } from '../FormsManager/reducer.js'\nimport type { EditManyBulkUploadsProps } from './index.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { Form } from '../../../forms/Form/index.js'\nimport { FieldPathContext } from '../../../forms/RenderFields/context.js'\nimport { RenderField } from '../../../forms/RenderFields/RenderField.js'\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { FieldSelect } from '../../FieldSelect/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { baseClass } from './index.js'\nimport './index.css'\nimport '../../../forms/RenderFields/index.css'\n\nexport const EditManyBulkUploadsDrawerContent: React.FC<\n {\n collection: ClientCollectionConfig\n drawerSlug: string\n forms: State['forms']\n } & EditManyBulkUploadsProps\n> = (props) => {\n const {\n collection: { fields, labels: { plural, singular } } = {},\n collection,\n drawerSlug,\n forms,\n } = props\n\n const [isInitializing, setIsInitializing] = useState(false)\n const { permissions } = useAuth()\n const { i18n, t } = useTranslation()\n const { closeModal } = useModal()\n const { bulkUpdateForm } = useFormsManager()\n const { getFormState } = useServerFunctions()\n const abortFormStateRef = React.useRef<AbortController>(null)\n\n const [selectedFields, setSelectedFields] = useState<FieldOption[]>([])\n const collectionPermissions = permissions?.collections?.[collection.slug]\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const handleSubmit: FormProps['onSubmit'] = useCallback(\n (formState) => {\n const pairedData = selectedFields.reduce((acc, option) => {\n if (formState[option.value.path]) {\n acc[option.value.path] = formState[option.value.path].value\n }\n return acc\n }, {})\n\n void bulkUpdateForm(pairedData, () => closeModal(drawerSlug))\n },\n [closeModal, drawerSlug, bulkUpdateForm, selectedFields],\n )\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n setSelectedFields(selected || [])\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'UPDATE_MANY',\n formState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection, collectionPermissions],\n )\n\n const title = t('general:editingLabel', {\n count: forms.length,\n label: getTranslation(forms.length > 1 ? plural : singular, i18n),\n })\n\n return (\n <Form\n className={`${baseClass}__form`}\n isInitializing={isInitializing}\n onChange={[onChange]}\n onSubmit={handleSubmit}\n >\n <div className={`${baseClass}__header`}>\n <Button\n aria-label={t('general:close')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__header__close`}\n icon={<ChevronIcon direction=\"left\" size={24} />}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n />\n <h2 className={`${baseClass}__header__title`} title={title}>\n {title}\n </h2>\n <div className={`${baseClass}__header__actions`}>\n <Button disabled={selectedFields.length === 0} size=\"medium\" type=\"submit\">\n {t('general:applyChanges')}\n </Button>\n </div>\n </div>\n <div className={`${baseClass}__body`}>\n <div className={`${baseClass}__select-fields`}>\n <FieldSelect\n fields={fields}\n onChange={onFieldSelect}\n permissions={collectionPermissions.fields}\n />\n </div>\n {selectedFields.length === 0 ? null : (\n <div className={`${baseClass}__edit`}>\n <div className=\"render-fields\">\n <FieldPathContext value={undefined}>\n {selectedFields.map((option, i) => {\n const {\n value: { field, fieldPermissions, path },\n } = option\n\n return (\n <RenderField\n clientFieldConfig={field}\n indexPath=\"\"\n key={`${path}-${i}`}\n parentPath=\"\"\n parentSchemaPath=\"\"\n path={path}\n permissions={fieldPermissions}\n />\n )\n })}\n </FieldPathContext>\n </div>\n </div>\n )}\n </div>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ @layer payload-default {
2
+ .edit-many-bulk-uploads__form {
3
+ display: flex;
4
+ flex-direction: column;
5
+ min-height: 100%;
6
+ flex-grow: 1;
7
+ }
8
+
9
+ .edit-many-bulk-uploads__header {
10
+ display: flex;
11
+ align-items: center;
12
+ gap: var(--spacer-1);
13
+ padding: var(--spacer-2-5) var(--spacer-3) var(--spacer-2-5) var(--spacer-2);
14
+ border-bottom: var(--stroke-width-small) solid var(--color-border);
15
+ background: var(--color-bg);
16
+ position: sticky;
17
+ top: 0;
18
+ z-index: 2;
19
+ }
20
+
21
+ .edit-many-bulk-uploads__header__close {
22
+ margin: 0;
23
+ padding: 0;
24
+ border: 0;
25
+ }
26
+
27
+ .edit-many-bulk-uploads__header__title {
28
+ margin: 0;
29
+ flex: 1 0 0;
30
+ min-width: 0;
31
+ overflow: hidden;
32
+ white-space: nowrap;
33
+ text-overflow: ellipsis;
34
+ color: var(--color-text);
35
+ font-family: var(--text-body-large-strong-font-family);
36
+ font-size: var(--text-body-large-strong-font-size);
37
+ font-weight: var(--text-body-large-strong-font-weight);
38
+ line-height: var(--text-body-large-strong-line-height);
39
+ letter-spacing: var(--text-body-large-strong-letter-spacing);
40
+ }
41
+
42
+ .edit-many-bulk-uploads__header__actions {
43
+ display: flex;
44
+ gap: var(--spacer-2);
45
+ align-items: center;
46
+
47
+ .btn {
48
+ margin: 0;
49
+ }
50
+ }
51
+
52
+ .edit-many-bulk-uploads__body {
53
+ flex-grow: 1;
54
+ display: flex;
55
+ flex-direction: column;
56
+ }
57
+
58
+ .edit-many-bulk-uploads__select-fields {
59
+ padding: var(--spacer-4);
60
+ border-bottom: var(--stroke-width-small) solid var(--color-border);
61
+
62
+ .field-select {
63
+ margin-bottom: 0;
64
+ }
65
+ }
66
+
67
+ .edit-many-bulk-uploads__edit {
68
+ padding: var(--spacer-4);
69
+ flex-grow: 1;
70
+ }
71
+ }
@@ -1,6 +1,6 @@
1
1
  import type { ClientCollectionConfig } from 'payload';
2
2
  import React from 'react';
3
- import './index.scss';
3
+ import './index.css';
4
4
  export declare const baseClass = "edit-many-bulk-uploads";
5
5
  export type EditManyBulkUploadsProps = {
6
6
  readonly collection: ClientCollectionConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/EditMany/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,2BAA2B,CAAA;AAEjD,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAsClE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/BulkUpload/EditMany/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,aAAa,CAAA;AAEpB,eAAO,MAAM,SAAS,2BAA2B,CAAA;AAEjD,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAsClE,CAAA"}
@@ -9,7 +9,7 @@ import { useTranslation } from '../../../providers/Translation/index.js';
9
9
  import { Drawer, DrawerToggler } from '../../Drawer/index.js';
10
10
  import { useFormsManager } from '../FormsManager/index.js';
11
11
  import { EditManyBulkUploadsDrawerContent } from './DrawerContent.js';
12
- import './index.scss';
12
+ import './index.css';
13
13
  export const baseClass = 'edit-many-bulk-uploads';
14
14
  export const EditManyBulkUploads = props => {
15
15
  const $ = _c(5);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useAuth","EditDepthProvider","useTranslation","Drawer","DrawerToggler","useFormsManager","EditManyBulkUploadsDrawerContent","baseClass","EditManyBulkUploads","props","$","collection","t0","slug","undefined","permissions","t","forms","collectionPermissions","collections","hasUpdatePermission","update","drawerSlug","t1","_jsxs","className","children","_jsx","buttonStyle","Header"],"sources":["../../../../src/elements/BulkUpload/EditMany/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport React from 'react'\n\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { EditDepthProvider } from '../../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Drawer, DrawerToggler } from '../../Drawer/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { EditManyBulkUploadsDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'edit-many-bulk-uploads'\n\nexport type EditManyBulkUploadsProps = {\n readonly collection: ClientCollectionConfig\n}\n\nexport const EditManyBulkUploads: React.FC<EditManyBulkUploadsProps> = (props) => {\n const { collection: { slug } = {}, collection } = props\n\n const { permissions } = useAuth()\n\n const { t } = useTranslation()\n const { forms } = useFormsManager() // Access forms managed in bulk uploads\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update\n\n const drawerSlug = `edit-${slug}-bulk-uploads`\n\n if (!hasUpdatePermission) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <DrawerToggler\n aria-label={t('general:editAll')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__toggle`}\n slug={drawerSlug}\n >\n {t('general:editAll')}\n </DrawerToggler>\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <EditManyBulkUploadsDrawerContent\n collection={collection}\n drawerSlug={drawerSlug}\n forms={forms}\n />\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,OAAOC,KAAA,MAAW;AAElB,SAASC,OAAO,QAAQ;AACxB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,EAAEC,aAAa,QAAQ;AACtC,SAASC,eAAe,QAAQ;AAChC,SAASC,gCAAgC,QAAQ;AACjD,OAAO;AAEP,OAAO,MAAMC,SAAA,GAAY;AAMzB,OAAO,MAAMC,mBAAA,GAA0DC,KAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EACrE;IAAAa,UAAA,EAAAC,EAAA;IAAAD;EAAA,IAAkDF,KAAA;EAA9B;IAAAI;EAAA,IAAAD,EAAa,KAAAE,SAAA,QAAbF,EAAa;EAEjC;IAAAG;EAAA,IAAwBf,OAAA;EAExB;IAAAgB;EAAA,IAAcd,cAAA;EACd;IAAAe;EAAA,IAAkBZ,eAAA;EAElB,MAAAa,qBAAA,GAA8BH,WAAA,EAAAI,WAAA,GAA2BN,IAAA;EACzD,MAAAO,mBAAA,GAA4BF,qBAAA,EAAAG,MAAA;EAE5B,MAAAC,UAAA,GAAmB,QAAQT,IAAA,eAAmB;EAAA,KAEzCO,mBAAA;IAAA;EAAA;EAAA,IAAAG,EAAA;EAAA,IAAAb,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAY,UAAA,IAAAZ,CAAA,QAAAO,KAAA,IAAAP,CAAA,QAAAM,CAAA;IAKHO,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAAlB,SAAA;MAAAmB,QAAA,GACCC,IAAA,CAAAvB,aAAA;QAAA,cACcY,CAAA,CAAE;QAAAY,WAAA,EACF;QAAAH,SAAA,EACD,GAAAlB,SAAA,UAAsB;QAAAM,IAAA,EAC3BS,UAAA;QAAAI,QAAA,EAELV,CAAA,CAAE;MAAA,C,GAELW,IAAA,CAAA1B,iBAAA;QAAAyB,QAAA,EACEC,IAAA,CAAAxB,MAAA;UAAA0B,MAAA;UAAAhB,IAAA,EAA4BS,UAAA;UAAAA,QAAA,EAC1BK,IAAA,CAAArB,gCAAA;YAAAK,UAAA;YAAAW,UAAA;YAAAL;UAAA,C;;;;;;;;;;;;SAXNM,E;CAoBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useAuth","EditDepthProvider","useTranslation","Drawer","DrawerToggler","useFormsManager","EditManyBulkUploadsDrawerContent","baseClass","EditManyBulkUploads","props","$","collection","t0","slug","undefined","permissions","t","forms","collectionPermissions","collections","hasUpdatePermission","update","drawerSlug","t1","_jsxs","className","children","_jsx","buttonStyle","Header"],"sources":["../../../../src/elements/BulkUpload/EditMany/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport React from 'react'\n\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { EditDepthProvider } from '../../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Drawer, DrawerToggler } from '../../Drawer/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { EditManyBulkUploadsDrawerContent } from './DrawerContent.js'\nimport './index.css'\n\nexport const baseClass = 'edit-many-bulk-uploads'\n\nexport type EditManyBulkUploadsProps = {\n readonly collection: ClientCollectionConfig\n}\n\nexport const EditManyBulkUploads: React.FC<EditManyBulkUploadsProps> = (props) => {\n const { collection: { slug } = {}, collection } = props\n\n const { permissions } = useAuth()\n\n const { t } = useTranslation()\n const { forms } = useFormsManager() // Access forms managed in bulk uploads\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update\n\n const drawerSlug = `edit-${slug}-bulk-uploads`\n\n if (!hasUpdatePermission) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <DrawerToggler\n aria-label={t('general:editAll')}\n buttonStyle=\"secondary\"\n className={`${baseClass}__toggle`}\n slug={drawerSlug}\n >\n {t('general:editAll')}\n </DrawerToggler>\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <EditManyBulkUploadsDrawerContent\n collection={collection}\n drawerSlug={drawerSlug}\n forms={forms}\n />\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,OAAOC,KAAA,MAAW;AAElB,SAASC,OAAO,QAAQ;AACxB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,EAAEC,aAAa,QAAQ;AACtC,SAASC,eAAe,QAAQ;AAChC,SAASC,gCAAgC,QAAQ;AACjD,OAAO;AAEP,OAAO,MAAMC,SAAA,GAAY;AAMzB,OAAO,MAAMC,mBAAA,GAA0DC,KAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EACrE;IAAAa,UAAA,EAAAC,EAAA;IAAAD;EAAA,IAAkDF,KAAA;EAA9B;IAAAI;EAAA,IAAAD,EAAa,KAAAE,SAAA,QAAbF,EAAa;EAEjC;IAAAG;EAAA,IAAwBf,OAAA;EAExB;IAAAgB;EAAA,IAAcd,cAAA;EACd;IAAAe;EAAA,IAAkBZ,eAAA;EAElB,MAAAa,qBAAA,GAA8BH,WAAA,EAAAI,WAAA,GAA2BN,IAAA;EACzD,MAAAO,mBAAA,GAA4BF,qBAAA,EAAAG,MAAA;EAE5B,MAAAC,UAAA,GAAmB,QAAQT,IAAA,eAAmB;EAAA,KAEzCO,mBAAA;IAAA;EAAA;EAAA,IAAAG,EAAA;EAAA,IAAAb,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAY,UAAA,IAAAZ,CAAA,QAAAO,KAAA,IAAAP,CAAA,QAAAM,CAAA;IAKHO,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAAlB,SAAA;MAAAmB,QAAA,GACCC,IAAA,CAAAvB,aAAA;QAAA,cACcY,CAAA,CAAE;QAAAY,WAAA,EACF;QAAAH,SAAA,EACD,GAAAlB,SAAA,UAAsB;QAAAM,IAAA,EAC3BS,UAAA;QAAAI,QAAA,EAELV,CAAA,CAAE;MAAA,C,GAELW,IAAA,CAAA1B,iBAAA;QAAAyB,QAAA,EACEC,IAAA,CAAAxB,MAAA;UAAA0B,MAAA;UAAAhB,IAAA,EAA4BS,UAAA;UAAAA,QAAA,EAC1BK,IAAA,CAAArB,gCAAA;YAAAK,UAAA;YAAAW,UAAA;YAAAL;UAAA,C;;;;;;;;;;;;SAXNM,E;CAoBJ","ignoreList":[]}