@payloadcms/ui 3.0.0-beta.96 → 3.0.0-beta.98

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 (274) hide show
  1. package/dist/elements/AddNewRelation/index.js +1 -1
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/AppHeader/index.js +5 -5
  4. package/dist/elements/AppHeader/index.js.map +1 -1
  5. package/dist/elements/BulkUpload/AddingFilesView/index.js +1 -1
  6. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  7. package/dist/elements/BulkUpload/EditForm/index.js +2 -2
  8. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  9. package/dist/elements/BulkUpload/FileSidebar/index.js +1 -1
  10. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/index.js +1 -1
  12. package/dist/elements/BulkUpload/index.js.map +1 -1
  13. package/dist/elements/Button/index.js +16 -16
  14. package/dist/elements/Button/index.js.map +1 -1
  15. package/dist/elements/Button/types.d.ts +2 -2
  16. package/dist/elements/Button/types.d.ts.map +1 -1
  17. package/dist/elements/Button/types.js.map +1 -1
  18. package/dist/elements/Card/index.d.ts +1 -1
  19. package/dist/elements/Card/index.d.ts.map +1 -1
  20. package/dist/elements/Card/index.js +2 -2
  21. package/dist/elements/Card/index.js.map +1 -1
  22. package/dist/elements/CodeEditor/index.js +1 -1
  23. package/dist/elements/CodeEditor/index.js.map +1 -1
  24. package/dist/elements/ColumnSelector/index.js +2 -2
  25. package/dist/elements/ColumnSelector/index.js.map +1 -1
  26. package/dist/elements/DatePicker/index.js +1 -1
  27. package/dist/elements/DatePicker/index.js.map +1 -1
  28. package/dist/elements/DeleteMany/index.js +1 -1
  29. package/dist/elements/DeleteMany/index.js.map +1 -1
  30. package/dist/elements/DocumentControls/index.d.ts +1 -1
  31. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  32. package/dist/elements/DocumentControls/index.js.map +1 -1
  33. package/dist/elements/DocumentDrawer/DrawerContent.js +3 -3
  34. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  35. package/dist/elements/DocumentDrawer/index.js +1 -1
  36. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  37. package/dist/elements/DraggableSortable/index.js +1 -1
  38. package/dist/elements/DraggableSortable/index.js.map +1 -1
  39. package/dist/elements/Drawer/index.js +1 -1
  40. package/dist/elements/Drawer/index.js.map +1 -1
  41. package/dist/elements/Drawer/types.d.ts +1 -1
  42. package/dist/elements/Drawer/types.d.ts.map +1 -1
  43. package/dist/elements/Drawer/types.js.map +1 -1
  44. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  45. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  46. package/dist/elements/ListDrawer/DrawerContent.js +41 -41
  47. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  48. package/dist/elements/ListDrawer/index.js +1 -1
  49. package/dist/elements/ListDrawer/index.js.map +1 -1
  50. package/dist/elements/Localizer/index.d.ts.map +1 -1
  51. package/dist/elements/Localizer/index.js +1 -1
  52. package/dist/elements/Localizer/index.js.map +1 -1
  53. package/dist/elements/Logout/index.js +1 -1
  54. package/dist/elements/Logout/index.js.map +1 -1
  55. package/dist/elements/Pagination/index.d.ts.map +1 -1
  56. package/dist/elements/Pagination/index.js +1 -1
  57. package/dist/elements/Pagination/index.js.map +1 -1
  58. package/dist/elements/Popup/index.d.ts.map +1 -1
  59. package/dist/elements/Popup/index.js +1 -1
  60. package/dist/elements/Popup/index.js.map +1 -1
  61. package/dist/elements/PublishButton/index.js +1 -1
  62. package/dist/elements/PublishButton/index.js.map +1 -1
  63. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  64. package/dist/elements/ReactSelect/index.js +2 -2
  65. package/dist/elements/ReactSelect/index.js.map +1 -1
  66. package/dist/elements/SaveDraftButton/index.js +1 -1
  67. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  68. package/dist/elements/SortColumn/index.d.ts +4 -4
  69. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  70. package/dist/elements/SortColumn/index.js +20 -34
  71. package/dist/elements/SortColumn/index.js.map +1 -1
  72. package/dist/elements/StepNav/index.d.ts +1 -1
  73. package/dist/elements/StepNav/index.d.ts.map +1 -1
  74. package/dist/elements/StepNav/index.js +2 -2
  75. package/dist/elements/StepNav/index.js.map +1 -1
  76. package/dist/elements/Table/DefaultCell/fields/Code/index.js +1 -1
  77. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  78. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
  79. package/dist/elements/Table/DefaultCell/fields/index.js +1 -1
  80. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  81. package/dist/elements/Table/RelationshipProvider/index.d.ts +1 -1
  82. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  83. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  84. package/dist/elements/Table/index.d.ts +2 -2
  85. package/dist/elements/Table/index.d.ts.map +1 -1
  86. package/dist/elements/Table/index.js +21 -16
  87. package/dist/elements/Table/index.js.map +1 -1
  88. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  89. package/dist/elements/TableColumns/buildColumnState.js +7 -9
  90. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  91. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  92. package/dist/elements/TableColumns/index.js +11 -33
  93. package/dist/elements/TableColumns/index.js.map +1 -1
  94. package/dist/elements/Thumbnail/index.d.ts +1 -1
  95. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  96. package/dist/elements/Thumbnail/index.js +1 -1
  97. package/dist/elements/Thumbnail/index.js.map +1 -1
  98. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  99. package/dist/elements/UnpublishMany/index.js +1 -1
  100. package/dist/elements/UnpublishMany/index.js.map +1 -1
  101. package/dist/elements/ViewDescription/index.d.ts +1 -1
  102. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  103. package/dist/elements/ViewDescription/index.js.map +1 -1
  104. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  105. package/dist/elements/WhereBuilder/Condition/index.js +2 -1
  106. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  107. package/dist/elements/WhereBuilder/types.d.ts +1 -1
  108. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  109. package/dist/elements/WhereBuilder/types.js.map +1 -1
  110. package/dist/elements/WindowInfo/index.d.ts +2 -2
  111. package/dist/elements/WindowInfo/index.d.ts.map +1 -1
  112. package/dist/elements/WindowInfo/index.js +2 -2
  113. package/dist/elements/WindowInfo/index.js.map +1 -1
  114. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  115. package/dist/exports/client/index.d.ts +2 -2
  116. package/dist/exports/client/index.d.ts.map +1 -1
  117. package/dist/exports/client/index.js +7 -7
  118. package/dist/exports/client/index.js.map +4 -4
  119. package/dist/exports/shared/index.d.ts +2 -2
  120. package/dist/exports/shared/index.d.ts.map +1 -1
  121. package/dist/exports/shared/index.js +2 -2
  122. package/dist/exports/shared/index.js.map +4 -4
  123. package/dist/fields/Array/ArrayRow.d.ts +1 -1
  124. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  125. package/dist/fields/Array/ArrayRow.js +6 -6
  126. package/dist/fields/Array/ArrayRow.js.map +1 -1
  127. package/dist/fields/Array/index.js +2 -2
  128. package/dist/fields/Array/index.js.map +1 -1
  129. package/dist/fields/Blocks/BlockRow.js +4 -4
  130. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  131. package/dist/fields/Blocks/RowActions.d.ts +1 -1
  132. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  133. package/dist/fields/Blocks/RowActions.js +1 -1
  134. package/dist/fields/Blocks/RowActions.js.map +1 -1
  135. package/dist/fields/Blocks/index.js +1 -1
  136. package/dist/fields/Blocks/index.js.map +1 -1
  137. package/dist/fields/Checkbox/Input.d.ts +1 -1
  138. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  139. package/dist/fields/Checkbox/Input.js +2 -2
  140. package/dist/fields/Checkbox/Input.js.map +1 -1
  141. package/dist/fields/Checkbox/index.d.ts +1 -1
  142. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  143. package/dist/fields/Checkbox/index.js +2 -2
  144. package/dist/fields/Checkbox/index.js.map +1 -1
  145. package/dist/fields/Code/index.js +1 -1
  146. package/dist/fields/Code/index.js.map +1 -1
  147. package/dist/fields/Collapsible/index.js +1 -1
  148. package/dist/fields/Collapsible/index.js.map +1 -1
  149. package/dist/fields/DateTime/index.js +1 -1
  150. package/dist/fields/DateTime/index.js.map +1 -1
  151. package/dist/fields/Email/index.js +1 -1
  152. package/dist/fields/Email/index.js.map +1 -1
  153. package/dist/fields/Group/index.js +1 -1
  154. package/dist/fields/Group/index.js.map +1 -1
  155. package/dist/fields/JSON/index.js +1 -1
  156. package/dist/fields/JSON/index.js.map +1 -1
  157. package/dist/fields/Number/index.js +1 -1
  158. package/dist/fields/Number/index.js.map +1 -1
  159. package/dist/fields/Password/index.js +3 -3
  160. package/dist/fields/Password/index.js.map +1 -1
  161. package/dist/fields/Password/input.js +7 -7
  162. package/dist/fields/Password/input.js.map +1 -1
  163. package/dist/fields/Password/types.d.ts +3 -3
  164. package/dist/fields/Password/types.d.ts.map +1 -1
  165. package/dist/fields/Password/types.js.map +1 -1
  166. package/dist/fields/Point/index.js +1 -1
  167. package/dist/fields/Point/index.js.map +1 -1
  168. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  169. package/dist/fields/RadioGroup/index.js +2 -2
  170. package/dist/fields/RadioGroup/index.js.map +1 -1
  171. package/dist/fields/Relationship/createRelationMap.d.ts +1 -1
  172. package/dist/fields/Relationship/createRelationMap.d.ts.map +1 -1
  173. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  174. package/dist/fields/Relationship/index.js +1 -1
  175. package/dist/fields/Relationship/index.js.map +1 -1
  176. package/dist/fields/Relationship/types.d.ts +1 -1
  177. package/dist/fields/Relationship/types.d.ts.map +1 -1
  178. package/dist/fields/Relationship/types.js.map +1 -1
  179. package/dist/fields/Select/Input.d.ts +3 -3
  180. package/dist/fields/Select/Input.d.ts.map +1 -1
  181. package/dist/fields/Select/Input.js +7 -7
  182. package/dist/fields/Select/Input.js.map +1 -1
  183. package/dist/fields/Select/index.js +3 -3
  184. package/dist/fields/Select/index.js.map +1 -1
  185. package/dist/fields/Tabs/index.d.ts.map +1 -1
  186. package/dist/fields/Tabs/index.js +1 -1
  187. package/dist/fields/Tabs/index.js.map +1 -1
  188. package/dist/fields/Text/Input.js +7 -7
  189. package/dist/fields/Text/Input.js.map +1 -1
  190. package/dist/fields/Text/index.d.ts +1 -1
  191. package/dist/fields/Text/index.d.ts.map +1 -1
  192. package/dist/fields/Text/index.js +4 -4
  193. package/dist/fields/Text/index.js.map +1 -1
  194. package/dist/fields/Text/types.d.ts +3 -3
  195. package/dist/fields/Text/types.d.ts.map +1 -1
  196. package/dist/fields/Text/types.js.map +1 -1
  197. package/dist/fields/Textarea/Input.js +7 -7
  198. package/dist/fields/Textarea/Input.js.map +1 -1
  199. package/dist/fields/Textarea/index.d.ts +2 -2
  200. package/dist/fields/Textarea/index.d.ts.map +1 -1
  201. package/dist/fields/Textarea/index.js +4 -4
  202. package/dist/fields/Textarea/index.js.map +1 -1
  203. package/dist/fields/Textarea/types.d.ts +3 -3
  204. package/dist/fields/Textarea/types.d.ts.map +1 -1
  205. package/dist/fields/Textarea/types.js.map +1 -1
  206. package/dist/fields/Upload/Input.d.ts +3 -3
  207. package/dist/fields/Upload/Input.d.ts.map +1 -1
  208. package/dist/fields/Upload/Input.js +4 -4
  209. package/dist/fields/Upload/Input.js.map +1 -1
  210. package/dist/fields/Upload/RelationshipContent/index.js +4 -4
  211. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  212. package/dist/fields/Upload/index.d.ts.map +1 -1
  213. package/dist/fields/Upload/index.js +33 -30
  214. package/dist/fields/Upload/index.js.map +1 -1
  215. package/dist/forms/Form/index.js +2 -2
  216. package/dist/forms/Form/index.js.map +1 -1
  217. package/dist/forms/Form/types.d.ts +1 -1
  218. package/dist/forms/Form/types.d.ts.map +1 -1
  219. package/dist/forms/Form/types.js.map +1 -1
  220. package/dist/forms/RenderFields/RenderField.js +1 -1
  221. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  222. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  223. package/dist/forms/RenderFields/index.js +1 -1
  224. package/dist/forms/RenderFields/index.js.map +1 -1
  225. package/dist/forms/RowLabel/index.js +1 -1
  226. package/dist/forms/RowLabel/index.js.map +1 -1
  227. package/dist/forms/RowLabel/types.d.ts +1 -1
  228. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  229. package/dist/forms/RowLabel/types.js.map +1 -1
  230. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  231. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  232. package/dist/graphics/Account/index.js +1 -1
  233. package/dist/graphics/Account/index.js.map +1 -1
  234. package/dist/providers/Auth/index.d.ts +1 -1
  235. package/dist/providers/Auth/index.d.ts.map +1 -1
  236. package/dist/providers/Auth/index.js.map +1 -1
  237. package/dist/providers/Config/RenderComponent.d.ts +1 -1
  238. package/dist/providers/Config/RenderComponent.d.ts.map +1 -1
  239. package/dist/providers/Config/RenderComponent.js +2 -2
  240. package/dist/providers/Config/RenderComponent.js.map +1 -1
  241. package/dist/providers/Config/createClientConfig/collections.d.ts +6 -6
  242. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  243. package/dist/providers/Config/createClientConfig/collections.js +6 -6
  244. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  245. package/dist/providers/Config/createClientConfig/getComponent.d.ts +1 -1
  246. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -1
  247. package/dist/providers/Config/createClientConfig/getComponent.js +2 -2
  248. package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -1
  249. package/dist/providers/Config/createClientConfig/globals.d.ts +4 -4
  250. package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -1
  251. package/dist/providers/Config/createClientConfig/globals.js +3 -3
  252. package/dist/providers/Config/createClientConfig/globals.js.map +1 -1
  253. package/dist/providers/Config/createClientConfig/index.d.ts +3 -3
  254. package/dist/providers/Config/createClientConfig/index.d.ts.map +1 -1
  255. package/dist/providers/Config/createClientConfig/index.js +5 -5
  256. package/dist/providers/Config/createClientConfig/index.js.map +1 -1
  257. package/dist/providers/DocumentEvents/index.js.map +1 -1
  258. package/dist/providers/DocumentInfo/types.d.ts +2 -2
  259. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  260. package/dist/providers/DocumentInfo/types.js.map +1 -1
  261. package/dist/providers/ListInfo/index.d.ts +2 -2
  262. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  263. package/dist/providers/ListInfo/index.js.map +1 -1
  264. package/dist/providers/ListQuery/index.d.ts +6 -6
  265. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  266. package/dist/providers/ListQuery/index.js.map +1 -1
  267. package/dist/providers/Root/index.d.ts +1 -1
  268. package/dist/providers/Root/index.js.map +1 -1
  269. package/dist/providers/WindowInfo/index.d.ts +1 -1
  270. package/dist/providers/WindowInfo/index.d.ts.map +1 -1
  271. package/dist/providers/WindowInfo/index.js +1 -1
  272. package/dist/providers/WindowInfo/index.js.map +1 -1
  273. package/dist/styles.css +1 -1
  274. package/package.json +5 -5
@@ -9,8 +9,8 @@ import { useAuth } from '../../providers/Auth/index.js';
9
9
  import { useTranslation } from '../../providers/Translation/index.js';
10
10
  import { Button } from '../Button/index.js';
11
11
  import { useDocumentDrawer } from '../DocumentDrawer/index.js';
12
- import * as PopupList from '../Popup/PopupButtonList/index.js';
13
12
  import { Popup } from '../Popup/index.js';
13
+ import * as PopupList from '../Popup/PopupButtonList/index.js';
14
14
  import { Tooltip } from '../Tooltip/index.js';
15
15
  import './index.scss';
16
16
  import { useRelatedCollections } from './useRelatedCollections.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","useEffect","useState","PlusIcon","useAuth","useTranslation","Button","useDocumentDrawer","PopupList","Popup","Tooltip","useRelatedCollections","baseClass","AddNewRelation","t0","$","ButtonFromProps","hasMany","path","relationTo","setValue","unstyled","value","relatedCollections","permissions","show","setShow","selectedCollection","setSelectedCollection","relatedToMany","length","t1","undefined","collectionConfig","setCollectionConfig","popupOpen","setPopupOpen","i18n","t","showTooltip","setShowTooltip","t2","slug","t3","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t4","isDrawerOpen","toggleDrawer","t5","t6","doc","operation","newValue","Array","isArray","id","isNewValue","some","v","onSave","Symbol","for","state","onPopupToggle","t7","t8","collections","create","permission","collection","t9","t10","find","collection_0","t11","t12","t13","t14","t15","t16","labels","singular","t17","label","_jsxs","className","children","_jsx","filter","Boolean","join","onClick","onMouseEnter","onMouseLeave","button","buttonStyle","tooltip","horizontalAlign","onToggleOpen","render","t18","close","closePopup","ButtonGroup","map","relatedCollection"],"sources":["../../../src/elements/AddNewRelation/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { Value } from '../../fields/Relationship/types.js'\nimport type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js'\nimport type { Props } from './types.js'\n\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport * as PopupList from '../Popup/PopupButtonList/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\nimport { useRelatedCollections } from './useRelatedCollections.js'\n\nconst baseClass = 'relationship-add-new'\n\nexport const AddNewRelation: React.FC<Props> = ({\n Button: ButtonFromProps,\n hasMany,\n path,\n relationTo,\n setValue,\n unstyled,\n value,\n}) => {\n const relatedCollections = useRelatedCollections(relationTo)\n const { permissions } = useAuth()\n const [show, setShow] = useState(false)\n const [selectedCollection, setSelectedCollection] = useState<string>()\n const relatedToMany = relatedCollections.length > 1\n const [collectionConfig, setCollectionConfig] = useState<ClientCollectionConfig>(() =>\n !relatedToMany ? relatedCollections[0] : undefined,\n )\n const [popupOpen, setPopupOpen] = useState(false)\n const { i18n, t } = useTranslation()\n const [showTooltip, setShowTooltip] = useState(false)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen, toggleDrawer }] = useDocumentDrawer(\n {\n collectionSlug: collectionConfig?.slug,\n },\n )\n\n const onSave: DocumentInfoContext['onSave'] = useCallback(\n ({ doc, operation }) => {\n if (operation === 'create') {\n const newValue: Value = Array.isArray(relationTo)\n ? {\n relationTo: collectionConfig?.slug,\n value: doc.id,\n }\n : doc.id\n\n // ensure the value is not already in the array\n const isNewValue =\n Array.isArray(relationTo) && Array.isArray(value)\n ? !value.some((v) => v && typeof v === 'object' && v.value === doc.id)\n : value !== doc.id\n\n if (isNewValue) {\n // dispatchOptions({\n // collection: collectionConfig,\n // // TODO: fix this\n // // @ts-expect-error-next-line\n // type: 'ADD',\n // config,\n // docs: [doc],\n // i18n,\n // sort: true,\n // })\n\n if (hasMany) {\n setValue([...(Array.isArray(value) ? value : []), newValue])\n } else {\n setValue(newValue)\n }\n }\n\n setSelectedCollection(undefined)\n }\n },\n [relationTo, collectionConfig, hasMany, setValue, value],\n )\n\n const onPopupToggle = useCallback((state) => {\n setPopupOpen(state)\n }, [])\n\n useEffect(() => {\n if (permissions) {\n if (relatedCollections.length === 1) {\n setShow(permissions.collections[relatedCollections[0]?.slug]?.create?.permission)\n } else {\n setShow(\n relatedCollections.some(\n (collection) => permissions.collections[collection?.slug]?.create?.permission,\n ),\n )\n }\n }\n }, [permissions, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && selectedCollection) {\n setCollectionConfig(\n relatedCollections.find((collection) => collection?.slug === selectedCollection),\n )\n }\n }, [selectedCollection, relatedToMany, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && collectionConfig) {\n // the drawer must be rendered on the page before before opening it\n // this is why 'selectedCollection' is different from 'collectionConfig'\n toggleDrawer()\n setSelectedCollection(undefined)\n }\n }, [toggleDrawer, relatedToMany, collectionConfig])\n\n useEffect(() => {\n if (relatedToMany && !isDrawerOpen) {\n setCollectionConfig(undefined)\n }\n }, [isDrawerOpen, relatedToMany])\n\n const label = t('fields:addNewLabel', {\n label: getTranslation(relatedCollections[0].labels.singular, i18n),\n })\n\n if (show) {\n return (\n <div className={baseClass} id={`${path}-add-new`}>\n {relatedCollections.length === 1 && (\n <Fragment>\n <DocumentDrawerToggler\n className={[\n `${baseClass}__add-button`,\n unstyled && `${baseClass}__add-button--unstyled`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => setShowTooltip(false)}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n >\n {ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Fragment>\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {label}\n </Tooltip>\n <PlusIcon />\n </Fragment>\n )}\n </DocumentDrawerToggler>\n <DocumentDrawer onSave={onSave} />\n </Fragment>\n )}\n {relatedCollections.length > 1 && (\n <Fragment>\n <Popup\n button={\n ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__add-button`}\n tooltip={popupOpen ? undefined : t('fields:addNew')}\n >\n <PlusIcon />\n </Button>\n )\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n onToggleOpen={onPopupToggle}\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relatedCollections.map((relatedCollection) => {\n if (permissions.collections[relatedCollection?.slug].create.permission) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection?.slug}`}\n key={relatedCollection?.slug}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection?.slug)\n }}\n >\n {getTranslation(relatedCollection?.labels?.singular, i18n)}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n {collectionConfig &&\n permissions.collections[collectionConfig?.slug]?.create?.permission && (\n <DocumentDrawer onSave={onSave} />\n )}\n </Fragment>\n )}\n </div>\n )\n }\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","Fragment","useCallback","useEffect","useState","PlusIcon","useAuth","useTranslation","Button","useDocumentDrawer","Popup","PopupList","Tooltip","useRelatedCollections","baseClass","AddNewRelation","t0","$","ButtonFromProps","hasMany","path","relationTo","setValue","unstyled","value","relatedCollections","permissions","show","setShow","selectedCollection","setSelectedCollection","relatedToMany","length","t1","undefined","collectionConfig","setCollectionConfig","popupOpen","setPopupOpen","i18n","t","showTooltip","setShowTooltip","t2","slug","t3","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t4","isDrawerOpen","toggleDrawer","t5","t6","doc","operation","newValue","Array","isArray","id","isNewValue","some","v","onSave","Symbol","for","state","onPopupToggle","t7","t8","collections","create","permission","collection","t9","t10","find","collection_0","t11","t12","t13","t14","t15","t16","labels","singular","t17","label","_jsxs","className","children","_jsx","filter","Boolean","join","onClick","onMouseEnter","onMouseLeave","button","buttonStyle","tooltip","horizontalAlign","onToggleOpen","render","t18","close","closePopup","ButtonGroup","map","relatedCollection"],"sources":["../../../src/elements/AddNewRelation/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { Value } from '../../fields/Relationship/types.js'\nimport type { DocumentInfoContext } from '../../providers/DocumentInfo/types.js'\nimport type { Props } from './types.js'\n\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup } from '../Popup/index.js'\nimport * as PopupList from '../Popup/PopupButtonList/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\nimport { useRelatedCollections } from './useRelatedCollections.js'\n\nconst baseClass = 'relationship-add-new'\n\nexport const AddNewRelation: React.FC<Props> = ({\n Button: ButtonFromProps,\n hasMany,\n path,\n relationTo,\n setValue,\n unstyled,\n value,\n}) => {\n const relatedCollections = useRelatedCollections(relationTo)\n const { permissions } = useAuth()\n const [show, setShow] = useState(false)\n const [selectedCollection, setSelectedCollection] = useState<string>()\n const relatedToMany = relatedCollections.length > 1\n const [collectionConfig, setCollectionConfig] = useState<ClientCollectionConfig>(() =>\n !relatedToMany ? relatedCollections[0] : undefined,\n )\n const [popupOpen, setPopupOpen] = useState(false)\n const { i18n, t } = useTranslation()\n const [showTooltip, setShowTooltip] = useState(false)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen, toggleDrawer }] = useDocumentDrawer(\n {\n collectionSlug: collectionConfig?.slug,\n },\n )\n\n const onSave: DocumentInfoContext['onSave'] = useCallback(\n ({ doc, operation }) => {\n if (operation === 'create') {\n const newValue: Value = Array.isArray(relationTo)\n ? {\n relationTo: collectionConfig?.slug,\n value: doc.id,\n }\n : doc.id\n\n // ensure the value is not already in the array\n const isNewValue =\n Array.isArray(relationTo) && Array.isArray(value)\n ? !value.some((v) => v && typeof v === 'object' && v.value === doc.id)\n : value !== doc.id\n\n if (isNewValue) {\n // dispatchOptions({\n // collection: collectionConfig,\n // // TODO: fix this\n // // @ts-expect-error-next-line\n // type: 'ADD',\n // config,\n // docs: [doc],\n // i18n,\n // sort: true,\n // })\n\n if (hasMany) {\n setValue([...(Array.isArray(value) ? value : []), newValue])\n } else {\n setValue(newValue)\n }\n }\n\n setSelectedCollection(undefined)\n }\n },\n [relationTo, collectionConfig, hasMany, setValue, value],\n )\n\n const onPopupToggle = useCallback((state) => {\n setPopupOpen(state)\n }, [])\n\n useEffect(() => {\n if (permissions) {\n if (relatedCollections.length === 1) {\n setShow(permissions.collections[relatedCollections[0]?.slug]?.create?.permission)\n } else {\n setShow(\n relatedCollections.some(\n (collection) => permissions.collections[collection?.slug]?.create?.permission,\n ),\n )\n }\n }\n }, [permissions, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && selectedCollection) {\n setCollectionConfig(\n relatedCollections.find((collection) => collection?.slug === selectedCollection),\n )\n }\n }, [selectedCollection, relatedToMany, relatedCollections])\n\n useEffect(() => {\n if (relatedToMany && collectionConfig) {\n // the drawer must be rendered on the page before before opening it\n // this is why 'selectedCollection' is different from 'collectionConfig'\n toggleDrawer()\n setSelectedCollection(undefined)\n }\n }, [toggleDrawer, relatedToMany, collectionConfig])\n\n useEffect(() => {\n if (relatedToMany && !isDrawerOpen) {\n setCollectionConfig(undefined)\n }\n }, [isDrawerOpen, relatedToMany])\n\n const label = t('fields:addNewLabel', {\n label: getTranslation(relatedCollections[0].labels.singular, i18n),\n })\n\n if (show) {\n return (\n <div className={baseClass} id={`${path}-add-new`}>\n {relatedCollections.length === 1 && (\n <Fragment>\n <DocumentDrawerToggler\n className={[\n `${baseClass}__add-button`,\n unstyled && `${baseClass}__add-button--unstyled`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={() => setShowTooltip(false)}\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n >\n {ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Fragment>\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {label}\n </Tooltip>\n <PlusIcon />\n </Fragment>\n )}\n </DocumentDrawerToggler>\n <DocumentDrawer onSave={onSave} />\n </Fragment>\n )}\n {relatedCollections.length > 1 && (\n <Fragment>\n <Popup\n button={\n ButtonFromProps ? (\n ButtonFromProps\n ) : (\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__add-button`}\n tooltip={popupOpen ? undefined : t('fields:addNew')}\n >\n <PlusIcon />\n </Button>\n )\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n onToggleOpen={onPopupToggle}\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relatedCollections.map((relatedCollection) => {\n if (permissions.collections[relatedCollection?.slug].create.permission) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection?.slug}`}\n key={relatedCollection?.slug}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection?.slug)\n }}\n >\n {getTranslation(relatedCollection?.labels?.singular, i18n)}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n {collectionConfig &&\n permissions.collections[collectionConfig?.slug]?.create?.permission && (\n <DocumentDrawer onSave={onSave} />\n )}\n </Fragment>\n )}\n </div>\n )\n }\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,15 +5,15 @@ import LinkWithDefault from 'next/link.js';
5
5
  import React, { useEffect, useRef, useState } from 'react';
6
6
  import { Account } from '../../graphics/Account/index.js';
7
7
  import { useActions } from '../../providers/Actions/index.js';
8
- import { RenderComponent } from '../../providers/Config/RenderComponent.js';
9
8
  import { useConfig } from '../../providers/Config/index.js';
9
+ import { RenderComponent } from '../../providers/Config/RenderComponent.js';
10
10
  import { useTranslation } from '../../providers/Translation/index.js';
11
11
  import { formatAdminURL } from '../../utilities/formatAdminURL.js';
12
12
  import { Hamburger } from '../Hamburger/index.js';
13
- import { LocalizerLabel } from '../Localizer/LocalizerLabel/index.js';
14
13
  import { Localizer } from '../Localizer/index.js';
15
- import { NavToggler } from '../Nav/NavToggler/index.js';
14
+ import { LocalizerLabel } from '../Localizer/LocalizerLabel/index.js';
16
15
  import { useNav } from '../Nav/context.js';
16
+ import { NavToggler } from '../Nav/NavToggler/index.js';
17
17
  import { StepNav } from '../StepNav/index.js';
18
18
  import './index.scss';
19
19
  const baseClass = 'app-header';
@@ -75,8 +75,8 @@ export const AppHeader = () => {
75
75
  children: [/*#__PURE__*/_jsx("div", {
76
76
  className: `${baseClass}__step-nav-wrapper`,
77
77
  children: /*#__PURE__*/_jsx(StepNav, {
78
- Link: Link,
79
- className: `${baseClass}__step-nav`
78
+ className: `${baseClass}__step-nav`,
79
+ Link: Link
80
80
  })
81
81
  }), /*#__PURE__*/_jsxs("div", {
82
82
  className: `${baseClass}__actions-wrapper`,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["LinkWithDefault","React","useEffect","useRef","useState","Account","useActions","RenderComponent","useConfig","useTranslation","formatAdminURL","Hamburger","LocalizerLabel","Localizer","NavToggler","useNav","StepNav","baseClass","AppHeader","t","config","admin","routes","account","accountRoute","localization","adminRoute","actions","navOpen","customControlsRef","isScrollable","setIsScrollable","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","Link","default","LinkElement","_jsxs","className","filter","Boolean","join","_jsx","tabIndex","ref","Array","isArray","map","Action","i","length","mappedComponent","ariaLabel","href","path"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport LinkWithDefault from 'next/link.js'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { Account } from '../../graphics/Account/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { Hamburger } from '../Hamburger/index.js'\nimport { LocalizerLabel } from '../Localizer/LocalizerLabel/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { NavToggler } from '../Nav/NavToggler/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { StepNav } from '../StepNav/index.js'\nimport './index.scss'\n\nconst baseClass = 'app-header'\n\nexport const AppHeader: React.FC = () => {\n const { t } = useTranslation()\n\n const {\n config: {\n admin: {\n routes: { account: accountRoute },\n },\n localization,\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { actions } = useActions()\n\n const { navOpen } = useNav()\n\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\n\n useEffect(() => {\n const checkIsScrollable = () => {\n const el = customControlsRef.current\n if (el) {\n const scrollable = el.scrollWidth > el.clientWidth\n setIsScrollable(scrollable)\n }\n }\n\n checkIsScrollable()\n window.addEventListener('resize', checkIsScrollable)\n\n return () => {\n window.removeEventListener('resize', checkIsScrollable)\n }\n }, [actions])\n\n const Link = LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n\n return (\n <header className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__bg`} />\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <NavToggler className={`${baseClass}__mobile-nav-toggler`} tabIndex={-1}>\n <Hamburger />\n </NavToggler>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav Link={Link} className={`${baseClass}__step-nav`} />\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {Array.isArray(actions) &&\n actions.map((Action, i) => (\n <div\n className={\n isScrollable && i === actions.length - 1 ? `${baseClass}__last-action` : ''\n }\n key={i}\n >\n <RenderComponent mappedComponent={Action} />\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <LocalizerLabel ariaLabel=\"invisible\" className={`${baseClass}__localizer-spacing`} />\n )}\n <LinkElement\n aria-label={t('authentication:account')}\n className={`${baseClass}__account`}\n href={formatAdminURL({ adminRoute, path: accountRoute })}\n tabIndex={0}\n >\n <Account />\n </LinkElement>\n </div>\n </div>\n </div>\n <Localizer className={`${baseClass}__localizer`} />\n </header>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["LinkWithDefault","React","useEffect","useRef","useState","Account","useActions","useConfig","RenderComponent","useTranslation","formatAdminURL","Hamburger","Localizer","LocalizerLabel","useNav","NavToggler","StepNav","baseClass","AppHeader","t","config","admin","routes","account","accountRoute","localization","adminRoute","actions","navOpen","customControlsRef","isScrollable","setIsScrollable","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","Link","default","LinkElement","_jsxs","className","filter","Boolean","join","_jsx","tabIndex","ref","Array","isArray","map","Action","i","length","mappedComponent","ariaLabel","href","path"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport LinkWithDefault from 'next/link.js'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { Account } from '../../graphics/Account/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { Hamburger } from '../Hamburger/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { LocalizerLabel } from '../Localizer/LocalizerLabel/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { NavToggler } from '../Nav/NavToggler/index.js'\nimport { StepNav } from '../StepNav/index.js'\nimport './index.scss'\n\nconst baseClass = 'app-header'\n\nexport const AppHeader: React.FC = () => {\n const { t } = useTranslation()\n\n const {\n config: {\n admin: {\n routes: { account: accountRoute },\n },\n localization,\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { actions } = useActions()\n\n const { navOpen } = useNav()\n\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\n\n useEffect(() => {\n const checkIsScrollable = () => {\n const el = customControlsRef.current\n if (el) {\n const scrollable = el.scrollWidth > el.clientWidth\n setIsScrollable(scrollable)\n }\n }\n\n checkIsScrollable()\n window.addEventListener('resize', checkIsScrollable)\n\n return () => {\n window.removeEventListener('resize', checkIsScrollable)\n }\n }, [actions])\n\n const Link = LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n\n return (\n <header className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__bg`} />\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <NavToggler className={`${baseClass}__mobile-nav-toggler`} tabIndex={-1}>\n <Hamburger />\n </NavToggler>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav className={`${baseClass}__step-nav`} Link={Link} />\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {Array.isArray(actions) &&\n actions.map((Action, i) => (\n <div\n className={\n isScrollable && i === actions.length - 1 ? `${baseClass}__last-action` : ''\n }\n key={i}\n >\n <RenderComponent mappedComponent={Action} />\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <LocalizerLabel ariaLabel=\"invisible\" className={`${baseClass}__localizer-spacing`} />\n )}\n <LinkElement\n aria-label={t('authentication:account')}\n className={`${baseClass}__account`}\n href={formatAdminURL({ adminRoute, path: accountRoute })}\n tabIndex={0}\n >\n <Account />\n </LinkElement>\n </div>\n </div>\n </div>\n <Localizer className={`${baseClass}__localizer`} />\n </header>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ import { useConfig } from '../../../providers/Config/index.js';
10
10
  import { DocumentInfoProvider } from '../../../providers/DocumentInfo/index.js';
11
11
  import { useTranslation } from '../../../providers/Translation/index.js';
12
12
  import { ActionsBar } from '../ActionsBar/index.js';
13
- import { DiscardWithoutSaving, discardBulkUploadModalSlug } from '../DiscardWithoutSaving/index.js';
13
+ import { discardBulkUploadModalSlug, DiscardWithoutSaving } from '../DiscardWithoutSaving/index.js';
14
14
  import { EditForm } from '../EditForm/index.js';
15
15
  import { FileSidebar } from '../FileSidebar/index.js';
16
16
  import { useFormsManager } from '../FormsManager/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","reduceFieldsToValues","React","useConfig","DocumentInfoProvider","useTranslation","ActionsBar","DiscardWithoutSaving","discardBulkUploadModalSlug","EditForm","FileSidebar","useFormsManager","DrawerHeader","baseClass","AddingFilesView","$","activeIndex","collectionSlug","docPermissions","forms","hasPublishPermission","hasSavePermission","hasSubmitted","activeForm","config","i18n","openModal","t0","collections","t1","slug","collection","find","t2","_jsxs","className","children","_jsx","onClose","title","labels","singular","id","initialData","formState","initialState","submitted","length"],"sources":["../../../../src/elements/BulkUpload/AddingFilesView/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React from 'react'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ActionsBar } from '../ActionsBar/index.js'\nimport { DiscardWithoutSaving, discardBulkUploadModalSlug } from '../DiscardWithoutSaving/index.js'\nimport { EditForm } from '../EditForm/index.js'\nimport { FileSidebar } from '../FileSidebar/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { DrawerHeader } from '../Header/index.js'\nimport './index.scss'\n\nconst baseClass = 'bulk-upload--file-manager'\n\nexport function AddingFilesView() {\n const {\n activeIndex,\n collectionSlug,\n docPermissions,\n forms,\n hasPublishPermission,\n hasSavePermission,\n hasSubmitted,\n } = useFormsManager()\n const activeForm = forms[activeIndex]\n const { config } = useConfig()\n const { i18n } = useTranslation()\n const { openModal } = useModal()\n\n const collection = config.collections.find((c) => c.slug === collectionSlug)\n\n return (\n <div className={baseClass}>\n <FileSidebar />\n\n <div className={`${baseClass}__editView`}>\n <DrawerHeader\n onClose={() => openModal(discardBulkUploadModalSlug)}\n title={getTranslation(collection.labels.singular, i18n)}\n />\n {activeForm ? (\n <DocumentInfoProvider\n collectionSlug={collectionSlug}\n docPermissions={docPermissions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={null}\n initialData={reduceFieldsToValues(activeForm.formState, true)}\n initialState={activeForm.formState}\n key={`${activeIndex}-${forms.length}`}\n >\n <ActionsBar />\n <EditForm submitted={hasSubmitted} />\n </DocumentInfoProvider>\n ) : null}\n </div>\n\n <DiscardWithoutSaving />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","reduceFieldsToValues","React","useConfig","DocumentInfoProvider","useTranslation","ActionsBar","discardBulkUploadModalSlug","DiscardWithoutSaving","EditForm","FileSidebar","useFormsManager","DrawerHeader","baseClass","AddingFilesView","$","activeIndex","collectionSlug","docPermissions","forms","hasPublishPermission","hasSavePermission","hasSubmitted","activeForm","config","i18n","openModal","t0","collections","t1","slug","collection","find","t2","_jsxs","className","children","_jsx","onClose","title","labels","singular","id","initialData","formState","initialState","submitted","length"],"sources":["../../../../src/elements/BulkUpload/AddingFilesView/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React from 'react'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ActionsBar } from '../ActionsBar/index.js'\nimport { discardBulkUploadModalSlug, DiscardWithoutSaving } from '../DiscardWithoutSaving/index.js'\nimport { EditForm } from '../EditForm/index.js'\nimport { FileSidebar } from '../FileSidebar/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { DrawerHeader } from '../Header/index.js'\nimport './index.scss'\n\nconst baseClass = 'bulk-upload--file-manager'\n\nexport function AddingFilesView() {\n const {\n activeIndex,\n collectionSlug,\n docPermissions,\n forms,\n hasPublishPermission,\n hasSavePermission,\n hasSubmitted,\n } = useFormsManager()\n const activeForm = forms[activeIndex]\n const { config } = useConfig()\n const { i18n } = useTranslation()\n const { openModal } = useModal()\n\n const collection = config.collections.find((c) => c.slug === collectionSlug)\n\n return (\n <div className={baseClass}>\n <FileSidebar />\n\n <div className={`${baseClass}__editView`}>\n <DrawerHeader\n onClose={() => openModal(discardBulkUploadModalSlug)}\n title={getTranslation(collection.labels.singular, i18n)}\n />\n {activeForm ? (\n <DocumentInfoProvider\n collectionSlug={collectionSlug}\n docPermissions={docPermissions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={null}\n initialData={reduceFieldsToValues(activeForm.formState, true)}\n initialState={activeForm.formState}\n key={`${activeIndex}-${forms.length}`}\n >\n <ActionsBar />\n <EditForm submitted={hasSubmitted} />\n </DocumentInfoProvider>\n ) : null}\n </div>\n\n <DiscardWithoutSaving />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,8 +5,8 @@ import { useRouter, useSearchParams } from 'next/navigation.js';
5
5
  import React, { useCallback } from 'react';
6
6
  import { Form, useForm } from '../../../forms/Form/index.js';
7
7
  import { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js';
8
- import { RenderComponent } from '../../../providers/Config/RenderComponent.js';
9
8
  import { useConfig } from '../../../providers/Config/index.js';
9
+ import { RenderComponent } from '../../../providers/Config/RenderComponent.js';
10
10
  import { useDocumentEvents } from '../../../providers/DocumentEvents/index.js';
11
11
  import { useDocumentInfo } from '../../../providers/DocumentInfo/index.js';
12
12
  import { useEditDepth } from '../../../providers/EditDepth/index.js';
@@ -27,11 +27,11 @@ export function EditForm({
27
27
  submitted
28
28
  }) {
29
29
  const {
30
+ action,
30
31
  AfterDocument,
31
32
  AfterFields,
32
33
  BeforeDocument,
33
34
  BeforeFields,
34
- action,
35
35
  collectionSlug: docSlug,
36
36
  docPermissions,
37
37
  getDocPreferences,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useRouter","useSearchParams","React","useCallback","Form","useForm","WatchChildErrors","RenderComponent","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useUploadEdits","formatAdminURL","getFormState","DocumentFields","Upload","useFormsManager","BulkUploadProvider","baseClass","EditForm","submitted","AfterDocument","AfterFields","BeforeDocument","BeforeFields","action","collectionSlug","docSlug","docPermissions","getDocPreferences","getVersions","hasSavePermission","initialState","isEditing","isInitializing","onSave","onSaveFromContext","config","routes","admin","adminRoute","api","apiRoute","serverURL","getEntityConfig","router","depth","params","reportUpdate","resetUploadEdits","locale","get","collectionConfig","slug","schemaPath","useState","json","entitySlug","updatedAt","result","Date","toISOString","operation","redirectRoute","path","doc","id","push","onChange","formState","prevFormState","docPreferences","newFormState","body","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","Fragment","components","edit","mappedComponent","uploadConfig","upload","fields","readOnly","ReportAllErrors","GetFieldProxy","getFields","getFormDataRef","useEffect","current","docConfig","activeIndex","setFormTotalErrorCount","errorCountRef","useRef","reportFormErrorCount","errorCount","index","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, DocumentPermissions } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { useCallback } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { RenderComponent } from '../../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useUploadEdits } from '../../../providers/UploadEdits/index.js'\nimport { formatAdminURL } from '../../../utilities/formatAdminURL.js'\nimport { getFormState } from '../../../utilities/getFormState.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { Upload } from '../../Upload/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { BulkUploadProvider } from '../index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({ submitted }: EditFormProps) {\n const {\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n action,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n getVersions,\n hasSavePermission,\n initialState,\n isEditing,\n isInitializing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const router = useRouter()\n const depth = useEditDepth()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n\n const locale = params.get('locale')\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug }) as ClientCollectionConfig\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n entitySlug: collectionSlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n void getVersions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n router.push(redirectRoute)\n } else {\n resetUploadEdits()\n }\n },\n [\n adminRoute,\n collectionSlug,\n depth,\n getVersions,\n isEditing,\n locale,\n onSaveFromContext,\n reportUpdate,\n resetUploadEdits,\n router,\n ],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n const newFormState = await getFormState({\n apiRoute,\n body: {\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n },\n serverURL,\n })\n\n return newFormState\n },\n [apiRoute, collectionSlug, schemaPath, getDocPreferences, serverURL],\n )\n\n return (\n <OperationProvider operation=\"create\">\n <BulkUploadProvider>\n {BeforeDocument}\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <React.Fragment>\n {collectionConfig?.admin?.components?.edit?.Upload ? (\n <RenderComponent\n mappedComponent={collectionConfig.admin.components.edit.Upload}\n />\n ) : (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={collectionConfig.upload}\n />\n )}\n </React.Fragment>\n )\n }\n docPermissions={docPermissions || ({} as DocumentPermissions)}\n fields={collectionConfig.fields}\n readOnly={!hasSavePermission}\n schemaPath={schemaPath}\n />\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n {AfterDocument}\n </BulkUploadProvider>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n React.useEffect(() => {\n getFormDataRef.current = getFields\n }, [getFields, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const reportFormErrorCount = React.useCallback(\n (errorCount) => {\n if (errorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount, index: activeIndex })\n errorCountRef.current = errorCount\n },\n [activeIndex, setFormTotalErrorCount],\n )\n\n if (!docConfig) {\n return null\n }\n\n return <WatchChildErrors fields={docConfig.fields} path=\"\" setErrorCount={reportFormErrorCount} />\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useRouter","useSearchParams","React","useCallback","Form","useForm","WatchChildErrors","useConfig","RenderComponent","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useUploadEdits","formatAdminURL","getFormState","DocumentFields","Upload","useFormsManager","BulkUploadProvider","baseClass","EditForm","submitted","action","AfterDocument","AfterFields","BeforeDocument","BeforeFields","collectionSlug","docSlug","docPermissions","getDocPreferences","getVersions","hasSavePermission","initialState","isEditing","isInitializing","onSave","onSaveFromContext","config","routes","admin","adminRoute","api","apiRoute","serverURL","getEntityConfig","router","depth","params","reportUpdate","resetUploadEdits","locale","get","collectionConfig","slug","schemaPath","useState","json","entitySlug","updatedAt","result","Date","toISOString","operation","redirectRoute","path","doc","id","push","onChange","formState","prevFormState","docPreferences","newFormState","body","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","Fragment","components","edit","mappedComponent","uploadConfig","upload","fields","readOnly","ReportAllErrors","GetFieldProxy","getFields","getFormDataRef","useEffect","current","docConfig","activeIndex","setFormTotalErrorCount","errorCountRef","useRef","reportFormErrorCount","errorCount","index","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, DocumentPermissions } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { useCallback } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { RenderComponent } from '../../../providers/Config/RenderComponent.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useUploadEdits } from '../../../providers/UploadEdits/index.js'\nimport { formatAdminURL } from '../../../utilities/formatAdminURL.js'\nimport { getFormState } from '../../../utilities/getFormState.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { Upload } from '../../Upload/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { BulkUploadProvider } from '../index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({ submitted }: EditFormProps) {\n const {\n action,\n AfterDocument,\n AfterFields,\n BeforeDocument,\n BeforeFields,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n getVersions,\n hasSavePermission,\n initialState,\n isEditing,\n isInitializing,\n onSave: onSaveFromContext,\n } = useDocumentInfo()\n\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const router = useRouter()\n const depth = useEditDepth()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n\n const locale = params.get('locale')\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug }) as ClientCollectionConfig\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n entitySlug: collectionSlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n void getVersions()\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n router.push(redirectRoute)\n } else {\n resetUploadEdits()\n }\n },\n [\n adminRoute,\n collectionSlug,\n depth,\n getVersions,\n isEditing,\n locale,\n onSaveFromContext,\n reportUpdate,\n resetUploadEdits,\n router,\n ],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState }) => {\n const docPreferences = await getDocPreferences()\n const newFormState = await getFormState({\n apiRoute,\n body: {\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n },\n serverURL,\n })\n\n return newFormState\n },\n [apiRoute, collectionSlug, schemaPath, getDocPreferences, serverURL],\n )\n\n return (\n <OperationProvider operation=\"create\">\n <BulkUploadProvider>\n {BeforeDocument}\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <React.Fragment>\n {collectionConfig?.admin?.components?.edit?.Upload ? (\n <RenderComponent\n mappedComponent={collectionConfig.admin.components.edit.Upload}\n />\n ) : (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={collectionConfig.upload}\n />\n )}\n </React.Fragment>\n )\n }\n docPermissions={docPermissions || ({} as DocumentPermissions)}\n fields={collectionConfig.fields}\n readOnly={!hasSavePermission}\n schemaPath={schemaPath}\n />\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n {AfterDocument}\n </BulkUploadProvider>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n React.useEffect(() => {\n getFormDataRef.current = getFields\n }, [getFields, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const reportFormErrorCount = React.useCallback(\n (errorCount) => {\n if (errorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount, index: activeIndex })\n errorCountRef.current = errorCount\n },\n [activeIndex, setFormTotalErrorCount],\n )\n\n if (!docConfig) {\n return null\n }\n\n return <WatchChildErrors fields={docConfig.fields} path=\"\" setErrorCount={reportFormErrorCount} />\n}\n"],"mappings":"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","ignoreList":[]}
@@ -188,8 +188,8 @@ export function FileSidebar() {
188
188
  direction: showFiles ? "down" : "up"
189
189
  })
190
190
  }), _jsx(Drawer, {
191
- Header: null,
192
191
  gutter: false,
192
+ Header: null,
193
193
  slug: addMoreFilesDrawerSlug,
194
194
  children: _jsx(AddFilesView, {
195
195
  onCancel: t7,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","useWindowInfo","React","AnimateHeightImport","ChevronIcon","XIcon","useTranslation","Button","Drawer","ErrorPill","Pill","ShimmerEffect","Actions","AddFilesView","useFormsManager","useBulkUpload","AnimateHeight","default","addMoreFilesDrawerSlug","baseClass","FileSidebar","$","activeIndex","addFiles","forms","isInitializing","removeFile","setActiveIndex","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","alt","name","src","URL","createObjectURL","title","count","withMessage","buttonStyle","direction","Header","gutter","slug","onCancel","onDrop","duration","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 React from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/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 { Actions } from '../ActionsBar/index.js'\nimport { AddFilesView } from '../AddFilesView/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { useBulkUpload } from '../index.js'\nimport './index.scss'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\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 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 <ChevronIcon direction={showFiles ? 'down' : 'up'} />\n </Button>\n\n <Drawer Header={null} gutter={false} 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 duration={200} 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 <img alt={currentFile.name} src={URL.createObjectURL(currentFile)} />\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","React","AnimateHeightImport","ChevronIcon","XIcon","useTranslation","Button","Drawer","ErrorPill","Pill","ShimmerEffect","Actions","AddFilesView","useFormsManager","useBulkUpload","AnimateHeight","default","addMoreFilesDrawerSlug","baseClass","FileSidebar","$","activeIndex","addFiles","forms","isInitializing","removeFile","setActiveIndex","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","alt","name","src","URL","createObjectURL","title","count","withMessage","buttonStyle","direction","gutter","Header","slug","onCancel","onDrop","duration","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 React from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { XIcon } from '../../../icons/X/index.js'\nimport { useTranslation } from '../../../providers/Translation/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 { Actions } from '../ActionsBar/index.js'\nimport { AddFilesView } from '../AddFilesView/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { useBulkUpload } from '../index.js'\nimport './index.scss'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\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 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 <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 duration={200} 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 <img alt={currentFile.name} src={URL.createObjectURL(currentFile)} />\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":[]}
@@ -84,8 +84,8 @@ export function BulkUploadDrawer() {
84
84
  t1 = _jsx(EditDepthProvider, {
85
85
  depth: t0,
86
86
  children: _jsx(Drawer, {
87
- Header: null,
88
87
  gutter: false,
88
+ Header: null,
89
89
  slug: drawerSlug,
90
90
  children: _jsx(FormsManagerProvider, {
91
91
  children: _jsx(DrawerContent, {})
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","React","EditDepthProvider","useEditDepth","Drawer","AddFilesView","AddingFilesView","FormsManagerProvider","useFormsManager","drawerSlug","DrawerContent","$","addFiles","forms","isInitializing","closeModal","collectionSlug","useBulkUpload","t0","acceptedFiles","onDrop","length","t1","t2","_jsx","onCancel","BulkUploadDrawer","currentDepth","depth","children","Header","gutter","slug","Context","createContext","initialFiles","undefined","maxFiles","onSuccess","setCollectionSlug","setInitialFiles","setMaxFiles","setOnCancel","setOnSuccess","BulkUploadProvider","collection","setCollection","useState","onSuccessFunction","setOnSuccessFunction","onCancelFunction","setOnCancelFunction","useBulkUploadDrawerSlug","Symbol","for","t3","t4","docIDs","errorCount","t5","Provider","value","_jsxs","Fragment","useContext"],"sources":["../../../src/elements/BulkUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { JsonObject } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { EditDepthProvider, useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer } 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\n const onDrop = React.useCallback(\n (acceptedFiles: FileList) => {\n void addFiles(acceptedFiles)\n },\n [addFiles],\n )\n\n if (!collectionSlug) {\n return null\n }\n\n if (!forms.length && !isInitializing) {\n return <AddFilesView onCancel={() => closeModal(drawerSlug)} onDrop={onDrop} />\n } else {\n return <AddingFilesView />\n }\n}\n\nexport type BulkUploadProps = {\n readonly children: React.ReactNode\n}\n\nexport function BulkUploadDrawer() {\n const currentDepth = useEditDepth()\n const { drawerSlug } = useBulkUpload()\n\n return (\n <EditDepthProvider depth={currentDepth || 1}>\n <Drawer Header={null} gutter={false} slug={drawerSlug}>\n <FormsManagerProvider>\n <DrawerContent />\n </FormsManagerProvider>\n </Drawer>\n </EditDepthProvider>\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 = useEditDepth()\n\n return `${drawerSlug}-${depth || 1}`\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","React","EditDepthProvider","useEditDepth","Drawer","AddFilesView","AddingFilesView","FormsManagerProvider","useFormsManager","drawerSlug","DrawerContent","$","addFiles","forms","isInitializing","closeModal","collectionSlug","useBulkUpload","t0","acceptedFiles","onDrop","length","t1","t2","_jsx","onCancel","BulkUploadDrawer","currentDepth","depth","children","gutter","Header","slug","Context","createContext","initialFiles","undefined","maxFiles","onSuccess","setCollectionSlug","setInitialFiles","setMaxFiles","setOnCancel","setOnSuccess","BulkUploadProvider","collection","setCollection","useState","onSuccessFunction","setOnSuccessFunction","onCancelFunction","setOnCancelFunction","useBulkUploadDrawerSlug","Symbol","for","t3","t4","docIDs","errorCount","t5","Provider","value","_jsxs","Fragment","useContext"],"sources":["../../../src/elements/BulkUpload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { JsonObject } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React from 'react'\n\nimport { EditDepthProvider, useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer } 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\n const onDrop = React.useCallback(\n (acceptedFiles: FileList) => {\n void addFiles(acceptedFiles)\n },\n [addFiles],\n )\n\n if (!collectionSlug) {\n return null\n }\n\n if (!forms.length && !isInitializing) {\n return <AddFilesView onCancel={() => closeModal(drawerSlug)} onDrop={onDrop} />\n } else {\n return <AddingFilesView />\n }\n}\n\nexport type BulkUploadProps = {\n readonly children: React.ReactNode\n}\n\nexport function BulkUploadDrawer() {\n const currentDepth = useEditDepth()\n const { drawerSlug } = useBulkUpload()\n\n return (\n <EditDepthProvider depth={currentDepth || 1}>\n <Drawer gutter={false} Header={null} slug={drawerSlug}>\n <FormsManagerProvider>\n <DrawerContent />\n </FormsManagerProvider>\n </Drawer>\n </EditDepthProvider>\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 = useEditDepth()\n\n return `${drawerSlug}-${depth || 1}`\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import React, { Fragment, forwardRef, isValidElement } from 'react';
4
+ import React, { forwardRef, Fragment, isValidElement } from 'react';
5
5
  import { ChevronIcon } from '../../icons/Chevron/index.js';
6
6
  import { EditIcon } from '../../icons/Edit/index.js';
7
7
  import { LinkIcon } from '../../icons/Link/index.js';
@@ -48,8 +48,6 @@ export const Button = /*#__PURE__*/forwardRef((props, ref) => {
48
48
  const {
49
49
  id,
50
50
  type = 'button',
51
- Link,
52
- SubMenuPopupContent,
53
51
  'aria-label': ariaLabel,
54
52
  buttonStyle = 'primary',
55
53
  children,
@@ -59,10 +57,12 @@ export const Button = /*#__PURE__*/forwardRef((props, ref) => {
59
57
  icon,
60
58
  iconPosition = 'right',
61
59
  iconStyle = 'without-border',
60
+ Link,
62
61
  newTab,
63
62
  onClick,
64
63
  round,
65
64
  size = 'medium',
65
+ SubMenuPopupContent,
66
66
  to,
67
67
  tooltip,
68
68
  url
@@ -94,6 +94,19 @@ export const Button = /*#__PURE__*/forwardRef((props, ref) => {
94
94
  };
95
95
  let buttonElement;
96
96
  switch (el) {
97
+ case 'anchor':
98
+ buttonElement = /*#__PURE__*/_jsx("a", {
99
+ ...buttonProps,
100
+ href: !disabled ? url : undefined,
101
+ ref: ref,
102
+ children: /*#__PURE__*/_jsx(ButtonContents, {
103
+ icon: icon,
104
+ showTooltip: showTooltip,
105
+ tooltip: tooltip,
106
+ children: children
107
+ })
108
+ });
109
+ break;
97
110
  case 'link':
98
111
  if (!Link) {
99
112
  console.error('Link is required when using el="link"', children);
@@ -116,19 +129,6 @@ export const Button = /*#__PURE__*/forwardRef((props, ref) => {
116
129
  })
117
130
  });
118
131
  break;
119
- case 'anchor':
120
- buttonElement = /*#__PURE__*/_jsx("a", {
121
- ...buttonProps,
122
- href: !disabled ? url : undefined,
123
- ref: ref,
124
- children: /*#__PURE__*/_jsx(ButtonContents, {
125
- icon: icon,
126
- showTooltip: showTooltip,
127
- tooltip: tooltip,
128
- children: children
129
- })
130
- });
131
- break;
132
132
  default:
133
133
  const Tag = el // eslint-disable-line no-case-declarations
134
134
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Fragment","forwardRef","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","ref","id","type","Link","SubMenuPopupContent","ariaLabel","buttonStyle","disabled","el","iconPosition","iconStyle","newTab","onClick","round","size","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","undefined","onMouseEnter","onMouseLeave","rel","target","buttonElement","console","error","LinkTag","href","Tag","button","horizontalAlign","noBackground","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment, forwardRef, isValidElement } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = icons[icon]\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isValidElement(icon) && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button = forwardRef<HTMLAnchorElement | HTMLButtonElement, Props>((props, ref) => {\n const {\n id,\n type = 'button',\n Link,\n SubMenuPopupContent,\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n newTab,\n onClick,\n round,\n size = 'medium',\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n size && `${baseClass}--size-${size}`,\n icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n !SubMenuPopupContent && `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) {\n event.preventDefault()\n }\n if (onClick) {\n onClick(event)\n }\n }\n\n const styleClasses = [\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onMouseLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n }\n\n let buttonElement\n\n switch (el) {\n case 'link':\n if (!Link) {\n console.error('Link is required when using el=\"link\"', children)\n return null\n }\n\n let LinkTag = Link // eslint-disable-line no-case-declarations\n\n if (disabled) {\n LinkTag = 'div'\n }\n\n buttonElement = (\n <LinkTag {...buttonProps} href={to || url} to={to || url}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </LinkTag>\n )\n break\n\n case 'anchor':\n buttonElement = (\n <a\n {...buttonProps}\n href={!disabled ? url : undefined}\n ref={ref as React.Ref<HTMLAnchorElement>}\n >\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} type=\"submit\" {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n break\n }\n if (SubMenuPopupContent) {\n return (\n <div className={styleClasses}>\n {buttonElement}\n <Popup\n button={<ChevronIcon />}\n className={disabled ? `${baseClass}--popup-disabled` : ''}\n horizontalAlign=\"right\"\n noBackground\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n {SubMenuPopupContent}\n </Popup>\n </div>\n )\n }\n\n return buttonElement\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","forwardRef","Fragment","isValidElement","ChevronIcon","EditIcon","LinkIcon","PlusIcon","SwapIcon","XIcon","Popup","Tooltip","icons","chevron","edit","link","plus","swap","x","baseClass","ButtonContents","children","icon","showTooltip","tooltip","BuiltInIcon","_jsxs","_jsx","className","show","Button","props","ref","id","type","ariaLabel","buttonStyle","disabled","el","iconPosition","iconStyle","Link","newTab","onClick","round","size","SubMenuPopupContent","to","url","setShowTooltip","useState","classes","filter","Boolean","join","handleClick","event","preventDefault","styleClasses","buttonProps","undefined","onMouseEnter","onMouseLeave","rel","target","buttonElement","href","console","error","LinkTag","Tag","button","horizontalAlign","noBackground","verticalAlign"],"sources":["../../../src/elements/Button/index.tsx"],"sourcesContent":["'use client'\nimport React, { forwardRef, Fragment, isValidElement } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { EditIcon } from '../../icons/Edit/index.js'\nimport { LinkIcon } from '../../icons/Link/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { Tooltip } from '../Tooltip/index.js'\nimport './index.scss'\n\nconst icons = {\n chevron: ChevronIcon,\n edit: EditIcon,\n link: LinkIcon,\n plus: PlusIcon,\n swap: SwapIcon,\n x: XIcon,\n}\n\nconst baseClass = 'btn'\n\nexport const ButtonContents = ({ children, icon, showTooltip, tooltip }) => {\n const BuiltInIcon = icons[icon]\n\n return (\n <Fragment>\n {tooltip && (\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {tooltip}\n </Tooltip>\n )}\n <span className={`${baseClass}__content`}>\n {children && <span className={`${baseClass}__label`}>{children}</span>}\n {icon && (\n <span className={`${baseClass}__icon`}>\n {isValidElement(icon) && icon}\n {BuiltInIcon && <BuiltInIcon />}\n </span>\n )}\n </span>\n </Fragment>\n )\n}\n\nexport const Button = forwardRef<HTMLAnchorElement | HTMLButtonElement, Props>((props, ref) => {\n const {\n id,\n type = 'button',\n 'aria-label': ariaLabel,\n buttonStyle = 'primary',\n children,\n className,\n disabled,\n el = 'button',\n icon,\n iconPosition = 'right',\n iconStyle = 'without-border',\n Link,\n newTab,\n onClick,\n round,\n size = 'medium',\n SubMenuPopupContent,\n to,\n tooltip,\n url,\n } = props\n\n const [showTooltip, setShowTooltip] = React.useState(false)\n\n const classes = [\n baseClass,\n className && className,\n icon && `${baseClass}--icon`,\n iconStyle && `${baseClass}--icon-style-${iconStyle}`,\n icon && !children && `${baseClass}--icon-only`,\n size && `${baseClass}--size-${size}`,\n icon && iconPosition && `${baseClass}--icon-position-${iconPosition}`,\n tooltip && `${baseClass}--has-tooltip`,\n !SubMenuPopupContent && `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n function handleClick(event) {\n setShowTooltip(false)\n if (type !== 'submit' && onClick) {\n event.preventDefault()\n }\n if (onClick) {\n onClick(event)\n }\n }\n\n const styleClasses = [\n buttonStyle && `${baseClass}--style-${buttonStyle}`,\n disabled && `${baseClass}--disabled`,\n round && `${baseClass}--round`,\n SubMenuPopupContent ? `${baseClass}--withPopup` : `${baseClass}--withoutPopup`,\n ]\n .filter(Boolean)\n .join(' ')\n\n const buttonProps = {\n id,\n type,\n 'aria-disabled': disabled,\n 'aria-label': ariaLabel,\n className: !SubMenuPopupContent ? [classes, styleClasses].join(' ') : classes,\n disabled,\n onClick: !disabled ? handleClick : undefined,\n onMouseEnter: tooltip ? () => setShowTooltip(true) : undefined,\n onMouseLeave: tooltip ? () => setShowTooltip(false) : undefined,\n rel: newTab ? 'noopener noreferrer' : undefined,\n target: newTab ? '_blank' : undefined,\n }\n\n let buttonElement\n\n switch (el) {\n case 'anchor':\n buttonElement = (\n <a\n {...buttonProps}\n href={!disabled ? url : undefined}\n ref={ref as React.Ref<HTMLAnchorElement>}\n >\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </a>\n )\n break\n\n case 'link':\n if (!Link) {\n console.error('Link is required when using el=\"link\"', children)\n return null\n }\n\n let LinkTag = Link // eslint-disable-line no-case-declarations\n\n if (disabled) {\n LinkTag = 'div'\n }\n\n buttonElement = (\n <LinkTag {...buttonProps} href={to || url} to={to || url}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </LinkTag>\n )\n break\n\n default:\n const Tag = el // eslint-disable-line no-case-declarations\n\n buttonElement = (\n <Tag ref={ref} type=\"submit\" {...buttonProps}>\n <ButtonContents icon={icon} showTooltip={showTooltip} tooltip={tooltip}>\n {children}\n </ButtonContents>\n </Tag>\n )\n break\n }\n if (SubMenuPopupContent) {\n return (\n <div className={styleClasses}>\n {buttonElement}\n <Popup\n button={<ChevronIcon />}\n className={disabled ? `${baseClass}--popup-disabled` : ''}\n horizontalAlign=\"right\"\n noBackground\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n {SubMenuPopupContent}\n </Popup>\n </div>\n )\n }\n\n return buttonElement\n})\n"],"mappings":"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","ignoreList":[]}