@payloadcms/ui 3.2.3-canary.673b4b5 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/dist/elements/AddNewRelation/index.js +40 -40
  2. package/dist/elements/AddNewRelation/index.js.map +1 -1
  3. package/dist/elements/AddNewRelation/useRelatedCollections.js +3 -3
  4. package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -1
  5. package/dist/elements/AnimateHeight/index.d.ts.map +1 -1
  6. package/dist/elements/AnimateHeight/index.js +4 -1
  7. package/dist/elements/AnimateHeight/index.js.map +1 -1
  8. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts +2 -1
  9. package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
  10. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +67 -79
  11. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  12. package/dist/elements/ArrayAction/index.js +10 -10
  13. package/dist/elements/ArrayAction/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/ActionsBar/index.js +13 -13
  15. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  16. package/dist/elements/BulkUpload/AddingFilesView/index.js +14 -14
  17. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
  19. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +3 -3
  21. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/FileSidebar/index.js +29 -26
  23. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/FormsManager/index.js +2 -0
  25. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/index.js +8 -8
  27. package/dist/elements/BulkUpload/index.js.map +1 -1
  28. package/dist/elements/CodeEditor/CodeEditor.js +28 -32
  29. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  30. package/dist/elements/Collapsible/index.js +13 -13
  31. package/dist/elements/Collapsible/index.js.map +1 -1
  32. package/dist/elements/ColumnSelector/index.js +10 -10
  33. package/dist/elements/ColumnSelector/index.js.map +1 -1
  34. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  35. package/dist/elements/CopyLocaleData/index.js +4 -3
  36. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  37. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  38. package/dist/elements/DatePicker/DatePicker.js +4 -4
  39. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  40. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  41. package/dist/elements/DeleteMany/index.js +10 -14
  42. package/dist/elements/DeleteMany/index.js.map +1 -1
  43. package/dist/elements/DocumentControls/index.js +9 -9
  44. package/dist/elements/DocumentControls/index.js.map +1 -1
  45. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +4 -4
  46. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  47. package/dist/elements/DocumentDrawer/index.js +47 -47
  48. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  49. package/dist/elements/DocumentLocked/index.js +21 -21
  50. package/dist/elements/DocumentLocked/index.js.map +1 -1
  51. package/dist/elements/DocumentTakeOver/index.js +10 -10
  52. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  53. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +9 -9
  54. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  55. package/dist/elements/DraggableSortable/index.js +11 -11
  56. package/dist/elements/DraggableSortable/index.js.map +1 -1
  57. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +8 -8
  58. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  59. package/dist/elements/Drawer/index.js +38 -38
  60. package/dist/elements/Drawer/index.js.map +1 -1
  61. package/dist/elements/Drawer/useDrawerSlug.js +3 -3
  62. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  63. package/dist/elements/EditMany/index.d.ts.map +1 -1
  64. package/dist/elements/EditMany/index.js +32 -33
  65. package/dist/elements/EditMany/index.js.map +1 -1
  66. package/dist/elements/FieldSelect/index.js +19 -18
  67. package/dist/elements/FieldSelect/index.js.map +1 -1
  68. package/dist/elements/FileDetails/DraggableFileDetails/index.js +15 -15
  69. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  70. package/dist/elements/FileDetails/FileMeta/index.js +15 -15
  71. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  72. package/dist/elements/FullscreenModal/index.js +4 -4
  73. package/dist/elements/FullscreenModal/index.js.map +1 -1
  74. package/dist/elements/Hamburger/index.js +4 -4
  75. package/dist/elements/Hamburger/index.js.map +1 -1
  76. package/dist/elements/HydrateAuthProvider/index.js +3 -3
  77. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  78. package/dist/elements/LeaveWithoutSaving/index.js +11 -11
  79. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  80. package/dist/elements/ListDrawer/index.js +19 -18
  81. package/dist/elements/ListDrawer/index.js.map +1 -1
  82. package/dist/elements/ListSelection/index.js +3 -3
  83. package/dist/elements/ListSelection/index.js.map +1 -1
  84. package/dist/elements/Loading/index.js +15 -15
  85. package/dist/elements/Loading/index.js.map +1 -1
  86. package/dist/elements/LoadingOverlay/index.js +18 -16
  87. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  88. package/dist/elements/Localizer/LocalizerLabel/index.js +5 -5
  89. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  90. package/dist/elements/Localizer/index.d.ts.map +1 -1
  91. package/dist/elements/Localizer/index.js +20 -19
  92. package/dist/elements/Localizer/index.js.map +1 -1
  93. package/dist/elements/Locked/index.js +3 -3
  94. package/dist/elements/Locked/index.js.map +1 -1
  95. package/dist/elements/Logout/index.js +7 -7
  96. package/dist/elements/Logout/index.js.map +1 -1
  97. package/dist/elements/Nav/NavToggler/index.js +13 -13
  98. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  99. package/dist/elements/NavGroup/index.js +12 -12
  100. package/dist/elements/NavGroup/index.js.map +1 -1
  101. package/dist/elements/PerPage/index.js +7 -7
  102. package/dist/elements/PerPage/index.js.map +1 -1
  103. package/dist/elements/Pill/index.js +8 -8
  104. package/dist/elements/Pill/index.js.map +1 -1
  105. package/dist/elements/Popup/index.js +1 -0
  106. package/dist/elements/Popup/index.js.map +1 -1
  107. package/dist/elements/PreviewButton/index.js +3 -3
  108. package/dist/elements/PreviewButton/index.js.map +1 -1
  109. package/dist/elements/PublishButton/index.js +28 -28
  110. package/dist/elements/PublishButton/index.js.map +1 -1
  111. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  112. package/dist/elements/PublishMany/index.js +10 -10
  113. package/dist/elements/PublishMany/index.js.map +1 -1
  114. package/dist/elements/ReactSelect/Input/index.d.ts +2 -2
  115. package/dist/elements/ReactSelect/Input/index.d.ts.map +1 -1
  116. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  117. package/dist/elements/ReactSelect/MultiValue/index.js +10 -10
  118. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  119. package/dist/elements/ReactSelect/MultiValueRemove/index.js +5 -5
  120. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  121. package/dist/elements/ReactSelect/index.js.map +1 -1
  122. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +4 -4
  123. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  124. package/dist/elements/RelationshipTable/index.d.ts +2 -0
  125. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  126. package/dist/elements/RelationshipTable/index.js +283 -143
  127. package/dist/elements/RelationshipTable/index.js.map +1 -1
  128. package/dist/elements/RenderIfInViewport/index.js +3 -3
  129. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  130. package/dist/elements/RenderTitle/index.js +6 -6
  131. package/dist/elements/RenderTitle/index.js.map +1 -1
  132. package/dist/elements/SelectAll/index.js +3 -3
  133. package/dist/elements/SelectAll/index.js.map +1 -1
  134. package/dist/elements/SelectRow/index.js +6 -6
  135. package/dist/elements/SelectRow/index.js.map +1 -1
  136. package/dist/elements/ShimmerEffect/index.js +7 -7
  137. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  138. package/dist/elements/SortColumn/index.js +16 -16
  139. package/dist/elements/SortColumn/index.js.map +1 -1
  140. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  141. package/dist/elements/SortComplex/index.js +38 -51
  142. package/dist/elements/SortComplex/index.js.map +1 -1
  143. package/dist/elements/Status/index.js +38 -35
  144. package/dist/elements/Status/index.js.map +1 -1
  145. package/dist/elements/StayLoggedIn/index.js +12 -12
  146. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  147. package/dist/elements/StepNav/SetStepNav.js +3 -3
  148. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  149. package/dist/elements/StepNav/context.js +3 -3
  150. package/dist/elements/StepNav/context.js.map +1 -1
  151. package/dist/elements/StepNav/index.js +9 -9
  152. package/dist/elements/StepNav/index.js.map +1 -1
  153. package/dist/elements/Table/DefaultCell/fields/Date/index.js +3 -3
  154. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  155. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +31 -31
  156. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  157. package/dist/elements/Table/DefaultCell/fields/Select/index.js +3 -3
  158. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  159. package/dist/elements/Table/DefaultCell/index.js +17 -17
  160. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  161. package/dist/elements/Table/RelationshipProvider/index.js +12 -9
  162. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  163. package/dist/elements/TableColumns/RenderDefaultCell/index.js +6 -6
  164. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
  165. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  166. package/dist/elements/TableColumns/buildColumnState.js +5 -2
  167. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  168. package/dist/elements/Thumbnail/index.js +27 -27
  169. package/dist/elements/Thumbnail/index.js.map +1 -1
  170. package/dist/elements/ThumbnailCard/index.js +10 -10
  171. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  172. package/dist/elements/Tooltip/index.js +29 -24
  173. package/dist/elements/Tooltip/index.js.map +1 -1
  174. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  175. package/dist/elements/UnpublishMany/index.js +11 -11
  176. package/dist/elements/UnpublishMany/index.js.map +1 -1
  177. package/dist/elements/Upload/index.js +5 -5
  178. package/dist/elements/Upload/index.js.map +1 -1
  179. package/dist/elements/WhereBuilder/Condition/Number/index.js +3 -3
  180. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  181. package/dist/elements/WhereBuilder/Condition/Select/index.js +13 -10
  182. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  183. package/dist/elements/WhereBuilder/Condition/Text/index.js +5 -5
  184. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  185. package/dist/elements/WhereBuilder/Condition/index.js +45 -45
  186. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  187. package/dist/elements/WhereBuilder/index.js +11 -11
  188. package/dist/elements/WhereBuilder/index.js.map +1 -1
  189. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  190. package/dist/elements/WhereBuilder/reduceClientFields.js +2 -2
  191. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  192. package/dist/exports/client/{DatePicker-QST7QHAX.js → CodeEditor-RZ32B2QF.js} +2 -2
  193. package/dist/exports/client/DatePicker-QW5V4BQV.js +14 -0
  194. package/dist/exports/client/DatePicker-QW5V4BQV.js.map +8 -0
  195. package/dist/exports/client/chunk-CKHKQPOO.js +26 -0
  196. package/dist/exports/client/{CodeEditor-5MCGR4GL.js.map → chunk-CKHKQPOO.js.map} +4 -4
  197. package/dist/exports/client/chunk-KZPVHMBR.js +29 -0
  198. package/dist/exports/client/chunk-KZPVHMBR.js.map +8 -0
  199. package/dist/exports/client/index.d.ts +4 -1
  200. package/dist/exports/client/index.d.ts.map +1 -1
  201. package/dist/exports/client/index.js +16 -16
  202. package/dist/exports/client/index.js.map +4 -4
  203. package/dist/fields/Array/ArrayRow.js +38 -38
  204. package/dist/fields/Array/ArrayRow.js.map +1 -1
  205. package/dist/fields/Array/index.d.ts.map +1 -1
  206. package/dist/fields/Array/index.js +27 -25
  207. package/dist/fields/Array/index.js.map +1 -1
  208. package/dist/fields/Blocks/BlockRow.js +51 -49
  209. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  210. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +3 -3
  211. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  212. package/dist/fields/Blocks/BlocksDrawer/index.js +13 -13
  213. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  214. package/dist/fields/Blocks/RowActions.js +25 -25
  215. package/dist/fields/Blocks/RowActions.js.map +1 -1
  216. package/dist/fields/Blocks/SectionTitle/index.js +8 -8
  217. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  218. package/dist/fields/Blocks/index.d.ts.map +1 -1
  219. package/dist/fields/Blocks/index.js +26 -24
  220. package/dist/fields/Blocks/index.js.map +1 -1
  221. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  222. package/dist/fields/Collapsible/index.js +4 -2
  223. package/dist/fields/Collapsible/index.js.map +1 -1
  224. package/dist/fields/ConfirmPassword/index.js +6 -6
  225. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  226. package/dist/fields/FieldLabel/index.js +18 -18
  227. package/dist/fields/FieldLabel/index.js.map +1 -1
  228. package/dist/fields/Group/index.d.ts.map +1 -1
  229. package/dist/fields/Group/index.js +6 -4
  230. package/dist/fields/Group/index.js.map +1 -1
  231. package/dist/fields/Hidden/index.js +7 -7
  232. package/dist/fields/Hidden/index.js.map +1 -1
  233. package/dist/fields/Join/index.d.ts.map +1 -1
  234. package/dist/fields/Join/index.js +15 -3
  235. package/dist/fields/Join/index.js.map +1 -1
  236. package/dist/fields/Number/index.js +5 -5
  237. package/dist/fields/Number/index.js.map +1 -1
  238. package/dist/fields/Password/input.js +24 -24
  239. package/dist/fields/Password/input.js.map +1 -1
  240. package/dist/fields/RadioGroup/Radio/index.js +9 -9
  241. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  242. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  243. package/dist/fields/RadioGroup/index.js +4 -2
  244. package/dist/fields/RadioGroup/index.js.map +1 -1
  245. package/dist/fields/Relationship/index.d.ts.map +1 -1
  246. package/dist/fields/Relationship/index.js +4 -2
  247. package/dist/fields/Relationship/index.js.map +1 -1
  248. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +18 -18
  249. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  250. package/dist/fields/Relationship/select-components/SingleValue/index.js +18 -18
  251. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  252. package/dist/fields/Select/Input.js +28 -28
  253. package/dist/fields/Select/Input.js.map +1 -1
  254. package/dist/fields/Tabs/Tab/index.js +10 -10
  255. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  256. package/dist/fields/Tabs/index.js +69 -69
  257. package/dist/fields/Tabs/index.js.map +1 -1
  258. package/dist/fields/Text/Input.js +24 -24
  259. package/dist/fields/Text/Input.js.map +1 -1
  260. package/dist/fields/Textarea/Input.js +19 -19
  261. package/dist/fields/Textarea/Input.js.map +1 -1
  262. package/dist/fields/Upload/HasMany/index.js +11 -11
  263. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  264. package/dist/fields/Upload/Input.js +109 -104
  265. package/dist/fields/Upload/Input.js.map +1 -1
  266. package/dist/fields/Upload/RelationshipContent/index.js +20 -20
  267. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  268. package/dist/forms/NullifyField/index.js +3 -3
  269. package/dist/forms/NullifyField/index.js.map +1 -1
  270. package/dist/forms/RenderFields/RenderField.js +9 -9
  271. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  272. package/dist/forms/RenderFields/index.js +18 -18
  273. package/dist/forms/RenderFields/index.js.map +1 -1
  274. package/dist/forms/WatchChildErrors/index.js +10 -10
  275. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  276. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  277. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +5 -8
  278. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  279. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  280. package/dist/forms/fieldSchemasToFormState/renderField.js +4 -0
  281. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  282. package/dist/forms/useField/index.js +44 -44
  283. package/dist/forms/useField/index.js.map +1 -1
  284. package/dist/hooks/useDebounce.js +3 -3
  285. package/dist/hooks/useDebounce.js.map +1 -1
  286. package/dist/hooks/useDebouncedEffect.js +6 -6
  287. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  288. package/dist/hooks/useDelay.js +3 -3
  289. package/dist/hooks/useDelay.js.map +1 -1
  290. package/dist/hooks/useHotkey.js +18 -14
  291. package/dist/hooks/useHotkey.js.map +1 -1
  292. package/dist/hooks/usePayloadAPI.js +13 -13
  293. package/dist/hooks/usePayloadAPI.js.map +1 -1
  294. package/dist/hooks/useThrottledEffect.js +3 -3
  295. package/dist/hooks/useThrottledEffect.js.map +1 -1
  296. package/dist/providers/Actions/index.js +4 -4
  297. package/dist/providers/Actions/index.js.map +1 -1
  298. package/dist/providers/ClientFunction/index.js +3 -3
  299. package/dist/providers/ClientFunction/index.js.map +1 -1
  300. package/dist/providers/Config/index.js +9 -10
  301. package/dist/providers/Config/index.js.map +1 -1
  302. package/dist/providers/DocumentEvents/index.js +3 -3
  303. package/dist/providers/DocumentEvents/index.js.map +1 -1
  304. package/dist/providers/EditDepth/index.js +3 -3
  305. package/dist/providers/EditDepth/index.js.map +1 -1
  306. package/dist/providers/EntityVisibility/index.js +9 -10
  307. package/dist/providers/EntityVisibility/index.js.map +1 -1
  308. package/dist/providers/ListQuery/index.js +2 -2
  309. package/dist/providers/ListQuery/index.js.map +1 -1
  310. package/dist/providers/Locale/index.d.ts.map +1 -1
  311. package/dist/providers/Locale/index.js +65 -59
  312. package/dist/providers/Locale/index.js.map +1 -1
  313. package/dist/providers/Params/index.d.ts +16 -0
  314. package/dist/providers/Params/index.d.ts.map +1 -1
  315. package/dist/providers/Params/index.js +19 -4
  316. package/dist/providers/Params/index.js.map +1 -1
  317. package/dist/providers/RouteCache/index.js +6 -6
  318. package/dist/providers/RouteCache/index.js.map +1 -1
  319. package/dist/providers/SearchParams/index.d.ts +22 -4
  320. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  321. package/dist/providers/SearchParams/index.js +28 -14
  322. package/dist/providers/SearchParams/index.js.map +1 -1
  323. package/dist/providers/Selection/index.d.ts.map +1 -1
  324. package/dist/providers/Selection/index.js +7 -8
  325. package/dist/providers/Selection/index.js.map +1 -1
  326. package/dist/providers/Theme/index.js +7 -7
  327. package/dist/providers/Theme/index.js.map +1 -1
  328. package/dist/providers/Translation/index.js +12 -12
  329. package/dist/providers/Translation/index.js.map +1 -1
  330. package/dist/providers/UploadEdits/index.js +3 -3
  331. package/dist/providers/UploadEdits/index.js.map +1 -1
  332. package/dist/styles.css +1 -1
  333. package/dist/utilities/buildClientFieldSchemaMap/index.js +2 -0
  334. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  335. package/dist/utilities/buildFieldSchemaMap/index.js +2 -0
  336. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  337. package/dist/utilities/buildTableState.d.ts.map +1 -1
  338. package/dist/utilities/buildTableState.js.map +1 -1
  339. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  340. package/dist/utilities/copyDataFromLocale.js +11 -4
  341. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  342. package/dist/utilities/formatFields.d.ts.map +1 -1
  343. package/dist/utilities/formatFields.js +2 -2
  344. package/dist/utilities/formatFields.js.map +1 -1
  345. package/dist/utilities/groupNavItems.js +3 -3
  346. package/dist/utilities/groupNavItems.js.map +1 -1
  347. package/dist/utilities/parseSearchParams.d.ts +4 -0
  348. package/dist/utilities/parseSearchParams.d.ts.map +1 -0
  349. package/dist/utilities/parseSearchParams.js +9 -0
  350. package/dist/utilities/parseSearchParams.js.map +1 -0
  351. package/dist/utilities/renderTable.d.ts.map +1 -1
  352. package/dist/utilities/renderTable.js +4 -0
  353. package/dist/utilities/renderTable.js.map +1 -1
  354. package/dist/views/Edit/Auth/index.js +47 -47
  355. package/dist/views/Edit/Auth/index.js.map +1 -1
  356. package/dist/views/Edit/Auth/types.d.ts +1 -1
  357. package/dist/views/Edit/Auth/types.d.ts.map +1 -1
  358. package/dist/views/Edit/Auth/types.js.map +1 -1
  359. package/dist/views/Edit/SetDocumentStepNav/index.js +14 -14
  360. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  361. package/dist/views/Edit/SetDocumentTitle/index.js +5 -5
  362. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  363. package/dist/views/Edit/index.js +2 -2
  364. package/dist/views/Edit/index.js.map +1 -1
  365. package/dist/views/List/index.js +20 -24
  366. package/dist/views/List/index.js.map +1 -1
  367. package/package.json +17 -18
  368. package/dist/exports/client/CodeEditor-5MCGR4GL.js +0 -26
  369. package/dist/exports/client/chunk-4SO5UCQD.js +0 -14
  370. package/dist/exports/client/chunk-4SO5UCQD.js.map +0 -8
  371. package/dist/exports/client/chunk-5LUHGAPX.js +0 -30
  372. package/dist/exports/client/chunk-5LUHGAPX.js.map +0 -8
  373. /package/dist/exports/client/{DatePicker-QST7QHAX.js.map → CodeEditor-RZ32B2QF.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useState","ChevronIcon","usePreferences","AnimateHeight","useNav","baseClass","preferencesKey","NavGroup","t0","$","children","isOpen","isOpenFromProps","label","collapsed","setCollapsed","animate","setAnimate","setPreference","navOpen","t1","newGroupPrefs","open","Boolean","groups","toggleCollapsed","t2","t3","t4","filter","t5","join","t6","t7","t8","t9","t10","t11","_jsxs","className","id","onClick","tabIndex","type","_jsx","direction","undefined","duration","height","Fragment"],"sources":["../../../src/elements/NavGroup/index.tsx"],"sourcesContent":["'use client'\nimport type { NavPreferences } from 'payload'\n\nimport React, { useState } from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport './index.scss'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { useNav } from '../Nav/context.js'\n\nconst baseClass = 'nav-group'\n\ntype Props = {\n children: React.ReactNode\n isOpen?: boolean\n label: string\n}\n\nconst preferencesKey = 'nav'\n\nexport const NavGroup: React.FC<Props> = ({ children, isOpen: isOpenFromProps, label }) => {\n const [collapsed, setCollapsed] = useState(\n typeof isOpenFromProps !== 'undefined' ? !isOpenFromProps : false,\n )\n\n const [animate, setAnimate] = useState(false)\n const { setPreference } = usePreferences()\n const { navOpen } = useNav()\n\n if (label) {\n const toggleCollapsed = () => {\n setAnimate(true)\n const newGroupPrefs: NavPreferences['groups'] = {}\n\n if (!newGroupPrefs?.[label]) {\n newGroupPrefs[label] = { open: Boolean(collapsed) }\n } else {\n newGroupPrefs[label].open = Boolean(collapsed)\n }\n\n void setPreference(preferencesKey, { groups: newGroupPrefs }, true)\n setCollapsed(!collapsed)\n }\n\n return (\n <div\n className={[`${baseClass}`, `${label}`, collapsed && `${baseClass}--collapsed`]\n .filter(Boolean)\n .join(' ')}\n id={`nav-group-${label}`}\n >\n <button\n className={[\n `${baseClass}__toggle`,\n `${baseClass}__toggle--${collapsed ? 'collapsed' : 'open'}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={toggleCollapsed}\n tabIndex={!navOpen ? -1 : 0}\n type=\"button\"\n >\n <div className={`${baseClass}__label`}>{label}</div>\n <div className={`${baseClass}__indicator`}>\n <ChevronIcon\n className={`${baseClass}__indicator`}\n direction={!collapsed ? 'up' : undefined}\n />\n </div>\n </button>\n <AnimateHeight duration={animate ? 200 : 0} height={collapsed ? 0 : 'auto'}>\n <div className={`${baseClass}__content`}>{children}</div>\n </AnimateHeight>\n </div>\n )\n }\n\n return <React.Fragment>{children}</React.Fragment>\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AACP,SAASC,aAAa,QAAQ;AAC9B,SAASC,MAAM,QAAQ;AAEvB,MAAMC,SAAA,GAAY;AAQlB,MAAMC,cAAA,GAAiB;AAEvB,OAAO,MAAMC,QAAA,GAA4BC,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY,QAAA;IAAAC,MAAA,EAAAC,eAAA;IAAAC;EAAA,IAAAL,EAA4C;EACpF,OAAAM,SAAA,EAAAC,YAAA,IAAkCf,QAAA,CAChC,OAAOY,eAAA,KAAoB,eAAeA,eAAA,QAAkB;EAG9D,OAAAI,OAAA,EAAAC,UAAA,IAA8BjB,QAAA,MAAS;EACvC;IAAAkB;EAAA,IAA0BhB,cAAA;EAC1B;IAAAiB;EAAA,IAAoBf,MAAA;EAAA,IAEhBS,KAAA;IAAA,IAAAO,EAAA;IAAA,IAAAX,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAS,aAAA;MACsBE,EAAA,GAAAA,CAAA;QACtBH,UAAA,KAAW;QACX,MAAAI,aAAA;QAAiD,KAE5CA,aAAA,GAAgBR,KAAA;UACnBQ,aAAa,CAACR,KAAA;YAAAS,IAAA,EAAiBC,OAAA,CAAQT,SAAA;UAAA;QAAA;UAEvCO,aAAa,CAACR,KAAA,EAAAS,IAAA,GAAcC,OAAA,CAAQT,SAAA;QAAA;QAGjCI,aAAA,CAAAZ,cAAA;UAAAkB,MAAA,EAAwCH;QAAA,OAAiB;QAC9DN,YAAA,EAAcD,SAAA;MAAA;MAChBL,CAAA,MAAAI,KAAA;MAAAJ,CAAA,MAAAK,SAAA;MAAAL,CAAA,MAAAS,aAAA;MAAAT,CAAA,MAAAW,EAAA;IAAA;MAAAA,EAAA,GAAAX,CAAA;IAAA;IAZA,MAAAgB,eAAA,GAAwBL,EAYxB;IAIgC,MAAAM,EAAA,MAAGb,KAAA,EAAO;IAAE,MAAAc,EAAA,GAAAb,SAAA,IAAa,GAAAT,SAAA,aAAyB;IAAA,IAAAuB,EAAA;IAAA,IAAAnB,CAAA,QAAAiB,EAAA,IAAAjB,CAAA,QAAAkB,EAAA;MAAnEC,EAAA,IAAC,GAAAvB,SAAA,EAAc,EAAEqB,EAAU,EAAEC,EAAsC,EAAAE,MAAA,CAAAN,OACpE;MAAAd,CAAA,MAAAiB,EAAA;MAAAjB,CAAA,MAAAkB,EAAA;MAAAlB,CAAA,MAAAmB,EAAA;IAAA;MAAAA,EAAA,GAAAnB,CAAA;IAAA;IADC,MAAAqB,EAAA,GAAAF,EACD,CAAAG,IAAA,CACF;IACJ,MAAAC,EAAA,gBAAanB,KAAA,EAAO;IAKpB,MAAAoB,EAAA,MAAA5B,SAAA,aAAyBS,SAAA,GAAY,cAAc,QAAQ;IAAA,IAAAoB,EAAA;IAAA,IAAAzB,CAAA,QAAAwB,EAAA;MAFlDC,EAAA,IACT,GAAA7B,SAAA,UAAsB,EACtB4B,EAA2D,EAAAJ,MAAA,CAAAN,OAEnD;MAAAd,CAAA,MAAAwB,EAAA;MAAAxB,CAAA,MAAAyB,EAAA;IAAA;MAAAA,EAAA,GAAAzB,CAAA;IAAA;IAJC,MAAA0B,EAAA,GAAAD,EAID,CAAAH,IAAA,CACF;IAEE,MAAAK,GAAA,IAACjB,OAAA,SAAe;IAAA,IAAAkB,GAAA;IAAA,IAAA5B,CAAA,QAAAI,KAAA,IAAAJ,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAA0B,EAAA,IAAA1B,CAAA,SAAAgB,eAAA,IAAAhB,CAAA,SAAA2B,GAAA,IAAA3B,CAAA,SAAAO,OAAA,IAAAP,CAAA,SAAAC,QAAA,IAAAD,CAAA,SAAAqB,EAAA,IAAArB,CAAA,SAAAuB,EAAA;MAd9BK,GAAA,GAAAC,KAAA,CAAC;QAAAC,SAAA,EACYT,EAEH;QAAAU,EAAA,EACJR,EAAoB;QAAAtB,QAAA,GAExB4B,KAAA,CAAC;UAAAC,SAAA,EACYJ,EAKH;UAAAM,OAAA,EACChB,eAAA;UAAAiB,QAAA,EACCN,GAAgB;UAAAO,IAAA,EACrB;UAAAjC,QAAA,GAELkC,IAAA,CAAC;YAAAL,SAAA,EAAe,GAAAlC,SAAA,SAAqB;YAAAK,QAAA,EAAGG;UAAA,C,GACxC+B,IAAA,CAAC;YAAAL,SAAA,EAAe,GAAAlC,SAAA,aAAyB;YAAAK,QAAA,EACvCkC,IAAA,CAAA3C,WAAA;cAAAsC,SAAA,EACa,GAAAlC,SAAA,aAAyB;cAAAwC,SAAA,EACzB,CAAC/B,SAAA,GAAY,OAAAgC;YAAO,C;;YAIrCF,IAAA,CAAAzC,aAAA;UAAA4C,QAAA,EAAyB/B,OAAA,UAAgB;UAAAgC,MAAA,EAAWlC,SAAA,OAAgB;UAAAJ,QAAA,EAClEkC,IAAA,CAAC;YAAAL,SAAA,EAAe,GAAAlC,SAAA,WAAuB;YAAAK;UAAA,C;;;;;;;;;;;;;;;;WA1B3C2B,G;;;;IAgCGjB,EAAA,GAAAwB,IAAA,CAAA7C,KAAA,CAAAkD,QAAA;MAAAvC;IAAA,C;;;;;;SAAAU,E;CACT","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useState","ChevronIcon","usePreferences","AnimateHeight","useNav","baseClass","preferencesKey","NavGroup","t0","$","children","isOpen","isOpenFromProps","label","collapsed","setCollapsed","animate","setAnimate","setPreference","navOpen","t1","newGroupPrefs","open","Boolean","groups","toggleCollapsed","t2","t3","t4","filter","t5","join","t6","t7","t8","t9","t10","t11","_jsxs","className","id","onClick","tabIndex","type","_jsx","direction","undefined","duration","height","Fragment"],"sources":["../../../src/elements/NavGroup/index.tsx"],"sourcesContent":["'use client'\nimport type { NavPreferences } from 'payload'\n\nimport React, { useState } from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport './index.scss'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { useNav } from '../Nav/context.js'\n\nconst baseClass = 'nav-group'\n\ntype Props = {\n children: React.ReactNode\n isOpen?: boolean\n label: string\n}\n\nconst preferencesKey = 'nav'\n\nexport const NavGroup: React.FC<Props> = ({ children, isOpen: isOpenFromProps, label }) => {\n const [collapsed, setCollapsed] = useState(\n typeof isOpenFromProps !== 'undefined' ? !isOpenFromProps : false,\n )\n\n const [animate, setAnimate] = useState(false)\n const { setPreference } = usePreferences()\n const { navOpen } = useNav()\n\n if (label) {\n const toggleCollapsed = () => {\n setAnimate(true)\n const newGroupPrefs: NavPreferences['groups'] = {}\n\n if (!newGroupPrefs?.[label]) {\n newGroupPrefs[label] = { open: Boolean(collapsed) }\n } else {\n newGroupPrefs[label].open = Boolean(collapsed)\n }\n\n void setPreference(preferencesKey, { groups: newGroupPrefs }, true)\n setCollapsed(!collapsed)\n }\n\n return (\n <div\n className={[`${baseClass}`, `${label}`, collapsed && `${baseClass}--collapsed`]\n .filter(Boolean)\n .join(' ')}\n id={`nav-group-${label}`}\n >\n <button\n className={[\n `${baseClass}__toggle`,\n `${baseClass}__toggle--${collapsed ? 'collapsed' : 'open'}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={toggleCollapsed}\n tabIndex={!navOpen ? -1 : 0}\n type=\"button\"\n >\n <div className={`${baseClass}__label`}>{label}</div>\n <div className={`${baseClass}__indicator`}>\n <ChevronIcon\n className={`${baseClass}__indicator`}\n direction={!collapsed ? 'up' : undefined}\n />\n </div>\n </button>\n <AnimateHeight duration={animate ? 200 : 0} height={collapsed ? 0 : 'auto'}>\n <div className={`${baseClass}__content`}>{children}</div>\n </AnimateHeight>\n </div>\n )\n }\n\n return <React.Fragment>{children}</React.Fragment>\n}\n"],"mappings":"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","ignoreList":[]}
@@ -26,9 +26,9 @@ export const PerPage = t0 => {
26
26
  } = useTranslation();
27
27
  const limitToUse = isNumber(limit) ? limit : defaultLimit;
28
28
  let t3;
29
- if ($[0] !== limitToUse || $[1] !== t || $[2] !== limits || $[3] !== handleChange) {
29
+ if ($[0] !== handleChange || $[1] !== limitToUse || $[2] !== limits || $[3] !== t) {
30
30
  let t4;
31
- if ($[5] !== limits || $[6] !== limitToUse || $[7] !== handleChange) {
31
+ if ($[5] !== handleChange || $[6] !== limitToUse || $[7] !== limits) {
32
32
  t4 = t5 => {
33
33
  const {
34
34
  close
@@ -54,9 +54,9 @@ export const PerPage = t0 => {
54
54
  }, i))
55
55
  });
56
56
  };
57
- $[5] = limits;
57
+ $[5] = handleChange;
58
58
  $[6] = limitToUse;
59
- $[7] = handleChange;
59
+ $[7] = limits;
60
60
  $[8] = t4;
61
61
  } else {
62
62
  t4 = $[8];
@@ -79,10 +79,10 @@ export const PerPage = t0 => {
79
79
  size: "small"
80
80
  })
81
81
  });
82
- $[0] = limitToUse;
83
- $[1] = t;
82
+ $[0] = handleChange;
83
+ $[1] = limitToUse;
84
84
  $[2] = limits;
85
- $[3] = handleChange;
85
+ $[3] = t;
86
86
  $[4] = t3;
87
87
  } else {
88
88
  t3 = $[4];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","collectionDefaults","isNumber","React","ChevronIcon","useTranslation","Popup","PopupList","baseClass","defaultLimits","admin","pagination","limits","PerPage","t0","$","defaultLimit","t1","handleChange","limit","t2","undefined","t","limitToUse","t3","t4","t5","close","_jsx","ButtonGroup","children","map","limitNumber","i","_jsxs","Button","className","filter","Boolean","join","onClick","direction","size","button","render"],"sources":["../../../src/elements/PerPage/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { collectionDefaults, isNumber } from 'payload/shared'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport './index.scss'\n\nconst baseClass = 'per-page'\n\nconst defaultLimits = collectionDefaults.admin.pagination.limits\n\nexport type PerPageProps = {\n readonly defaultLimit?: number\n readonly handleChange?: (limit: number) => void\n readonly limit: number\n readonly limits: number[]\n readonly resetPage?: boolean\n}\n\nexport const PerPage: React.FC<PerPageProps> = ({\n defaultLimit = 10,\n handleChange,\n limit,\n limits = defaultLimits,\n}) => {\n const { t } = useTranslation()\n\n const limitToUse = isNumber(limit) ? limit : defaultLimit\n\n return (\n <div className={baseClass}>\n <Popup\n button={\n <div className={`${baseClass}__base-button`}>\n <span>{t('general:perPage', { limit: limitToUse })}</span>\n &nbsp;\n <ChevronIcon className={`${baseClass}__icon`} />\n </div>\n }\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {limits.map((limitNumber, i) => (\n <PopupList.Button\n className={[\n `${baseClass}__button`,\n limitNumber === limitToUse && `${baseClass}__button-active`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={i}\n onClick={() => {\n close()\n if (handleChange) {\n handleChange(limitNumber)\n }\n }}\n >\n {limitNumber === limitToUse && (\n <div className={`${baseClass}__chevron`}>\n <ChevronIcon direction=\"right\" size=\"small\" />\n </div>\n )}\n &nbsp;\n <span>{limitNumber}</span>\n </PopupList.Button>\n ))}\n </PopupList.ButtonGroup>\n )}\n size=\"small\"\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA;AACA,SAASC,kBAAkB,EAAEC,QAAQ,QAAQ;AAC7C,OAAOC,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,SAASC,KAAK,EAAEC,SAAS,QAAQ;AACjC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,aAAA,GAAgBR,kBAAA,CAAmBS,KAAK,CAACC,UAAU,CAACC,MAAM;AAUhE,OAAO,MAAMC,OAAA,GAAkCC,EAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAAC;IAAAgB,YAAA,EAAAC,EAAA;IAAAC,YAAA;IAAAC,KAAA;IAAAP,MAAA,EAAAQ;EAAA,IAAAN,EAK/C;EAJC,MAAAE,YAAA,GAAAC,EAAiB,KAAAI,SAAA,QAAjBJ,EAAiB;EAGjB,MAAAL,MAAA,GAAAQ,EAAsB,KAAAC,SAAA,GAAAZ,aAAA,GAAtBW,EAAsB;EAEtB;IAAAE;EAAA,IAAcjB,cAAA;EAEd,MAAAkB,UAAA,GAAmBrB,QAAA,CAASiB,KAAA,IAASA,KAAA,GAAQH,YAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAT,CAAA,QAAAQ,UAAA,IAAAR,CAAA,QAAAO,CAAA,IAAAP,CAAA,QAAAH,MAAA,IAAAG,CAAA,QAAAG,YAAA;IAAA,IAAAO,EAAA;IAAA,IAAAV,CAAA,QAAAH,MAAA,IAAAG,CAAA,QAAAQ,UAAA,IAAAR,CAAA,QAAAG,YAAA;MAa/BO,EAAA,GAAAC,EAAA;QAAC;UAAAC;QAAA,IAAAD,EAAS;QAAA,OAChBE,IAAA,CAAArB,SAAA,CAAAsB,WAAA;UAAAC,QAAA,EACGlB,MAAA,CAAAmB,GAAA,EAAAC,WAAA,EAAAC,CAAA,KACCC,KAAA,CAAA3B,SAAA,CAAA4B,MAAA;YAAAC,SAAA,EACa,CACT,GAAA5B,SAAA,UAAsB,EACtBwB,WAAA,KAAgBT,UAAA,IAAc,GAAAf,SAAA,iBAA6B,EAAA6B,MAAA,CAAAC,OAEnD,EAAAC,IAAA,CACF;YAAAC,OAAA,EAAAA,CAAA;cAGNb,KAAA;cAAA,IACIT,YAAA;gBACFA,YAAA,CAAac,WAAA;cAAA;YAAA;YAAAF,QAAA,GAIhBE,WAAA,KAAgBT,UAAA,IACfK,IAAA,CAAC;cAAAQ,SAAA,EAAe,GAAA5B,SAAA,WAAuB;cAAAsB,QAAA,EACrCF,IAAA,CAAAxB,WAAA;gBAAAqC,SAAA,EAAuB;gBAAAC,IAAA,EAAa;cAAA,C;gBAEtC,QAEFd,IAAA,CAAC;cAAAE,QAAA,EAAME;YAAA,C;aAdFC,CAAA;QAAA,C;;;;;;;;;IApBjBT,EAAA,GAAAI,IAAA,CAAC;MAAAQ,SAAA,EAAA5B,SAAA;MAAAsB,QAAA,EACCF,IAAA,CAAAtB,KAAA;QAAAqC,MAAA,EAEIT,KAAA,CAAC;UAAAE,SAAA,EAAe,GAAA5B,SAAA,eAA2B;UAAAsB,QAAA,GACzCF,IAAA,CAAC;YAAAE,QAAA,EAAMR,CAAA,CAAE;cAAAH,KAAA,EAA4BI;YAAA,CAAW;UAAA,C,GAAU,QAE1DK,IAAA,CAAAxB,WAAA;YAAAgC,SAAA,EAAwB,GAAA5B,SAAA;UAAoB,C;;yBAGhC;QAAAoC,MAAA,EACRnB,E;cA6BH;MAAA,C;;;;;;;;;;SAvCTD,E;CA2CJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","collectionDefaults","isNumber","React","ChevronIcon","useTranslation","Popup","PopupList","baseClass","defaultLimits","admin","pagination","limits","PerPage","t0","$","defaultLimit","t1","handleChange","limit","t2","undefined","t","limitToUse","t3","t4","t5","close","_jsx","ButtonGroup","children","map","limitNumber","i","_jsxs","Button","className","filter","Boolean","join","onClick","direction","size","button","render"],"sources":["../../../src/elements/PerPage/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { collectionDefaults, isNumber } from 'payload/shared'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport './index.scss'\n\nconst baseClass = 'per-page'\n\nconst defaultLimits = collectionDefaults.admin.pagination.limits\n\nexport type PerPageProps = {\n readonly defaultLimit?: number\n readonly handleChange?: (limit: number) => void\n readonly limit: number\n readonly limits: number[]\n readonly resetPage?: boolean\n}\n\nexport const PerPage: React.FC<PerPageProps> = ({\n defaultLimit = 10,\n handleChange,\n limit,\n limits = defaultLimits,\n}) => {\n const { t } = useTranslation()\n\n const limitToUse = isNumber(limit) ? limit : defaultLimit\n\n return (\n <div className={baseClass}>\n <Popup\n button={\n <div className={`${baseClass}__base-button`}>\n <span>{t('general:perPage', { limit: limitToUse })}</span>\n &nbsp;\n <ChevronIcon className={`${baseClass}__icon`} />\n </div>\n }\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {limits.map((limitNumber, i) => (\n <PopupList.Button\n className={[\n `${baseClass}__button`,\n limitNumber === limitToUse && `${baseClass}__button-active`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={i}\n onClick={() => {\n close()\n if (handleChange) {\n handleChange(limitNumber)\n }\n }}\n >\n {limitNumber === limitToUse && (\n <div className={`${baseClass}__chevron`}>\n <ChevronIcon direction=\"right\" size=\"small\" />\n </div>\n )}\n &nbsp;\n <span>{limitNumber}</span>\n </PopupList.Button>\n ))}\n </PopupList.ButtonGroup>\n )}\n size=\"small\"\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA;AACA,SAASC,kBAAkB,EAAEC,QAAQ,QAAQ;AAC7C,OAAOC,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,SAASC,KAAK,EAAEC,SAAS,QAAQ;AACjC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,aAAA,GAAgBR,kBAAA,CAAmBS,KAAK,CAACC,UAAU,CAACC,MAAM;AAUhE,OAAO,MAAMC,OAAA,GAAkCC,EAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAAC;IAAAgB,YAAA,EAAAC,EAAA;IAAAC,YAAA;IAAAC,KAAA;IAAAP,MAAA,EAAAQ;EAAA,IAAAN,EAK/C;EAJC,MAAAE,YAAA,GAAAC,EAAiB,KAAAI,SAAA,QAAjBJ,EAAiB;EAGjB,MAAAL,MAAA,GAAAQ,EAAsB,KAAAC,SAAA,GAAAZ,aAAA,GAAtBW,EAAsB;EAEtB;IAAAE;EAAA,IAAcjB,cAAA;EAEd,MAAAkB,UAAA,GAAmBrB,QAAA,CAASiB,KAAA,IAASA,KAAA,GAAQH,YAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAT,CAAA,QAAAG,YAAA,IAAAH,CAAA,QAAAQ,UAAA,IAAAR,CAAA,QAAAH,MAAA,IAAAG,CAAA,QAAAO,CAAA;IAAA,IAAAG,EAAA;IAAA,IAAAV,CAAA,QAAAG,YAAA,IAAAH,CAAA,QAAAQ,UAAA,IAAAR,CAAA,QAAAH,MAAA;MAa/Ba,EAAA,GAAAC,EAAA;QAAC;UAAAC;QAAA,IAAAD,EAAS;QAAA,OAChBE,IAAA,CAAArB,SAAA,CAAAsB,WAAA;UAAAC,QAAA,EACGlB,MAAA,CAAAmB,GAAA,EAAAC,WAAA,EAAAC,CAAA,KACCC,KAAA,CAAA3B,SAAA,CAAA4B,MAAA;YAAAC,SAAA,EACa,CACT,GAAA5B,SAAA,UAAsB,EACtBwB,WAAA,KAAgBT,UAAA,IAAc,GAAAf,SAAA,iBAA6B,EAAA6B,MAAA,CAAAC,OAEnD,EAAAC,IAAA,CACF;YAAAC,OAAA,EAAAA,CAAA;cAGNb,KAAA;cAAA,IACIT,YAAA;gBACFA,YAAA,CAAac,WAAA;cAAA;YAAA;YAAAF,QAAA,GAIhBE,WAAA,KAAgBT,UAAA,IACfK,IAAA,CAAC;cAAAQ,SAAA,EAAe,GAAA5B,SAAA,WAAuB;cAAAsB,QAAA,EACrCF,IAAA,CAAAxB,WAAA;gBAAAqC,SAAA,EAAuB;gBAAAC,IAAA,EAAa;cAAA,C;gBAEtC,QAEFd,IAAA,CAAC;cAAAE,QAAA,EAAME;YAAA,C;aAdFC,CAAA;QAAA,C;;;;;;;;;IApBjBT,EAAA,GAAAI,IAAA,CAAC;MAAAQ,SAAA,EAAA5B,SAAA;MAAAsB,QAAA,EACCF,IAAA,CAAAtB,KAAA;QAAAqC,MAAA,EAEIT,KAAA,CAAC;UAAAE,SAAA,EAAe,GAAA5B,SAAA,eAA2B;UAAAsB,QAAA,GACzCF,IAAA,CAAC;YAAAE,QAAA,EAAMR,CAAA,CAAE;cAAAH,KAAA,EAA4BI;YAAA,CAAW;UAAA,C,GAAU,QAE1DK,IAAA,CAAAxB,WAAA;YAAAgC,SAAA,EAAwB,GAAA5B,SAAA;UAAoB,C;;yBAGhC;QAAAoC,MAAA,EACRnB,E;cA6BH;MAAA,C;;;;;;;;;;SAvCTD,E;CA2CJ","ignoreList":[]}
@@ -33,17 +33,17 @@ const DraggablePill = props => {
33
33
  } = useDraggableSortable(t0);
34
34
  const t1 = isDragging && `${baseClass}--is-dragging`;
35
35
  let t2;
36
- if ($[2] !== t1 || $[3] !== className) {
36
+ if ($[2] !== className || $[3] !== t1) {
37
37
  t2 = [t1, className].filter(Boolean);
38
- $[2] = t1;
39
- $[3] = className;
38
+ $[2] = className;
39
+ $[3] = t1;
40
40
  $[4] = t2;
41
41
  } else {
42
42
  t2 = $[4];
43
43
  }
44
44
  const t3 = t2.join(" ");
45
45
  let t4;
46
- if ($[5] !== transform || $[6] !== listeners || $[7] !== attributes || $[8] !== setNodeRef || $[9] !== props || $[10] !== t3) {
46
+ if ($[5] !== attributes || $[6] !== listeners || $[7] !== props || $[8] !== setNodeRef || $[9] !== t3 || $[10] !== transform) {
47
47
  t4 = _jsx(StaticPill, {
48
48
  ...props,
49
49
  className: t3,
@@ -56,12 +56,12 @@ const DraggablePill = props => {
56
56
  }
57
57
  }
58
58
  });
59
- $[5] = transform;
59
+ $[5] = attributes;
60
60
  $[6] = listeners;
61
- $[7] = attributes;
61
+ $[7] = props;
62
62
  $[8] = setNodeRef;
63
- $[9] = props;
64
- $[10] = t3;
63
+ $[9] = t3;
64
+ $[10] = transform;
65
65
  $[11] = t4;
66
66
  } else {
67
67
  t4 = $[11];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","LinkWithDefault","Link","default","React","useDraggableSortable","baseClass","DraggablePill","props","$","id","className","t0","attributes","isDragging","listeners","setNodeRef","transform","t1","t2","filter","Boolean","t3","join","t4","_jsx","StaticPill","elementProps","ref","style","alignIcon","ariaChecked","ariaControls","ariaExpanded","ariaLabel","children","draggable","icon","onClick","pillStyle","rounded","to","classes","Element","_jsxs","href","type","undefined","Pill"],"sources":["../../../src/elements/Pill/index.tsx"],"sourcesContent":["'use client'\nimport type { ElementType, HTMLAttributes } from 'react'\n\nimport LinkWithDefault from 'next/link.js'\nconst Link = LinkWithDefault.default\nimport React from 'react' // TODO: abstract this out to support all routers\n\nexport type PillProps = {\n alignIcon?: 'left' | 'right'\n 'aria-checked'?: boolean\n 'aria-controls'?: string\n 'aria-expanded'?: boolean\n 'aria-label'?: string\n children?: React.ReactNode\n className?: string\n draggable?: boolean\n elementProps?: {\n ref: React.RefCallback<HTMLElement>\n } & HTMLAttributes<HTMLElement>\n icon?: React.ReactNode\n id?: string\n onClick?: () => void\n pillStyle?: 'dark' | 'error' | 'light' | 'light-gray' | 'success' | 'warning' | 'white'\n rounded?: boolean\n to?: string\n}\n\nexport type RenderedTypeProps = {\n children: React.ReactNode\n className?: string\n onClick?: () => void\n to: string\n type?: 'button'\n}\n\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'pill'\n\nconst DraggablePill: React.FC<PillProps> = (props) => {\n const { id, className } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id,\n })\n\n return (\n <StaticPill\n {...props}\n className={[isDragging && `${baseClass}--is-dragging`, className].filter(Boolean).join(' ')}\n elementProps={{\n ...listeners,\n ...attributes,\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n\nconst StaticPill: React.FC<PillProps> = (props) => {\n const {\n alignIcon = 'right',\n 'aria-checked': ariaChecked,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n children,\n className,\n draggable,\n elementProps,\n icon,\n onClick,\n pillStyle = 'light',\n rounded,\n to,\n } = props\n\n const classes = [\n baseClass,\n `${baseClass}--style-${pillStyle}`,\n className && className,\n to && `${baseClass}--has-link`,\n (to || onClick) && `${baseClass}--has-action`,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n draggable && `${baseClass}--draggable`,\n rounded && `${baseClass}--rounded`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let Element: ElementType | React.FC<RenderedTypeProps> = 'div'\n\n if (onClick && !to) {\n Element = 'button'\n }\n if (to) {\n Element = Link\n }\n\n return (\n <Element\n {...elementProps}\n aria-checked={ariaChecked}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-label={ariaLabel}\n className={classes}\n href={to || null}\n onClick={onClick}\n type={Element === 'button' ? 'button' : undefined}\n >\n <span className={`${baseClass}__label`}>{children}</span>\n {icon && <span className={`${baseClass}__icon`}>{icon}</span>}\n </Element>\n )\n}\n\nexport const Pill: React.FC<PillProps> = (props) => {\n const { draggable } = props\n\n if (draggable) {\n return <DraggablePill {...props} />\n }\n return <StaticPill {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","LinkWithDefault","Link","default","React","useDraggableSortable","baseClass","DraggablePill","props","$","id","className","t0","attributes","isDragging","listeners","setNodeRef","transform","t1","t2","filter","Boolean","t3","join","t4","_jsx","StaticPill","elementProps","ref","style","alignIcon","ariaChecked","ariaControls","ariaExpanded","ariaLabel","children","draggable","icon","onClick","pillStyle","rounded","to","classes","Element","_jsxs","href","type","undefined","Pill"],"sources":["../../../src/elements/Pill/index.tsx"],"sourcesContent":["'use client'\nimport type { ElementType, HTMLAttributes } from 'react'\n\nimport LinkWithDefault from 'next/link.js'\nconst Link = LinkWithDefault.default\nimport React from 'react' // TODO: abstract this out to support all routers\n\nexport type PillProps = {\n alignIcon?: 'left' | 'right'\n 'aria-checked'?: boolean\n 'aria-controls'?: string\n 'aria-expanded'?: boolean\n 'aria-label'?: string\n children?: React.ReactNode\n className?: string\n draggable?: boolean\n elementProps?: {\n ref: React.RefCallback<HTMLElement>\n } & HTMLAttributes<HTMLElement>\n icon?: React.ReactNode\n id?: string\n onClick?: () => void\n pillStyle?: 'dark' | 'error' | 'light' | 'light-gray' | 'success' | 'warning' | 'white'\n rounded?: boolean\n to?: string\n}\n\nexport type RenderedTypeProps = {\n children: React.ReactNode\n className?: string\n onClick?: () => void\n to: string\n type?: 'button'\n}\n\nimport { useDraggableSortable } from '../DraggableSortable/useDraggableSortable/index.js'\nimport './index.scss'\n\nconst baseClass = 'pill'\n\nconst DraggablePill: React.FC<PillProps> = (props) => {\n const { id, className } = props\n\n const { attributes, isDragging, listeners, setNodeRef, transform } = useDraggableSortable({\n id,\n })\n\n return (\n <StaticPill\n {...props}\n className={[isDragging && `${baseClass}--is-dragging`, className].filter(Boolean).join(' ')}\n elementProps={{\n ...listeners,\n ...attributes,\n ref: setNodeRef,\n style: {\n transform,\n },\n }}\n />\n )\n}\n\nconst StaticPill: React.FC<PillProps> = (props) => {\n const {\n alignIcon = 'right',\n 'aria-checked': ariaChecked,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n children,\n className,\n draggable,\n elementProps,\n icon,\n onClick,\n pillStyle = 'light',\n rounded,\n to,\n } = props\n\n const classes = [\n baseClass,\n `${baseClass}--style-${pillStyle}`,\n className && className,\n to && `${baseClass}--has-link`,\n (to || onClick) && `${baseClass}--has-action`,\n icon && `${baseClass}--has-icon`,\n icon && `${baseClass}--align-icon-${alignIcon}`,\n draggable && `${baseClass}--draggable`,\n rounded && `${baseClass}--rounded`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let Element: ElementType | React.FC<RenderedTypeProps> = 'div'\n\n if (onClick && !to) {\n Element = 'button'\n }\n if (to) {\n Element = Link\n }\n\n return (\n <Element\n {...elementProps}\n aria-checked={ariaChecked}\n aria-controls={ariaControls}\n aria-expanded={ariaExpanded}\n aria-label={ariaLabel}\n className={classes}\n href={to || null}\n onClick={onClick}\n type={Element === 'button' ? 'button' : undefined}\n >\n <span className={`${baseClass}__label`}>{children}</span>\n {icon && <span className={`${baseClass}__icon`}>{icon}</span>}\n </Element>\n )\n}\n\nexport const Pill: React.FC<PillProps> = (props) => {\n const { draggable } = props\n\n if (draggable) {\n return <DraggablePill {...props} />\n }\n return <StaticPill {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
@@ -60,6 +60,7 @@ export const Popup = props => {
60
60
  let boundingBottomPos = document.documentElement.clientHeight;
61
61
  let boundingLeftPos = 0;
62
62
  if (boundingRef?.current) {
63
+ ;
63
64
  ({
64
65
  bottom: boundingBottomPos,
65
66
  left: boundingLeftPos,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PopupList","useWindowInfo","React","useCallback","useEffect","useRef","useState","useIntersect","PopupTrigger","baseClass","Popup","props","boundingRef","button","buttonClassName","buttonSize","buttonType","caret","children","className","disabled","forceOpen","horizontalAlign","horizontalAlignFromProps","initActive","noBackground","onToggleOpen","render","showOnHover","showScrollbar","size","verticalAlign","verticalAlignFromProps","height","windowHeight","width","windowWidth","intersectionRef","intersectionEntry","root","current","rootMargin","threshold","contentRef","active","setActive","setVerticalAlign","setHorizontalAlign","setPosition","horizontal","vertical","bounds","getBoundingClientRect","bottom","contentBottomPos","left","contentLeftPos","right","contentRightPos","top","contentTopPos","boundingTopPos","boundingRightPos","document","documentElement","clientWidth","boundingBottomPos","clientHeight","boundingLeftPos","handleClickOutside","e","contains","target","addEventListener","removeEventListener","classes","filter","Boolean","join","_jsxs","_jsx","onMouseEnter","onMouseLeave","ref","close"],"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport './index.scss'\nimport { PopupTrigger } from './PopupTrigger/index.js'\n\nconst baseClass = 'popup'\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.RefObject<HTMLElement>\n button?: React.ReactNode\n buttonClassName?: string\n buttonSize?: 'large' | 'medium' | 'small'\n buttonType?: 'custom' | 'default' | 'none'\n caret?: boolean\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n forceOpen?: boolean\n horizontalAlign?: 'center' | 'left' | 'right'\n initActive?: boolean\n noBackground?: boolean\n onToggleOpen?: (active: boolean) => void\n render?: (any) => React.ReactNode\n showOnHover?: boolean\n showScrollbar?: boolean\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n verticalAlign?: 'bottom' | 'top'\n}\n\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n boundingRef,\n button,\n buttonClassName,\n buttonSize,\n buttonType = 'default',\n caret = true,\n children,\n className,\n disabled,\n forceOpen,\n horizontalAlign: horizontalAlignFromProps = 'left',\n initActive = false,\n noBackground,\n onToggleOpen,\n render,\n showOnHover = false,\n showScrollbar = false,\n size = 'medium',\n verticalAlign: verticalAlignFromProps = 'top',\n } = props\n const { height: windowHeight, width: windowWidth } = useWindowInfo()\n const [intersectionRef, intersectionEntry] = useIntersect({\n root: boundingRef?.current || null,\n rootMargin: '-100px 0px 0px 0px',\n threshold: 1,\n })\n\n const contentRef = useRef(null)\n const [active, setActive] = useState(initActive)\n const [verticalAlign, setVerticalAlign] = useState(verticalAlignFromProps)\n const [horizontalAlign, setHorizontalAlign] = useState(horizontalAlignFromProps)\n\n const setPosition = useCallback(\n ({ horizontal = false, vertical = false }) => {\n if (contentRef.current) {\n const bounds = contentRef.current.getBoundingClientRect()\n\n const {\n bottom: contentBottomPos,\n left: contentLeftPos,\n right: contentRightPos,\n top: contentTopPos,\n } = bounds\n\n let boundingTopPos = 100\n let boundingRightPos = document.documentElement.clientWidth\n let boundingBottomPos = document.documentElement.clientHeight\n let boundingLeftPos = 0\n\n if (boundingRef?.current) {\n ;({\n bottom: boundingBottomPos,\n left: boundingLeftPos,\n right: boundingRightPos,\n top: boundingTopPos,\n } = boundingRef.current.getBoundingClientRect())\n }\n\n if (horizontal) {\n if (contentRightPos > boundingRightPos && contentLeftPos > boundingLeftPos) {\n setHorizontalAlign('right')\n } else if (contentLeftPos < boundingLeftPos && contentRightPos < boundingRightPos) {\n setHorizontalAlign('left')\n }\n }\n\n if (vertical) {\n if (contentTopPos < boundingTopPos && contentBottomPos < boundingBottomPos) {\n setVerticalAlign('bottom')\n } else if (contentBottomPos > boundingBottomPos && contentTopPos > boundingTopPos) {\n setVerticalAlign('top')\n }\n }\n }\n },\n [boundingRef],\n )\n\n const handleClickOutside = useCallback(\n (e) => {\n if (contentRef.current.contains(e.target)) {\n return\n }\n\n setActive(false)\n },\n [contentRef],\n )\n\n useEffect(() => {\n setPosition({ horizontal: true })\n }, [intersectionEntry, setPosition, windowWidth])\n\n useEffect(() => {\n setPosition({ vertical: true })\n }, [intersectionEntry, setPosition, windowHeight])\n\n useEffect(() => {\n if (typeof onToggleOpen === 'function') {\n onToggleOpen(active)\n }\n\n if (active) {\n document.addEventListener('mousedown', handleClickOutside)\n } else {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [active, handleClickOutside, onToggleOpen])\n\n useEffect(() => {\n setActive(forceOpen)\n }, [forceOpen])\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--size-${size}`,\n buttonSize && `${baseClass}--button-size-${buttonSize}`,\n `${baseClass}--v-align-${verticalAlign}`,\n `${baseClass}--h-align-${horizontalAlign}`,\n active && `${baseClass}--active`,\n showScrollbar && `${baseClass}--show-scrollbar`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__trigger-wrap`}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n >\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n </div>\n ) : (\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n )}\n </div>\n\n <div className={`${baseClass}__content`} ref={contentRef}>\n <div className={`${baseClass}__hide-scrollbar`} ref={intersectionRef}>\n <div className={`${baseClass}__scroll-container`}>\n <div className={`${baseClass}__scroll-content`}>\n {render && render({ close: () => setActive(false) })}\n {children && children}\n </div>\n </div>\n </div>\n\n {caret && <div className={`${baseClass}__caret`} />}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["PopupList","useWindowInfo","React","useCallback","useEffect","useRef","useState","useIntersect","PopupTrigger","baseClass","Popup","props","boundingRef","button","buttonClassName","buttonSize","buttonType","caret","children","className","disabled","forceOpen","horizontalAlign","horizontalAlignFromProps","initActive","noBackground","onToggleOpen","render","showOnHover","showScrollbar","size","verticalAlign","verticalAlignFromProps","height","windowHeight","width","windowWidth","intersectionRef","intersectionEntry","root","current","rootMargin","threshold","contentRef","active","setActive","setVerticalAlign","setHorizontalAlign","setPosition","horizontal","vertical","bounds","getBoundingClientRect","bottom","contentBottomPos","left","contentLeftPos","right","contentRightPos","top","contentTopPos","boundingTopPos","boundingRightPos","document","documentElement","clientWidth","boundingBottomPos","clientHeight","boundingLeftPos","handleClickOutside","e","contains","target","addEventListener","removeEventListener","classes","filter","Boolean","join","_jsxs","_jsx","onMouseEnter","onMouseLeave","ref","close"],"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport './index.scss'\nimport { PopupTrigger } from './PopupTrigger/index.js'\n\nconst baseClass = 'popup'\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.RefObject<HTMLElement>\n button?: React.ReactNode\n buttonClassName?: string\n buttonSize?: 'large' | 'medium' | 'small'\n buttonType?: 'custom' | 'default' | 'none'\n caret?: boolean\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n forceOpen?: boolean\n horizontalAlign?: 'center' | 'left' | 'right'\n initActive?: boolean\n noBackground?: boolean\n onToggleOpen?: (active: boolean) => void\n render?: (any) => React.ReactNode\n showOnHover?: boolean\n showScrollbar?: boolean\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n verticalAlign?: 'bottom' | 'top'\n}\n\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n boundingRef,\n button,\n buttonClassName,\n buttonSize,\n buttonType = 'default',\n caret = true,\n children,\n className,\n disabled,\n forceOpen,\n horizontalAlign: horizontalAlignFromProps = 'left',\n initActive = false,\n noBackground,\n onToggleOpen,\n render,\n showOnHover = false,\n showScrollbar = false,\n size = 'medium',\n verticalAlign: verticalAlignFromProps = 'top',\n } = props\n const { height: windowHeight, width: windowWidth } = useWindowInfo()\n const [intersectionRef, intersectionEntry] = useIntersect({\n root: boundingRef?.current || null,\n rootMargin: '-100px 0px 0px 0px',\n threshold: 1,\n })\n\n const contentRef = useRef(null)\n const [active, setActive] = useState(initActive)\n const [verticalAlign, setVerticalAlign] = useState(verticalAlignFromProps)\n const [horizontalAlign, setHorizontalAlign] = useState(horizontalAlignFromProps)\n\n const setPosition = useCallback(\n ({ horizontal = false, vertical = false }) => {\n if (contentRef.current) {\n const bounds = contentRef.current.getBoundingClientRect()\n\n const {\n bottom: contentBottomPos,\n left: contentLeftPos,\n right: contentRightPos,\n top: contentTopPos,\n } = bounds\n\n let boundingTopPos = 100\n let boundingRightPos = document.documentElement.clientWidth\n let boundingBottomPos = document.documentElement.clientHeight\n let boundingLeftPos = 0\n\n if (boundingRef?.current) {\n ;({\n bottom: boundingBottomPos,\n left: boundingLeftPos,\n right: boundingRightPos,\n top: boundingTopPos,\n } = boundingRef.current.getBoundingClientRect())\n }\n\n if (horizontal) {\n if (contentRightPos > boundingRightPos && contentLeftPos > boundingLeftPos) {\n setHorizontalAlign('right')\n } else if (contentLeftPos < boundingLeftPos && contentRightPos < boundingRightPos) {\n setHorizontalAlign('left')\n }\n }\n\n if (vertical) {\n if (contentTopPos < boundingTopPos && contentBottomPos < boundingBottomPos) {\n setVerticalAlign('bottom')\n } else if (contentBottomPos > boundingBottomPos && contentTopPos > boundingTopPos) {\n setVerticalAlign('top')\n }\n }\n }\n },\n [boundingRef],\n )\n\n const handleClickOutside = useCallback(\n (e) => {\n if (contentRef.current.contains(e.target)) {\n return\n }\n\n setActive(false)\n },\n [contentRef],\n )\n\n useEffect(() => {\n setPosition({ horizontal: true })\n }, [intersectionEntry, setPosition, windowWidth])\n\n useEffect(() => {\n setPosition({ vertical: true })\n }, [intersectionEntry, setPosition, windowHeight])\n\n useEffect(() => {\n if (typeof onToggleOpen === 'function') {\n onToggleOpen(active)\n }\n\n if (active) {\n document.addEventListener('mousedown', handleClickOutside)\n } else {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [active, handleClickOutside, onToggleOpen])\n\n useEffect(() => {\n setActive(forceOpen)\n }, [forceOpen])\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--size-${size}`,\n buttonSize && `${baseClass}--button-size-${buttonSize}`,\n `${baseClass}--v-align-${verticalAlign}`,\n `${baseClass}--h-align-${horizontalAlign}`,\n active && `${baseClass}--active`,\n showScrollbar && `${baseClass}--show-scrollbar`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__trigger-wrap`}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n >\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n </div>\n ) : (\n <PopupTrigger\n {...{\n active,\n button,\n buttonType,\n className: buttonClassName,\n disabled,\n noBackground,\n setActive,\n size: buttonSize,\n }}\n />\n )}\n </div>\n\n <div className={`${baseClass}__content`} ref={contentRef}>\n <div className={`${baseClass}__hide-scrollbar`} ref={intersectionRef}>\n <div className={`${baseClass}__scroll-container`}>\n <div className={`${baseClass}__scroll-content`}>\n {render && render({ close: () => setActive(false) })}\n {children && children}\n </div>\n </div>\n </div>\n\n {caret && <div className={`${baseClass}__caret`} />}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -23,7 +23,7 @@ export const PreviewButton = () => {
23
23
  t0 = $[1];
24
24
  }
25
25
  let t1;
26
- if ($[2] !== t0 || $[3] !== label) {
26
+ if ($[2] !== label || $[3] !== t0) {
27
27
  t1 = _jsx(Button, {
28
28
  buttonStyle: "secondary",
29
29
  className: baseClass,
@@ -33,8 +33,8 @@ export const PreviewButton = () => {
33
33
  size: "medium",
34
34
  children: label
35
35
  });
36
- $[2] = t0;
37
- $[3] = label;
36
+ $[2] = label;
37
+ $[3] = t0;
38
38
  $[4] = t1;
39
39
  } else {
40
40
  t1 = $[4];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","Button","usePreviewURL","baseClass","PreviewButton","$","generatePreviewURL","label","t0","openPreviewWindow","t1","_jsx","buttonStyle","className","icon","iconPosition","onClick","size","children"],"sources":["../../../src/elements/PreviewButton/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../Button/index.js'\nimport { usePreviewURL } from './usePreviewURL.js'\n\nconst baseClass = 'preview-btn'\n\nexport const PreviewButton: React.FC = () => {\n const { generatePreviewURL, label } = usePreviewURL()\n\n return (\n <Button\n buttonStyle=\"secondary\"\n className={baseClass}\n icon={'link'}\n iconPosition=\"left\"\n // disabled={disabled}\n onClick={() =>\n generatePreviewURL({\n openPreviewWindow: true,\n })\n }\n size=\"medium\"\n >\n {label}\n </Button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,MAAM,QAAQ;AACvB,SAASC,aAAa,QAAQ;AAE9B,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,aAAA,GAA0BA,CAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EACrC;IAAAO,kBAAA;IAAAC;EAAA,IAAsCL,aAAA;EAAA,IAAAM,EAAA;EAAA,IAAAH,CAAA,QAAAC,kBAAA;IASzBE,EAAA,GAAAA,CAAA,KACPF,kBAAA;MAAAG,iBAAA;IAAA,CAEA;IAAAJ,CAAA,MAAAC,kBAAA;IAAAD,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAL,CAAA,QAAAG,EAAA,IAAAH,CAAA,QAAAE,KAAA;IATJG,EAAA,GAAAC,IAAA,CAAAV,MAAA;MAAAW,WAAA,EACc;MAAAC,SAAA,EAAAV,SAAA;MAAAW,IAAA,EAEN;MAAAC,YAAA,EACO;MAAAC,OAAA,EAEJR,EAGP;MAAAS,IAAA,EAEG;MAAAC,QAAA,EAEJX;IAAA,C;;;;;;;SAbHG,E;CAgBJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","Button","usePreviewURL","baseClass","PreviewButton","$","generatePreviewURL","label","t0","openPreviewWindow","t1","_jsx","buttonStyle","className","icon","iconPosition","onClick","size","children"],"sources":["../../../src/elements/PreviewButton/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../Button/index.js'\nimport { usePreviewURL } from './usePreviewURL.js'\n\nconst baseClass = 'preview-btn'\n\nexport const PreviewButton: React.FC = () => {\n const { generatePreviewURL, label } = usePreviewURL()\n\n return (\n <Button\n buttonStyle=\"secondary\"\n className={baseClass}\n icon={'link'}\n iconPosition=\"left\"\n // disabled={disabled}\n onClick={() =>\n generatePreviewURL({\n openPreviewWindow: true,\n })\n }\n size=\"medium\"\n >\n {label}\n </Button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,MAAM,QAAQ;AACvB,SAASC,aAAa,QAAQ;AAE9B,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,aAAA,GAA0BA,CAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EACrC;IAAAO,kBAAA;IAAAC;EAAA,IAAsCL,aAAA;EAAA,IAAAM,EAAA;EAAA,IAAAH,CAAA,QAAAC,kBAAA;IASzBE,EAAA,GAAAA,CAAA,KACPF,kBAAA;MAAAG,iBAAA;IAAA,CAEA;IAAAJ,CAAA,MAAAC,kBAAA;IAAAD,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,IAAAK,EAAA;EAAA,IAAAL,CAAA,QAAAE,KAAA,IAAAF,CAAA,QAAAG,EAAA;IATJE,EAAA,GAAAC,IAAA,CAAAV,MAAA;MAAAW,WAAA,EACc;MAAAC,SAAA,EAAAV,SAAA;MAAAW,IAAA,EAEN;MAAAC,YAAA,EACO;MAAAC,OAAA,EAEJR,EAGP;MAAAS,IAAA,EAEG;MAAAC,QAAA,EAEJX;IAAA,C;;;;;;;SAbHG,E;CAgBJ","ignoreList":[]}
@@ -71,7 +71,7 @@ export const PublishButton = t0 => {
71
71
  const operation = useOperation();
72
72
  const forceDisable = operation === "update" && !modified;
73
73
  let t3;
74
- if ($[3] !== forceDisable || $[4] !== locale || $[5] !== collectionSlug || $[6] !== serverURL || $[7] !== api || $[8] !== id || $[9] !== globalSlug || $[10] !== submit) {
74
+ if ($[3] !== api || $[4] !== collectionSlug || $[5] !== forceDisable || $[6] !== globalSlug || $[7] !== id || $[8] !== locale || $[9] !== serverURL || $[10] !== submit) {
75
75
  t3 = async () => {
76
76
  if (forceDisable) {
77
77
  return;
@@ -97,13 +97,13 @@ export const PublishButton = t0 => {
97
97
  skipValidation: true
98
98
  });
99
99
  };
100
- $[3] = forceDisable;
101
- $[4] = locale;
102
- $[5] = collectionSlug;
103
- $[6] = serverURL;
104
- $[7] = api;
105
- $[8] = id;
106
- $[9] = globalSlug;
100
+ $[3] = api;
101
+ $[4] = collectionSlug;
102
+ $[5] = forceDisable;
103
+ $[6] = globalSlug;
104
+ $[7] = id;
105
+ $[8] = locale;
106
+ $[9] = serverURL;
107
107
  $[10] = submit;
108
108
  $[11] = t3;
109
109
  } else {
@@ -130,7 +130,7 @@ export const PublishButton = t0 => {
130
130
  t5 = $[14];
131
131
  }
132
132
  let t6;
133
- if ($[15] !== saveDraft || $[16] !== docConfig.versions) {
133
+ if ($[15] !== docConfig || $[16] !== saveDraft) {
134
134
  t6 = e => {
135
135
  e.preventDefault();
136
136
  e.stopPropagation();
@@ -138,15 +138,15 @@ export const PublishButton = t0 => {
138
138
  saveDraft();
139
139
  }
140
140
  };
141
- $[15] = saveDraft;
142
- $[16] = docConfig.versions;
141
+ $[15] = docConfig;
142
+ $[16] = saveDraft;
143
143
  $[17] = t6;
144
144
  } else {
145
145
  t6 = $[17];
146
146
  }
147
147
  useHotkey(t5, t6);
148
148
  let t7;
149
- if ($[18] !== submit || $[19] !== setUnpublishedVersionCount || $[20] !== setHasPublishedDoc) {
149
+ if ($[18] !== setHasPublishedDoc || $[19] !== setUnpublishedVersionCount || $[20] !== submit) {
150
150
  t7 = () => {
151
151
  submit({
152
152
  overrides: {
@@ -156,16 +156,16 @@ export const PublishButton = t0 => {
156
156
  setUnpublishedVersionCount(0);
157
157
  setHasPublishedDoc(true);
158
158
  };
159
- $[18] = submit;
159
+ $[18] = setHasPublishedDoc;
160
160
  $[19] = setUnpublishedVersionCount;
161
- $[20] = setHasPublishedDoc;
161
+ $[20] = submit;
162
162
  $[21] = t7;
163
163
  } else {
164
164
  t7 = $[21];
165
165
  }
166
166
  const publish = t7;
167
167
  let t8;
168
- if ($[22] !== serverURL || $[23] !== api || $[24] !== globalSlug || $[25] !== collectionSlug || $[26] !== id || $[27] !== submit || $[28] !== setHasPublishedDoc) {
168
+ if ($[22] !== api || $[23] !== collectionSlug || $[24] !== globalSlug || $[25] !== id || $[26] !== serverURL || $[27] !== setHasPublishedDoc || $[28] !== submit) {
169
169
  t8 = locale_0 => {
170
170
  const params = qs.stringify({
171
171
  publishSpecificLocale: locale_0
@@ -179,13 +179,13 @@ export const PublishButton = t0 => {
179
179
  });
180
180
  setHasPublishedDoc(true);
181
181
  };
182
- $[22] = serverURL;
183
- $[23] = api;
182
+ $[22] = api;
183
+ $[23] = collectionSlug;
184
184
  $[24] = globalSlug;
185
- $[25] = collectionSlug;
186
- $[26] = id;
187
- $[27] = submit;
188
- $[28] = setHasPublishedDoc;
185
+ $[25] = id;
186
+ $[26] = serverURL;
187
+ $[27] = setHasPublishedDoc;
188
+ $[28] = submit;
189
189
  $[29] = t8;
190
190
  } else {
191
191
  t8 = $[29];
@@ -196,7 +196,7 @@ export const PublishButton = t0 => {
196
196
  }
197
197
  const t9 = !canPublish;
198
198
  let t10;
199
- if ($[30] !== localization || $[31] !== i18n || $[32] !== code || $[33] !== publishSpecificLocale || $[34] !== t) {
199
+ if ($[30] !== code || $[31] !== i18n?.language || $[32] !== localization || $[33] !== publishSpecificLocale || $[34] !== t) {
200
200
  t10 = localization ? t11 => {
201
201
  const {
202
202
  close
@@ -216,9 +216,9 @@ export const PublishButton = t0 => {
216
216
  }
217
217
  });
218
218
  } : undefined;
219
- $[30] = localization;
220
- $[31] = i18n;
221
- $[32] = code;
219
+ $[30] = code;
220
+ $[31] = i18n?.language;
221
+ $[32] = localization;
222
222
  $[33] = publishSpecificLocale;
223
223
  $[34] = t;
224
224
  $[35] = t10;
@@ -226,7 +226,7 @@ export const PublishButton = t0 => {
226
226
  t10 = $[35];
227
227
  }
228
228
  let t11;
229
- if ($[36] !== t9 || $[37] !== publish || $[38] !== t10 || $[39] !== label) {
229
+ if ($[36] !== label || $[37] !== publish || $[38] !== t10 || $[39] !== t9) {
230
230
  t11 = _jsx(FormSubmit, {
231
231
  buttonId: "action-save",
232
232
  disabled: t9,
@@ -236,10 +236,10 @@ export const PublishButton = t0 => {
236
236
  type: "button",
237
237
  children: label
238
238
  });
239
- $[36] = t9;
239
+ $[36] = label;
240
240
  $[37] = publish;
241
241
  $[38] = t10;
242
- $[39] = label;
242
+ $[39] = t9;
243
243
  $[40] = t11;
244
244
  } else {
245
245
  t11 = $[40];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","qs","React","useCallback","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","PopupList","PublishButton","t0","$","label","labelProp","id","collectionSlug","docConfig","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setUnpublishedVersionCount","unpublishedVersionCount","config","submit","modified","editDepth","code","locale","localization","routes","t1","serverURL","api","i18n","t","t2","hasNewerVersions","canPublish","operation","forceDisable","t3","search","action","method","overrides","_status","skipValidation","saveDraft","t4","Symbol","for","t5","cmdCtrlKey","keyCodes","t6","versions","e","preventDefault","stopPropagation","drafts","autosave","t7","publish","t8","locale_0","params","stringify","publishSpecificLocale","action_0","t9","t10","t11","close","locales","map","locale_1","formattedLabel","language","isActive","_jsx","ButtonGroup","children","Button","onClick","undefined","buttonId","disabled","size","SubMenuPopupContent","type"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { PopupList } from '../Popup/index.js'\n\nexport const PublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const {\n id,\n collectionSlug,\n docConfig,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { config } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: locale } = useLocale()\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n const label = labelProp || t('version:publishChanges')\n\n const hasNewerVersions = unpublishedVersionCount > 0\n const canPublish = hasPublishPermission && (modified || hasNewerVersions || !hasPublishedDoc)\n const operation = useOperation()\n\n const forceDisable = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (forceDisable) {\n return\n }\n\n const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, locale, id, forceDisable])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && docConfig.versions?.drafts && docConfig.versions?.drafts?.autosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(() => {\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n\n setUnpublishedVersionCount(0)\n setHasPublishedDoc(true)\n }, [setHasPublishedDoc, submit, setUnpublishedVersionCount])\n\n const publishSpecificLocale = useCallback(\n (locale) => {\n const params = qs.stringify({\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}/${id ? `${'/' + id}` : ''}`\n }${params ? '?' + params : ''}`\n\n void submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n setHasPublishedDoc(true)\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit],\n )\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={publish}\n size=\"medium\"\n SubMenuPopupContent={\n localization\n ? ({ close }) =>\n localization.locales.map((locale) => {\n const formattedLabel =\n typeof locale.label === 'string'\n ? locale.label\n : locale.label && locale.label[i18n?.language]\n\n const isActive = typeof locale === 'string' ? locale === code : locale.code === code\n\n if (isActive) {\n return (\n <PopupList.ButtonGroup key={locale.code}>\n <PopupList.Button\n onClick={() => [publishSpecificLocale(locale.code), close()]}\n >\n {t('version:publishIn', { locale: formattedLabel || locale.code })}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n })\n : undefined\n }\n type=\"button\"\n >\n {label}\n </FormSubmit>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","qs","React","useCallback","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","PopupList","PublishButton","t0","$","label","labelProp","id","collectionSlug","docConfig","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setUnpublishedVersionCount","unpublishedVersionCount","config","submit","modified","editDepth","code","locale","localization","routes","t1","serverURL","api","i18n","t","t2","hasNewerVersions","canPublish","operation","forceDisable","t3","search","action","method","overrides","_status","skipValidation","saveDraft","t4","Symbol","for","t5","cmdCtrlKey","keyCodes","t6","e","preventDefault","stopPropagation","versions","drafts","autosave","t7","publish","t8","locale_0","params","stringify","publishSpecificLocale","action_0","t9","t10","language","t11","close","locales","map","locale_1","formattedLabel","isActive","_jsx","ButtonGroup","children","Button","onClick","undefined","buttonId","disabled","size","SubMenuPopupContent","type"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { PopupList } from '../Popup/index.js'\n\nexport const PublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const {\n id,\n collectionSlug,\n docConfig,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { config } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: locale } = useLocale()\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n const label = labelProp || t('version:publishChanges')\n\n const hasNewerVersions = unpublishedVersionCount > 0\n const canPublish = hasPublishPermission && (modified || hasNewerVersions || !hasPublishedDoc)\n const operation = useOperation()\n\n const forceDisable = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (forceDisable) {\n return\n }\n\n const search = `?locale=${locale}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, locale, id, forceDisable])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && docConfig.versions?.drafts && docConfig.versions?.drafts?.autosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(() => {\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n\n setUnpublishedVersionCount(0)\n setHasPublishedDoc(true)\n }, [setHasPublishedDoc, submit, setUnpublishedVersionCount])\n\n const publishSpecificLocale = useCallback(\n (locale) => {\n const params = qs.stringify({\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}/${id ? `${'/' + id}` : ''}`\n }${params ? '?' + params : ''}`\n\n void submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n setHasPublishedDoc(true)\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit],\n )\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={publish}\n size=\"medium\"\n SubMenuPopupContent={\n localization\n ? ({ close }) =>\n localization.locales.map((locale) => {\n const formattedLabel =\n typeof locale.label === 'string'\n ? locale.label\n : locale.label && locale.label[i18n?.language]\n\n const isActive = typeof locale === 'string' ? locale === code : locale.code === code\n\n if (isActive) {\n return (\n <PopupList.ButtonGroup key={locale.code}>\n <PopupList.Button\n onClick={() => [publishSpecificLocale(locale.code), close()]}\n >\n {t('version:publishIn', { locale: formattedLabel || locale.code })}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n })\n : undefined\n }\n type=\"button\"\n >\n {label}\n </FormSubmit>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAKrD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAYpD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAkJlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAYpD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsJlD,CAAA"}
@@ -3,16 +3,17 @@
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { Modal, useModal } from '@faceless-ui/modal';
5
5
  import { getTranslation } from '@payloadcms/translations';
6
- import { useRouter } from 'next/navigation.js';
6
+ import { useRouter, useSearchParams } from 'next/navigation.js';
7
+ import * as qs from 'qs-esm';
7
8
  import React, { useCallback, useState } from 'react';
8
9
  import { toast } from 'sonner';
9
10
  import { useAuth } from '../../providers/Auth/index.js';
10
11
  import { useConfig } from '../../providers/Config/index.js';
11
12
  import { useRouteCache } from '../../providers/RouteCache/index.js';
12
- import { useSearchParams } from '../../providers/SearchParams/index.js';
13
13
  import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
14
14
  import { useTranslation } from '../../providers/Translation/index.js';
15
15
  import { requests } from '../../utilities/api.js';
16
+ import { parseSearchParams } from '../../utilities/parseSearchParams.js';
16
17
  import { Button } from '../Button/index.js';
17
18
  import { Pill } from '../Pill/index.js';
18
19
  import './index.scss';
@@ -55,9 +56,7 @@ export const PublishMany = props => {
55
56
  } = useSelection();
56
57
  const [submitted, setSubmitted] = useState(false);
57
58
  const router = useRouter();
58
- const {
59
- stringifyParams
60
- } = useSearchParams();
59
+ const searchParams = useSearchParams();
61
60
  const collectionPermissions = permissions?.collections?.[slug];
62
61
  const hasPermission = collectionPermissions?.update;
63
62
  const modalSlug = `publish-${slug}`;
@@ -94,10 +93,11 @@ export const PublishMany = props => {
94
93
  description: json.errors.map(error => error.message).join('\n')
95
94
  });
96
95
  }
97
- router.replace(stringifyParams({
98
- params: {
99
- page: selectAll ? '1' : undefined
100
- }
96
+ router.replace(qs.stringify({
97
+ ...parseSearchParams(searchParams),
98
+ page: selectAll ? '1' : undefined
99
+ }, {
100
+ addQueryPrefix: true
101
101
  }));
102
102
  clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this
103
103
  ;
@@ -113,7 +113,7 @@ export const PublishMany = props => {
113
113
  return addDefaultError();
114
114
  }
115
115
  });
116
- }, [addDefaultError, api, getQueryParams, i18n, modalSlug, plural, selectAll, serverURL, singular, slug, t, toggleModal, router, stringifyParams, clearRouteCache]);
116
+ }, [serverURL, api, slug, getQueryParams, i18n, toggleModal, modalSlug, plural, singular, t, router, searchParams, selectAll, clearRouteCache, addDefaultError]);
117
117
  if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {
118
118
  return null;
119
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Modal","useModal","getTranslation","useRouter","React","useCallback","useState","toast","useAuth","useConfig","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","requests","Button","Pill","baseClass","PublishMany","props","clearRouteCache","collection","slug","labels","plural","singular","versions","config","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","router","stringifyParams","collectionPermissions","collections","hasPermission","update","modalSlug","addDefaultError","error","handlePublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","params","page","undefined","forEach","e","drafts","None","_jsxs","Fragment","_jsx","className","onClick","buttonStyle","id","size","type"],"sources":["../../../src/elements/PublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'publish-many'\n\nexport type PublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const PublishMany: React.FC<PublishManyProps> = (props) => {\n const { clearRouteCache } = useRouteCache()\n\n const { collection: { slug, labels: { plural, singular }, versions } = {} } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const router = useRouter()\n const { stringifyParams } = useSearchParams()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update\n\n const modalSlug = `publish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handlePublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(\n `${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'published' } })}&draft=true`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n },\n )\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (res.status < 400 || deletedDocs > 0) {\n toast.success(\n t('general:updatedCountSuccessfully', {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n router.replace(\n stringifyParams({\n params: {\n page: selectAll ? '1' : undefined,\n },\n }),\n )\n\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n addDefaultError,\n api,\n getQueryParams,\n i18n,\n modalSlug,\n plural,\n selectAll,\n serverURL,\n singular,\n slug,\n t,\n toggleModal,\n router,\n stringifyParams,\n clearRouteCache,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:publish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmPublish')}</h1>\n <p>{t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"confirm-publish\"\n onClick={submitted ? undefined : handlePublish}\n size=\"large\"\n >\n {submitted ? t('version:publishing') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Modal","useModal","getTranslation","useRouter","useSearchParams","qs","React","useCallback","useState","toast","useAuth","useConfig","useRouteCache","SelectAllStatus","useSelection","useTranslation","requests","parseSearchParams","Button","Pill","baseClass","PublishMany","props","clearRouteCache","collection","slug","labels","plural","singular","versions","config","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","router","searchParams","collectionPermissions","collections","hasPermission","update","modalSlug","addDefaultError","error","handlePublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","deletedDocs","docs","length","successLabel","status","success","count","label","errors","message","description","map","join","replace","page","undefined","addQueryPrefix","forEach","e","drafts","None","_jsxs","Fragment","_jsx","className","onClick","buttonStyle","id","size","type"],"sources":["../../../src/elements/PublishMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'publish-many'\n\nexport type PublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const PublishMany: React.FC<PublishManyProps> = (props) => {\n const { clearRouteCache } = useRouteCache()\n\n const { collection: { slug, labels: { plural, singular }, versions } = {} } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const router = useRouter()\n const searchParams = useSearchParams()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update\n\n const modalSlug = `publish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handlePublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(\n `${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'published' } })}&draft=true`,\n {\n body: JSON.stringify({\n _status: 'published',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n },\n )\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n\n const deletedDocs = json?.docs.length || 0\n const successLabel = deletedDocs > 1 ? plural : singular\n\n if (res.status < 400 || deletedDocs > 0) {\n toast.success(\n t('general:updatedCountSuccessfully', {\n count: deletedDocs,\n label: getTranslation(successLabel, i18n),\n }),\n )\n\n if (json?.errors.length > 0) {\n toast.error(json.message, {\n description: json.errors.map((error) => error.message).join('\\n'),\n })\n }\n\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n serverURL,\n api,\n slug,\n getQueryParams,\n i18n,\n toggleModal,\n modalSlug,\n plural,\n singular,\n t,\n router,\n searchParams,\n selectAll,\n clearRouteCache,\n addDefaultError,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:publish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('version:confirmPublish')}</h1>\n <p>{t('version:aboutToPublishSelection', { label: getTranslation(plural, i18n) })}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"confirm-publish\"\n onClick={submitted ? undefined : handlePublish}\n size=\"large\"\n >\n {submitted ? t('version:publishing') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}