@payloadcms/ui 3.2.3-canary.2d2e7d5 → 3.2.3-canary.5e3c2f6

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 (292) hide show
  1. package/dist/elements/AddNewRelation/index.js +40 -40
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/AddNewRelation/useRelatedCollections.js +3 -3
  4. package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -1
  5. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +13 -12
  6. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  7. package/dist/elements/ArrayAction/index.js +10 -10
  8. package/dist/elements/ArrayAction/index.js.map +1 -1
  9. package/dist/elements/BulkUpload/ActionsBar/index.js +13 -13
  10. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/AddingFilesView/index.js +14 -14
  12. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  14. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +3 -3
  16. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/FileSidebar/index.js +29 -26
  18. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  19. package/dist/elements/BulkUpload/FormsManager/index.js +2 -0
  20. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/index.js +8 -8
  22. package/dist/elements/BulkUpload/index.js.map +1 -1
  23. package/dist/elements/CodeEditor/CodeEditor.js +28 -32
  24. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  25. package/dist/elements/Collapsible/index.js +13 -13
  26. package/dist/elements/Collapsible/index.js.map +1 -1
  27. package/dist/elements/ColumnSelector/index.js +10 -10
  28. package/dist/elements/ColumnSelector/index.js.map +1 -1
  29. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  30. package/dist/elements/DatePicker/DatePicker.js +4 -4
  31. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  32. package/dist/elements/DocumentControls/index.js +9 -9
  33. package/dist/elements/DocumentControls/index.js.map +1 -1
  34. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +4 -4
  35. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  36. package/dist/elements/DocumentDrawer/index.js +47 -47
  37. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  38. package/dist/elements/DocumentLocked/index.js +21 -21
  39. package/dist/elements/DocumentLocked/index.js.map +1 -1
  40. package/dist/elements/DocumentTakeOver/index.js +10 -10
  41. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  42. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +9 -9
  43. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  44. package/dist/elements/DraggableSortable/index.js +11 -11
  45. package/dist/elements/DraggableSortable/index.js.map +1 -1
  46. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +8 -8
  47. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  48. package/dist/elements/Drawer/index.js +38 -38
  49. package/dist/elements/Drawer/index.js.map +1 -1
  50. package/dist/elements/Drawer/useDrawerSlug.js +3 -3
  51. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  52. package/dist/elements/EditMany/index.js +21 -21
  53. package/dist/elements/EditMany/index.js.map +1 -1
  54. package/dist/elements/FieldSelect/index.js +17 -16
  55. package/dist/elements/FieldSelect/index.js.map +1 -1
  56. package/dist/elements/FileDetails/DraggableFileDetails/index.js +15 -15
  57. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  58. package/dist/elements/FileDetails/FileMeta/index.js +15 -15
  59. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  60. package/dist/elements/FullscreenModal/index.js +4 -4
  61. package/dist/elements/FullscreenModal/index.js.map +1 -1
  62. package/dist/elements/Hamburger/index.js +4 -4
  63. package/dist/elements/Hamburger/index.js.map +1 -1
  64. package/dist/elements/HydrateAuthProvider/index.js +3 -3
  65. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  66. package/dist/elements/LeaveWithoutSaving/index.js +11 -11
  67. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  68. package/dist/elements/ListDrawer/index.js +19 -18
  69. package/dist/elements/ListDrawer/index.js.map +1 -1
  70. package/dist/elements/ListSelection/index.js +3 -3
  71. package/dist/elements/ListSelection/index.js.map +1 -1
  72. package/dist/elements/Loading/index.js +15 -15
  73. package/dist/elements/Loading/index.js.map +1 -1
  74. package/dist/elements/LoadingOverlay/index.js +18 -16
  75. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  76. package/dist/elements/Localizer/LocalizerLabel/index.js +5 -5
  77. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  78. package/dist/elements/Localizer/index.js +8 -8
  79. package/dist/elements/Localizer/index.js.map +1 -1
  80. package/dist/elements/Locked/index.js +3 -3
  81. package/dist/elements/Locked/index.js.map +1 -1
  82. package/dist/elements/Logout/index.js +7 -7
  83. package/dist/elements/Logout/index.js.map +1 -1
  84. package/dist/elements/Nav/NavToggler/index.js +13 -13
  85. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  86. package/dist/elements/NavGroup/index.js +12 -12
  87. package/dist/elements/NavGroup/index.js.map +1 -1
  88. package/dist/elements/PerPage/index.js +7 -7
  89. package/dist/elements/PerPage/index.js.map +1 -1
  90. package/dist/elements/Pill/index.js +8 -8
  91. package/dist/elements/Pill/index.js.map +1 -1
  92. package/dist/elements/Popup/index.js +1 -0
  93. package/dist/elements/Popup/index.js.map +1 -1
  94. package/dist/elements/PreviewButton/index.js +3 -3
  95. package/dist/elements/PreviewButton/index.js.map +1 -1
  96. package/dist/elements/PublishButton/index.js +28 -28
  97. package/dist/elements/PublishButton/index.js.map +1 -1
  98. package/dist/elements/ReactSelect/Input/index.d.ts +2 -2
  99. package/dist/elements/ReactSelect/Input/index.d.ts.map +1 -1
  100. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  101. package/dist/elements/ReactSelect/MultiValue/index.js +10 -10
  102. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  103. package/dist/elements/ReactSelect/MultiValueRemove/index.js +5 -5
  104. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  105. package/dist/elements/ReactSelect/index.js.map +1 -1
  106. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +4 -4
  107. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  108. package/dist/elements/RelationshipTable/index.js +278 -142
  109. package/dist/elements/RelationshipTable/index.js.map +1 -1
  110. package/dist/elements/RenderIfInViewport/index.js +3 -3
  111. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  112. package/dist/elements/RenderTitle/index.js +6 -6
  113. package/dist/elements/RenderTitle/index.js.map +1 -1
  114. package/dist/elements/SelectAll/index.js +3 -3
  115. package/dist/elements/SelectAll/index.js.map +1 -1
  116. package/dist/elements/SelectRow/index.js +6 -6
  117. package/dist/elements/SelectRow/index.js.map +1 -1
  118. package/dist/elements/ShimmerEffect/index.js +7 -7
  119. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  120. package/dist/elements/SortColumn/index.js +16 -16
  121. package/dist/elements/SortColumn/index.js.map +1 -1
  122. package/dist/elements/SortComplex/index.js +35 -45
  123. package/dist/elements/SortComplex/index.js.map +1 -1
  124. package/dist/elements/Status/index.js +38 -35
  125. package/dist/elements/Status/index.js.map +1 -1
  126. package/dist/elements/StayLoggedIn/index.js +12 -12
  127. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  128. package/dist/elements/StepNav/SetStepNav.js +3 -3
  129. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  130. package/dist/elements/StepNav/context.js +3 -3
  131. package/dist/elements/StepNav/context.js.map +1 -1
  132. package/dist/elements/StepNav/index.js +9 -9
  133. package/dist/elements/StepNav/index.js.map +1 -1
  134. package/dist/elements/Table/DefaultCell/fields/Date/index.js +3 -3
  135. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  136. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +31 -31
  137. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  138. package/dist/elements/Table/DefaultCell/fields/Select/index.js +3 -3
  139. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  140. package/dist/elements/Table/DefaultCell/index.js +15 -15
  141. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  142. package/dist/elements/Table/RelationshipProvider/index.js +12 -9
  143. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  144. package/dist/elements/TableColumns/RenderDefaultCell/index.js +6 -6
  145. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
  146. package/dist/elements/Thumbnail/index.js +27 -27
  147. package/dist/elements/Thumbnail/index.js.map +1 -1
  148. package/dist/elements/ThumbnailCard/index.js +10 -10
  149. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  150. package/dist/elements/Tooltip/index.js +29 -24
  151. package/dist/elements/Tooltip/index.js.map +1 -1
  152. package/dist/elements/Upload/index.js +5 -5
  153. package/dist/elements/Upload/index.js.map +1 -1
  154. package/dist/elements/WhereBuilder/Condition/Number/index.js +3 -3
  155. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  156. package/dist/elements/WhereBuilder/Condition/Select/index.js +13 -10
  157. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  158. package/dist/elements/WhereBuilder/Condition/Text/index.js +5 -5
  159. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  160. package/dist/elements/WhereBuilder/Condition/index.js +45 -45
  161. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  162. package/dist/elements/WhereBuilder/index.js +11 -11
  163. package/dist/elements/WhereBuilder/index.js.map +1 -1
  164. package/dist/exports/client/{DatePicker-QST7QHAX.js → CodeEditor-RZ32B2QF.js} +2 -2
  165. package/dist/exports/client/DatePicker-QW5V4BQV.js +14 -0
  166. package/dist/exports/client/DatePicker-QW5V4BQV.js.map +8 -0
  167. package/dist/exports/client/chunk-CKHKQPOO.js +26 -0
  168. package/dist/exports/client/{CodeEditor-5MCGR4GL.js.map → chunk-CKHKQPOO.js.map} +4 -4
  169. package/dist/exports/client/chunk-KZPVHMBR.js +29 -0
  170. package/dist/exports/client/chunk-KZPVHMBR.js.map +8 -0
  171. package/dist/exports/client/index.d.ts +4 -1
  172. package/dist/exports/client/index.d.ts.map +1 -1
  173. package/dist/exports/client/index.js +16 -16
  174. package/dist/exports/client/index.js.map +4 -4
  175. package/dist/fields/Array/ArrayRow.js +38 -38
  176. package/dist/fields/Array/ArrayRow.js.map +1 -1
  177. package/dist/fields/Array/index.js +23 -23
  178. package/dist/fields/Array/index.js.map +1 -1
  179. package/dist/fields/Blocks/BlockRow.js +51 -49
  180. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  181. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +3 -3
  182. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  183. package/dist/fields/Blocks/BlocksDrawer/index.js +13 -13
  184. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  185. package/dist/fields/Blocks/RowActions.js +25 -25
  186. package/dist/fields/Blocks/RowActions.js.map +1 -1
  187. package/dist/fields/Blocks/SectionTitle/index.js +8 -8
  188. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  189. package/dist/fields/Blocks/index.js +22 -22
  190. package/dist/fields/Blocks/index.js.map +1 -1
  191. package/dist/fields/ConfirmPassword/index.js +6 -6
  192. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  193. package/dist/fields/FieldLabel/index.js +18 -18
  194. package/dist/fields/FieldLabel/index.js.map +1 -1
  195. package/dist/fields/Hidden/index.js +7 -7
  196. package/dist/fields/Hidden/index.js.map +1 -1
  197. package/dist/fields/Password/input.js +24 -24
  198. package/dist/fields/Password/input.js.map +1 -1
  199. package/dist/fields/RadioGroup/Radio/index.js +9 -9
  200. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  201. package/dist/fields/Relationship/index.js.map +1 -1
  202. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +18 -18
  203. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  204. package/dist/fields/Relationship/select-components/SingleValue/index.js +18 -18
  205. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  206. package/dist/fields/Select/Input.js +28 -28
  207. package/dist/fields/Select/Input.js.map +1 -1
  208. package/dist/fields/Tabs/Tab/index.js +10 -10
  209. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  210. package/dist/fields/Tabs/index.js +69 -69
  211. package/dist/fields/Tabs/index.js.map +1 -1
  212. package/dist/fields/Text/Input.js +24 -24
  213. package/dist/fields/Text/Input.js.map +1 -1
  214. package/dist/fields/Textarea/Input.js +19 -19
  215. package/dist/fields/Textarea/Input.js.map +1 -1
  216. package/dist/fields/Upload/HasMany/index.js +11 -11
  217. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  218. package/dist/fields/Upload/Input.js +109 -104
  219. package/dist/fields/Upload/Input.js.map +1 -1
  220. package/dist/fields/Upload/RelationshipContent/index.js +20 -20
  221. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  222. package/dist/forms/NullifyField/index.js +3 -3
  223. package/dist/forms/NullifyField/index.js.map +1 -1
  224. package/dist/forms/RenderFields/RenderField.js +9 -9
  225. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  226. package/dist/forms/RenderFields/index.js +16 -16
  227. package/dist/forms/RenderFields/index.js.map +1 -1
  228. package/dist/forms/WatchChildErrors/index.js +10 -10
  229. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  230. package/dist/forms/useField/index.js +44 -44
  231. package/dist/forms/useField/index.js.map +1 -1
  232. package/dist/hooks/useDebounce.js +3 -3
  233. package/dist/hooks/useDebounce.js.map +1 -1
  234. package/dist/hooks/useDebouncedEffect.js +6 -6
  235. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  236. package/dist/hooks/useDelay.js +3 -3
  237. package/dist/hooks/useDelay.js.map +1 -1
  238. package/dist/hooks/useHotkey.js +18 -14
  239. package/dist/hooks/useHotkey.js.map +1 -1
  240. package/dist/hooks/usePayloadAPI.js +13 -13
  241. package/dist/hooks/usePayloadAPI.js.map +1 -1
  242. package/dist/hooks/useThrottledEffect.js +3 -3
  243. package/dist/hooks/useThrottledEffect.js.map +1 -1
  244. package/dist/providers/Actions/index.js +4 -4
  245. package/dist/providers/Actions/index.js.map +1 -1
  246. package/dist/providers/ClientFunction/index.js +3 -3
  247. package/dist/providers/ClientFunction/index.js.map +1 -1
  248. package/dist/providers/Config/index.js +9 -10
  249. package/dist/providers/Config/index.js.map +1 -1
  250. package/dist/providers/DocumentEvents/index.js +3 -3
  251. package/dist/providers/DocumentEvents/index.js.map +1 -1
  252. package/dist/providers/EditDepth/index.js +3 -3
  253. package/dist/providers/EditDepth/index.js.map +1 -1
  254. package/dist/providers/EntityVisibility/index.js +9 -10
  255. package/dist/providers/EntityVisibility/index.js.map +1 -1
  256. package/dist/providers/Locale/index.js +22 -22
  257. package/dist/providers/Locale/index.js.map +1 -1
  258. package/dist/providers/Params/index.js +3 -3
  259. package/dist/providers/Params/index.js.map +1 -1
  260. package/dist/providers/RouteCache/index.js +6 -6
  261. package/dist/providers/RouteCache/index.js.map +1 -1
  262. package/dist/providers/SearchParams/index.js +4 -4
  263. package/dist/providers/SearchParams/index.js.map +1 -1
  264. package/dist/providers/Selection/index.js +3 -3
  265. package/dist/providers/Selection/index.js.map +1 -1
  266. package/dist/providers/Theme/index.js +7 -7
  267. package/dist/providers/Theme/index.js.map +1 -1
  268. package/dist/providers/Translation/index.js +12 -12
  269. package/dist/providers/Translation/index.js.map +1 -1
  270. package/dist/providers/UploadEdits/index.js +3 -3
  271. package/dist/providers/UploadEdits/index.js.map +1 -1
  272. package/dist/utilities/buildClientFieldSchemaMap/index.js +2 -0
  273. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  274. package/dist/utilities/buildFieldSchemaMap/index.js +2 -0
  275. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  276. package/dist/utilities/groupNavItems.js +3 -3
  277. package/dist/utilities/groupNavItems.js.map +1 -1
  278. package/dist/views/Edit/Auth/index.js +47 -47
  279. package/dist/views/Edit/Auth/index.js.map +1 -1
  280. package/dist/views/Edit/SetDocumentStepNav/index.js +14 -14
  281. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  282. package/dist/views/Edit/SetDocumentTitle/index.js +5 -5
  283. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  284. package/dist/views/List/index.js +20 -24
  285. package/dist/views/List/index.js.map +1 -1
  286. package/package.json +15 -16
  287. package/dist/exports/client/CodeEditor-5MCGR4GL.js +0 -26
  288. package/dist/exports/client/chunk-4SO5UCQD.js +0 -14
  289. package/dist/exports/client/chunk-4SO5UCQD.js.map +0 -8
  290. package/dist/exports/client/chunk-5LUHGAPX.js +0 -30
  291. package/dist/exports/client/chunk-5LUHGAPX.js.map +0 -8
  292. /package/dist/exports/client/{DatePicker-QST7QHAX.js.map → CodeEditor-RZ32B2QF.js.map} +0 -0
@@ -46,7 +46,7 @@ export function DiscardWithoutSaving() {
46
46
  }
47
47
  const onConfirm = t1;
48
48
  let t2;
49
- if ($[5] !== t || $[6] !== onCancel || $[7] !== onConfirm) {
49
+ if ($[5] !== onCancel || $[6] !== onConfirm || $[7] !== t) {
50
50
  t2 = _jsx(FullscreenModal, {
51
51
  className: baseClass,
52
52
  slug: discardBulkUploadModalSlug,
@@ -74,9 +74,9 @@ export function DiscardWithoutSaving() {
74
74
  })]
75
75
  })
76
76
  });
77
- $[5] = t;
78
- $[6] = onCancel;
79
- $[7] = onConfirm;
77
+ $[5] = onCancel;
78
+ $[6] = onConfirm;
79
+ $[7] = t;
80
80
  $[8] = t2;
81
81
  } else {
82
82
  t2 = $[8];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","useTranslation","Button","FullscreenModal","useBulkUpload","discardBulkUploadModalSlug","baseClass","DiscardWithoutSaving","$","t","closeModal","drawerSlug","t0","onCancel","t1","onConfirm","t2","_jsx","className","slug","children","_jsxs","buttonStyle","onClick","size"],"sources":["../../../../src/elements/BulkUpload/DiscardWithoutSaving/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { FullscreenModal } from '../../FullscreenModal/index.js'\nimport { useBulkUpload } from '../index.js'\n\nexport const discardBulkUploadModalSlug = 'bulk-upload--discard-without-saving'\nconst baseClass = 'leave-without-saving'\n\nexport function DiscardWithoutSaving() {\n const { t } = useTranslation()\n const { closeModal } = useModal()\n const { drawerSlug } = useBulkUpload()\n\n const onCancel = React.useCallback(() => {\n closeModal(discardBulkUploadModalSlug)\n }, [closeModal])\n\n const onConfirm = React.useCallback(() => {\n closeModal(drawerSlug)\n closeModal(discardBulkUploadModalSlug)\n }, [closeModal, drawerSlug])\n\n return (\n <FullscreenModal className={baseClass} slug={discardBulkUploadModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:leaveWithoutSaving')}</h1>\n <p>{t('general:changesNotSaved')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button buttonStyle=\"secondary\" onClick={onCancel} size=\"large\">\n {t('general:stayOnThisPage')}\n </Button>\n <Button onClick={onConfirm} size=\"large\">\n {t('general:leaveAnyway')}\n </Button>\n </div>\n </div>\n </FullscreenModal>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,eAAe,QAAQ;AAChC,SAASC,aAAa,QAAQ;AAE9B,OAAO,MAAMC,0BAAA,GAA6B;AAC1C,MAAMC,SAAA,GAAY;AAElB,OAAO,SAAAC,qBAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACL;IAAAW;EAAA,IAAcR,cAAA;EACd;IAAAS;EAAA,IAAuBX,QAAA;EACvB;IAAAY;EAAA,IAAuBP,aAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAJ,CAAA,QAAAE,UAAA;IAEYE,EAAA,GAAAA,CAAA;MACjCF,UAAA,CAAAL,0BAAW;IAAA;IACbG,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAFA,MAAAK,QAAA,GAAiBD,EAEF;EAAA,IAAAE,EAAA;EAAA,IAAAN,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAG,UAAA;IAEqBG,EAAA,GAAAA,CAAA;MAClCJ,UAAA,CAAWC,UAAA;MACXD,UAAA,CAAAL,0BAAW;IAAA;IACbG,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAHA,MAAAO,SAAA,GAAkBD,EAGS;EAAA,IAAAE,EAAA;EAAA,IAAAR,CAAA,QAAAC,CAAA,IAAAD,CAAA,QAAAK,QAAA,IAAAL,CAAA,QAAAO,SAAA;IAGzBC,EAAA,GAAAC,IAAA,CAAAd,eAAA;MAAAe,SAAA,EAAAZ,SAAA;MAAAa,IAAA,EAAAd,0BAAA;MAAAe,QAAA,EACEC,KAAA,CAAC;QAAAH,SAAA,EAAe,GAAAZ,SAAA,WAAuB;QAAAc,QAAA,GACrCC,KAAA,CAAC;UAAAH,SAAA,EAAe,GAAAZ,SAAA,WAAuB;UAAAc,QAAA,GACrCH,IAAA,CAAC;YAAAG,QAAA,EAAIX,CAAA,CAAE;UAAA,C,GACPQ,IAAA,CAAC;YAAAG,QAAA,EAAGX,CAAA,CAAE;UAAA,C;YAERY,KAAA,CAAC;UAAAH,SAAA,EAAe,GAAAZ,SAAA,YAAwB;UAAAc,QAAA,GACtCH,IAAA,CAAAf,MAAA;YAAAoB,WAAA,EAAoB;YAAAC,OAAA,EAAqBV,QAAA;YAAAW,IAAA,EAAe;YAAAJ,QAAA,EACrDX,CAAA,CAAE;UAAA,C,GAELQ,IAAA,CAAAf,MAAA;YAAAqB,OAAA,EAAiBR,SAAA;YAAAS,IAAA,EAAgB;YAAAJ,QAAA,EAC9BX,CAAA,CAAE;UAAA,C;;;;;;;;;;;SAXXO,E","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","useTranslation","Button","FullscreenModal","useBulkUpload","discardBulkUploadModalSlug","baseClass","DiscardWithoutSaving","$","t","closeModal","drawerSlug","t0","onCancel","t1","onConfirm","t2","_jsx","className","slug","children","_jsxs","buttonStyle","onClick","size"],"sources":["../../../../src/elements/BulkUpload/DiscardWithoutSaving/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { FullscreenModal } from '../../FullscreenModal/index.js'\nimport { useBulkUpload } from '../index.js'\n\nexport const discardBulkUploadModalSlug = 'bulk-upload--discard-without-saving'\nconst baseClass = 'leave-without-saving'\n\nexport function DiscardWithoutSaving() {\n const { t } = useTranslation()\n const { closeModal } = useModal()\n const { drawerSlug } = useBulkUpload()\n\n const onCancel = React.useCallback(() => {\n closeModal(discardBulkUploadModalSlug)\n }, [closeModal])\n\n const onConfirm = React.useCallback(() => {\n closeModal(drawerSlug)\n closeModal(discardBulkUploadModalSlug)\n }, [closeModal, drawerSlug])\n\n return (\n <FullscreenModal className={baseClass} slug={discardBulkUploadModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:leaveWithoutSaving')}</h1>\n <p>{t('general:changesNotSaved')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button buttonStyle=\"secondary\" onClick={onCancel} size=\"large\">\n {t('general:stayOnThisPage')}\n </Button>\n <Button onClick={onConfirm} size=\"large\">\n {t('general:leaveAnyway')}\n </Button>\n </div>\n </div>\n </FullscreenModal>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,eAAe,QAAQ;AAChC,SAASC,aAAa,QAAQ;AAE9B,OAAO,MAAMC,0BAAA,GAA6B;AAC1C,MAAMC,SAAA,GAAY;AAElB,OAAO,SAAAC,qBAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACL;IAAAW;EAAA,IAAcR,cAAA;EACd;IAAAS;EAAA,IAAuBX,QAAA;EACvB;IAAAY;EAAA,IAAuBP,aAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAJ,CAAA,QAAAE,UAAA;IAEYE,EAAA,GAAAA,CAAA;MACjCF,UAAA,CAAAL,0BAAW;IAAA;IACbG,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAFA,MAAAK,QAAA,GAAiBD,EAEF;EAAA,IAAAE,EAAA;EAAA,IAAAN,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAG,UAAA;IAEqBG,EAAA,GAAAA,CAAA;MAClCJ,UAAA,CAAWC,UAAA;MACXD,UAAA,CAAAL,0BAAW;IAAA;IACbG,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAHA,MAAAO,SAAA,GAAkBD,EAGS;EAAA,IAAAE,EAAA;EAAA,IAAAR,CAAA,QAAAK,QAAA,IAAAL,CAAA,QAAAO,SAAA,IAAAP,CAAA,QAAAC,CAAA;IAGzBO,EAAA,GAAAC,IAAA,CAAAd,eAAA;MAAAe,SAAA,EAAAZ,SAAA;MAAAa,IAAA,EAAAd,0BAAA;MAAAe,QAAA,EACEC,KAAA,CAAC;QAAAH,SAAA,EAAe,GAAAZ,SAAA,WAAuB;QAAAc,QAAA,GACrCC,KAAA,CAAC;UAAAH,SAAA,EAAe,GAAAZ,SAAA,WAAuB;UAAAc,QAAA,GACrCH,IAAA,CAAC;YAAAG,QAAA,EAAIX,CAAA,CAAE;UAAA,C,GACPQ,IAAA,CAAC;YAAAG,QAAA,EAAGX,CAAA,CAAE;UAAA,C;YAERY,KAAA,CAAC;UAAAH,SAAA,EAAe,GAAAZ,SAAA,YAAwB;UAAAc,QAAA,GACtCH,IAAA,CAAAf,MAAA;YAAAoB,WAAA,EAAoB;YAAAC,OAAA,EAAqBV,QAAA;YAAAW,IAAA,EAAe;YAAAJ,QAAA,EACrDX,CAAA,CAAE;UAAA,C,GAELQ,IAAA,CAAAf,MAAA;YAAAqB,OAAA,EAAiBR,SAAA;YAAAS,IAAA,EAAgB;YAAAJ,QAAA,EAC9BX,CAAA,CAAE;UAAA,C;;;;;;;;;;;SAXXO,E","ignoreList":[]}
@@ -16,7 +16,7 @@ export function DrawerCloseButton(t0) {
16
16
  t
17
17
  } = useTranslation();
18
18
  let t1;
19
- if ($[0] !== t || $[1] !== onClick) {
19
+ if ($[0] !== onClick || $[1] !== t) {
20
20
  t1 = _jsx("button", {
21
21
  "aria-label": t("general:close"),
22
22
  className: baseClass,
@@ -24,8 +24,8 @@ export function DrawerCloseButton(t0) {
24
24
  type: "button",
25
25
  children: _jsx(XIcon, {})
26
26
  });
27
- $[0] = t;
28
- $[1] = onClick;
27
+ $[0] = onClick;
28
+ $[1] = t;
29
29
  $[2] = t1;
30
30
  } else {
31
31
  t1 = $[2];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","XIcon","useTranslation","baseClass","DrawerCloseButton","t0","$","onClick","t","t1","_jsx","className","type","children"],"sources":["../../../../src/elements/BulkUpload/DrawerCloseButton/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'drawer-close-button'\n\ntype Props = {\n readonly onClick: () => void\n}\nexport function DrawerCloseButton({ onClick }: Props) {\n const { t } = useTranslation()\n\n return (\n <button aria-label={t('general:close')} className={baseClass} onClick={onClick} type=\"button\">\n <XIcon />\n </button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,KAAK,QAAQ;AACtB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAKlB,OAAO,SAAAC,kBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAA2B;IAAAQ;EAAA,IAAAF,EAAkB;EAClD;IAAAG;EAAA,IAAcN,cAAA;EAAA,IAAAO,EAAA;EAAA,IAAAH,CAAA,QAAAE,CAAA,IAAAF,CAAA,QAAAC,OAAA;IAGZE,EAAA,GAAAC,IAAA,CAAC;MAAA,cAAmBF,CAAA,CAAE;MAAAG,SAAA,EAAAR,SAAA;MAAAI,OAAA;MAAAK,IAAA,EAA+D;MAAAC,QAAA,EACnFH,IAAA,CAAAT,KAAA,IAAC;IAAA,C;;;;;;;SADHQ,E","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","XIcon","useTranslation","baseClass","DrawerCloseButton","t0","$","onClick","t","t1","_jsx","className","type","children"],"sources":["../../../../src/elements/BulkUpload/DrawerCloseButton/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'drawer-close-button'\n\ntype Props = {\n readonly onClick: () => void\n}\nexport function DrawerCloseButton({ onClick }: Props) {\n const { t } = useTranslation()\n\n return (\n <button aria-label={t('general:close')} className={baseClass} onClick={onClick} type=\"button\">\n <XIcon />\n </button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,KAAK,QAAQ;AACtB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAKlB,OAAO,SAAAC,kBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAA2B;IAAAQ;EAAA,IAAAF,EAAkB;EAClD;IAAAG;EAAA,IAAcN,cAAA;EAAA,IAAAO,EAAA;EAAA,IAAAH,CAAA,QAAAC,OAAA,IAAAD,CAAA,QAAAE,CAAA;IAGZC,EAAA,GAAAC,IAAA,CAAC;MAAA,cAAmBF,CAAA,CAAE;MAAAG,SAAA,EAAAR,SAAA;MAAAI,OAAA;MAAAK,IAAA,EAA+D;MAAAC,QAAA,EACnFH,IAAA,CAAAT,KAAA,IAAC;IAAA,C;;;;;;;SADHQ,E","ignoreList":[]}
@@ -88,10 +88,10 @@ export function FileSidebar() {
88
88
  }
89
89
  const t4 = t3.join(" ");
90
90
  let t5;
91
- if ($[7] !== breakpoints.m || $[8] !== showFiles || $[9] !== totalErrorCount || $[10] !== i18n || $[11] !== totalFileCount || $[12] !== t || $[13] !== maxFiles || $[14] !== openModal || $[15] !== closeModal || $[16] !== handleAddFiles || $[17] !== isInitializing || $[18] !== forms || $[19] !== initialFiles || $[20] !== activeIndex || $[21] !== setActiveIndex || $[22] !== thumbnailUrls || $[23] !== handleRemoveFile || $[24] !== t4) {
91
+ if ($[7] !== activeIndex || $[8] !== breakpoints.m || $[9] !== closeModal || $[10] !== forms || $[11] !== handleAddFiles || $[12] !== handleRemoveFile || $[13] !== i18n || $[14] !== initialFiles || $[15] !== isInitializing || $[16] !== maxFiles || $[17] !== openModal || $[18] !== setActiveIndex || $[19] !== showFiles || $[20] !== t || $[21] !== t4 || $[22] !== thumbnailUrls || $[23] !== totalErrorCount || $[24] !== totalFileCount) {
92
92
  let t6;
93
93
  if ($[26] === Symbol.for("react.memo_cache_sentinel")) {
94
- t6 = () => setShowFiles(prev => !prev);
94
+ t6 = () => setShowFiles(_temp2);
95
95
  $[26] = t6;
96
96
  } else {
97
97
  t6 = $[26];
@@ -105,7 +105,7 @@ export function FileSidebar() {
105
105
  t7 = $[28];
106
106
  }
107
107
  let t8;
108
- if ($[29] !== activeIndex || $[30] !== setActiveIndex || $[31] !== thumbnailUrls || $[32] !== i18n || $[33] !== t || $[34] !== handleRemoveFile) {
108
+ if ($[29] !== activeIndex || $[30] !== handleRemoveFile || $[31] !== i18n || $[32] !== setActiveIndex || $[33] !== t || $[34] !== thumbnailUrls) {
109
109
  t8 = (t9, index_0) => {
110
110
  const {
111
111
  errorCount,
@@ -149,11 +149,11 @@ export function FileSidebar() {
149
149
  }, index_0);
150
150
  };
151
151
  $[29] = activeIndex;
152
- $[30] = setActiveIndex;
153
- $[31] = thumbnailUrls;
154
- $[32] = i18n;
152
+ $[30] = handleRemoveFile;
153
+ $[31] = i18n;
154
+ $[32] = setActiveIndex;
155
155
  $[33] = t;
156
- $[34] = handleRemoveFile;
156
+ $[34] = thumbnailUrls;
157
157
  $[35] = t8;
158
158
  } else {
159
159
  t8 = $[35];
@@ -216,41 +216,44 @@ export function FileSidebar() {
216
216
  height: !breakpoints.m || showFiles ? "auto" : 0,
217
217
  children: _jsxs("div", {
218
218
  className: `${baseClass}__filesContainer`,
219
- children: [isInitializing && forms.length === 0 && initialFiles.length > 0 ? Array.from(initialFiles).map(_temp2) : null, forms.map(t8)]
219
+ children: [isInitializing && forms.length === 0 && initialFiles.length > 0 ? Array.from(initialFiles).map(_temp3) : null, forms.map(t8)]
220
220
  })
221
221
  })
222
222
  })]
223
223
  });
224
- $[7] = breakpoints.m;
225
- $[8] = showFiles;
226
- $[9] = totalErrorCount;
227
- $[10] = i18n;
228
- $[11] = totalFileCount;
229
- $[12] = t;
230
- $[13] = maxFiles;
231
- $[14] = openModal;
232
- $[15] = closeModal;
233
- $[16] = handleAddFiles;
234
- $[17] = isInitializing;
235
- $[18] = forms;
236
- $[19] = initialFiles;
237
- $[20] = activeIndex;
238
- $[21] = setActiveIndex;
224
+ $[7] = activeIndex;
225
+ $[8] = breakpoints.m;
226
+ $[9] = closeModal;
227
+ $[10] = forms;
228
+ $[11] = handleAddFiles;
229
+ $[12] = handleRemoveFile;
230
+ $[13] = i18n;
231
+ $[14] = initialFiles;
232
+ $[15] = isInitializing;
233
+ $[16] = maxFiles;
234
+ $[17] = openModal;
235
+ $[18] = setActiveIndex;
236
+ $[19] = showFiles;
237
+ $[20] = t;
238
+ $[21] = t4;
239
239
  $[22] = thumbnailUrls;
240
- $[23] = handleRemoveFile;
241
- $[24] = t4;
240
+ $[23] = totalErrorCount;
241
+ $[24] = totalFileCount;
242
242
  $[25] = t5;
243
243
  } else {
244
244
  t5 = $[25];
245
245
  }
246
246
  return t5;
247
247
  }
248
- function _temp2(file_0, index) {
248
+ function _temp3(file_0, index) {
249
249
  return _jsx(ShimmerEffect, {
250
250
  animationDelay: `calc(${index} * ${60}ms)`,
251
251
  height: "35px"
252
252
  }, index);
253
253
  }
254
+ function _temp2(prev) {
255
+ return !prev;
256
+ }
254
257
  function _temp(file) {
255
258
  const size = file.size;
256
259
  const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(1024));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","useWindowInfo","isImage","React","ChevronIcon","XIcon","useTranslation","AnimateHeight","Button","Drawer","ErrorPill","Pill","ShimmerEffect","Thumbnail","Actions","AddFilesView","useFormsManager","useBulkUpload","addMoreFilesDrawerSlug","baseClass","FileSidebar","$","activeIndex","addFiles","forms","isInitializing","removeFile","setActiveIndex","thumbnailUrls","totalErrorCount","initialFiles","maxFiles","i18n","t","closeModal","openModal","showFiles","setShowFiles","useState","breakpoints","t0","indexToRemove","handleRemoveFile","t1","filelist","handleAddFiles","getFileSize","_temp","totalFileCount","length","t2","t3","filter","Boolean","t4","join","t5","m","t6","Symbol","for","prev","t7","t8","t9","index_0","errorCount","formState","currentFile","file","value","_jsxs","className","index","children","onClick","type","_jsx","fileSrc","undefined","title","name","count","withMessage","buttonStyle","direction","gutter","Header","slug","onCancel","onDrop","height","Array","from","map","_temp2","file_0","animationDelay","size","i","Math","floor","log","decimals","formattedSize","pow","toFixed"],"sources":["../../../../src/elements/BulkUpload/FileSidebar/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { isImage } from 'payload/shared'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { AnimateHeight } from '../../AnimateHeight/index.js'\nimport { Button } from '../../Button/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { ErrorPill } from '../../ErrorPill/index.js'\nimport { Pill } from '../../Pill/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport { Actions } from '../ActionsBar/index.js'\nimport { AddFilesView } from '../AddFilesView/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport './index.scss'\nimport { useBulkUpload } from '../index.js'\n\nconst addMoreFilesDrawerSlug = 'bulk-upload-drawer--add-more-files'\n\nconst baseClass = 'file-selections'\n\nexport function FileSidebar() {\n const {\n activeIndex,\n addFiles,\n forms,\n isInitializing,\n removeFile,\n setActiveIndex,\n thumbnailUrls,\n totalErrorCount,\n } = useFormsManager()\n const { initialFiles, maxFiles } = useBulkUpload()\n const { i18n, t } = useTranslation()\n const { closeModal, openModal } = useModal()\n const [showFiles, setShowFiles] = React.useState(false)\n const { breakpoints } = useWindowInfo()\n\n const handleRemoveFile = React.useCallback(\n (indexToRemove: number) => {\n removeFile(indexToRemove)\n },\n [removeFile],\n )\n\n const handleAddFiles = React.useCallback(\n (filelist: FileList) => {\n void addFiles(filelist)\n closeModal(addMoreFilesDrawerSlug)\n },\n [addFiles, closeModal],\n )\n\n const getFileSize = React.useCallback((file: File) => {\n const size = file.size\n const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(1024))\n const decimals = i > 1 ? 1 : 0\n const formattedSize =\n (size / Math.pow(1024, i)).toFixed(decimals) + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i]\n return formattedSize\n }, [])\n\n const totalFileCount = isInitializing ? initialFiles.length : forms.length\n\n return (\n <div\n className={[baseClass, showFiles && `${baseClass}__showingFiles`].filter(Boolean).join(' ')}\n >\n {breakpoints.m && showFiles ? <div className={`${baseClass}__mobileBlur`} /> : null}\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__headerTopRow`}>\n <div className={`${baseClass}__header__text`}>\n <ErrorPill count={totalErrorCount} i18n={i18n} withMessage />\n <p>\n <strong\n title={`${totalFileCount} ${t(totalFileCount > 1 ? 'upload:filesToUpload' : 'upload:fileToUpload')}`}\n >\n {totalFileCount}{' '}\n {t(totalFileCount > 1 ? 'upload:filesToUpload' : 'upload:fileToUpload')}\n </strong>\n </p>\n </div>\n\n <div className={`${baseClass}__header__actions`}>\n {typeof maxFiles === 'number' && totalFileCount < maxFiles ? (\n <Pill onClick={() => openModal(addMoreFilesDrawerSlug)}>{t('upload:addFile')}</Pill>\n ) : null}\n <Button\n buttonStyle=\"transparent\"\n className={`${baseClass}__toggler`}\n onClick={() => setShowFiles((prev) => !prev)}\n >\n <span className={`${baseClass}__toggler__label`}>\n <strong\n title={`${totalFileCount} ${t(totalFileCount > 1 ? 'upload:filesToUpload' : 'upload:fileToUpload')}`}\n >\n {totalFileCount}{' '}\n {t(totalFileCount > 1 ? 'upload:filesToUpload' : 'upload:fileToUpload')}\n </strong>\n </span>\n <ChevronIcon direction={showFiles ? 'down' : 'up'} />\n </Button>\n\n <Drawer gutter={false} Header={null} slug={addMoreFilesDrawerSlug}>\n <AddFilesView\n onCancel={() => closeModal(addMoreFilesDrawerSlug)}\n onDrop={handleAddFiles}\n />\n </Drawer>\n </div>\n </div>\n\n <div className={`${baseClass}__header__mobileDocActions`}>\n <Actions />\n </div>\n </div>\n\n <div className={`${baseClass}__animateWrapper`}>\n <AnimateHeight height={!breakpoints.m || showFiles ? 'auto' : 0}>\n <div className={`${baseClass}__filesContainer`}>\n {isInitializing && forms.length === 0 && initialFiles.length > 0\n ? Array.from(initialFiles).map((file, index) => (\n <ShimmerEffect\n animationDelay={`calc(${index} * ${60}ms)`}\n height=\"35px\"\n key={index}\n />\n ))\n : null}\n {forms.map(({ errorCount, formState }, index) => {\n const currentFile = formState.file.value as File\n\n return (\n <div\n className={[\n `${baseClass}__fileRowContainer`,\n index === activeIndex && `${baseClass}__fileRowContainer--active`,\n errorCount && errorCount > 0 && `${baseClass}__fileRowContainer--error`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={index}\n >\n <button\n className={`${baseClass}__fileRow`}\n onClick={() => setActiveIndex(index)}\n type=\"button\"\n >\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n fileSrc={isImage(currentFile.type) ? thumbnailUrls[index] : undefined}\n />\n <div className={`${baseClass}__fileDetails`}>\n <p className={`${baseClass}__fileName`} title={currentFile.name}>\n {currentFile.name}\n </p>\n </div>\n <p className={`${baseClass}__fileSize`}>{getFileSize(currentFile)}</p>\n <div className={`${baseClass}__remove ${baseClass}__remove--underlay`}>\n <XIcon />\n </div>\n\n {errorCount ? (\n <ErrorPill\n className={`${baseClass}__errorCount`}\n count={errorCount}\n i18n={i18n}\n />\n ) : null}\n </button>\n\n <button\n aria-label={t('general:remove')}\n className={`${baseClass}__remove ${baseClass}__remove--overlay`}\n onClick={() => handleRemoveFile(index)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n )\n })}\n </div>\n </AnimateHeight>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","useWindowInfo","isImage","React","ChevronIcon","XIcon","useTranslation","AnimateHeight","Button","Drawer","ErrorPill","Pill","ShimmerEffect","Thumbnail","Actions","AddFilesView","useFormsManager","useBulkUpload","addMoreFilesDrawerSlug","baseClass","FileSidebar","$","activeIndex","addFiles","forms","isInitializing","removeFile","setActiveIndex","thumbnailUrls","totalErrorCount","initialFiles","maxFiles","i18n","t","closeModal","openModal","showFiles","setShowFiles","useState","breakpoints","t0","indexToRemove","handleRemoveFile","t1","filelist","handleAddFiles","getFileSize","_temp","totalFileCount","length","t2","t3","filter","Boolean","t4","join","t5","m","t6","Symbol","for","_temp2","t7","t8","t9","index_0","errorCount","formState","currentFile","file","value","_jsxs","className","index","children","onClick","type","_jsx","fileSrc","undefined","title","name","count","withMessage","buttonStyle","direction","gutter","Header","slug","onCancel","onDrop","height","Array","from","map","_temp3","file_0","animationDelay","prev","size","i","Math","floor","log","decimals","formattedSize","pow","toFixed"],"sources":["../../../../src/elements/BulkUpload/FileSidebar/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { isImage } from 'payload/shared'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { AnimateHeight } from '../../AnimateHeight/index.js'\nimport { Button } from '../../Button/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { ErrorPill } from '../../ErrorPill/index.js'\nimport { Pill } from '../../Pill/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { Thumbnail } from '../../Thumbnail/index.js'\nimport { Actions } from '../ActionsBar/index.js'\nimport { AddFilesView } from '../AddFilesView/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport './index.scss'\nimport { useBulkUpload } from '../index.js'\n\nconst addMoreFilesDrawerSlug = 'bulk-upload-drawer--add-more-files'\n\nconst baseClass = 'file-selections'\n\nexport function FileSidebar() {\n const {\n activeIndex,\n addFiles,\n forms,\n isInitializing,\n removeFile,\n setActiveIndex,\n thumbnailUrls,\n totalErrorCount,\n } = useFormsManager()\n const { initialFiles, maxFiles } = useBulkUpload()\n const { i18n, t } = useTranslation()\n const { closeModal, openModal } = useModal()\n const [showFiles, setShowFiles] = React.useState(false)\n const { breakpoints } = useWindowInfo()\n\n const handleRemoveFile = React.useCallback(\n (indexToRemove: number) => {\n removeFile(indexToRemove)\n },\n [removeFile],\n )\n\n const handleAddFiles = React.useCallback(\n (filelist: FileList) => {\n void addFiles(filelist)\n closeModal(addMoreFilesDrawerSlug)\n },\n [addFiles, closeModal],\n )\n\n const getFileSize = React.useCallback((file: File) => {\n const size = file.size\n const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(1024))\n const decimals = i > 1 ? 1 : 0\n const formattedSize =\n (size / Math.pow(1024, i)).toFixed(decimals) + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i]\n return formattedSize\n }, [])\n\n const totalFileCount = isInitializing ? initialFiles.length : forms.length\n\n return (\n <div\n className={[baseClass, showFiles && `${baseClass}__showingFiles`].filter(Boolean).join(' ')}\n >\n {breakpoints.m && showFiles ? <div className={`${baseClass}__mobileBlur`} /> : null}\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__headerTopRow`}>\n <div className={`${baseClass}__header__text`}>\n <ErrorPill count={totalErrorCount} i18n={i18n} withMessage />\n <p>\n <strong\n title={`${totalFileCount} ${t(totalFileCount > 1 ? 'upload:filesToUpload' : 'upload:fileToUpload')}`}\n >\n {totalFileCount}{' '}\n {t(totalFileCount > 1 ? 'upload:filesToUpload' : 'upload:fileToUpload')}\n </strong>\n </p>\n </div>\n\n <div className={`${baseClass}__header__actions`}>\n {typeof maxFiles === 'number' && totalFileCount < maxFiles ? (\n <Pill onClick={() => openModal(addMoreFilesDrawerSlug)}>{t('upload:addFile')}</Pill>\n ) : null}\n <Button\n buttonStyle=\"transparent\"\n className={`${baseClass}__toggler`}\n onClick={() => setShowFiles((prev) => !prev)}\n >\n <span className={`${baseClass}__toggler__label`}>\n <strong\n title={`${totalFileCount} ${t(totalFileCount > 1 ? 'upload:filesToUpload' : 'upload:fileToUpload')}`}\n >\n {totalFileCount}{' '}\n {t(totalFileCount > 1 ? 'upload:filesToUpload' : 'upload:fileToUpload')}\n </strong>\n </span>\n <ChevronIcon direction={showFiles ? 'down' : 'up'} />\n </Button>\n\n <Drawer gutter={false} Header={null} slug={addMoreFilesDrawerSlug}>\n <AddFilesView\n onCancel={() => closeModal(addMoreFilesDrawerSlug)}\n onDrop={handleAddFiles}\n />\n </Drawer>\n </div>\n </div>\n\n <div className={`${baseClass}__header__mobileDocActions`}>\n <Actions />\n </div>\n </div>\n\n <div className={`${baseClass}__animateWrapper`}>\n <AnimateHeight height={!breakpoints.m || showFiles ? 'auto' : 0}>\n <div className={`${baseClass}__filesContainer`}>\n {isInitializing && forms.length === 0 && initialFiles.length > 0\n ? Array.from(initialFiles).map((file, index) => (\n <ShimmerEffect\n animationDelay={`calc(${index} * ${60}ms)`}\n height=\"35px\"\n key={index}\n />\n ))\n : null}\n {forms.map(({ errorCount, formState }, index) => {\n const currentFile = formState.file.value as File\n\n return (\n <div\n className={[\n `${baseClass}__fileRowContainer`,\n index === activeIndex && `${baseClass}__fileRowContainer--active`,\n errorCount && errorCount > 0 && `${baseClass}__fileRowContainer--error`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={index}\n >\n <button\n className={`${baseClass}__fileRow`}\n onClick={() => setActiveIndex(index)}\n type=\"button\"\n >\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n fileSrc={isImage(currentFile.type) ? thumbnailUrls[index] : undefined}\n />\n <div className={`${baseClass}__fileDetails`}>\n <p className={`${baseClass}__fileName`} title={currentFile.name}>\n {currentFile.name}\n </p>\n </div>\n <p className={`${baseClass}__fileSize`}>{getFileSize(currentFile)}</p>\n <div className={`${baseClass}__remove ${baseClass}__remove--underlay`}>\n <XIcon />\n </div>\n\n {errorCount ? (\n <ErrorPill\n className={`${baseClass}__errorCount`}\n count={errorCount}\n i18n={i18n}\n />\n ) : null}\n </button>\n\n <button\n aria-label={t('general:remove')}\n className={`${baseClass}__remove ${baseClass}__remove--overlay`}\n onClick={() => handleRemoveFile(index)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n )\n })}\n </div>\n </AnimateHeight>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -88,6 +88,8 @@ export function FormsManagerProvider({
88
88
  ;
89
89
  const [renderedThumbnails, setRenderedThumbnails] = React.useState([]);
90
90
  React.useEffect(() => {
91
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
92
+ ;
91
93
  (async () => {
92
94
  const newThumbnails = [...thumbnailUrlsRef.current];
93
95
  for (let i = 0; i < formsCount; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","qs","React","toast","fieldReducer","useConfig","useLocale","useServerFunctions","useTranslation","hasSavePermission","getHasSavePermission","LoadingOverlay","useLoadingOverlay","createThumbnail","useBulkUpload","createFormData","formsManagementReducer","Context","createContext","activeIndex","addFiles","Promise","resolve","collectionSlug","docPermissions","undefined","documentSlots","forms","getFormDataRef","current","hasPublishPermission","hasSubmitted","isInitializing","removeFile","saveAllDocs","setActiveIndex","setFormTotalErrorCount","thumbnailUrls","totalErrorCount","initialState","FormsManagerProvider","children","config","routes","api","serverURL","code","i18n","t","getDocumentSlots","getFormState","setDocumentSlots","useState","setHasSubmitted","setDocPermissions","setHasSavePermission","setHasPublishPermission","hasInitializedState","setHasInitializedState","hasInitializedDocPermissions","setHasInitializedDocPermissions","setIsInitializing","state","dispatch","useReducer","formsRef","useRef","formsCount","length","thumbnailUrlsRef","processedFiles","Set","renderedThumbnails","setRenderedThumbnails","useEffect","newThumbnails","i","file","formState","value","has","add","thumbnailUrl","setTimeout","toggleLoadingOverlay","closeModal","drawerSlug","initialFiles","onSuccess","isUploading","setIsUploading","loadingText","setLoadingText","hasInitializedWithFiles","initialStateRef","actionURL","initializeSharedDocPermissions","useCallback","params","locale","docAccessURL","res","fetch","stringify","credentials","headers","language","method","json","publishedAccessJSON","body","JSON","_status","then","isEditing","update","initializeSharedFormState","abortController","signal","abort","formStateWithoutFiles","docPreferences","fields","operation","renderAllFields","schemaPath","_err","index","currentFormsData","type","map","form","errorCount","files","isLoading","key","count","overrides","currentForms","newDocs","total","req","status","doc","push","errors","fieldErrors","nonFieldErrors","reduce","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","message","Array","isArray","data","forEach","dataError","path","error","_","remainingForms","filter","successCount","Math","max","success","acc","_jsxs","Provider","_jsx","animationDuration","overlayType","show","useFormsManager","useContext"],"sources":["../../../../src/elements/BulkUpload/FormsManager/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Data, DocumentSlots, FormState, SanitizedDocumentPermissions } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport type { State } from './reducer.js'\n\nimport { fieldReducer } from '../../../forms/Form/fieldReducer.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { hasSavePermission as getHasSavePermission } from '../../../utilities/hasSavePermission.js'\nimport { LoadingOverlay } from '../../Loading/index.js'\nimport { useLoadingOverlay } from '../../LoadingOverlay/index.js'\nimport { createThumbnail } from '../../Thumbnail/createThumbnail.js'\nimport { useBulkUpload } from '../index.js'\nimport { createFormData } from './createFormData.js'\nimport { formsManagementReducer } from './reducer.js'\n\ntype FormsManagerContext = {\n readonly activeIndex: State['activeIndex']\n readonly addFiles: (filelist: FileList) => Promise<void>\n readonly collectionSlug: string\n readonly docPermissions?: SanitizedDocumentPermissions\n readonly documentSlots: DocumentSlots\n readonly forms: State['forms']\n getFormDataRef: React.RefObject<() => Data>\n readonly hasPublishPermission: boolean\n readonly hasSavePermission: boolean\n readonly hasSubmitted: boolean\n readonly isInitializing: boolean\n readonly removeFile: (index: number) => void\n readonly saveAllDocs: ({ overrides }?: { overrides?: Record<string, unknown> }) => Promise<void>\n readonly setActiveIndex: (index: number) => void\n readonly setFormTotalErrorCount: ({\n errorCount,\n index,\n }: {\n errorCount: number\n index: number\n }) => void\n readonly thumbnailUrls: string[]\n readonly totalErrorCount?: number\n}\n\nconst Context = React.createContext<FormsManagerContext>({\n activeIndex: 0,\n addFiles: () => Promise.resolve(),\n collectionSlug: '',\n docPermissions: undefined,\n documentSlots: {},\n forms: [],\n getFormDataRef: { current: () => ({}) },\n hasPublishPermission: false,\n hasSavePermission: false,\n hasSubmitted: false,\n isInitializing: false,\n removeFile: () => {},\n saveAllDocs: () => Promise.resolve(),\n setActiveIndex: () => 0,\n setFormTotalErrorCount: () => {},\n thumbnailUrls: [],\n totalErrorCount: 0,\n})\n\nconst initialState: State = {\n activeIndex: 0,\n forms: [],\n totalErrorCount: 0,\n}\n\ntype FormsManagerProps = {\n readonly children: React.ReactNode\n}\n\nexport function FormsManagerProvider({ children }: FormsManagerProps) {\n const { config } = useConfig()\n const {\n routes: { api },\n serverURL,\n } = config\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const { getDocumentSlots, getFormState } = useServerFunctions()\n\n const [documentSlots, setDocumentSlots] = React.useState<DocumentSlots>({})\n const [hasSubmitted, setHasSubmitted] = React.useState(false)\n const [docPermissions, setDocPermissions] = React.useState<SanitizedDocumentPermissions>()\n const [hasSavePermission, setHasSavePermission] = React.useState(false)\n const [hasPublishPermission, setHasPublishPermission] = React.useState(false)\n const [hasInitializedState, setHasInitializedState] = React.useState(false)\n const [hasInitializedDocPermissions, setHasInitializedDocPermissions] = React.useState(false)\n const [isInitializing, setIsInitializing] = React.useState(false)\n const [state, dispatch] = React.useReducer(formsManagementReducer, initialState)\n const { activeIndex, forms, totalErrorCount } = state\n\n const formsRef = React.useRef(forms)\n formsRef.current = forms\n const formsCount = forms.length\n\n const thumbnailUrlsRef = React.useRef<string[]>([])\n const processedFiles = React.useRef(new Set()) // Track already-processed files\n const [renderedThumbnails, setRenderedThumbnails] = React.useState<string[]>([])\n\n React.useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ;(async () => {\n const newThumbnails = [...thumbnailUrlsRef.current]\n\n for (let i = 0; i < formsCount; i++) {\n const file = formsRef.current[i].formState.file.value as File\n\n // Skip if already processed\n if (processedFiles.current.has(file) || !file) {\n continue\n }\n processedFiles.current.add(file)\n\n // Generate thumbnail and update ref\n const thumbnailUrl = await createThumbnail(file)\n newThumbnails[i] = thumbnailUrl\n thumbnailUrlsRef.current = newThumbnails\n\n // Trigger re-render in batches\n setRenderedThumbnails([...newThumbnails])\n await new Promise((resolve) => setTimeout(resolve, 100))\n }\n })()\n }, [formsCount])\n\n const { toggleLoadingOverlay } = useLoadingOverlay()\n const { closeModal } = useModal()\n const { collectionSlug, drawerSlug, initialFiles, onSuccess } = useBulkUpload()\n\n const [isUploading, setIsUploading] = React.useState(false)\n const [loadingText, setLoadingText] = React.useState('')\n\n const hasInitializedWithFiles = React.useRef(false)\n const initialStateRef = React.useRef<FormState>(null)\n const getFormDataRef = React.useRef<() => Data>(() => ({}))\n\n const actionURL = `${api}/${collectionSlug}`\n\n const initializeSharedDocPermissions = React.useCallback(async () => {\n const params = {\n locale: code || undefined,\n }\n\n const docAccessURL = `/${collectionSlug}/access`\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n const json: SanitizedDocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n isEditing: false,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update)\n setHasInitializedDocPermissions(true)\n }, [api, code, collectionSlug, i18n.language, serverURL])\n\n const initializeSharedFormState = React.useCallback(\n async (abortController?: AbortController) => {\n if (abortController?.signal) {\n abortController.abort('aborting previous fetch for initial form state without files')\n }\n\n // FETCH AND SET THE DOCUMENT SLOTS HERE!\n const documentSlots = await getDocumentSlots({ collectionSlug })\n setDocumentSlots(documentSlots)\n\n try {\n const { state: formStateWithoutFiles } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences: { fields: {} },\n locale: code,\n operation: 'create',\n renderAllFields: true,\n schemaPath: collectionSlug,\n })\n initialStateRef.current = formStateWithoutFiles\n setHasInitializedState(true)\n } catch (_err) {\n // swallow error\n }\n },\n [getDocumentSlots, collectionSlug, getFormState, docPermissions, code],\n )\n\n const setActiveIndex: FormsManagerContext['setActiveIndex'] = React.useCallback(\n (index: number) => {\n const currentFormsData = getFormDataRef.current()\n dispatch({\n type: 'REPLACE',\n state: {\n activeIndex: index,\n forms: forms.map((form, i) => {\n if (i === activeIndex) {\n return {\n errorCount: form.errorCount,\n formState: currentFormsData,\n }\n }\n return form\n }),\n },\n })\n },\n [forms, activeIndex],\n )\n\n const addFiles = React.useCallback(\n async (files: FileList) => {\n toggleLoadingOverlay({ isLoading: true, key: 'addingDocs' })\n if (!hasInitializedState) {\n await initializeSharedFormState()\n }\n dispatch({ type: 'ADD_FORMS', files, initialState: initialStateRef.current })\n toggleLoadingOverlay({ isLoading: false, key: 'addingDocs' })\n },\n [initializeSharedFormState, hasInitializedState, toggleLoadingOverlay],\n )\n\n const removeFile: FormsManagerContext['removeFile'] = React.useCallback((index) => {\n dispatch({ type: 'REMOVE_FORM', index })\n }, [])\n\n const setFormTotalErrorCount: FormsManagerContext['setFormTotalErrorCount'] = React.useCallback(\n ({ errorCount, index }) => {\n dispatch({\n type: 'UPDATE_ERROR_COUNT',\n count: errorCount,\n index,\n })\n },\n [],\n )\n\n const saveAllDocs: FormsManagerContext['saveAllDocs'] = React.useCallback(\n async ({ overrides } = {}) => {\n const currentFormsData = getFormDataRef.current()\n const currentForms = [...forms]\n currentForms[activeIndex] = {\n errorCount: currentForms[activeIndex].errorCount,\n formState: currentFormsData,\n }\n const newDocs = []\n\n setIsUploading(true)\n\n for (let i = 0; i < currentForms.length; i++) {\n try {\n const form = currentForms[i]\n\n setLoadingText(t('general:uploadingBulk', { current: i + 1, total: currentForms.length }))\n\n const req = await fetch(actionURL, {\n body: createFormData(form.formState, overrides),\n method: 'POST',\n })\n\n const json = await req.json()\n\n if (req.status === 201 && json?.doc) {\n newDocs.push(json.doc)\n }\n\n // should expose some sort of helper for this\n if (json?.errors?.length) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs: any[] = []\n const newNonFieldErrs: any[] = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data?.errors)) {\n err.data?.errors.forEach((dataError) => {\n if (dataError?.path) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n currentForms[i] = {\n errorCount: fieldErrors.length,\n formState: fieldReducer(currentForms[i].formState, {\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n }),\n }\n\n if (req.status === 413) {\n // file too large\n currentForms[i] = {\n ...currentForms[i],\n errorCount: currentForms[i].errorCount + 1,\n }\n\n toast.error(nonFieldErrors[0]?.message)\n }\n }\n } catch (_) {\n // swallow\n }\n }\n\n setHasSubmitted(true)\n setLoadingText('')\n setIsUploading(false)\n\n const remainingForms = currentForms.filter(({ errorCount }) => errorCount > 0)\n const successCount = Math.max(0, currentForms.length - remainingForms.length)\n const errorCount = currentForms.length - successCount\n\n if (successCount) {\n toast.success(`Successfully saved ${successCount} files`)\n\n if (typeof onSuccess === 'function') {\n onSuccess(newDocs, errorCount)\n }\n }\n\n if (errorCount) {\n toast.error(`Failed to save ${errorCount} files`)\n } else {\n closeModal(drawerSlug)\n }\n\n dispatch({\n type: 'REPLACE',\n state: {\n activeIndex: 0,\n forms: remainingForms,\n totalErrorCount: remainingForms.reduce((acc, { errorCount }) => acc + errorCount, 0),\n },\n })\n },\n [actionURL, activeIndex, forms, onSuccess, t, closeModal, drawerSlug],\n )\n\n React.useEffect(() => {\n if (!collectionSlug) {\n return\n }\n if (!hasInitializedState) {\n void initializeSharedFormState()\n }\n\n if (!hasInitializedDocPermissions) {\n void initializeSharedDocPermissions()\n }\n\n if (initialFiles) {\n if (!hasInitializedState || !hasInitializedDocPermissions) {\n setIsInitializing(true)\n } else {\n setIsInitializing(false)\n }\n }\n\n if (hasInitializedState && initialFiles && !hasInitializedWithFiles.current) {\n void addFiles(initialFiles)\n hasInitializedWithFiles.current = true\n }\n return\n }, [\n addFiles,\n initialFiles,\n initializeSharedFormState,\n initializeSharedDocPermissions,\n collectionSlug,\n hasInitializedState,\n hasInitializedDocPermissions,\n ])\n\n return (\n <Context.Provider\n value={{\n activeIndex: state.activeIndex,\n addFiles,\n collectionSlug,\n docPermissions,\n documentSlots,\n forms,\n getFormDataRef,\n hasPublishPermission,\n hasSavePermission,\n hasSubmitted,\n isInitializing,\n removeFile,\n saveAllDocs,\n setActiveIndex,\n setFormTotalErrorCount,\n thumbnailUrls: renderedThumbnails,\n totalErrorCount,\n }}\n >\n {isUploading && (\n <LoadingOverlay\n animationDuration=\"250ms\"\n loadingText={loadingText}\n overlayType=\"fullscreen\"\n show\n />\n )}\n {children}\n </Context.Provider>\n )\n}\n\nexport function useFormsManager() {\n return React.useContext(Context)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","qs","React","toast","fieldReducer","useConfig","useLocale","useServerFunctions","useTranslation","hasSavePermission","getHasSavePermission","LoadingOverlay","useLoadingOverlay","createThumbnail","useBulkUpload","createFormData","formsManagementReducer","Context","createContext","activeIndex","addFiles","Promise","resolve","collectionSlug","docPermissions","undefined","documentSlots","forms","getFormDataRef","current","hasPublishPermission","hasSubmitted","isInitializing","removeFile","saveAllDocs","setActiveIndex","setFormTotalErrorCount","thumbnailUrls","totalErrorCount","initialState","FormsManagerProvider","children","config","routes","api","serverURL","code","i18n","t","getDocumentSlots","getFormState","setDocumentSlots","useState","setHasSubmitted","setDocPermissions","setHasSavePermission","setHasPublishPermission","hasInitializedState","setHasInitializedState","hasInitializedDocPermissions","setHasInitializedDocPermissions","setIsInitializing","state","dispatch","useReducer","formsRef","useRef","formsCount","length","thumbnailUrlsRef","processedFiles","Set","renderedThumbnails","setRenderedThumbnails","useEffect","newThumbnails","i","file","formState","value","has","add","thumbnailUrl","setTimeout","toggleLoadingOverlay","closeModal","drawerSlug","initialFiles","onSuccess","isUploading","setIsUploading","loadingText","setLoadingText","hasInitializedWithFiles","initialStateRef","actionURL","initializeSharedDocPermissions","useCallback","params","locale","docAccessURL","res","fetch","stringify","credentials","headers","language","method","json","publishedAccessJSON","body","JSON","_status","then","isEditing","update","initializeSharedFormState","abortController","signal","abort","formStateWithoutFiles","docPreferences","fields","operation","renderAllFields","schemaPath","_err","index","currentFormsData","type","map","form","errorCount","files","isLoading","key","count","overrides","currentForms","newDocs","total","req","status","doc","push","errors","fieldErrors","nonFieldErrors","reduce","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","message","Array","isArray","data","forEach","dataError","path","error","_","remainingForms","filter","successCount","Math","max","success","acc","_jsxs","Provider","_jsx","animationDuration","overlayType","show","useFormsManager","useContext"],"sources":["../../../../src/elements/BulkUpload/FormsManager/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Data, DocumentSlots, FormState, SanitizedDocumentPermissions } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport type { State } from './reducer.js'\n\nimport { fieldReducer } from '../../../forms/Form/fieldReducer.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { hasSavePermission as getHasSavePermission } from '../../../utilities/hasSavePermission.js'\nimport { LoadingOverlay } from '../../Loading/index.js'\nimport { useLoadingOverlay } from '../../LoadingOverlay/index.js'\nimport { createThumbnail } from '../../Thumbnail/createThumbnail.js'\nimport { useBulkUpload } from '../index.js'\nimport { createFormData } from './createFormData.js'\nimport { formsManagementReducer } from './reducer.js'\n\ntype FormsManagerContext = {\n readonly activeIndex: State['activeIndex']\n readonly addFiles: (filelist: FileList) => Promise<void>\n readonly collectionSlug: string\n readonly docPermissions?: SanitizedDocumentPermissions\n readonly documentSlots: DocumentSlots\n readonly forms: State['forms']\n getFormDataRef: React.RefObject<() => Data>\n readonly hasPublishPermission: boolean\n readonly hasSavePermission: boolean\n readonly hasSubmitted: boolean\n readonly isInitializing: boolean\n readonly removeFile: (index: number) => void\n readonly saveAllDocs: ({ overrides }?: { overrides?: Record<string, unknown> }) => Promise<void>\n readonly setActiveIndex: (index: number) => void\n readonly setFormTotalErrorCount: ({\n errorCount,\n index,\n }: {\n errorCount: number\n index: number\n }) => void\n readonly thumbnailUrls: string[]\n readonly totalErrorCount?: number\n}\n\nconst Context = React.createContext<FormsManagerContext>({\n activeIndex: 0,\n addFiles: () => Promise.resolve(),\n collectionSlug: '',\n docPermissions: undefined,\n documentSlots: {},\n forms: [],\n getFormDataRef: { current: () => ({}) },\n hasPublishPermission: false,\n hasSavePermission: false,\n hasSubmitted: false,\n isInitializing: false,\n removeFile: () => {},\n saveAllDocs: () => Promise.resolve(),\n setActiveIndex: () => 0,\n setFormTotalErrorCount: () => {},\n thumbnailUrls: [],\n totalErrorCount: 0,\n})\n\nconst initialState: State = {\n activeIndex: 0,\n forms: [],\n totalErrorCount: 0,\n}\n\ntype FormsManagerProps = {\n readonly children: React.ReactNode\n}\n\nexport function FormsManagerProvider({ children }: FormsManagerProps) {\n const { config } = useConfig()\n const {\n routes: { api },\n serverURL,\n } = config\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const { getDocumentSlots, getFormState } = useServerFunctions()\n\n const [documentSlots, setDocumentSlots] = React.useState<DocumentSlots>({})\n const [hasSubmitted, setHasSubmitted] = React.useState(false)\n const [docPermissions, setDocPermissions] = React.useState<SanitizedDocumentPermissions>()\n const [hasSavePermission, setHasSavePermission] = React.useState(false)\n const [hasPublishPermission, setHasPublishPermission] = React.useState(false)\n const [hasInitializedState, setHasInitializedState] = React.useState(false)\n const [hasInitializedDocPermissions, setHasInitializedDocPermissions] = React.useState(false)\n const [isInitializing, setIsInitializing] = React.useState(false)\n const [state, dispatch] = React.useReducer(formsManagementReducer, initialState)\n const { activeIndex, forms, totalErrorCount } = state\n\n const formsRef = React.useRef(forms)\n formsRef.current = forms\n const formsCount = forms.length\n\n const thumbnailUrlsRef = React.useRef<string[]>([])\n const processedFiles = React.useRef(new Set()) // Track already-processed files\n const [renderedThumbnails, setRenderedThumbnails] = React.useState<string[]>([])\n\n React.useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ;(async () => {\n const newThumbnails = [...thumbnailUrlsRef.current]\n\n for (let i = 0; i < formsCount; i++) {\n const file = formsRef.current[i].formState.file.value as File\n\n // Skip if already processed\n if (processedFiles.current.has(file) || !file) {\n continue\n }\n processedFiles.current.add(file)\n\n // Generate thumbnail and update ref\n const thumbnailUrl = await createThumbnail(file)\n newThumbnails[i] = thumbnailUrl\n thumbnailUrlsRef.current = newThumbnails\n\n // Trigger re-render in batches\n setRenderedThumbnails([...newThumbnails])\n await new Promise((resolve) => setTimeout(resolve, 100))\n }\n })()\n }, [formsCount])\n\n const { toggleLoadingOverlay } = useLoadingOverlay()\n const { closeModal } = useModal()\n const { collectionSlug, drawerSlug, initialFiles, onSuccess } = useBulkUpload()\n\n const [isUploading, setIsUploading] = React.useState(false)\n const [loadingText, setLoadingText] = React.useState('')\n\n const hasInitializedWithFiles = React.useRef(false)\n const initialStateRef = React.useRef<FormState>(null)\n const getFormDataRef = React.useRef<() => Data>(() => ({}))\n\n const actionURL = `${api}/${collectionSlug}`\n\n const initializeSharedDocPermissions = React.useCallback(async () => {\n const params = {\n locale: code || undefined,\n }\n\n const docAccessURL = `/${collectionSlug}/access`\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n const json: SanitizedDocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n isEditing: false,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update)\n setHasInitializedDocPermissions(true)\n }, [api, code, collectionSlug, i18n.language, serverURL])\n\n const initializeSharedFormState = React.useCallback(\n async (abortController?: AbortController) => {\n if (abortController?.signal) {\n abortController.abort('aborting previous fetch for initial form state without files')\n }\n\n // FETCH AND SET THE DOCUMENT SLOTS HERE!\n const documentSlots = await getDocumentSlots({ collectionSlug })\n setDocumentSlots(documentSlots)\n\n try {\n const { state: formStateWithoutFiles } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences: { fields: {} },\n locale: code,\n operation: 'create',\n renderAllFields: true,\n schemaPath: collectionSlug,\n })\n initialStateRef.current = formStateWithoutFiles\n setHasInitializedState(true)\n } catch (_err) {\n // swallow error\n }\n },\n [getDocumentSlots, collectionSlug, getFormState, docPermissions, code],\n )\n\n const setActiveIndex: FormsManagerContext['setActiveIndex'] = React.useCallback(\n (index: number) => {\n const currentFormsData = getFormDataRef.current()\n dispatch({\n type: 'REPLACE',\n state: {\n activeIndex: index,\n forms: forms.map((form, i) => {\n if (i === activeIndex) {\n return {\n errorCount: form.errorCount,\n formState: currentFormsData,\n }\n }\n return form\n }),\n },\n })\n },\n [forms, activeIndex],\n )\n\n const addFiles = React.useCallback(\n async (files: FileList) => {\n toggleLoadingOverlay({ isLoading: true, key: 'addingDocs' })\n if (!hasInitializedState) {\n await initializeSharedFormState()\n }\n dispatch({ type: 'ADD_FORMS', files, initialState: initialStateRef.current })\n toggleLoadingOverlay({ isLoading: false, key: 'addingDocs' })\n },\n [initializeSharedFormState, hasInitializedState, toggleLoadingOverlay],\n )\n\n const removeFile: FormsManagerContext['removeFile'] = React.useCallback((index) => {\n dispatch({ type: 'REMOVE_FORM', index })\n }, [])\n\n const setFormTotalErrorCount: FormsManagerContext['setFormTotalErrorCount'] = React.useCallback(\n ({ errorCount, index }) => {\n dispatch({\n type: 'UPDATE_ERROR_COUNT',\n count: errorCount,\n index,\n })\n },\n [],\n )\n\n const saveAllDocs: FormsManagerContext['saveAllDocs'] = React.useCallback(\n async ({ overrides } = {}) => {\n const currentFormsData = getFormDataRef.current()\n const currentForms = [...forms]\n currentForms[activeIndex] = {\n errorCount: currentForms[activeIndex].errorCount,\n formState: currentFormsData,\n }\n const newDocs = []\n\n setIsUploading(true)\n\n for (let i = 0; i < currentForms.length; i++) {\n try {\n const form = currentForms[i]\n\n setLoadingText(t('general:uploadingBulk', { current: i + 1, total: currentForms.length }))\n\n const req = await fetch(actionURL, {\n body: createFormData(form.formState, overrides),\n method: 'POST',\n })\n\n const json = await req.json()\n\n if (req.status === 201 && json?.doc) {\n newDocs.push(json.doc)\n }\n\n // should expose some sort of helper for this\n if (json?.errors?.length) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs: any[] = []\n const newNonFieldErrs: any[] = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data?.errors)) {\n err.data?.errors.forEach((dataError) => {\n if (dataError?.path) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n currentForms[i] = {\n errorCount: fieldErrors.length,\n formState: fieldReducer(currentForms[i].formState, {\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n }),\n }\n\n if (req.status === 413) {\n // file too large\n currentForms[i] = {\n ...currentForms[i],\n errorCount: currentForms[i].errorCount + 1,\n }\n\n toast.error(nonFieldErrors[0]?.message)\n }\n }\n } catch (_) {\n // swallow\n }\n }\n\n setHasSubmitted(true)\n setLoadingText('')\n setIsUploading(false)\n\n const remainingForms = currentForms.filter(({ errorCount }) => errorCount > 0)\n const successCount = Math.max(0, currentForms.length - remainingForms.length)\n const errorCount = currentForms.length - successCount\n\n if (successCount) {\n toast.success(`Successfully saved ${successCount} files`)\n\n if (typeof onSuccess === 'function') {\n onSuccess(newDocs, errorCount)\n }\n }\n\n if (errorCount) {\n toast.error(`Failed to save ${errorCount} files`)\n } else {\n closeModal(drawerSlug)\n }\n\n dispatch({\n type: 'REPLACE',\n state: {\n activeIndex: 0,\n forms: remainingForms,\n totalErrorCount: remainingForms.reduce((acc, { errorCount }) => acc + errorCount, 0),\n },\n })\n },\n [actionURL, activeIndex, forms, onSuccess, t, closeModal, drawerSlug],\n )\n\n React.useEffect(() => {\n if (!collectionSlug) {\n return\n }\n if (!hasInitializedState) {\n void initializeSharedFormState()\n }\n\n if (!hasInitializedDocPermissions) {\n void initializeSharedDocPermissions()\n }\n\n if (initialFiles) {\n if (!hasInitializedState || !hasInitializedDocPermissions) {\n setIsInitializing(true)\n } else {\n setIsInitializing(false)\n }\n }\n\n if (hasInitializedState && initialFiles && !hasInitializedWithFiles.current) {\n void addFiles(initialFiles)\n hasInitializedWithFiles.current = true\n }\n return\n }, [\n addFiles,\n initialFiles,\n initializeSharedFormState,\n initializeSharedDocPermissions,\n collectionSlug,\n hasInitializedState,\n hasInitializedDocPermissions,\n ])\n\n return (\n <Context.Provider\n value={{\n activeIndex: state.activeIndex,\n addFiles,\n collectionSlug,\n docPermissions,\n documentSlots,\n forms,\n getFormDataRef,\n hasPublishPermission,\n hasSavePermission,\n hasSubmitted,\n isInitializing,\n removeFile,\n saveAllDocs,\n setActiveIndex,\n setFormTotalErrorCount,\n thumbnailUrls: renderedThumbnails,\n totalErrorCount,\n }}\n >\n {isUploading && (\n <LoadingOverlay\n animationDuration=\"250ms\"\n loadingText={loadingText}\n overlayType=\"fullscreen\"\n show\n />\n )}\n {children}\n </Context.Provider>\n )\n}\n\nexport function useFormsManager() {\n return React.useContext(Context)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -152,7 +152,7 @@ export function BulkUploadProvider(t0) {
152
152
  t4 = $[5];
153
153
  }
154
154
  let t5;
155
- if ($[6] !== collection || $[7] !== drawerSlug || $[8] !== initialFiles || $[9] !== maxFiles || $[10] !== t3 || $[11] !== t4 || $[12] !== children) {
155
+ if ($[6] !== children || $[7] !== collection || $[8] !== drawerSlug || $[9] !== initialFiles || $[10] !== maxFiles || $[11] !== t3 || $[12] !== t4) {
156
156
  t5 = _jsx(Context.Provider, {
157
157
  value: {
158
158
  collectionSlug: collection,
@@ -171,13 +171,13 @@ export function BulkUploadProvider(t0) {
171
171
  children: [children, _jsx(BulkUploadDrawer, {})]
172
172
  })
173
173
  });
174
- $[6] = collection;
175
- $[7] = drawerSlug;
176
- $[8] = initialFiles;
177
- $[9] = maxFiles;
178
- $[10] = t3;
179
- $[11] = t4;
180
- $[12] = children;
174
+ $[6] = children;
175
+ $[7] = collection;
176
+ $[8] = drawerSlug;
177
+ $[9] = initialFiles;
178
+ $[10] = maxFiles;
179
+ $[11] = t3;
180
+ $[12] = t4;
181
181
  $[13] = t5;
182
182
  } else {
183
183
  t5 = $[13];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","validateMimeType","React","toast","useConfig","useTranslation","Drawer","useDrawerDepth","AddFilesView","AddingFilesView","FormsManagerProvider","useFormsManager","drawerSlug","DrawerContent","addFiles","forms","isInitializing","closeModal","collectionSlug","useBulkUpload","config","t","uploadCollection","collections","find","col","slug","uploadConfig","upload","uploadMimeTypes","mimeTypes","onDrop","useCallback","acceptedFiles","fileTransfer","DataTransfer","candidateFile","undefined","length","type","items","add","files","error","_jsx","acceptMimeTypes","join","onCancel","BulkUploadDrawer","$","t0","gutter","Header","children","Context","createContext","initialFiles","maxFiles","onSuccess","setCollectionSlug","setInitialFiles","setMaxFiles","setOnCancel","setOnSuccess","BulkUploadProvider","collection","setCollection","useState","onSuccessFunction","setOnSuccessFunction","onCancelFunction","setOnCancelFunction","useBulkUploadDrawerSlug","t1","Symbol","for","t2","t3","t4","docIDs","errorCount","t5","Provider","value","_jsxs","Fragment","useContext","depth"],"sources":["../../../src/elements/BulkUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { JsonObject } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { validateMimeType } from 'payload/shared'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer, useDrawerDepth } from '../Drawer/index.js'\nimport { AddFilesView } from './AddFilesView/index.js'\nimport { AddingFilesView } from './AddingFilesView/index.js'\nimport { FormsManagerProvider, useFormsManager } from './FormsManager/index.js'\n\nconst drawerSlug = 'bulk-upload-drawer-slug'\n\nfunction DrawerContent() {\n const { addFiles, forms, isInitializing } = useFormsManager()\n const { closeModal } = useModal()\n const { collectionSlug, drawerSlug } = useBulkUpload()\n const { config } = useConfig()\n const { t } = useTranslation()\n\n const uploadCollection = config.collections.find((col) => col.slug === collectionSlug)\n const uploadConfig = uploadCollection?.upload\n const uploadMimeTypes = uploadConfig?.mimeTypes\n\n const onDrop = React.useCallback(\n (acceptedFiles: FileList) => {\n const fileTransfer = new DataTransfer()\n for (const candidateFile of acceptedFiles) {\n if (\n uploadMimeTypes === undefined ||\n uploadMimeTypes.length === 0 ||\n validateMimeType(candidateFile.type, uploadMimeTypes)\n ) {\n fileTransfer.items.add(candidateFile)\n }\n }\n if (fileTransfer.files.length === 0) {\n toast.error(t('error:invalidFileType'))\n } else {\n void addFiles(fileTransfer.files)\n }\n },\n [addFiles, t, uploadMimeTypes],\n )\n\n if (!collectionSlug) {\n return null\n }\n\n if (!forms.length && !isInitializing) {\n return (\n <AddFilesView\n acceptMimeTypes={uploadMimeTypes?.join(', ')}\n onCancel={() => closeModal(drawerSlug)}\n onDrop={onDrop}\n />\n )\n } else {\n return <AddingFilesView />\n }\n}\n\nexport type BulkUploadProps = {\n readonly children: React.ReactNode\n}\n\nexport function BulkUploadDrawer() {\n const { drawerSlug } = useBulkUpload()\n\n return (\n <Drawer gutter={false} Header={null} slug={drawerSlug}>\n <FormsManagerProvider>\n <DrawerContent />\n </FormsManagerProvider>\n </Drawer>\n )\n}\n\ntype BulkUploadContext = {\n collectionSlug: string\n drawerSlug: string\n initialFiles: FileList\n maxFiles: number\n onCancel: () => void\n onSuccess: (newDocs: JsonObject[], errorCount: number) => void\n setCollectionSlug: (slug: string) => void\n setInitialFiles: (files: FileList) => void\n setMaxFiles: (maxFiles: number) => void\n setOnCancel: (onCancel: BulkUploadContext['onCancel']) => void\n setOnSuccess: (onSuccess: BulkUploadContext['onSuccess']) => void\n}\n\nconst Context = React.createContext<BulkUploadContext>({\n collectionSlug: '',\n drawerSlug: '',\n initialFiles: undefined,\n maxFiles: undefined,\n onCancel: () => null,\n onSuccess: () => null,\n setCollectionSlug: () => null,\n setInitialFiles: () => null,\n setMaxFiles: () => null,\n setOnCancel: () => null,\n setOnSuccess: () => null,\n})\nexport function BulkUploadProvider({ children }: { readonly children: React.ReactNode }) {\n const [collection, setCollection] = React.useState<string>()\n const [onSuccessFunction, setOnSuccessFunction] = React.useState<BulkUploadContext['onSuccess']>()\n const [onCancelFunction, setOnCancelFunction] = React.useState<BulkUploadContext['onCancel']>()\n const [initialFiles, setInitialFiles] = React.useState<FileList>(undefined)\n const [maxFiles, setMaxFiles] = React.useState<number>(undefined)\n const drawerSlug = useBulkUploadDrawerSlug()\n\n const setCollectionSlug: BulkUploadContext['setCollectionSlug'] = (slug) => {\n setCollection(slug)\n }\n\n const setOnSuccess: BulkUploadContext['setOnSuccess'] = (onSuccess) => {\n setOnSuccessFunction(() => onSuccess)\n }\n\n return (\n <Context.Provider\n value={{\n collectionSlug: collection,\n drawerSlug,\n initialFiles,\n maxFiles,\n onCancel: () => {\n if (typeof onCancelFunction === 'function') {\n onCancelFunction()\n }\n },\n onSuccess: (docIDs, errorCount) => {\n if (typeof onSuccessFunction === 'function') {\n onSuccessFunction(docIDs, errorCount)\n }\n },\n setCollectionSlug,\n setInitialFiles,\n setMaxFiles,\n setOnCancel: setOnCancelFunction,\n setOnSuccess,\n }}\n >\n <React.Fragment>\n {children}\n <BulkUploadDrawer />\n </React.Fragment>\n </Context.Provider>\n )\n}\n\nexport const useBulkUpload = () => React.useContext(Context)\n\nexport function useBulkUploadDrawerSlug() {\n const depth = useDrawerDepth()\n\n return `${drawerSlug}-${depth || 1}`\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","validateMimeType","React","toast","useConfig","useTranslation","Drawer","useDrawerDepth","AddFilesView","AddingFilesView","FormsManagerProvider","useFormsManager","drawerSlug","DrawerContent","addFiles","forms","isInitializing","closeModal","collectionSlug","useBulkUpload","config","t","uploadCollection","collections","find","col","slug","uploadConfig","upload","uploadMimeTypes","mimeTypes","onDrop","useCallback","acceptedFiles","fileTransfer","DataTransfer","candidateFile","undefined","length","type","items","add","files","error","_jsx","acceptMimeTypes","join","onCancel","BulkUploadDrawer","$","t0","gutter","Header","children","Context","createContext","initialFiles","maxFiles","onSuccess","setCollectionSlug","setInitialFiles","setMaxFiles","setOnCancel","setOnSuccess","BulkUploadProvider","collection","setCollection","useState","onSuccessFunction","setOnSuccessFunction","onCancelFunction","setOnCancelFunction","useBulkUploadDrawerSlug","t1","Symbol","for","t2","t3","t4","docIDs","errorCount","t5","Provider","value","_jsxs","Fragment","useContext","depth"],"sources":["../../../src/elements/BulkUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { JsonObject } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { validateMimeType } from 'payload/shared'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer, useDrawerDepth } from '../Drawer/index.js'\nimport { AddFilesView } from './AddFilesView/index.js'\nimport { AddingFilesView } from './AddingFilesView/index.js'\nimport { FormsManagerProvider, useFormsManager } from './FormsManager/index.js'\n\nconst drawerSlug = 'bulk-upload-drawer-slug'\n\nfunction DrawerContent() {\n const { addFiles, forms, isInitializing } = useFormsManager()\n const { closeModal } = useModal()\n const { collectionSlug, drawerSlug } = useBulkUpload()\n const { config } = useConfig()\n const { t } = useTranslation()\n\n const uploadCollection = config.collections.find((col) => col.slug === collectionSlug)\n const uploadConfig = uploadCollection?.upload\n const uploadMimeTypes = uploadConfig?.mimeTypes\n\n const onDrop = React.useCallback(\n (acceptedFiles: FileList) => {\n const fileTransfer = new DataTransfer()\n for (const candidateFile of acceptedFiles) {\n if (\n uploadMimeTypes === undefined ||\n uploadMimeTypes.length === 0 ||\n validateMimeType(candidateFile.type, uploadMimeTypes)\n ) {\n fileTransfer.items.add(candidateFile)\n }\n }\n if (fileTransfer.files.length === 0) {\n toast.error(t('error:invalidFileType'))\n } else {\n void addFiles(fileTransfer.files)\n }\n },\n [addFiles, t, uploadMimeTypes],\n )\n\n if (!collectionSlug) {\n return null\n }\n\n if (!forms.length && !isInitializing) {\n return (\n <AddFilesView\n acceptMimeTypes={uploadMimeTypes?.join(', ')}\n onCancel={() => closeModal(drawerSlug)}\n onDrop={onDrop}\n />\n )\n } else {\n return <AddingFilesView />\n }\n}\n\nexport type BulkUploadProps = {\n readonly children: React.ReactNode\n}\n\nexport function BulkUploadDrawer() {\n const { drawerSlug } = useBulkUpload()\n\n return (\n <Drawer gutter={false} Header={null} slug={drawerSlug}>\n <FormsManagerProvider>\n <DrawerContent />\n </FormsManagerProvider>\n </Drawer>\n )\n}\n\ntype BulkUploadContext = {\n collectionSlug: string\n drawerSlug: string\n initialFiles: FileList\n maxFiles: number\n onCancel: () => void\n onSuccess: (newDocs: JsonObject[], errorCount: number) => void\n setCollectionSlug: (slug: string) => void\n setInitialFiles: (files: FileList) => void\n setMaxFiles: (maxFiles: number) => void\n setOnCancel: (onCancel: BulkUploadContext['onCancel']) => void\n setOnSuccess: (onSuccess: BulkUploadContext['onSuccess']) => void\n}\n\nconst Context = React.createContext<BulkUploadContext>({\n collectionSlug: '',\n drawerSlug: '',\n initialFiles: undefined,\n maxFiles: undefined,\n onCancel: () => null,\n onSuccess: () => null,\n setCollectionSlug: () => null,\n setInitialFiles: () => null,\n setMaxFiles: () => null,\n setOnCancel: () => null,\n setOnSuccess: () => null,\n})\nexport function BulkUploadProvider({ children }: { readonly children: React.ReactNode }) {\n const [collection, setCollection] = React.useState<string>()\n const [onSuccessFunction, setOnSuccessFunction] = React.useState<BulkUploadContext['onSuccess']>()\n const [onCancelFunction, setOnCancelFunction] = React.useState<BulkUploadContext['onCancel']>()\n const [initialFiles, setInitialFiles] = React.useState<FileList>(undefined)\n const [maxFiles, setMaxFiles] = React.useState<number>(undefined)\n const drawerSlug = useBulkUploadDrawerSlug()\n\n const setCollectionSlug: BulkUploadContext['setCollectionSlug'] = (slug) => {\n setCollection(slug)\n }\n\n const setOnSuccess: BulkUploadContext['setOnSuccess'] = (onSuccess) => {\n setOnSuccessFunction(() => onSuccess)\n }\n\n return (\n <Context.Provider\n value={{\n collectionSlug: collection,\n drawerSlug,\n initialFiles,\n maxFiles,\n onCancel: () => {\n if (typeof onCancelFunction === 'function') {\n onCancelFunction()\n }\n },\n onSuccess: (docIDs, errorCount) => {\n if (typeof onSuccessFunction === 'function') {\n onSuccessFunction(docIDs, errorCount)\n }\n },\n setCollectionSlug,\n setInitialFiles,\n setMaxFiles,\n setOnCancel: setOnCancelFunction,\n setOnSuccess,\n }}\n >\n <React.Fragment>\n {children}\n <BulkUploadDrawer />\n </React.Fragment>\n </Context.Provider>\n )\n}\n\nexport const useBulkUpload = () => React.useContext(Context)\n\nexport function useBulkUploadDrawerSlug() {\n const depth = useDrawerDepth()\n\n return `${drawerSlug}-${depth || 1}`\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,12 +10,12 @@ import './index.scss';
10
10
  const Editor = EditorImport.default || EditorImport;
11
11
  const baseClass = 'code-editor';
12
12
  const CodeEditor = props => {
13
- const $ = _c(22);
14
- let rest;
15
- let readOnly;
13
+ const $ = _c(21);
16
14
  let className;
17
- let options;
18
15
  let maxHeight;
16
+ let options;
17
+ let readOnly;
18
+ let rest;
19
19
  if ($[0] !== props) {
20
20
  ({
21
21
  className,
@@ -25,17 +25,17 @@ const CodeEditor = props => {
25
25
  ...rest
26
26
  } = props);
27
27
  $[0] = props;
28
- $[1] = rest;
29
- $[2] = readOnly;
30
- $[3] = className;
31
- $[4] = options;
32
- $[5] = maxHeight;
28
+ $[1] = className;
29
+ $[2] = maxHeight;
30
+ $[3] = options;
31
+ $[4] = readOnly;
32
+ $[5] = rest;
33
33
  } else {
34
- rest = $[1];
35
- readOnly = $[2];
36
- className = $[3];
37
- options = $[4];
38
- maxHeight = $[5];
34
+ className = $[1];
35
+ maxHeight = $[2];
36
+ options = $[3];
37
+ readOnly = $[4];
38
+ rest = $[5];
39
39
  }
40
40
  const [dynamicHeight, setDynamicHeight] = useState(20);
41
41
  const {
@@ -55,28 +55,24 @@ const CodeEditor = props => {
55
55
  }
56
56
  const classes = t2.join(" ");
57
57
  let t3;
58
- if ($[10] !== dynamicHeight || $[11] !== readOnly || $[12] !== options || $[13] !== theme || $[14] !== maxHeight || $[15] !== rest || $[16] !== classes) {
58
+ if ($[10] !== classes || $[11] !== dynamicHeight || $[12] !== maxHeight || $[13] !== options || $[14] !== readOnly || $[15] !== rest || $[16] !== theme) {
59
59
  let t4;
60
- if ($[18] !== rest.onChange) {
60
+ let t5;
61
+ if ($[18] !== rest) {
61
62
  t4 = (value, ev) => {
62
63
  rest.onChange?.(value, ev);
63
64
  setDynamicHeight(Math.max(56, value.split("\n").length * 18 + 2));
64
65
  };
65
- $[18] = rest.onChange;
66
- $[19] = t4;
67
- } else {
68
- t4 = $[19];
69
- }
70
- let t5;
71
- if ($[20] !== rest.onMount) {
72
66
  t5 = (editor, monaco) => {
73
67
  rest.onMount?.(editor, monaco);
74
68
  setDynamicHeight(Math.max(56, editor.getValue().split("\n").length * 18 + 2));
75
69
  };
76
- $[20] = rest.onMount;
77
- $[21] = t5;
70
+ $[18] = rest;
71
+ $[19] = t4;
72
+ $[20] = t5;
78
73
  } else {
79
- t5 = $[21];
74
+ t4 = $[19];
75
+ t5 = $[20];
80
76
  }
81
77
  t3 = _jsx(Editor, {
82
78
  className: classes,
@@ -105,13 +101,13 @@ const CodeEditor = props => {
105
101
  onChange: t4,
106
102
  onMount: t5
107
103
  });
108
- $[10] = dynamicHeight;
109
- $[11] = readOnly;
110
- $[12] = options;
111
- $[13] = theme;
112
- $[14] = maxHeight;
104
+ $[10] = classes;
105
+ $[11] = dynamicHeight;
106
+ $[12] = maxHeight;
107
+ $[13] = options;
108
+ $[14] = readOnly;
113
109
  $[15] = rest;
114
- $[16] = classes;
110
+ $[16] = theme;
115
111
  $[17] = t3;
116
112
  } else {
117
113
  t3 = $[17];